@typespec/compiler 0.57.0-dev.0 → 0.57.0-dev.4
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 +9 -9
- package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
- package/dist/manifest.js +2 -2
- package/dist/src/core/binder.d.ts.map +1 -1
- package/dist/src/core/binder.js +15 -2
- package/dist/src/core/binder.js.map +1 -1
- package/dist/src/core/checker.d.ts +10 -8
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +1576 -241
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts +6 -0
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts.map +1 -0
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js +15 -0
- package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js.map +1 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts +6 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts.map +1 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js +15 -0
- package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js.map +1 -0
- package/dist/src/core/diagnostic-creator.d.ts.map +1 -1
- package/dist/src/core/diagnostic-creator.js +1 -2
- package/dist/src/core/diagnostic-creator.js.map +1 -1
- package/dist/src/core/diagnostics.js +2 -2
- package/dist/src/core/diagnostics.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 +3 -1
- package/dist/src/core/helpers/index.js.map +1 -1
- package/dist/src/core/helpers/string-template-utils.d.ts +6 -6
- package/dist/src/core/helpers/string-template-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/string-template-utils.js +20 -33
- package/dist/src/core/helpers/string-template-utils.js.map +1 -1
- package/dist/src/core/helpers/type-name-utils.d.ts +3 -2
- package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
- package/dist/src/core/helpers/type-name-utils.js +57 -8
- package/dist/src/core/helpers/type-name-utils.js.map +1 -1
- package/dist/src/core/index.d.ts +3 -1
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +3 -1
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/intrinsic-type-state.d.ts +57 -0
- package/dist/src/core/intrinsic-type-state.d.ts.map +1 -0
- package/dist/src/core/intrinsic-type-state.js +150 -0
- package/dist/src/core/intrinsic-type-state.js.map +1 -0
- package/dist/src/core/js-marshaller.d.ts +13 -0
- package/dist/src/core/js-marshaller.d.ts.map +1 -0
- package/dist/src/core/js-marshaller.js +79 -0
- package/dist/src/core/js-marshaller.js.map +1 -0
- package/dist/src/core/library.d.ts +2 -1
- package/dist/src/core/library.d.ts.map +1 -1
- package/dist/src/core/library.js +3 -0
- package/dist/src/core/library.js.map +1 -1
- package/dist/src/core/messages.d.ts +235 -2
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +74 -1
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/numeric-ranges.d.ts +51 -0
- package/dist/src/core/numeric-ranges.d.ts.map +1 -0
- package/dist/src/core/numeric-ranges.js +30 -0
- package/dist/src/core/numeric-ranges.js.map +1 -0
- package/dist/src/core/parser.d.ts.map +1 -1
- package/dist/src/core/parser.js +232 -5
- package/dist/src/core/parser.js.map +1 -1
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +2 -2
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/projector.d.ts.map +1 -1
- package/dist/src/core/projector.js +10 -2
- package/dist/src/core/projector.js.map +1 -1
- package/dist/src/core/scanner.d.ts +42 -37
- package/dist/src/core/scanner.d.ts.map +1 -1
- package/dist/src/core/scanner.js +67 -46
- package/dist/src/core/scanner.js.map +1 -1
- package/dist/src/core/semantic-walker.d.ts.map +1 -1
- package/dist/src/core/semantic-walker.js +12 -0
- package/dist/src/core/semantic-walker.js.map +1 -1
- package/dist/src/core/type-utils.d.ts +18 -7
- package/dist/src/core/type-utils.d.ts.map +1 -1
- package/dist/src/core/type-utils.js +24 -5
- package/dist/src/core/type-utils.js.map +1 -1
- package/dist/src/core/types.d.ts +224 -45
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +8 -0
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/emitter-framework/type-emitter.d.ts.map +1 -1
- package/dist/src/emitter-framework/type-emitter.js +6 -0
- package/dist/src/emitter-framework/type-emitter.js.map +1 -1
- package/dist/src/formatter/print/comment-handler.d.ts.map +1 -1
- package/dist/src/formatter/print/comment-handler.js +22 -0
- package/dist/src/formatter/print/comment-handler.js.map +1 -1
- package/dist/src/formatter/print/printer.d.ts +11 -5
- package/dist/src/formatter/print/printer.d.ts.map +1 -1
- package/dist/src/formatter/print/printer.js +95 -4
- package/dist/src/formatter/print/printer.js.map +1 -1
- package/dist/src/lib/decorators.d.ts +3 -46
- package/dist/src/lib/decorators.d.ts.map +1 -1
- package/dist/src/lib/decorators.js +28 -104
- package/dist/src/lib/decorators.js.map +1 -1
- package/dist/src/lib/intrinsic-decorators.d.ts +2 -2
- package/dist/src/lib/intrinsic-decorators.d.ts.map +1 -1
- package/dist/src/lib/intrinsic-decorators.js +7 -0
- package/dist/src/lib/intrinsic-decorators.js.map +1 -1
- package/dist/src/server/classify.d.ts.map +1 -1
- package/dist/src/server/classify.js +10 -0
- package/dist/src/server/classify.js.map +1 -1
- package/dist/src/server/completion.d.ts.map +1 -1
- package/dist/src/server/completion.js +6 -0
- package/dist/src/server/completion.js.map +1 -1
- package/dist/src/server/serverlib.js +2 -2
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/server/tmlanguage.d.ts +1 -1
- package/dist/src/server/tmlanguage.d.ts.map +1 -1
- package/dist/src/server/tmlanguage.js +147 -20
- package/dist/src/server/tmlanguage.js.map +1 -1
- package/dist/src/server/type-details.js +1 -2
- package/dist/src/server/type-details.js.map +1 -1
- package/dist/src/server/type-signature.js +15 -6
- package/dist/src/server/type-signature.js.map +1 -1
- package/dist/typespec.tmLanguage +408 -17
- package/lib/intrinsics.tsp +55 -5
- package/package.json +1 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// Contains all intrinsic data setter or getter
|
|
2
|
+
// Anything that the TypeSpec check might should be here.
|
|
3
|
+
function createStateSymbol(name) {
|
|
4
|
+
return Symbol.for(`TypeSpec.${name}`);
|
|
5
|
+
}
|
|
6
|
+
const stateKeys = {
|
|
7
|
+
minValues: createStateSymbol("minValues"),
|
|
8
|
+
maxValues: createStateSymbol("maxValues"),
|
|
9
|
+
minValueExclusive: createStateSymbol("minValueExclusive"),
|
|
10
|
+
maxValueExclusive: createStateSymbol("maxValueExclusive"),
|
|
11
|
+
minLength: createStateSymbol("minLengthValues"),
|
|
12
|
+
maxLength: createStateSymbol("maxLengthValues"),
|
|
13
|
+
minItems: createStateSymbol("minItems"),
|
|
14
|
+
maxItems: createStateSymbol("maxItems"),
|
|
15
|
+
docs: createStateSymbol("docs"),
|
|
16
|
+
returnDocs: createStateSymbol("returnsDocs"),
|
|
17
|
+
errorsDocs: createStateSymbol("errorDocs"),
|
|
18
|
+
};
|
|
19
|
+
// #region @minValue
|
|
20
|
+
export function setMinValue(program, target, value) {
|
|
21
|
+
program.stateMap(stateKeys.minValues).set(target, value);
|
|
22
|
+
}
|
|
23
|
+
export function getMinValueAsNumeric(program, target) {
|
|
24
|
+
return program.stateMap(stateKeys.minValues).get(target);
|
|
25
|
+
}
|
|
26
|
+
export function getMinValue(program, target) {
|
|
27
|
+
return getMinValueAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
28
|
+
}
|
|
29
|
+
// #endregion @minValue
|
|
30
|
+
// #region @maxValue
|
|
31
|
+
export function setMaxValue(program, target, value) {
|
|
32
|
+
program.stateMap(stateKeys.maxValues).set(target, value);
|
|
33
|
+
}
|
|
34
|
+
export function getMaxValueAsNumeric(program, target) {
|
|
35
|
+
return program.stateMap(stateKeys.maxValues).get(target);
|
|
36
|
+
}
|
|
37
|
+
export function getMaxValue(program, target) {
|
|
38
|
+
return getMaxValueAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
39
|
+
}
|
|
40
|
+
// #endregion @maxValue
|
|
41
|
+
// #region @minValueExclusive
|
|
42
|
+
export function setMinValueExclusive(program, target, value) {
|
|
43
|
+
program.stateMap(stateKeys.minValueExclusive).set(target, value);
|
|
44
|
+
}
|
|
45
|
+
export function getMinValueExclusiveAsNumeric(program, target) {
|
|
46
|
+
return program.stateMap(stateKeys.minValueExclusive).get(target);
|
|
47
|
+
}
|
|
48
|
+
export function getMinValueExclusive(program, target) {
|
|
49
|
+
return getMinValueExclusiveAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
50
|
+
}
|
|
51
|
+
// #endregion @minValueExclusive
|
|
52
|
+
// #region @maxValueExclusive
|
|
53
|
+
export function setMaxValueExclusive(program, target, value) {
|
|
54
|
+
program.stateMap(stateKeys.maxValueExclusive).set(target, value);
|
|
55
|
+
}
|
|
56
|
+
export function getMaxValueExclusiveAsNumeric(program, target) {
|
|
57
|
+
return program.stateMap(stateKeys.maxValueExclusive).get(target);
|
|
58
|
+
}
|
|
59
|
+
export function getMaxValueExclusive(program, target) {
|
|
60
|
+
return getMaxValueExclusiveAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
61
|
+
}
|
|
62
|
+
// #endregion @maxValueExclusive
|
|
63
|
+
// #region @minLength
|
|
64
|
+
export function setMinLength(program, target, value) {
|
|
65
|
+
program.stateMap(stateKeys.minLength).set(target, value);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Get the minimum length of a string type as a {@link Numeric} value.
|
|
69
|
+
* @param program Current program
|
|
70
|
+
* @param target Type with the `@minLength` decorator
|
|
71
|
+
*/
|
|
72
|
+
export function getMinLengthAsNumeric(program, target) {
|
|
73
|
+
return program.stateMap(stateKeys.minLength).get(target);
|
|
74
|
+
}
|
|
75
|
+
export function getMinLength(program, target) {
|
|
76
|
+
return getMinLengthAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
77
|
+
}
|
|
78
|
+
// #endregion @minLength
|
|
79
|
+
// #region @maxLength
|
|
80
|
+
export function setMaxLength(program, target, value) {
|
|
81
|
+
program.stateMap(stateKeys.maxLength).set(target, value);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get the minimum length of a string type as a {@link Numeric} value.
|
|
85
|
+
* @param program Current program
|
|
86
|
+
* @param target Type with the `@maxLength` decorator
|
|
87
|
+
*/
|
|
88
|
+
export function getMaxLengthAsNumeric(program, target) {
|
|
89
|
+
return program.stateMap(stateKeys.maxLength).get(target);
|
|
90
|
+
}
|
|
91
|
+
export function getMaxLength(program, target) {
|
|
92
|
+
return getMaxLengthAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
93
|
+
}
|
|
94
|
+
// #endregion @maxLength
|
|
95
|
+
// #region @minItems
|
|
96
|
+
export function setMinItems(program, target, value) {
|
|
97
|
+
program.stateMap(stateKeys.minItems).set(target, value);
|
|
98
|
+
}
|
|
99
|
+
export function getMinItemsAsNumeric(program, target) {
|
|
100
|
+
return program.stateMap(stateKeys.minItems).get(target);
|
|
101
|
+
}
|
|
102
|
+
export function getMinItems(program, target) {
|
|
103
|
+
return getMinItemsAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
104
|
+
}
|
|
105
|
+
// #endregion @minItems
|
|
106
|
+
// #region @minItems
|
|
107
|
+
export function setMaxItems(program, target, value) {
|
|
108
|
+
program.stateMap(stateKeys.maxItems).set(target, value);
|
|
109
|
+
}
|
|
110
|
+
export function getMaxItemsAsNumeric(program, target) {
|
|
111
|
+
return program.stateMap(stateKeys.maxItems).get(target);
|
|
112
|
+
}
|
|
113
|
+
export function getMaxItems(program, target) {
|
|
114
|
+
return getMaxItemsAsNumeric(program, target)?.asNumber() ?? undefined;
|
|
115
|
+
}
|
|
116
|
+
/** @internal */
|
|
117
|
+
export function setDocData(program, target, key, data) {
|
|
118
|
+
program.stateMap(getDocKey(key)).set(target, data);
|
|
119
|
+
}
|
|
120
|
+
function getDocKey(target) {
|
|
121
|
+
switch (target) {
|
|
122
|
+
case "self":
|
|
123
|
+
return stateKeys.docs;
|
|
124
|
+
case "returns":
|
|
125
|
+
return stateKeys.returnDocs;
|
|
126
|
+
case "errors":
|
|
127
|
+
return stateKeys.errorsDocs;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* @internal
|
|
132
|
+
* Get the documentation information for the given type. In most cases you probably just want to use {@link getDoc}
|
|
133
|
+
* @param program Program
|
|
134
|
+
* @param target Type
|
|
135
|
+
* @returns Doc data with source information.
|
|
136
|
+
*/
|
|
137
|
+
export function getDocDataInternal(program, target, key) {
|
|
138
|
+
return program.stateMap(getDocKey(key)).get(target);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the documentation information for the given type. In most cases you probably just want to use {@link getDoc}
|
|
142
|
+
* @param program Program
|
|
143
|
+
* @param target Type
|
|
144
|
+
* @returns Doc data with source information.
|
|
145
|
+
*/
|
|
146
|
+
export function getDocData(program, target) {
|
|
147
|
+
return getDocDataInternal(program, target, "self");
|
|
148
|
+
}
|
|
149
|
+
// #endregion doc
|
|
150
|
+
//# sourceMappingURL=intrinsic-type-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intrinsic-type-state.js","sourceRoot":"","sources":["../../../src/core/intrinsic-type-state.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,yDAAyD;AAMzD,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,SAAS,GAAG;IAChB,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACzC,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC;IACzD,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC;IACzD,SAAS,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC/C,SAAS,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC/C,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC;IACvC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC;IAEvC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC;IAC5C,UAAU,EAAE,iBAAiB,CAAC,WAAW,CAAC;CAC3C,CAAC;AAEF,oBAAoB;AAEpB,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACxE,CAAC;AACD,uBAAuB;AAEvB,oBAAoB;AAEpB,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACxE,CAAC;AACD,uBAAuB;AAEvB,6BAA6B;AAE7B,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACjF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB,EAAE,MAAY;IAC1E,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACjF,CAAC;AACD,gCAAgC;AAEhC,6BAA6B;AAC7B,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACjF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB,EAAE,MAAY;IAC1E,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACjF,CAAC;AACD,gCAAgC;AAEhC,qBAAqB;AACrB,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,MAAY;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY;IACzD,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACzE,CAAC;AACD,wBAAwB;AAExB,qBAAqB;AACrB,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACzE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,MAAY;IAClE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY;IACzD,OAAO,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACzE,CAAC;AACD,wBAAwB;AAExB,oBAAoB;AACpB,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACxE,CAAC;AACD,uBAAuB;AAEvB,oBAAoB;AACpB,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY,EAAE,KAAc;IACxE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,MAAY;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AACxE,CAAC;AAsBD,gBAAgB;AAChB,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY,EAAE,GAAc,EAAE,IAAa;IACtF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,SAAS,CAAC,MAAiB;IAClC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,SAAS,CAAC,IAAI,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC,UAAU,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,UAAU,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,MAAY,EACZ,GAAc;IAEd,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AACD,iBAAiB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Checker } from "./checker.js";
|
|
2
|
+
import type { MarshalledValue, Type, Value } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Legacy marshalling of values to replicate before 0.56.0 behavior
|
|
5
|
+
* - string value -> `string`
|
|
6
|
+
* - numeric value -> `number`
|
|
7
|
+
* - boolean value -> `boolean`
|
|
8
|
+
* - null value -> `NullType`
|
|
9
|
+
*/
|
|
10
|
+
export declare function legacyMarshallTypeForJS(checker: Checker, value: Value): Type | Value | Record<string, unknown> | unknown[] | string | number | boolean;
|
|
11
|
+
export declare function marshallTypeForJS<T extends Value>(value: T, valueConstraint: Type | undefined): MarshalledValue<T>;
|
|
12
|
+
export declare function canNumericConstraintBeJsNumber(type: Type | undefined): boolean;
|
|
13
|
+
//# sourceMappingURL=js-marshaller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-marshaller.d.ts","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,OAAO,KAAK,EAEV,eAAe,EAGf,IAAI,EACJ,KAAK,EACN,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACX,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAkBhF;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAC/C,KAAK,EAAE,CAAC,EACR,eAAe,EAAE,IAAI,GAAG,SAAS,GAChC,eAAe,CAAC,CAAC,CAAC,CAkBpB;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAU9E"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { compilerAssert } from "./diagnostics.js";
|
|
2
|
+
import { numericRanges } from "./numeric-ranges.js";
|
|
3
|
+
/**
|
|
4
|
+
* Legacy marshalling of values to replicate before 0.56.0 behavior
|
|
5
|
+
* - string value -> `string`
|
|
6
|
+
* - numeric value -> `number`
|
|
7
|
+
* - boolean value -> `boolean`
|
|
8
|
+
* - null value -> `NullType`
|
|
9
|
+
*/
|
|
10
|
+
export function legacyMarshallTypeForJS(checker, value) {
|
|
11
|
+
switch (value.valueKind) {
|
|
12
|
+
case "BooleanValue":
|
|
13
|
+
case "StringValue":
|
|
14
|
+
return value.value;
|
|
15
|
+
case "NumericValue":
|
|
16
|
+
return Number(value.value.toString());
|
|
17
|
+
case "ObjectValue":
|
|
18
|
+
return objectValueToJs(value);
|
|
19
|
+
case "ArrayValue":
|
|
20
|
+
return arrayValueToJs(value);
|
|
21
|
+
case "EnumValue":
|
|
22
|
+
return value.value;
|
|
23
|
+
case "NullValue":
|
|
24
|
+
return checker.nullType;
|
|
25
|
+
case "ScalarValue":
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export function marshallTypeForJS(value, valueConstraint) {
|
|
30
|
+
switch (value.valueKind) {
|
|
31
|
+
case "BooleanValue":
|
|
32
|
+
case "StringValue":
|
|
33
|
+
return value.value;
|
|
34
|
+
case "NumericValue":
|
|
35
|
+
return numericValueToJs(value, valueConstraint);
|
|
36
|
+
case "ObjectValue":
|
|
37
|
+
return objectValueToJs(value);
|
|
38
|
+
case "ArrayValue":
|
|
39
|
+
return arrayValueToJs(value);
|
|
40
|
+
case "EnumValue":
|
|
41
|
+
return value;
|
|
42
|
+
case "NullValue":
|
|
43
|
+
return null;
|
|
44
|
+
case "ScalarValue":
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export function canNumericConstraintBeJsNumber(type) {
|
|
49
|
+
if (type === undefined)
|
|
50
|
+
return true;
|
|
51
|
+
switch (type.kind) {
|
|
52
|
+
case "Scalar":
|
|
53
|
+
return numericRanges[type.name]?.[2].isJsNumber;
|
|
54
|
+
case "Union":
|
|
55
|
+
return [...type.variants.values()].every((x) => canNumericConstraintBeJsNumber(x.type));
|
|
56
|
+
default:
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function numericValueToJs(type, valueConstraint) {
|
|
61
|
+
const canBeANumber = canNumericConstraintBeJsNumber(valueConstraint);
|
|
62
|
+
if (canBeANumber) {
|
|
63
|
+
const asNumber = type.value.asNumber();
|
|
64
|
+
compilerAssert(asNumber !== null, `Numeric value '${type.value.toString()}' is not a able to convert to a number without loosing precision.`);
|
|
65
|
+
return asNumber;
|
|
66
|
+
}
|
|
67
|
+
return type.value;
|
|
68
|
+
}
|
|
69
|
+
function objectValueToJs(type) {
|
|
70
|
+
const result = {};
|
|
71
|
+
for (const [key, value] of type.properties) {
|
|
72
|
+
result[key] = marshallTypeForJS(value.value, undefined);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
function arrayValueToJs(type) {
|
|
77
|
+
return type.values.map((x) => marshallTypeForJS(x, undefined));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=js-marshaller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js-marshaller.js","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,KAAY;IAEZ,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxC,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,YAAY;YACf,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC,QAAQ,CAAC;QAC1B,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAQ,EACR,eAAiC;IAEjC,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,KAAY,CAAC;QAC5B,KAAK,cAAc;YACjB,OAAO,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAQ,CAAC;QACzD,KAAK,aAAa;YAChB,OAAO,eAAe,CAAC,KAAK,CAAQ,CAAC;QACvC,KAAK,YAAY;YACf,OAAO,cAAc,CAAC,KAAK,CAAQ,CAAC;QACtC,KAAK,WAAW;YACd,OAAO,KAAY,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,IAAW,CAAC;QACrB,KAAK,aAAa;YAChB,OAAO,KAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAsB;IACnE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,IAAI,CAAC,IAAkC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAChF,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1F;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAkB,EAAE,eAAiC;IAC7E,MAAM,YAAY,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvC,cAAc,CACZ,QAAQ,KAAK,IAAI,EACjB,kBAAkB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,mEAAmE,CAC3G,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,IAAiB;IACxC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,cAAc,CAAC,IAAgB;IACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DiagnosticMessages, LinterDefinition, LinterRuleDefinition, TypeSpecLibrary, TypeSpecLibraryDef } from "./types.js";
|
|
1
|
+
import { DiagnosticMessages, LinterDefinition, LinterRuleDefinition, PackageFlags, TypeSpecLibrary, TypeSpecLibraryDef } from "./types.js";
|
|
2
2
|
export { paramMessage } from "./param-message.js";
|
|
3
3
|
/** @deprecated use createTypeSpecLibrary */
|
|
4
4
|
export declare const createCadlLibrary: typeof createTypeSpecLibrary;
|
|
@@ -23,6 +23,7 @@ export declare const createCadlLibrary: typeof createTypeSpecLibrary;
|
|
|
23
23
|
export declare function createTypeSpecLibrary<T extends {
|
|
24
24
|
[code: string]: DiagnosticMessages;
|
|
25
25
|
}, E extends Record<string, any>, State extends string = never>(lib: Readonly<TypeSpecLibraryDef<T, E, State>>): TypeSpecLibrary<T, E, State>;
|
|
26
|
+
export declare function definePackageFlags(flags: PackageFlags): PackageFlags;
|
|
26
27
|
export declare function defineLinter(def: LinterDefinition): LinterDefinition;
|
|
27
28
|
/** Create a new linter rule. */
|
|
28
29
|
export declare function createLinterRule<const N extends string, const T extends DiagnosticMessages>(definition: LinterRuleDefinition<N, T>): LinterRuleDefinition<N, T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAElB,gBAAgB,EAChB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAElB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EAEZ,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgBlD,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB,8BAAwB,CAAC;AAcvD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,SAAS;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,EAChD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,KAAK,SAAS,MAAM,GAAG,KAAK,EAC5B,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAmC9E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAEpE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAEpE;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,kBAAkB,EACzF,UAAU,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,8BAIvC;AAED,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB,6BAAuB,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAC3C,IAAI,CAEN"}
|
package/dist/src/core/library.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"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"}
|