typespec-typescript-emitter 2.0.1 → 2.2.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/.github/workflows/publish-npm.yml +6 -5
- package/CHANGELOG.md +18 -14
- package/README.md +33 -0
- package/dist/src/emit_routedTypemap.js +2 -2
- package/dist/src/emit_routedTypemap.js.map +1 -1
- package/dist/src/emit_types.js +8 -5
- package/dist/src/emit_types.js.map +1 -1
- package/dist/src/helpers/getImports.d.ts +1 -1
- package/dist/src/helpers/getImports.js +1 -1
- package/dist/src/helpers/getImports.js.map +1 -1
- package/dist/src/helpers/namespaces.d.ts +1 -1
- package/dist/src/helpers/namespaces.js +1 -1
- package/dist/src/helpers/namespaces.js.map +1 -1
- package/dist/src/helpers/visibilityHelperFile.d.ts +1 -1
- package/dist/src/helpers/visibilityHelperFile.js +2 -2
- package/dist/src/helpers/visibilityHelperFile.js.map +1 -1
- package/dist/src/lib.d.ts +3 -0
- package/dist/src/lib.js +15 -1
- package/dist/src/lib.js.map +1 -1
- package/dist/src/resolve/Resolvable.d.ts +6 -1
- package/dist/src/resolve/Resolvable.js +34 -4
- package/dist/src/resolve/Resolvable.js.map +1 -1
- package/dist/src/resolve/Resolvable_helpers.d.ts +3 -0
- package/dist/src/resolve/Resolvable_helpers.js.map +1 -1
- package/dist/src/resolve/operationTypemap.js +4 -0
- package/dist/src/resolve/operationTypemap.js.map +1 -1
- package/dist/src/resolve/types/Model.Indexed.js +2 -2
- package/dist/src/resolve/types/Model.Indexed.js.map +1 -1
- package/dist/src/resolve/types/Model.Shaped.js +10 -4
- package/dist/src/resolve/types/Model.Shaped.js.map +1 -1
- package/dist/src/resolve/types/Scalar.js +4 -2
- package/dist/src/resolve/types/Scalar.js.map +1 -1
- package/dist/src/resolve/types/Tuple.js +2 -2
- package/dist/src/resolve/types/Tuple.js.map +1 -1
- package/dist/src/resolve/types/Union.js +2 -2
- package/dist/src/resolve/types/Union.js.map +1 -1
- package/package.json +2 -1
- package/src/emit_routedTypemap.ts +5 -2
- package/src/emit_types.ts +10 -5
- package/src/helpers/getImports.ts +3 -1
- package/src/helpers/namespaces.ts +4 -2
- package/src/helpers/visibilityHelperFile.ts +3 -2
- package/src/lib.ts +20 -1
- package/src/resolve/Resolvable.ts +51 -5
- package/src/resolve/Resolvable_helpers.ts +3 -0
- package/src/resolve/operationTypemap.ts +4 -0
- package/src/resolve/types/Model.Indexed.ts +2 -0
- package/src/resolve/types/Model.Shaped.ts +10 -2
- package/src/resolve/types/Scalar.ts +4 -2
- package/src/resolve/types/Tuple.ts +2 -2
- package/src/resolve/types/Union.ts +13 -2
- package/test/helpers/wrapper.ts +4 -0
- package/test/routes/routes.test.ts +1 -1
- 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
|
+
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,21 @@
|
|
|
1
|
+
# [2.2.0](https://github.com/crowbait/typespec-typescript-emitter/compare/v2.1.0...v2.2.0) (2026-01-14)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* option to enabled/disable .ts file extensions on import statements ([c6a423e](https://github.com/crowbait/typespec-typescript-emitter/commit/c6a423e73139a35b36f8c413431f408a09dd9d89))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
# [2.1.0](https://github.com/crowbait/typespec-typescript-emitter/compare/v2.0.1...v2.1.0) (2025-12-18)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* overridable types + typeguards, closes [#15](https://github.com/crowbait/typespec-typescript-emitter/issues/15) ([71a6fef](https://github.com/crowbait/typespec-typescript-emitter/commit/71a6fef82569a4d378e1ba3c4e9dd94a2e6ccc80))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
1
19
|
## [2.0.1](https://github.com/crowbait/typespec-typescript-emitter/compare/v1.3.0...v2.0.1) (2025-11-30)
|
|
2
20
|
|
|
3
21
|
|
|
@@ -26,17 +44,3 @@
|
|
|
26
44
|
|
|
27
45
|
|
|
28
46
|
|
|
29
|
-
# [1.2.0](https://github.com/crowbait/typespec-typescript-emitter/compare/v1.1.2...v1.2.0) (2025-11-18)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
### Features
|
|
33
|
-
|
|
34
|
-
* serializable-date-types ([ba4775d](https://github.com/crowbait/typespec-typescript-emitter/commit/ba4775d2292dcec4436470b19e9c1aea3b9b3e70))
|
|
35
|
-
* string-nominal-enums ([a0b572c](https://github.com/crowbait/typespec-typescript-emitter/commit/a0b572c2f19baa5d100663458f2ea1ad182b4323))
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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,9 @@ 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)
|
|
71
|
+
- `import-file-extensions` (default: false): if true, import statements get the `.ts` extension, otherwise, the file extension is omitted for import statements.
|
|
68
72
|
|
|
69
73
|
## Emitter: Types
|
|
70
74
|
|
|
@@ -289,6 +293,35 @@ export enum Status {
|
|
|
289
293
|
}
|
|
290
294
|
```
|
|
291
295
|
|
|
296
|
+
### Overriding Types & Typeguards
|
|
297
|
+
|
|
298
|
+
Using the configuration options `type-mappings` and `typeguard-mappings`, you can override the type(guard) resolution for specific types.
|
|
299
|
+
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:
|
|
300
|
+
|
|
301
|
+
```yml
|
|
302
|
+
type-mappings:
|
|
303
|
+
"myModel/overriddenProperty": "number"
|
|
304
|
+
"myNamespace/myModel/overriddenProperty": "string"
|
|
305
|
+
"Overridden": "'stringLiteral'"
|
|
306
|
+
"myNamespace/OverriddenModel": "{a: string}"
|
|
307
|
+
typeguard-mappings:
|
|
308
|
+
"Overridden": "typeof t === 'string'"
|
|
309
|
+
"myNamespace/OverriddenModel": "t['a'] !== undefined && typeof t['a'] === 'string'"
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
This example config does the following:
|
|
313
|
+
|
|
314
|
+
- any property `overriddenProperty` on any model `myModel` will resolve to `number`
|
|
315
|
+
- any property `overriddenProperty` on any model `myModel` that is an immediate child of `myNamespace` will resolve to `string`
|
|
316
|
+
- any type named `Overridden` will resolve to `'stringLiteral'`
|
|
317
|
+
- its typeguard resolves to `typeof t === 'string'`
|
|
318
|
+
- any type named `OverriddenModel` that is an immediate child of `myNamespace` will resolve to `{a: string}`
|
|
319
|
+
- its typeguard resolves to `t['a'] !== undefined && typeof t['a'] === 'string'`
|
|
320
|
+
|
|
321
|
+
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).
|
|
322
|
+
|
|
323
|
+
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.
|
|
324
|
+
|
|
292
325
|
## Emitter: Routes
|
|
293
326
|
|
|
294
327
|
When enabled, this emitter will traverse your program to find all operations (`op`).
|
|
@@ -49,9 +49,9 @@ export const emitRoutedTypemap = async (program, options, typemap) => {
|
|
|
49
49
|
}
|
|
50
50
|
// emitting
|
|
51
51
|
for (const ns of Object.entries(namespaceOps)) {
|
|
52
|
-
const importStrings = getImports(unique2D(namespaceImports[ns[0]]));
|
|
52
|
+
const importStrings = getImports(unique2D(namespaceImports[ns[0]]), options["import-file-extensions"]);
|
|
53
53
|
if (ns[1].hasVisibility) {
|
|
54
|
-
importStrings.push(`import {Lifecycle, FilterLifecycle} from './${visibilityHelperFileName}';`);
|
|
54
|
+
importStrings.push(`import {Lifecycle, FilterLifecycle} from './${visibilityHelperFileName(options["import-file-extensions"])}';`);
|
|
55
55
|
}
|
|
56
56
|
let out = `export type types_${ns[0]}${ns[1].hasVisibility ? "<V extends Lifecycle = Lifecycle.All>" : ""} = {\n`;
|
|
57
57
|
out += Object.entries(ns[1].ops)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit_routedTypemap.js","sourceRoot":"","sources":["../../src/emit_routedTypemap.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"emit_routedTypemap.js","sourceRoot":"","sources":["../../src/emit_routedTypemap.ts"],"names":[],"mappings":"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"}
|
package/dist/src/emit_types.js
CHANGED
|
@@ -14,8 +14,8 @@ export const emitTypes = async (program, options, typemap) => {
|
|
|
14
14
|
const imports = {};
|
|
15
15
|
// generate files
|
|
16
16
|
typemap.forEach((t) => {
|
|
17
|
-
files[filenameFromNamespaces(t.namespaces)] = new AppendableString();
|
|
18
|
-
imports[filenameFromNamespaces(t.namespaces)] = {
|
|
17
|
+
files[filenameFromNamespaces(t.namespaces, true)] = new AppendableString();
|
|
18
|
+
imports[filenameFromNamespaces(t.namespaces, true)] = {
|
|
19
19
|
namespaces: [],
|
|
20
20
|
lifecycleTypes: [],
|
|
21
21
|
};
|
|
@@ -25,7 +25,7 @@ export const emitTypes = async (program, options, typemap) => {
|
|
|
25
25
|
// resolve all types
|
|
26
26
|
for (let i = 0; i < typemap.length; i++) {
|
|
27
27
|
const t = typemap[i];
|
|
28
|
-
const filename = filenameFromNamespaces(t.namespaces);
|
|
28
|
+
const filename = filenameFromNamespaces(t.namespaces, true);
|
|
29
29
|
const resolved = await Resolvable.resolve(Resolver.Type, t.type, {
|
|
30
30
|
program,
|
|
31
31
|
options,
|
|
@@ -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) {
|
|
@@ -102,9 +104,10 @@ export const emitTypes = async (program, options, typemap) => {
|
|
|
102
104
|
continue;
|
|
103
105
|
const filename = filesArr[i][0];
|
|
104
106
|
imports[filename].namespaces = unique2D(imports[filename].namespaces);
|
|
105
|
-
const importStrings = getImports(imports[filename].namespaces.filter((i) => filenameFromNamespaces(i) !==
|
|
107
|
+
const importStrings = getImports(imports[filename].namespaces.filter((i) => filenameFromNamespaces(i, options["import-file-extensions"]) !==
|
|
108
|
+
filename), options["import-file-extensions"]);
|
|
106
109
|
if (imports[filename].lifecycleTypes.length > 0) {
|
|
107
|
-
importStrings.push(`import {${[...new Set(imports[filename].lifecycleTypes)].join(", ")}} from './${visibilityHelperFileName}';`); // unique-ify
|
|
110
|
+
importStrings.push(`import {${[...new Set(imports[filename].lifecycleTypes)].join(", ")}} from './${visibilityHelperFileName(options["import-file-extensions"])}';`); // unique-ify
|
|
108
111
|
}
|
|
109
112
|
const content = `/* eslint-disable */\n\n${autogenerateWarning}${importStrings.join("\n")}${importStrings.length > 0 ? "\n\n" : ""}${filesArr[i][1].value}`;
|
|
110
113
|
await emitFile(program, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit_types.js","sourceRoot":"","sources":["../../src/emit_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,WAAW,EAAQ,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,OAAgB,EAChB,OAAuB,EACvB,OAAiB,EACF,EAAE;IACjB,mCAAmC;IACnC,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,8CAA8C;IAC9C,MAAM,OAAO,GAMT,EAAE,CAAC;IAEP,iBAAiB;IACjB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"emit_types.js","sourceRoot":"","sources":["../../src/emit_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TTypeMap } from "./buildTypeMap.js";
|
|
2
|
-
export declare const getImports: (imports: TTypeMap[number]["namespaces"][]) => string[];
|
|
2
|
+
export declare const getImports: (imports: TTypeMap[number]["namespaces"][], includeExtension: boolean) => string[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { filenameFromNamespaces } from "./namespaces.js";
|
|
2
|
-
export const getImports = (imports) => imports.map((i) => `import * as ${i.join("_")} from './${filenameFromNamespaces(i)}';`);
|
|
2
|
+
export const getImports = (imports, includeExtension) => imports.map((i) => `import * as ${i.join("_")} from './${filenameFromNamespaces(i, includeExtension)}';`);
|
|
3
3
|
//# sourceMappingURL=getImports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getImports.js","sourceRoot":"","sources":["../../../src/helpers/getImports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAyC,
|
|
1
|
+
{"version":3,"file":"getImports.js","sourceRoot":"","sources":["../../../src/helpers/getImports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAyC,EACzC,gBAAyB,EACf,EAAE,CACZ,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,sBAAsB,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,CACxF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Namespace } from "@typespec/compiler";
|
|
2
2
|
/** Traverses *up* a namespace, generating a hierarchy array from itself and its parents. */
|
|
3
3
|
export declare const namespaceListFromNamespace: (n: Namespace | undefined) => string[] | null;
|
|
4
|
-
export declare const filenameFromNamespaces: (ns: string[]) => string;
|
|
4
|
+
export declare const filenameFromNamespaces: (ns: string[], includeExtension: boolean) => string;
|
|
@@ -10,5 +10,5 @@ export const namespaceListFromNamespace = (n) => {
|
|
|
10
10
|
}
|
|
11
11
|
return ret;
|
|
12
12
|
};
|
|
13
|
-
export const filenameFromNamespaces = (ns) => `${ns.join(".")}.ts`;
|
|
13
|
+
export const filenameFromNamespaces = (ns, includeExtension) => `${ns.join(".")}${includeExtension ? ".ts" : ""}`;
|
|
14
14
|
//# sourceMappingURL=namespaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../../src/helpers/namespaces.ts"],"names":[],"mappings":"AAEA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,CAAwB,EACP,EAAE;IACnB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,GAAG,GAA0B,CAAC,CAAC;IACnC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../../src/helpers/namespaces.ts"],"names":[],"mappings":"AAEA,4FAA4F;AAC5F,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,CAAwB,EACP,EAAE;IACnB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,GAAG,GAA0B,CAAC,CAAC;IACnC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,EAAY,EACZ,gBAAyB,EACjB,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Program } from "@typespec/compiler";
|
|
2
2
|
import { EmitterOptions } from "../lib.js";
|
|
3
|
-
export declare const visibilityHelperFileName
|
|
3
|
+
export declare const visibilityHelperFileName: (includeExtension: boolean) => string;
|
|
4
4
|
export declare const emitVisibilityHelperFile: (program: Program, options: EmitterOptions) => Promise<void>;
|
|
@@ -47,10 +47,10 @@ export type FilterLifecycle<
|
|
|
47
47
|
: T[K]
|
|
48
48
|
}
|
|
49
49
|
`;
|
|
50
|
-
export const visibilityHelperFileName = "
|
|
50
|
+
export const visibilityHelperFileName = (includeExtension) => `lifecycleVisibility${includeExtension ? ".ts" : ""}`;
|
|
51
51
|
export const emitVisibilityHelperFile = async (program, options) => {
|
|
52
52
|
await emitFile(program, {
|
|
53
|
-
path: resolvePath(options["out-dir"], visibilityHelperFileName),
|
|
53
|
+
path: resolvePath(options["out-dir"], visibilityHelperFileName(true)),
|
|
54
54
|
content: visibilityHelperFile,
|
|
55
55
|
});
|
|
56
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibilityHelperFile.js","sourceRoot":"","sources":["../../../src/helpers/visibilityHelperFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGpE,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C5B,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,
|
|
1
|
+
{"version":3,"file":"visibilityHelperFile.js","sourceRoot":"","sources":["../../../src/helpers/visibilityHelperFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGpE,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C5B,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,gBAAyB,EAAE,EAAE,CACpE,sBAAsB,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAExD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,OAAgB,EAChB,OAAuB,EACR,EAAE;IACjB,MAAM,QAAQ,CAAC,OAAO,EAAE;QACtB,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,EAAE,oBAAoB;KAC9B,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ 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>;
|
|
13
|
+
"import-file-extensions": boolean;
|
|
11
14
|
}
|
|
12
15
|
/** Maps option to its default value and options that must be set to `true` for this one to work */
|
|
13
16
|
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,20 @@ 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
|
+
},
|
|
23
|
+
"import-file-extensions": { type: "boolean" },
|
|
14
24
|
},
|
|
15
25
|
required: ["root-namespaces"],
|
|
26
|
+
additionalProperties: false,
|
|
16
27
|
};
|
|
17
28
|
/** Maps option to its default value and options that must be set to `true` for this one to work */
|
|
18
29
|
export const optionDependencies = (context) => ({
|
|
@@ -24,6 +35,9 @@ export const optionDependencies = (context) => ({
|
|
|
24
35
|
["serializable-date-types"]: [false, []],
|
|
25
36
|
["enable-typeguards"]: [false, ["enable-types"]],
|
|
26
37
|
["enable-routed-typemap"]: [false, ["enable-types"]],
|
|
38
|
+
["type-mappings"]: [{}, []],
|
|
39
|
+
["typeguard-mappings"]: [{}, []],
|
|
40
|
+
["import-file-extensions"]: [false, []],
|
|
27
41
|
});
|
|
28
42
|
export const $lib = createTypeSpecLibrary({
|
|
29
43
|
name: "typespec-typescript-emitter",
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,oBAAoB,CAAC;AAgB5B,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;QACD,wBAAwB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC9C;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;IAEhC,CAAC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;CACxC,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>,
|
|
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,
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,QAAQ,GAGT,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAgB,UAAU;IAC9B,mCAAmC;IACnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,CAAI,EACJ,CAAO,EACP,IAAwB;QAExB,MAAM,GAAG,GAAsB;YAC7B,QAAQ,EAAE,IAAI,gBAAgB,EAAE;YAChC,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,KAAK;YACpB,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,aAAa,CAC3B,CAAO,EACP,IAAwB,EACxB,GAAsB,
|
|
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;
|
|
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":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAenD,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,OAAgB,EAChB,OAAuB,EACvB,OAAiB,EACjB,EAAa,EAIZ,EAAE;IACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,GAAG,GAAwD;QAC/D,KAAK,EAAE;YACL,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE;YAClD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SAC1B;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,UAAU;IACV,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CACvC,QAAQ,CAAC,IAAI,EACb,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAC3B;YACE,OAAO;YACP,OAAO;YACP,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,aAAa,EAAE,IAAI;
|
|
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();
|