@typespec/compiler 0.66.0-dev.2 → 0.66.0-dev.22

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 (172) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +61 -6
  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 +124 -50
  7. package/dist/src/core/checker.js.map +1 -1
  8. package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -1
  9. package/dist/src/core/cli/actions/compile/compile.js +3 -0
  10. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  11. package/dist/src/core/cli/actions/info.js +2 -2
  12. package/dist/src/core/cli/actions/info.js.map +1 -1
  13. package/dist/src/core/cli/cli.js +2 -3
  14. package/dist/src/core/cli/cli.js.map +1 -1
  15. package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.d.ts +6 -0
  16. package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.d.ts.map +1 -0
  17. package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.js +15 -0
  18. package/dist/src/core/compiler-code-fixes/remove-unused-code.codefix.js.map +1 -0
  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/decorator-utils.d.ts.map +1 -1
  24. package/dist/src/core/decorator-utils.js +6 -0
  25. package/dist/src/core/decorator-utils.js.map +1 -1
  26. package/dist/src/core/helpers/discriminator-utils.d.ts +16 -2
  27. package/dist/src/core/helpers/discriminator-utils.d.ts.map +1 -1
  28. package/dist/src/core/helpers/discriminator-utils.js +80 -10
  29. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  30. package/dist/src/core/helpers/index.d.ts +1 -1
  31. package/dist/src/core/helpers/index.d.ts.map +1 -1
  32. package/dist/src/core/helpers/index.js +1 -1
  33. package/dist/src/core/helpers/index.js.map +1 -1
  34. package/dist/src/core/install.d.ts +1 -1
  35. package/dist/src/core/install.d.ts.map +1 -1
  36. package/dist/src/core/install.js +22 -6
  37. package/dist/src/core/install.js.map +1 -1
  38. package/dist/src/core/intrinsic-type-state.d.ts +2 -0
  39. package/dist/src/core/intrinsic-type-state.d.ts.map +1 -1
  40. package/dist/src/core/intrinsic-type-state.js +2 -0
  41. package/dist/src/core/intrinsic-type-state.js.map +1 -1
  42. package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts +2 -0
  43. package/dist/src/core/linter-rules/unused-template-parameter.rule.d.ts.map +1 -0
  44. package/dist/src/core/linter-rules/unused-template-parameter.rule.js +36 -0
  45. package/dist/src/core/linter-rules/unused-template-parameter.rule.js.map +1 -0
  46. package/dist/src/core/linter-rules/unused-using.rule.d.ts +2 -0
  47. package/dist/src/core/linter-rules/unused-using.rule.d.ts.map +1 -0
  48. package/dist/src/core/linter-rules/unused-using.rule.js +38 -0
  49. package/dist/src/core/linter-rules/unused-using.rule.js.map +1 -0
  50. package/dist/src/core/linter.d.ts +10 -2
  51. package/dist/src/core/linter.d.ts.map +1 -1
  52. package/dist/src/core/linter.js +18 -2
  53. package/dist/src/core/linter.js.map +1 -1
  54. package/dist/src/core/messages.d.ts +30 -5
  55. package/dist/src/core/messages.d.ts.map +1 -1
  56. package/dist/src/core/messages.js +6 -1
  57. package/dist/src/core/messages.js.map +1 -1
  58. package/dist/src/core/name-resolver.d.ts +3 -1
  59. package/dist/src/core/name-resolver.d.ts.map +1 -1
  60. package/dist/src/core/name-resolver.js +40 -1
  61. package/dist/src/core/name-resolver.js.map +1 -1
  62. package/dist/src/core/program.d.ts.map +1 -1
  63. package/dist/src/core/program.js +4 -3
  64. package/dist/src/core/program.js.map +1 -1
  65. package/dist/src/experimental/typekit/define-kit.d.ts +1 -0
  66. package/dist/src/experimental/typekit/define-kit.d.ts.map +1 -1
  67. package/dist/src/experimental/typekit/define-kit.js +14 -1
  68. package/dist/src/experimental/typekit/define-kit.js.map +1 -1
  69. package/dist/src/experimental/typekit/index.d.ts.map +1 -1
  70. package/dist/src/experimental/typekit/index.js +9 -3
  71. package/dist/src/experimental/typekit/index.js.map +1 -1
  72. package/dist/src/experimental/typekit/kits/array.d.ts +28 -0
  73. package/dist/src/experimental/typekit/kits/array.d.ts.map +1 -0
  74. package/dist/src/experimental/typekit/kits/array.js +26 -0
  75. package/dist/src/experimental/typekit/kits/array.js.map +1 -0
  76. package/dist/src/experimental/typekit/kits/builtin.d.ts +117 -0
  77. package/dist/src/experimental/typekit/kits/builtin.d.ts.map +1 -0
  78. package/dist/src/experimental/typekit/kits/builtin.js +81 -0
  79. package/dist/src/experimental/typekit/kits/builtin.js.map +1 -0
  80. package/dist/src/experimental/typekit/kits/enum-member.d.ts +52 -0
  81. package/dist/src/experimental/typekit/kits/enum-member.d.ts.map +1 -0
  82. package/dist/src/experimental/typekit/kits/enum-member.js +22 -0
  83. package/dist/src/experimental/typekit/kits/enum-member.js.map +1 -0
  84. package/dist/src/experimental/typekit/kits/enum.d.ts +54 -0
  85. package/dist/src/experimental/typekit/kits/enum.d.ts.map +1 -0
  86. package/dist/src/experimental/typekit/kits/enum.js +47 -0
  87. package/dist/src/experimental/typekit/kits/enum.js.map +1 -0
  88. package/dist/src/experimental/typekit/kits/index.d.ts +7 -0
  89. package/dist/src/experimental/typekit/kits/index.d.ts.map +1 -1
  90. package/dist/src/experimental/typekit/kits/index.js +7 -0
  91. package/dist/src/experimental/typekit/kits/index.js.map +1 -1
  92. package/dist/src/experimental/typekit/kits/model-property.d.ts +29 -1
  93. package/dist/src/experimental/typekit/kits/model-property.d.ts.map +1 -1
  94. package/dist/src/experimental/typekit/kits/model-property.js +11 -0
  95. package/dist/src/experimental/typekit/kits/model-property.js.map +1 -1
  96. package/dist/src/experimental/typekit/kits/model.d.ts +29 -4
  97. package/dist/src/experimental/typekit/kits/model.d.ts.map +1 -1
  98. package/dist/src/experimental/typekit/kits/model.js +49 -2
  99. package/dist/src/experimental/typekit/kits/model.js.map +1 -1
  100. package/dist/src/experimental/typekit/kits/operation.d.ts +49 -0
  101. package/dist/src/experimental/typekit/kits/operation.d.ts.map +1 -0
  102. package/dist/src/experimental/typekit/kits/operation.js +28 -0
  103. package/dist/src/experimental/typekit/kits/operation.js.map +1 -0
  104. package/dist/src/experimental/typekit/kits/record.d.ts +33 -0
  105. package/dist/src/experimental/typekit/kits/record.d.ts.map +1 -0
  106. package/dist/src/experimental/typekit/kits/record.js +26 -0
  107. package/dist/src/experimental/typekit/kits/record.js.map +1 -0
  108. package/dist/src/experimental/typekit/kits/type.d.ts +94 -1
  109. package/dist/src/experimental/typekit/kits/type.d.ts.map +1 -1
  110. package/dist/src/experimental/typekit/kits/type.js +59 -0
  111. package/dist/src/experimental/typekit/kits/type.js.map +1 -1
  112. package/dist/src/experimental/typekit/kits/union-variant.d.ts +5 -1
  113. package/dist/src/experimental/typekit/kits/union-variant.d.ts.map +1 -1
  114. package/dist/src/experimental/typekit/kits/union-variant.js.map +1 -1
  115. package/dist/src/experimental/typekit/kits/union.d.ts +15 -1
  116. package/dist/src/experimental/typekit/kits/union.d.ts.map +1 -1
  117. package/dist/src/experimental/typekit/kits/union.js +7 -0
  118. package/dist/src/experimental/typekit/kits/union.js.map +1 -1
  119. package/dist/src/experimental/typekit/kits/value.d.ts +84 -0
  120. package/dist/src/experimental/typekit/kits/value.d.ts.map +1 -0
  121. package/dist/src/experimental/typekit/kits/value.js +81 -0
  122. package/dist/src/experimental/typekit/kits/value.js.map +1 -0
  123. package/dist/src/experimental/typekit/utils/get-plausible-name.d.ts +7 -0
  124. package/dist/src/experimental/typekit/utils/get-plausible-name.d.ts.map +1 -0
  125. package/dist/src/experimental/typekit/utils/get-plausible-name.js +17 -0
  126. package/dist/src/experimental/typekit/utils/get-plausible-name.js.map +1 -0
  127. package/dist/src/experimental/typekit/utils/index.d.ts +2 -0
  128. package/dist/src/experimental/typekit/utils/index.d.ts.map +1 -0
  129. package/dist/src/experimental/typekit/utils/index.js +2 -0
  130. package/dist/src/experimental/typekit/utils/index.js.map +1 -0
  131. package/dist/src/init/file-templating.d.ts +2 -0
  132. package/dist/src/init/file-templating.d.ts.map +1 -1
  133. package/dist/src/init/file-templating.js +3 -0
  134. package/dist/src/init/file-templating.js.map +1 -1
  135. package/dist/src/init/init-template.d.ts +2 -0
  136. package/dist/src/init/init-template.d.ts.map +1 -1
  137. package/dist/src/init/init-template.js +1 -0
  138. package/dist/src/init/init-template.js.map +1 -1
  139. package/dist/src/init/init.d.ts +5 -2
  140. package/dist/src/init/init.d.ts.map +1 -1
  141. package/dist/src/init/init.js +158 -89
  142. package/dist/src/init/init.js.map +1 -1
  143. package/dist/src/init/prompts.d.ts +5 -0
  144. package/dist/src/init/prompts.d.ts.map +1 -0
  145. package/dist/src/init/prompts.js +16 -0
  146. package/dist/src/init/prompts.js.map +1 -0
  147. package/dist/src/init/scaffold.d.ts +1 -5
  148. package/dist/src/init/scaffold.d.ts.map +1 -1
  149. package/dist/src/init/scaffold.js +7 -10
  150. package/dist/src/init/scaffold.js.map +1 -1
  151. package/dist/src/lib/decorators.d.ts +3 -2
  152. package/dist/src/lib/decorators.d.ts.map +1 -1
  153. package/dist/src/lib/decorators.js +15 -3
  154. package/dist/src/lib/decorators.js.map +1 -1
  155. package/dist/src/lib/tsp-index.d.ts.map +1 -1
  156. package/dist/src/lib/tsp-index.js +2 -1
  157. package/dist/src/lib/tsp-index.js.map +1 -1
  158. package/dist/src/server/compile-service.d.ts.map +1 -1
  159. package/dist/src/server/compile-service.js +23 -4
  160. package/dist/src/server/compile-service.js.map +1 -1
  161. package/dist/src/server/serverlib.d.ts.map +1 -1
  162. package/dist/src/server/serverlib.js +51 -18
  163. package/dist/src/server/serverlib.js.map +1 -1
  164. package/dist/src/server/tmlanguage.js +1 -1
  165. package/dist/src/server/tmlanguage.js.map +1 -1
  166. package/dist/src/server/types.d.ts +2 -1
  167. package/dist/src/server/types.d.ts.map +1 -1
  168. package/dist/src/server/types.js.map +1 -1
  169. package/dist/typespec.tmLanguage +3 -3
  170. package/lib/std/decorators.tsp +75 -6
  171. package/package.json +4 -3
  172. package/templates/scaffolding.json +20 -22
@@ -1,4 +1,9 @@
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 DiscriminatedOptions {
3
+ readonly envelope?: "object" | "none";
4
+ readonly discriminatorPropertyName?: string;
5
+ readonly envelopePropertyName?: string;
6
+ }
2
7
  export interface ExampleOptions {
3
8
  readonly title?: string;
4
9
  readonly description?: string;
@@ -39,7 +44,7 @@ export interface VisibilityFilter {
39
44
  */
40
45
  export type EncodeDecorator = (context: DecoratorContext, target: Scalar | ModelProperty, encodingOrEncodeAs: Scalar | string | EnumValue, encodedAs?: Scalar) => void;
41
46
  /**
42
- * Attach a documentation string.
47
+ * Attach a documentation string. Content support CommonMark markdown formatting.
43
48
  *
44
49
  * @param doc Documentation string
45
50
  * @param formatArgs Record with key value pair that can be interpolated in the doc.
@@ -408,18 +413,67 @@ export type ProjectedNameDecorator = (context: DecoratorContext, target: Type, t
408
413
  */
409
414
  export type EncodedNameDecorator = (context: DecoratorContext, target: Type, mimeType: string, name: string) => void;
410
415
  /**
411
- * Specify the property to be used to discriminate this type.
416
+ * Specify that this union is discriminated.
412
417
  *
413
- * @param propertyName The property name to use for discrimination
418
+ * @param options Options to configure the serialization of the discriminated union.
414
419
  * @example
415
420
  * ```typespec
416
- * @discriminator("kind")
421
+ * @discriminated
422
+ * union Pet{ cat: Cat, dog: Dog }
423
+ *
424
+ * model Cat { name: string, meow: boolean }
425
+ * model Dog { name: string, bark: boolean }
426
+ * ```
427
+ * Serialized as:
428
+ * ```json
429
+ * {
430
+ * "kind": "cat",
431
+ * "value": {
432
+ * "name": "Whiskers",
433
+ * "meow": true
434
+ * }
435
+ * },
436
+ * {
437
+ * "kind": "dog",
438
+ * "value": {
439
+ * "name": "Rex",
440
+ * "bark": false
441
+ * }
442
+ * }
443
+ * ```
444
+ * @example Custom property names
445
+ *
446
+ * ```typespec
447
+ * @discriminated(#{discriminatorPropertyName: "dataKind", envelopePropertyName: "data"})
417
448
  * union Pet{ cat: Cat, dog: Dog }
418
449
  *
419
- * model Cat {kind: "cat", meow: boolean}
420
- * model Dog {kind: "dog", bark: boolean}
450
+ * model Cat { name: string, meow: boolean }
451
+ * model Dog { name: string, bark: boolean }
452
+ * ```
453
+ * Serialized as:
454
+ * ```json
455
+ * {
456
+ * "dataKind": "cat",
457
+ * "data": {
458
+ * "name": "Whiskers",
459
+ * "meow": true
460
+ * }
461
+ * },
462
+ * {
463
+ * "dataKind": "dog",
464
+ * "data": {
465
+ * "name": "Rex",
466
+ * "bark": false
467
+ * }
468
+ * }
421
469
  * ```
470
+ */
471
+ export type DiscriminatedDecorator = (context: DecoratorContext, target: Union, options?: DiscriminatedOptions) => void;
472
+ /**
473
+ * Specify the property to be used to discriminate this type.
422
474
  *
475
+ * @param propertyName The property name to use for discrimination
476
+ * @example
423
477
  * ```typespec
424
478
  * @discriminator("kind")
425
479
  * model Pet{ kind: string }
@@ -855,6 +909,7 @@ export type TypeSpecDecorators = {
855
909
  overload: OverloadDecorator;
856
910
  projectedName: ProjectedNameDecorator;
857
911
  encodedName: EncodedNameDecorator;
912
+ discriminated: DiscriminatedDecorator;
858
913
  discriminator: DiscriminatorDecorator;
859
914
  example: ExampleDecorator;
860
915
  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.2",
3
- "commit": "c59d76975db202fffe3c809263c4785db4b83546"
2
+ "version": "0.66.0-dev.22",
3
+ "commit": "863d6673a04e3fc13e6a4297d607e59389bd6f33"
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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"}
@@ -77,6 +77,10 @@ export function createChecker(program, resolver) {
77
77
  initializeTypeSpecIntrinsics();
78
78
  }
79
79
  let evalContext = undefined;
80
+ /**
81
+ * Tracking the template parameters used or not.
82
+ */
83
+ const templateParameterUsageMap = new Map();
80
84
  const checker = {
81
85
  getTypeForNode,
82
86
  checkProgram,
@@ -88,7 +92,7 @@ export function createChecker(program, resolver) {
88
92
  getGlobalNamespaceNode,
89
93
  getMergedSymbol,
90
94
  cloneType,
91
- resolveIdentifier,
95
+ resolveRelatedSymbols,
92
96
  resolveCompletions,
93
97
  evalProjection,
94
98
  project,
@@ -109,12 +113,16 @@ export function createChecker(program, resolver) {
109
113
  getValueForNode,
110
114
  getTypeOrValueForNode,
111
115
  getValueExactType,
116
+ getTemplateParameterUsageMap,
112
117
  isTypeAssignableTo: undefined,
113
118
  };
114
119
  const relation = createTypeRelationChecker(program, checker);
115
120
  checker.isTypeAssignableTo = relation.isTypeAssignableTo;
116
121
  const projectionMembers = createProjectionMembers(checker);
117
122
  return checker;
123
+ function getTemplateParameterUsageMap() {
124
+ return templateParameterUsageMap;
125
+ }
118
126
  function wrapInstantiationDiagnostic(diagnostic, templateMapper) {
119
127
  if (templateMapper === undefined || typeof diagnostic.target !== "object")
120
128
  return diagnostic;
@@ -591,6 +599,9 @@ export function createChecker(program, resolver) {
591
599
  const parentNode = node.parent;
592
600
  const grandParentNode = parentNode.parent;
593
601
  const links = getSymbolLinks(node.symbol);
602
+ if (!templateParameterUsageMap.has(node)) {
603
+ templateParameterUsageMap.set(node, false);
604
+ }
594
605
  if (pendingResolutions.has(getNodeSym(node), ResolutionKind.Constraint)) {
595
606
  if (mapper === undefined) {
596
607
  reportCheckerDiagnostic(createDiagnostic({
@@ -918,6 +929,13 @@ export function createChecker(program, resolver) {
918
929
  return result;
919
930
  }
920
931
  function checkTypeOrValueReferenceSymbol(sym, node, mapper, instantiateTemplates = true) {
932
+ const entity = checkTypeOrValueReferenceSymbolWorker(sym, node, mapper, instantiateTemplates);
933
+ if (entity !== null && isType(entity) && entity.kind === "TemplateParameter") {
934
+ templateParameterUsageMap.set(entity.node, true);
935
+ }
936
+ return entity;
937
+ }
938
+ function checkTypeOrValueReferenceSymbolWorker(sym, node, mapper, instantiateTemplates = true) {
921
939
  if (sym.flags & 524288 /* SymbolFlags.Const */) {
922
940
  return getValueForNode(sym.declarations[0], mapper);
923
941
  }
@@ -1691,24 +1709,20 @@ export function createChecker(program, resolver) {
1691
1709
  function getSymbolLinks(s) {
1692
1710
  return resolver.getSymbolLinks(s);
1693
1711
  }
1694
- function resolveIdentifier(id, mapper) {
1712
+ function resolveRelatedSymbols(id, mapper) {
1695
1713
  let sym;
1696
1714
  const { node, kind } = getIdentifierContext(id);
1697
1715
  switch (kind) {
1698
1716
  case IdentifierKind.ModelExpressionProperty:
1699
1717
  case IdentifierKind.ObjectLiteralProperty:
1700
1718
  const model = getReferencedModel(node);
1701
- if (model) {
1702
- sym = getMemberSymbol(model.node.symbol, id.sv);
1703
- }
1704
- else {
1705
- return undefined;
1706
- }
1707
- break;
1719
+ return model
1720
+ .map((m) => getMemberSymbol(m.node.symbol, id.sv))
1721
+ .filter((m) => m !== undefined);
1708
1722
  case IdentifierKind.ModelStatementProperty:
1709
1723
  case IdentifierKind.Declaration:
1710
1724
  const links = resolver.getNodeLinks(id);
1711
- return links.resolvedSymbol;
1725
+ return links.resolvedSymbol === undefined ? undefined : [links.resolvedSymbol];
1712
1726
  case IdentifierKind.Other:
1713
1727
  return undefined;
1714
1728
  case IdentifierKind.Decorator:
@@ -1743,7 +1757,15 @@ export function createChecker(program, resolver) {
1743
1757
  const _assertNever = kind;
1744
1758
  compilerAssert(false, "Unreachable");
1745
1759
  }
1746
- return sym?.symbolSource ?? sym;
1760
+ if (sym) {
1761
+ if (sym.symbolSource) {
1762
+ return [sym.symbolSource];
1763
+ }
1764
+ else {
1765
+ return [sym];
1766
+ }
1767
+ }
1768
+ return undefined; //sym?.symbolSource ?? sym;
1747
1769
  }
1748
1770
  function getTemplateDeclarationsForArgument(node, mapper) {
1749
1771
  const ref = node.parent;
@@ -1789,9 +1811,7 @@ export function createChecker(program, resolver) {
1789
1811
  refType = getReferencedTypeFromConstAssignment(foundNode);
1790
1812
  break;
1791
1813
  }
1792
- return refType?.kind === "Model" || refType?.kind === "Tuple"
1793
- ? getNestedModel(refType, path)
1794
- : undefined;
1814
+ return getNestedModel(refType, path);
1795
1815
  function pushToModelPath(node, preNode, path) {
1796
1816
  if (node.kind === SyntaxKind.ArrayLiteral || node.kind === SyntaxKind.TupleExpression) {
1797
1817
  const index = node.values.findIndex((n) => n === preNode);
@@ -1807,36 +1827,67 @@ export function createChecker(program, resolver) {
1807
1827
  path.unshift({ propertyName: node.id.sv });
1808
1828
  }
1809
1829
  }
1810
- function getNestedModel(modelOrTuple, path) {
1811
- let cur = modelOrTuple;
1812
- for (const seg of path) {
1830
+ function getNestedModel(modelOrTupleOrUnion, path) {
1831
+ let cur = modelOrTupleOrUnion;
1832
+ if (cur && cur.kind !== "Model" && cur.kind !== "Tuple" && cur.kind !== "Union") {
1833
+ return [];
1834
+ }
1835
+ if (path.length === 0) {
1836
+ // Handle union and model type nesting when path is empty
1813
1837
  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
1838
  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;
1839
+ return [cur];
1840
+ case "Union":
1841
+ const models = [];
1842
+ for (const variant of cur.variants.values()) {
1843
+ if (variant.type.kind === "Model" ||
1844
+ variant.type.kind === "Tuple" ||
1845
+ variant.type.kind === "Union") {
1846
+ models.push(...(getNestedModel(variant.type, path) ?? []));
1847
+ }
1833
1848
  }
1834
- break;
1849
+ return models;
1835
1850
  default:
1836
- return undefined;
1851
+ return [];
1837
1852
  }
1838
1853
  }
1839
- return cur?.kind === "Model" ? cur : undefined;
1854
+ const seg = path[0];
1855
+ switch (cur?.kind) {
1856
+ case "Tuple":
1857
+ if (seg.tupleIndex !== undefined &&
1858
+ seg.tupleIndex >= 0 &&
1859
+ seg.tupleIndex < cur.values.length) {
1860
+ return getNestedModel(cur.values[seg.tupleIndex], path.slice(1));
1861
+ }
1862
+ else {
1863
+ return [];
1864
+ }
1865
+ case "Model":
1866
+ if (cur.name === "Array" && seg.tupleIndex !== undefined) {
1867
+ cur = cur.templateMapper?.args[0];
1868
+ }
1869
+ else if (cur.name !== "Array" && seg.propertyName) {
1870
+ cur = cur.properties.get(seg.propertyName)?.type;
1871
+ }
1872
+ else {
1873
+ return [];
1874
+ }
1875
+ return getNestedModel(cur, path.slice(1));
1876
+ case "Union":
1877
+ // When seg.property name exists, it means that it is in the union model or tuple,
1878
+ // and the corresponding model or tuple needs to be found recursively.
1879
+ const models = [];
1880
+ for (const variant of cur.variants.values()) {
1881
+ if (variant.type.kind === "Model" ||
1882
+ variant.type.kind === "Tuple" ||
1883
+ variant.type.kind === "Union") {
1884
+ models.push(...(getNestedModel(variant.type, path) ?? []));
1885
+ }
1886
+ }
1887
+ return models;
1888
+ default:
1889
+ return [];
1890
+ }
1840
1891
  }
1841
1892
  function getReferencedTypeFromTemplateDeclaration(node) {
1842
1893
  let templateParmaeterDeclNode = undefined;
@@ -1901,11 +1952,11 @@ export function createChecker(program, resolver) {
1901
1952
  if (decNode?.kind !== SyntaxKind.DecoratorExpression) {
1902
1953
  return undefined;
1903
1954
  }
1904
- const decSym = program.checker.resolveIdentifier(decNode.target.kind === SyntaxKind.MemberExpression ? decNode.target.id : decNode.target);
1905
- if (!decSym) {
1955
+ const decSym = program.checker.resolveRelatedSymbols(decNode.target.kind === SyntaxKind.MemberExpression ? decNode.target.id : decNode.target);
1956
+ if (!decSym || decSym.length <= 0) {
1906
1957
  return undefined;
1907
1958
  }
1908
- const decDecl = decSym.declarations.find((x) => x.kind === SyntaxKind.DecoratorDeclarationStatement);
1959
+ const decDecl = decSym[0].declarations.find((x) => x.kind === SyntaxKind.DecoratorDeclarationStatement);
1909
1960
  if (!decDecl) {
1910
1961
  return undefined;
1911
1962
  }
@@ -1978,18 +2029,20 @@ export function createChecker(program, resolver) {
1978
2029
  else if (kind === IdentifierKind.ModelExpressionProperty ||
1979
2030
  kind === IdentifierKind.ObjectLiteralProperty) {
1980
2031
  const model = getReferencedModel(ancestor);
1981
- if (!model) {
2032
+ if (model.length <= 0) {
1982
2033
  return completions;
1983
2034
  }
1984
2035
  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);
2036
+ for (const curModel of model) {
2037
+ for (const prop of walkPropertiesInherited(curModel)) {
2038
+ if (identifier.sv === prop.name ||
2039
+ !curModelNode.properties.find((p) => (p.kind === SyntaxKind.ModelProperty ||
2040
+ p.kind === SyntaxKind.ObjectLiteralProperty) &&
2041
+ p.id.sv === prop.name)) {
2042
+ const sym = getMemberSymbol(curModel.node.symbol, prop.name);
2043
+ if (sym) {
2044
+ addCompletion(prop.name, sym);
2045
+ }
1993
2046
  }
1994
2047
  }
1995
2048
  }
@@ -3781,6 +3834,27 @@ export function createChecker(program, resolver) {
3781
3834
  target: node.targetType,
3782
3835
  }));
3783
3836
  }
3837
+ else if (links.finalSymbol?.flags &&
3838
+ ~links.finalSymbol.flags & 1048576 /* SymbolFlags.Declaration */ &&
3839
+ ~links.finalSymbol.flags & 262144 /* SymbolFlags.Member */) {
3840
+ program.reportDiagnostic(createDiagnostic({
3841
+ code: "augment-decorator-target",
3842
+ messageId: links.finalSymbol.flags & 2 /* SymbolFlags.Model */
3843
+ ? "noModelExpression"
3844
+ : links.finalSymbol.flags & 64 /* SymbolFlags.Union */
3845
+ ? "noUnionExpression"
3846
+ : "default",
3847
+ target: node.targetType,
3848
+ }));
3849
+ }
3850
+ else if (links.finalSymbol?.flags && links.finalSymbol.flags & 128 /* SymbolFlags.Alias */) {
3851
+ const aliasNode = getSymNode(links.finalSymbol);
3852
+ program.reportDiagnostic(createDiagnostic({
3853
+ code: "augment-decorator-target",
3854
+ messageId: aliasNode.value.kind === SyntaxKind.UnionExpression ? "noUnionExpression" : "default",
3855
+ target: node.targetType,
3856
+ }));
3857
+ }
3784
3858
  // If this was used to get a type this is invalid, only used for validation.
3785
3859
  return errorType;
3786
3860
  }