@typespec/compiler 0.66.0-dev.0 → 0.66.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "0.66.0-dev.0",
3
- "commit": "ef04080e69155401e5047cff69e5b50c1844d5dc"
2
+ "version": "0.66.0-dev.2",
3
+ "commit": "c59d76975db202fffe3c809263c4785db4b83546"
4
4
  };
@@ -0,0 +1,3 @@
1
+ import type { SourceLocation } from "../types.js";
2
+ export declare function createTripleQuoteIndentCodeFix(location: SourceLocation): import("../types.js").CodeFix;
3
+ //# sourceMappingURL=triple-quote-indent.codefix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triple-quote-indent.codefix.d.ts","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/triple-quote-indent.codefix.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,cAAc,iCA8DtE"}
@@ -0,0 +1,49 @@
1
+ import { isWhiteSpaceSingleLine } from "../charcode.js";
2
+ import { defineCodeFix } from "../diagnostics.js";
3
+ import { splitLines } from "../helpers/syntax-utils.js";
4
+ export function createTripleQuoteIndentCodeFix(location) {
5
+ return defineCodeFix({
6
+ id: "triple-quote-indent",
7
+ label: "Format triple-quote-indent",
8
+ fix: (context) => {
9
+ const splitStr = "\n";
10
+ const tripleQuote = '"""';
11
+ const tripleQuoteLen = tripleQuote.length;
12
+ const text = location.file.text.slice(location.pos + tripleQuoteLen, location.end - tripleQuoteLen);
13
+ const lines = splitLines(text);
14
+ if (lines.length === 0) {
15
+ return;
16
+ }
17
+ if (lines.length === 1) {
18
+ const indentNumb = getIndentNumbInLine(lines[0]);
19
+ const prefix = " ".repeat(indentNumb);
20
+ return context.replaceText(location, [tripleQuote, lines[0], `${prefix}${tripleQuote}`].join(splitStr));
21
+ }
22
+ if (lines[0].trim() === "") {
23
+ lines.shift();
24
+ }
25
+ const lastLine = lines[lines.length - 1];
26
+ if (lastLine.trim() === "") {
27
+ lines.pop();
28
+ }
29
+ let prefix = "";
30
+ const minIndentNumb = Math.min(...lines.map((line) => getIndentNumbInLine(line)));
31
+ const lastLineIndentNumb = getIndentNumbInLine(lastLine);
32
+ if (minIndentNumb < lastLineIndentNumb) {
33
+ const indentDiff = lastLineIndentNumb - minIndentNumb;
34
+ prefix = " ".repeat(indentDiff);
35
+ }
36
+ const middle = lines.map((line) => `${prefix}${line}`).join(splitStr);
37
+ return context.replaceText(location, `${tripleQuote}${splitStr}${middle}${splitStr}${" ".repeat(lastLineIndentNumb)}${tripleQuote}`);
38
+ function getIndentNumbInLine(lineText) {
39
+ let curStart = 0;
40
+ while (curStart < lineText.length &&
41
+ isWhiteSpaceSingleLine(lineText.charCodeAt(curStart))) {
42
+ curStart++;
43
+ }
44
+ return curStart;
45
+ }
46
+ },
47
+ });
48
+ }
49
+ //# sourceMappingURL=triple-quote-indent.codefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triple-quote-indent.codefix.js","sourceRoot":"","sources":["../../../../src/core/compiler-code-fixes/triple-quote-indent.codefix.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,5 @@ import { IdentifierNode, MemberExpressionNode, TypeReferenceNode } from "../type
12
12
  */
13
13
  export declare function printIdentifier(sv: string): string;
14
14
  export declare function typeReferenceToString(node: TypeReferenceNode | MemberExpressionNode | IdentifierNode): string;
15
+ export declare function splitLines(text: string): string[];
15
16
  //# sourceMappingURL=syntax-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/syntax-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAc,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElG;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,UAYzC;AAoBD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,cAAc,GAC9D,MAAM,CASR"}
1
+ {"version":3,"file":"syntax-utils.d.ts","sourceRoot":"","sources":["../../../../src/core/helpers/syntax-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAc,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAElG;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,UAYzC;AAoBD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,cAAc,GAC9D,MAAM,CASR;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BjD"}
@@ -53,4 +53,32 @@ export function typeReferenceToString(node) {
53
53
  return node.sv;
54
54
  }
55
55
  }
56
+ export function splitLines(text) {
57
+ const lines = [];
58
+ let start = 0;
59
+ let pos = 0;
60
+ while (pos < text.length) {
61
+ const ch = text.charCodeAt(pos);
62
+ switch (ch) {
63
+ case 13 /* CharCode.CarriageReturn */:
64
+ if (text.charCodeAt(pos + 1) === 10 /* CharCode.LineFeed */) {
65
+ lines.push(text.slice(start, pos));
66
+ start = pos + 2;
67
+ pos++;
68
+ }
69
+ else {
70
+ lines.push(text.slice(start, pos));
71
+ start = pos + 1;
72
+ }
73
+ break;
74
+ case 10 /* CharCode.LineFeed */:
75
+ lines.push(text.slice(start, pos));
76
+ start = pos + 1;
77
+ break;
78
+ }
79
+ pos++;
80
+ }
81
+ lines.push(text.slice(start));
82
+ return lines;
83
+ }
56
84
  //# sourceMappingURL=syntax-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"syntax-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/syntax-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAwC,UAAU,EAAqB,MAAM,aAAa,CAAC;AAElG;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,IAAI,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,EAAE;aACrB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,aAAa,IAAI,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;IAC5B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,GAAG,CAAC;QACF,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE;IAC/E,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAA+D;IAE/D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU,CAAC,gBAAgB;YAC9B,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAChG,KAAK,UAAU,CAAC,aAAa;YAC3B,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"syntax-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/syntax-utils.ts"],"names":[],"mappings":"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"}
@@ -1015,7 +1015,7 @@ declare const diagnostics: {
1015
1015
  };
1016
1016
  };
1017
1017
  export type CompilerDiagnostics = TypeOfDiagnostics<typeof diagnostics>;
1018
- export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "triple-quote-indent" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "invalid-projection" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "invalid-value" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "visibility-mixed-legacy" | "default-visibility-not-member" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path", M extends keyof {
1018
+ export declare const createDiagnostic: <C extends "triple-quote-indent" | "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "invalid-projection" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "invalid-value" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "visibility-mixed-legacy" | "default-visibility-not-member" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path", M extends keyof {
1019
1019
  "digit-expected": {
1020
1020
  readonly default: "Digit expected.";
1021
1021
  };
@@ -2047,7 +2047,7 @@ export declare const createDiagnostic: <C extends "digit-expected" | "hex-digit-
2047
2047
  readonly default: "Couldn't find VS Code 'code' command in PATH. Make sure you have the VS Code executable added to the system PATH.";
2048
2048
  readonly osx: "Couldn't find VS Code 'code' command in PATH. Make sure you have the VS Code executable added to the system PATH.\nSee instruction for Mac OS here https://code.visualstudio.com/docs/setup/mac";
2049
2049
  };
2050
- }, C, M>) => import("./types.js").Diagnostic, reportDiagnostic: <C extends "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "triple-quote-indent" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "invalid-projection" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "invalid-value" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "visibility-mixed-legacy" | "default-visibility-not-member" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path", M extends keyof {
2050
+ }, C, M>) => import("./types.js").Diagnostic, reportDiagnostic: <C extends "triple-quote-indent" | "digit-expected" | "hex-digit-expected" | "binary-digit-expected" | "unterminated" | "creating-file" | "invalid-escape-sequence" | "no-new-line-start-triple-quote" | "no-new-line-end-triple-quote" | "invalid-character" | "file-not-found" | "file-load" | "init-template-invalid-json" | "init-template-download-failed" | "multiple-blockless-namespace" | "blockless-namespace-first" | "import-first" | "token-expected" | "unknown-directive" | "augment-decorator-target" | "duplicate-decorator" | "decorator-conflict" | "reserved-identifier" | "invalid-directive-location" | "invalid-decorator-location" | "invalid-projection" | "default-required" | "invalid-template-argument-name" | "invalid-template-default" | "required-parameter-first" | "rest-parameter-last" | "rest-parameter-required" | "doc-invalid-identifier" | "using-invalid-ref" | "invalid-type-ref" | "invalid-template-args" | "intersect-non-model" | "intersect-invalid-index" | "incompatible-indexer" | "no-array-properties" | "intersect-duplicate-property" | "invalid-decorator" | "invalid-ref" | "duplicate-property" | "override-property-mismatch" | "extend-scalar" | "extend-model" | "is-model" | "is-operation" | "spread-model" | "unsupported-default" | "spread-object" | "expect-value" | "non-callable" | "named-init-required" | "invalid-primitive-init" | "ambiguous-scalar-type" | "unassignable" | "property-unassignable" | "property-required" | "value-in-type" | "no-prop" | "missing-index" | "missing-property" | "unexpected-property" | "extends-interface" | "extends-interface-duplicate" | "interface-duplicate" | "union-duplicate" | "enum-member-duplicate" | "constructor-duplicate" | "spread-enum" | "decorator-fail" | "rest-parameter-array" | "decorator-extern" | "function-extern" | "missing-implementation" | "overload-same-parent" | "shadow" | "invalid-deprecation-argument" | "duplicate-deprecation" | "config-invalid-argument" | "config-circular-variable" | "config-path-absolute" | "config-invalid-name" | "path-unix-style" | "config-path-not-found" | "dynamic-import" | "invalid-import" | "invalid-main" | "import-not-found" | "library-invalid" | "incompatible-library" | "compiler-version-mismatch" | "duplicate-symbol" | "decorator-decl-target" | "mixed-string-template" | "non-literal-string-template" | "ambiguous-symbol" | "duplicate-using" | "on-validate-fail" | "invalid-emitter" | "js-error" | "missing-import" | "invalid-rule-ref" | "unknown-rule" | "unknown-rule-set" | "rule-enabled-disabled" | "format-failed" | "invalid-pattern-regex" | "decorator-wrong-target" | "invalid-argument" | "invalid-argument-count" | "known-values-invalid-enum" | "invalid-value" | "deprecated" | "no-optional-key" | "invalid-discriminated-union" | "invalid-discriminated-union-variant" | "missing-discriminator-property" | "invalid-discriminator-value" | "invalid-encode" | "invalid-mime-type" | "no-mime-type-suffix" | "encoded-name-conflict" | "incompatible-paging-props" | "invalid-paging-prop" | "duplicate-paging-prop" | "missing-paging-items" | "service-decorator-duplicate" | "list-type-not-model" | "invalid-range" | "add-response" | "add-parameter" | "add-model-property" | "add-model-property-fail" | "add-response-type" | "circular-base-type" | "circular-constraint" | "circular-op-signature" | "circular-alias-type" | "circular-const" | "circular-prop" | "conflict-marker" | "visibility-sealed" | "visibility-mixed-legacy" | "default-visibility-not-member" | "no-compatible-vs-installed" | "vs-extension-windows-only" | "vscode-in-path", M extends keyof {
2051
2051
  "digit-expected": {
2052
2052
  readonly default: "Digit expected.";
2053
2053
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/core/parser.ts"],"names":[],"mappings":"AAkBA,OAAO,EAaL,UAAU,EAkBV,UAAU,EAIV,iBAAiB,EAEjB,cAAc,EACd,mBAAmB,EAanB,IAAI,EAQJ,YAAY,EACZ,cAAc,EA0Bd,UAAU,EAYV,SAAS,EAGT,iBAAiB,EACjB,kBAAkB,EAMnB,MAAM,YAAY,CAAC;AAuNpB,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,kBAAkB,CAG/F;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,CAAC,iBAAiB,EAAE,SAAS,UAAU,EAAE,CAAC,CAI5C;AAmmGD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;AAE7C,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,GACf,IAAI,IAAI,iBAAiB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,EAAE,CAAA;CAAE,CAMvE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CA2Q/E;AAoBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,WAEjE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,KAAK,OAAoB,GACzE,cAAc,CAgDhB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GAC/B,IAAI,GAAG,SAAS,CAAC;AACpB,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,GAChC,CAAC,GAAG,SAAS,CAAC;AAuCjB,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,iBAOvC;AAyBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,mBAAmB,CAEzE;AAaD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAC3B,WAAW,GAAE,OAAe,GAC3B,IAAI,GAAG,SAAS,CAUlB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CAmD1E"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/core/parser.ts"],"names":[],"mappings":"AAkBA,OAAO,EAaL,UAAU,EAkBV,UAAU,EAIV,iBAAiB,EAEjB,cAAc,EACd,mBAAmB,EAanB,IAAI,EAQJ,YAAY,EACZ,cAAc,EA0Bd,UAAU,EAYV,SAAS,EAGT,iBAAiB,EACjB,kBAAkB,EAMnB,MAAM,YAAY,CAAC;AAuNpB,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,kBAAkB,CAG/F;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,CAAC,iBAAiB,EAAE,SAAS,UAAU,EAAE,CAAC,CAI5C;AAomGD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;AAE7C,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,GACf,IAAI,IAAI,iBAAiB,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,EAAE,CAAA;CAAE,CAMvE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CA2Q/E;AAoBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,WAEjE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,KAAK,OAAoB,GACzE,cAAc,CAgDhB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,GAC/B,IAAI,GAAG,SAAS,CAAC;AACpB,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAC9C,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,GAChC,CAAC,GAAG,SAAS,CAAC;AAuCjB,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,iBAOvC;AAyBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,mBAAmB,CAEzE;AAaD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAC3B,WAAW,GAAE,OAAe,GAC3B,IAAI,GAAG,SAAS,CAUlB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,CAmD1E"}
@@ -2,7 +2,7 @@ import { isArray, mutate } from "../utils/misc.js";
2
2
  import { codePointBefore, isIdentifierContinue, trim } from "./charcode.js";
3
3
  import { compilerAssert } from "./diagnostics.js";
4
4
  import { createDiagnostic } from "./messages.js";
5
- import { Token, TokenDisplay, TokenFlags, createScanner, isComment, isKeyword, isPunctuation, isStatementKeyword, isTrivia, skipContinuousIdentifier, skipTrivia, skipTriviaBackward, } from "./scanner.js";
5
+ import { createScanner, isComment, isKeyword, isPunctuation, isStatementKeyword, isTrivia, skipContinuousIdentifier, skipTrivia, skipTriviaBackward, Token, TokenDisplay, TokenFlags, } from "./scanner.js";
6
6
  import { IdentifierKind, SyntaxKind, } from "./types.js";
7
7
  /**
8
8
  * The fixed set of options for each of the kinds of delimited lists in TypeSpec.