@typespec/compiler 0.56.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.
Files changed (120) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +9 -9
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/core/binder.d.ts.map +1 -1
  5. package/dist/src/core/binder.js +15 -2
  6. package/dist/src/core/binder.js.map +1 -1
  7. package/dist/src/core/checker.d.ts +10 -8
  8. package/dist/src/core/checker.d.ts.map +1 -1
  9. package/dist/src/core/checker.js +1576 -241
  10. package/dist/src/core/checker.js.map +1 -1
  11. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts +6 -0
  12. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts.map +1 -0
  13. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js +15 -0
  14. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js.map +1 -0
  15. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts +6 -0
  16. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts.map +1 -0
  17. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js +15 -0
  18. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js.map +1 -0
  19. package/dist/src/core/diagnostic-creator.d.ts.map +1 -1
  20. package/dist/src/core/diagnostic-creator.js +1 -2
  21. package/dist/src/core/diagnostic-creator.js.map +1 -1
  22. package/dist/src/core/diagnostics.js +2 -2
  23. package/dist/src/core/diagnostics.js.map +1 -1
  24. package/dist/src/core/helpers/index.d.ts +1 -1
  25. package/dist/src/core/helpers/index.d.ts.map +1 -1
  26. package/dist/src/core/helpers/index.js +3 -1
  27. package/dist/src/core/helpers/index.js.map +1 -1
  28. package/dist/src/core/helpers/string-template-utils.d.ts +6 -6
  29. package/dist/src/core/helpers/string-template-utils.d.ts.map +1 -1
  30. package/dist/src/core/helpers/string-template-utils.js +20 -33
  31. package/dist/src/core/helpers/string-template-utils.js.map +1 -1
  32. package/dist/src/core/helpers/type-name-utils.d.ts +3 -2
  33. package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
  34. package/dist/src/core/helpers/type-name-utils.js +57 -8
  35. package/dist/src/core/helpers/type-name-utils.js.map +1 -1
  36. package/dist/src/core/index.d.ts +3 -1
  37. package/dist/src/core/index.d.ts.map +1 -1
  38. package/dist/src/core/index.js +3 -1
  39. package/dist/src/core/index.js.map +1 -1
  40. package/dist/src/core/intrinsic-type-state.d.ts +57 -0
  41. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -0
  42. package/dist/src/core/intrinsic-type-state.js +150 -0
  43. package/dist/src/core/intrinsic-type-state.js.map +1 -0
  44. package/dist/src/core/js-marshaller.d.ts +13 -0
  45. package/dist/src/core/js-marshaller.d.ts.map +1 -0
  46. package/dist/src/core/js-marshaller.js +79 -0
  47. package/dist/src/core/js-marshaller.js.map +1 -0
  48. package/dist/src/core/library.d.ts +2 -1
  49. package/dist/src/core/library.d.ts.map +1 -1
  50. package/dist/src/core/library.js +3 -0
  51. package/dist/src/core/library.js.map +1 -1
  52. package/dist/src/core/messages.d.ts +235 -2
  53. package/dist/src/core/messages.d.ts.map +1 -1
  54. package/dist/src/core/messages.js +74 -1
  55. package/dist/src/core/messages.js.map +1 -1
  56. package/dist/src/core/numeric-ranges.d.ts +51 -0
  57. package/dist/src/core/numeric-ranges.d.ts.map +1 -0
  58. package/dist/src/core/numeric-ranges.js +30 -0
  59. package/dist/src/core/numeric-ranges.js.map +1 -0
  60. package/dist/src/core/parser.d.ts.map +1 -1
  61. package/dist/src/core/parser.js +232 -5
  62. package/dist/src/core/parser.js.map +1 -1
  63. package/dist/src/core/program.d.ts.map +1 -1
  64. package/dist/src/core/program.js +2 -2
  65. package/dist/src/core/program.js.map +1 -1
  66. package/dist/src/core/projector.d.ts.map +1 -1
  67. package/dist/src/core/projector.js +10 -2
  68. package/dist/src/core/projector.js.map +1 -1
  69. package/dist/src/core/scanner.d.ts +42 -37
  70. package/dist/src/core/scanner.d.ts.map +1 -1
  71. package/dist/src/core/scanner.js +67 -46
  72. package/dist/src/core/scanner.js.map +1 -1
  73. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  74. package/dist/src/core/semantic-walker.js +12 -0
  75. package/dist/src/core/semantic-walker.js.map +1 -1
  76. package/dist/src/core/type-utils.d.ts +18 -7
  77. package/dist/src/core/type-utils.d.ts.map +1 -1
  78. package/dist/src/core/type-utils.js +24 -5
  79. package/dist/src/core/type-utils.js.map +1 -1
  80. package/dist/src/core/types.d.ts +224 -45
  81. package/dist/src/core/types.d.ts.map +1 -1
  82. package/dist/src/core/types.js +8 -0
  83. package/dist/src/core/types.js.map +1 -1
  84. package/dist/src/emitter-framework/type-emitter.d.ts.map +1 -1
  85. package/dist/src/emitter-framework/type-emitter.js +6 -0
  86. package/dist/src/emitter-framework/type-emitter.js.map +1 -1
  87. package/dist/src/formatter/print/comment-handler.d.ts.map +1 -1
  88. package/dist/src/formatter/print/comment-handler.js +22 -0
  89. package/dist/src/formatter/print/comment-handler.js.map +1 -1
  90. package/dist/src/formatter/print/printer.d.ts +11 -5
  91. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  92. package/dist/src/formatter/print/printer.js +95 -4
  93. package/dist/src/formatter/print/printer.js.map +1 -1
  94. package/dist/src/lib/decorators.d.ts +3 -46
  95. package/dist/src/lib/decorators.d.ts.map +1 -1
  96. package/dist/src/lib/decorators.js +28 -104
  97. package/dist/src/lib/decorators.js.map +1 -1
  98. package/dist/src/lib/intrinsic-decorators.d.ts +2 -2
  99. package/dist/src/lib/intrinsic-decorators.d.ts.map +1 -1
  100. package/dist/src/lib/intrinsic-decorators.js +7 -0
  101. package/dist/src/lib/intrinsic-decorators.js.map +1 -1
  102. package/dist/src/server/classify.d.ts.map +1 -1
  103. package/dist/src/server/classify.js +10 -0
  104. package/dist/src/server/classify.js.map +1 -1
  105. package/dist/src/server/completion.d.ts.map +1 -1
  106. package/dist/src/server/completion.js +6 -0
  107. package/dist/src/server/completion.js.map +1 -1
  108. package/dist/src/server/serverlib.js +2 -2
  109. package/dist/src/server/serverlib.js.map +1 -1
  110. package/dist/src/server/tmlanguage.d.ts +1 -1
  111. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  112. package/dist/src/server/tmlanguage.js +147 -20
  113. package/dist/src/server/tmlanguage.js.map +1 -1
  114. package/dist/src/server/type-details.js +1 -2
  115. package/dist/src/server/type-details.js.map +1 -1
  116. package/dist/src/server/type-signature.js +15 -6
  117. package/dist/src/server/type-signature.js.map +1 -1
  118. package/dist/typespec.tmLanguage +408 -17
  119. package/lib/intrinsics.tsp +55 -5
  120. package/package.json +5 -4
@@ -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":"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"}
@@ -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,EAEpB,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,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"}
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"}
@@ -71,6 +71,9 @@ export function createTypeSpecLibrary(lib) {
71
71
  return program.tracer.sub(lib.name);
72
72
  }
73
73
  }
74
+ export function definePackageFlags(flags) {
75
+ return flags;
76
+ }
74
77
  export function defineLinter(def) {
75
78
  return def;
76
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"library.js","sourceRoot":"","sources":["../../../src/core/library.ts"],"names":[],"mappings":"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"}