@typespec/compiler 0.66.0-dev.2 → 0.66.0-dev.25
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/generated-defs/TypeSpec.d.ts +61 -6
- package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
- package/dist/manifest.js +2 -2
- package/dist/src/core/checker.d.ts +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +124 -50
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/cli/actions/compile/args.d.ts +1 -0
- package/dist/src/core/cli/actions/compile/args.d.ts.map +1 -1
- package/dist/src/core/cli/actions/compile/args.js +3 -0
- package/dist/src/core/cli/actions/compile/args.js.map +1 -1
- package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -1
- package/dist/src/core/cli/actions/compile/compile.js +4 -1
- package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
- package/dist/src/core/cli/actions/info.js +2 -2
- package/dist/src/core/cli/actions/info.js.map +1 -1
- package/dist/src/core/cli/cli.js +7 -3
- package/dist/src/core/cli/cli.js.map +1 -1
- package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.d.ts +6 -0
- package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.d.ts.map +1 -0
- package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.js +15 -0
- package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.js.map +1 -0
- package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.d.ts +6 -0
- package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.d.ts.map +1 -0
- package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.js +45 -0
- package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.js.map +1 -0
- package/dist/src/core/decorator-utils.d.ts.map +1 -1
- package/dist/src/core/decorator-utils.js +6 -0
- package/dist/src/core/decorator-utils.js.map +1 -1
- package/dist/src/core/emitter-utils.d.ts +1 -0
- package/dist/src/core/emitter-utils.d.ts.map +1 -1
- package/dist/src/core/emitter-utils.js +6 -1
- package/dist/src/core/emitter-utils.js.map +1 -1
- package/dist/src/core/helpers/discriminator-utils.d.ts +16 -2
- package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/discriminator-utils.js +80 -10
- package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
- package/dist/src/core/helpers/index.d.ts +1 -1
- package/dist/src/core/helpers/index.d.ts.map +1 -1
- package/dist/src/core/helpers/index.js +1 -1
- package/dist/src/core/helpers/index.js.map +1 -1
- package/dist/src/core/install.d.ts +1 -1
- package/dist/src/core/install.d.ts.map +1 -1
- package/dist/src/core/install.js +22 -6
- package/dist/src/core/install.js.map +1 -1
- package/dist/src/core/intrinsic-type-state.d.ts +2 -0
- package/dist/src/core/intrinsic-type-state.d.ts.map +1 -1
- package/dist/src/core/intrinsic-type-state.js +2 -0
- package/dist/src/core/intrinsic-type-state.js.map +1 -1
- package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts +2 -0
- package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts.map +1 -0
- package/dist/src/core/linter-rules/unused-template-parameter.rule.js +36 -0
- package/dist/src/core/linter-rules/unused-template-parameter.rule.js.map +1 -0
- package/dist/src/core/linter-rules/unused-using.rule.d.ts +2 -0
- package/dist/src/core/linter-rules/unused-using.rule.d.ts.map +1 -0
- package/dist/src/core/linter-rules/unused-using.rule.js +38 -0
- package/dist/src/core/linter-rules/unused-using.rule.js.map +1 -0
- package/dist/src/core/linter.d.ts +10 -2
- package/dist/src/core/linter.d.ts.map +1 -1
- package/dist/src/core/linter.js +18 -2
- package/dist/src/core/linter.js.map +1 -1
- package/dist/src/core/logger/console-sink.browser.d.ts.map +1 -1
- package/dist/src/core/logger/console-sink.browser.js +16 -0
- package/dist/src/core/logger/console-sink.browser.js.map +1 -1
- package/dist/src/core/logger/console-sink.d.ts +2 -0
- package/dist/src/core/logger/console-sink.d.ts.map +1 -1
- package/dist/src/core/logger/console-sink.js +49 -0
- package/dist/src/core/logger/console-sink.js.map +1 -1
- package/dist/src/core/logger/logger.d.ts.map +1 -1
- package/dist/src/core/logger/logger.js +1 -0
- package/dist/src/core/logger/logger.js.map +1 -1
- package/dist/src/core/messages.d.ts +88 -7
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +22 -1
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/name-resolver.d.ts +3 -1
- package/dist/src/core/name-resolver.d.ts.map +1 -1
- package/dist/src/core/name-resolver.js +40 -1
- package/dist/src/core/name-resolver.js.map +1 -1
- package/dist/src/core/options.d.ts +4 -0
- package/dist/src/core/options.d.ts.map +1 -1
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +59 -32
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/types.d.ts +1 -0
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/visibility/core.d.ts +2 -2
- package/dist/src/core/visibility/core.d.ts.map +1 -1
- package/dist/src/core/visibility/core.js +4 -3
- package/dist/src/core/visibility/core.js.map +1 -1
- package/dist/src/experimental/typekit/define-kit.d.ts +1 -0
- package/dist/src/experimental/typekit/define-kit.d.ts.map +1 -1
- package/dist/src/experimental/typekit/define-kit.js +14 -1
- package/dist/src/experimental/typekit/define-kit.js.map +1 -1
- package/dist/src/experimental/typekit/index.d.ts.map +1 -1
- package/dist/src/experimental/typekit/index.js +9 -3
- package/dist/src/experimental/typekit/index.js.map +1 -1
- package/dist/src/experimental/typekit/kits/array.d.ts +28 -0
- package/dist/src/experimental/typekit/kits/array.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/array.js +26 -0
- package/dist/src/experimental/typekit/kits/array.js.map +1 -0
- package/dist/src/experimental/typekit/kits/builtin.d.ts +117 -0
- package/dist/src/experimental/typekit/kits/builtin.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/builtin.js +81 -0
- package/dist/src/experimental/typekit/kits/builtin.js.map +1 -0
- package/dist/src/experimental/typekit/kits/enum-member.d.ts +52 -0
- package/dist/src/experimental/typekit/kits/enum-member.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/enum-member.js +22 -0
- package/dist/src/experimental/typekit/kits/enum-member.js.map +1 -0
- package/dist/src/experimental/typekit/kits/enum.d.ts +54 -0
- package/dist/src/experimental/typekit/kits/enum.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/enum.js +47 -0
- package/dist/src/experimental/typekit/kits/enum.js.map +1 -0
- package/dist/src/experimental/typekit/kits/index.d.ts +7 -0
- package/dist/src/experimental/typekit/kits/index.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/index.js +7 -0
- package/dist/src/experimental/typekit/kits/index.js.map +1 -1
- package/dist/src/experimental/typekit/kits/model-property.d.ts +29 -1
- package/dist/src/experimental/typekit/kits/model-property.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/model-property.js +11 -0
- package/dist/src/experimental/typekit/kits/model-property.js.map +1 -1
- package/dist/src/experimental/typekit/kits/model.d.ts +29 -4
- package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/model.js +49 -2
- package/dist/src/experimental/typekit/kits/model.js.map +1 -1
- package/dist/src/experimental/typekit/kits/operation.d.ts +49 -0
- package/dist/src/experimental/typekit/kits/operation.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/operation.js +28 -0
- package/dist/src/experimental/typekit/kits/operation.js.map +1 -0
- package/dist/src/experimental/typekit/kits/record.d.ts +33 -0
- package/dist/src/experimental/typekit/kits/record.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/record.js +26 -0
- package/dist/src/experimental/typekit/kits/record.js.map +1 -0
- package/dist/src/experimental/typekit/kits/type.d.ts +94 -1
- package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/type.js +59 -0
- package/dist/src/experimental/typekit/kits/type.js.map +1 -1
- package/dist/src/experimental/typekit/kits/union-variant.d.ts +5 -1
- package/dist/src/experimental/typekit/kits/union-variant.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/union-variant.js.map +1 -1
- package/dist/src/experimental/typekit/kits/union.d.ts +15 -1
- package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
- package/dist/src/experimental/typekit/kits/union.js +7 -0
- package/dist/src/experimental/typekit/kits/union.js.map +1 -1
- package/dist/src/experimental/typekit/kits/value.d.ts +84 -0
- package/dist/src/experimental/typekit/kits/value.d.ts.map +1 -0
- package/dist/src/experimental/typekit/kits/value.js +81 -0
- package/dist/src/experimental/typekit/kits/value.js.map +1 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.d.ts +7 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.d.ts.map +1 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.js +17 -0
- package/dist/src/experimental/typekit/utils/get-plausible-name.js.map +1 -0
- package/dist/src/experimental/typekit/utils/index.d.ts +2 -0
- package/dist/src/experimental/typekit/utils/index.d.ts.map +1 -0
- package/dist/src/experimental/typekit/utils/index.js +2 -0
- package/dist/src/experimental/typekit/utils/index.js.map +1 -0
- package/dist/src/init/file-templating.d.ts +2 -0
- package/dist/src/init/file-templating.d.ts.map +1 -1
- package/dist/src/init/file-templating.js +3 -0
- package/dist/src/init/file-templating.js.map +1 -1
- package/dist/src/init/init-template.d.ts +2 -0
- package/dist/src/init/init-template.d.ts.map +1 -1
- package/dist/src/init/init-template.js +1 -0
- package/dist/src/init/init-template.js.map +1 -1
- package/dist/src/init/init.d.ts +5 -2
- package/dist/src/init/init.d.ts.map +1 -1
- package/dist/src/init/init.js +158 -89
- package/dist/src/init/init.js.map +1 -1
- package/dist/src/init/prompts.d.ts +5 -0
- package/dist/src/init/prompts.d.ts.map +1 -0
- package/dist/src/init/prompts.js +16 -0
- package/dist/src/init/prompts.js.map +1 -0
- package/dist/src/init/scaffold.d.ts +1 -5
- package/dist/src/init/scaffold.d.ts.map +1 -1
- package/dist/src/init/scaffold.js +7 -10
- package/dist/src/init/scaffold.js.map +1 -1
- package/dist/src/lib/decorators.d.ts +3 -2
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +15 -3
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/tsp-index.d.ts.map +1 -1
- package/dist/src/lib/tsp-index.js +2 -1
- package/dist/src/lib/tsp-index.js.map +1 -1
- package/dist/src/lib/visibility.d.ts +2 -2
- package/dist/src/lib/visibility.d.ts.map +1 -1
- package/dist/src/lib/visibility.js +109 -7
- package/dist/src/lib/visibility.js.map +1 -1
- package/dist/src/server/compile-service.d.ts.map +1 -1
- package/dist/src/server/compile-service.js +23 -4
- package/dist/src/server/compile-service.js.map +1 -1
- package/dist/src/server/serverlib.d.ts.map +1 -1
- package/dist/src/server/serverlib.js +51 -18
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/tmlanguage.js +1 -1
- package/dist/src/server/tmlanguage.js.map +1 -1
- package/dist/src/server/types.d.ts +2 -1
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/server/types.js.map +1 -1
- package/dist/typespec.tmLanguage +3 -3
- package/lib/std/decorators.tsp +75 -6
- package/lib/std/types.tsp +1 -1
- package/package.json +4 -3
- package/templates/scaffolding.json +20 -22
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { Scalar } from "../../../core/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* A kit of built-in types.
|
|
4
|
+
* @experimental
|
|
5
|
+
*/
|
|
6
|
+
export interface BuiltinKit {
|
|
7
|
+
/**
|
|
8
|
+
* Accessor for the string builtin type.
|
|
9
|
+
*/
|
|
10
|
+
get string(): Scalar;
|
|
11
|
+
/**
|
|
12
|
+
* Accessor for the boolean builtin type.
|
|
13
|
+
*/
|
|
14
|
+
get boolean(): Scalar;
|
|
15
|
+
/**
|
|
16
|
+
* Accessor for the bytes builtin type, representing binary data.
|
|
17
|
+
*/
|
|
18
|
+
get bytes(): Scalar;
|
|
19
|
+
/**
|
|
20
|
+
* Accessor for the decimal builtin type for high-precision decimal values.
|
|
21
|
+
*/
|
|
22
|
+
get decimal(): Scalar;
|
|
23
|
+
/**
|
|
24
|
+
* Accessor for the decimal128 builtin type, a 128-bit decimal value.
|
|
25
|
+
*/
|
|
26
|
+
get decimal128(): Scalar;
|
|
27
|
+
/**
|
|
28
|
+
* Accessor for the duration builtin type, representing a span of time.
|
|
29
|
+
*/
|
|
30
|
+
get duration(): Scalar;
|
|
31
|
+
/**
|
|
32
|
+
* Accessor for the float builtin type, representing a double-precision floating-point number.
|
|
33
|
+
*/
|
|
34
|
+
get float(): Scalar;
|
|
35
|
+
/**
|
|
36
|
+
* Accessor for the float32 builtin type, representing a single-precision floating-point number.
|
|
37
|
+
*/
|
|
38
|
+
get float32(): Scalar;
|
|
39
|
+
/**
|
|
40
|
+
* Accessor for the float64 builtin type, representing a double-precision floating-point number.
|
|
41
|
+
*/
|
|
42
|
+
get float64(): Scalar;
|
|
43
|
+
/**
|
|
44
|
+
* Accessor for the int8 builtin type, representing an 8-bit signed integer.
|
|
45
|
+
*/
|
|
46
|
+
get int8(): Scalar;
|
|
47
|
+
/**
|
|
48
|
+
* Accessor for the int16 builtin type, representing a 16-bit signed integer.
|
|
49
|
+
*/
|
|
50
|
+
get int16(): Scalar;
|
|
51
|
+
/**
|
|
52
|
+
* Accessor for the int32 builtin type, representing a 32-bit signed integer.
|
|
53
|
+
*/
|
|
54
|
+
get int32(): Scalar;
|
|
55
|
+
/**
|
|
56
|
+
* Accessor for the int64 builtin type, representing a 64-bit signed integer.
|
|
57
|
+
*/
|
|
58
|
+
get int64(): Scalar;
|
|
59
|
+
/**
|
|
60
|
+
* Accessor for the integer builtin type, representing an arbitrary-precision integer.
|
|
61
|
+
*/
|
|
62
|
+
get integer(): Scalar;
|
|
63
|
+
/**
|
|
64
|
+
* Accessor for the offsetDateTime builtin type, representing a date and time with an offset.
|
|
65
|
+
*/
|
|
66
|
+
get offsetDateTime(): Scalar;
|
|
67
|
+
/**
|
|
68
|
+
* Accessor for the plainDate builtin type, representing a date without time or offset.
|
|
69
|
+
*/
|
|
70
|
+
get plainDate(): Scalar;
|
|
71
|
+
/**
|
|
72
|
+
* Accessor for the plainTime builtin type, representing a time without date or offset.
|
|
73
|
+
*/
|
|
74
|
+
get plainTime(): Scalar;
|
|
75
|
+
/**
|
|
76
|
+
* Accessor for the safeInt builtin type, representing an integer within the safe range for JavaScript.
|
|
77
|
+
*/
|
|
78
|
+
get safeInt(): Scalar;
|
|
79
|
+
/**
|
|
80
|
+
* Accessor for the uint8 builtin type, representing an 8-bit unsigned integer.
|
|
81
|
+
*/
|
|
82
|
+
get uint8(): Scalar;
|
|
83
|
+
/**
|
|
84
|
+
* Accessor for the uint16 builtin type, representing a 16-bit unsigned integer.
|
|
85
|
+
*/
|
|
86
|
+
get uint16(): Scalar;
|
|
87
|
+
/**
|
|
88
|
+
* Accessor for the uint32 builtin type, representing a 32-bit unsigned integer.
|
|
89
|
+
*/
|
|
90
|
+
get uint32(): Scalar;
|
|
91
|
+
/**
|
|
92
|
+
* Accessor for the uint64 builtin type, representing a 64-bit unsigned integer.
|
|
93
|
+
*/
|
|
94
|
+
get uint64(): Scalar;
|
|
95
|
+
/**
|
|
96
|
+
* Accessor for the url builtin type, representing a valid URL string.
|
|
97
|
+
*/
|
|
98
|
+
get url(): Scalar;
|
|
99
|
+
/**
|
|
100
|
+
* Accessor for the utcDateTime builtin type, representing a date and time in UTC.
|
|
101
|
+
*/
|
|
102
|
+
get utcDateTime(): Scalar;
|
|
103
|
+
/**
|
|
104
|
+
* Accessor for the numeric builtin type, representing a numeric value.
|
|
105
|
+
*/
|
|
106
|
+
get numeric(): Scalar;
|
|
107
|
+
}
|
|
108
|
+
interface TypekitExtension {
|
|
109
|
+
/** @experimental */
|
|
110
|
+
builtin: BuiltinKit;
|
|
111
|
+
}
|
|
112
|
+
declare module "../define-kit.js" {
|
|
113
|
+
interface Typekit extends TypekitExtension {
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=builtin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/builtin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGrD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAAC;IAEzB;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAAC;IAEvB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAAC;IAEnB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAAC;IAE7B;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAAC;IAExB;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAAC;IAExB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC;IAEtB;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAAC;IAE1B;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAAC;CACvB;AAED,UAAU,gBAAgB;IACxB,oBAAoB;IACpB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { defineKit } from "../define-kit.js";
|
|
2
|
+
defineKit({
|
|
3
|
+
builtin: {
|
|
4
|
+
get string() {
|
|
5
|
+
return this.program.checker.getStdType("string");
|
|
6
|
+
},
|
|
7
|
+
get boolean() {
|
|
8
|
+
return this.program.checker.getStdType("boolean");
|
|
9
|
+
},
|
|
10
|
+
get bytes() {
|
|
11
|
+
return this.program.checker.getStdType("bytes");
|
|
12
|
+
},
|
|
13
|
+
get decimal() {
|
|
14
|
+
return this.program.checker.getStdType("decimal");
|
|
15
|
+
},
|
|
16
|
+
get decimal128() {
|
|
17
|
+
return this.program.checker.getStdType("decimal128");
|
|
18
|
+
},
|
|
19
|
+
get duration() {
|
|
20
|
+
return this.program.checker.getStdType("duration");
|
|
21
|
+
},
|
|
22
|
+
get float() {
|
|
23
|
+
return this.program.checker.getStdType("float");
|
|
24
|
+
},
|
|
25
|
+
get float32() {
|
|
26
|
+
return this.program.checker.getStdType("float32");
|
|
27
|
+
},
|
|
28
|
+
get float64() {
|
|
29
|
+
return this.program.checker.getStdType("float64");
|
|
30
|
+
},
|
|
31
|
+
get int8() {
|
|
32
|
+
return this.program.checker.getStdType("int8");
|
|
33
|
+
},
|
|
34
|
+
get int16() {
|
|
35
|
+
return this.program.checker.getStdType("int16");
|
|
36
|
+
},
|
|
37
|
+
get int32() {
|
|
38
|
+
return this.program.checker.getStdType("int32");
|
|
39
|
+
},
|
|
40
|
+
get int64() {
|
|
41
|
+
return this.program.checker.getStdType("int64");
|
|
42
|
+
},
|
|
43
|
+
get integer() {
|
|
44
|
+
return this.program.checker.getStdType("integer");
|
|
45
|
+
},
|
|
46
|
+
get offsetDateTime() {
|
|
47
|
+
return this.program.checker.getStdType("offsetDateTime");
|
|
48
|
+
},
|
|
49
|
+
get plainDate() {
|
|
50
|
+
return this.program.checker.getStdType("plainDate");
|
|
51
|
+
},
|
|
52
|
+
get plainTime() {
|
|
53
|
+
return this.program.checker.getStdType("plainTime");
|
|
54
|
+
},
|
|
55
|
+
get safeInt() {
|
|
56
|
+
return this.program.checker.getStdType("safeint");
|
|
57
|
+
},
|
|
58
|
+
get uint8() {
|
|
59
|
+
return this.program.checker.getStdType("uint8");
|
|
60
|
+
},
|
|
61
|
+
get uint16() {
|
|
62
|
+
return this.program.checker.getStdType("uint16");
|
|
63
|
+
},
|
|
64
|
+
get uint32() {
|
|
65
|
+
return this.program.checker.getStdType("uint32");
|
|
66
|
+
},
|
|
67
|
+
get uint64() {
|
|
68
|
+
return this.program.checker.getStdType("uint64");
|
|
69
|
+
},
|
|
70
|
+
get url() {
|
|
71
|
+
return this.program.checker.getStdType("url");
|
|
72
|
+
},
|
|
73
|
+
get utcDateTime() {
|
|
74
|
+
return this.program.checker.getStdType("utcDateTime");
|
|
75
|
+
},
|
|
76
|
+
get numeric() {
|
|
77
|
+
return this.program.checker.getStdType("numeric");
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=builtin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/builtin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Enum, EnumMember, Type } from "../../../core/types.js";
|
|
2
|
+
import { DecoratorArgs } from "../utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* A descriptor for creating an enum member.
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export interface EnumMemberDescriptor {
|
|
8
|
+
/**
|
|
9
|
+
* The name of the enum member.
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* Decorators to apply to the enum member.
|
|
14
|
+
*/
|
|
15
|
+
decorators?: DecoratorArgs[];
|
|
16
|
+
/**
|
|
17
|
+
* The value of the enum member. If not supplied, the value will be the same
|
|
18
|
+
* as the name.
|
|
19
|
+
*/
|
|
20
|
+
value?: string | number;
|
|
21
|
+
/**
|
|
22
|
+
* The enum that the member belongs to. If not provided here, it is assumed
|
|
23
|
+
* that it will be set in `enum.build`.
|
|
24
|
+
*/
|
|
25
|
+
enum?: Enum;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A kit for working with enum members.
|
|
29
|
+
* @experimental
|
|
30
|
+
*/
|
|
31
|
+
export interface EnumMemberKit {
|
|
32
|
+
/**
|
|
33
|
+
* Create an enum member. The enum member will be finished (i.e. decorators are run).
|
|
34
|
+
*/
|
|
35
|
+
create(desc: EnumMemberDescriptor): EnumMember;
|
|
36
|
+
/**
|
|
37
|
+
* Check if `type` is an enum member type.
|
|
38
|
+
*
|
|
39
|
+
* @param type the type to check.
|
|
40
|
+
*/
|
|
41
|
+
is(type: Type): type is EnumMember;
|
|
42
|
+
}
|
|
43
|
+
interface TypekitExtension {
|
|
44
|
+
/** @experimental */
|
|
45
|
+
enumMember: EnumMemberKit;
|
|
46
|
+
}
|
|
47
|
+
declare module "../define-kit.js" {
|
|
48
|
+
interface Typekit extends TypekitExtension {
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=enum-member.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-member.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/enum-member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAGrE,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAAC;IAE/C;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,UAAU,CAAC;CACpC;AAED,UAAU,gBAAgB;IACxB,oBAAoB;IACpB,UAAU,EAAE,aAAa,CAAC;CAC3B;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { defineKit } from "../define-kit.js";
|
|
2
|
+
import { decoratorApplication } from "../utils.js";
|
|
3
|
+
defineKit({
|
|
4
|
+
enumMember: {
|
|
5
|
+
create(desc) {
|
|
6
|
+
const member = this.program.checker.createType({
|
|
7
|
+
kind: "EnumMember",
|
|
8
|
+
name: desc.name,
|
|
9
|
+
value: desc.value,
|
|
10
|
+
decorators: decoratorApplication(this, desc.decorators),
|
|
11
|
+
node: undefined,
|
|
12
|
+
enum: desc.enum, // initialized in enum.build if not provided here
|
|
13
|
+
});
|
|
14
|
+
this.program.checker.finishType(member);
|
|
15
|
+
return member;
|
|
16
|
+
},
|
|
17
|
+
is(type) {
|
|
18
|
+
return type.kind === "EnumMember";
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=enum-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum-member.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/enum-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;AAwDlE,SAAS,CAAmB;IAC1B,UAAU,EAAE;QACV,MAAM,CAAC,IAAI;YACT,MAAM,MAAM,GAAe,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACzD,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;gBACvD,IAAI,EAAE,SAAgB;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAW,EAAE,iDAAiD;aAC1E,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;QACpC,CAAC;KACF;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { Enum, EnumMember, Type, Union } from "../../../core/types.js";
|
|
2
|
+
import { DecoratorArgs } from "../utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* Describes an enum type for creation.
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
interface EnumDescriptor {
|
|
8
|
+
/**
|
|
9
|
+
* The name of the enum declaration.
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* Decorators to apply to the enum.
|
|
14
|
+
*/
|
|
15
|
+
decorators?: DecoratorArgs[];
|
|
16
|
+
/**
|
|
17
|
+
* The members of the enum. If a member is an object, each property will be
|
|
18
|
+
* converted to an EnumMember with the same name and value.
|
|
19
|
+
*/
|
|
20
|
+
members?: Record<string, string | number> | EnumMember[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A kit for working with enum types.
|
|
24
|
+
* @experimental
|
|
25
|
+
*/
|
|
26
|
+
export interface EnumKit {
|
|
27
|
+
/**
|
|
28
|
+
* Build an enum type. The enum type will be finished (i.e. decorators are
|
|
29
|
+
* run).
|
|
30
|
+
*/
|
|
31
|
+
create(desc: EnumDescriptor): Enum;
|
|
32
|
+
/**
|
|
33
|
+
* Build an equivalent enum from the given union. Union variants which are
|
|
34
|
+
* not valid enum members are skipped. You can check if a union is a valid
|
|
35
|
+
* enum with {@link UnionKit.union}'s `isEnumValue`.
|
|
36
|
+
*/
|
|
37
|
+
createFromUnion(type: Union): Enum;
|
|
38
|
+
/**
|
|
39
|
+
* Check if `type` is an enum type.
|
|
40
|
+
*
|
|
41
|
+
* @param type the type to check.
|
|
42
|
+
*/
|
|
43
|
+
is(type: Type): type is Enum;
|
|
44
|
+
}
|
|
45
|
+
interface TypekitExtension {
|
|
46
|
+
/** @experimental */
|
|
47
|
+
enum: EnumKit;
|
|
48
|
+
}
|
|
49
|
+
declare module "../define-kit.js" {
|
|
50
|
+
interface Typekit extends TypekitExtension {
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAM5E,OAAO,EAAwB,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;;GAGG;AACH,UAAU,cAAc;IACtB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;CAC1D;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;CAC9B;AAED,UAAU,gBAAgB;IACxB,oBAAoB;IACpB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createRekeyableMap } from "../../../utils/misc.js";
|
|
2
|
+
import { defineKit } from "../define-kit.js";
|
|
3
|
+
import { decoratorApplication } from "../utils.js";
|
|
4
|
+
defineKit({
|
|
5
|
+
enum: {
|
|
6
|
+
create(desc) {
|
|
7
|
+
const en = this.program.checker.createType({
|
|
8
|
+
kind: "Enum",
|
|
9
|
+
name: desc.name,
|
|
10
|
+
decorators: decoratorApplication(this, desc.decorators),
|
|
11
|
+
members: createRekeyableMap(),
|
|
12
|
+
node: undefined,
|
|
13
|
+
});
|
|
14
|
+
if (Array.isArray(desc.members)) {
|
|
15
|
+
for (const member of desc.members) {
|
|
16
|
+
member.enum = en;
|
|
17
|
+
en.members.set(member.name, member);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
for (const [name, member] of Object.entries(desc.members ?? {})) {
|
|
22
|
+
en.members.set(name, this.enumMember.create({ name, value: member, enum: en }));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
this.program.checker.finishType(en);
|
|
26
|
+
return en;
|
|
27
|
+
},
|
|
28
|
+
is(type) {
|
|
29
|
+
return type.kind === "Enum";
|
|
30
|
+
},
|
|
31
|
+
createFromUnion(type) {
|
|
32
|
+
if (!type.name) {
|
|
33
|
+
throw new Error("Cannot create an enum from an anonymous union.");
|
|
34
|
+
}
|
|
35
|
+
const enumMembers = [];
|
|
36
|
+
for (const variant of type.variants.values()) {
|
|
37
|
+
if ((variant.name && typeof variant.name === "symbol") ||
|
|
38
|
+
(!this.literal.isString(variant.type) && !this.literal.isNumeric(variant.type))) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
enumMembers.push(this.enumMember.create({ name: variant.name, value: variant.type.value }));
|
|
42
|
+
}
|
|
43
|
+
return this.enum.create({ name: type.name, members: enumMembers });
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/enum.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAiB,MAAM,aAAa,CAAC;AA2DlE,SAAS,CAAmB;IAC1B,IAAI,EAAE;QACJ,MAAM,CAAC,IAAI;YACT,MAAM,EAAE,GAAS,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC/C,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;gBACvD,OAAO,EAAE,kBAAkB,EAAE;gBAC7B,IAAI,EAAE,SAAgB;aACvB,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBACjB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;oBAChE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;QAC9B,CAAC;QAED,eAAe,CAAC,IAAI;YAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,WAAW,GAAiB,EAAE,CAAC;YACrC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7C,IACE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAClD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAC/E,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,CAAC;KACF;CACF,CAAC,CAAC"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
export * from "./array.js";
|
|
2
|
+
export * from "./builtin.js";
|
|
3
|
+
export * from "./enum-member.js";
|
|
4
|
+
export * from "./enum.js";
|
|
1
5
|
export * from "./literal.js";
|
|
2
6
|
export * from "./model-property.js";
|
|
3
7
|
export * from "./model.js";
|
|
8
|
+
export * from "./operation.js";
|
|
9
|
+
export * from "./record.js";
|
|
4
10
|
export * from "./scalar.js";
|
|
5
11
|
export * from "./type.js";
|
|
6
12
|
export * from "./union-variant.js";
|
|
7
13
|
export * from "./union.js";
|
|
14
|
+
export * from "./value.js";
|
|
8
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
export * from "./array.js";
|
|
2
|
+
export * from "./builtin.js";
|
|
3
|
+
export * from "./enum-member.js";
|
|
4
|
+
export * from "./enum.js";
|
|
1
5
|
export * from "./literal.js";
|
|
2
6
|
export * from "./model-property.js";
|
|
3
7
|
export * from "./model.js";
|
|
8
|
+
export * from "./operation.js";
|
|
9
|
+
export * from "./record.js";
|
|
4
10
|
export * from "./scalar.js";
|
|
5
11
|
export * from "./type.js";
|
|
6
12
|
export * from "./union-variant.js";
|
|
7
13
|
export * from "./union.js";
|
|
14
|
+
export * from "./value.js";
|
|
8
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -1,15 +1,42 @@
|
|
|
1
|
-
import type { Enum, EnumMember, ModelProperty, Type } from "../../../core/types.js";
|
|
1
|
+
import type { Enum, EnumMember, ModelProperty, Type, Value } from "../../../core/types.js";
|
|
2
2
|
import { EncodeData } from "../../../lib/decorators.js";
|
|
3
3
|
/**
|
|
4
|
+
* A descriptor for a model property.
|
|
4
5
|
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export interface ModelPropertyDescriptor {
|
|
8
|
+
/**
|
|
9
|
+
* The name of the model property.
|
|
10
|
+
*/
|
|
11
|
+
name: string;
|
|
12
|
+
/**
|
|
13
|
+
* The type of the model property.
|
|
14
|
+
*/
|
|
15
|
+
type: Type;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the model property is optional.
|
|
18
|
+
*/
|
|
19
|
+
optional?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Default value
|
|
22
|
+
*/
|
|
23
|
+
defaultValue?: Value | undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
5
26
|
* Utilities for working with model properties.
|
|
6
27
|
*
|
|
7
28
|
* For many reflection operations, the metadata being asked for may be found
|
|
8
29
|
* on the model property or the type of the model property. In such cases,
|
|
9
30
|
* these operations will return the metadata from the model property if it
|
|
10
31
|
* exists, or the type of the model property if it exists.
|
|
32
|
+
* @experimental
|
|
11
33
|
*/
|
|
12
34
|
export interface ModelPropertyKit {
|
|
35
|
+
/**
|
|
36
|
+
* Creates a modelProperty type.
|
|
37
|
+
* @param desc The descriptor of the model property.
|
|
38
|
+
*/
|
|
39
|
+
create(desc: ModelPropertyDescriptor): ModelProperty;
|
|
13
40
|
/**
|
|
14
41
|
* Check if the given `type` is a model property.
|
|
15
42
|
*
|
|
@@ -43,6 +70,7 @@ interface TypekitExtension {
|
|
|
43
70
|
* on the model property or the type of the model property. In such cases,
|
|
44
71
|
* these operations will return the metadata from the model property if it
|
|
45
72
|
* exists, or the type of the model property if it exists.
|
|
73
|
+
* @experimental
|
|
46
74
|
*/
|
|
47
75
|
modelProperty: ModelPropertyKit;
|
|
48
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-property.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAU,IAAI,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-property.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model-property.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAU,IAAI,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAC;AAG9E;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,aAAa,CAAC;IACrD;;;;OAIG;IACH,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,aAAa,CAAC;IAEtC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAE7D;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;IAEvD;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;CACxF;AAED,UAAU,gBAAgB;IACxB;;;;;;;;OAQG;IACH,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|
|
@@ -15,6 +15,17 @@ defineKit({
|
|
|
15
15
|
getVisibilityForClass(property, visibilityClass) {
|
|
16
16
|
return getVisibilityForClass(this.program, property, visibilityClass);
|
|
17
17
|
},
|
|
18
|
+
create(desc) {
|
|
19
|
+
return this.program.checker.createType({
|
|
20
|
+
kind: "ModelProperty",
|
|
21
|
+
name: desc.name,
|
|
22
|
+
node: undefined,
|
|
23
|
+
type: desc.type,
|
|
24
|
+
optional: desc.optional ?? false,
|
|
25
|
+
decorators: [],
|
|
26
|
+
defaultValue: desc.defaultValue,
|
|
27
|
+
});
|
|
28
|
+
},
|
|
18
29
|
},
|
|
19
30
|
});
|
|
20
31
|
//# sourceMappingURL=model-property.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-property.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model-property.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAc,SAAS,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"model-property.js","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model-property.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAc,SAAS,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyF7C,SAAS,CAAmB;IAC1B,aAAa,EAAE;QACb,EAAE,CAAC,IAAI;YACL,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;QACvC,CAAC;QAED,WAAW,CAAC,IAAI;YACd,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;QACvF,CAAC;QAED,SAAS,CAAC,IAAI;YACZ,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC;QACvF,CAAC;QAED,qBAAqB,CAAC,QAAQ,EAAE,eAAe;YAC7C,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,CAAC,IAAI;YACT,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,SAAgB;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;gBAChC,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import type { Model, ModelProperty, SourceModel, Type } from "../../../core/types.js";
|
|
1
|
+
import type { Model, ModelIndexer, ModelProperty, RekeyableMap, SourceModel, Type } from "../../../core/types.js";
|
|
2
2
|
import { DecoratorArgs } from "../utils.js";
|
|
3
|
-
/**
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* A descriptor for creating a model.
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export interface ModelDescriptor {
|
|
5
8
|
/**
|
|
6
9
|
* The name of the Model. If name is provided, it is a Model declaration.
|
|
7
10
|
* Otherwise, it is a Model expression.
|
|
@@ -23,6 +26,10 @@ interface ModelDescriptor {
|
|
|
23
26
|
* Models that this model extends.
|
|
24
27
|
*/
|
|
25
28
|
sourceModels?: SourceModel[];
|
|
29
|
+
/**
|
|
30
|
+
* The indexer property of the model.
|
|
31
|
+
*/
|
|
32
|
+
indexer?: ModelIndexer;
|
|
26
33
|
}
|
|
27
34
|
/**
|
|
28
35
|
* Utilities for working with models.
|
|
@@ -41,6 +48,13 @@ export interface ModelKit {
|
|
|
41
48
|
* @param type The type to check.
|
|
42
49
|
*/
|
|
43
50
|
is(type: Type): type is Model;
|
|
51
|
+
/**
|
|
52
|
+
* Check this is an anonyous model. Specifically, this checks if the
|
|
53
|
+
* model has a name.
|
|
54
|
+
*
|
|
55
|
+
* @param type The model to check.
|
|
56
|
+
*/
|
|
57
|
+
isExpresion(type: Model): boolean;
|
|
44
58
|
/**
|
|
45
59
|
* If the input is anonymous (or the provided filter removes properties)
|
|
46
60
|
* and there exists a named model with the same set of properties
|
|
@@ -58,6 +72,18 @@ export interface ModelKit {
|
|
|
58
72
|
* properties.
|
|
59
73
|
*/
|
|
60
74
|
getEffectiveModel(model: Model, filter?: (property: ModelProperty) => boolean): Model;
|
|
75
|
+
/**
|
|
76
|
+
* Given a model, return the type that is spread
|
|
77
|
+
* @returns the type that is spread or undefined if no spread
|
|
78
|
+
*/
|
|
79
|
+
getSpreadType: (model: Model) => Type | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Gets all properties from a model, explicitly defined and implicitly defined.
|
|
82
|
+
* @param model model to get the properties from
|
|
83
|
+
*/
|
|
84
|
+
getProperties(model: Model, options?: {
|
|
85
|
+
includeExtended?: boolean;
|
|
86
|
+
}): RekeyableMap<string, ModelProperty>;
|
|
61
87
|
}
|
|
62
88
|
interface TypekitExtension {
|
|
63
89
|
/**
|
|
@@ -70,6 +96,5 @@ declare module "../define-kit.js" {
|
|
|
70
96
|
interface Typekit extends TypekitExtension {
|
|
71
97
|
}
|
|
72
98
|
}
|
|
73
|
-
export declare const ModelKit: void;
|
|
74
99
|
export {};
|
|
75
100
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/experimental/typekit/kits/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,IAAI,EACL,MAAM,wBAAwB,CAAC;AAGhC,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;CACxC;AAED,UAAU,gBAAgB;IACxB;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,OAAO,QAAQ,kBAAkB,CAAC;IAChC,UAAU,OAAQ,SAAQ,gBAAgB;KAAG;CAC9C"}
|