Skip to content

Commit dd0950b

Browse files
authored
fix(type-formatting): allow for $, _, and ZWNJ's without quoting (#1513)
1 parent d53884a commit dd0950b

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/rules/typeFormatting.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import {
66
tryParse as tryParseType,
77
} from '@es-joy/jsdoccomment';
88

9+
const digitRegex = (/^(\d+(\.\d*)?|\.\d+)([eE][\-+]?\d+)?$/v);
10+
911
export default iterateJsdoc(({
1012
context,
1113
indent,
@@ -252,13 +254,13 @@ export default iterateJsdoc(({
252254
if ((objectFieldQuote ||
253255
(typeof typeNode.key === 'string' &&
254256
(
255-
(/^\p{ID_Start}\p{ID_Continue}*$/v).test(typeNode.key) ||
256-
(/^(\d+(\.\d*)?|\.\d+)([eE][\-+]?\d+)?$/v).test(typeNode.key)
257+
(/^[\p{ID_Start}$_][\p{ID_Continue}$\u200C\u200D]*$/v).test(typeNode.key) ||
258+
digitRegex.test(typeNode.key)
257259
)
258260
)) &&
259261
typeNode.meta.quote !== (objectFieldQuote ?? undefined) &&
260262
(typeof typeNode.key !== 'string' ||
261-
!(/^(\d+(\.\d*)?|\.\d+)([eE][\-+]?\d+)?$/v).test(typeNode.key))
263+
!digitRegex.test(typeNode.key))
262264
) {
263265
typeNode.meta.quote = objectFieldQuote ?? undefined;
264266
errorMessage = `Inconsistent object field quotes ${objectFieldQuote}`;

0 commit comments

Comments
 (0)