@typespec/compiler 0.57.0-dev.0 → 0.57.0-dev.5

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 (194) 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/config/types.d.ts +2 -2
  5. package/dist/src/config/types.d.ts.map +1 -1
  6. package/dist/src/core/binder.d.ts +1 -1
  7. package/dist/src/core/binder.d.ts.map +1 -1
  8. package/dist/src/core/binder.js +16 -3
  9. package/dist/src/core/binder.js.map +1 -1
  10. package/dist/src/core/checker.d.ts +11 -9
  11. package/dist/src/core/checker.d.ts.map +1 -1
  12. package/dist/src/core/checker.js +1577 -241
  13. package/dist/src/core/checker.js.map +1 -1
  14. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts +6 -0
  15. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.d.ts.map +1 -0
  16. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js +15 -0
  17. package/dist/src/core/compiler-code-fixes/model-to-object-literal.codefix.js.map +1 -0
  18. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts +6 -0
  19. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.d.ts.map +1 -0
  20. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js +15 -0
  21. package/dist/src/core/compiler-code-fixes/tuple-to-array-value.codefix.js.map +1 -0
  22. package/dist/src/core/decorator-utils.d.ts +5 -1
  23. package/dist/src/core/decorator-utils.d.ts.map +1 -1
  24. package/dist/src/core/decorator-utils.js +11 -1
  25. package/dist/src/core/decorator-utils.js.map +1 -1
  26. package/dist/src/core/deprecation.d.ts +1 -1
  27. package/dist/src/core/deprecation.d.ts.map +1 -1
  28. package/dist/src/core/diagnostic-creator.d.ts.map +1 -1
  29. package/dist/src/core/diagnostic-creator.js +1 -2
  30. package/dist/src/core/diagnostic-creator.js.map +1 -1
  31. package/dist/src/core/diagnostics.js +3 -3
  32. package/dist/src/core/diagnostics.js.map +1 -1
  33. package/dist/src/core/emitter-utils.d.ts +1 -1
  34. package/dist/src/core/emitter-utils.d.ts.map +1 -1
  35. package/dist/src/core/helpers/discriminator-utils.d.ts +2 -2
  36. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
  37. package/dist/src/core/helpers/discriminator-utils.js +1 -1
  38. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  39. package/dist/src/core/helpers/index.d.ts +1 -1
  40. package/dist/src/core/helpers/index.d.ts.map +1 -1
  41. package/dist/src/core/helpers/index.js +3 -1
  42. package/dist/src/core/helpers/index.js.map +1 -1
  43. package/dist/src/core/helpers/location-context.d.ts +2 -2
  44. package/dist/src/core/helpers/location-context.d.ts.map +1 -1
  45. package/dist/src/core/helpers/projected-names-utils.d.ts +2 -2
  46. package/dist/src/core/helpers/projected-names-utils.d.ts.map +1 -1
  47. package/dist/src/core/helpers/projected-names-utils.js.map +1 -1
  48. package/dist/src/core/helpers/string-template-utils.d.ts +6 -6
  49. package/dist/src/core/helpers/string-template-utils.d.ts.map +1 -1
  50. package/dist/src/core/helpers/string-template-utils.js +20 -33
  51. package/dist/src/core/helpers/string-template-utils.js.map +1 -1
  52. package/dist/src/core/helpers/type-name-utils.d.ts +3 -2
  53. package/dist/src/core/helpers/type-name-utils.d.ts.map +1 -1
  54. package/dist/src/core/helpers/type-name-utils.js +57 -8
  55. package/dist/src/core/helpers/type-name-utils.js.map +1 -1
  56. package/dist/src/core/index.d.ts +4 -1
  57. package/dist/src/core/index.d.ts.map +1 -1
  58. package/dist/src/core/index.js +4 -1
  59. package/dist/src/core/index.js.map +1 -1
  60. package/dist/src/core/intrinsic-type-state.d.ts +63 -0
  61. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -0
  62. package/dist/src/core/intrinsic-type-state.js +160 -0
  63. package/dist/src/core/intrinsic-type-state.js.map +1 -0
  64. package/dist/src/core/js-marshaller.d.ts +13 -0
  65. package/dist/src/core/js-marshaller.d.ts.map +1 -0
  66. package/dist/src/core/js-marshaller.js +79 -0
  67. package/dist/src/core/js-marshaller.js.map +1 -0
  68. package/dist/src/core/library.d.ts +2 -1
  69. package/dist/src/core/library.d.ts.map +1 -1
  70. package/dist/src/core/library.js +3 -0
  71. package/dist/src/core/library.js.map +1 -1
  72. package/dist/src/core/linter.d.ts +1 -1
  73. package/dist/src/core/linter.d.ts.map +1 -1
  74. package/dist/src/core/linter.js +1 -1
  75. package/dist/src/core/linter.js.map +1 -1
  76. package/dist/src/core/messages.d.ts +235 -2
  77. package/dist/src/core/messages.d.ts.map +1 -1
  78. package/dist/src/core/messages.js +74 -1
  79. package/dist/src/core/messages.js.map +1 -1
  80. package/dist/src/core/numeric-ranges.d.ts +51 -0
  81. package/dist/src/core/numeric-ranges.d.ts.map +1 -0
  82. package/dist/src/core/numeric-ranges.js +30 -0
  83. package/dist/src/core/numeric-ranges.js.map +1 -0
  84. package/dist/src/core/parser.d.ts.map +1 -1
  85. package/dist/src/core/parser.js +232 -5
  86. package/dist/src/core/parser.js.map +1 -1
  87. package/dist/src/core/program.d.ts +2 -45
  88. package/dist/src/core/program.d.ts.map +1 -1
  89. package/dist/src/core/program.js +3 -127
  90. package/dist/src/core/program.js.map +1 -1
  91. package/dist/src/core/projected-program.d.ts +3 -0
  92. package/dist/src/core/projected-program.d.ts.map +1 -0
  93. package/dist/src/core/projected-program.js +4 -0
  94. package/dist/src/core/projected-program.js.map +1 -0
  95. package/dist/src/core/projection-members.d.ts +2 -2
  96. package/dist/src/core/projection-members.d.ts.map +1 -1
  97. package/dist/src/core/projector.d.ts +2 -2
  98. package/dist/src/core/projector.d.ts.map +1 -1
  99. package/dist/src/core/projector.js +12 -3
  100. package/dist/src/core/projector.js.map +1 -1
  101. package/dist/src/core/scanner.d.ts +42 -37
  102. package/dist/src/core/scanner.d.ts.map +1 -1
  103. package/dist/src/core/scanner.js +67 -46
  104. package/dist/src/core/scanner.js.map +1 -1
  105. package/dist/src/core/semantic-walker.d.ts +1 -1
  106. package/dist/src/core/semantic-walker.d.ts.map +1 -1
  107. package/dist/src/core/semantic-walker.js +12 -0
  108. package/dist/src/core/semantic-walker.js.map +1 -1
  109. package/dist/src/core/state-accessors.d.ts +46 -0
  110. package/dist/src/core/state-accessors.d.ts.map +1 -0
  111. package/dist/src/core/state-accessors.js +123 -0
  112. package/dist/src/core/state-accessors.js.map +1 -0
  113. package/dist/src/core/type-utils.d.ts +18 -7
  114. package/dist/src/core/type-utils.d.ts.map +1 -1
  115. package/dist/src/core/type-utils.js +24 -5
  116. package/dist/src/core/type-utils.js.map +1 -1
  117. package/dist/src/core/types.d.ts +224 -45
  118. package/dist/src/core/types.d.ts.map +1 -1
  119. package/dist/src/core/types.js +8 -0
  120. package/dist/src/core/types.js.map +1 -1
  121. package/dist/src/emitter-framework/asset-emitter.d.ts +1 -1
  122. package/dist/src/emitter-framework/asset-emitter.d.ts.map +1 -1
  123. package/dist/src/emitter-framework/asset-emitter.js +4 -1
  124. package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
  125. package/dist/src/emitter-framework/ref-scope.d.ts +1 -1
  126. package/dist/src/emitter-framework/ref-scope.d.ts.map +1 -1
  127. package/dist/src/emitter-framework/reference-cycle.d.ts +2 -2
  128. package/dist/src/emitter-framework/reference-cycle.d.ts.map +1 -1
  129. package/dist/src/emitter-framework/reference-cycle.js +1 -1
  130. package/dist/src/emitter-framework/reference-cycle.js.map +1 -1
  131. package/dist/src/emitter-framework/type-emitter.d.ts +2 -1
  132. package/dist/src/emitter-framework/type-emitter.d.ts.map +1 -1
  133. package/dist/src/emitter-framework/type-emitter.js +10 -2
  134. package/dist/src/emitter-framework/type-emitter.js.map +1 -1
  135. package/dist/src/emitter-framework/types.d.ts +2 -2
  136. package/dist/src/emitter-framework/types.d.ts.map +1 -1
  137. package/dist/src/formatter/print/comment-handler.d.ts.map +1 -1
  138. package/dist/src/formatter/print/comment-handler.js +22 -0
  139. package/dist/src/formatter/print/comment-handler.js.map +1 -1
  140. package/dist/src/formatter/print/printer.d.ts +11 -5
  141. package/dist/src/formatter/print/printer.d.ts.map +1 -1
  142. package/dist/src/formatter/print/printer.js +95 -4
  143. package/dist/src/formatter/print/printer.js.map +1 -1
  144. package/dist/src/init/file-templating.d.ts +2 -2
  145. package/dist/src/init/file-templating.d.ts.map +1 -1
  146. package/dist/src/lib/decorators.d.ts +3 -55
  147. package/dist/src/lib/decorators.d.ts.map +1 -1
  148. package/dist/src/lib/decorators.js +30 -124
  149. package/dist/src/lib/decorators.js.map +1 -1
  150. package/dist/src/lib/encoded-names.d.ts +2 -2
  151. package/dist/src/lib/encoded-names.d.ts.map +1 -1
  152. package/dist/src/lib/intrinsic-decorators.d.ts +2 -2
  153. package/dist/src/lib/intrinsic-decorators.d.ts.map +1 -1
  154. package/dist/src/lib/intrinsic-decorators.js +7 -0
  155. package/dist/src/lib/intrinsic-decorators.js.map +1 -1
  156. package/dist/src/lib/service.d.ts +1 -1
  157. package/dist/src/lib/service.d.ts.map +1 -1
  158. package/dist/src/server/classify.d.ts.map +1 -1
  159. package/dist/src/server/classify.js +10 -0
  160. package/dist/src/server/classify.js.map +1 -1
  161. package/dist/src/server/completion.d.ts.map +1 -1
  162. package/dist/src/server/completion.js +6 -0
  163. package/dist/src/server/completion.js.map +1 -1
  164. package/dist/src/server/serverlib.js +2 -2
  165. package/dist/src/server/serverlib.js.map +1 -1
  166. package/dist/src/server/tmlanguage.d.ts +1 -1
  167. package/dist/src/server/tmlanguage.d.ts.map +1 -1
  168. package/dist/src/server/tmlanguage.js +147 -20
  169. package/dist/src/server/tmlanguage.js.map +1 -1
  170. package/dist/src/server/type-details.js +1 -2
  171. package/dist/src/server/type-details.js.map +1 -1
  172. package/dist/src/server/type-signature.js +15 -6
  173. package/dist/src/server/type-signature.js.map +1 -1
  174. package/dist/src/server/types.d.ts +1 -1
  175. package/dist/src/server/types.d.ts.map +1 -1
  176. package/dist/src/testing/expect.js +1 -1
  177. package/dist/src/testing/expect.js.map +1 -1
  178. package/dist/src/testing/rule-tester.d.ts.map +1 -1
  179. package/dist/src/testing/rule-tester.js +1 -2
  180. package/dist/src/testing/rule-tester.js.map +1 -1
  181. package/dist/src/testing/test-host.d.ts +1 -2
  182. package/dist/src/testing/test-host.d.ts.map +1 -1
  183. package/dist/src/testing/test-host.js +1 -8
  184. package/dist/src/testing/test-host.js.map +1 -1
  185. package/dist/src/testing/test-server-host.d.ts.map +1 -1
  186. package/dist/src/testing/test-server-host.js +2 -1
  187. package/dist/src/testing/test-server-host.js.map +1 -1
  188. package/dist/src/testing/test-utils.d.ts +1 -0
  189. package/dist/src/testing/test-utils.d.ts.map +1 -1
  190. package/dist/src/testing/test-utils.js +7 -0
  191. package/dist/src/testing/test-utils.js.map +1 -1
  192. package/dist/typespec.tmLanguage +408 -17
  193. package/lib/intrinsics.tsp +55 -5
  194. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import { printId } from "../../formatter/print/printer.js";
2
- import { isTemplateInstance } from "../type-utils.js";
2
+ import { isDefined } from "../../utils/misc.js";
3
+ import { isTemplateInstance, isType, isValue } from "../type-utils.js";
3
4
  export function getTypeName(type, options) {
4
5
  switch (type.kind) {
5
6
  case "Namespace":
@@ -27,18 +28,59 @@ export function getTypeName(type, options) {
27
28
  case "Tuple":
28
29
  return "[" + type.values.map((x) => getTypeName(x, options)).join(", ") + "]";
29
30
  case "StringTemplate":
30
- return "string";
31
+ return getStringTemplateName(type);
31
32
  case "String":
32
33
  return `"${type.value}"`;
33
34
  case "Number":
35
+ return type.valueAsString;
34
36
  case "Boolean":
35
37
  return type.value.toString();
36
38
  case "Intrinsic":
37
39
  return type.name;
38
- case "Value":
39
- return `valueof ${getTypeName(type.target, options)}`;
40
+ default:
41
+ return `(unnamed type)`;
42
+ }
43
+ }
44
+ function getValuePreview(value, options) {
45
+ switch (value.valueKind) {
46
+ case "ObjectValue":
47
+ return `#{${[...value.properties.entries()].map(([name, value]) => `${name}: ${getValuePreview(value.value, options)}`).join(", ")}}`;
48
+ case "ArrayValue":
49
+ return `#[${value.values.map((x) => getValuePreview(x, options)).join(", ")}]`;
50
+ case "StringValue":
51
+ return `"${value.value}"`;
52
+ case "BooleanValue":
53
+ return `${value.value}`;
54
+ case "NumericValue":
55
+ return `${value.value.toString()}`;
56
+ case "EnumValue":
57
+ return getTypeName(value.value);
58
+ case "NullValue":
59
+ return "null";
60
+ case "ScalarValue":
61
+ return `${getTypeName(value.type, options)}.${value.value.name}(${value.value.args.map((x) => getValuePreview(x, options)).join(", ")}})`;
62
+ }
63
+ }
64
+ export function getEntityName(entity, options) {
65
+ if (isValue(entity)) {
66
+ return getValuePreview(entity, options);
67
+ }
68
+ else if (isType(entity)) {
69
+ return getTypeName(entity, options);
70
+ }
71
+ else {
72
+ switch (entity.entityKind) {
73
+ case "MixedParameterConstraint":
74
+ return [
75
+ entity.type && getEntityName(entity.type),
76
+ entity.valueType && `valueof ${getEntityName(entity.valueType)}`,
77
+ ]
78
+ .filter(isDefined)
79
+ .join(" | ");
80
+ case "Indeterminate":
81
+ return getTypeName(entity.type, options);
82
+ }
40
83
  }
41
- return "(unnamed type)";
42
84
  }
43
85
  export function isStdNamespace(namespace) {
44
86
  return ((namespace.name === "TypeSpec" && namespace.namespace?.name === "") ||
@@ -89,12 +131,13 @@ function getModelName(model, options) {
89
131
  }
90
132
  }
91
133
  if (model.name === "") {
92
- return nsPrefix + "(anonymous model)";
134
+ return (nsPrefix +
135
+ `{ ${[...model.properties.values()].map((prop) => `${prop.name}: ${getTypeName(prop.type, options)}`).join(", ")} }`);
93
136
  }
94
137
  const modelName = nsPrefix + getIdentifierName(model.name, options);
95
138
  if (isTemplateInstance(model)) {
96
139
  // template instantiation
97
- const args = model.templateMapper.args.map((x) => getTypeName(x, options));
140
+ const args = model.templateMapper.args.map((x) => getEntityName(x, options));
98
141
  return `${modelName}<${args.join(", ")}>`;
99
142
  }
100
143
  else if (model.node?.templateParameters?.length > 0) {
@@ -134,7 +177,7 @@ function getInterfaceName(iface, options) {
134
177
  let interfaceName = getIdentifierName(iface.name, options);
135
178
  if (isTemplateInstance(iface)) {
136
179
  interfaceName += `<${iface.templateMapper.args
137
- .map((x) => getTypeName(x, options))
180
+ .map((x) => getEntityName(x, options))
138
181
  .join(", ")}>`;
139
182
  }
140
183
  return `${getNamespacePrefix(iface.namespace, options)}${interfaceName}`;
@@ -154,4 +197,10 @@ function getOperationName(op, options) {
154
197
  function getIdentifierName(name, options) {
155
198
  return options?.printable ? printId(name) : name;
156
199
  }
200
+ function getStringTemplateName(type) {
201
+ if (type.stringValue) {
202
+ return `"${type.stringValue}"`;
203
+ }
204
+ return "string";
205
+ }
157
206
  //# sourceMappingURL=type-name-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-name-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-name-utils.js","sourceRoot":"","sources":["../../../../src/core/helpers/type-name-utils.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,17 @@ export * from "./diagnostics.js";
6
6
  export * from "./emitter-utils.js";
7
7
  export * from "./formatter.js";
8
8
  export * from "./helpers/index.js";
9
- export { createCadlLibrary, createLinterRule as createRule, createTypeSpecLibrary, defineLinter, paramMessage, setCadlNamespace, setTypeSpecNamespace, } from "./library.js";
9
+ export { getDiscriminatedTypes, getDiscriminator, getDocData, getMaxItems, getMaxItemsAsNumeric, getMaxLength, getMaxLengthAsNumeric, getMaxValue, getMaxValueAsNumeric, getMaxValueExclusive, getMaxValueExclusiveAsNumeric, getMinItems, getMinItemsAsNumeric, getMinLength, getMinLengthAsNumeric, getMinValue, getMinValueAsNumeric, getMinValueExclusive, getMinValueExclusiveAsNumeric, } from "./intrinsic-type-state.js";
10
+ export { createCadlLibrary, createLinterRule as createRule, createTypeSpecLibrary, defineLinter, definePackageFlags, paramMessage, setCadlNamespace, setTypeSpecNamespace, } from "./library.js";
10
11
  export * from "./module-resolver.js";
11
12
  export { NodeHost } from "./node-host.js";
13
+ export { Numeric, isNumeric } from "./numeric.js";
12
14
  export * from "./options.js";
13
15
  export { getPositionBeforeTrivia } from "./parser-utils.js";
14
16
  export * from "./parser.js";
15
17
  export * from "./path-utils.js";
16
18
  export * from "./program.js";
19
+ export { isProjectedProgram } from "./projected-program.js";
17
20
  export * from "./scanner.js";
18
21
  export * from "./semantic-walker.js";
19
22
  export { createSourceFile, getSourceFileKindFromExt } from "./source-file.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,IAAI,UAAU,EAC9B,qBAAqB,EACrB,YAAY,EACZ,YAAY,EAEZ,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,iBAAiB,EACjB,gBAAgB,IAAI,UAAU,EAC9B,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,YAAY,EAEZ,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -6,18 +6,21 @@ export * from "./diagnostics.js";
6
6
  export * from "./emitter-utils.js";
7
7
  export * from "./formatter.js";
8
8
  export * from "./helpers/index.js";
9
+ export { getDiscriminatedTypes, getDiscriminator, getDocData, getMaxItems, getMaxItemsAsNumeric, getMaxLength, getMaxLengthAsNumeric, getMaxValue, getMaxValueAsNumeric, getMaxValueExclusive, getMaxValueExclusiveAsNumeric, getMinItems, getMinItemsAsNumeric, getMinLength, getMinLengthAsNumeric, getMinValue, getMinValueAsNumeric, getMinValueExclusive, getMinValueExclusiveAsNumeric, } from "./intrinsic-type-state.js";
9
10
  export {
10
11
  // eslint-disable-next-line deprecation/deprecation
11
- createCadlLibrary, createLinterRule as createRule, createTypeSpecLibrary, defineLinter, paramMessage,
12
+ createCadlLibrary, createLinterRule as createRule, createTypeSpecLibrary, defineLinter, definePackageFlags, paramMessage,
12
13
  // eslint-disable-next-line deprecation/deprecation
13
14
  setCadlNamespace, setTypeSpecNamespace, } from "./library.js";
14
15
  export * from "./module-resolver.js";
15
16
  export { NodeHost } from "./node-host.js";
17
+ export { Numeric, isNumeric } from "./numeric.js";
16
18
  export * from "./options.js";
17
19
  export { getPositionBeforeTrivia } from "./parser-utils.js";
18
20
  export * from "./parser.js";
19
21
  export * from "./path-utils.js";
20
22
  export * from "./program.js";
23
+ export { isProjectedProgram } from "./projected-program.js";
21
24
  export * from "./scanner.js";
22
25
  export * from "./semantic-walker.js";
23
26
  export { createSourceFile, getSourceFileKindFromExt } from "./source-file.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,OAAO;AACL,mDAAmD;AACnD,iBAAiB,EACjB,gBAAgB,IAAI,UAAU,EAC9B,qBAAqB,EACrB,YAAY,EACZ,YAAY;AACZ,mDAAmD;AACnD,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO;AACL,mDAAmD;AACnD,iBAAiB,EACjB,gBAAgB,IAAI,UAAU,EAC9B,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,YAAY;AACZ,mDAAmD;AACnD,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { Model, Type, Union } from "./index.js";
2
+ import type { Numeric } from "./numeric.js";
3
+ import type { Program } from "./program.js";
4
+ export declare function setMinValue(program: Program, target: Type, value: Numeric): void;
5
+ export declare function getMinValueAsNumeric(program: Program, target: Type): Numeric | undefined;
6
+ export declare function getMinValue(program: Program, target: Type): number | undefined;
7
+ export declare function setMaxValue(program: Program, target: Type, value: Numeric): void;
8
+ export declare function getMaxValueAsNumeric(program: Program, target: Type): Numeric | undefined;
9
+ export declare function getMaxValue(program: Program, target: Type): number | undefined;
10
+ export declare function setMinValueExclusive(program: Program, target: Type, value: Numeric): void;
11
+ export declare function getMinValueExclusiveAsNumeric(program: Program, target: Type): Numeric | undefined;
12
+ export declare function getMinValueExclusive(program: Program, target: Type): number | undefined;
13
+ export declare function setMaxValueExclusive(program: Program, target: Type, value: Numeric): void;
14
+ export declare function getMaxValueExclusiveAsNumeric(program: Program, target: Type): Numeric | undefined;
15
+ export declare function getMaxValueExclusive(program: Program, target: Type): number | undefined;
16
+ export declare function setMinLength(program: Program, target: Type, value: Numeric): void;
17
+ /**
18
+ * Get the minimum length of a string type as a {@link Numeric} value.
19
+ * @param program Current program
20
+ * @param target Type with the `@minLength` decorator
21
+ */
22
+ export declare function getMinLengthAsNumeric(program: Program, target: Type): Numeric | undefined;
23
+ export declare function getMinLength(program: Program, target: Type): number | undefined;
24
+ export declare function setMaxLength(program: Program, target: Type, value: Numeric): void;
25
+ /**
26
+ * Get the minimum length of a string type as a {@link Numeric} value.
27
+ * @param program Current program
28
+ * @param target Type with the `@maxLength` decorator
29
+ */
30
+ export declare function getMaxLengthAsNumeric(program: Program, target: Type): Numeric | undefined;
31
+ export declare function getMaxLength(program: Program, target: Type): number | undefined;
32
+ export declare function setMinItems(program: Program, target: Type, value: Numeric): void;
33
+ export declare function getMinItemsAsNumeric(program: Program, target: Type): Numeric | undefined;
34
+ export declare function getMinItems(program: Program, target: Type): number | undefined;
35
+ export declare function setMaxItems(program: Program, target: Type, value: Numeric): void;
36
+ export declare function getMaxItemsAsNumeric(program: Program, target: Type): Numeric | undefined;
37
+ export declare function getMaxItems(program: Program, target: Type): number | undefined;
38
+ export interface DocData {
39
+ /**
40
+ * Doc value.
41
+ */
42
+ value: string;
43
+ /**
44
+ * How was the doc set.
45
+ * - `decorator` means the `@doc` decorator was used
46
+ * - `comment` means it was set from a `/** comment * /`
47
+ */
48
+ source: "decorator" | "comment";
49
+ }
50
+ /**
51
+ * Get the documentation information for the given type. In most cases you probably just want to use {@link getDoc}
52
+ * @param program Program
53
+ * @param target Type
54
+ * @returns Doc data with source information.
55
+ */
56
+ export declare function getDocData(program: Program, target: Type): DocData | undefined;
57
+ export interface Discriminator {
58
+ readonly propertyName: string;
59
+ }
60
+ export declare function setDiscriminator(program: Program, entity: Type, discriminator: Discriminator): void;
61
+ export declare function getDiscriminator(program: Program, entity: Type): Discriminator | undefined;
62
+ export declare function getDiscriminatedTypes(program: Program): [Model | Union, Discriminator][];
63
+ //# sourceMappingURL=intrinsic-type-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intrinsic-type-state.d.ts","sourceRoot":"","sources":["../../../src/core/intrinsic-type-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
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
+ discriminator: createStateSymbol("discriminator"),
19
+ };
20
+ // #region @minValue
21
+ export function setMinValue(program, target, value) {
22
+ program.stateMap(stateKeys.minValues).set(target, value);
23
+ }
24
+ export function getMinValueAsNumeric(program, target) {
25
+ return program.stateMap(stateKeys.minValues).get(target);
26
+ }
27
+ export function getMinValue(program, target) {
28
+ return getMinValueAsNumeric(program, target)?.asNumber() ?? undefined;
29
+ }
30
+ // #endregion @minValue
31
+ // #region @maxValue
32
+ export function setMaxValue(program, target, value) {
33
+ program.stateMap(stateKeys.maxValues).set(target, value);
34
+ }
35
+ export function getMaxValueAsNumeric(program, target) {
36
+ return program.stateMap(stateKeys.maxValues).get(target);
37
+ }
38
+ export function getMaxValue(program, target) {
39
+ return getMaxValueAsNumeric(program, target)?.asNumber() ?? undefined;
40
+ }
41
+ // #endregion @maxValue
42
+ // #region @minValueExclusive
43
+ export function setMinValueExclusive(program, target, value) {
44
+ program.stateMap(stateKeys.minValueExclusive).set(target, value);
45
+ }
46
+ export function getMinValueExclusiveAsNumeric(program, target) {
47
+ return program.stateMap(stateKeys.minValueExclusive).get(target);
48
+ }
49
+ export function getMinValueExclusive(program, target) {
50
+ return getMinValueExclusiveAsNumeric(program, target)?.asNumber() ?? undefined;
51
+ }
52
+ // #endregion @minValueExclusive
53
+ // #region @maxValueExclusive
54
+ export function setMaxValueExclusive(program, target, value) {
55
+ program.stateMap(stateKeys.maxValueExclusive).set(target, value);
56
+ }
57
+ export function getMaxValueExclusiveAsNumeric(program, target) {
58
+ return program.stateMap(stateKeys.maxValueExclusive).get(target);
59
+ }
60
+ export function getMaxValueExclusive(program, target) {
61
+ return getMaxValueExclusiveAsNumeric(program, target)?.asNumber() ?? undefined;
62
+ }
63
+ // #endregion @maxValueExclusive
64
+ // #region @minLength
65
+ export function setMinLength(program, target, value) {
66
+ program.stateMap(stateKeys.minLength).set(target, value);
67
+ }
68
+ /**
69
+ * Get the minimum length of a string type as a {@link Numeric} value.
70
+ * @param program Current program
71
+ * @param target Type with the `@minLength` decorator
72
+ */
73
+ export function getMinLengthAsNumeric(program, target) {
74
+ return program.stateMap(stateKeys.minLength).get(target);
75
+ }
76
+ export function getMinLength(program, target) {
77
+ return getMinLengthAsNumeric(program, target)?.asNumber() ?? undefined;
78
+ }
79
+ // #endregion @minLength
80
+ // #region @maxLength
81
+ export function setMaxLength(program, target, value) {
82
+ program.stateMap(stateKeys.maxLength).set(target, value);
83
+ }
84
+ /**
85
+ * Get the minimum length of a string type as a {@link Numeric} value.
86
+ * @param program Current program
87
+ * @param target Type with the `@maxLength` decorator
88
+ */
89
+ export function getMaxLengthAsNumeric(program, target) {
90
+ return program.stateMap(stateKeys.maxLength).get(target);
91
+ }
92
+ export function getMaxLength(program, target) {
93
+ return getMaxLengthAsNumeric(program, target)?.asNumber() ?? undefined;
94
+ }
95
+ // #endregion @maxLength
96
+ // #region @minItems
97
+ export function setMinItems(program, target, value) {
98
+ program.stateMap(stateKeys.minItems).set(target, value);
99
+ }
100
+ export function getMinItemsAsNumeric(program, target) {
101
+ return program.stateMap(stateKeys.minItems).get(target);
102
+ }
103
+ export function getMinItems(program, target) {
104
+ return getMinItemsAsNumeric(program, target)?.asNumber() ?? undefined;
105
+ }
106
+ // #endregion @minItems
107
+ // #region @minItems
108
+ export function setMaxItems(program, target, value) {
109
+ program.stateMap(stateKeys.maxItems).set(target, value);
110
+ }
111
+ export function getMaxItemsAsNumeric(program, target) {
112
+ return program.stateMap(stateKeys.maxItems).get(target);
113
+ }
114
+ export function getMaxItems(program, target) {
115
+ return getMaxItemsAsNumeric(program, target)?.asNumber() ?? undefined;
116
+ }
117
+ /** @internal */
118
+ export function setDocData(program, target, key, data) {
119
+ program.stateMap(getDocKey(key)).set(target, data);
120
+ }
121
+ function getDocKey(target) {
122
+ switch (target) {
123
+ case "self":
124
+ return stateKeys.docs;
125
+ case "returns":
126
+ return stateKeys.returnDocs;
127
+ case "errors":
128
+ return stateKeys.errorsDocs;
129
+ }
130
+ }
131
+ /**
132
+ * @internal
133
+ * Get the documentation information for the given type. In most cases you probably just want to use {@link getDoc}
134
+ * @param program Program
135
+ * @param target Type
136
+ * @returns Doc data with source information.
137
+ */
138
+ export function getDocDataInternal(program, target, key) {
139
+ return program.stateMap(getDocKey(key)).get(target);
140
+ }
141
+ /**
142
+ * Get the documentation information for the given type. In most cases you probably just want to use {@link getDoc}
143
+ * @param program Program
144
+ * @param target Type
145
+ * @returns Doc data with source information.
146
+ */
147
+ export function getDocData(program, target) {
148
+ return getDocDataInternal(program, target, "self");
149
+ }
150
+ export function setDiscriminator(program, entity, discriminator) {
151
+ program.stateMap(stateKeys.discriminator).set(entity, discriminator);
152
+ }
153
+ export function getDiscriminator(program, entity) {
154
+ return program.stateMap(stateKeys.discriminator).get(entity);
155
+ }
156
+ export function getDiscriminatedTypes(program) {
157
+ return [...program.stateMap(stateKeys.discriminator).entries()];
158
+ }
159
+ // #endregion
160
+ //# 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":"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"}
@@ -0,0 +1,13 @@
1
+ import type { 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,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,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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"}
@@ -1,5 +1,5 @@
1
1
  import { DiagnosticCollector } from "./diagnostics.js";
2
- import { Program } from "./program.js";
2
+ import type { Program } from "./program.js";
3
3
  import { Diagnostic, DiagnosticMessages, LibraryInstance, LinterRule, LinterRuleContext, LinterRuleSet } from "./types.js";
4
4
  export interface Linter {
5
5
  extendRuleSet(ruleSet: LinterRuleSet): Promise<readonly Diagnostic[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/core/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA6C,MAAM,kBAAkB,CAAC;AAGlG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,eAAe,EAEf,UAAU,EACV,iBAAiB,EAEjB,aAAa,EAId,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,MAAM;IACrB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACtE,IAAI,IAAI,SAAS,UAAU,EAAE,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAClE,MAAM,CA4JR;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,kBAAkB,EACrF,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,mBAAmB,EAAE,mBAAmB,GACvC,iBAAiB,CAAC,EAAE,CAAC,CA0CvB"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/core/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA6C,MAAM,kBAAkB,CAAC;AAGlG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,eAAe,EAEf,UAAU,EACV,iBAAiB,EAEjB,aAAa,EAId,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,MAAM;IACrB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACtE,IAAI,IAAI,SAAS,UAAU,EAAE,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAClE,MAAM,CA4JR;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,kBAAkB,EACrF,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EACvB,mBAAmB,EAAE,mBAAmB,GACvC,iBAAiB,CAAC,EAAE,CAAC,CA0CvB"}
@@ -1,5 +1,5 @@
1
1
  import { compilerAssert, createDiagnosticCollector } from "./diagnostics.js";
2
- import { getLocationContext } from "./helpers/index.js";
2
+ import { getLocationContext } from "./helpers/location-context.js";
3
3
  import { createDiagnostic } from "./messages.js";
4
4
  import { EventEmitter, mapEventEmitterToNodeListener, navigateProgram } from "./semantic-walker.js";
5
5
  import { NoTarget, } from "./types.js";