@typespec/compiler 1.0.0-rc.1-dev.10 → 1.0.0-rc.1-dev.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/manifest.js +2 -2
- package/dist/src/experimental/typekit/create-diagnosable.d.ts +35 -0
- package/dist/src/experimental/typekit/create-diagnosable.d.ts.map +1 -0
- package/dist/src/experimental/typekit/create-diagnosable.js +20 -0
- package/dist/src/experimental/typekit/create-diagnosable.js.map +1 -0
- package/dist/src/experimental/typekit/index.d.ts +1 -0
- package/dist/src/experimental/typekit/index.d.ts.map +1 -1
- package/dist/src/experimental/typekit/index.js +21 -1
- package/dist/src/experimental/typekit/index.js.map +1 -1
- package/dist/src/experimental/typekit/kits/model.d.ts +2 -1
- package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/model.js +5 -5
- package/dist/src/experimental/typekit/kits/model.js.map +1 -1
- package/dist/src/experimental/typekit/kits/operation.d.ts +2 -1
- package/dist/src/experimental/typekit/kits/operation.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/operation.js +4 -4
- package/dist/src/experimental/typekit/kits/operation.js.map +1 -1
- package/dist/src/experimental/typekit/kits/resolve.d.ts +20 -0
- package/dist/src/experimental/typekit/kits/resolve.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/resolve.js +9 -0
- package/dist/src/experimental/typekit/kits/resolve.js.map +1 -0
- package/dist/src/experimental/typekit/kits/union.d.ts +2 -1
- package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/union.js +4 -3
- package/dist/src/experimental/typekit/kits/union.js.map +1 -1
- package/package.json +1 -1
package/dist/manifest.js
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type Diagnostic } from "../../core/types.js";
|
|
2
|
+
import { Typekit } from "./define-kit.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a function that can return diagnostics along with its primary result.
|
|
5
|
+
* @template P The parameters of the function.
|
|
6
|
+
* @template R The primary return type of the function.
|
|
7
|
+
*/
|
|
8
|
+
export type DiagnosableFunction<P extends unknown[], R> = (...args: P) => [R, readonly Diagnostic[]];
|
|
9
|
+
/**
|
|
10
|
+
* Represents the enhanced function returned by `createDiagnosable`.
|
|
11
|
+
* This function, when called directly, ignores diagnostics.
|
|
12
|
+
* It also has a `withDiagnostics` method to access the original function's behavior.
|
|
13
|
+
* @template P The parameters of the function.
|
|
14
|
+
* @template R The primary return type of the function.
|
|
15
|
+
*/
|
|
16
|
+
export type Diagnosable<F> = F extends (...args: infer P extends unknown[]) => infer R ? {
|
|
17
|
+
(...args: P): R;
|
|
18
|
+
/**
|
|
19
|
+
* Returns a tuple of its primary result and any diagnostics.
|
|
20
|
+
*/
|
|
21
|
+
withDiagnostics: DiagnosableFunction<P, R>;
|
|
22
|
+
} : never;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a diagnosable function wrapper.
|
|
25
|
+
*
|
|
26
|
+
* The returned function will ignore diagnostics by default.
|
|
27
|
+
* A `withDiagnostics` property is attached to the returned function,
|
|
28
|
+
* allowing access to the original function's return value including diagnostics.
|
|
29
|
+
*
|
|
30
|
+
* @param fn The function to wrap, which must return a tuple `[Result, readonly Diagnostic[]]`.
|
|
31
|
+
* @returns A function that ignores diagnostics by default, with a `withDiagnostics` method.
|
|
32
|
+
* @experimental
|
|
33
|
+
*/
|
|
34
|
+
export declare function createDiagnosable<P extends unknown[], R>(fn: (this: Typekit, ...args: P) => [R, readonly Diagnostic[]]): Diagnosable<(...args: P) => R>;
|
|
35
|
+
//# sourceMappingURL=create-diagnosable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-diagnosable.d.ts","sourceRoot":"","sources":["../../../../src/experimental/typekit/create-diagnosable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,IAAI,CACxD,GAAG,IAAI,EAAE,CAAC,KACP,CAAC,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,SAAS,OAAO,EAAE,KAAK,MAAM,CAAC,GAClF;IACE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB;;OAEG;IACH,eAAe,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC5C,GACD,KAAK,CAAC;AAEV;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACtD,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC,GAC5D,WAAW,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAQhC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ignoreDiagnostics } from "../../core/diagnostics.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a diagnosable function wrapper.
|
|
4
|
+
*
|
|
5
|
+
* The returned function will ignore diagnostics by default.
|
|
6
|
+
* A `withDiagnostics` property is attached to the returned function,
|
|
7
|
+
* allowing access to the original function's return value including diagnostics.
|
|
8
|
+
*
|
|
9
|
+
* @param fn The function to wrap, which must return a tuple `[Result, readonly Diagnostic[]]`.
|
|
10
|
+
* @returns A function that ignores diagnostics by default, with a `withDiagnostics` method.
|
|
11
|
+
* @experimental
|
|
12
|
+
*/
|
|
13
|
+
export function createDiagnosable(fn) {
|
|
14
|
+
function wrapper(...args) {
|
|
15
|
+
return ignoreDiagnostics(fn.apply(this, args));
|
|
16
|
+
}
|
|
17
|
+
wrapper.withDiagnostics = fn;
|
|
18
|
+
return wrapper;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=create-diagnosable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-diagnosable.js","sourceRoot":"","sources":["../../../../src/experimental/typekit/create-diagnosable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA8B9D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,EAA6D;IAE7D,SAAS,OAAO,CAAgB,GAAG,IAAO;QACxC,OAAO,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;IAE7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/experimental/typekit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAA4C,MAAM,iBAAiB,CAAC;AAEpF,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/experimental/typekit/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAA4C,MAAM,iBAAiB,CAAC;AAEpF,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CA2DnD;AAeD,iBAAS,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;AACnC,iBAAS,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;AAiBvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,CAAC,WAAK,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Realm } from "../realm.js";
|
|
2
2
|
import { TypekitNamespaceSymbol, TypekitPrototype } from "./define-kit.js";
|
|
3
|
+
export * from "./create-diagnosable.js";
|
|
3
4
|
export * from "./define-kit.js";
|
|
4
5
|
export * from "./kits/index.js";
|
|
5
6
|
/**
|
|
@@ -27,9 +28,28 @@ export function createTypekit(realm) {
|
|
|
27
28
|
const value = Reflect.get(target, prop, receiver);
|
|
28
29
|
// Wrap functions to set `this` correctly
|
|
29
30
|
if (typeof value === "function") {
|
|
30
|
-
|
|
31
|
+
const proxyWrapper = function (...args) {
|
|
32
|
+
// Call the original function (`value`) with the correct `this` (the proxy)
|
|
31
33
|
return value.apply(proxy, args);
|
|
32
34
|
};
|
|
35
|
+
// functions may also have properties added to them, like in the case of `withDiagnostics`.
|
|
36
|
+
// Copy enumerable properties from the original function (`value`) to the wrapper
|
|
37
|
+
for (const propName of Object.keys(value)) {
|
|
38
|
+
const originalPropValue = value[propName];
|
|
39
|
+
if (typeof originalPropValue === "function") {
|
|
40
|
+
// If the property is a function, wrap it to ensure `this` is bound correctly
|
|
41
|
+
proxyWrapper[propName] = function (...args) {
|
|
42
|
+
// Call the original property function with `this` bound to the proxy
|
|
43
|
+
return originalPropValue.apply(proxy, args);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// If the property is not a function, copy it directly
|
|
48
|
+
// Use Reflect.defineProperty to handle potential getters/setters correctly, though Object.keys usually only returns data properties.
|
|
49
|
+
Reflect.defineProperty(proxyWrapper, propName, Reflect.getOwnPropertyDescriptor(value, propName));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return proxyWrapper;
|
|
33
53
|
}
|
|
34
54
|
// Only wrap objects marked as Typekit namespaces
|
|
35
55
|
if (typeof value === "object" && value !== null && isTypekitNamespace(value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/experimental/typekit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAW,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpF,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,KAAY;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE3C,MAAM,OAAO,GAA0B;QACrC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,qFAAqF;gBACrF,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAElD,yCAAyC;YACzC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/experimental/typekit/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DiscriminatedUnionLegacy } from "../../../core/helpers/discriminator-utils.js";
|
|
2
2
|
import type { Model, ModelIndexer, ModelProperty, RekeyableMap, SourceModel, Type } from "../../../core/types.js";
|
|
3
|
+
import { Diagnosable } from "../create-diagnosable.js";
|
|
3
4
|
import { DecoratorArgs } from "../utils.js";
|
|
4
5
|
/**
|
|
5
6
|
* A descriptor for creating a model.
|
|
@@ -100,7 +101,7 @@ export interface ModelKit {
|
|
|
100
101
|
* Resolves a discriminated union for the given model from inheritance.
|
|
101
102
|
* @param type Model to resolve the discriminated union for.
|
|
102
103
|
*/
|
|
103
|
-
getDiscriminatedUnion(model: Model)
|
|
104
|
+
getDiscriminatedUnion: Diagnosable<(model: Model) => DiscriminatedUnionLegacy | undefined>;
|
|
104
105
|
}
|
|
105
106
|
interface TypekitExtension {
|
|
106
107
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EAEzB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,IAAI,EACL,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAiC,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE1C;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC;IAErC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC;IAE9B;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAElC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,OAAO,GAAG,KAAK,CAAC;IAEtF;;;OAGG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,SAAS,CAAC;IAClD;;;OAGG;IACH,aAAa,CACX,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GACtC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC;;;;;;;;;OASG;IACH,6BAA6B,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/D;;;OAGG;IACH,qBAAqB,EAAE,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,wBAAwB,GAAG,SAAS,CAAC,CAAC;CAC5F;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getEffectiveModelType } from "../../../core/checker.js";
|
|
2
|
-
import { ignoreDiagnostics } from "../../../core/diagnostics.js";
|
|
3
2
|
import { getDiscriminatedUnionFromInheritance, } from "../../../core/helpers/discriminator-utils.js";
|
|
4
3
|
import { getDiscriminator } from "../../../core/intrinsic-type-state.js";
|
|
5
4
|
import { createRekeyableMap } from "../../../utils/misc.js";
|
|
5
|
+
import { createDiagnosable } from "../create-diagnosable.js";
|
|
6
6
|
import { defineKit } from "../define-kit.js";
|
|
7
7
|
import { copyMap, decoratorApplication } from "../utils.js";
|
|
8
8
|
const spreadCache = new Map();
|
|
@@ -92,13 +92,13 @@ defineKit({
|
|
|
92
92
|
}
|
|
93
93
|
return undefined;
|
|
94
94
|
},
|
|
95
|
-
getDiscriminatedUnion(model) {
|
|
95
|
+
getDiscriminatedUnion: createDiagnosable(function (model) {
|
|
96
96
|
const discriminator = getDiscriminator(this.program, model);
|
|
97
97
|
if (!discriminator) {
|
|
98
|
-
return undefined;
|
|
98
|
+
return [undefined, []];
|
|
99
99
|
}
|
|
100
|
-
return
|
|
101
|
-
},
|
|
100
|
+
return getDiscriminatedUnionFromInheritance(model, discriminator);
|
|
101
|
+
}),
|
|
102
102
|
},
|
|
103
103
|
});
|
|
104
104
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ModelProperty, Operation, Type } from "../../../core/types.js";
|
|
2
2
|
import { PagingOperation } from "../../../lib/paging.js";
|
|
3
|
+
import { Diagnosable } from "../create-diagnosable.js";
|
|
3
4
|
/**
|
|
4
5
|
* A descriptor for an operation.
|
|
5
6
|
* @experimental
|
|
@@ -38,7 +39,7 @@ export interface OperationKit {
|
|
|
38
39
|
* Get the paging operation's metadata for an operation.
|
|
39
40
|
* @param operation operation to get the paging operation for
|
|
40
41
|
*/
|
|
41
|
-
getPagingMetadata(operation: Operation)
|
|
42
|
+
getPagingMetadata: Diagnosable<(operation: Operation) => PagingOperation | undefined>;
|
|
42
43
|
}
|
|
43
44
|
interface TypekitExtension {
|
|
44
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/operation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAsB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG1E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,aAAa,EAAE,CAAC;IAE5B;;OAEG;IACH,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,SAAS,CAAC;IAClC;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAC,CAAC,SAAS,EAAE,SAAS,KAAK,eAAe,GAAG,SAAS,CAAC,CAAC;CACvF;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ignoreDiagnostics } from "../../../core/diagnostics.js";
|
|
2
1
|
import { getPagingOperation } from "../../../lib/paging.js";
|
|
2
|
+
import { createDiagnosable } from "../create-diagnosable.js";
|
|
3
3
|
import { defineKit } from "../define-kit.js";
|
|
4
4
|
defineKit({
|
|
5
5
|
operation: {
|
|
6
6
|
is(type) {
|
|
7
7
|
return type.kind === "Operation";
|
|
8
8
|
},
|
|
9
|
-
getPagingMetadata(operation) {
|
|
10
|
-
return
|
|
11
|
-
},
|
|
9
|
+
getPagingMetadata: createDiagnosable(function (operation) {
|
|
10
|
+
return getPagingOperation(this.program, operation);
|
|
11
|
+
}),
|
|
12
12
|
create(desc) {
|
|
13
13
|
const parametersModel = this.model.create({
|
|
14
14
|
name: `${desc.name}Parameters`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/operation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/operation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAmB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA0D7C,SAAS,CAAmB;IAC1B,SAAS,EAAE;QACT,EAAE,CAAC,IAAU;YACX,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACnC,CAAC;QACD,iBAAiB,EAAE,iBAAiB,CAAC,UAAU,SAAS;YACtD,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;QACF,MAAM,CAAC,IAAI;YACT,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACxC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY;gBAC9B,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;oBAChB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;oBAC9B,OAAO,GAAG,CAAC;gBACb,CAAC,EACD,EAAmC,CACpC;aACF,CAAC,CAAC;YACH,MAAM,SAAS,GAAc,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC3D,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3C,OAAO,SAAS,CAAC;QACnB,CAAC;KACF;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Type } from "../../../core/types.js";
|
|
2
|
+
import { Diagnosable } from "../create-diagnosable.js";
|
|
3
|
+
export type ResolveKit = Diagnosable<(reference: string) => Type | undefined>;
|
|
4
|
+
interface TypekitExtension {
|
|
5
|
+
/**
|
|
6
|
+
* Resolve a type reference string to a TypeSpec type.
|
|
7
|
+
* By default any diagnostics are ignored.
|
|
8
|
+
*
|
|
9
|
+
* Call `resolve.withDiagnostics("Type")` to get a tuple containing the resolved type and any diagnostics.
|
|
10
|
+
*
|
|
11
|
+
* @experimental
|
|
12
|
+
*/
|
|
13
|
+
resolve: ResolveKit;
|
|
14
|
+
}
|
|
15
|
+
declare module "../define-kit.js" {
|
|
16
|
+
interface Typekit extends TypekitExtension {
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG1E,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC,CAAC;AAE9E,UAAU,gBAAgB;IACxB;;;;;;;OAOG;IACH,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createDiagnosable } from "../create-diagnosable.js";
|
|
2
|
+
import { defineKit } from "../define-kit.js";
|
|
3
|
+
defineKit({
|
|
4
|
+
resolve: createDiagnosable(function (reference) {
|
|
5
|
+
// Directly use the program's resolveTypeReference method
|
|
6
|
+
return this.program.resolveTypeReference(reference);
|
|
7
|
+
}),
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/resolve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAoB7C,SAAS,CAAmB;IAC1B,OAAO,EAAE,iBAAiB,CAAC,UAAU,SAAS;QAC5C,yDAAyD;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DiscriminatedUnion } from "../../../core/helpers/discriminator-utils.js";
|
|
2
2
|
import type { Enum, Type, Union, UnionVariant } from "../../../core/types.js";
|
|
3
|
+
import { Diagnosable } from "../create-diagnosable.js";
|
|
3
4
|
import { DecoratorArgs } from "../utils.js";
|
|
4
5
|
/**
|
|
5
6
|
* A descriptor for a union type.
|
|
@@ -80,7 +81,7 @@ export interface UnionKit {
|
|
|
80
81
|
* Resolves a discriminated union for the given union.
|
|
81
82
|
* @param type Union to resolve the discriminated union for.
|
|
82
83
|
*/
|
|
83
|
-
getDiscriminatedUnion(type: Union)
|
|
84
|
+
getDiscriminatedUnion: Diagnosable<(type: Union) => DiscriminatedUnion | undefined>;
|
|
84
85
|
}
|
|
85
86
|
interface TypekitExtension {
|
|
86
87
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAEnB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAEnB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,EAAqB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE1E,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;CACtE;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,GAAG,KAAK,CAAC;IAC1E;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC;IAErC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAAC;IAElC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAElC;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACnC;;;OAGG;IACH,qBAAqB,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,kBAAkB,GAAG,SAAS,CAAC,CAAC;CACrF;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C;AAED,eAAO,MAAM,QAAQ,MA0GnB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { ignoreDiagnostics } from "../../../core/diagnostics.js";
|
|
|
2
2
|
import { getDiscriminatedUnion, } from "../../../core/helpers/discriminator-utils.js";
|
|
3
3
|
import { $doc, getDoc } from "../../../lib/decorators.js";
|
|
4
4
|
import { createRekeyableMap } from "../../../utils/misc.js";
|
|
5
|
+
import { createDiagnosable } from "../create-diagnosable.js";
|
|
5
6
|
import { defineKit } from "../define-kit.js";
|
|
6
7
|
import { decoratorApplication } from "../utils.js";
|
|
7
8
|
export const UnionKit = defineKit({
|
|
@@ -88,9 +89,9 @@ export const UnionKit = defineKit({
|
|
|
88
89
|
isExpression(type) {
|
|
89
90
|
return type.name === undefined || type.name === "";
|
|
90
91
|
},
|
|
91
|
-
getDiscriminatedUnion(type) {
|
|
92
|
-
return
|
|
93
|
-
},
|
|
92
|
+
getDiscriminatedUnion: createDiagnosable(function (type) {
|
|
93
|
+
return getDiscriminatedUnion(this.program, type);
|
|
94
|
+
}),
|
|
94
95
|
},
|
|
95
96
|
});
|
|
96
97
|
//# sourceMappingURL=union.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/union.ts"],"names":[],"mappings":"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"}
|