@typespec/compiler 0.66.0-dev.9 → 0.66.0

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 (143) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +68 -9
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/core/checker.d.ts +1 -1
  5. package/dist/src/core/checker.d.ts.map +1 -1
  6. package/dist/src/core/checker.js +134 -57
  7. package/dist/src/core/checker.js.map +1 -1
  8. package/dist/src/core/cli/actions/compile/args.d.ts +1 -0
  9. package/dist/src/core/cli/actions/compile/args.d.ts.map +1 -1
  10. package/dist/src/core/cli/actions/compile/args.js +3 -0
  11. package/dist/src/core/cli/actions/compile/args.js.map +1 -1
  12. package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -1
  13. package/dist/src/core/cli/actions/compile/compile.js +4 -1
  14. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  15. package/dist/src/core/cli/actions/info.js +2 -2
  16. package/dist/src/core/cli/actions/info.js.map +1 -1
  17. package/dist/src/core/cli/cli.js +5 -2
  18. package/dist/src/core/cli/cli.js.map +1 -1
  19. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.d.ts +6 -0
  20. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.d.ts.map +1 -0
  21. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.js +45 -0
  22. package/dist/src/core/compiler-code-fixes/remove-unused-template-parameter.codefix.js.map +1 -0
  23. package/dist/src/core/emitter-utils.d.ts +1 -0
  24. package/dist/src/core/emitter-utils.d.ts.map +1 -1
  25. package/dist/src/core/emitter-utils.js +6 -1
  26. package/dist/src/core/emitter-utils.js.map +1 -1
  27. package/dist/src/core/helpers/discriminator-utils.d.ts +16 -2
  28. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
  29. package/dist/src/core/helpers/discriminator-utils.js +80 -10
  30. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  31. package/dist/src/core/helpers/index.d.ts +1 -1
  32. package/dist/src/core/helpers/index.d.ts.map +1 -1
  33. package/dist/src/core/helpers/index.js +1 -1
  34. package/dist/src/core/helpers/index.js.map +1 -1
  35. package/dist/src/core/install.d.ts +1 -1
  36. package/dist/src/core/install.d.ts.map +1 -1
  37. package/dist/src/core/install.js +22 -6
  38. package/dist/src/core/install.js.map +1 -1
  39. package/dist/src/core/intrinsic-type-state.d.ts +2 -0
  40. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -1
  41. package/dist/src/core/intrinsic-type-state.js +2 -0
  42. package/dist/src/core/intrinsic-type-state.js.map +1 -1
  43. package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts +2 -0
  44. package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts.map +1 -0
  45. package/dist/src/core/linter-rules/unused-template-parameter.rule.js +36 -0
  46. package/dist/src/core/linter-rules/unused-template-parameter.rule.js.map +1 -0
  47. package/dist/src/core/linter-rules/unused-using.rule.d.ts +2 -0
  48. package/dist/src/core/linter-rules/unused-using.rule.d.ts.map +1 -0
  49. package/dist/src/core/linter-rules/unused-using.rule.js +38 -0
  50. package/dist/src/core/linter-rules/unused-using.rule.js.map +1 -0
  51. package/dist/src/core/linter.d.ts +0 -1
  52. package/dist/src/core/linter.d.ts.map +1 -1
  53. package/dist/src/core/linter.js +7 -39
  54. package/dist/src/core/linter.js.map +1 -1
  55. package/dist/src/core/logger/console-sink.browser.d.ts.map +1 -1
  56. package/dist/src/core/logger/console-sink.browser.js +16 -0
  57. package/dist/src/core/logger/console-sink.browser.js.map +1 -1
  58. package/dist/src/core/logger/console-sink.d.ts +2 -0
  59. package/dist/src/core/logger/console-sink.d.ts.map +1 -1
  60. package/dist/src/core/logger/console-sink.js +55 -0
  61. package/dist/src/core/logger/console-sink.js.map +1 -1
  62. package/dist/src/core/logger/logger.d.ts.map +1 -1
  63. package/dist/src/core/logger/logger.js +1 -0
  64. package/dist/src/core/logger/logger.js.map +1 -1
  65. package/dist/src/core/messages.d.ts +88 -7
  66. package/dist/src/core/messages.d.ts.map +1 -1
  67. package/dist/src/core/messages.js +22 -1
  68. package/dist/src/core/messages.js.map +1 -1
  69. package/dist/src/core/options.d.ts +4 -0
  70. package/dist/src/core/options.d.ts.map +1 -1
  71. package/dist/src/core/program.d.ts.map +1 -1
  72. package/dist/src/core/program.js +55 -29
  73. package/dist/src/core/program.js.map +1 -1
  74. package/dist/src/core/types.d.ts +1 -0
  75. package/dist/src/core/types.d.ts.map +1 -1
  76. package/dist/src/core/visibility/core.d.ts +2 -2
  77. package/dist/src/core/visibility/core.d.ts.map +1 -1
  78. package/dist/src/core/visibility/core.js +4 -3
  79. package/dist/src/core/visibility/core.js.map +1 -1
  80. package/dist/src/experimental/mutators.js +9 -2
  81. package/dist/src/experimental/mutators.js.map +1 -1
  82. package/dist/src/experimental/realm.d.ts +0 -1
  83. package/dist/src/experimental/realm.d.ts.map +1 -1
  84. package/dist/src/experimental/realm.js +0 -5
  85. package/dist/src/experimental/realm.js.map +1 -1
  86. package/dist/src/experimental/typekit/kits/model.js +0 -1
  87. package/dist/src/experimental/typekit/kits/model.js.map +1 -1
  88. package/dist/src/experimental/typekit/kits/type.d.ts +2 -1
  89. package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
  90. package/dist/src/experimental/typekit/kits/type.js +4 -11
  91. package/dist/src/experimental/typekit/kits/type.js.map +1 -1
  92. package/dist/src/init/file-templating.d.ts +2 -0
  93. package/dist/src/init/file-templating.d.ts.map +1 -1
  94. package/dist/src/init/file-templating.js +3 -0
  95. package/dist/src/init/file-templating.js.map +1 -1
  96. package/dist/src/init/init-template.d.ts +2 -0
  97. package/dist/src/init/init-template.d.ts.map +1 -1
  98. package/dist/src/init/init-template.js +1 -0
  99. package/dist/src/init/init-template.js.map +1 -1
  100. package/dist/src/init/init.d.ts +5 -2
  101. package/dist/src/init/init.d.ts.map +1 -1
  102. package/dist/src/init/init.js +158 -89
  103. package/dist/src/init/init.js.map +1 -1
  104. package/dist/src/init/prompts.d.ts +5 -0
  105. package/dist/src/init/prompts.d.ts.map +1 -0
  106. package/dist/src/init/prompts.js +16 -0
  107. package/dist/src/init/prompts.js.map +1 -0
  108. package/dist/src/init/scaffold.d.ts +1 -5
  109. package/dist/src/init/scaffold.d.ts.map +1 -1
  110. package/dist/src/init/scaffold.js +0 -1
  111. package/dist/src/init/scaffold.js.map +1 -1
  112. package/dist/src/lib/decorators.d.ts +2 -1
  113. package/dist/src/lib/decorators.d.ts.map +1 -1
  114. package/dist/src/lib/decorators.js +12 -1
  115. package/dist/src/lib/decorators.js.map +1 -1
  116. package/dist/src/lib/service.d.ts +1 -1
  117. package/dist/src/lib/service.d.ts.map +1 -1
  118. package/dist/src/lib/service.js +4 -40
  119. package/dist/src/lib/service.js.map +1 -1
  120. package/dist/src/lib/tsp-index.d.ts.map +1 -1
  121. package/dist/src/lib/tsp-index.js +2 -1
  122. package/dist/src/lib/tsp-index.js.map +1 -1
  123. package/dist/src/lib/visibility.d.ts +2 -2
  124. package/dist/src/lib/visibility.d.ts.map +1 -1
  125. package/dist/src/lib/visibility.js +109 -7
  126. package/dist/src/lib/visibility.js.map +1 -1
  127. package/dist/src/server/compile-service.d.ts.map +1 -1
  128. package/dist/src/server/compile-service.js +11 -1
  129. package/dist/src/server/compile-service.js.map +1 -1
  130. package/dist/src/server/serverlib.d.ts.map +1 -1
  131. package/dist/src/server/serverlib.js +37 -17
  132. package/dist/src/server/serverlib.js.map +1 -1
  133. package/dist/src/server/tmlanguage.js +1 -1
  134. package/dist/src/server/tmlanguage.js.map +1 -1
  135. package/dist/src/testing/test-host.js +1 -1
  136. package/dist/src/testing/test-host.js.map +1 -1
  137. package/dist/typespec.tmLanguage +3 -3
  138. package/lib/std/decorators.tsp +78 -9
  139. package/lib/std/types.tsp +1 -1
  140. package/package.json +7 -7
  141. package/templates/__snapshots__/rest/main.tsp +1 -3
  142. package/templates/rest/main.tsp +1 -3
  143. package/templates/scaffolding.json +20 -22
@@ -1,4 +1,13 @@
1
1
  import type { DecoratorContext, Enum, EnumValue, Interface, Model, ModelProperty, Namespace, Numeric, Operation, Scalar, Type, Union, UnionVariant } from "../src/core/index.js";
2
+ export interface ServiceOptions {
3
+ readonly title?: string;
4
+ readonly version?: string;
5
+ }
6
+ export interface DiscriminatedOptions {
7
+ readonly envelope?: "object" | "none";
8
+ readonly discriminatorPropertyName?: string;
9
+ readonly envelopePropertyName?: string;
10
+ }
2
11
  export interface ExampleOptions {
3
12
  readonly title?: string;
4
13
  readonly description?: string;
@@ -39,7 +48,7 @@ export interface VisibilityFilter {
39
48
  */
40
49
  export type EncodeDecorator = (context: DecoratorContext, target: Scalar | ModelProperty, encodingOrEncodeAs: Scalar | string | EnumValue, encodedAs?: Scalar) => void;
41
50
  /**
42
- * Attach a documentation string.
51
+ * Attach a documentation string. Content support CommonMark markdown formatting.
43
52
  *
44
53
  * @param doc Documentation string
45
54
  * @param formatArgs Record with key value pair that can be interpolated in the doc.
@@ -152,16 +161,16 @@ export type DeprecatedDecorator = (context: DecoratorContext, target: Type, mess
152
161
  * ```
153
162
  * @example Setting service title
154
163
  * ```typespec
155
- * @service({title: "Pet store"})
164
+ * @service(#{title: "Pet store"})
156
165
  * namespace PetStore;
157
166
  * ```
158
167
  * @example Setting service version
159
168
  * ```typespec
160
- * @service({version: "1.0"})
169
+ * @service(#{version: "1.0"})
161
170
  * namespace PetStore;
162
171
  * ```
163
172
  */
164
- export type ServiceDecorator = (context: DecoratorContext, target: Namespace, options?: Type) => void;
173
+ export type ServiceDecorator = (context: DecoratorContext, target: Namespace, options?: ServiceOptions) => void;
165
174
  /**
166
175
  * Specify that this model is an error type. Operations return error types when the operation has failed.
167
176
  *
@@ -408,18 +417,67 @@ export type ProjectedNameDecorator = (context: DecoratorContext, target: Type, t
408
417
  */
409
418
  export type EncodedNameDecorator = (context: DecoratorContext, target: Type, mimeType: string, name: string) => void;
410
419
  /**
411
- * Specify the property to be used to discriminate this type.
420
+ * Specify that this union is discriminated.
412
421
  *
413
- * @param propertyName The property name to use for discrimination
422
+ * @param options Options to configure the serialization of the discriminated union.
414
423
  * @example
415
424
  * ```typespec
416
- * @discriminator("kind")
425
+ * @discriminated
426
+ * union Pet{ cat: Cat, dog: Dog }
427
+ *
428
+ * model Cat { name: string, meow: boolean }
429
+ * model Dog { name: string, bark: boolean }
430
+ * ```
431
+ * Serialized as:
432
+ * ```json
433
+ * {
434
+ * "kind": "cat",
435
+ * "value": {
436
+ * "name": "Whiskers",
437
+ * "meow": true
438
+ * }
439
+ * },
440
+ * {
441
+ * "kind": "dog",
442
+ * "value": {
443
+ * "name": "Rex",
444
+ * "bark": false
445
+ * }
446
+ * }
447
+ * ```
448
+ * @example Custom property names
449
+ *
450
+ * ```typespec
451
+ * @discriminated(#{discriminatorPropertyName: "dataKind", envelopePropertyName: "data"})
417
452
  * union Pet{ cat: Cat, dog: Dog }
418
453
  *
419
- * model Cat {kind: "cat", meow: boolean}
420
- * model Dog {kind: "dog", bark: boolean}
454
+ * model Cat { name: string, meow: boolean }
455
+ * model Dog { name: string, bark: boolean }
456
+ * ```
457
+ * Serialized as:
458
+ * ```json
459
+ * {
460
+ * "dataKind": "cat",
461
+ * "data": {
462
+ * "name": "Whiskers",
463
+ * "meow": true
464
+ * }
465
+ * },
466
+ * {
467
+ * "dataKind": "dog",
468
+ * "data": {
469
+ * "name": "Rex",
470
+ * "bark": false
471
+ * }
472
+ * }
421
473
  * ```
474
+ */
475
+ export type DiscriminatedDecorator = (context: DecoratorContext, target: Union, options?: DiscriminatedOptions) => void;
476
+ /**
477
+ * Specify the property to be used to discriminate this type.
422
478
  *
479
+ * @param propertyName The property name to use for discrimination
480
+ * @example
423
481
  * ```typespec
424
482
  * @discriminator("kind")
425
483
  * model Pet{ kind: string }
@@ -855,6 +913,7 @@ export type TypeSpecDecorators = {
855
913
  overload: OverloadDecorator;
856
914
  projectedName: ProjectedNameDecorator;
857
915
  encodedName: EncodedNameDecorator;
916
+ discriminated: DiscriminatedDecorator;
858
917
  discriminator: DiscriminatorDecorator;
859
918
  example: ExampleDecorator;
860
919
  opExample: OpExampleDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSpec.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeSpec.d.ts","sourceRoot":"","sources":["../../generated-defs/TypeSpec.ts"],"names":[],"mappings":"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"}
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "0.66.0-dev.9",
3
- "commit": "9de6460eefffdd1325167817d0158191d5360c37"
2
+ "version": "0.66.0",
3
+ "commit": "3085652401574258f66dd0a909df96944bc49127"
4
4
  };
@@ -25,7 +25,7 @@ export interface Checker {
25
25
  }): T;
26
26
  evalProjection(node: ProjectionNode, target: Type, args: Type[]): Type;
27
27
  project(target: Type, projection: ProjectionNode, args?: (Type | string | number | boolean)[]): Type;
28
- resolveIdentifier(node: IdentifierNode): Sym | undefined;
28
+ resolveRelatedSymbols(node: IdentifierNode): Sym[] | undefined;
29
29
  resolveCompletions(node: IdentifierNode): Map<string, TypeSpecCompletionItem>;
30
30
  createType<T extends Type extends any ? CreateTypeProps : never>(typeDef: T): T & TypePrototype & {
31
31
  isFinished: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-deprecated */
2
+ import { Realm } from "../experimental/realm.js";
3
+ import { $ } from "../experimental/typekit/index.js";
2
4
  import { docFromCommentDecorator, getIndexer } from "../lib/intrinsic/decorators.js";
3
5
  import { DuplicateTracker } from "../utils/duplicate-tracker.js";
4
6
  import { MultiKeyMap, createRekeyableMap, isArray, mutate } from "../utils/misc.js";
@@ -77,6 +79,10 @@ export function createChecker(program, resolver) {
77
79
  initializeTypeSpecIntrinsics();
78
80
  }
79
81
  let evalContext = undefined;
82
+ /**
83
+ * Tracking the template parameters used or not.
84
+ */
85
+ const templateParameterUsageMap = new Map();
80
86
  const checker = {
81
87
  getTypeForNode,
82
88
  checkProgram,
@@ -88,7 +94,7 @@ export function createChecker(program, resolver) {
88
94
  getGlobalNamespaceNode,
89
95
  getMergedSymbol,
90
96
  cloneType,
91
- resolveIdentifier,
97
+ resolveRelatedSymbols,
92
98
  resolveCompletions,
93
99
  evalProjection,
94
100
  project,
@@ -109,12 +115,16 @@ export function createChecker(program, resolver) {
109
115
  getValueForNode,
110
116
  getTypeOrValueForNode,
111
117
  getValueExactType,
118
+ getTemplateParameterUsageMap,
112
119
  isTypeAssignableTo: undefined,
113
120
  };
114
121
  const relation = createTypeRelationChecker(program, checker);
115
122
  checker.isTypeAssignableTo = relation.isTypeAssignableTo;
116
123
  const projectionMembers = createProjectionMembers(checker);
117
124
  return checker;
125
+ function getTemplateParameterUsageMap() {
126
+ return templateParameterUsageMap;
127
+ }
118
128
  function wrapInstantiationDiagnostic(diagnostic, templateMapper) {
119
129
  if (templateMapper === undefined || typeof diagnostic.target !== "object")
120
130
  return diagnostic;
@@ -591,6 +601,9 @@ export function createChecker(program, resolver) {
591
601
  const parentNode = node.parent;
592
602
  const grandParentNode = parentNode.parent;
593
603
  const links = getSymbolLinks(node.symbol);
604
+ if (!templateParameterUsageMap.has(node)) {
605
+ templateParameterUsageMap.set(node, false);
606
+ }
594
607
  if (pendingResolutions.has(getNodeSym(node), ResolutionKind.Constraint)) {
595
608
  if (mapper === undefined) {
596
609
  reportCheckerDiagnostic(createDiagnostic({
@@ -918,6 +931,13 @@ export function createChecker(program, resolver) {
918
931
  return result;
919
932
  }
920
933
  function checkTypeOrValueReferenceSymbol(sym, node, mapper, instantiateTemplates = true) {
934
+ const entity = checkTypeOrValueReferenceSymbolWorker(sym, node, mapper, instantiateTemplates);
935
+ if (entity !== null && isType(entity) && entity.kind === "TemplateParameter") {
936
+ templateParameterUsageMap.set(entity.node, true);
937
+ }
938
+ return entity;
939
+ }
940
+ function checkTypeOrValueReferenceSymbolWorker(sym, node, mapper, instantiateTemplates = true) {
921
941
  if (sym.flags & 524288 /* SymbolFlags.Const */) {
922
942
  return getValueForNode(sym.declarations[0], mapper);
923
943
  }
@@ -1691,24 +1711,20 @@ export function createChecker(program, resolver) {
1691
1711
  function getSymbolLinks(s) {
1692
1712
  return resolver.getSymbolLinks(s);
1693
1713
  }
1694
- function resolveIdentifier(id, mapper) {
1714
+ function resolveRelatedSymbols(id, mapper) {
1695
1715
  let sym;
1696
1716
  const { node, kind } = getIdentifierContext(id);
1697
1717
  switch (kind) {
1698
1718
  case IdentifierKind.ModelExpressionProperty:
1699
1719
  case IdentifierKind.ObjectLiteralProperty:
1700
1720
  const model = getReferencedModel(node);
1701
- if (model) {
1702
- sym = getMemberSymbol(model.node.symbol, id.sv);
1703
- }
1704
- else {
1705
- return undefined;
1706
- }
1707
- break;
1721
+ return model
1722
+ .map((m) => getMemberSymbol(m.node.symbol, id.sv))
1723
+ .filter((m) => m !== undefined);
1708
1724
  case IdentifierKind.ModelStatementProperty:
1709
1725
  case IdentifierKind.Declaration:
1710
1726
  const links = resolver.getNodeLinks(id);
1711
- return links.resolvedSymbol;
1727
+ return links.resolvedSymbol === undefined ? undefined : [links.resolvedSymbol];
1712
1728
  case IdentifierKind.Other:
1713
1729
  return undefined;
1714
1730
  case IdentifierKind.Decorator:
@@ -1743,7 +1759,15 @@ export function createChecker(program, resolver) {
1743
1759
  const _assertNever = kind;
1744
1760
  compilerAssert(false, "Unreachable");
1745
1761
  }
1746
- return sym?.symbolSource ?? sym;
1762
+ if (sym) {
1763
+ if (sym.symbolSource) {
1764
+ return [sym.symbolSource];
1765
+ }
1766
+ else {
1767
+ return [sym];
1768
+ }
1769
+ }
1770
+ return undefined; //sym?.symbolSource ?? sym;
1747
1771
  }
1748
1772
  function getTemplateDeclarationsForArgument(node, mapper) {
1749
1773
  const ref = node.parent;
@@ -1789,9 +1813,7 @@ export function createChecker(program, resolver) {
1789
1813
  refType = getReferencedTypeFromConstAssignment(foundNode);
1790
1814
  break;
1791
1815
  }
1792
- return refType?.kind === "Model" || refType?.kind === "Tuple"
1793
- ? getNestedModel(refType, path)
1794
- : undefined;
1816
+ return getNestedModel(refType, path);
1795
1817
  function pushToModelPath(node, preNode, path) {
1796
1818
  if (node.kind === SyntaxKind.ArrayLiteral || node.kind === SyntaxKind.TupleExpression) {
1797
1819
  const index = node.values.findIndex((n) => n === preNode);
@@ -1807,36 +1829,67 @@ export function createChecker(program, resolver) {
1807
1829
  path.unshift({ propertyName: node.id.sv });
1808
1830
  }
1809
1831
  }
1810
- function getNestedModel(modelOrTuple, path) {
1811
- let cur = modelOrTuple;
1812
- for (const seg of path) {
1832
+ function getNestedModel(modelOrTupleOrUnion, path) {
1833
+ let cur = modelOrTupleOrUnion;
1834
+ if (cur && cur.kind !== "Model" && cur.kind !== "Tuple" && cur.kind !== "Union") {
1835
+ return [];
1836
+ }
1837
+ if (path.length === 0) {
1838
+ // Handle union and model type nesting when path is empty
1813
1839
  switch (cur?.kind) {
1814
- case "Tuple":
1815
- if (seg.tupleIndex !== undefined &&
1816
- seg.tupleIndex >= 0 &&
1817
- seg.tupleIndex < cur.values.length) {
1818
- cur = cur.values[seg.tupleIndex];
1819
- }
1820
- else {
1821
- return undefined;
1822
- }
1823
- break;
1824
1840
  case "Model":
1825
- if (cur.name === "Array" && seg.tupleIndex !== undefined) {
1826
- cur = cur.templateMapper?.args[0];
1827
- }
1828
- else if (cur.name !== "Array" && seg.propertyName) {
1829
- cur = cur.properties.get(seg.propertyName)?.type;
1830
- }
1831
- else {
1832
- return undefined;
1841
+ return [cur];
1842
+ case "Union":
1843
+ const models = [];
1844
+ for (const variant of cur.variants.values()) {
1845
+ if (variant.type.kind === "Model" ||
1846
+ variant.type.kind === "Tuple" ||
1847
+ variant.type.kind === "Union") {
1848
+ models.push(...(getNestedModel(variant.type, path) ?? []));
1849
+ }
1833
1850
  }
1834
- break;
1851
+ return models;
1835
1852
  default:
1836
- return undefined;
1853
+ return [];
1837
1854
  }
1838
1855
  }
1839
- return cur?.kind === "Model" ? cur : undefined;
1856
+ const seg = path[0];
1857
+ switch (cur?.kind) {
1858
+ case "Tuple":
1859
+ if (seg.tupleIndex !== undefined &&
1860
+ seg.tupleIndex >= 0 &&
1861
+ seg.tupleIndex < cur.values.length) {
1862
+ return getNestedModel(cur.values[seg.tupleIndex], path.slice(1));
1863
+ }
1864
+ else {
1865
+ return [];
1866
+ }
1867
+ case "Model":
1868
+ if (cur.name === "Array" && seg.tupleIndex !== undefined) {
1869
+ cur = cur.templateMapper?.args[0];
1870
+ }
1871
+ else if (cur.name !== "Array" && seg.propertyName) {
1872
+ cur = cur.properties.get(seg.propertyName)?.type;
1873
+ }
1874
+ else {
1875
+ return [];
1876
+ }
1877
+ return getNestedModel(cur, path.slice(1));
1878
+ case "Union":
1879
+ // When seg.property name exists, it means that it is in the union model or tuple,
1880
+ // and the corresponding model or tuple needs to be found recursively.
1881
+ const models = [];
1882
+ for (const variant of cur.variants.values()) {
1883
+ if (variant.type.kind === "Model" ||
1884
+ variant.type.kind === "Tuple" ||
1885
+ variant.type.kind === "Union") {
1886
+ models.push(...(getNestedModel(variant.type, path) ?? []));
1887
+ }
1888
+ }
1889
+ return models;
1890
+ default:
1891
+ return [];
1892
+ }
1840
1893
  }
1841
1894
  function getReferencedTypeFromTemplateDeclaration(node) {
1842
1895
  let templateParmaeterDeclNode = undefined;
@@ -1901,11 +1954,11 @@ export function createChecker(program, resolver) {
1901
1954
  if (decNode?.kind !== SyntaxKind.DecoratorExpression) {
1902
1955
  return undefined;
1903
1956
  }
1904
- const decSym = program.checker.resolveIdentifier(decNode.target.kind === SyntaxKind.MemberExpression ? decNode.target.id : decNode.target);
1905
- if (!decSym) {
1957
+ const decSym = program.checker.resolveRelatedSymbols(decNode.target.kind === SyntaxKind.MemberExpression ? decNode.target.id : decNode.target);
1958
+ if (!decSym || decSym.length <= 0) {
1906
1959
  return undefined;
1907
1960
  }
1908
- const decDecl = decSym.declarations.find((x) => x.kind === SyntaxKind.DecoratorDeclarationStatement);
1961
+ const decDecl = decSym[0].declarations.find((x) => x.kind === SyntaxKind.DecoratorDeclarationStatement);
1909
1962
  if (!decDecl) {
1910
1963
  return undefined;
1911
1964
  }
@@ -1978,18 +2031,20 @@ export function createChecker(program, resolver) {
1978
2031
  else if (kind === IdentifierKind.ModelExpressionProperty ||
1979
2032
  kind === IdentifierKind.ObjectLiteralProperty) {
1980
2033
  const model = getReferencedModel(ancestor);
1981
- if (!model) {
2034
+ if (model.length <= 0) {
1982
2035
  return completions;
1983
2036
  }
1984
2037
  const curModelNode = ancestor.parent;
1985
- for (const prop of walkPropertiesInherited(model)) {
1986
- if (identifier.sv === prop.name ||
1987
- !curModelNode.properties.find((p) => (p.kind === SyntaxKind.ModelProperty ||
1988
- p.kind === SyntaxKind.ObjectLiteralProperty) &&
1989
- p.id.sv === prop.name)) {
1990
- const sym = getMemberSymbol(model.node.symbol, prop.name);
1991
- if (sym) {
1992
- addCompletion(prop.name, sym);
2038
+ for (const curModel of model) {
2039
+ for (const prop of walkPropertiesInherited(curModel)) {
2040
+ if (identifier.sv === prop.name ||
2041
+ !curModelNode.properties.find((p) => (p.kind === SyntaxKind.ModelProperty ||
2042
+ p.kind === SyntaxKind.ObjectLiteralProperty) &&
2043
+ p.id.sv === prop.name)) {
2044
+ const sym = getMemberSymbol(curModel.node.symbol, prop.name);
2045
+ if (sym) {
2046
+ addCompletion(prop.name, sym);
2047
+ }
1993
2048
  }
1994
2049
  }
1995
2050
  }
@@ -3781,6 +3836,27 @@ export function createChecker(program, resolver) {
3781
3836
  target: node.targetType,
3782
3837
  }));
3783
3838
  }
3839
+ else if (links.finalSymbol?.flags &&
3840
+ ~links.finalSymbol.flags & 1048576 /* SymbolFlags.Declaration */ &&
3841
+ ~links.finalSymbol.flags & 262144 /* SymbolFlags.Member */) {
3842
+ program.reportDiagnostic(createDiagnostic({
3843
+ code: "augment-decorator-target",
3844
+ messageId: links.finalSymbol.flags & 2 /* SymbolFlags.Model */
3845
+ ? "noModelExpression"
3846
+ : links.finalSymbol.flags & 64 /* SymbolFlags.Union */
3847
+ ? "noUnionExpression"
3848
+ : "default",
3849
+ target: node.targetType,
3850
+ }));
3851
+ }
3852
+ else if (links.finalSymbol?.flags && links.finalSymbol.flags & 128 /* SymbolFlags.Alias */) {
3853
+ const aliasNode = getSymNode(links.finalSymbol);
3854
+ program.reportDiagnostic(createDiagnostic({
3855
+ code: "augment-decorator-target",
3856
+ messageId: aliasNode.value.kind === SyntaxKind.UnionExpression ? "noUnionExpression" : "default",
3857
+ target: node.targetType,
3858
+ }));
3859
+ }
3784
3860
  // If this was used to get a type this is invalid, only used for validation.
3785
3861
  return errorType;
3786
3862
  }
@@ -5306,24 +5382,25 @@ export function filterModelProperties(program, model, filter) {
5306
5382
  if (!filtered) {
5307
5383
  return model;
5308
5384
  }
5309
- const properties = createRekeyableMap();
5310
- const newModel = program.checker.createType({
5311
- kind: "Model",
5312
- node: undefined,
5385
+ const realm = Realm.realmForType.get(model);
5386
+ const typekit = realm ? $(realm) : $;
5387
+ const newModel = typekit.model.create({
5313
5388
  name: "",
5314
5389
  indexer: undefined,
5315
- properties,
5390
+ properties: {},
5316
5391
  decorators: [],
5317
5392
  derivedModels: [],
5318
5393
  sourceModels: [{ usage: "spread", model }],
5319
5394
  });
5320
5395
  for (const property of walkPropertiesInherited(model)) {
5321
5396
  if (filter(property)) {
5322
- const newProperty = program.checker.cloneType(property, {
5397
+ const newProperty = typekit.type.clone(property);
5398
+ Object.assign(newProperty, {
5323
5399
  sourceProperty: property,
5324
5400
  model: newModel,
5325
5401
  });
5326
- properties.set(property.name, newProperty);
5402
+ newModel.properties.set(property.name, newProperty);
5403
+ typekit.type.finishType(newProperty);
5327
5404
  }
5328
5405
  }
5329
5406
  return finishTypeForProgram(program, newModel);