@typespec/compiler 0.61.0-dev.19 → 0.61.0-dev.20
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/core/binder.d.ts.map +1 -1
- package/dist/src/core/binder.js +7 -1
- package/dist/src/core/binder.js.map +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +3 -33
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/js-marshaller.d.ts.map +1 -1
- package/dist/src/core/js-marshaller.js +16 -1
- package/dist/src/core/js-marshaller.js.map +1 -1
- package/dist/src/core/types.d.ts +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-marshaller.d.ts","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,KAAK,EAEV,eAAe,
|
|
1
|
+
{"version":3,"file":"js-marshaller.d.ts","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,KAAK,EAEV,eAAe,EAIf,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;AAcD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAc9E"}
|
|
@@ -45,12 +45,27 @@ export function marshallTypeForJS(value, valueConstraint) {
|
|
|
45
45
|
return value;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
function isNumericScalar(scalar) {
|
|
49
|
+
let current = scalar;
|
|
50
|
+
while (current) {
|
|
51
|
+
if (current.name === "numeric" && current.namespace?.name === "TypeSpec") {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
current = current.baseScalar;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
48
58
|
export function canNumericConstraintBeJsNumber(type) {
|
|
49
59
|
if (type === undefined)
|
|
50
60
|
return true;
|
|
51
61
|
switch (type.kind) {
|
|
52
62
|
case "Scalar":
|
|
53
|
-
|
|
63
|
+
if (isNumericScalar(type)) {
|
|
64
|
+
return numericRanges[type.name]?.[2].isJsNumber;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
54
69
|
case "Union":
|
|
55
70
|
return [...type.variants.values()].every((x) => canNumericConstraintBeJsNumber(x.type));
|
|
56
71
|
default:
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"js-marshaller.js","sourceRoot":"","sources":["../../../src/core/js-marshaller.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/types.d.ts
CHANGED
|
@@ -1824,18 +1824,18 @@ export interface DecoratorImplementations {
|
|
|
1824
1824
|
export interface PackageFlags {
|
|
1825
1825
|
/**
|
|
1826
1826
|
* Decorator arg marshalling algorithm. Specify how TypeSpec values are marshalled to decorator arguments.
|
|
1827
|
-
* - `
|
|
1827
|
+
* - `new` - New recommended behavior
|
|
1828
1828
|
* - string value -> `string`
|
|
1829
1829
|
* - numeric value -> `number` if the constraint can be represented as a JS number, Numeric otherwise(e.g. for types int64, decimal128, numeric, etc.)
|
|
1830
1830
|
* - boolean value -> `boolean`
|
|
1831
1831
|
* - null value -> `null`
|
|
1832
1832
|
*
|
|
1833
|
-
* - `legacy` Behavior before version 0.56.0.
|
|
1833
|
+
* - `legacy` - DEPRECATED - Behavior before version 0.56.0.
|
|
1834
1834
|
* - string value -> `string`
|
|
1835
1835
|
* - numeric value -> `number`
|
|
1836
1836
|
* - boolean value -> `boolean`
|
|
1837
1837
|
* - null value -> `NullType`
|
|
1838
|
-
* @default
|
|
1838
|
+
* @default new
|
|
1839
1839
|
*/
|
|
1840
1840
|
readonly decoratorArgMarshalling?: "legacy" | "new";
|
|
1841
1841
|
}
|