@typespec/compiler 0.41.0
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/LICENSE +21 -0
- package/README.md +9 -0
- package/cmd/tsp-server.js +3 -0
- package/cmd/tsp.js +3 -0
- package/dist/cmd/runner.d.ts +9 -0
- package/dist/cmd/runner.d.ts.map +1 -0
- package/dist/cmd/runner.js +62 -0
- package/dist/cmd/runner.js.map +1 -0
- package/dist/config/config-interpolation.d.ts +11 -0
- package/dist/config/config-interpolation.d.ts.map +1 -0
- package/dist/config/config-interpolation.js +109 -0
- package/dist/config/config-interpolation.js.map +1 -0
- package/dist/config/config-loader.d.ts +25 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +182 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/config-schema.d.ts +4 -0
- package/dist/config/config-schema.d.ts.map +1 -0
- package/dist/config/config-schema.js +84 -0
- package/dist/config/config-schema.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +3 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +79 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/core/binder.d.ts +29 -0
- package/dist/core/binder.d.ts.map +1 -0
- package/dist/core/binder.js +455 -0
- package/dist/core/binder.js.map +1 -0
- package/dist/core/charcode.d.ts +130 -0
- package/dist/core/charcode.d.ts.map +1 -0
- package/dist/core/charcode.js +115 -0
- package/dist/core/charcode.js.map +1 -0
- package/dist/core/checker.d.ts +138 -0
- package/dist/core/checker.d.ts.map +1 -0
- package/dist/core/checker.js +4070 -0
- package/dist/core/checker.js.map +1 -0
- package/dist/core/cli/args.d.ts +18 -0
- package/dist/core/cli/args.d.ts.map +1 -0
- package/dist/core/cli/args.js +108 -0
- package/dist/core/cli/args.js.map +1 -0
- package/dist/core/cli/cli.d.ts +2 -0
- package/dist/core/cli/cli.d.ts.map +1 -0
- package/dist/core/cli/cli.js +477 -0
- package/dist/core/cli/cli.js.map +1 -0
- package/dist/core/cli/index.d.ts +2 -0
- package/dist/core/cli/index.d.ts.map +1 -0
- package/dist/core/cli/index.js +2 -0
- package/dist/core/cli/index.js.map +1 -0
- package/dist/core/decorator-utils.d.ts +108 -0
- package/dist/core/decorator-utils.d.ts.map +1 -0
- package/dist/core/decorator-utils.js +326 -0
- package/dist/core/decorator-utils.js.map +1 -0
- package/dist/core/diagnostics.d.ts +93 -0
- package/dist/core/diagnostics.d.ts.map +1 -0
- package/dist/core/diagnostics.js +315 -0
- package/dist/core/diagnostics.js.map +1 -0
- package/dist/core/emitter-utils.d.ts +14 -0
- package/dist/core/emitter-utils.d.ts.map +1 -0
- package/dist/core/emitter-utils.js +16 -0
- package/dist/core/emitter-utils.js.map +1 -0
- package/dist/core/formatter-fs.d.ts +21 -0
- package/dist/core/formatter-fs.d.ts.map +1 -0
- package/dist/core/formatter-fs.js +79 -0
- package/dist/core/formatter-fs.js.map +1 -0
- package/dist/core/formatter.d.ts +10 -0
- package/dist/core/formatter.d.ts.map +1 -0
- package/dist/core/formatter.js +24 -0
- package/dist/core/formatter.js.map +1 -0
- package/dist/core/helpers/discriminator-utils.d.ts +14 -0
- package/dist/core/helpers/discriminator-utils.d.ts.map +1 -0
- package/dist/core/helpers/discriminator-utils.js +169 -0
- package/dist/core/helpers/discriminator-utils.js.map +1 -0
- package/dist/core/helpers/index.d.ts +6 -0
- package/dist/core/helpers/index.d.ts.map +1 -0
- package/dist/core/helpers/index.js +6 -0
- package/dist/core/helpers/index.js.map +1 -0
- package/dist/core/helpers/operation-utils.d.ts +15 -0
- package/dist/core/helpers/operation-utils.d.ts.map +1 -0
- package/dist/core/helpers/operation-utils.js +35 -0
- package/dist/core/helpers/operation-utils.js.map +1 -0
- package/dist/core/helpers/projected-names-utils.d.ts +20 -0
- package/dist/core/helpers/projected-names-utils.d.ts.map +1 -0
- package/dist/core/helpers/projected-names-utils.js +40 -0
- package/dist/core/helpers/projected-names-utils.js.map +1 -0
- package/dist/core/helpers/type-name-utils.d.ts +14 -0
- package/dist/core/helpers/type-name-utils.d.ts.map +1 -0
- package/dist/core/helpers/type-name-utils.js +122 -0
- package/dist/core/helpers/type-name-utils.js.map +1 -0
- package/dist/core/helpers/usage-resolver.d.ts +20 -0
- package/dist/core/helpers/usage-resolver.d.ts.map +1 -0
- package/dist/core/helpers/usage-resolver.js +108 -0
- package/dist/core/helpers/usage-resolver.js.map +1 -0
- package/dist/core/index.d.ts +26 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +26 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/install.d.ts +2 -0
- package/dist/core/install.d.ts.map +1 -0
- package/dist/core/install.js +26 -0
- package/dist/core/install.js.map +1 -0
- package/dist/core/library.d.ts +34 -0
- package/dist/core/library.d.ts.map +1 -0
- package/dist/core/library.js +100 -0
- package/dist/core/library.js.map +1 -0
- package/dist/core/logger/console-sink.browser.d.ts +4 -0
- package/dist/core/logger/console-sink.browser.d.ts.map +1 -0
- package/dist/core/logger/console-sink.browser.js +14 -0
- package/dist/core/logger/console-sink.browser.js.map +1 -0
- package/dist/core/logger/console-sink.d.ts +9 -0
- package/dist/core/logger/console-sink.d.ts.map +1 -0
- package/dist/core/logger/console-sink.js +81 -0
- package/dist/core/logger/console-sink.js.map +1 -0
- package/dist/core/logger/index.d.ts +3 -0
- package/dist/core/logger/index.d.ts.map +1 -0
- package/dist/core/logger/index.js +3 -0
- package/dist/core/logger/index.js.map +1 -0
- package/dist/core/logger/logger.d.ts +7 -0
- package/dist/core/logger/logger.d.ts.map +1 -0
- package/dist/core/logger/logger.js +32 -0
- package/dist/core/logger/logger.js.map +1 -0
- package/dist/core/logger/tracer.d.ts +3 -0
- package/dist/core/logger/tracer.d.ts.map +1 -0
- package/dist/core/logger/tracer.js +91 -0
- package/dist/core/logger/tracer.js.map +1 -0
- package/dist/core/manifest.d.ts +21 -0
- package/dist/core/manifest.d.ts.map +1 -0
- package/dist/core/manifest.js +8 -0
- package/dist/core/manifest.js.map +1 -0
- package/dist/core/messages.d.ts +2253 -0
- package/dist/core/messages.d.ts.map +1 -0
- package/dist/core/messages.js +749 -0
- package/dist/core/messages.js.map +1 -0
- package/dist/core/module-resolver.d.ts +84 -0
- package/dist/core/module-resolver.d.ts.map +1 -0
- package/dist/core/module-resolver.js +170 -0
- package/dist/core/module-resolver.js.map +1 -0
- package/dist/core/node-host.browser.d.ts +2 -0
- package/dist/core/node-host.browser.d.ts.map +1 -0
- package/dist/core/node-host.browser.js +2 -0
- package/dist/core/node-host.browser.js.map +1 -0
- package/dist/core/node-host.d.ts +7 -0
- package/dist/core/node-host.d.ts.map +1 -0
- package/dist/core/node-host.js +43 -0
- package/dist/core/node-host.js.map +1 -0
- package/dist/core/nonascii.d.ts +2 -0
- package/dist/core/nonascii.d.ts.map +1 -0
- package/dist/core/nonascii.js +712 -0
- package/dist/core/nonascii.js.map +1 -0
- package/dist/core/options.d.ts +46 -0
- package/dist/core/options.d.ts.map +1 -0
- package/dist/core/options.js +2 -0
- package/dist/core/options.js.map +1 -0
- package/dist/core/parser.d.ts +17 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +2561 -0
- package/dist/core/parser.js.map +1 -0
- package/dist/core/path-utils.d.ts +193 -0
- package/dist/core/path-utils.d.ts.map +1 -0
- package/dist/core/path-utils.js +427 -0
- package/dist/core/path-utils.js.map +1 -0
- package/dist/core/program.d.ts +104 -0
- package/dist/core/program.d.ts.map +1 -0
- package/dist/core/program.js +898 -0
- package/dist/core/program.js.map +1 -0
- package/dist/core/projection-members.d.ts +8 -0
- package/dist/core/projection-members.d.ts.map +1 -0
- package/dist/core/projection-members.js +387 -0
- package/dist/core/projection-members.js.map +1 -0
- package/dist/core/projector.d.ts +26 -0
- package/dist/core/projector.d.ts.map +1 -0
- package/dist/core/projector.js +523 -0
- package/dist/core/projector.js.map +1 -0
- package/dist/core/scanner.d.ts +125 -0
- package/dist/core/scanner.d.ts.map +1 -0
- package/dist/core/scanner.js +1012 -0
- package/dist/core/scanner.js.map +1 -0
- package/dist/core/schema-validator.d.ts +6 -0
- package/dist/core/schema-validator.d.ts.map +1 -0
- package/dist/core/schema-validator.js +38 -0
- package/dist/core/schema-validator.js.map +1 -0
- package/dist/core/semantic-walker.d.ts +53 -0
- package/dist/core/semantic-walker.d.ts.map +1 -0
- package/dist/core/semantic-walker.js +355 -0
- package/dist/core/semantic-walker.js.map +1 -0
- package/dist/core/type-utils.d.ts +49 -0
- package/dist/core/type-utils.d.ts.map +1 -0
- package/dist/core/type-utils.js +95 -0
- package/dist/core/type-utils.js.map +1 -0
- package/dist/core/types.d.ts +1345 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +105 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/util.d.ts +150 -0
- package/dist/core/util.d.ts.map +1 -0
- package/dist/core/util.js +417 -0
- package/dist/core/util.js.map +1 -0
- package/dist/emitter-framework/asset-emitter.d.ts +5 -0
- package/dist/emitter-framework/asset-emitter.d.ts.map +1 -0
- package/dist/emitter-framework/asset-emitter.js +610 -0
- package/dist/emitter-framework/asset-emitter.js.map +1 -0
- package/dist/emitter-framework/builders/array-builder.d.ts +7 -0
- package/dist/emitter-framework/builders/array-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/array-builder.js +45 -0
- package/dist/emitter-framework/builders/array-builder.js.map +1 -0
- package/dist/emitter-framework/builders/object-builder.d.ts +9 -0
- package/dist/emitter-framework/builders/object-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/object-builder.js +30 -0
- package/dist/emitter-framework/builders/object-builder.js.map +1 -0
- package/dist/emitter-framework/builders/string-builder.d.ts +13 -0
- package/dist/emitter-framework/builders/string-builder.d.ts.map +1 -0
- package/dist/emitter-framework/builders/string-builder.js +98 -0
- package/dist/emitter-framework/builders/string-builder.js.map +1 -0
- package/dist/emitter-framework/custom-key-map.d.ts +29 -0
- package/dist/emitter-framework/custom-key-map.d.ts.map +1 -0
- package/dist/emitter-framework/custom-key-map.js +62 -0
- package/dist/emitter-framework/custom-key-map.js.map +1 -0
- package/dist/emitter-framework/index.d.ts +8 -0
- package/dist/emitter-framework/index.d.ts.map +1 -0
- package/dist/emitter-framework/index.js +8 -0
- package/dist/emitter-framework/index.js.map +1 -0
- package/dist/emitter-framework/placeholder.d.ts +12 -0
- package/dist/emitter-framework/placeholder.d.ts.map +1 -0
- package/dist/emitter-framework/placeholder.js +27 -0
- package/dist/emitter-framework/placeholder.js.map +1 -0
- package/dist/emitter-framework/type-emitter.d.ts +314 -0
- package/dist/emitter-framework/type-emitter.d.ts.map +1 -0
- package/dist/emitter-framework/type-emitter.js +612 -0
- package/dist/emitter-framework/type-emitter.js.map +1 -0
- package/dist/emitter-framework/types.d.ts +124 -0
- package/dist/emitter-framework/types.d.ts.map +1 -0
- package/dist/emitter-framework/types.js +39 -0
- package/dist/emitter-framework/types.js.map +1 -0
- package/dist/formatter/index.d.ts +11 -0
- package/dist/formatter/index.d.ts.map +1 -0
- package/dist/formatter/index.js +28 -0
- package/dist/formatter/index.js.map +1 -0
- package/dist/formatter/parser.d.ts +16 -0
- package/dist/formatter/parser.d.ts.map +1 -0
- package/dist/formatter/parser.js +23 -0
- package/dist/formatter/parser.js.map +1 -0
- package/dist/formatter/print/comment-handler.d.ts +7 -0
- package/dist/formatter/print/comment-handler.d.ts.map +1 -0
- package/dist/formatter/print/comment-handler.js +81 -0
- package/dist/formatter/print/comment-handler.js.map +1 -0
- package/dist/formatter/print/index.d.ts +3 -0
- package/dist/formatter/print/index.d.ts.map +1 -0
- package/dist/formatter/print/index.js +3 -0
- package/dist/formatter/print/index.js.map +1 -0
- package/dist/formatter/print/needs-parens.d.ts +10 -0
- package/dist/formatter/print/needs-parens.d.ts.map +1 -0
- package/dist/formatter/print/needs-parens.js +27 -0
- package/dist/formatter/print/needs-parens.js.map +1 -0
- package/dist/formatter/print/printer.d.ts +62 -0
- package/dist/formatter/print/printer.d.ts.map +1 -0
- package/dist/formatter/print/printer.js +1025 -0
- package/dist/formatter/print/printer.js.map +1 -0
- package/dist/formatter/print/types.d.ts +9 -0
- package/dist/formatter/print/types.d.ts.map +1 -0
- package/dist/formatter/print/types.js +2 -0
- package/dist/formatter/print/types.js.map +1 -0
- package/dist/init/index.d.ts +2 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +2 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/init-template.d.ts +45 -0
- package/dist/init/init-template.d.ts.map +1 -0
- package/dist/init/init-template.js +45 -0
- package/dist/init/init-template.js.map +1 -0
- package/dist/init/init.d.ts +49 -0
- package/dist/init/init.d.ts.map +1 -0
- package/dist/init/init.js +224 -0
- package/dist/init/init.js.map +1 -0
- package/dist/lib/decorators.d.ts +222 -0
- package/dist/lib/decorators.d.ts.map +1 -0
- package/dist/lib/decorators.js +745 -0
- package/dist/lib/decorators.js.map +1 -0
- package/dist/lib/service.d.ts +38 -0
- package/dist/lib/service.d.ts.map +1 -0
- package/dist/lib/service.js +78 -0
- package/dist/lib/service.js.map +1 -0
- package/dist/manifest.js +4 -0
- package/dist/server/completion.d.ts +10 -0
- package/dist/server/completion.d.ts.map +1 -0
- package/dist/server/completion.js +207 -0
- package/dist/server/completion.js.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +3 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/language-config.d.ts +195 -0
- package/dist/server/language-config.d.ts.map +1 -0
- package/dist/server/language-config.js +102 -0
- package/dist/server/language-config.js.map +1 -0
- package/dist/server/server.d.ts +2 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +131 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/serverlib.d.ts +72 -0
- package/dist/server/serverlib.d.ts.map +1 -0
- package/dist/server/serverlib.js +1034 -0
- package/dist/server/serverlib.js.map +1 -0
- package/dist/server/symbol-structure.d.ts +4 -0
- package/dist/server/symbol-structure.d.ts.map +1 -0
- package/dist/server/symbol-structure.js +121 -0
- package/dist/server/symbol-structure.js.map +1 -0
- package/dist/server/tmlanguage.d.ts +3 -0
- package/dist/server/tmlanguage.d.ts.map +1 -0
- package/dist/server/tmlanguage.js +713 -0
- package/dist/server/tmlanguage.js.map +1 -0
- package/dist/server/type-details.d.ts +11 -0
- package/dist/server/type-details.d.ts.map +1 -0
- package/dist/server/type-details.js +72 -0
- package/dist/server/type-details.js.map +1 -0
- package/dist/server/type-signature.d.ts +2 -0
- package/dist/server/type-signature.d.ts.map +1 -0
- package/dist/server/type-signature.js +108 -0
- package/dist/server/type-signature.js.map +1 -0
- package/dist/testing/expect.d.ts +49 -0
- package/dist/testing/expect.d.ts.map +1 -0
- package/dist/testing/expect.js +83 -0
- package/dist/testing/expect.js.map +1 -0
- package/dist/testing/index.d.ts +6 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/test-host.d.ts +14 -0
- package/dist/testing/test-host.d.ts.map +1 -0
- package/dist/testing/test-host.js +271 -0
- package/dist/testing/test-host.js.map +1 -0
- package/dist/testing/test-server-host.d.ts +39 -0
- package/dist/testing/test-server-host.d.ts.map +1 -0
- package/dist/testing/test-server-host.js +112 -0
- package/dist/testing/test-server-host.js.map +1 -0
- package/dist/testing/test-utils.d.ts +22 -0
- package/dist/testing/test-utils.d.ts.map +1 -0
- package/dist/testing/test-utils.js +60 -0
- package/dist/testing/test-utils.js.map +1 -0
- package/dist/testing/types.d.ts +69 -0
- package/dist/testing/types.d.ts.map +1 -0
- package/dist/testing/types.js +7 -0
- package/dist/testing/types.js.map +1 -0
- package/dist/typespec.tmLanguage +1760 -0
- package/lib/decorators.tsp +420 -0
- package/lib/lib.tsp +158 -0
- package/lib/main.tsp +4 -0
- package/lib/projected-names.tsp +94 -0
- package/lib/reflection.tsp +10 -0
- package/package.json +119 -0
|
@@ -0,0 +1,749 @@
|
|
|
1
|
+
// Static assert: this won't compile if one of the entries above is invalid.
|
|
2
|
+
import { createDiagnosticCreator } from "./diagnostics.js";
|
|
3
|
+
import { paramMessage } from "./library.js";
|
|
4
|
+
const diagnostics = {
|
|
5
|
+
/**
|
|
6
|
+
* Scanner errors.
|
|
7
|
+
*/
|
|
8
|
+
"digit-expected": {
|
|
9
|
+
severity: "error",
|
|
10
|
+
messages: {
|
|
11
|
+
default: "Digit expected.",
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
"hex-digit-expected": {
|
|
15
|
+
severity: "error",
|
|
16
|
+
messages: {
|
|
17
|
+
default: "Hexadecimal digit expected.",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
"binary-digit-expected": {
|
|
21
|
+
severity: "error",
|
|
22
|
+
messages: {
|
|
23
|
+
default: "Binary digit expected.",
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
unterminated: {
|
|
27
|
+
severity: "error",
|
|
28
|
+
messages: {
|
|
29
|
+
default: paramMessage `Unterminated ${"token"}.`,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
"creating-file": {
|
|
33
|
+
severity: "error",
|
|
34
|
+
messages: {
|
|
35
|
+
default: paramMessage `Error creating single file: ${"filename"}, ${"error"}`,
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
"invalid-escape-sequence": {
|
|
39
|
+
severity: "error",
|
|
40
|
+
messages: {
|
|
41
|
+
default: "Invalid escape sequence.",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
"no-new-line-start-triple-quote": {
|
|
45
|
+
severity: "error",
|
|
46
|
+
messages: {
|
|
47
|
+
default: "String content in triple quotes must begin on a new line.",
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
"no-new-line-end-triple-quote": {
|
|
51
|
+
severity: "error",
|
|
52
|
+
messages: {
|
|
53
|
+
default: "Closing triple quotes must begin on a new line.",
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
"triple-quote-indent": {
|
|
57
|
+
severity: "error",
|
|
58
|
+
messages: {
|
|
59
|
+
default: "All lines in triple-quoted string lines must have the same indentation as closing triple quotes.",
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
"invalid-character": {
|
|
63
|
+
severity: "error",
|
|
64
|
+
messages: {
|
|
65
|
+
default: "Invalid character.",
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
/**
|
|
69
|
+
* Utils
|
|
70
|
+
*/
|
|
71
|
+
"file-not-found": {
|
|
72
|
+
severity: "error",
|
|
73
|
+
messages: {
|
|
74
|
+
default: paramMessage `File ${"path"} not found.`,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
"file-load": {
|
|
78
|
+
severity: "error",
|
|
79
|
+
messages: {
|
|
80
|
+
default: paramMessage `${"message"}`,
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
/**
|
|
84
|
+
* Parser errors.
|
|
85
|
+
*/
|
|
86
|
+
"multiple-blockless-namespace": {
|
|
87
|
+
severity: "error",
|
|
88
|
+
messages: {
|
|
89
|
+
default: "Cannot use multiple blockless namespaces.",
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
"blockless-namespace-first": {
|
|
93
|
+
severity: "error",
|
|
94
|
+
messages: {
|
|
95
|
+
default: "Blockless namespaces can't follow other declarations.",
|
|
96
|
+
topLevel: "Blockless namespace can only be top-level.",
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
"import-first": {
|
|
100
|
+
severity: "error",
|
|
101
|
+
messages: {
|
|
102
|
+
default: "Imports must come prior to namespaces or other declarations.",
|
|
103
|
+
topLevel: "Imports must be top-level and come prior to namespaces or other declarations.",
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
"default-optional": {
|
|
107
|
+
severity: "error",
|
|
108
|
+
messages: {
|
|
109
|
+
default: "Cannot use default with non optional properties",
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
"token-expected": {
|
|
113
|
+
severity: "error",
|
|
114
|
+
messages: {
|
|
115
|
+
default: paramMessage `${"token"} expected.`,
|
|
116
|
+
unexpected: paramMessage `Unexpected token ${"token"}`,
|
|
117
|
+
numericOrStringLiteral: "Expected numeric or string literal.",
|
|
118
|
+
identifier: "Identifier expected.",
|
|
119
|
+
projectionDirection: "from or to expected.",
|
|
120
|
+
expression: "Expression expected.",
|
|
121
|
+
statement: "Statement expected.",
|
|
122
|
+
property: "Property expected.",
|
|
123
|
+
enumMember: "Enum member expected.",
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
"trailing-token": {
|
|
127
|
+
severity: "error",
|
|
128
|
+
messages: {
|
|
129
|
+
default: paramMessage `Trailing ${"token"}`,
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
"unknown-directive": {
|
|
133
|
+
severity: "error",
|
|
134
|
+
messages: {
|
|
135
|
+
default: paramMessage `Unknown directive '#${"id"}'`,
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
"augment-decorator-target": {
|
|
139
|
+
severity: "error",
|
|
140
|
+
messages: {
|
|
141
|
+
default: `Augment decorator first argument must be a type reference.`,
|
|
142
|
+
noInstance: `Cannot reference template instances`,
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
"duplicate-decorator": {
|
|
146
|
+
severity: "warning",
|
|
147
|
+
messages: {
|
|
148
|
+
default: paramMessage `Decorator ${"decoratorName"} cannot be used twice on the same declaration.`,
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
"decorator-conflict": {
|
|
152
|
+
severity: "warning",
|
|
153
|
+
messages: {
|
|
154
|
+
default: paramMessage `Decorator ${"decoratorName"} cannot be used with decorator ${"otherDecoratorName"} on the same declaration.`,
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
"reserved-identifier": {
|
|
158
|
+
severity: "error",
|
|
159
|
+
messages: {
|
|
160
|
+
default: "Keyword cannot be used as identifier.",
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
"invalid-directive-location": {
|
|
164
|
+
severity: "error",
|
|
165
|
+
messages: {
|
|
166
|
+
default: paramMessage `Cannot place directive on ${"nodeName"}.`,
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
"invalid-decorator-location": {
|
|
170
|
+
severity: "error",
|
|
171
|
+
messages: {
|
|
172
|
+
default: paramMessage `Cannot decorate ${"nodeName"}.`,
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
"invalid-projection": {
|
|
176
|
+
severity: "error",
|
|
177
|
+
messages: {
|
|
178
|
+
default: "Invalid projection",
|
|
179
|
+
wrongType: "Non-projection can't be used to project",
|
|
180
|
+
noTo: "Projection missing to projection",
|
|
181
|
+
projectionError: paramMessage `An error occurred when projecting this type: ${"message"}`,
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
"default-required": {
|
|
185
|
+
severity: "error",
|
|
186
|
+
messages: {
|
|
187
|
+
default: "Required template parameters must not follow optional template parameters",
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
"invalid-template-default": {
|
|
191
|
+
severity: "error",
|
|
192
|
+
messages: {
|
|
193
|
+
default: "Template parameter defaults can only reference previously declared type parameters.",
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
"required-parameter-first": {
|
|
197
|
+
severity: "error",
|
|
198
|
+
messages: {
|
|
199
|
+
default: "A required parameter cannot follow an optional parameter.",
|
|
200
|
+
},
|
|
201
|
+
},
|
|
202
|
+
"rest-parameter-last": {
|
|
203
|
+
severity: "error",
|
|
204
|
+
messages: {
|
|
205
|
+
default: "A rest parameter must be last in a parameter list.",
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
"rest-parameter-required": {
|
|
209
|
+
severity: "error",
|
|
210
|
+
messages: {
|
|
211
|
+
default: "A rest parameter cannot be optional.",
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
/**
|
|
215
|
+
* Parser doc comment warnings.
|
|
216
|
+
* Design goal: Malformed doc comments should only produce warnings, not errors.
|
|
217
|
+
*/
|
|
218
|
+
"doc-invalid-identifier": {
|
|
219
|
+
severity: "warning",
|
|
220
|
+
messages: {
|
|
221
|
+
default: "Invalid identifier.",
|
|
222
|
+
tag: "Invalid tag name. Use backticks around code if this was not meant to be a tag.",
|
|
223
|
+
param: "Invalid parameter name.",
|
|
224
|
+
templateParam: "Invalid template parameter name.",
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
/**
|
|
228
|
+
* Checker
|
|
229
|
+
*/
|
|
230
|
+
"using-invalid-ref": {
|
|
231
|
+
severity: "error",
|
|
232
|
+
messages: {
|
|
233
|
+
default: "Using must refer to a namespace",
|
|
234
|
+
decorator: "Can't use a decorator",
|
|
235
|
+
function: "Can't use a function",
|
|
236
|
+
projection: "Can't use a projection",
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
"invalid-type-ref": {
|
|
240
|
+
severity: "error",
|
|
241
|
+
messages: {
|
|
242
|
+
default: "Invalid type reference",
|
|
243
|
+
decorator: "Can't put a decorator in a type",
|
|
244
|
+
function: "Can't use a function as a type",
|
|
245
|
+
},
|
|
246
|
+
},
|
|
247
|
+
"invalid-template-args": {
|
|
248
|
+
severity: "error",
|
|
249
|
+
messages: {
|
|
250
|
+
default: "Invalid template arguments.",
|
|
251
|
+
notTemplate: "Can't pass template arguments to non-templated type",
|
|
252
|
+
tooFew: "Too few template arguments provided.",
|
|
253
|
+
tooMany: "Too many template arguments provided.",
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
"intersect-non-model": {
|
|
257
|
+
severity: "error",
|
|
258
|
+
messages: {
|
|
259
|
+
default: "Cannot intersect non-model types (including union types).",
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
"intersect-invalid-index": {
|
|
263
|
+
severity: "error",
|
|
264
|
+
messages: {
|
|
265
|
+
default: "Cannot intersect incompatible models.",
|
|
266
|
+
never: "Cannot intersect a model that cannot hold properties.",
|
|
267
|
+
array: "Cannot intersect an array model.",
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
"intersect-duplicate-property": {
|
|
271
|
+
severity: "error",
|
|
272
|
+
messages: {
|
|
273
|
+
default: paramMessage `Intersection contains duplicate property definitions for ${"propName"}`,
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
"unknown-identifier": {
|
|
277
|
+
severity: "error",
|
|
278
|
+
messages: {
|
|
279
|
+
default: paramMessage `Unknown identifier ${"id"}`,
|
|
280
|
+
},
|
|
281
|
+
},
|
|
282
|
+
"unknown-decorator": {
|
|
283
|
+
severity: "error",
|
|
284
|
+
messages: {
|
|
285
|
+
default: "Unknown decorator",
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
"invalid-decorator": {
|
|
289
|
+
severity: "error",
|
|
290
|
+
messages: {
|
|
291
|
+
default: paramMessage `${"id"} is not a decorator`,
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
"invalid-ref": {
|
|
295
|
+
severity: "error",
|
|
296
|
+
messages: {
|
|
297
|
+
default: paramMessage `Cannot resolve ${"id"}`,
|
|
298
|
+
inDecorator: paramMessage `Cannot resolve ${"id"} in decorator`,
|
|
299
|
+
underNamespace: paramMessage `Namespace ${"namespace"} doesn't have member ${"id"}`,
|
|
300
|
+
underContainer: paramMessage `${"kind"} doesn't have member ${"id"}`,
|
|
301
|
+
node: paramMessage `Cannot resolve '${"id"}' in non-namespace node ${"nodeName"}`,
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
"duplicate-property": {
|
|
305
|
+
severity: "error",
|
|
306
|
+
messages: {
|
|
307
|
+
default: paramMessage `Model already has a property named ${"propName"}`,
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
"override-property-mismatch": {
|
|
311
|
+
severity: "error",
|
|
312
|
+
messages: {
|
|
313
|
+
default: paramMessage `Model has an inherited property named ${"propName"} of type ${"propType"} which cannot override type ${"parentType"}`,
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
"override-property-intrinsic": {
|
|
317
|
+
severity: "error",
|
|
318
|
+
messages: {
|
|
319
|
+
default: paramMessage `Model has an inherited property named ${"propName"} of type ${"propType"} which can only override an intrinsic type on the parent property, not ${"parentType"}`,
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
"extend-scalar": {
|
|
323
|
+
severity: "error",
|
|
324
|
+
messages: {
|
|
325
|
+
default: "Scalar must extend other scalars.",
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
"extend-model": {
|
|
329
|
+
severity: "error",
|
|
330
|
+
messages: {
|
|
331
|
+
default: "Models must extend other models.",
|
|
332
|
+
modelExpression: "Models cannot extend model expressions.",
|
|
333
|
+
},
|
|
334
|
+
},
|
|
335
|
+
"is-model": {
|
|
336
|
+
severity: "error",
|
|
337
|
+
messages: {
|
|
338
|
+
default: "Model `is` must specify another model.",
|
|
339
|
+
modelExpression: "Model `is` cannot specify a model expression.",
|
|
340
|
+
},
|
|
341
|
+
},
|
|
342
|
+
"is-operation": {
|
|
343
|
+
severity: "error",
|
|
344
|
+
messages: {
|
|
345
|
+
default: "Operation can only reuse the signature of another operation.",
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
"spread-model": {
|
|
349
|
+
severity: "error",
|
|
350
|
+
messages: {
|
|
351
|
+
default: "Cannot spread properties of non-model type.",
|
|
352
|
+
neverIndex: "Cannot spread type because it cannot hold properties.",
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
"unsupported-default": {
|
|
356
|
+
severity: "error",
|
|
357
|
+
messages: {
|
|
358
|
+
default: paramMessage `Default must be have a value type but has type '${"type"}'.`,
|
|
359
|
+
},
|
|
360
|
+
},
|
|
361
|
+
unassignable: {
|
|
362
|
+
severity: "error",
|
|
363
|
+
messages: {
|
|
364
|
+
default: paramMessage `Type '${"value"}' is not assignable to type '${"targetType"}'`,
|
|
365
|
+
withDetails: paramMessage `Type '${"sourceType"}' is not assignable to type '${"targetType"}'\n ${"details"}`,
|
|
366
|
+
},
|
|
367
|
+
},
|
|
368
|
+
"no-prop": {
|
|
369
|
+
severity: "error",
|
|
370
|
+
messages: {
|
|
371
|
+
default: paramMessage `Property '${"propName"}' cannot be defined because model cannot hold properties.`,
|
|
372
|
+
},
|
|
373
|
+
},
|
|
374
|
+
"missing-index": {
|
|
375
|
+
severity: "error",
|
|
376
|
+
messages: {
|
|
377
|
+
default: paramMessage `Index signature for type '${"indexType"}' is missing in type '${"sourceType"}'.`,
|
|
378
|
+
},
|
|
379
|
+
},
|
|
380
|
+
"missing-property": {
|
|
381
|
+
severity: "error",
|
|
382
|
+
messages: {
|
|
383
|
+
default: paramMessage `Property '${"propertyName"}' is missing on type '${"sourceType"}' but required in '${"targetType"}'`,
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
"extends-interface": {
|
|
387
|
+
severity: "error",
|
|
388
|
+
messages: {
|
|
389
|
+
default: "Interfaces can only extend other interfaces",
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
"extends-interface-duplicate": {
|
|
393
|
+
severity: "error",
|
|
394
|
+
messages: {
|
|
395
|
+
default: paramMessage `Interface extends cannot have duplicate members. The duplicate member is named ${"name"}`,
|
|
396
|
+
},
|
|
397
|
+
},
|
|
398
|
+
"interface-duplicate": {
|
|
399
|
+
severity: "error",
|
|
400
|
+
messages: {
|
|
401
|
+
default: paramMessage `Interface already has a member named ${"name"}`,
|
|
402
|
+
},
|
|
403
|
+
},
|
|
404
|
+
"union-duplicate": {
|
|
405
|
+
severity: "error",
|
|
406
|
+
messages: {
|
|
407
|
+
default: paramMessage `Union already has a variant named ${"name"}`,
|
|
408
|
+
},
|
|
409
|
+
},
|
|
410
|
+
"enum-member-duplicate": {
|
|
411
|
+
severity: "error",
|
|
412
|
+
messages: {
|
|
413
|
+
default: paramMessage `Enum already has a member named ${"name"}`,
|
|
414
|
+
},
|
|
415
|
+
},
|
|
416
|
+
"spread-enum": {
|
|
417
|
+
severity: "error",
|
|
418
|
+
messages: {
|
|
419
|
+
default: "Cannot spread members of non-enum type.",
|
|
420
|
+
},
|
|
421
|
+
},
|
|
422
|
+
"decorator-fail": {
|
|
423
|
+
severity: "error",
|
|
424
|
+
messages: {
|
|
425
|
+
default: paramMessage `Decorator ${"decoratorName"} failed!\n\n${"error"}`,
|
|
426
|
+
},
|
|
427
|
+
},
|
|
428
|
+
"rest-parameter-array": {
|
|
429
|
+
severity: "error",
|
|
430
|
+
messages: {
|
|
431
|
+
default: "A rest parameter must be of an array type.",
|
|
432
|
+
},
|
|
433
|
+
},
|
|
434
|
+
"decorator-extern": {
|
|
435
|
+
severity: "error",
|
|
436
|
+
messages: {
|
|
437
|
+
default: "A decorator declaration must be prefixed with the 'extern' modifier.",
|
|
438
|
+
},
|
|
439
|
+
},
|
|
440
|
+
"function-extern": {
|
|
441
|
+
severity: "error",
|
|
442
|
+
messages: {
|
|
443
|
+
default: "A function declaration must be prefixed with the 'extern' modifier.",
|
|
444
|
+
},
|
|
445
|
+
},
|
|
446
|
+
"missing-implementation": {
|
|
447
|
+
severity: "error",
|
|
448
|
+
messages: {
|
|
449
|
+
default: "Extern declaration must have an implementation in JS file.",
|
|
450
|
+
},
|
|
451
|
+
},
|
|
452
|
+
"overload-same-parent": {
|
|
453
|
+
severity: "error",
|
|
454
|
+
messages: {
|
|
455
|
+
default: `Overload must be in the same interface or namespace.`,
|
|
456
|
+
},
|
|
457
|
+
},
|
|
458
|
+
shadow: {
|
|
459
|
+
severity: "warning",
|
|
460
|
+
messages: {
|
|
461
|
+
default: paramMessage `Shadowing parent template parmaeter with the same name "${"name"}"`,
|
|
462
|
+
},
|
|
463
|
+
},
|
|
464
|
+
/**
|
|
465
|
+
* Configuration
|
|
466
|
+
*/
|
|
467
|
+
"config-invalid-argument": {
|
|
468
|
+
severity: "error",
|
|
469
|
+
messages: {
|
|
470
|
+
default: paramMessage `Argument "${"name"}" is not defined as a parameter in the config.`,
|
|
471
|
+
},
|
|
472
|
+
},
|
|
473
|
+
"config-circular-variable": {
|
|
474
|
+
severity: "error",
|
|
475
|
+
messages: {
|
|
476
|
+
default: paramMessage `There is a circular reference to variable "${"name"}" in the cli configuration or arguments.`,
|
|
477
|
+
},
|
|
478
|
+
},
|
|
479
|
+
"config-path-absolute": {
|
|
480
|
+
severity: "error",
|
|
481
|
+
messages: {
|
|
482
|
+
default: paramMessage `Path "${"path"}" cannot be relative. Use {cwd} or {project-root} to specify what the path should be relative to.`,
|
|
483
|
+
},
|
|
484
|
+
},
|
|
485
|
+
/**
|
|
486
|
+
* Program
|
|
487
|
+
*/
|
|
488
|
+
"dynamic-import": {
|
|
489
|
+
severity: "error",
|
|
490
|
+
messages: {
|
|
491
|
+
default: "Dynamically generated TypeSpec cannot have imports",
|
|
492
|
+
},
|
|
493
|
+
},
|
|
494
|
+
"invalid-import": {
|
|
495
|
+
severity: "error",
|
|
496
|
+
messages: {
|
|
497
|
+
default: "Import paths must reference either a directory, a .tsp file, or .js file",
|
|
498
|
+
},
|
|
499
|
+
},
|
|
500
|
+
"invalid-main": {
|
|
501
|
+
severity: "error",
|
|
502
|
+
messages: {
|
|
503
|
+
default: "Main file must either be a .tsp file or a .js file.",
|
|
504
|
+
},
|
|
505
|
+
},
|
|
506
|
+
"import-not-found": {
|
|
507
|
+
severity: "error",
|
|
508
|
+
messages: {
|
|
509
|
+
default: paramMessage `Couldn't resolve import "${"path"}"`,
|
|
510
|
+
},
|
|
511
|
+
},
|
|
512
|
+
"library-invalid": {
|
|
513
|
+
severity: "error",
|
|
514
|
+
messages: {
|
|
515
|
+
tspMain: paramMessage `Library "${"path"}" has an invalid tspMain file.`,
|
|
516
|
+
default: paramMessage `Library "${"path"}" has an invalid main file.`,
|
|
517
|
+
},
|
|
518
|
+
},
|
|
519
|
+
"incompatible-library": {
|
|
520
|
+
severity: "warning",
|
|
521
|
+
messages: {
|
|
522
|
+
default: paramMessage `Multiple versions of "${"name"}" library were loaded:\n${"versionMap"}`,
|
|
523
|
+
},
|
|
524
|
+
},
|
|
525
|
+
"compiler-version-mismatch": {
|
|
526
|
+
severity: "warning",
|
|
527
|
+
messages: {
|
|
528
|
+
default: paramMessage `Current TypeSpec compiler conflicts with local version of @typespec/compiler referenced in ${"basedir"}. \nIf this warning occurs on the command line, try running \`typespec\` with a working directory of ${"basedir"}. \nIf this warning occurs in the IDE, try configuring the \`tsp-server\` path to ${"betterTypeSpecServerPath"}.\n Expected: ${"expected"}\n Resolved: ${"actual"}`,
|
|
529
|
+
},
|
|
530
|
+
},
|
|
531
|
+
"duplicate-symbol": {
|
|
532
|
+
severity: "error",
|
|
533
|
+
messages: {
|
|
534
|
+
default: paramMessage `Duplicate name: "${"name"}"`,
|
|
535
|
+
},
|
|
536
|
+
},
|
|
537
|
+
"decorator-decl-target": {
|
|
538
|
+
severity: "error",
|
|
539
|
+
messages: {
|
|
540
|
+
default: "dec must have at least one parameter.",
|
|
541
|
+
required: "dec first parameter must be required.",
|
|
542
|
+
},
|
|
543
|
+
},
|
|
544
|
+
"projections-are-experimental": {
|
|
545
|
+
severity: "warning",
|
|
546
|
+
messages: {
|
|
547
|
+
default: "Projections are experimental - your code will need to change as this feature evolves.",
|
|
548
|
+
},
|
|
549
|
+
},
|
|
550
|
+
/**
|
|
551
|
+
* Binder
|
|
552
|
+
*/
|
|
553
|
+
"ambiguous-symbol": {
|
|
554
|
+
severity: "error",
|
|
555
|
+
messages: {
|
|
556
|
+
default: paramMessage `"${"name"}" is an ambiguous name between ${"duplicateNames"}. Try using fully qualified name instead: ${"duplicateNames"}`,
|
|
557
|
+
},
|
|
558
|
+
},
|
|
559
|
+
"duplicate-using": {
|
|
560
|
+
severity: "error",
|
|
561
|
+
messages: {
|
|
562
|
+
default: paramMessage `duplicate using of "${"usingName"}" namespace`,
|
|
563
|
+
},
|
|
564
|
+
},
|
|
565
|
+
/**
|
|
566
|
+
* Library
|
|
567
|
+
*/
|
|
568
|
+
"on-validate-fail": {
|
|
569
|
+
severity: "error",
|
|
570
|
+
messages: {
|
|
571
|
+
default: paramMessage `onValidate failed with errors. ${"error"}`,
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
"invalid-emitter": {
|
|
575
|
+
severity: "error",
|
|
576
|
+
messages: {
|
|
577
|
+
default: paramMessage `Requested emitter package ${"emitterPackage"} does not provide an "onEmit" function.`,
|
|
578
|
+
},
|
|
579
|
+
},
|
|
580
|
+
"emitter-not-found": {
|
|
581
|
+
severity: "warning",
|
|
582
|
+
messages: {
|
|
583
|
+
default: paramMessage `Emitter with name ${"emitterName"} is not found.`,
|
|
584
|
+
},
|
|
585
|
+
},
|
|
586
|
+
"missing-import": {
|
|
587
|
+
severity: "error",
|
|
588
|
+
messages: {
|
|
589
|
+
default: paramMessage `Emitter '${"emitterName"}' requires '${"requiredImport"}' to be imported. Add 'import "${"requiredImport"}".`,
|
|
590
|
+
},
|
|
591
|
+
},
|
|
592
|
+
/**
|
|
593
|
+
* Decorator
|
|
594
|
+
*/
|
|
595
|
+
"decorator-wrong-target": {
|
|
596
|
+
severity: "error",
|
|
597
|
+
messages: {
|
|
598
|
+
default: paramMessage `Cannot apply ${"decorator"} decorator to ${"to"}`,
|
|
599
|
+
withExpected: paramMessage `Cannot apply ${"decorator"} decorator to ${"to"} since it is not assignable to ${"expected"}`,
|
|
600
|
+
},
|
|
601
|
+
},
|
|
602
|
+
"invalid-argument": {
|
|
603
|
+
severity: "error",
|
|
604
|
+
messages: {
|
|
605
|
+
default: paramMessage `Argument '${"value"}' is not assignable to parameter of type '${"expected"}'`,
|
|
606
|
+
},
|
|
607
|
+
},
|
|
608
|
+
"invalid-argument-count": {
|
|
609
|
+
severity: "error",
|
|
610
|
+
messages: {
|
|
611
|
+
default: paramMessage `Expected ${"expected"} arguments, but got ${"actual"}.`,
|
|
612
|
+
atLeast: paramMessage `Expected at least ${"expected"} arguments, but got ${"actual"}.`,
|
|
613
|
+
},
|
|
614
|
+
},
|
|
615
|
+
"known-values-invalid-enum": {
|
|
616
|
+
severity: "error",
|
|
617
|
+
messages: {
|
|
618
|
+
default: paramMessage `Enum cannot be used on this type. Member ${"member"} is not assignable to type ${"type"}.`,
|
|
619
|
+
},
|
|
620
|
+
},
|
|
621
|
+
"invalid-value": {
|
|
622
|
+
severity: "error",
|
|
623
|
+
messages: {
|
|
624
|
+
default: paramMessage `Type '${"kind"}' is not a value type.`,
|
|
625
|
+
atPath: paramMessage `Type '${"kind"}' of '${"path"}' is not a value type.`,
|
|
626
|
+
},
|
|
627
|
+
},
|
|
628
|
+
deprecated: {
|
|
629
|
+
severity: "warning",
|
|
630
|
+
messages: {
|
|
631
|
+
default: paramMessage `Deprecated: ${"message"}`,
|
|
632
|
+
},
|
|
633
|
+
},
|
|
634
|
+
"no-optional-key": {
|
|
635
|
+
severity: "error",
|
|
636
|
+
messages: {
|
|
637
|
+
default: paramMessage `Property '${"propertyName"}' marked as key cannot be optional.`,
|
|
638
|
+
},
|
|
639
|
+
},
|
|
640
|
+
"invalid-discriminated-union": {
|
|
641
|
+
severity: "error",
|
|
642
|
+
messages: {
|
|
643
|
+
default: "",
|
|
644
|
+
noAnonVariants: "Unions with anonymous variants cannot be discriminated",
|
|
645
|
+
},
|
|
646
|
+
},
|
|
647
|
+
"invalid-discriminated-union-variant": {
|
|
648
|
+
severity: "error",
|
|
649
|
+
messages: {
|
|
650
|
+
default: paramMessage `Union variant "${"name"}" must be a model type.`,
|
|
651
|
+
noDiscriminant: paramMessage `Variant "${"name"}" type is missing the discriminant property "${"discriminant"}".`,
|
|
652
|
+
wrongDiscriminantType: paramMessage `Variant "${"name"}" type's discriminant property "${"discriminant"}" must be a string literal or string enum member.`,
|
|
653
|
+
},
|
|
654
|
+
},
|
|
655
|
+
"missing-discriminator-property": {
|
|
656
|
+
severity: "error",
|
|
657
|
+
messages: {
|
|
658
|
+
default: paramMessage `Each derived model of a discriminated model type should have set the discriminator property("${"discriminator"}") or have a derived model which has. Add \`${"discriminator"}: "<discriminator-value>"\``,
|
|
659
|
+
},
|
|
660
|
+
},
|
|
661
|
+
"invalid-discriminator-value": {
|
|
662
|
+
severity: "error",
|
|
663
|
+
messages: {
|
|
664
|
+
default: paramMessage `Discriminator value should be a string, union of string or string enum but was ${"kind"}.`,
|
|
665
|
+
required: "The discriminator property must be a required property.",
|
|
666
|
+
duplicate: paramMessage `Discriminator value "${"discriminator"}" is already used in another variant.`,
|
|
667
|
+
},
|
|
668
|
+
},
|
|
669
|
+
/**
|
|
670
|
+
* Service
|
|
671
|
+
*/
|
|
672
|
+
"service-decorator-duplicate": {
|
|
673
|
+
severity: "error",
|
|
674
|
+
messages: {
|
|
675
|
+
default: `@service can only be set once per TypeSpec document.`,
|
|
676
|
+
},
|
|
677
|
+
},
|
|
678
|
+
"list-type-not-model": {
|
|
679
|
+
severity: "error",
|
|
680
|
+
messages: {
|
|
681
|
+
default: "@list decorator's parameter must be a model type.",
|
|
682
|
+
},
|
|
683
|
+
},
|
|
684
|
+
"invalid-range": {
|
|
685
|
+
severity: "error",
|
|
686
|
+
messages: {
|
|
687
|
+
default: paramMessage `Range "${"start"}..${"end"}" is invalid.`,
|
|
688
|
+
},
|
|
689
|
+
},
|
|
690
|
+
/**
|
|
691
|
+
* Mutator
|
|
692
|
+
*/
|
|
693
|
+
"add-response": {
|
|
694
|
+
severity: "error",
|
|
695
|
+
messages: {
|
|
696
|
+
default: "Cannot add a response to anything except an operation statement.",
|
|
697
|
+
},
|
|
698
|
+
},
|
|
699
|
+
"add-parameter": {
|
|
700
|
+
severity: "error",
|
|
701
|
+
messages: {
|
|
702
|
+
default: "Cannot add a parameter to anything except an operation statement.",
|
|
703
|
+
},
|
|
704
|
+
},
|
|
705
|
+
"add-model-property": {
|
|
706
|
+
severity: "error",
|
|
707
|
+
messages: {
|
|
708
|
+
default: "Cannot add a model property to anything except a model statement.",
|
|
709
|
+
},
|
|
710
|
+
},
|
|
711
|
+
"add-model-property-fail": {
|
|
712
|
+
severity: "error",
|
|
713
|
+
messages: {
|
|
714
|
+
default: paramMessage `Could not add property/parameter "${"propertyName"}" of type "${"propertyTypeName"}"`,
|
|
715
|
+
},
|
|
716
|
+
},
|
|
717
|
+
"add-response-type": {
|
|
718
|
+
severity: "error",
|
|
719
|
+
messages: {
|
|
720
|
+
default: paramMessage `Could not add response type "${"responseTypeName"}" to operation ${"operationName"}"`,
|
|
721
|
+
},
|
|
722
|
+
},
|
|
723
|
+
"circular-base-type": {
|
|
724
|
+
severity: "error",
|
|
725
|
+
messages: {
|
|
726
|
+
default: paramMessage `Type '${"typeName"}' recursively references itself as a base type.`,
|
|
727
|
+
},
|
|
728
|
+
},
|
|
729
|
+
"circular-op-signature": {
|
|
730
|
+
severity: "error",
|
|
731
|
+
messages: {
|
|
732
|
+
default: paramMessage `Operation '${"typeName"}' recursively references itself.`,
|
|
733
|
+
},
|
|
734
|
+
},
|
|
735
|
+
"circular-alias-type": {
|
|
736
|
+
severity: "error",
|
|
737
|
+
messages: {
|
|
738
|
+
default: paramMessage `Alias type '${"typeName"}' recursively references itself.`,
|
|
739
|
+
},
|
|
740
|
+
},
|
|
741
|
+
"conflict-marker": {
|
|
742
|
+
severity: "error",
|
|
743
|
+
messages: {
|
|
744
|
+
default: "Conflict marker encountered.",
|
|
745
|
+
},
|
|
746
|
+
},
|
|
747
|
+
};
|
|
748
|
+
export const { createDiagnostic, reportDiagnostic } = createDiagnosticCreator(diagnostics);
|
|
749
|
+
//# sourceMappingURL=messages.js.map
|