@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 @@
|
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../core/scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { JSONSchemaType, JSONSchemaValidator } from "./types.js";
|
|
2
|
+
export interface JSONSchemaValidatorOptions {
|
|
3
|
+
coerceTypes?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare function createJSONSchemaValidator<T>(schema: JSONSchemaType<T>, options?: JSONSchemaValidatorOptions): JSONSchemaValidator;
|
|
6
|
+
//# sourceMappingURL=schema-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../core/schema-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,cAAc,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAC;AAEnG,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAwBrB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import Ajv from "ajv";
|
|
2
|
+
import { compilerAssert } from "./diagnostics.js";
|
|
3
|
+
import { NoTarget } from "./types.js";
|
|
4
|
+
export function createJSONSchemaValidator(schema, options = {}) {
|
|
5
|
+
const ajv = new Ajv({
|
|
6
|
+
strict: true,
|
|
7
|
+
coerceTypes: options.coerceTypes,
|
|
8
|
+
});
|
|
9
|
+
return { validate };
|
|
10
|
+
function validate(config, target) {
|
|
11
|
+
var _a;
|
|
12
|
+
const validate = ajv.compile(schema);
|
|
13
|
+
const valid = validate(config);
|
|
14
|
+
compilerAssert(!valid || !validate.errors, "There should be errors reported if the schema is not valid.");
|
|
15
|
+
const diagnostics = [];
|
|
16
|
+
for (const error of (_a = validate.errors) !== null && _a !== void 0 ? _a : []) {
|
|
17
|
+
const diagnostic = ajvErrorToDiagnostic(error, target);
|
|
18
|
+
diagnostics.push(diagnostic);
|
|
19
|
+
}
|
|
20
|
+
return diagnostics;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const IGNORED_AJV_PARAMS = new Set(["type", "errors"]);
|
|
24
|
+
function ajvErrorToDiagnostic(error, target) {
|
|
25
|
+
const messageLines = [`Schema violation: ${error.message} (${error.instancePath || "/"})`];
|
|
26
|
+
for (const [name, value] of Object.entries(error.params).filter(([name]) => !IGNORED_AJV_PARAMS.has(name))) {
|
|
27
|
+
const formattedValue = Array.isArray(value) ? [...new Set(value)].join(", ") : value;
|
|
28
|
+
messageLines.push(` ${name}: ${formattedValue}`);
|
|
29
|
+
}
|
|
30
|
+
const message = messageLines.join("\n");
|
|
31
|
+
return {
|
|
32
|
+
code: "invalid-schema",
|
|
33
|
+
message,
|
|
34
|
+
severity: "error",
|
|
35
|
+
target: target === NoTarget ? target : { file: target, pos: 0, end: 0 },
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=schema-validator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../core/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,GAAoB,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAmD,QAAQ,EAAc,MAAM,YAAY,CAAC;AAMnG,MAAM,UAAU,yBAAyB,CACvC,MAAyB,EACzB,UAAsC,EAAE;IAExC,MAAM,GAAG,GAAG,IAAK,GAAW,CAAC;QAC3B,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,CAAC;IAEpB,SAAS,QAAQ,CAAC,MAAe,EAAE,MAAoC;;QACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,cAAc,CACZ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC1B,6DAA6D,CAC9D,CAAC;QAEF,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,MAAA,QAAQ,CAAC,MAAM,mCAAI,EAAE,EAAE;YACzC,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC9B;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvD,SAAS,oBAAoB,CAC3B,KAAkB,EAClB,MAAoC;IAEpC,MAAM,YAAY,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,YAAY,IAAI,GAAG,GAAG,CAAC,CAAC;IAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAC7D,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAC1C,EAAE;QACD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrF,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,cAAc,EAAE,CAAC,CAAC;KACnD;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,OAAO;QACP,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;KACxE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Program } from "./program.js";
|
|
2
|
+
import { Model, ModelProperty, Namespace, SemanticNodeListener, Type, TypeListeners } from "./types.js";
|
|
3
|
+
export interface NavigationOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Skip non instantiated templates.
|
|
6
|
+
*/
|
|
7
|
+
includeTemplateDeclaration?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface NamespaceNavigationOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Recursively navigate sub namespaces.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
skipSubNamespaces?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Navigate all types in the program.
|
|
18
|
+
* @param program Program to navigate.
|
|
19
|
+
* @param listeners Listener called when visiting types.
|
|
20
|
+
* @param options Navigation options.
|
|
21
|
+
*/
|
|
22
|
+
export declare function navigateProgram(program: Program, listeners: SemanticNodeListener, options?: NavigationOptions): void;
|
|
23
|
+
/**
|
|
24
|
+
* Navigate the given type and all the types that are used in it.
|
|
25
|
+
* @param type Type to navigate.
|
|
26
|
+
* @param listeners Listener for the types found.
|
|
27
|
+
* @param options Navigation options
|
|
28
|
+
*/
|
|
29
|
+
export declare function navigateType(type: Type, listeners: SemanticNodeListener, options: NavigationOptions): void;
|
|
30
|
+
/**
|
|
31
|
+
* Scope the current navigation to the given namespace.
|
|
32
|
+
* @param namespace Namespace the traversal shouldn't leave.
|
|
33
|
+
* @param listeners Type listeners.
|
|
34
|
+
* @param options Scope options
|
|
35
|
+
* @returns wrapped listeners that that can be used with `navigateType`
|
|
36
|
+
*/
|
|
37
|
+
export declare function scopeNavigationToNamespace<T extends TypeListeners>(namespace: Namespace, listeners: T, options?: NamespaceNavigationOptions): T;
|
|
38
|
+
export declare function navigateTypesInNamespace(namespace: Namespace, listeners: TypeListeners, options?: NamespaceNavigationOptions & NavigationOptions): void;
|
|
39
|
+
/**
|
|
40
|
+
* Create a Semantic node listener from an event emitter.
|
|
41
|
+
* @param eventEmitter Event emitter.
|
|
42
|
+
* @returns Semantic node listener.
|
|
43
|
+
*/
|
|
44
|
+
export declare function mapEventEmitterToNodeListener(eventEmitter: EventEmitter<SemanticNodeListener>): SemanticNodeListener;
|
|
45
|
+
export declare function getProperty(type: Model, propertyName: string): ModelProperty | undefined;
|
|
46
|
+
export declare class EventEmitter<T extends {
|
|
47
|
+
[key: string]: (...args: any) => any;
|
|
48
|
+
}> {
|
|
49
|
+
private listeners;
|
|
50
|
+
on<K extends keyof T>(name: K, listener: (...args: Parameters<T[K]>) => any): void;
|
|
51
|
+
emit<K extends keyof T>(name: K, ...args: Parameters<T[K]>): void;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=semantic-walker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-walker.d.ts","sourceRoot":"","sources":["../../core/semantic-walker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAKL,KAAK,EACL,aAAa,EACb,SAAS,EAGT,oBAAoB,EAGpB,IAAI,EACJ,aAAa,EAGd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,oBAAoB,EAC/B,OAAO,GAAE,iBAAsB,QAMhC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,oBAAoB,EAC/B,OAAO,EAAE,iBAAiB,QAI3B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,aAAa,EAChE,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,CAAC,EACZ,OAAO,GAAE,0BAA+B,GACvC,CAAC,CAgBH;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,aAAa,EACxB,OAAO,GAAE,0BAA0B,GAAG,iBAAsB,QAG7D;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,YAAY,CAAC,oBAAoB,CAAC,GAC/C,oBAAoB,CAStB;AAoPD,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAQxF;AAED,qBAAa,YAAY,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE;IAC1E,OAAO,CAAC,SAAS,CAA2D;IAErE,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;IAS3E,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAQlE"}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
import { isTemplateDeclaration } from "./type-utils.js";
|
|
2
|
+
import { ListenerFlow, } from "./types.js";
|
|
3
|
+
const defaultOptions = {
|
|
4
|
+
includeTemplateDeclaration: false,
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Navigate all types in the program.
|
|
8
|
+
* @param program Program to navigate.
|
|
9
|
+
* @param listeners Listener called when visiting types.
|
|
10
|
+
* @param options Navigation options.
|
|
11
|
+
*/
|
|
12
|
+
export function navigateProgram(program, listeners, options = {}) {
|
|
13
|
+
const context = createNavigationContext(listeners, options);
|
|
14
|
+
context.emit("root", program);
|
|
15
|
+
navigateNamespaceType(program.getGlobalNamespaceType(), context);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Navigate the given type and all the types that are used in it.
|
|
19
|
+
* @param type Type to navigate.
|
|
20
|
+
* @param listeners Listener for the types found.
|
|
21
|
+
* @param options Navigation options
|
|
22
|
+
*/
|
|
23
|
+
export function navigateType(type, listeners, options) {
|
|
24
|
+
const context = createNavigationContext(listeners, options);
|
|
25
|
+
navigateTypeInternal(type, context);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Scope the current navigation to the given namespace.
|
|
29
|
+
* @param namespace Namespace the traversal shouldn't leave.
|
|
30
|
+
* @param listeners Type listeners.
|
|
31
|
+
* @param options Scope options
|
|
32
|
+
* @returns wrapped listeners that that can be used with `navigateType`
|
|
33
|
+
*/
|
|
34
|
+
export function scopeNavigationToNamespace(namespace, listeners, options = {}) {
|
|
35
|
+
const wrappedListeners = {};
|
|
36
|
+
for (const [name, callback] of Object.entries(listeners)) {
|
|
37
|
+
wrappedListeners[name] = (x) => {
|
|
38
|
+
if (x !== namespace && "namespace" in x) {
|
|
39
|
+
if (options.skipSubNamespaces && x.namespace !== namespace) {
|
|
40
|
+
return ListenerFlow.NoRecursion;
|
|
41
|
+
}
|
|
42
|
+
if (x.namespace && !isSubNamespace(x.namespace, namespace)) {
|
|
43
|
+
return ListenerFlow.NoRecursion;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return callback(x);
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return wrappedListeners;
|
|
50
|
+
}
|
|
51
|
+
export function navigateTypesInNamespace(namespace, listeners, options = {}) {
|
|
52
|
+
navigateType(namespace, scopeNavigationToNamespace(namespace, listeners, options), options);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Create a Semantic node listener from an event emitter.
|
|
56
|
+
* @param eventEmitter Event emitter.
|
|
57
|
+
* @returns Semantic node listener.
|
|
58
|
+
*/
|
|
59
|
+
export function mapEventEmitterToNodeListener(eventEmitter) {
|
|
60
|
+
const listener = {};
|
|
61
|
+
for (const eventName of eventNames) {
|
|
62
|
+
listener[eventName] = (...args) => {
|
|
63
|
+
eventEmitter.emit(eventName, ...args);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return listener;
|
|
67
|
+
}
|
|
68
|
+
function isSubNamespace(subNamespace, namespace) {
|
|
69
|
+
let current = subNamespace;
|
|
70
|
+
while (current !== undefined) {
|
|
71
|
+
if (current === namespace) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
current = current.namespace;
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
function createNavigationContext(listeners, options = {}) {
|
|
79
|
+
return {
|
|
80
|
+
visited: new Set(),
|
|
81
|
+
emit: (key, ...args) => { var _a; return (_a = listeners[key]) === null || _a === void 0 ? void 0 : _a.call(listeners, ...args); },
|
|
82
|
+
options: computeOptions(options),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function computeOptions(options) {
|
|
86
|
+
return { ...defaultOptions, ...options };
|
|
87
|
+
}
|
|
88
|
+
function navigateNamespaceType(namespace, context) {
|
|
89
|
+
if (context.emit("namespace", namespace) === ListenerFlow.NoRecursion)
|
|
90
|
+
return;
|
|
91
|
+
for (const model of namespace.models.values()) {
|
|
92
|
+
navigateModelType(model, context);
|
|
93
|
+
}
|
|
94
|
+
for (const scalar of namespace.scalars.values()) {
|
|
95
|
+
navigateScalarType(scalar, context);
|
|
96
|
+
}
|
|
97
|
+
for (const operation of namespace.operations.values()) {
|
|
98
|
+
navigateOperationType(operation, context);
|
|
99
|
+
}
|
|
100
|
+
for (const subNamespace of namespace.namespaces.values()) {
|
|
101
|
+
navigateNamespaceType(subNamespace, context);
|
|
102
|
+
}
|
|
103
|
+
for (const union of namespace.unions.values()) {
|
|
104
|
+
navigateUnionType(union, context);
|
|
105
|
+
}
|
|
106
|
+
for (const iface of namespace.interfaces.values()) {
|
|
107
|
+
navigateInterfaceType(iface, context);
|
|
108
|
+
}
|
|
109
|
+
for (const enumType of namespace.enums.values()) {
|
|
110
|
+
navigateEnumType(enumType, context);
|
|
111
|
+
}
|
|
112
|
+
for (const decorator of namespace.decoratorDeclarations.values()) {
|
|
113
|
+
navigateDecoratorDeclaration(decorator, context);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function checkVisited(visited, item) {
|
|
117
|
+
if (visited.has(item)) {
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
visited.add(item);
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
function navigateOperationType(operation, context) {
|
|
124
|
+
if (checkVisited(context.visited, operation)) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (!context.options.includeTemplateDeclaration && isTemplateDeclaration(operation)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (context.emit("operation", operation) === ListenerFlow.NoRecursion)
|
|
131
|
+
return;
|
|
132
|
+
for (const parameter of operation.parameters.properties.values()) {
|
|
133
|
+
navigateTypeInternal(parameter, context);
|
|
134
|
+
}
|
|
135
|
+
navigateTypeInternal(operation.returnType, context);
|
|
136
|
+
}
|
|
137
|
+
function navigateModelType(model, context) {
|
|
138
|
+
if (checkVisited(context.visited, model)) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (!context.options.includeTemplateDeclaration && isTemplateDeclaration(model)) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (context.emit("model", model) === ListenerFlow.NoRecursion)
|
|
145
|
+
return;
|
|
146
|
+
for (const property of model.properties.values()) {
|
|
147
|
+
navigateModelTypeProperty(property, context);
|
|
148
|
+
}
|
|
149
|
+
if (model.baseModel) {
|
|
150
|
+
navigateModelType(model.baseModel, context);
|
|
151
|
+
}
|
|
152
|
+
if (model.indexer && model.indexer.value) {
|
|
153
|
+
navigateTypeInternal(model.indexer.value, context);
|
|
154
|
+
}
|
|
155
|
+
context.emit("exitModel", model);
|
|
156
|
+
}
|
|
157
|
+
function navigateModelTypeProperty(property, context) {
|
|
158
|
+
if (checkVisited(context.visited, property)) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (context.emit("modelProperty", property) === ListenerFlow.NoRecursion)
|
|
162
|
+
return;
|
|
163
|
+
navigateTypeInternal(property.type, context);
|
|
164
|
+
}
|
|
165
|
+
function navigateScalarType(scalar, context) {
|
|
166
|
+
if (checkVisited(context.visited, scalar)) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
if (context.emit("scalar", scalar) === ListenerFlow.NoRecursion)
|
|
170
|
+
return;
|
|
171
|
+
if (scalar.baseScalar) {
|
|
172
|
+
navigateScalarType(scalar.baseScalar, context);
|
|
173
|
+
}
|
|
174
|
+
context.emit("exitScalar", scalar);
|
|
175
|
+
}
|
|
176
|
+
function navigateInterfaceType(type, context) {
|
|
177
|
+
if (checkVisited(context.visited, type)) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (!context.options.includeTemplateDeclaration && isTemplateDeclaration(type)) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
context.emit("interface", type);
|
|
184
|
+
for (const op of type.operations.values()) {
|
|
185
|
+
navigateOperationType(op, context);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function navigateEnumType(type, context) {
|
|
189
|
+
if (checkVisited(context.visited, type)) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
context.emit("enum", type);
|
|
193
|
+
}
|
|
194
|
+
function navigateUnionType(type, context) {
|
|
195
|
+
if (checkVisited(context.visited, type)) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (!context.options.includeTemplateDeclaration && isTemplateDeclaration(type)) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (context.emit("union", type) === ListenerFlow.NoRecursion)
|
|
202
|
+
return;
|
|
203
|
+
for (const variant of type.variants.values()) {
|
|
204
|
+
navigateUnionTypeVariant(variant, context);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function navigateUnionTypeVariant(type, context) {
|
|
208
|
+
if (checkVisited(context.visited, type)) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
if (context.emit("unionVariant", type) === ListenerFlow.NoRecursion)
|
|
212
|
+
return;
|
|
213
|
+
navigateTypeInternal(type.type, context);
|
|
214
|
+
}
|
|
215
|
+
function navigateTupleType(type, context) {
|
|
216
|
+
if (checkVisited(context.visited, type)) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
if (context.emit("tuple", type) === ListenerFlow.NoRecursion)
|
|
220
|
+
return;
|
|
221
|
+
for (const value of type.values) {
|
|
222
|
+
navigateTypeInternal(value, context);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
function navigateTemplateParameter(type, context) {
|
|
226
|
+
if (checkVisited(context.visited, type)) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
if (context.emit("templateParameter", type) === ListenerFlow.NoRecursion)
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
function navigateDecoratorDeclaration(type, context) {
|
|
233
|
+
if (checkVisited(context.visited, type)) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
if (context.emit("decorator", type) === ListenerFlow.NoRecursion)
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
function navigateTypeInternal(type, context) {
|
|
240
|
+
switch (type.kind) {
|
|
241
|
+
case "Model":
|
|
242
|
+
return navigateModelType(type, context);
|
|
243
|
+
case "Scalar":
|
|
244
|
+
return navigateScalarType(type, context);
|
|
245
|
+
case "ModelProperty":
|
|
246
|
+
return navigateModelTypeProperty(type, context);
|
|
247
|
+
case "Namespace":
|
|
248
|
+
return navigateNamespaceType(type, context);
|
|
249
|
+
case "Interface":
|
|
250
|
+
return navigateInterfaceType(type, context);
|
|
251
|
+
case "Enum":
|
|
252
|
+
return navigateEnumType(type, context);
|
|
253
|
+
case "Operation":
|
|
254
|
+
return navigateOperationType(type, context);
|
|
255
|
+
case "Union":
|
|
256
|
+
return navigateUnionType(type, context);
|
|
257
|
+
case "UnionVariant":
|
|
258
|
+
return navigateUnionTypeVariant(type, context);
|
|
259
|
+
case "Tuple":
|
|
260
|
+
return navigateTupleType(type, context);
|
|
261
|
+
case "TemplateParameter":
|
|
262
|
+
return navigateTemplateParameter(type, context);
|
|
263
|
+
case "Decorator":
|
|
264
|
+
return navigateDecoratorDeclaration(type, context);
|
|
265
|
+
case "Object":
|
|
266
|
+
case "Projection":
|
|
267
|
+
case "Function":
|
|
268
|
+
case "FunctionParameter":
|
|
269
|
+
case "Boolean":
|
|
270
|
+
case "EnumMember":
|
|
271
|
+
case "Intrinsic":
|
|
272
|
+
case "Number":
|
|
273
|
+
case "String":
|
|
274
|
+
return;
|
|
275
|
+
default:
|
|
276
|
+
// Dummy const to ensure we handle all types.
|
|
277
|
+
// If you get an error here, add a case for the new type you added
|
|
278
|
+
const _assertNever = type;
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Return property from type, nesting into baseTypes as needed.
|
|
283
|
+
export function getProperty(type, propertyName) {
|
|
284
|
+
while (type.baseModel) {
|
|
285
|
+
if (type.properties.has(propertyName)) {
|
|
286
|
+
return type.properties.get(propertyName);
|
|
287
|
+
}
|
|
288
|
+
type = type.baseModel;
|
|
289
|
+
}
|
|
290
|
+
return type.properties.get(propertyName);
|
|
291
|
+
}
|
|
292
|
+
export class EventEmitter {
|
|
293
|
+
constructor() {
|
|
294
|
+
this.listeners = new Map();
|
|
295
|
+
}
|
|
296
|
+
on(name, listener) {
|
|
297
|
+
const array = this.listeners.get(name);
|
|
298
|
+
if (array) {
|
|
299
|
+
array.push(listener);
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
this.listeners.set(name, [listener]);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
emit(name, ...args) {
|
|
306
|
+
const listeners = this.listeners.get(name);
|
|
307
|
+
if (listeners) {
|
|
308
|
+
for (const listener of listeners) {
|
|
309
|
+
listener(...args);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
const eventNames = [
|
|
315
|
+
"root",
|
|
316
|
+
"templateParameter",
|
|
317
|
+
"exitTemplateParameter",
|
|
318
|
+
"scalar",
|
|
319
|
+
"exitScalar",
|
|
320
|
+
"model",
|
|
321
|
+
"exitModel",
|
|
322
|
+
"modelProperty",
|
|
323
|
+
"exitModelProperty",
|
|
324
|
+
"interface",
|
|
325
|
+
"exitInterface",
|
|
326
|
+
"enum",
|
|
327
|
+
"exitEnum",
|
|
328
|
+
"enumMember",
|
|
329
|
+
"exitEnumMember",
|
|
330
|
+
"namespace",
|
|
331
|
+
"exitNamespace",
|
|
332
|
+
"operation",
|
|
333
|
+
"exitOperation",
|
|
334
|
+
"string",
|
|
335
|
+
"exitString",
|
|
336
|
+
"number",
|
|
337
|
+
"exitNumber",
|
|
338
|
+
"boolean",
|
|
339
|
+
"exitBoolean",
|
|
340
|
+
"tuple",
|
|
341
|
+
"exitTuple",
|
|
342
|
+
"union",
|
|
343
|
+
"exitUnion",
|
|
344
|
+
"unionVariant",
|
|
345
|
+
"exitUnionVariant",
|
|
346
|
+
"intrinsic",
|
|
347
|
+
"exitIntrinsic",
|
|
348
|
+
"function",
|
|
349
|
+
"exitFunction",
|
|
350
|
+
"object",
|
|
351
|
+
"exitObject",
|
|
352
|
+
"projection",
|
|
353
|
+
"exitProjection",
|
|
354
|
+
];
|
|
355
|
+
//# sourceMappingURL=semantic-walker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semantic-walker.js","sourceRoot":"","sources":["../../core/semantic-walker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Program } from "./program.js";
|
|
2
|
+
import { Enum, ErrorType, Interface, Model, Namespace, NeverType, Node, NullType, Operation, TemplateDeclarationNode, TemplatedType, Type, UnknownType, VoidType } from "./types.js";
|
|
3
|
+
export declare function isErrorType(type: Type): type is ErrorType;
|
|
4
|
+
export declare function isVoidType(type: Type): type is VoidType;
|
|
5
|
+
export declare function isNeverType(type: Type): type is NeverType;
|
|
6
|
+
export declare function isUnknownType(type: Type): type is UnknownType;
|
|
7
|
+
export declare function isNullType(type: Type): type is NullType;
|
|
8
|
+
/**
|
|
9
|
+
* Lookup and find the node
|
|
10
|
+
* @param node Node
|
|
11
|
+
* @returns Template Parent node if applicable
|
|
12
|
+
*/
|
|
13
|
+
export declare function getParentTemplateNode(node: Node): (Node & TemplateDeclarationNode) | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Check if the given type has template arguments.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isTemplateInstance(type: Type): type is TemplatedType & {
|
|
18
|
+
templateArguments: Type[];
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Resolve if the type is a template type declaration(Non initialized template type).
|
|
22
|
+
*/
|
|
23
|
+
export declare function isTemplateDeclaration(type: TemplatedType): type is TemplatedType & {
|
|
24
|
+
node: TemplateDeclarationNode;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Resolve if the type was created from a template type or is a template type declaration.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isTemplateDeclarationOrInstance(type: TemplatedType): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Check if the given namespace is the global namespace
|
|
32
|
+
* @param program Program
|
|
33
|
+
* @param namespace Namespace
|
|
34
|
+
* @returns {boolean}
|
|
35
|
+
*/
|
|
36
|
+
export declare function isGlobalNamespace(program: Program, namespace: Namespace): namespace is Namespace & {
|
|
37
|
+
name: "";
|
|
38
|
+
namespace: undefined;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Check if the given type is declared in the specified namespace or, optionally, its child namespaces.
|
|
42
|
+
* @param type Type
|
|
43
|
+
* @param namespace Namespace
|
|
44
|
+
* @returns {boolean}
|
|
45
|
+
*/
|
|
46
|
+
export declare function isDeclaredInNamespace(type: Model | Operation | Interface | Namespace | Enum, namespace: Namespace, options?: {
|
|
47
|
+
recursive?: boolean;
|
|
48
|
+
}): boolean;
|
|
49
|
+
//# sourceMappingURL=type-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../core/type-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,IAAI,EACJ,SAAS,EACT,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,SAAS,EAET,uBAAuB,EACvB,aAAa,EACb,IAAI,EACJ,WAAW,EACX,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,SAAS,CAEzD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,QAAQ,CAEvD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,SAAS,CAEzD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,WAAW,CAE7D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,QAAQ,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,uBAAuB,CAAC,GAAG,SAAS,CAc9F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,GACT,IAAI,IAAI,aAAa,GAAG;IAAE,iBAAiB,EAAE,IAAI,EAAE,CAAA;CAAE,CAKvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,GAClB,IAAI,IAAI,aAAa,GAAG;IAAE,IAAI,EAAE,uBAAuB,CAAA;CAAE,CAM3D;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAM5E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB,SAAS,IAAI,SAAS,GAAG;IAAE,IAAI,EAAE,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,EACtD,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAwB,WAmBvD"}
|