@microsoft/typespec-msgraph 1.0.3 → 1.1.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 (96) hide show
  1. package/dist/src/components/annotations.d.ts.map +1 -1
  2. package/dist/src/components/annotations.js +2 -0
  3. package/dist/src/components/annotations.js.map +1 -1
  4. package/dist/src/components/property-element.js +1 -1
  5. package/dist/src/components/property-element.js.map +1 -1
  6. package/dist/src/components/schema-element.js +1 -1
  7. package/dist/src/components/schema-element.js.map +1 -1
  8. package/dist/src/components/skip-token-supported-annotation.d.ts +5 -0
  9. package/dist/src/components/skip-token-supported-annotation.d.ts.map +1 -0
  10. package/dist/src/components/skip-token-supported-annotation.js +6 -0
  11. package/dist/src/components/skip-token-supported-annotation.js.map +1 -0
  12. package/dist/src/decorators/facet.d.ts +10 -0
  13. package/dist/src/decorators/facet.d.ts.map +1 -0
  14. package/dist/src/decorators/facet.js +14 -0
  15. package/dist/src/decorators/facet.js.map +1 -0
  16. package/dist/src/decorators/flat-bag.d.ts +22 -0
  17. package/dist/src/decorators/flat-bag.d.ts.map +1 -0
  18. package/dist/src/decorators/flat-bag.js +71 -0
  19. package/dist/src/decorators/flat-bag.js.map +1 -0
  20. package/dist/src/decorators/index.d.ts +5 -0
  21. package/dist/src/decorators/index.d.ts.map +1 -1
  22. package/dist/src/decorators/index.js +5 -0
  23. package/dist/src/decorators/index.js.map +1 -1
  24. package/dist/src/decorators/namespace-alias.d.ts +58 -0
  25. package/dist/src/decorators/namespace-alias.d.ts.map +1 -0
  26. package/dist/src/decorators/namespace-alias.js +82 -0
  27. package/dist/src/decorators/namespace-alias.js.map +1 -0
  28. package/dist/src/decorators/skip-token.d.ts +11 -0
  29. package/dist/src/decorators/skip-token.d.ts.map +1 -0
  30. package/dist/src/decorators/skip-token.js +15 -0
  31. package/dist/src/decorators/skip-token.js.map +1 -0
  32. package/dist/src/decorators/variant.d.ts +12 -0
  33. package/dist/src/decorators/variant.d.ts.map +1 -0
  34. package/dist/src/decorators/variant.js +18 -0
  35. package/dist/src/decorators/variant.js.map +1 -0
  36. package/dist/src/entities/annotations.d.ts +1 -0
  37. package/dist/src/entities/annotations.d.ts.map +1 -1
  38. package/dist/src/entities/annotations.js +2 -1
  39. package/dist/src/entities/annotations.js.map +1 -1
  40. package/dist/src/entities/entity-container.d.ts +3 -3
  41. package/dist/src/entities/entity-container.d.ts.map +1 -1
  42. package/dist/src/entities/entity-container.js +8 -8
  43. package/dist/src/entities/entity-container.js.map +1 -1
  44. package/dist/src/entities/model.d.ts +2 -2
  45. package/dist/src/entities/model.d.ts.map +1 -1
  46. package/dist/src/entities/model.js +17 -15
  47. package/dist/src/entities/model.js.map +1 -1
  48. package/dist/src/entities/namespace.d.ts +1 -0
  49. package/dist/src/entities/namespace.d.ts.map +1 -1
  50. package/dist/src/entities/namespace.js +6 -3
  51. package/dist/src/entities/namespace.js.map +1 -1
  52. package/dist/src/lib.d.ts +12 -0
  53. package/dist/src/lib.d.ts.map +1 -1
  54. package/dist/src/lib.js +6 -0
  55. package/dist/src/lib.js.map +1 -1
  56. package/dist/src/linter.d.ts.map +1 -1
  57. package/dist/src/linter.js +7 -2
  58. package/dist/src/linter.js.map +1 -1
  59. package/dist/src/rules/enum.d.ts.map +1 -1
  60. package/dist/src/rules/enum.js +8 -0
  61. package/dist/src/rules/enum.js.map +1 -1
  62. package/dist/src/rules/facet.d.ts +6 -0
  63. package/dist/src/rules/facet.d.ts.map +1 -0
  64. package/dist/src/rules/facet.js +45 -0
  65. package/dist/src/rules/facet.js.map +1 -0
  66. package/dist/src/rules/flat-bag.d.ts +51 -0
  67. package/dist/src/rules/flat-bag.d.ts.map +1 -0
  68. package/dist/src/rules/flat-bag.js +334 -0
  69. package/dist/src/rules/flat-bag.js.map +1 -0
  70. package/dist/src/rules/index.d.ts +3 -0
  71. package/dist/src/rules/index.d.ts.map +1 -1
  72. package/dist/src/rules/index.js +3 -0
  73. package/dist/src/rules/index.js.map +1 -1
  74. package/dist/src/rules/namespace.d.ts +20 -0
  75. package/dist/src/rules/namespace.d.ts.map +1 -1
  76. package/dist/src/rules/namespace.js +43 -1
  77. package/dist/src/rules/namespace.js.map +1 -1
  78. package/dist/src/rules/properties.d.ts.map +1 -1
  79. package/dist/src/rules/properties.js +14 -5
  80. package/dist/src/rules/properties.js.map +1 -1
  81. package/dist/src/rules/skip-token.d.ts +6 -0
  82. package/dist/src/rules/skip-token.d.ts.map +1 -0
  83. package/dist/src/rules/skip-token.js +37 -0
  84. package/dist/src/rules/skip-token.js.map +1 -0
  85. package/dist/src/supressions/csdl-suppression-rules.d.ts.map +1 -1
  86. package/dist/src/supressions/csdl-suppression-rules.js +1 -0
  87. package/dist/src/supressions/csdl-suppression-rules.js.map +1 -1
  88. package/dist/src/utils.d.ts +19 -3
  89. package/dist/src/utils.d.ts.map +1 -1
  90. package/dist/src/utils.js +108 -10
  91. package/dist/src/utils.js.map +1 -1
  92. package/dist/src/validate.d.ts.map +1 -1
  93. package/dist/src/validate.js +7 -0
  94. package/dist/src/validate.js.map +1 -1
  95. package/lib/decorators.tsp +59 -0
  96. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oDAAoD,CAAC;AACnE,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oDAAoD,CAAC;AACnE,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC"}
@@ -9,4 +9,24 @@ export declare function validateWorkloadNamespaceName(program: Program): void;
9
9
  export declare const namespacesMustBeCamelCase: import("@typespec/compiler").LinterRuleDefinition<"namespaces-must-be-camel-case", {
10
10
  readonly default: import("@typespec/compiler").CallableMessage<["namespace", "suggested"]>;
11
11
  }>;
12
+ /**
13
+ * Linter rule that fires a warning when `@namespaceAlias("")` is used to suppress
14
+ * the conventional namespace alias.
15
+ *
16
+ * `@namespaceAlias("")` is an escape hatch reserved for workloads that predate the
17
+ * alias-by-convention feature and cannot adopt the conventional alias without a
18
+ * breaking change in their CSDL output. New workloads must not use this pattern.
19
+ *
20
+ * To silence this warning on a legacy namespace, add:
21
+ * ```typespec
22
+ * #suppress "@microsoft/typespec-msgraph/namespace-alias-convention-suppressed"
23
+ * "Legacy workload: predates the alias convention"
24
+ * @namespaceAlias("")
25
+ * @publicNamespace("microsoft.graph.legacy")
26
+ * namespace legacyWorkload;
27
+ * ```
28
+ */
29
+ export declare const namespaceAliasConventionSuppressed: import("@typespec/compiler").LinterRuleDefinition<"namespace-alias-convention-suppressed", {
30
+ readonly default: "Using @namespaceAlias(\"\") to suppress the conventional namespace alias is reserved for workloads that predate the alias convention and must not be used by new workloads. Consider omitting @namespaceAlias and letting the conventional alias be derived, or using @namespaceAlias(\"desired-alias\") to override it.";
31
+ }>;
12
32
  //# sourceMappingURL=namespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/rules/namespace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAsF,MAAM,oBAAoB,CAAC;AAKjI,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QA0B3D;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QAqB3D;AAED,wBAAgB,gDAAgD,CAAC,OAAO,EAAE,OAAO,QAkChF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,QAqB7D;AASD;;GAEG;AACH,eAAO,MAAM,yBAAyB;;EA+CpC,CAAC"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../src/rules/namespace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAsF,MAAM,oBAAoB,CAAC;AAMjI,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QA0B3D;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,QAqB3D;AAED,wBAAgB,gDAAgD,CAAC,OAAO,EAAE,OAAO,QAkChF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,QAqB7D;AASD;;GAEG;AACH,eAAO,MAAM,yBAAyB;;EA+CpC,CAAC;AASH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kCAAkC;;EAuB7C,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { reportDiagnostic } from "../lib.js";
2
2
  import { getPublicNamespaceName, hasPublicNamespace } from "../index.js";
3
3
  import { getNamespaceFullName, navigateTypesInNamespace, createRule, paramMessage } from "@typespec/compiler";
4
- import { getIdForType, isExcludedCoreType, isTypeDefinedInExternalLibrary } from "../utils.js";
4
+ import { getIdForType, isExcludedCoreType, isTypeDefinedInExternalLibrary, getSchemaNamespaceName } from "../utils.js";
5
5
  import { DEFAULT_MSGRAPH_NAMESPACE, getDeclaredNamespacesForLinting, expandNamespaces } from "../entities/namespace.js";
6
6
  import { getWorkloadNamespaceName, hasWorkloadNamespace } from "../decorators/workload-namespace.js";
7
+ import { getConventionalAlias, isNamespaceAliasExplicitlyEmpty } from "../decorators/namespace-alias.js";
7
8
  export function validateNamespaceIsRequired(program) {
8
9
  for (const namespace of getDeclaredNamespacesForLinting(program)) {
9
10
  navigateTypesInNamespace(namespace, {
@@ -160,4 +161,45 @@ export const namespacesMustBeCamelCase = createRule({
160
161
  function isExcludedNamespace(namespaceName) {
161
162
  return namespaceName.startsWith('MsGraph');
162
163
  }
164
+ /**
165
+ * Linter rule that fires a warning when `@namespaceAlias("")` is used to suppress
166
+ * the conventional namespace alias.
167
+ *
168
+ * `@namespaceAlias("")` is an escape hatch reserved for workloads that predate the
169
+ * alias-by-convention feature and cannot adopt the conventional alias without a
170
+ * breaking change in their CSDL output. New workloads must not use this pattern.
171
+ *
172
+ * To silence this warning on a legacy namespace, add:
173
+ * ```typespec
174
+ * #suppress "@microsoft/typespec-msgraph/namespace-alias-convention-suppressed"
175
+ * "Legacy workload: predates the alias convention"
176
+ * @namespaceAlias("")
177
+ * @publicNamespace("microsoft.graph.legacy")
178
+ * namespace legacyWorkload;
179
+ * ```
180
+ */
181
+ export const namespaceAliasConventionSuppressed = createRule({
182
+ name: "namespace-alias-convention-suppressed",
183
+ severity: "warning",
184
+ description: "Suppressing the conventional namespace alias is discouraged. This opt-out is reserved for legacy workloads that predate the alias convention.",
185
+ messages: {
186
+ default: `Using @namespaceAlias("") to suppress the conventional namespace alias is reserved for workloads that predate the alias convention and must not be used by new workloads. Consider omitting @namespaceAlias and letting the conventional alias be derived, or using @namespaceAlias("desired-alias") to override it.`,
187
+ },
188
+ create(context) {
189
+ return {
190
+ namespace: (namespace) => {
191
+ if (!isNamespaceAliasExplicitlyEmpty(context.program, namespace)) {
192
+ return;
193
+ }
194
+ // Only warn when the opt-out actually suppresses a conventional alias that
195
+ // would otherwise have been derived (i.e., microsoft.graph.<suffix> namespaces).
196
+ const schemaName = getSchemaNamespaceName(context.program, namespace);
197
+ if (!getConventionalAlias(schemaName)) {
198
+ return;
199
+ }
200
+ context.reportDiagnostic({ target: namespace });
201
+ },
202
+ };
203
+ },
204
+ });
163
205
  //# sourceMappingURL=namespace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/rules/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAW,oBAAoB,EAAE,wBAAwB,EAAa,UAAU,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AACjI,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACxH,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAErG,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,wBAAwB,CAAC,SAAS,EAAE;YAClC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBAC5C,OAAO;gBACT,CAAC;gBAED,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;oBACvB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;oBACxB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;wBAC5C,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,8BAA8B;oBACpC,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,uBAAuB;oBAClC,MAAM,EAAE;wBACN,KAAK,EAAE,KAAK,CAAC,IAAI;qBAClB;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAE,CAAC;QAExE,IAAI,0BAA0B,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QAED,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,4BAA4B;YACvC,MAAM,EAAE;gBACN,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC;aAC3C;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA,CAAC;AAEF,MAAM,UAAU,gDAAgD,CAAC,OAAgB;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACvD,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,IAAG,8BAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,EAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YAC3C,SAAS;QACX,CAAC;QAED,uEAAuE;QACvE,IAAG,SAAS,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAE,CAAC;QACxD,IAAI,0BAA0B,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,yCAAyC;YACpD,MAAM,EAAE;gBACN,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC;aAC3C;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAE,CAAC;QAE5E,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvD,OAAO;QACT,CAAC;QAED,gBAAgB,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,8BAA8B;YACzC,MAAM,EAAE;gBACN,SAAS,EAAE,oBAAoB,CAAC,SAAS,CAAC;aAC3C;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA,CAAC;AAEF,SAAS,0BAA0B,CAAC,SAAiB;IACnD,0DAA0D;IAC1D,wDAAwD;IACxD,MAAM,cAAc,GAAG,yBAAyB,CAAC;IACjD,OAAO,SAAS,KAAK,yBAAyB,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAClD,IAAI,EAAE,+BAA+B;IACrC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,cAAc,WAAW,uEAAuE,WAAW,IAAI;KACrI;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,SAAS,EAAE,CAAC,SAAoB,EAAE,EAAE;gBAClC,6CAA6C;gBAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;oBAC7C,OAAO;gBACT,CAAC;gBAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC;oBACzD,OAAO;gBACT,CAAC;gBAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,iBAAiB,GAAa,EAAE,CAAC;gBACvC,MAAM,cAAc,GAAa,EAAE,CAAC;gBAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,kBAAkB,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEpD,OAAO,CAAC,gBAAgB,CAAC;wBACvB,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE;4BACN,SAAS,EAAE,aAAa;4BACxB,SAAS,EAAE,kBAAkB;yBAC9B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,mBAAmB,CAAC,aAAqB;IAChD,OAAO,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/rules/namespace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/rules/properties.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAShB,MAAM,oBAAoB,CAAC;AAc5B,eAAO,MAAM,yBAAyB;;EAgCpC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;EAgCrC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;EAwCjC,CAAC;AA6BH,eAAO,MAAM,kDAAkD;;;EAoB7D,CAAC;AA0HH,eAAO,MAAM,0BAA0B;;EAmBrC,CAAC"}
1
+ {"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/rules/properties.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAShB,MAAM,oBAAoB,CAAC;AAe5B,eAAO,MAAM,yBAAyB;;EAgCpC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;EAgCrC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;EAwCjC,CAAC;AA6BH,eAAO,MAAM,kDAAkD;;;EAoB7D,CAAC;AA0HH,eAAO,MAAM,0BAA0B;;EA2BrC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { createRule, paramMessage, } from "@typespec/compiler";
2
2
  import { isEntity, isComplex, getGraphRoutePaths, hasGraphRoute } from "../index.js";
3
+ import { getFlatBagDiscriminator, isFlatBag } from "../decorators/flat-bag.js";
3
4
  import { findOneOfWordsIC, getActualType, getInterfacesTargetingModel, startsWithVariantIC, toSameFirstCharCasingAs, } from "../utils.js";
4
5
  import { getDeclaredNamespacesForLinting } from "../entities/namespace.js";
5
6
  const CREATED_WORD_LIST = ["creation", "create"];
@@ -228,12 +229,20 @@ export const propertyMustNotBeNamedType = createRule({
228
229
  create(context) {
229
230
  return {
230
231
  modelProperty: (property) => {
231
- if (property.name.toLowerCase() === "type") {
232
- context.reportDiagnostic({
233
- target: property,
234
- format: {},
235
- });
232
+ if (property.name.toLowerCase() !== "type") {
233
+ return;
234
+ }
235
+ // @flatBag discriminators are conventionally named 'type' (e.g. recurrencePattern.type).
236
+ // Exempt the discriminator property of any @flatBag model from this rule.
237
+ const model = property.model;
238
+ if (model && isFlatBag(context.program, model) &&
239
+ getFlatBagDiscriminator(context.program, model) === property.name) {
240
+ return;
236
241
  }
242
+ context.reportDiagnostic({
243
+ target: property,
244
+ format: {},
245
+ });
237
246
  },
238
247
  };
239
248
  },
@@ -1 +1 @@
1
- {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/rules/properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/rules/properties.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAE3E,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACjD,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAClD,IAAI,EAAE,+BAA+B;IACrC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,8EAA8E;IAC3F,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,aAAa,UAAU,sCAAsC,WAAW,yCAAyC,WAAW,YAAY;KAC9J;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,aAAa,CAAC,QAAQ;gBACpB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;gBACtE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,MAAM,cAAc,GAAG,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAEvE,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAEhF,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE;wBACN,QAAQ,EAAE,YAAY;wBACtB,SAAS,EAAE,WAAW;wBACtB,SAAS,EAAE,qBAAqB;qBACjC;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACnD,IAAI,EAAE,gCAAgC;IACtC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,+EAA+E;IAC5F,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,aAAa,UAAU,uCAAuC,WAAW,yCAAyC,WAAW,YAAY;KAC/J;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,aAAa,CAAC,QAAQ;gBACpB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBACvE,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBACD,MAAM,cAAc,GAAG,uBAAuB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAExE,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAEhF,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,SAAS;oBACpB,MAAM,EAAE;wBACN,QAAQ,EAAE,YAAY;wBACtB,SAAS,EAAE,WAAW;wBACtB,SAAS,EAAE,qBAAqB;qBACjC;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,SAAS;IACnB,WAAW,EACT,8HAA8H;IAChI,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,UAAU,OAAO,2MAA2M;KAClP;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC1B,wDAAwD;gBACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAEnC,IACE,CAAC,CACC,YAAY,CAAC,WAAW,EAAE,KAAK,WAAW;oBAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CACjC,EACD,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,2FAA2F;gBAC3F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAM,CAAC;gBAE9B,8EAA8E;gBAC9E,IAAI,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,gBAAgB,CAAC;wBACvB,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE;4BACN,KAAK,EAAE,KAAK,CAAC,IAAI;yBAClB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAUH;;GAEG;AACH,SAAS,wBAAwB,CAAC,OAAgB,EAAE,WAAkB;IACpE,6EAA6E;IAC7E,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;oBAC9E,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAChD,OAAO,UAAU,KAAK,WAAW,IAAI,KAAK,KAAK,WAAW,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,kDAAkD,GAAG,UAAU,CAAC;IAC3E,IAAI,EAAE,4DAA4D;IAClE,QAAQ,EAAE,SAAS;IACnB,WAAW,EACT,kIAAkI;IACpI,QAAQ,EAAE;QACR,gBAAgB,EAAE,YAAY,CAAA,iBAAiB,UAAU,oDAAoD,kBAAkB,mNAAmN;QAClV,cAAc,EAAE,YAAY,CAAA,iBAAiB,UAAU,2CAA2C,YAAY,IAAI,gBAAgB,mNAAmN;KACtV;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC1B,mDAAmD;gBACnD,+BAA+B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAEnD,wDAAwD;gBACxD,mCAAmC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAS,+BAA+B,CACtC,OAGE,EACF,QAAuB;IAEvB,IACE,CAAC,QAAQ,CAAC,KAAK;QACf,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAC3F,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhF,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;QACtC,MAAM,oBAAoB,GAAG,oCAAoC,CAC/D,OAAO,CAAC,OAAO,EACf,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,gBAAgB,CAAC;gBACvB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,kBAAkB;gBAC7B,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,gBAAgB,EAAE,oBAAoB;iBACvC;aACF,CAAC,CAAC;YACH,OAAO,CAAC,2BAA2B;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oCAAoC,CAC3C,OAAgB,EAChB,YAAuB;IAEvB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAEpF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,mCAAmC,CAC1C,OAGE,EACF,QAAuB;;IAEvB,oGAAoG;IACpG,IACE,CAAC,QAAQ,CAAC,KAAK;QACf,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAC3F,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEnE,uEAAuE;IACvE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,8BAA8B;IAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;QAC1D,IAAI,mBAAmB,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5D,MAAM,cAAc,GAAG,CAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI,KAAI,SAAS,CAAC;YAEzD,OAAO,CAAC,gBAAgB,CAAC;gBACvB,MAAM,EAAE,cAAc;gBACtB,SAAS,EAAE,gBAAgB;gBAC3B,MAAM,EAAE;oBACN,QAAQ,EAAE,cAAc,CAAC,IAAI;oBAC7B,UAAU,EAAE,cAAc;oBAC1B,cAAc,EAAE,QAAQ,CAAC,IAAI;iBAC9B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAE,IAAsB;IAChE,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AACzF,CAAC;AACD,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACnD,IAAI,EAAE,iCAAiC;IACvC,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,wCAAwC;IACrD,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,2HAA2H;KACjJ;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC1B,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBAC3C,OAAO;gBACT,CAAC;gBACD,yFAAyF;gBACzF,0EAA0E;gBAC1E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC7B,IAAI,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;oBAC1C,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACtE,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,EAAE;iBACX,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Program } from "@typespec/compiler";
2
+ /**
3
+ * @skipToken applies to get operations that return collections.
4
+ */
5
+ export declare function validateSkipTokenAppliesToGetOperationsThatReturnCollections(program: Program): void;
6
+ //# sourceMappingURL=skip-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-token.d.ts","sourceRoot":"","sources":["../../../src/rules/skip-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4B,MAAM,oBAAoB,CAAC;AAOvE;;GAEG;AACH,wBAAgB,4DAA4D,CAAC,OAAO,EAAE,OAAO,QA4B5F"}
@@ -0,0 +1,37 @@
1
+ import { navigateTypesInNamespace } from "@typespec/compiler";
2
+ import { getOperationVerb } from "@typespec/http";
3
+ import { isSkipToken } from "../index.js";
4
+ import { isTypeCollection } from "../utils.js";
5
+ import { reportDiagnostic } from "../lib.js";
6
+ import { getDeclaredNamespacesForLinting } from "../entities/namespace.js";
7
+ /**
8
+ * @skipToken applies to get operations that return collections.
9
+ */
10
+ export function validateSkipTokenAppliesToGetOperationsThatReturnCollections(program) {
11
+ for (const namespace of getDeclaredNamespacesForLinting(program)) {
12
+ navigateTypesInNamespace(namespace, {
13
+ operation: (operation) => {
14
+ if (!isSkipToken(program, operation)) {
15
+ return;
16
+ }
17
+ if (getOperationVerb(program, operation) === "get") {
18
+ const returnType = operation.returnType;
19
+ const isCollection = isTypeCollection(program, returnType);
20
+ if (isCollection) {
21
+ return;
22
+ }
23
+ }
24
+ reportDiagnostic(program, {
25
+ code: "decorator-invalid-use",
26
+ target: operation,
27
+ messageId: "wrongType",
28
+ format: {
29
+ decorator: "@skipToken",
30
+ target: "get operation that returns a collection",
31
+ },
32
+ });
33
+ },
34
+ });
35
+ }
36
+ }
37
+ //# sourceMappingURL=skip-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-token.js","sourceRoot":"","sources":["../../../src/rules/skip-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAE3E;;GAEG;AACH,MAAM,UAAU,4DAA4D,CAAC,OAAgB;IAC3F,KAAK,MAAM,SAAS,IAAI,+BAA+B,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,wBAAwB,CAAC,SAAS,EAAE;YAClC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;oBACrC,OAAO;gBACT,CAAC;gBAED,IAAI,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;oBACnD,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;oBACxC,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBAC3D,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,uBAAuB;oBAC7B,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,WAAW;oBACtB,MAAM,EAAE;wBACN,SAAS,EAAE,YAAY;wBACvB,MAAM,EAAE,yCAAyC;qBAClD;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"csdl-suppression-rules.d.ts","sourceRoot":"","sources":["../../../src/supressions/csdl-suppression-rules.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAmBnE,CAAC;AAIF,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI7E"}
1
+ {"version":3,"file":"csdl-suppression-rules.d.ts","sourceRoot":"","sources":["../../../src/supressions/csdl-suppression-rules.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAmBnE,CAAC;AAIF,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK7E"}
@@ -33,6 +33,7 @@ export const csdlSuppressionRules = {
33
33
  };
34
34
  export function findCsdlValidationRule(linterRule) {
35
35
  const rule = linterRule.split('/').pop();
36
+ /* c8 ignore next -- `String.prototype.split` always returns >=1 element, so `pop()` cannot return undefined; the `?? DEFAULT_RULE` fallback is defensive only. */
36
37
  const csdlRule = csdlSuppressionRules[rule !== null && rule !== void 0 ? rule : DEFAULT_RULE];
37
38
  return csdlRule;
38
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"csdl-suppression-rules.js","sourceRoot":"","sources":["../../../src/supressions/csdl-suppression-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,0CAA0C,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAClK,OAAO,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,6CAA6C,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,sCAAsC,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxJ,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,kDAAkD,EAAE,MAAM,wBAAwB,CAAC;AAEvM,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAuC;IACtE,CAAC,qCAAqC,CAAC,IAAI,CAAC,EAAE,uCAAuC;IACrF,CAAC,oCAAoC,CAAC,IAAI,CAAC,EAAE,YAAY;IACzD,CAAC,0CAA0C,CAAC,IAAI,CAAC,EAAE,iDAAiD;IACpG,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,mCAAmC;IACrE,CAAC,qCAAqC,CAAC,IAAI,CAAC,EAAE,4CAA4C;IAC1F,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,gCAAgC;IACpE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,WAAW;IACxC,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,6BAA6B;IACjE,CAAC,sCAAsC,CAAC,IAAI,CAAC,EAAE,wCAAwC;IACvF,CAAC,kDAAkD,CAAC,IAAI,CAAC,EAAE,2CAA2C;IACtG,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,4BAA4B;IAC/D,CAAC,6CAA6C,CAAC,IAAI,CAAC,EAAE,+CAA+C;IACrG,CAAC,kCAAkC,CAAC,IAAI,CAAC,EAAE,oCAAoC;IAC/E,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,0BAA0B;IAC5D,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,uBAAuB;IACpD,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,2BAA2B;IAC9D,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,wBAAwB;IACvD,YAAY,EAAE,SAAS;CACxB,CAAC;AAIF,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY,CAAC,CAAC;IAC5D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"csdl-suppression-rules.js","sourceRoot":"","sources":["../../../src/supressions/csdl-suppression-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,0CAA0C,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAClK,OAAO,EAAE,qCAAqC,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,6CAA6C,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,sCAAsC,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxJ,OAAO,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,kDAAkD,EAAE,MAAM,wBAAwB,CAAC;AAEvM,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAuC;IACtE,CAAC,qCAAqC,CAAC,IAAI,CAAC,EAAE,uCAAuC;IACrF,CAAC,oCAAoC,CAAC,IAAI,CAAC,EAAE,YAAY;IACzD,CAAC,0CAA0C,CAAC,IAAI,CAAC,EAAE,iDAAiD;IACpG,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,mCAAmC;IACrE,CAAC,qCAAqC,CAAC,IAAI,CAAC,EAAE,4CAA4C;IAC1F,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,gCAAgC;IACpE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,WAAW;IACxC,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,6BAA6B;IACjE,CAAC,sCAAsC,CAAC,IAAI,CAAC,EAAE,wCAAwC;IACvF,CAAC,kDAAkD,CAAC,IAAI,CAAC,EAAE,2CAA2C;IACtG,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,4BAA4B;IAC/D,CAAC,6CAA6C,CAAC,IAAI,CAAC,EAAE,+CAA+C;IACrG,CAAC,kCAAkC,CAAC,IAAI,CAAC,EAAE,oCAAoC;IAC/E,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,0BAA0B;IAC5D,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,uBAAuB;IACpD,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,2BAA2B;IAC9D,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,wBAAwB;IACvD,YAAY,EAAE,SAAS;CACxB,CAAC;AAIF,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACzC,kKAAkK;IAClK,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,YAAY,CAAC,CAAC;IAC5D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -15,18 +15,34 @@ export interface MsGraphInterface {
15
15
  }
16
16
  export declare function hasSchemaNamespace(program: Program, namespace: Namespace): boolean;
17
17
  export declare function getSchemaNamespaceName(program: Program, namespace: Namespace): string | undefined;
18
+ /**
19
+ * Returns the effective namespace alias for `namespace`, combining explicit and conventional aliases.
20
+ * An explicit alias set by `@namespaceAlias` always takes precedence.
21
+ * If `@namespaceAlias("")` is used (the opt-out sentinel), `undefined` is returned, suppressing
22
+ * the conventional alias that would otherwise be derived from the schema namespace name.
23
+ * If no decorator is set, a conventional alias is derived from the schema namespace name
24
+ * when it follows the `microsoft.graph.<suffix>` pattern.
25
+ */
26
+ export declare function getEffectiveNamespaceAlias(program: Program, namespace: Namespace): string | undefined;
27
+ /** Returns `true` when an effective alias exists (either explicit or conventional). */
28
+ export declare function hasEffectiveNamespaceAlias(program: Program, namespace: Namespace): boolean;
18
29
  export declare function getNameForType(program: Program, type: Type): string;
19
- export declare function getNameForModelType(program: Program, type: Model | Scalar | IntrinsicType): string;
30
+ export declare function getNameForModelType(program: Program, type: Model | Scalar | IntrinsicType, currentNamespace?: Namespace): string;
20
31
  export declare function getCSDLPrimitiveType(typespecType: string): string;
21
32
  export declare function isDictionaryType(program: Program, type: Type): boolean;
22
33
  export declare function generateDictionaryBaseType(program: Program, model: Model): string | undefined;
23
- export declare function getIdForType(program: Program, type: Type): string;
34
+ export declare function getIdForType(program: Program, type: Type, currentNamespace?: Namespace): string;
35
+ /**
36
+ * Gets the ID for a type, using the namespace alias when referencing types
37
+ * within the same namespace as the current context.
38
+ */
39
+ export declare function getIdForTypeWithAlias(program: Program, type: Type, currentNamespace: Namespace): string;
24
40
  export declare function getNavigationTypeId(program: Program, getOperation: Operation): string;
25
41
  export declare function getInterfacesOfKinds(program: Program, navigationSources: Map<string, Interface>, kinds: string[]): Map<string, MsGraphInterface>;
26
42
  export declare function isRouteIndexOfACollection(theInterface: Interface | undefined, graphRoute: string): boolean;
27
43
  export declare function getComposableFunctionSegmentFromGraphRoute(graphRoutePath: string): string | undefined;
28
44
  export declare function getCollectionIndexInterfaces(program: Program, navigationSources: Map<string, Interface>): Map<string, MsGraphInterface>;
29
- export declare function getPropertyTypeName(program: Program, type: Type): string;
45
+ export declare function getPropertyTypeName(program: Program, type: Type, currentNamespace?: Namespace): string;
30
46
  export declare function removeReferencePrefixFromType(typeName: string): string;
31
47
  export declare function isTypeNullable(program: Program, type: Type, targetTypeCheck?: (t: Type) => boolean): boolean;
32
48
  export declare function isNullType(type: Type): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/src/utils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getLocationContext, getNamespaceFullName, isArrayModelType, navigateTypesInNamespace, walkPropertiesInherited, } from "@typespec/compiler";
2
- import { getEntity, getExpand, getFilter, getGraphRoutePaths, getPublicNamespaceName, getWorkloadNamespaceName, hasGraphRoute, hasPublicNamespace, hasWorkloadNamespace, isComplex, isContains, isDelta, isEntity, isExpand, isFilter, isPartial, isReferences, isSharedEntity } from "./decorators/index.js";
2
+ import { getEntity, getExpand, getFilter, getGraphRoutePaths, getNamespaceAlias, getConventionalAlias, isNamespaceAliasExplicitlyEmpty, getPublicNamespaceName, getWorkloadNamespaceName, hasGraphRoute, hasPublicNamespace, hasWorkloadNamespace, isComplex, isContains, isDelta, isEntity, isExpand, isFilter, isPartial, isReferences, isSharedEntity } from "./decorators/index.js";
3
3
  import { getOperationVerb } from "@typespec/http";
4
4
  import { DEFAULT_MSGRAPH_NAMESPACE, GetDeclaredNamespaces, usedLibraryTypesKey } from "./entities/namespace.js";
5
5
  import { PathTree } from "./path-tree.js";
@@ -16,6 +16,26 @@ export function getSchemaNamespaceName(program, namespace) {
16
16
  }
17
17
  return getPublicNamespaceName(program, namespace);
18
18
  }
19
+ /**
20
+ * Returns the effective namespace alias for `namespace`, combining explicit and conventional aliases.
21
+ * An explicit alias set by `@namespaceAlias` always takes precedence.
22
+ * If `@namespaceAlias("")` is used (the opt-out sentinel), `undefined` is returned, suppressing
23
+ * the conventional alias that would otherwise be derived from the schema namespace name.
24
+ * If no decorator is set, a conventional alias is derived from the schema namespace name
25
+ * when it follows the `microsoft.graph.<suffix>` pattern.
26
+ */
27
+ export function getEffectiveNamespaceAlias(program, namespace) {
28
+ var _a;
29
+ // @namespaceAlias("") is the explicit opt-out: suppress the conventional alias.
30
+ if (isNamespaceAliasExplicitlyEmpty(program, namespace)) {
31
+ return undefined;
32
+ }
33
+ return (_a = getNamespaceAlias(program, namespace)) !== null && _a !== void 0 ? _a : getConventionalAlias(getSchemaNamespaceName(program, namespace));
34
+ }
35
+ /** Returns `true` when an effective alias exists (either explicit or conventional). */
36
+ export function hasEffectiveNamespaceAlias(program, namespace) {
37
+ return !!getEffectiveNamespaceAlias(program, namespace);
38
+ }
19
39
  export function getNameForType(program, type) {
20
40
  switch (type.kind) {
21
41
  case "Union":
@@ -38,7 +58,7 @@ export function getNameForType(program, type) {
38
58
  return type.kind;
39
59
  }
40
60
  }
41
- export function getNameForModelType(program, type) {
61
+ export function getNameForModelType(program, type, currentNamespace) {
42
62
  switch (type.name) {
43
63
  case "string":
44
64
  case "url":
@@ -87,7 +107,7 @@ export function getNameForModelType(program, type) {
87
107
  if (type.name !== "Array" || type.kind !== "Model" || !type.indexer) {
88
108
  return type.name;
89
109
  }
90
- return `Collection(${getPropertyTypeName(program, type.indexer.value)})`;
110
+ return `Collection(${getPropertyTypeName(program, type.indexer.value, currentNamespace)})`;
91
111
  }
92
112
  export function getCSDLPrimitiveType(typespecType) {
93
113
  switch (typespecType) {
@@ -149,7 +169,7 @@ export function generateDictionaryBaseType(program, model) {
149
169
  }
150
170
  return undefined;
151
171
  }
152
- export function getIdForType(program, type) {
172
+ export function getIdForType(program, type, currentNamespace) {
153
173
  switch (type.kind) {
154
174
  case "Namespace":
155
175
  if (hasWorkloadNamespace(program, type)) {
@@ -165,13 +185,13 @@ export function getIdForType(program, type) {
165
185
  case "Enum":
166
186
  case "Operation":
167
187
  case "Interface":
168
- return `${getIdForType(program, type.namespace)}.${type.name}`;
188
+ return `${getIdForType(program, type.namespace, currentNamespace)}.${type.name}`;
169
189
  case "String":
170
190
  case "Number":
171
191
  case "Boolean":
172
192
  return `${type.value}`;
173
193
  case "Union":
174
- return getIdForUnion(program, type);
194
+ return getIdForUnion(program, type, currentNamespace);
175
195
  case "Scalar":
176
196
  case "Intrinsic":
177
197
  return getNameForModelType(program, type);
@@ -181,6 +201,69 @@ export function getIdForType(program, type) {
181
201
  return type.kind;
182
202
  }
183
203
  }
204
+ /**
205
+ * Gets the ID for a type, using the namespace alias when referencing types
206
+ * within the same namespace as the current context.
207
+ */
208
+ export function getIdForTypeWithAlias(program, type, currentNamespace) {
209
+ switch (type.kind) {
210
+ case "Namespace":
211
+ // Check if this is the same namespace as current context
212
+ if (currentNamespace === type) {
213
+ const alias = getEffectiveNamespaceAlias(program, type);
214
+ if (alias) {
215
+ return alias;
216
+ }
217
+ }
218
+ // Fall through to regular logic
219
+ if (hasWorkloadNamespace(program, type)) {
220
+ return getWorkloadNamespaceName(program, type);
221
+ }
222
+ else if (hasPublicNamespace(program, type)) {
223
+ return getPublicNamespaceName(program, type);
224
+ }
225
+ else {
226
+ return getNamespaceFullName(type);
227
+ }
228
+ case "Model":
229
+ // Handle Array types specially for Collection syntax
230
+ if (type.name === "Array" && type.indexer) {
231
+ return `Collection(${getPropertyTypeName(program, type.indexer.value, currentNamespace)})`;
232
+ }
233
+ // Use the alias only when the type is directly in the current namespace
234
+ if (type.namespace && type.namespace === currentNamespace) {
235
+ const alias = getEffectiveNamespaceAlias(program, currentNamespace);
236
+ if (alias) {
237
+ return `${alias}.${type.name}`;
238
+ }
239
+ }
240
+ return `${getIdForTypeWithAlias(program, type.namespace, currentNamespace)}.${type.name}`;
241
+ case "Enum":
242
+ case "Operation":
243
+ case "Interface":
244
+ // Use the alias only when the type is directly in the current namespace
245
+ if (type.namespace && type.namespace === currentNamespace) {
246
+ const alias = getEffectiveNamespaceAlias(program, currentNamespace);
247
+ if (alias) {
248
+ return `${alias}.${type.name}`;
249
+ }
250
+ }
251
+ return `${getIdForTypeWithAlias(program, type.namespace, currentNamespace)}.${type.name}`;
252
+ case "String":
253
+ case "Number":
254
+ case "Boolean":
255
+ return `${type.value}`;
256
+ case "Union":
257
+ return getIdForUnionWithAlias(program, type, currentNamespace);
258
+ case "Scalar":
259
+ case "Intrinsic":
260
+ return getNameForModelType(program, type, currentNamespace);
261
+ case "EnumMember":
262
+ return `${type.name}`;
263
+ default:
264
+ return type.kind;
265
+ }
266
+ }
184
267
  export function getNavigationTypeId(program, getOperation) {
185
268
  var _a, _b;
186
269
  const returnType = getOperation.returnType;
@@ -264,7 +347,7 @@ function processGraphRoute(program, graphRoute, interfaces, theInterface) {
264
347
  path: graphRoute
265
348
  });
266
349
  }
267
- export function getPropertyTypeName(program, type) {
350
+ export function getPropertyTypeName(program, type, currentNamespace) {
268
351
  var _a;
269
352
  if (type.kind === "Union") {
270
353
  const unionTypes = extractTypesFromUnion(type);
@@ -272,11 +355,18 @@ export function getPropertyTypeName(program, type) {
272
355
  if (!nonNullTypes.length) {
273
356
  return "undefined.";
274
357
  }
275
- return removeReferencePrefixFromType(getPropertyTypeName(program, nonNullTypes[0]));
358
+ return removeReferencePrefixFromType(getPropertyTypeName(program, nonNullTypes[0], currentNamespace));
359
+ }
360
+ // Handle Array types before TypeSpec namespace check to allow alias usage in collections
361
+ if (type.kind === "Model" && type.name === "Array" && type.indexer && currentNamespace) {
362
+ return removeReferencePrefixFromType(`Collection(${getPropertyTypeName(program, type.indexer.value, currentNamespace)})`);
276
363
  }
277
364
  if ((type.kind === "Model" || type.kind === "Scalar") && ((_a = type.namespace) === null || _a === void 0 ? void 0 : _a.name) === "TypeSpec") {
278
365
  return removeReferencePrefixFromType(getNameForType(program, type));
279
366
  }
367
+ if (currentNamespace && hasEffectiveNamespaceAlias(program, currentNamespace)) {
368
+ return removeReferencePrefixFromType(getIdForTypeWithAlias(program, type, currentNamespace));
369
+ }
280
370
  return removeReferencePrefixFromType(getIdForType(program, type));
281
371
  }
282
372
  export function removeReferencePrefixFromType(typeName) {
@@ -294,13 +384,21 @@ export function isTypeNullable(program, type, targetTypeCheck) {
294
384
  }
295
385
  return isNullable;
296
386
  }
297
- function getIdForUnion(program, unionType) {
387
+ function getIdForUnion(program, unionType, currentNamespace) {
388
+ const unionTypes = extractTypesFromUnion(unionType);
389
+ const nonNullTypes = unionTypes.filter((t) => !isNullType(t));
390
+ if (!nonNullTypes.length) {
391
+ return "undefined.";
392
+ }
393
+ return getIdForType(program, nonNullTypes[0], currentNamespace);
394
+ }
395
+ function getIdForUnionWithAlias(program, unionType, currentNamespace) {
298
396
  const unionTypes = extractTypesFromUnion(unionType);
299
397
  const nonNullTypes = unionTypes.filter((t) => !isNullType(t));
300
398
  if (!nonNullTypes.length) {
301
399
  return "undefined.";
302
400
  }
303
- return getIdForType(program, nonNullTypes[0]);
401
+ return getIdForTypeWithAlias(program, nonNullTypes[0], currentNamespace);
304
402
  }
305
403
  export function isNullType(type) {
306
404
  return type.kind === "Intrinsic" && type.name === "null";