typespec-typescript-emitter 2.0.1 → 2.1.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.
Files changed (39) hide show
  1. package/.github/workflows/publish-npm.yml +6 -5
  2. package/CHANGELOG.md +9 -4
  3. package/README.md +32 -0
  4. package/dist/src/emit_types.js +2 -0
  5. package/dist/src/emit_types.js.map +1 -1
  6. package/dist/src/lib.d.ts +2 -0
  7. package/dist/src/lib.js +13 -1
  8. package/dist/src/lib.js.map +1 -1
  9. package/dist/src/resolve/Resolvable.d.ts +6 -1
  10. package/dist/src/resolve/Resolvable.js +34 -4
  11. package/dist/src/resolve/Resolvable.js.map +1 -1
  12. package/dist/src/resolve/Resolvable_helpers.d.ts +3 -0
  13. package/dist/src/resolve/Resolvable_helpers.js.map +1 -1
  14. package/dist/src/resolve/operationTypemap.js +4 -0
  15. package/dist/src/resolve/operationTypemap.js.map +1 -1
  16. package/dist/src/resolve/types/Model.Indexed.js +2 -2
  17. package/dist/src/resolve/types/Model.Indexed.js.map +1 -1
  18. package/dist/src/resolve/types/Model.Shaped.js +10 -4
  19. package/dist/src/resolve/types/Model.Shaped.js.map +1 -1
  20. package/dist/src/resolve/types/Scalar.js +4 -2
  21. package/dist/src/resolve/types/Scalar.js.map +1 -1
  22. package/dist/src/resolve/types/Tuple.js +2 -2
  23. package/dist/src/resolve/types/Tuple.js.map +1 -1
  24. package/dist/src/resolve/types/Union.js +2 -2
  25. package/dist/src/resolve/types/Union.js.map +1 -1
  26. package/package.json +2 -1
  27. package/src/emit_types.ts +2 -0
  28. package/src/lib.ts +16 -1
  29. package/src/resolve/Resolvable.ts +51 -5
  30. package/src/resolve/Resolvable_helpers.ts +3 -0
  31. package/src/resolve/operationTypemap.ts +4 -0
  32. package/src/resolve/types/Model.Indexed.ts +2 -0
  33. package/src/resolve/types/Model.Shaped.ts +10 -2
  34. package/src/resolve/types/Scalar.ts +4 -2
  35. package/src/resolve/types/Tuple.ts +2 -2
  36. package/src/resolve/types/Union.ts +13 -2
  37. package/test/helpers/wrapper.ts +3 -0
  38. package/test/routes/routes.test.ts +1 -1
  39. package/test/typemap/typemap.test.ts +4 -8
@@ -2,6 +2,11 @@ name: Publish to NPM
2
2
  on:
3
3
  release:
4
4
  types: [created]
5
+ workflow_dispatch:
6
+
7
+ permissions:
8
+ id-token: write
9
+ contents: read
5
10
 
6
11
  jobs:
7
12
  build-publish:
@@ -9,12 +14,10 @@ jobs:
9
14
  steps:
10
15
  - name: Checkout
11
16
  uses: actions/checkout@v4
12
- with:
13
- token: ${{ secrets.GH_TOKEN }}
14
17
  - name: Setup Node
15
18
  uses: actions/setup-node@v4
16
19
  with:
17
- node-version: "20"
20
+ node-version: "24"
18
21
  registry-url: "https://registry.npmjs.org"
19
22
  - name: Install dependencies
20
23
  run: npm ci
@@ -22,5 +25,3 @@ jobs:
22
25
  run: npm run build
23
26
  - name: Publish package to NPM
24
27
  run: npm publish
25
- env:
26
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # [2.1.0](https://github.com/crowbait/typespec-typescript-emitter/compare/v2.0.1...v2.1.0) (2025-12-18)
2
+
3
+
4
+ ### Features
5
+
6
+ * overridable types + typeguards, closes [#15](https://github.com/crowbait/typespec-typescript-emitter/issues/15) ([71a6fef](https://github.com/crowbait/typespec-typescript-emitter/commit/71a6fef82569a4d378e1ba3c4e9dd94a2e6ccc80))
7
+
8
+
9
+
1
10
  ## [2.0.1](https://github.com/crowbait/typespec-typescript-emitter/compare/v1.3.0...v2.0.1) (2025-11-30)
2
11
 
3
12
 
@@ -36,7 +45,3 @@
36
45
 
37
46
 
38
47
 
39
- ## [1.1.2](https://github.com/crowbait/typespec-typescript-emitter/compare/v1.1.1...v1.1.2) (2025-11-17)
40
-
41
-
42
-
package/README.md CHANGED
@@ -22,6 +22,7 @@ It can the following things:
22
22
  - [In Types](#in-types)
23
23
  - [In Typeguards](#in-typeguards)
24
24
  - [Nominal Enums](#nominal-enums)
25
+ - [Overriding Types \& Typeguards](#overriding-types--typeguards)
25
26
  - [Emitter: Routes](#emitter-routes)
26
27
  - [Emitter: Routed Typemap](#emitter-routed-typemap)
27
28
  - [Contributing](#contributing)
@@ -65,6 +66,8 @@ The following options are available:
65
66
  - `enable-routed-typemap` (default: false, **requires** `enable-types`): enables output of an [indexable type](#emitter-routed-typemap), mapping paths and HTTP verbs to request and response bodies.
66
67
  - `string-nominal-enums` (default: false): outputs member names as strings instead of index values for enum members declared without explicit values.
67
68
  - `serializable-date-types` (default: false): outputs serializable types for typespec's dates types that match OpenApi spec. Types like `offsetDateTime`, `plainDate` and `utcDateTime` will be emitted as `string` and `unixTimestamp32` as `number`. If disabled, all these types resolve to `Date`.
69
+ - `type-mappings` (default: undefined): see [Overriding Types \& Typeguards](#overriding-types--typeguards)
70
+ - `typeguard-mappings` (default: undefined): see [Overriding Types \& Typeguards](#overriding-types--typeguards)
68
71
 
69
72
  ## Emitter: Types
70
73
 
@@ -289,6 +292,35 @@ export enum Status {
289
292
  }
290
293
  ```
291
294
 
295
+ ### Overriding Types & Typeguards
296
+
297
+ Using the configuration options `type-mappings` and `typeguard-mappings`, you can override the type(guard) resolution for specific types.
298
+ You specify a "path" of any length, ending in the **type** or **model property** to be overridden. This "path" can consist of namespaces, models and model properties:
299
+
300
+ ```yml
301
+ type-mappings:
302
+ "myModel/overriddenProperty": "number"
303
+ "myNamespace/myModel/overriddenProperty": "string"
304
+ "Overridden": "'stringLiteral'"
305
+ "myNamespace/OverriddenModel": "{a: string}"
306
+ typeguard-mappings:
307
+ "Overridden": "typeof t === 'string'"
308
+ "myNamespace/OverriddenModel": "t['a'] !== undefined && typeof t['a'] === 'string'"
309
+ ```
310
+
311
+ This example config does the following:
312
+
313
+ - any property `overriddenProperty` on any model `myModel` will resolve to `number`
314
+ - any property `overriddenProperty` on any model `myModel` that is an immediate child of `myNamespace` will resolve to `string`
315
+ - any type named `Overridden` will resolve to `'stringLiteral'`
316
+ - its typeguard resolves to `typeof t === 'string'`
317
+ - any type named `OverriddenModel` that is an immediate child of `myNamespace` will resolve to `{a: string}`
318
+ - its typeguard resolves to `t['a'] !== undefined && typeof t['a'] === 'string'`
319
+
320
+ You can use `t` in typeguards to access the variable currently being tested. Overridden types without overridden typeguards will default to `true` (which does not break `!== undefined` for non-optional model properties).
321
+
322
+ You *can* specified the name of a known type as the resolution target, because your specified value is emitted verbatim instead of the default resolution. *However*, there is no import resolution being performed, so if you specify the name of another type, that other type *has* to be in the same namespace so that it ends up in the same typescript file.
323
+
292
324
  ## Emitter: Routes
293
325
 
294
326
  When enabled, this emitter will traverse your program to find all operations (`op`).
@@ -33,6 +33,7 @@ export const emitTypes = async (program, options, typemap) => {
33
33
  nestlevel: 0,
34
34
  rootType: t,
35
35
  typemap: typemap,
36
+ ancestryPath: [...t.namespaces, t.type.name],
36
37
  });
37
38
  imports[filename].namespaces.push(...resolved.imports);
38
39
  let declaration = "export ";
@@ -82,6 +83,7 @@ export const emitTypes = async (program, options, typemap) => {
82
83
  rootType: t,
83
84
  typemap: typemap,
84
85
  accessor: "t",
86
+ ancestryPath: [...t.namespaces, t.type.name],
85
87
  });
86
88
  if (typeguard.resolved.value) {
87
89
  if (typeguard.hasVisibility) {
@@ -1 +1 @@
1
- {"version":3,"file":"emit_types.js","sourceRoot":"","sources":["../../src/emit_types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit_types.js","sourceRoot":"","sources":["../../src/emit_types.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -8,6 +8,8 @@ export interface EmitterOptions {
8
8
  "enable-routed-typemap": boolean;
9
9
  "string-nominal-enums": boolean;
10
10
  "serializable-date-types": boolean;
11
+ "type-mappings": Record<string, string>;
12
+ "typeguard-mappings": Record<string, string>;
11
13
  }
12
14
  /** Maps option to its default value and options that must be set to `true` for this one to work */
13
15
  export declare const optionDependencies: (context: EmitContext) => { [K in keyof EmitterOptions]: [EmitterOptions[K], (keyof EmitterOptions)[]]; };
package/dist/src/lib.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { createTypeSpecLibrary, } from "@typespec/compiler";
2
2
  const EmitterOptionsSchema = {
3
3
  type: "object",
4
- additionalProperties: false,
5
4
  properties: {
6
5
  "root-namespaces": { type: "array", items: { type: "string" } },
7
6
  "out-dir": { type: "string", format: "absolute-path" },
@@ -11,8 +10,19 @@ const EmitterOptionsSchema = {
11
10
  "enable-routed-typemap": { type: "boolean" },
12
11
  "string-nominal-enums": { type: "boolean" },
13
12
  "serializable-date-types": { type: "boolean" },
13
+ "type-mappings": {
14
+ type: "object",
15
+ required: [],
16
+ additionalProperties: { type: "string" },
17
+ },
18
+ "typeguard-mappings": {
19
+ type: "object",
20
+ required: [],
21
+ additionalProperties: { type: "string" },
22
+ },
14
23
  },
15
24
  required: ["root-namespaces"],
25
+ additionalProperties: false,
16
26
  };
17
27
  /** Maps option to its default value and options that must be set to `true` for this one to work */
18
28
  export const optionDependencies = (context) => ({
@@ -24,6 +34,8 @@ export const optionDependencies = (context) => ({
24
34
  ["serializable-date-types"]: [false, []],
25
35
  ["enable-typeguards"]: [false, ["enable-types"]],
26
36
  ["enable-routed-typemap"]: [false, ["enable-types"]],
37
+ ["type-mappings"]: [{}, []],
38
+ ["typeguard-mappings"]: [{}, []],
27
39
  });
28
40
  export const $lib = createTypeSpecLibrary({
29
41
  name: "typespec-typescript-emitter",
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAa5B,MAAM,oBAAoB,GAAmC;IAC3D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC/D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE;QACtD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACxC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5C,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,yBAAyB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC/C;IACD,QAAQ,EAAE,CAAC,iBAAiB,CAAC;CAC9B,CAAC;AAEF,mGAAmG;AACnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAoB,EAGpB,EAAE,CAAC,CAAC;IACJ,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;IAC3C,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7B,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9B,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IACrC,CAAC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IAExC,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,EAAE;IACf,OAAO,EAAE;QACP,OAAO,EAAE,oBAAoB;KAC9B;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAe5B,MAAM,oBAAoB,GAAmC;IAC3D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC/D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE;QACtD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACnC,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACxC,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,uBAAuB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5C,sBAAsB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,yBAAyB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC9C,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;QACD,oBAAoB,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzC;KACF;IACD,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,mGAAmG;AACnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAoB,EAGpB,EAAE,CAAC,CAAC;IACJ,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;IAC3C,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7B,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9B,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IACrC,CAAC,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;IAExC,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,cAAc,CAAC,CAAC;IAEpD,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,EAAE;IACf,OAAO,EAAE;QACP,OAAO,EAAE,oBAAoB;KAC9B;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
@@ -8,7 +8,11 @@ export declare abstract class Resolvable<T extends Type> {
8
8
  * Resolves another type for the current type, handling required changes to the resolution options.
9
9
  * The passed `out` object is not signifiantly changed, only the `hasVisibility` flag is managed.
10
10
  */
11
- protected resolveNested<R extends typeof this._r>(t: Type, opts: ResolverOptions<R>, out: ResolverResult<R>, nest?: boolean): Promise<ResolverResult<R>>;
11
+ protected resolveNested<R extends typeof this._r>(t: Type, opts: ResolverOptions<R>, out: ResolverResult<R>,
12
+ /** The name that should be added to the ancestry path. */
13
+ ancestryName: string | string[] | undefined,
14
+ /** Increases nestlevel, used for indentation formatting */
15
+ nest?: boolean): Promise<ResolverResult<R>>;
12
16
  /** Creates the appropriate Resolvable instance for a given type. */
13
17
  static for<T extends Type>(r: Resolver, t: T): Promise<Resolvable<T>>;
14
18
  constructor(t: T, r: Resolver);
@@ -21,6 +25,7 @@ export declare abstract class Resolvable<T extends Type> {
21
25
  protected abstract typeguard(opts: ResolverOptions<Resolver.Typeguard>, out: ResolverResult<Resolver.Typeguard>): Promise<void>;
22
26
  /** Resolves the type, modifying an output object in place. */
23
27
  resolve(opts: ResolverOptions<Resolver>, out: ResolverResult<Resolver>): Promise<void>;
28
+ /** Adds visibility maps to known types, if needed (only applies to shaped model). */
24
29
  protected transformKnownType(opts: ResolverOptions<Resolver>, out: ResolverResult<Resolver>): void;
25
30
  /** Returns true if this type or anything it contains or references has visibility modifiers. */
26
31
  hasVisibility(opts: ResolverOptions<Resolver>, out: ResolverResult<Resolver>): Promise<boolean>;
@@ -20,18 +20,24 @@ export class Resolvable {
20
20
  * Resolves another type for the current type, handling required changes to the resolution options.
21
21
  * The passed `out` object is not signifiantly changed, only the `hasVisibility` flag is managed.
22
22
  */
23
- async resolveNested(t, opts, out, nest = true) {
23
+ async resolveNested(t, opts, out,
24
+ /** The name that should be added to the ancestry path. */
25
+ ancestryName,
26
+ /** Increases nestlevel, used for indentation formatting */
27
+ nest = true) {
24
28
  // prepare nested resolution
25
29
  if (nest)
26
30
  opts.nestlevel++;
27
31
  if (!opts.parents)
28
32
  opts.parents = [];
29
33
  opts.parents.push(this._t);
34
+ opts.ancestryPath.push(...(Array.isArray(ancestryName) ? ancestryName : [ancestryName]));
30
35
  const ret = await Resolvable.resolve(this._r, t, opts);
31
36
  // revert to current level
32
37
  if (nest)
33
38
  opts.nestlevel--;
34
39
  opts.parents.pop();
40
+ opts.ancestryPath.splice(-(Array.isArray(ancestryName) ? ancestryName.length : 1));
35
41
  return ret;
36
42
  }
37
43
  /** Creates the appropriate Resolvable instance for a given type. */
@@ -100,7 +106,6 @@ export class Resolvable {
100
106
  const currentNamespaces = namespaceListFromNamespace(this._t.namespace);
101
107
  // find known resolved type
102
108
  const foundKnownResolved = (() => {
103
- const currentNamespaces = namespaceListFromNamespace(this._t.namespace);
104
109
  if (currentNamespaces && currentNamespaces.length > 0) {
105
110
  const found = opts.typemap.find((mt) => mt.type.kind === this._t.kind &&
106
111
  mt.type.name === this._t.name &&
@@ -130,13 +135,37 @@ export class Resolvable {
130
135
  out.imports.push(foundKnownResolved.namespaces);
131
136
  }
132
137
  // optionally allow found type to modify output
133
- if (this.transformKnownType !== undefined)
134
- this.transformKnownType(opts, out);
138
+ this.transformKnownType(opts, out);
135
139
  return;
136
140
  }
137
141
  }
138
142
  // this prevents the root type from triggering known resolution
139
143
  opts.rootTypeReady = true;
144
+ // check if type is overridden by user in config
145
+ if (opts.options["type-mappings"] || opts.options["typeguard-mappings"]) {
146
+ const overridesTypes = Object.entries(opts.options["type-mappings"] ?? {});
147
+ const overridesTypeguards = Object.entries(opts.options["typeguard-mappings"] ?? {});
148
+ /** Maps [path, value] -> [pathSegmentsReversed[], value] */
149
+ const mapOverrides = (str) => [str[0].split("/").reverse(), str[1]];
150
+ const overridesTypes_mapped = overridesTypes.map(mapOverrides);
151
+ const overridesTypeguards_mapped = overridesTypeguards.map(mapOverrides);
152
+ const ancestry = [...opts.ancestryPath].reverse();
153
+ const findOverride = (o) => o[0].every((seg, i) => ancestry[i] === seg);
154
+ const typeOverride = overridesTypes_mapped.find(findOverride);
155
+ const typeguardOverride = overridesTypeguards_mapped.find(findOverride);
156
+ if (this._r === Resolver.Type && typeOverride !== undefined)
157
+ out.resolved.append(typeOverride[1]);
158
+ if (this._r === Resolver.Typeguard && typeguardOverride !== undefined)
159
+ out.resolved.append(typeguardOverride[1]);
160
+ if (this._r === Resolver.Typeguard &&
161
+ typeOverride !== undefined &&
162
+ typeguardOverride === undefined) {
163
+ this.diagnostic("missing-typeguard-override", `Type at path ${opts.ancestryPath.join(".")} has type override, but no typeguard override. Defaulting to "true".`, "warning");
164
+ out.resolved.append("true");
165
+ }
166
+ if (typeOverride !== undefined || typeguardOverride !== undefined)
167
+ return;
168
+ }
140
169
  switch (this._r) {
141
170
  case Resolver.Type:
142
171
  return await this.type(opts, out);
@@ -144,6 +173,7 @@ export class Resolvable {
144
173
  return await this.typeguard(opts, out);
145
174
  }
146
175
  }
176
+ /** Adds visibility maps to known types, if needed (only applies to shaped model). */
147
177
  transformKnownType(
148
178
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
149
179
  opts,
@@ -1 +1 @@
1
- {"version":3,"file":"Resolvable.js","sourceRoot":"","sources":["../../../src/resolve/Resolvable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resolvable.js","sourceRoot":"","sources":["../../../src/resolve/Resolvable.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export type ResolverOptions<R extends Resolver> = {
10
10
  program: Program;
11
11
  options: EmitterOptions;
12
12
  typemap: TTypeMap;
13
+ /** Used for indentation formatting */
13
14
  nestlevel: number;
14
15
  /** The type the entire resolution chain started with. */
15
16
  rootType: TTypeMap[number] | null;
@@ -20,6 +21,8 @@ export type ResolverOptions<R extends Resolver> = {
20
21
  rootTypeReady?: boolean;
21
22
  /** The types "up the chain" - "parent" types on nested resolution. */
22
23
  parents?: Type[];
24
+ /** The entire "name chain", from the root namespace to here - "things" without a name are `undefined`. */
25
+ ancestryPath: (string | undefined)[];
23
26
  } & (R extends Resolver.Type ? {
24
27
  emitDocs: boolean;
25
28
  } : {
@@ -1 +1 @@
1
- {"version":3,"file":"Resolvable_helpers.js","sourceRoot":"","sources":["../../../src/resolve/Resolvable_helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAGtE,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAI,CAAA;IACJ,iDAAS,CAAA;AACX,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AA6BD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAiB,EACjB,CAAM,EACmB,EAAE;IAC3B,MAAM,iBAAiB,GAAG,0BAA0B,CAAE,CAAS,CAAC,SAAS,CAAC,CAAC;IAC3E,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACvB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAM,CAAS,CAAC,IAAI;YAChC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAClD,CAAC;QACF,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"Resolvable_helpers.js","sourceRoot":"","sources":["../../../src/resolve/Resolvable_helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAGtE,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uCAAI,CAAA;IACJ,iDAAS,CAAA;AACX,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAgCD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAiB,EACjB,CAAM,EACmB,EAAE;IAC3B,MAAM,iBAAiB,GAAG,0BAA0B,CAAE,CAAS,CAAC,SAAS,CAAC,CAAC;IAC3E,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CACxB,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACvB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAM,CAAS,CAAC,IAAI;YAChC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAClD,CAAC;QACF,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -20,6 +20,7 @@ export const resolveOperationTypemap = async (program, options, typemap, op) =>
20
20
  rootType: null,
21
21
  typemap,
22
22
  rootTypeReady: true,
23
+ ancestryPath: [],
23
24
  });
24
25
  ret.imports.push(...resolved.imports);
25
26
  ret.types.request.content = replaceLifecycle(resolved.resolved.value, httpOp.verb.toUpperCase(), resolved.hasVisibility);
@@ -57,6 +58,7 @@ export const resolveOperationTypemap = async (program, options, typemap, op) =>
57
58
  rootType: null,
58
59
  typemap,
59
60
  rootTypeReady: true,
61
+ ancestryPath: [],
60
62
  });
61
63
  if (resolved.hasVisibility)
62
64
  modelret.hasVisibility = true;
@@ -75,6 +77,7 @@ export const resolveOperationTypemap = async (program, options, typemap, op) =>
75
77
  rootType: null,
76
78
  typemap,
77
79
  rootTypeReady: true,
80
+ ancestryPath: [],
78
81
  });
79
82
  if (resolved.hasVisibility)
80
83
  modelret.hasVisibility = true;
@@ -102,6 +105,7 @@ export const resolveOperationTypemap = async (program, options, typemap, op) =>
102
105
  rootType: null,
103
106
  typemap,
104
107
  rootTypeReady: true,
108
+ ancestryPath: [],
105
109
  });
106
110
  ret.imports.push(...resolved.imports);
107
111
  responseRet.content.push({
@@ -1 +1 @@
1
- {"version":3,"file":"operationTypemap.js","sourceRoot":"","sources":["../../../src/resolve/operationTypemap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationTypemap.js","sourceRoot":"","sources":["../../../src/resolve/operationTypemap.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export class IndexedModel extends Resolvable {
26
26
  return false;
27
27
  }
28
28
  async type(opts, out) {
29
- const resolved = await this.resolveNested(this._t.indexer.value, opts, out, false);
29
+ const resolved = await this.resolveNested(this._t.indexer.value, opts, out, this._t.name, false);
30
30
  switch (this._indexedModelKind) {
31
31
  case Type.Array:
32
32
  out.resolved.append(`(${resolved.resolved})[]`);
@@ -40,7 +40,7 @@ export class IndexedModel extends Resolvable {
40
40
  async typeguard(opts, out) {
41
41
  const oldAccessor = opts.accessor;
42
42
  opts.accessor = this._indexedModelKind === Type.Array ? "v" : "v[1]";
43
- const resolved = await this.resolveNested(this._t.indexer.value, opts, out);
43
+ const resolved = await this.resolveNested(this._t.indexer.value, opts, out, this._t.name);
44
44
  opts.accessor = oldAccessor;
45
45
  if (resolved.resolved.value.endsWith("\n"))
46
46
  resolved.resolved.dropLast();
@@ -1 +1 @@
1
- {"version":3,"file":"Model.Indexed.js","sourceRoot":"","sources":["../../../../src/resolve/types/Model.Indexed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Model.Indexed.js","sourceRoot":"","sources":["../../../../src/resolve/types/Model.Indexed.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ export class ShapedModel extends Resolvable {
71
71
  const resolution = new AppendableString();
72
72
  // check for base model (extended)
73
73
  if (this._t.baseModel) {
74
- const resolvedBase = await this.resolveNested(this._t.baseModel, opts, out);
74
+ const resolvedBase = await this.resolveNested(this._t.baseModel, opts, out, undefined);
75
75
  out.imports.push(...resolvedBase.imports);
76
76
  resolution.append(`${resolvedBase.resolved} & `);
77
77
  }
@@ -91,7 +91,10 @@ export class ShapedModel extends Resolvable {
91
91
  resolution.addLine(`/** ${doc} */`, opts.nestlevel + 1);
92
92
  }
93
93
  // resolve prop
94
- const resolved = await this.resolveNested(prop.type, opts, out);
94
+ const resolved = await this.resolveNested(prop.type, opts, out, [
95
+ this._t.name,
96
+ prop.name,
97
+ ]);
95
98
  resolution.addLine(`${prop.name}${prop.optional ? "?" : ""}: ${resolved.resolved}${i + 1 < this._t.properties.size ? "," : ""}`, opts.nestlevel + 1);
96
99
  out.imports.push(...resolved.imports);
97
100
  // if prop has visibility, save to vismap
@@ -146,7 +149,7 @@ export class ShapedModel extends Resolvable {
146
149
  async typeguard(opts, out) {
147
150
  out.resolved.append("\n");
148
151
  if (this._t.baseModel) {
149
- const resolvedBase = await this.resolveNested(this._t.baseModel, opts, out);
152
+ const resolvedBase = await this.resolveNested(this._t.baseModel, opts, out, undefined);
150
153
  out.resolved.append(`${" ".repeat(opts.nestlevel)}${resolvedBase.resolved} &&`);
151
154
  out.imports.push(...resolvedBase.imports);
152
155
  // derived type does not have extended properties; fix by casting
@@ -157,7 +160,10 @@ export class ShapedModel extends Resolvable {
157
160
  for (const prop of props) {
158
161
  const oldAccessor = opts.accessor;
159
162
  opts.accessor = `${opts.accessor}['${prop.name}']`;
160
- const resolved = await this.resolveNested(prop.type, opts, out);
163
+ const resolved = await this.resolveNested(prop.type, opts, out, [
164
+ this._t.name,
165
+ prop.name,
166
+ ]);
161
167
  opts.accessor = oldAccessor;
162
168
  out.imports.push(...resolved.imports);
163
169
  const visibility = this.getPropVisibilityType(opts.program, prop);
@@ -1 +1 @@
1
- {"version":3,"file":"Model.Shaped.js","sourceRoot":"","sources":["../../../../src/resolve/types/Model.Shaped.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Model.Shaped.js","sourceRoot":"","sources":["../../../../src/resolve/types/Model.Shaped.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiC,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,QAAQ,GAGT,MAAM,0BAA0B,CAAC;AAIlC,MAAM,OAAO,WAAY,SAAQ,UAAiB;IACtC,gBAAgB,GAAW,OAAO,CAAC;IAErC,QAAQ;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,qBAAqB,CAC3B,OAAgB,EAChB,IAAmB;QAEnB,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACnB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,KAAK,aAAa,CAC5D;YAED,OAAO,IAAI,CAAC;QACd,MAAM,GAAG,GAAqB,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACa,KAAK,CAAC,aAAa,CACjC,IAA+B,EAC/B,GAA6B;QAE7B,IAAI,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,eAAe;QACf,IACE,IAAI,CAAC,EAAE,CAAC,SAAS;YACjB,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEvE,OAAO,IAAI,CAAC;QACd,sCAAsC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IACE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,KAAK,aAAa,CAC5D,CACF;YAED,OAAO,IAAI,CAAC;QACd,qDAAqD;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,mGAAmG;YACnG,MAAM,cAAc,GAAG,0BAA0B,CAC9C,IAAI,CAAC,IAAY,CAAC,SAAS,CAC7B,CAAC;YACF,IACE,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3B,MAAM,gBAAgB,GAAG,0BAA0B,CAChD,MAAc,CAAC,SAAS,CAC1B,CAAC;oBACF,OAAO,CACL,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI;wBAC7B,IAAI,CAAC,IAAY,CAAC,IAAI;wBACtB,MAAc,CAAC,IAAI,KAAM,IAAI,CAAC,IAAY,CAAC,IAAI;wBAChD,cAAc;wBACd,gBAAgB;wBAChB,aAAa,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAChD,CAAC;gBACJ,CAAC,CAAC;gBAEF,SAAS;YACX,yBAAyB;YACzB,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,eAAe;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,IAAI,CAClB,IAAoC,EACpC,GAAkC;QAElC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC1C,kCAAkC;QAClC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAC3C,IAAI,CAAC,EAAE,CAAC,SAAS,EACjB,IAAI,EACJ,GAAG,EACH,SAAS,CACV,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1C,UAAU,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE9B,MAAM,mBAAmB,GAGrB,EAAE,CAAC;QAEP,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,kBAAkB;gBAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACvC,IAAI,GAAG;wBAAE,UAAU,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACnE,CAAC;gBACD,eAAe;gBACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;oBAC9D,IAAI,CAAC,EAAE,CAAC,IAAI;oBACZ,IAAI,CAAC,IAAI;iBACV,CAAC,CAAC;gBACH,UAAU,CAAC,OAAO,CAChB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5G,IAAI,CAAC,SAAS,GAAG,CAAC,CACnB,CAAC;gBACF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACtC,yCAAyC;gBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC/D,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAC/C,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;oBAC5D,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;oBAC9C,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;gBACjE,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,MAAM,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACtC,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,MAAM,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CACzC,CAAC;YACF,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,sBAAsB,EAAE,CAAC;oBACrD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACzF,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;wBAC7C,MAAM,CAAC,OAAO,CACZ,IAAI,IAAI,OAAO,OAAO,GAAG,EACzB,IAAI,CAAC,SAAS,GAAG,CAAC,EAClB,WAAW,CACZ,CAAC;oBACJ,CAAC;oBACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnB,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;wBACnD,IAAI,OAAO,CAAC,IAAI;4BAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;wBACpE,MAAM,CAAC,OAAO,CACZ,WAAW,OAAO,CAAC,MAAM;6BACtB,KAAK,CAAC,IAAI,CAAC;6BACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;6BACpB,IAAI,CAAC,IAAI,CAAC;6BACV,IAAI,EAAE,EAAE,EACX,IAAI,CAAC,SAAS,GAAG,CAAC,CACnB,CAAC;wBACF,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;oBACvD,CAAC;oBACD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC7D,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACnD,CAAC;YAED,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAErD,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;YAEjC,IACE,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAClE;gBACD,MAAM,CAAC,KAAK,EACZ,CAAC;gBACD,0FAA0F;gBAC1F,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,UAAU,KAAK,MAAM,MAAM,CAAC,CAAC;gBACpE,oFAAoF;YACtF,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,IAAyC,EACzC,GAAuC;QAEvC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1B,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAC3C,IAAI,CAAC,EAAE,CAAC,SAAS,EACjB,IAAI,EACJ,GAAG,EACH,SAAS,CACV,CAAC;YACF,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,CAAC,QAAQ,KAAK,CAC5D,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1C,iEAAiE;YACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,UAAU,CAAC;QAC9C,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC9D,IAAI,CAAC,EAAE,CAAC,IAAI;gBACZ,IAAI,CAAC,IAAI;aACV,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAElE,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CACpB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAC1D,CAAC;YACF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,KAAK,IAAI,wCAAwC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,OAAO,CAAC;YAC3K,CAAC;YACD,IACE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;gBAC9B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,CAAC;gBACD,sDAAsD;gBACtD,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACvB,KAAK,OAAO;wBACV,KAAK,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC;wBACjD,MAAM;oBACR,KAAK,MAAM;wBACT,KAAK,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,kBAAkB,CAAC;wBAC1D,MAAM;gBACV,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,IAAI,CAAC,QAAQ;oBACpB,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,sBAAsB;oBACtD,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,sBAAsB,CAAC;gBACzD,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACjC,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;oBAC7B,CAAC,CAAC,EAAE,CAAC;gBACP,KAAK,IAAI,GAAG,CAAC;YACf,CAAC;YACD,IAAI,UAAU,KAAK,IAAI;gBAAE,KAAK,IAAI,IAAI,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAES,kBAAkB,CAC1B,IAA+B,EAC/B,GAA6B;QAE7B,yEAAyE;QACzE,2CAA2C;QAC3C,kEAAkE;QAClE,4EAA4E;QAE5E,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACnD,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,CAAC;YACzC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACzC,mDAAmD;QACrD,CAAC;IACH,CAAC;CACF"}
@@ -21,7 +21,8 @@ export class ResolvableScalar extends Resolvable {
21
21
  }
22
22
  }
23
23
  else if (this._t.baseScalar) {
24
- out.resolved.append((await this.resolveNested(this._t.baseScalar, opts, out)).resolved);
24
+ out.resolved.append((await this.resolveNested(this._t.baseScalar, opts, out, this._t.name))
25
+ .resolved);
25
26
  }
26
27
  else {
27
28
  switch (this._t.name) {
@@ -71,7 +72,8 @@ export class ResolvableScalar extends Resolvable {
71
72
  }
72
73
  }
73
74
  else if (this._t.baseScalar) {
74
- out.resolved.append((await this.resolveNested(this._t.baseScalar, opts, out)).resolved);
75
+ out.resolved.append((await this.resolveNested(this._t.baseScalar, opts, out, this._t.name))
76
+ .resolved);
75
77
  }
76
78
  else if (this._t.name === "bytes") {
77
79
  out.resolved.append(`${opts.accessor} instanceof Uint8Array`);
@@ -1 +1 @@
1
- {"version":3,"file":"Scalar.js","sourceRoot":"","sources":["../../../../src/resolve/types/Scalar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,OAAO,gBAAiB,SAAQ,UAAkB;IAC5C,gBAAgB,GAAG,QAAQ,CAAC;IAC9B,SAAS,GAAG;QAClB,gBAAgB;QAChB,WAAW;QACX,aAAa;QACb,iBAAiB;KAClB,CAAC;IAEQ,KAAK,CAAC,IAAI,CAClB,IAAoC,EACpC,GAAkC;QAElC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,WAAW,CAAC;gBACjB,KAAK,aAAa;oBAChB,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC;oBACF,MAAM;gBACR,KAAK,iBAAiB;oBACpB,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAC5D,CAAC;oBACF,MAAM;YACV,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CACnE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,SAAS;oBACZ,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,OAAO;oBACV,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAClC,MAAM;gBACR,KAAK,UAAU;oBACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,SAAS;oBACZ,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,WAAW;oBACd,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,QAAQ;oBACX,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,KAAK;oBACR,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBAER;oBACE,IAAI,CAAC,UAAU,CACb,2BAA2B,EAC3B,4BAA4B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAC1C,OAAO,CACR,CAAC;oBACF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,IAAyC,EACzC,GAAuC;QAEvC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,WAAW,CAAC;gBACjB,KAAK,aAAa;oBAChB,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;wBACrC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,eAAe;wBACxC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,kBAAkB,CACvC,CAAC;oBACF,MAAM;gBACR,KAAK,iBAAiB;oBACpB,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC;wBACrC,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,eAAe;wBACxC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,kBAAkB,CACvC,CAAC;oBACF,MAAM;YACV,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CACnE,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACpC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,wBAAwB,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC;YACrD,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,SAAS;oBACZ,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,UAAU;oBACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,SAAS;oBACZ,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,WAAW;oBACd,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,QAAQ;oBACX,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,KAAK;oBACR,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;gBAER;oBACE,IAAI,CAAC,UAAU,CACb,2BAA2B,EAC3B,yCAAyC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EACvD,OAAO,CACR,CAAC;oBACF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC/B,MAAM;YACV,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Scalar.js","sourceRoot":"","sources":["../../../../src/resolve/types/Scalar.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export class ResolvableTuple extends Resolvable {
13
13
  async type(opts, out) {
14
14
  const results = [];
15
15
  for (const v of this._t.values) {
16
- const resolved = await this.resolveNested(v, opts, out);
16
+ const resolved = await this.resolveNested(v, opts, out, undefined);
17
17
  out.imports.push(...resolved.imports);
18
18
  results.push(resolved.resolved.value);
19
19
  }
@@ -25,7 +25,7 @@ export class ResolvableTuple extends Resolvable {
25
25
  let i = 0;
26
26
  for (const v of this._t.values) {
27
27
  opts.accessor = `${opts.accessor}[${i}]`;
28
- const resolved = await this.resolveNested(v, opts, out);
28
+ const resolved = await this.resolveNested(v, opts, out, undefined);
29
29
  opts.accessor = oldAccessor;
30
30
  out.imports.push(...resolved.imports);
31
31
  results.push(resolved.resolved.value);
@@ -1 +1 @@
1
- {"version":3,"file":"Tuple.js","sourceRoot":"","sources":["../../../../src/resolve/types/Tuple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,OAAO,eAAgB,SAAQ,UAAiB;IAC1C,gBAAgB,GAAG,OAAO,CAAC;IAErB,KAAK,CAAC,aAAa,CACjC,IAA+B,EAC/B,GAA6B;QAE7B,IAAI,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,IAAI,CAClB,IAAoC,EACpC,GAAkC;QAElC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACxD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,IAAyC,EACzC,GAAuC;QAEvC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,iBAAiB,IAAI,CAAC,QAAQ,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"Tuple.js","sourceRoot":"","sources":["../../../../src/resolve/types/Tuple.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,OAAO,eAAgB,SAAQ,UAAiB;IAC1C,gBAAgB,GAAG,OAAO,CAAC;IAErB,KAAK,CAAC,aAAa,CACjC,IAA+B,EAC/B,GAA6B;QAE7B,IAAI,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,IAAI,CAClB,IAAoC,EACpC,GAAkC;QAElC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,IAAyC,EACzC,GAAuC;QAEvC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;YAC5B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,iBAAiB,IAAI,CAAC,QAAQ,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;CACF"}
@@ -17,7 +17,7 @@ export class ResolvableUnion extends Resolvable {
17
17
  }
18
18
  const results = [];
19
19
  for (const v of Array.from(this._t.variants)) {
20
- const resolved = await this.resolveNested(v[1].type, opts, out, false);
20
+ const resolved = await this.resolveNested(v[1].type, opts, out, this._t.name, false);
21
21
  out.imports.push(...resolved.imports);
22
22
  results.push(resolved.resolved.value);
23
23
  }
@@ -26,7 +26,7 @@ export class ResolvableUnion extends Resolvable {
26
26
  async typeguard(opts, out) {
27
27
  const results = [];
28
28
  for (const v of Array.from(this._t.variants)) {
29
- const resolved = await this.resolveNested(v[1].type, opts, out);
29
+ const resolved = await this.resolveNested(v[1].type, opts, out, this._t.name);
30
30
  out.imports.push(...resolved.imports);
31
31
  results.push(`(${resolved.resolved.value})`);
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Union.js","sourceRoot":"","sources":["../../../../src/resolve/types/Union.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,OAAO,eAAgB,SAAQ,UAAiB;IAC1C,gBAAgB,GAAG,OAAO,CAAC;IAErB,KAAK,CAAC,aAAa,CACjC,IAA+B,EAC/B,GAA6B;QAE7B,IAAI,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,IAAI,CAClB,IAAoC,EACpC,GAAkC;QAElC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,IAAyC,EACzC,GAAuC;QAEvC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"Union.js","sourceRoot":"","sources":["../../../../src/resolve/types/Union.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAS,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO9C,MAAM,OAAO,eAAgB,SAAQ,UAAiB;IAC1C,gBAAgB,GAAG,OAAO,CAAC;IAErB,KAAK,CAAC,aAAa,CACjC,IAA+B,EAC/B,GAA6B;QAE7B,IAAI,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,KAAK,CAAC,IAAI,CAClB,IAAoC,EACpC,GAAkC;QAElC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CACvC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACT,IAAI,EACJ,GAAG,EACH,IAAI,CAAC,EAAE,CAAC,IAAI,EACZ,KAAK,CACN,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,IAAyC,EACzC,GAAuC;QAEvC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CACvC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACT,IAAI,EACJ,GAAG,EACH,IAAI,CAAC,EAAE,CAAC,IAAI,CACb,CAAC;YACF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;CACF"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "typespec-typescript-emitter",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "A TypeSpec library providing an emitter that generates TypeScript types and a structured routes object for robust importing",
5
5
  "homepage": "https://github.com/crowbait/typespec-typescript-emitter#readme",
6
+ "repository": "https://github.com/crowbait/typespec-typescript-emitter",
6
7
  "bugs": "https://github.com/crowbait/typespec-typescript-emitter/issues",
7
8
  "license": "MIT",
8
9
  "author": {
package/src/emit_types.ts CHANGED
@@ -51,6 +51,7 @@ export const emitTypes = async (
51
51
  nestlevel: 0,
52
52
  rootType: t,
53
53
  typemap: typemap,
54
+ ancestryPath: [...t.namespaces, t.type.name],
54
55
  });
55
56
 
56
57
  imports[filename].namespaces.push(...resolved.imports);
@@ -103,6 +104,7 @@ export const emitTypes = async (
103
104
  rootType: t,
104
105
  typemap: typemap,
105
106
  accessor: "t",
107
+ ancestryPath: [...t.namespaces, t.type.name],
106
108
  });
107
109
  if (typeguard.resolved.value) {
108
110
  if (typeguard.hasVisibility) {
package/src/lib.ts CHANGED
@@ -13,11 +13,12 @@ export interface EmitterOptions {
13
13
  "enable-routed-typemap": boolean;
14
14
  "string-nominal-enums": boolean;
15
15
  "serializable-date-types": boolean;
16
+ "type-mappings": Record<string, string>;
17
+ "typeguard-mappings": Record<string, string>;
16
18
  }
17
19
 
18
20
  const EmitterOptionsSchema: JSONSchemaType<EmitterOptions> = {
19
21
  type: "object",
20
- additionalProperties: false,
21
22
  properties: {
22
23
  "root-namespaces": { type: "array", items: { type: "string" } },
23
24
  "out-dir": { type: "string", format: "absolute-path" },
@@ -27,8 +28,19 @@ const EmitterOptionsSchema: JSONSchemaType<EmitterOptions> = {
27
28
  "enable-routed-typemap": { type: "boolean" },
28
29
  "string-nominal-enums": { type: "boolean" },
29
30
  "serializable-date-types": { type: "boolean" },
31
+ "type-mappings": {
32
+ type: "object",
33
+ required: [],
34
+ additionalProperties: { type: "string" },
35
+ },
36
+ "typeguard-mappings": {
37
+ type: "object",
38
+ required: [],
39
+ additionalProperties: { type: "string" },
40
+ },
30
41
  },
31
42
  required: ["root-namespaces"],
43
+ additionalProperties: false,
32
44
  };
33
45
 
34
46
  /** Maps option to its default value and options that must be set to `true` for this one to work */
@@ -46,6 +58,9 @@ export const optionDependencies = (
46
58
 
47
59
  ["enable-typeguards"]: [false, ["enable-types"]],
48
60
  ["enable-routed-typemap"]: [false, ["enable-types"]],
61
+
62
+ ["type-mappings"]: [{}, []],
63
+ ["typeguard-mappings"]: [{}, []],
49
64
  });
50
65
 
51
66
  export const $lib = createTypeSpecLibrary({
@@ -36,18 +36,27 @@ export abstract class Resolvable<T extends Type> {
36
36
  t: Type,
37
37
  opts: ResolverOptions<R>,
38
38
  out: ResolverResult<R>,
39
+ /** The name that should be added to the ancestry path. */
40
+ ancestryName: string | string[] | undefined,
41
+ /** Increases nestlevel, used for indentation formatting */
39
42
  nest: boolean = true,
40
43
  ): Promise<ResolverResult<R>> {
41
44
  // prepare nested resolution
42
45
  if (nest) opts.nestlevel++;
43
46
  if (!opts.parents) opts.parents = [];
44
47
  opts.parents.push(this._t);
48
+ opts.ancestryPath.push(
49
+ ...(Array.isArray(ancestryName) ? ancestryName : [ancestryName]),
50
+ );
45
51
 
46
52
  const ret = await Resolvable.resolve(this._r, t, opts);
47
53
 
48
54
  // revert to current level
49
55
  if (nest) opts.nestlevel--;
50
56
  opts.parents.pop();
57
+ opts.ancestryPath.splice(
58
+ -(Array.isArray(ancestryName) ? ancestryName.length : 1),
59
+ );
51
60
 
52
61
  return ret;
53
62
  }
@@ -142,9 +151,6 @@ export abstract class Resolvable<T extends Type> {
142
151
  );
143
152
  // find known resolved type
144
153
  const foundKnownResolved = ((): TTypeMap[number] | null => {
145
- const currentNamespaces = namespaceListFromNamespace(
146
- (this._t as any).namespace,
147
- );
148
154
  if (currentNamespaces && currentNamespaces.length > 0) {
149
155
  const found = opts.typemap.find(
150
156
  (mt) =>
@@ -186,8 +192,7 @@ export abstract class Resolvable<T extends Type> {
186
192
  }
187
193
 
188
194
  // optionally allow found type to modify output
189
- if (this.transformKnownType !== undefined)
190
- this.transformKnownType(opts, out);
195
+ this.transformKnownType(opts, out);
191
196
  return;
192
197
  }
193
198
  }
@@ -195,6 +200,46 @@ export abstract class Resolvable<T extends Type> {
195
200
  // this prevents the root type from triggering known resolution
196
201
  opts.rootTypeReady = true;
197
202
 
203
+ // check if type is overridden by user in config
204
+ if (opts.options["type-mappings"] || opts.options["typeguard-mappings"]) {
205
+ const overridesTypes = Object.entries(
206
+ opts.options["type-mappings"] ?? {},
207
+ );
208
+ const overridesTypeguards = Object.entries(
209
+ opts.options["typeguard-mappings"] ?? {},
210
+ );
211
+
212
+ /** Maps [path, value] -> [pathSegmentsReversed[], value] */
213
+ const mapOverrides = (str: [string, string]): [string[], string] =>
214
+ [str[0].split("/").reverse(), str[1]] as [string[], string];
215
+ const overridesTypes_mapped = overridesTypes.map(mapOverrides);
216
+ const overridesTypeguards_mapped = overridesTypeguards.map(mapOverrides);
217
+ const ancestry = [...opts.ancestryPath].reverse();
218
+
219
+ const findOverride = (o: [string[], string]) =>
220
+ o[0].every((seg, i) => ancestry[i] === seg);
221
+ const typeOverride = overridesTypes_mapped.find(findOverride);
222
+ const typeguardOverride = overridesTypeguards_mapped.find(findOverride);
223
+
224
+ if (this._r === Resolver.Type && typeOverride !== undefined)
225
+ out.resolved.append(typeOverride[1]);
226
+ if (this._r === Resolver.Typeguard && typeguardOverride !== undefined)
227
+ out.resolved.append(typeguardOverride[1]);
228
+ if (
229
+ this._r === Resolver.Typeguard &&
230
+ typeOverride !== undefined &&
231
+ typeguardOverride === undefined
232
+ ) {
233
+ this.diagnostic(
234
+ "missing-typeguard-override",
235
+ `Type at path ${opts.ancestryPath.join(".")} has type override, but no typeguard override. Defaulting to "true".`,
236
+ "warning",
237
+ );
238
+ out.resolved.append("true");
239
+ }
240
+ if (typeOverride !== undefined || typeguardOverride !== undefined) return;
241
+ }
242
+
198
243
  switch (this._r) {
199
244
  case Resolver.Type:
200
245
  return await this.type(
@@ -209,6 +254,7 @@ export abstract class Resolvable<T extends Type> {
209
254
  }
210
255
  }
211
256
 
257
+ /** Adds visibility maps to known types, if needed (only applies to shaped model). */
212
258
  protected transformKnownType(
213
259
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
214
260
  opts: ResolverOptions<Resolver>,
@@ -14,6 +14,7 @@ export type ResolverOptions<R extends Resolver> = {
14
14
  program: Program;
15
15
  options: EmitterOptions;
16
16
  typemap: TTypeMap;
17
+ /** Used for indentation formatting */
17
18
  nestlevel: number;
18
19
  /** The type the entire resolution chain started with. */
19
20
  rootType: TTypeMap[number] | null;
@@ -24,6 +25,8 @@ export type ResolverOptions<R extends Resolver> = {
24
25
  rootTypeReady?: boolean;
25
26
  /** The types "up the chain" - "parent" types on nested resolution. */
26
27
  parents?: Type[];
28
+ /** The entire "name chain", from the root namespace to here - "things" without a name are `undefined`. */
29
+ ancestryPath: (string | undefined)[];
27
30
  } & (R extends Resolver.Type
28
31
  ? {
29
32
  emitDocs: boolean;
@@ -49,6 +49,7 @@ export const resolveOperationTypemap = async (
49
49
  rootType: null,
50
50
  typemap,
51
51
  rootTypeReady: true,
52
+ ancestryPath: [],
52
53
  },
53
54
  );
54
55
  ret.imports.push(...resolved.imports);
@@ -106,6 +107,7 @@ export const resolveOperationTypemap = async (
106
107
  rootType: null,
107
108
  typemap,
108
109
  rootTypeReady: true,
110
+ ancestryPath: [],
109
111
  },
110
112
  );
111
113
  if (resolved.hasVisibility) modelret.hasVisibility = true;
@@ -129,6 +131,7 @@ export const resolveOperationTypemap = async (
129
131
  rootType: null,
130
132
  typemap,
131
133
  rootTypeReady: true,
134
+ ancestryPath: [],
132
135
  });
133
136
  if (resolved.hasVisibility) modelret.hasVisibility = true;
134
137
  ret.imports.push(...resolved.imports);
@@ -163,6 +166,7 @@ export const resolveOperationTypemap = async (
163
166
  rootType: null,
164
167
  typemap,
165
168
  rootTypeReady: true,
169
+ ancestryPath: [],
166
170
  });
167
171
  ret.imports.push(...resolved.imports);
168
172
  responseRet.content.push({
@@ -47,6 +47,7 @@ export class IndexedModel extends Resolvable<Model> {
47
47
  this._t.indexer!.value,
48
48
  opts,
49
49
  out,
50
+ this._t.name,
50
51
  false,
51
52
  );
52
53
  switch (this._indexedModelKind) {
@@ -70,6 +71,7 @@ export class IndexedModel extends Resolvable<Model> {
70
71
  this._t.indexer!.value,
71
72
  opts,
72
73
  out,
74
+ this._t.name,
73
75
  );
74
76
  opts.accessor = oldAccessor;
75
77
  if (resolved.resolved.value.endsWith("\n")) resolved.resolved.dropLast();
@@ -109,6 +109,7 @@ export class ShapedModel extends Resolvable<Model> {
109
109
  this._t.baseModel,
110
110
  opts,
111
111
  out,
112
+ undefined,
112
113
  );
113
114
  out.imports.push(...resolvedBase.imports);
114
115
  resolution.append(`${resolvedBase.resolved} & `);
@@ -133,7 +134,10 @@ export class ShapedModel extends Resolvable<Model> {
133
134
  if (doc) resolution.addLine(`/** ${doc} */`, opts.nestlevel + 1);
134
135
  }
135
136
  // resolve prop
136
- const resolved = await this.resolveNested(prop.type, opts, out);
137
+ const resolved = await this.resolveNested(prop.type, opts, out, [
138
+ this._t.name,
139
+ prop.name,
140
+ ]);
137
141
  resolution.addLine(
138
142
  `${prop.name}${prop.optional ? "?" : ""}: ${resolved.resolved}${i + 1 < this._t.properties.size ? "," : ""}`,
139
143
  opts.nestlevel + 1,
@@ -216,6 +220,7 @@ export class ShapedModel extends Resolvable<Model> {
216
220
  this._t.baseModel,
217
221
  opts,
218
222
  out,
223
+ undefined,
219
224
  );
220
225
  out.resolved.append(
221
226
  `${" ".repeat(opts.nestlevel)}${resolvedBase.resolved} &&`,
@@ -230,7 +235,10 @@ export class ShapedModel extends Resolvable<Model> {
230
235
  for (const prop of props) {
231
236
  const oldAccessor = opts.accessor;
232
237
  opts.accessor = `${opts.accessor}['${prop.name}']`;
233
- const resolved = await this.resolveNested(prop.type, opts, out);
238
+ const resolved = await this.resolveNested(prop.type, opts, out, [
239
+ this._t.name,
240
+ prop.name,
241
+ ]);
234
242
  opts.accessor = oldAccessor;
235
243
  out.imports.push(...resolved.imports);
236
244
 
@@ -36,7 +36,8 @@ export class ResolvableScalar extends Resolvable<Scalar> {
36
36
  }
37
37
  } else if (this._t.baseScalar) {
38
38
  out.resolved.append(
39
- (await this.resolveNested(this._t.baseScalar, opts, out)).resolved,
39
+ (await this.resolveNested(this._t.baseScalar, opts, out, this._t.name))
40
+ .resolved,
40
41
  );
41
42
  } else {
42
43
  switch (this._t.name) {
@@ -99,7 +100,8 @@ export class ResolvableScalar extends Resolvable<Scalar> {
99
100
  }
100
101
  } else if (this._t.baseScalar) {
101
102
  out.resolved.append(
102
- (await this.resolveNested(this._t.baseScalar, opts, out)).resolved,
103
+ (await this.resolveNested(this._t.baseScalar, opts, out, this._t.name))
104
+ .resolved,
103
105
  );
104
106
  } else if (this._t.name === "bytes") {
105
107
  out.resolved.append(`${opts.accessor} instanceof Uint8Array`);
@@ -26,7 +26,7 @@ export class ResolvableTuple extends Resolvable<Tuple> {
26
26
  ): Promise<void> {
27
27
  const results: string[] = [];
28
28
  for (const v of this._t.values) {
29
- const resolved = await this.resolveNested(v, opts, out);
29
+ const resolved = await this.resolveNested(v, opts, out, undefined);
30
30
  out.imports.push(...resolved.imports);
31
31
  results.push(resolved.resolved.value);
32
32
  }
@@ -42,7 +42,7 @@ export class ResolvableTuple extends Resolvable<Tuple> {
42
42
  let i = 0;
43
43
  for (const v of this._t.values) {
44
44
  opts.accessor = `${opts.accessor}[${i}]`;
45
- const resolved = await this.resolveNested(v, opts, out);
45
+ const resolved = await this.resolveNested(v, opts, out, undefined);
46
46
  opts.accessor = oldAccessor;
47
47
  out.imports.push(...resolved.imports);
48
48
  results.push(resolved.resolved.value);
@@ -30,7 +30,13 @@ export class ResolvableUnion extends Resolvable<Union> {
30
30
  }
31
31
  const results: string[] = [];
32
32
  for (const v of Array.from(this._t.variants)) {
33
- const resolved = await this.resolveNested(v[1].type, opts, out, false);
33
+ const resolved = await this.resolveNested(
34
+ v[1].type,
35
+ opts,
36
+ out,
37
+ this._t.name,
38
+ false,
39
+ );
34
40
  out.imports.push(...resolved.imports);
35
41
  results.push(resolved.resolved.value);
36
42
  }
@@ -43,7 +49,12 @@ export class ResolvableUnion extends Resolvable<Union> {
43
49
  ): Promise<void> {
44
50
  const results: string[] = [];
45
51
  for (const v of Array.from(this._t.variants)) {
46
- const resolved = await this.resolveNested(v[1].type, opts, out);
52
+ const resolved = await this.resolveNested(
53
+ v[1].type,
54
+ opts,
55
+ out,
56
+ this._t.name,
57
+ );
47
58
  out.imports.push(...resolved.imports);
48
59
  results.push(`(${resolved.resolved.value})`);
49
60
  }
@@ -15,6 +15,8 @@ export const defaultConfig: Omit<EmitterOptions, "out-dir"> = {
15
15
  "enable-routed-typemap": false,
16
16
  "string-nominal-enums": true,
17
17
  "serializable-date-types": true,
18
+ "type-mappings": {},
19
+ "typeguard-mappings": {},
18
20
  };
19
21
 
20
22
  type Filename = string;
@@ -125,6 +127,7 @@ export const expectResolution = (
125
127
  rootType: null,
126
128
  typemap: [],
127
129
  emitDocs: false,
130
+ ancestryPath: [],
128
131
  });
129
132
  // check if valid typescript
130
133
  if (args.typescriptTransformer !== null) {
@@ -16,7 +16,7 @@ expectEmit(
16
16
  "routes_test.ts": `/* eslint-disable */${readFileSync(
17
17
  join(__dirname, "routes.target.ts"),
18
18
  "utf8",
19
- )}`,
19
+ ).replaceAll("\r\n", "\n")}`,
20
20
  },
21
21
  { "enable-routes": true },
22
22
  );
@@ -4,14 +4,10 @@ import { expectEmit } from "../helpers/wrapper";
4
4
 
5
5
  const prepareContents = (s: string): string => {
6
6
  let ret = s;
7
- ret = ret.replaceAll(
8
- "// WARN this file may be broken by auto formatting.",
9
- "",
10
- );
11
- ret = ret.replaceAll(
12
- "// WARN by default in vscode, save: Ctrl+K , Ctrl+Shift+S",
13
- "",
14
- );
7
+ ret = ret
8
+ .replaceAll("// WARN this file may be broken by auto formatting.", "")
9
+ .replaceAll("// WARN by default in vscode, save: Ctrl+K , Ctrl+Shift+S", "")
10
+ .replaceAll("\r\n", "\n");
15
11
  return `/* eslint-disable */${ret}`;
16
12
  };
17
13