@microsoft/typespec-msgraph 0.0.1-Preview.20 → 0.0.1-Preview.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 (271) hide show
  1. package/dist/src/components/annotations.js +2 -2
  2. package/dist/src/components/entity-container-element.d.ts.map +1 -1
  3. package/dist/src/components/entity-container-element.js +6 -2
  4. package/dist/src/components/entity-container-element.js.map +1 -1
  5. package/dist/src/components/enum-type-element.js +1 -1
  6. package/dist/src/components/enum-type-element.js.map +1 -1
  7. package/dist/src/components/property-element.d.ts.map +1 -1
  8. package/dist/src/components/property-element.js +2 -2
  9. package/dist/src/components/property-element.js.map +1 -1
  10. package/dist/src/components/schema-element.d.ts.map +1 -1
  11. package/dist/src/components/schema-element.js +4 -1
  12. package/dist/src/components/schema-element.js.map +1 -1
  13. package/dist/src/decorators/abstract.d.ts +2 -0
  14. package/dist/src/decorators/abstract.d.ts.map +1 -1
  15. package/dist/src/decorators/abstract.js +2 -0
  16. package/dist/src/decorators/abstract.js.map +1 -1
  17. package/dist/src/decorators/action.d.ts +2 -0
  18. package/dist/src/decorators/action.d.ts.map +1 -1
  19. package/dist/src/decorators/action.js +2 -0
  20. package/dist/src/decorators/action.js.map +1 -1
  21. package/dist/src/decorators/additional-query-parameters.d.ts +2 -0
  22. package/dist/src/decorators/additional-query-parameters.d.ts.map +1 -1
  23. package/dist/src/decorators/additional-query-parameters.js +2 -0
  24. package/dist/src/decorators/additional-query-parameters.js.map +1 -1
  25. package/dist/src/decorators/address-url-msa.d.ts +2 -0
  26. package/dist/src/decorators/address-url-msa.d.ts.map +1 -1
  27. package/dist/src/decorators/address-url-msa.js +2 -0
  28. package/dist/src/decorators/address-url-msa.js.map +1 -1
  29. package/dist/src/decorators/ags-attribute.d.ts +2 -2
  30. package/dist/src/decorators/ags-attribute.d.ts.map +1 -1
  31. package/dist/src/decorators/ags-attribute.js +24 -23
  32. package/dist/src/decorators/ags-attribute.js.map +1 -1
  33. package/dist/src/decorators/contains.d.ts +2 -0
  34. package/dist/src/decorators/contains.d.ts.map +1 -1
  35. package/dist/src/decorators/contains.js +2 -0
  36. package/dist/src/decorators/contains.js.map +1 -1
  37. package/dist/src/decorators/deprecated-definition.d.ts +2 -0
  38. package/dist/src/decorators/deprecated-definition.d.ts.map +1 -1
  39. package/dist/src/decorators/deprecated-definition.js.map +1 -1
  40. package/dist/src/decorators/expand.d.ts +2 -0
  41. package/dist/src/decorators/expand.d.ts.map +1 -1
  42. package/dist/src/decorators/expand.js +2 -0
  43. package/dist/src/decorators/expand.js.map +1 -1
  44. package/dist/src/decorators/experimental.d.ts +2 -0
  45. package/dist/src/decorators/experimental.d.ts.map +1 -1
  46. package/dist/src/decorators/experimental.js +2 -0
  47. package/dist/src/decorators/experimental.js.map +1 -1
  48. package/dist/src/decorators/function.d.ts +2 -0
  49. package/dist/src/decorators/function.d.ts.map +1 -1
  50. package/dist/src/decorators/function.js +3 -1
  51. package/dist/src/decorators/function.js.map +1 -1
  52. package/dist/src/decorators/global-operation.d.ts +2 -0
  53. package/dist/src/decorators/global-operation.d.ts.map +1 -1
  54. package/dist/src/decorators/global-operation.js +2 -0
  55. package/dist/src/decorators/global-operation.js.map +1 -1
  56. package/dist/src/decorators/graph-deprecated.d.ts +2 -0
  57. package/dist/src/decorators/graph-deprecated.d.ts.map +1 -1
  58. package/dist/src/decorators/graph-deprecated.js +2 -0
  59. package/dist/src/decorators/graph-deprecated.js.map +1 -1
  60. package/dist/src/decorators/graph-route.d.ts +2 -0
  61. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  62. package/dist/src/decorators/graph-route.js +33 -1
  63. package/dist/src/decorators/graph-route.js.map +1 -1
  64. package/dist/src/decorators/graphFlags.d.ts +11 -0
  65. package/dist/src/decorators/graphFlags.d.ts.map +1 -0
  66. package/dist/src/decorators/graphFlags.js +15 -0
  67. package/dist/src/decorators/graphFlags.js.map +1 -0
  68. package/dist/src/decorators/immutable.d.ts +2 -0
  69. package/dist/src/decorators/immutable.d.ts.map +1 -1
  70. package/dist/src/decorators/immutable.js +2 -0
  71. package/dist/src/decorators/immutable.js.map +1 -1
  72. package/dist/src/decorators/index.d.ts +2 -1
  73. package/dist/src/decorators/index.d.ts.map +1 -1
  74. package/dist/src/decorators/index.js +2 -1
  75. package/dist/src/decorators/index.js.map +1 -1
  76. package/dist/src/decorators/is-owner.d.ts +2 -0
  77. package/dist/src/decorators/is-owner.d.ts.map +1 -1
  78. package/dist/src/decorators/is-owner.js +2 -0
  79. package/dist/src/decorators/is-owner.js.map +1 -1
  80. package/dist/src/decorators/limited-charset.d.ts +2 -0
  81. package/dist/src/decorators/limited-charset.d.ts.map +1 -1
  82. package/dist/src/decorators/limited-charset.js +2 -0
  83. package/dist/src/decorators/limited-charset.js.map +1 -1
  84. package/dist/src/decorators/media.d.ts +2 -0
  85. package/dist/src/decorators/media.d.ts.map +1 -1
  86. package/dist/src/decorators/media.js +2 -0
  87. package/dist/src/decorators/media.js.map +1 -1
  88. package/dist/src/decorators/open.d.ts +2 -0
  89. package/dist/src/decorators/open.d.ts.map +1 -1
  90. package/dist/src/decorators/open.js +2 -0
  91. package/dist/src/decorators/open.js.map +1 -1
  92. package/dist/src/decorators/operation-parameters.d.ts +2 -0
  93. package/dist/src/decorators/operation-parameters.d.ts.map +1 -1
  94. package/dist/src/decorators/operation-parameters.js +2 -0
  95. package/dist/src/decorators/operation-parameters.js.map +1 -1
  96. package/dist/src/decorators/ownerless.d.ts +2 -0
  97. package/dist/src/decorators/ownerless.d.ts.map +1 -1
  98. package/dist/src/decorators/ownerless.js +2 -0
  99. package/dist/src/decorators/ownerless.js.map +1 -1
  100. package/dist/src/decorators/passthrough-address-url-msa.d.ts +4 -1
  101. package/dist/src/decorators/passthrough-address-url-msa.d.ts.map +1 -1
  102. package/dist/src/decorators/passthrough-address-url-msa.js +4 -1
  103. package/dist/src/decorators/passthrough-address-url-msa.js.map +1 -1
  104. package/dist/src/decorators/passthrough-address-url.d.ts +4 -1
  105. package/dist/src/decorators/passthrough-address-url.d.ts.map +1 -1
  106. package/dist/src/decorators/passthrough-address-url.js +4 -1
  107. package/dist/src/decorators/passthrough-address-url.js.map +1 -1
  108. package/dist/src/decorators/prefixed-graph-routes.d.ts +10 -0
  109. package/dist/src/decorators/prefixed-graph-routes.d.ts.map +1 -0
  110. package/dist/src/decorators/prefixed-graph-routes.js +27 -0
  111. package/dist/src/decorators/prefixed-graph-routes.js.map +1 -0
  112. package/dist/src/decorators/private-preview.d.ts +2 -2
  113. package/dist/src/decorators/private-preview.d.ts.map +1 -1
  114. package/dist/src/decorators/private-preview.js.map +1 -1
  115. package/dist/src/decorators/privileged.d.ts +2 -0
  116. package/dist/src/decorators/privileged.d.ts.map +1 -1
  117. package/dist/src/decorators/privileged.js +2 -0
  118. package/dist/src/decorators/privileged.js.map +1 -1
  119. package/dist/src/decorators/read-only.d.ts +2 -0
  120. package/dist/src/decorators/read-only.d.ts.map +1 -1
  121. package/dist/src/decorators/read-only.js +2 -0
  122. package/dist/src/decorators/read-only.js.map +1 -1
  123. package/dist/src/decorators/reference-target.d.ts +1 -0
  124. package/dist/src/decorators/reference-target.d.ts.map +1 -1
  125. package/dist/src/decorators/reference-target.js +1 -0
  126. package/dist/src/decorators/reference-target.js.map +1 -1
  127. package/dist/src/decorators/references.d.ts +2 -0
  128. package/dist/src/decorators/references.d.ts.map +1 -1
  129. package/dist/src/decorators/references.js +2 -0
  130. package/dist/src/decorators/references.js.map +1 -1
  131. package/dist/src/decorators/return-source.d.ts +2 -0
  132. package/dist/src/decorators/return-source.d.ts.map +1 -1
  133. package/dist/src/decorators/return-source.js +2 -0
  134. package/dist/src/decorators/return-source.js.map +1 -1
  135. package/dist/src/decorators/select.d.ts +2 -0
  136. package/dist/src/decorators/select.d.ts.map +1 -1
  137. package/dist/src/decorators/select.js +2 -0
  138. package/dist/src/decorators/select.js.map +1 -1
  139. package/dist/src/decorators/workload-name-msa.d.ts +2 -0
  140. package/dist/src/decorators/workload-name-msa.d.ts.map +1 -1
  141. package/dist/src/decorators/workload-name-msa.js +2 -0
  142. package/dist/src/decorators/workload-name-msa.js.map +1 -1
  143. package/dist/src/decorators/workload-name.d.ts +2 -0
  144. package/dist/src/decorators/workload-name.d.ts.map +1 -1
  145. package/dist/src/decorators/workload-name.js +2 -0
  146. package/dist/src/decorators/workload-name.js.map +1 -1
  147. package/dist/src/decorators/workload-namespace.d.ts +2 -0
  148. package/dist/src/decorators/workload-namespace.d.ts.map +1 -1
  149. package/dist/src/decorators/workload-namespace.js +2 -0
  150. package/dist/src/decorators/workload-namespace.js.map +1 -1
  151. package/dist/src/decorators/write-only.d.ts +2 -0
  152. package/dist/src/decorators/write-only.d.ts.map +1 -1
  153. package/dist/src/decorators/write-only.js +2 -0
  154. package/dist/src/decorators/write-only.js.map +1 -1
  155. package/dist/src/emitter.d.ts.map +1 -1
  156. package/dist/src/emitter.js +9 -6
  157. package/dist/src/emitter.js.map +1 -1
  158. package/dist/src/entities/address-url.js +2 -2
  159. package/dist/src/entities/address-url.js.map +1 -1
  160. package/dist/src/entities/annotations.d.ts +2 -2
  161. package/dist/src/entities/annotations.d.ts.map +1 -1
  162. package/dist/src/entities/annotations.js +15 -15
  163. package/dist/src/entities/annotations.js.map +1 -1
  164. package/dist/src/entities/entity-container.d.ts +3 -0
  165. package/dist/src/entities/entity-container.d.ts.map +1 -1
  166. package/dist/src/entities/entity-container.js +3 -0
  167. package/dist/src/entities/entity-container.js.map +1 -1
  168. package/dist/src/entities/enum.d.ts +1 -1
  169. package/dist/src/entities/enum.d.ts.map +1 -1
  170. package/dist/src/entities/enum.js +8 -6
  171. package/dist/src/entities/enum.js.map +1 -1
  172. package/dist/src/entities/model.d.ts +19 -11
  173. package/dist/src/entities/model.d.ts.map +1 -1
  174. package/dist/src/entities/model.js +100 -34
  175. package/dist/src/entities/model.js.map +1 -1
  176. package/dist/src/entities/ms-graph-route.d.ts.map +1 -1
  177. package/dist/src/entities/ms-graph-route.js +6 -9
  178. package/dist/src/entities/ms-graph-route.js.map +1 -1
  179. package/dist/src/entities/namespace.d.ts +12 -0
  180. package/dist/src/entities/namespace.d.ts.map +1 -1
  181. package/dist/src/entities/namespace.js +176 -17
  182. package/dist/src/entities/namespace.js.map +1 -1
  183. package/dist/src/entities/operation.d.ts +5 -0
  184. package/dist/src/entities/operation.d.ts.map +1 -1
  185. package/dist/src/entities/operation.js +59 -3
  186. package/dist/src/entities/operation.js.map +1 -1
  187. package/dist/src/entities/revision-definition.d.ts +2 -2
  188. package/dist/src/entities/revision-definition.d.ts.map +1 -1
  189. package/dist/src/entities/revision-definition.js +14 -3
  190. package/dist/src/entities/revision-definition.js.map +1 -1
  191. package/dist/src/index.d.ts +1 -0
  192. package/dist/src/index.d.ts.map +1 -1
  193. package/dist/src/index.js +1 -0
  194. package/dist/src/index.js.map +1 -1
  195. package/dist/src/lib.d.ts +11 -0
  196. package/dist/src/lib.d.ts.map +1 -1
  197. package/dist/src/lib.js +10 -2
  198. package/dist/src/lib.js.map +1 -1
  199. package/dist/src/linter.d.ts.map +1 -1
  200. package/dist/src/linter.js +14 -2
  201. package/dist/src/linter.js.map +1 -1
  202. package/dist/src/rules/address-url.d.ts +1 -0
  203. package/dist/src/rules/address-url.d.ts.map +1 -1
  204. package/dist/src/rules/address-url.js +85 -3
  205. package/dist/src/rules/address-url.js.map +1 -1
  206. package/dist/src/rules/delta.d.ts.map +1 -1
  207. package/dist/src/rules/delta.js +6 -7
  208. package/dist/src/rules/delta.js.map +1 -1
  209. package/dist/src/rules/documentation.d.ts +4 -0
  210. package/dist/src/rules/documentation.d.ts.map +1 -0
  211. package/dist/src/rules/documentation.js +88 -0
  212. package/dist/src/rules/documentation.js.map +1 -0
  213. package/dist/src/rules/entity.d.ts +3 -0
  214. package/dist/src/rules/entity.d.ts.map +1 -1
  215. package/dist/src/rules/entity.js +32 -5
  216. package/dist/src/rules/entity.js.map +1 -1
  217. package/dist/src/rules/enum.d.ts +2 -0
  218. package/dist/src/rules/enum.d.ts.map +1 -1
  219. package/dist/src/rules/enum.js +27 -1
  220. package/dist/src/rules/enum.js.map +1 -1
  221. package/dist/src/rules/expand.d.ts.map +1 -1
  222. package/dist/src/rules/expand.js +3 -6
  223. package/dist/src/rules/expand.js.map +1 -1
  224. package/dist/src/rules/filter.js +7 -7
  225. package/dist/src/rules/filter.js.map +1 -1
  226. package/dist/src/rules/function.d.ts +1 -0
  227. package/dist/src/rules/function.d.ts.map +1 -1
  228. package/dist/src/rules/function.js +39 -0
  229. package/dist/src/rules/function.js.map +1 -1
  230. package/dist/src/rules/graph-route.d.ts +1 -0
  231. package/dist/src/rules/graph-route.d.ts.map +1 -1
  232. package/dist/src/rules/graph-route.js +72 -1
  233. package/dist/src/rules/graph-route.js.map +1 -1
  234. package/dist/src/rules/index.d.ts +1 -0
  235. package/dist/src/rules/index.d.ts.map +1 -1
  236. package/dist/src/rules/index.js +1 -0
  237. package/dist/src/rules/index.js.map +1 -1
  238. package/dist/src/rules/model.d.ts +5 -0
  239. package/dist/src/rules/model.d.ts.map +1 -1
  240. package/dist/src/rules/model.js +73 -3
  241. package/dist/src/rules/model.js.map +1 -1
  242. package/dist/src/rules/operation-inside-interface.d.ts +3 -0
  243. package/dist/src/rules/operation-inside-interface.d.ts.map +1 -1
  244. package/dist/src/rules/operation-inside-interface.js +36 -2
  245. package/dist/src/rules/operation-inside-interface.js.map +1 -1
  246. package/dist/src/rules/order-by.js +3 -3
  247. package/dist/src/rules/order-by.js.map +1 -1
  248. package/dist/src/rules/ownerless.d.ts.map +1 -1
  249. package/dist/src/rules/ownerless.js +3 -6
  250. package/dist/src/rules/ownerless.js.map +1 -1
  251. package/dist/src/rules/record-t.d.ts +6 -0
  252. package/dist/src/rules/record-t.d.ts.map +1 -1
  253. package/dist/src/rules/record-t.js +48 -1
  254. package/dist/src/rules/record-t.js.map +1 -1
  255. package/dist/src/rules/required-for-create.d.ts.map +1 -1
  256. package/dist/src/rules/required-for-create.js +4 -5
  257. package/dist/src/rules/required-for-create.js.map +1 -1
  258. package/dist/src/utils.d.ts +20 -4
  259. package/dist/src/utils.d.ts.map +1 -1
  260. package/dist/src/utils.js +222 -113
  261. package/dist/src/utils.js.map +1 -1
  262. package/dist/src/validate.d.ts.map +1 -1
  263. package/dist/src/validate.js +5 -0
  264. package/dist/src/validate.js.map +1 -1
  265. package/lib/decorators.tsp +24 -12
  266. package/lib/shared-models.tsp +5 -0
  267. package/package.json +4 -5
  268. package/dist/src/decorators/flags.d.ts +0 -9
  269. package/dist/src/decorators/flags.d.ts.map +0 -1
  270. package/dist/src/decorators/flags.js +0 -13
  271. package/dist/src/decorators/flags.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../../src/rules/documentation.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,7 @@ export declare function validateKeyOnlyOnEntityNonNullablePrimitiveProperty(prog
4
4
  export declare function validateExtendOnlyAppliesOnDifferentNamespaces(program: Program): void;
5
5
  export declare function validatePropertyTypeOfEntityTypeMustHaveContainsOrReferences(program: Program): void;
6
6
  export declare function validateEntityAndComplexAreMutuallyExclusive(program: Program): void;
7
+ export declare const entityAndComplexPropertyNameShouldNotBeName: import("@typespec/compiler").LinterRuleDefinition<"entity-complex-property-names-should-not-be-name", {
8
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
9
+ }>;
7
10
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAC6F,MAAM,oBAAoB,CAAC;AAMxI,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,QAsDzD;AAED,wBAAgB,mDAAmD,CAAC,OAAO,EAAE,OAAO,QA2CnF;AAGD,wBAAgB,8CAA8C,CAAC,OAAO,EAAE,OAAO,QA8B9E;AAED,wBAAgB,4DAA4D,CAAE,OAAO,EAAE,OAAO,QA0B7F;AAED,wBAAgB,4CAA4C,CAAC,OAAO,EAAE,OAAO,QAkB5E"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EACsH,MAAM,oBAAoB,CAAC;AAMjK,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,QAsDzD;AAED,wBAAgB,mDAAmD,CAAC,OAAO,EAAE,OAAO,QA2CnF;AAGD,wBAAgB,8CAA8C,CAAC,OAAO,EAAE,OAAO,QA8B9E;AAED,wBAAgB,4DAA4D,CAAE,OAAO,EAAE,OAAO,QA0B7F;AAED,wBAAgB,4CAA4C,CAAC,OAAO,EAAE,OAAO,QAkB5E;AAED,eAAO,MAAM,2CAA2C;;EA2BtD,CAAA"}
@@ -1,7 +1,7 @@
1
- import { getLocationContext, isKey, navigateTypesInNamespace, walkPropertiesInherited, isArrayModelType } from "@typespec/compiler";
2
- import { isComplex, isContains, isEntity, isOwnerless, isPartial, isReferences } from "../index.js";
1
+ import { getLocationContext, isKey, navigateTypesInNamespace, walkPropertiesInherited, isArrayModelType, createRule, paramMessage } from "@typespec/compiler";
2
+ import { isComplex, isEntity, isOwnerless, isPartial } from "../index.js";
3
3
  import { reportDiagnostic } from "../lib.js";
4
- import { isTypeNullable, isExcludedLibraryType, isSameNamespace, extractTypesFromUnion, getInterfaceNavigationSourceType } from "../utils.js";
4
+ import { isTypeNullable, isExcludedLibraryType, isSameNamespace, extractTypesFromUnion, getInterfaceNavigationSourceType, isNavigationProperty } from "../utils.js";
5
5
  import { GetDeclaredNamespaces } from "../entities/namespace.js";
6
6
  export function validateEntityMustHaveKey(program) {
7
7
  for (const namespace of GetDeclaredNamespaces(program)) {
@@ -129,7 +129,7 @@ export function validatePropertyTypeOfEntityTypeMustHaveContainsOrReferences(pro
129
129
  navigateTypesInNamespace(namespace, {
130
130
  modelProperty: (property) => {
131
131
  if (property.type.kind === "Model" && isPropertyParentModelAndPropertyTypeEntity(program, property)) {
132
- if (!isContains(program, property) && !isReferences(program, property)) {
132
+ if (!isNavigationProperty(program, property)) {
133
133
  reportModelPropertyDiagnostics(program, property);
134
134
  return;
135
135
  }
@@ -138,7 +138,7 @@ export function validatePropertyTypeOfEntityTypeMustHaveContainsOrReferences(pro
138
138
  const unionTypes = extractTypesFromUnion(property.type);
139
139
  for (const unionType of unionTypes) {
140
140
  if (unionType.kind === "Model" && isEntity(program, unionType)) {
141
- if (!isContains(program, property) && !isReferences(program, property)) {
141
+ if (!isNavigationProperty(program, property)) {
142
142
  reportModelPropertyDiagnostics(program, property, unionType.name);
143
143
  return;
144
144
  }
@@ -167,6 +167,33 @@ export function validateEntityAndComplexAreMutuallyExclusive(program) {
167
167
  });
168
168
  }
169
169
  }
170
+ export const entityAndComplexPropertyNameShouldNotBeName = createRule({
171
+ name: "entity-complex-property-names-should-not-be-name",
172
+ severity: "warning",
173
+ description: "Enforce prperty names should not be 'name'",
174
+ messages: {
175
+ default: paramMessage `Prefer using 'displayName' instead of 'name'`
176
+ },
177
+ create(context) {
178
+ return {
179
+ model: (model) => {
180
+ if (!isEntity(context.program, model) && !isComplex(context.program, model)) {
181
+ return;
182
+ }
183
+ for (const property of model.properties.values()) {
184
+ if (property.name.toLowerCase() === "name") {
185
+ context.reportDiagnostic({
186
+ target: property,
187
+ format: {
188
+ property: property.name
189
+ }
190
+ });
191
+ }
192
+ }
193
+ }
194
+ };
195
+ },
196
+ });
170
197
  function isPropertyParentModelAndPropertyTypeEntity(program, property) {
171
198
  const propertyType = getPropertyType(program, property);
172
199
  return getLocationContext(program, property).type !== "library" &&
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../src/rules/entity.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { Program } from "@typespec/compiler";
1
2
  export declare const useEvolvableEnumRule: import("@typespec/compiler").LinterRuleDefinition<"use-evolvable-enum", {
2
3
  readonly default: import("@typespec/compiler").CallableMessage<[string]>;
3
4
  }>;
5
+ export declare function validateEnumMemberUnknownFutureValueShouldNotHaveDocString(program: Program): void;
4
6
  //# sourceMappingURL=enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,oBAAoB;;EA2B/B,CAAC"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA8D,MAAM,oBAAoB,CAAC;AAKzG,eAAO,MAAM,oBAAoB;;EA2B/B,CAAC;AAEH,wBAAgB,0DAA0D,CAAC,OAAO,EAAE,OAAO,QAyB1F"}
@@ -1,5 +1,7 @@
1
- import { createRule, paramMessage } from "@typespec/compiler";
1
+ import { createRule, getDoc, navigateTypesInNamespace, paramMessage } from "@typespec/compiler";
2
2
  import { isExcludedCoreType } from "../utils.js";
3
+ import { GetDeclaredNamespaces } from "../entities/namespace.js";
4
+ import { reportDiagnostic } from "../lib.js";
3
5
  export const useEvolvableEnumRule = createRule({
4
6
  name: "use-evolvable-enum",
5
7
  severity: "warning",
@@ -26,4 +28,28 @@ export const useEvolvableEnumRule = createRule({
26
28
  };
27
29
  },
28
30
  });
31
+ export function validateEnumMemberUnknownFutureValueShouldNotHaveDocString(program) {
32
+ for (const namespace of GetDeclaredNamespaces(program)) {
33
+ navigateTypesInNamespace(namespace, {
34
+ enum: (enumType) => {
35
+ for (const member of enumType.members.values()) {
36
+ if (member.name !== "unknownFutureValue") {
37
+ continue;
38
+ }
39
+ const doc = getDoc(program, member);
40
+ if (doc) {
41
+ reportDiagnostic(program, {
42
+ code: "decorator-invalid-use",
43
+ target: member,
44
+ messageId: "enumMemberUnknownFutureValueCannotHaveDocString",
45
+ format: {
46
+ member: member.name,
47
+ },
48
+ });
49
+ }
50
+ }
51
+ }
52
+ });
53
+ }
54
+ }
29
55
  //# sourceMappingURL=enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;IAC7C,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,gBAAgB,MAAM,2EAA2E;KACvH;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAClD,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../src/rules/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;IAC7C,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,yBAAyB;IACtC,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,gBAAgB,MAAM,2EAA2E;KACvH;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAClD,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,gBAAgB,CAAC;oBACvB,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ,CAAC,IAAI;qBACpB;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,0DAA0D,CAAC,OAAgB;IACzF,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAC,CAAC;QACtD,wBAAwB,CAAC,SAAS,EAAE;YAClC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACjB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;wBACzC,SAAS;oBACX,CAAC;oBAED,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACpC,IAAI,GAAG,EAAE,CAAC;wBACR,gBAAgB,CAAC,OAAO,EAAE;4BACxB,IAAI,EAAE,uBAAuB;4BAC7B,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,iDAAiD;4BAC5D,MAAM,EAAE;gCACN,MAAM,EAAE,MAAM,CAAC,IAAI;6BACpB;yBACF,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;AAEH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expand.d.ts","sourceRoot":"","sources":["../../../src/rules/expand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAqD,MAAM,oBAAoB,CAAC;AAOvG,wBAAgB,uCAAuC,CAAC,OAAO,EAAE,OAAO,QA8BvE;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QA6CtE"}
1
+ {"version":3,"file":"expand.d.ts","sourceRoot":"","sources":["../../../src/rules/expand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAqD,MAAM,oBAAoB,CAAC;AAOvG,wBAAgB,uCAAuC,CAAC,OAAO,EAAE,OAAO,QA8BvE;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QAyCtE"}
@@ -1,8 +1,8 @@
1
1
  import { navigateTypesInNamespace, walkPropertiesInherited } from "@typespec/compiler";
2
2
  import { getOperationVerb } from "@typespec/http";
3
- import { getExpand, isContains, isDelta, isExpand, isReferences } from "../index.js";
3
+ import { getExpand, isDelta, isExpand } from "../index.js";
4
4
  import { reportDiagnostic } from "../lib.js";
5
- import { getNavigationSourceType } from "../utils.js";
5
+ import { getNavigationSourceType, isNavigationProperty } from "../utils.js";
6
6
  import { GetDeclaredNamespaces } from "../entities/namespace.js";
7
7
  export function validateExpandOnlyOnGetNavigationSource(program) {
8
8
  for (const namespace of GetDeclaredNamespaces(program)) {
@@ -45,12 +45,9 @@ export function validateExpandOnlyNavigationProperties(program) {
45
45
  if (!returnType) {
46
46
  return;
47
47
  }
48
- if (isDelta(program, operation) && operation.name === "delta") {
49
- return;
50
- }
51
48
  const modelType = returnType.indexer ? returnType.indexer.value : returnType;
52
49
  const navigationProperties = [...walkPropertiesInherited(modelType)]
53
- .filter((property) => isContains(program, property) || isReferences(program, property))
50
+ .filter((property) => isNavigationProperty(program, property))
54
51
  .map((property) => property.name);
55
52
  const invalidExpansions = expanded.filter((property) => {
56
53
  return !navigationProperties.includes(property) && property !== "$value";
@@ -1 +1 @@
1
- {"version":3,"file":"expand.js","sourceRoot":"","sources":["../../../src/rules/expand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expand.js","sourceRoot":"","sources":["../../../src/rules/expand.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { getFilter, isDelta, isFilter } from "../index.js";
2
2
  import { getOperationVerb } from "@typespec/http";
3
- import { getNavigationSourceType, getStructuralProperties, isNavigationProperty, isTypeCollection } from "../utils.js";
3
+ import { getModelStructuralPropertyNames, getNavigationSourceType, isNavigationProperty, isTypeCollection } from "../utils.js";
4
4
  import { reportDiagnostic } from "../lib.js";
5
5
  import { getPropertyType, navigateTypesInNamespace, walkPropertiesInherited } from "@typespec/compiler";
6
6
  import { GetDeclaredNamespaces } from "../entities/namespace.js";
@@ -74,13 +74,13 @@ export function validateFilterOnlyAppliesToModelProperties(program) {
74
74
  return;
75
75
  }
76
76
  const model = returnType.indexer ? returnType.indexer.value : returnType;
77
- const filterProperties = getFilter(program, operation);
78
- const structuralProperties = getStructuralProperties(program, model);
79
- const invalidFilterProperties = filterProperties.filter(p => !structuralProperties.includes(p));
80
- if (!invalidFilterProperties.length) {
77
+ const filterPropertyNames = getFilter(program, operation);
78
+ const structuralPropertyNames = getModelStructuralPropertyNames(program, model);
79
+ const invalidFilterPropertyNames = filterPropertyNames.filter(p => !structuralPropertyNames.includes(p));
80
+ if (!invalidFilterPropertyNames.length) {
81
81
  return;
82
82
  }
83
- if (invalidFilterProperties.length === 1 && invalidFilterProperties[0] === "*") {
83
+ if (invalidFilterPropertyNames.length === 1 && invalidFilterPropertyNames[0] === "*") {
84
84
  return;
85
85
  }
86
86
  reportDiagnostic(program, {
@@ -89,7 +89,7 @@ export function validateFilterOnlyAppliesToModelProperties(program) {
89
89
  messageId: "filterProperties",
90
90
  format: {
91
91
  model: model.name,
92
- properties: invalidFilterProperties.join(", "),
92
+ properties: invalidFilterPropertyNames.join(", "),
93
93
  },
94
94
  });
95
95
  },
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/rules/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/rules/filter.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { Program } from "@typespec/compiler";
2
2
  export declare function validateVoidFunction(program: Program): void;
3
+ export declare function validateOverloadedFunctionReturnTypesMustBeIdentical(program: Program): void;
3
4
  //# sourceMappingURL=function.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/rules/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwC,MAAM,oBAAoB,CAAC;AAKnF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAqBpD"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../../src/rules/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,OAAO,EAAwC,MAAM,oBAAoB,CAAC;AAO9F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAqBpD;AAED,wBAAgB,oDAAoD,CAAC,OAAO,EAAE,OAAO,QAwCpF"}
@@ -2,6 +2,8 @@ import { isVoidType, navigateTypesInNamespace } from "@typespec/compiler";
2
2
  import { isFunction } from "../index.js";
3
3
  import { reportDiagnostic } from "../lib.js";
4
4
  import { GetDeclaredNamespaces } from "../entities/namespace.js";
5
+ import { GetMsGraphOperations, getFunctionOperationsAndOtherOperations, getGroupedOverloadedFunctions } from "../entities/operation.js";
6
+ import { checkFunctionOverloads } from "../utils.js";
5
7
  export function validateVoidFunction(program) {
6
8
  for (const namespace of GetDeclaredNamespaces(program)) {
7
9
  navigateTypesInNamespace(namespace, {
@@ -23,4 +25,41 @@ export function validateVoidFunction(program) {
23
25
  }
24
26
  }
25
27
  ;
28
+ export function validateOverloadedFunctionReturnTypesMustBeIdentical(program) {
29
+ for (const namespace of GetDeclaredNamespaces(program)) {
30
+ const operations = GetMsGraphOperations(program, namespace.interfaces);
31
+ const { functionOperations } = getFunctionOperationsAndOtherOperations(operations);
32
+ const groupedOverloadedFunctions = getGroupedOverloadedFunctions(functionOperations);
33
+ const invalidReturnTypes = new Map();
34
+ groupedOverloadedFunctions.forEach(overloadedFunctions => {
35
+ for (let i = 0; i < overloadedFunctions.length; i++) {
36
+ for (let j = i + 1; j < overloadedFunctions.length; j++) {
37
+ if (checkFunctionOverloads(overloadedFunctions[i], overloadedFunctions[j])) {
38
+ const returnType1 = overloadedFunctions[i].ReturnTypeName;
39
+ const returnType2 = overloadedFunctions[j].ReturnTypeName;
40
+ if (returnType1 !== returnType2) {
41
+ invalidReturnTypes.set(returnType1, namespace.operations.get(overloadedFunctions[i].Name));
42
+ invalidReturnTypes.set(returnType2, namespace.operations.get(overloadedFunctions[j].Name));
43
+ }
44
+ }
45
+ }
46
+ if (invalidReturnTypes.size > 0) {
47
+ const invalidReturnTypesArray = Array.from(invalidReturnTypes.keys());
48
+ const operations = [...namespace.interfaces].flatMap(([_, $interface]) => [...$interface.operations]);
49
+ const target = operations.find(([_, operation]) => operation.name === overloadedFunctions[i].Name)[1];
50
+ reportDiagnostic(program, {
51
+ code: "decorator-invalid-use",
52
+ target: target,
53
+ messageId: "overloadedFunctionReturnTypesMustBeSame",
54
+ format: {
55
+ returnTypes: invalidReturnTypesArray.join(", "),
56
+ operation: target.name
57
+ },
58
+ });
59
+ }
60
+ invalidReturnTypes.clear();
61
+ }
62
+ });
63
+ }
64
+ }
26
65
  //# sourceMappingURL=function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/rules/function.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,wBAAwB,CAAC,SAAS,EAAE;YAClC,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;oBACpC,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBAED,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,gCAAgC;oBACtC,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,UAAU;oBACrB,MAAM,EAAE,EAAE;iBACX,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/rules/function.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,5 @@ export declare function validateGraphRouteAndInterfaceExtendsMatchForCollections
11
11
  export declare function validateGraphRouteInterfaceExtendsGraphStandardInterface(program: Program): void;
12
12
  export declare function validateDuplicateGraphRoutesNotAllowed(program: Program): void;
13
13
  export declare function validateGraphRouteParametersMustBeUnique(program: Program): void;
14
+ export declare function validateGraphRouteMustMatchModelStructureWithRespectToNavigationProperties(program: Program): void;
14
15
  //# sourceMappingURL=graph-route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-route.d.ts","sourceRoot":"","sources":["../../../src/rules/graph-route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAInG;;GAEG;AAEH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,QAW9D;AAyBD,wBAAgB,oDAAoD,CAAC,OAAO,EAAE,OAAO,QAWpF;AAqDD,wBAAgB,wDAAwD,CAAC,OAAO,EAAE,OAAO,QA2BxF;AAeD;;GAEG;AACH,wBAAgB,wDAAwD,CAAC,OAAO,EAAE,OAAO,QA0BxF;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QAwBtE;AAgBD,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,OAAO,QA6BxE"}
1
+ {"version":3,"file":"graph-route.d.ts","sourceRoot":"","sources":["../../../src/rules/graph-route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAInG;;GAEG;AAEH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,QAW9D;AAyBD,wBAAgB,oDAAoD,CAAC,OAAO,EAAE,OAAO,QAWpF;AAqDD,wBAAgB,wDAAwD,CAAC,OAAO,EAAE,OAAO,QA2BxF;AAeD;;GAEG;AACH,wBAAgB,wDAAwD,CAAC,OAAO,EAAE,OAAO,QA0BxF;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QAwBtE;AAgBD,wBAAgB,wCAAwC,CAAC,OAAO,EAAE,OAAO,QA6BxE;AAED,wBAAgB,0EAA0E,CAAC,OAAO,EAAE,OAAO,QAsC1G"}
@@ -1,7 +1,7 @@
1
1
  import { reportDiagnostic } from "../lib.js";
2
2
  import { extractParamsFromPath, getGraphRoutePaths, getGraphRoutes, hasGraphRoute } from "../index.js";
3
3
  import { navigateTypesInNamespace } from "@typespec/compiler";
4
- import { getIdForType, getSourceInterfaces } from "../utils.js";
4
+ import { getAllNestedNavigationPaths, getIdForType, getSourceInterfaces, removeRoutePathParams } from "../utils.js";
5
5
  import { GetDeclaredNamespaces } from "../entities/namespace.js";
6
6
  /**
7
7
  * @graphRoute should not have a leading forward slash
@@ -222,4 +222,75 @@ export function validateGraphRouteParametersMustBeUnique(program) {
222
222
  });
223
223
  }
224
224
  }
225
+ export function validateGraphRouteMustMatchModelStructureWithRespectToNavigationProperties(program) {
226
+ for (const namespace of GetDeclaredNamespaces(program)) {
227
+ navigateTypesInNamespace(namespace, {
228
+ interface: ($interface) => {
229
+ if (!hasGraphRoute(program, $interface)) {
230
+ return;
231
+ }
232
+ const graphRoutePaths = getGraphRoutePaths(program, $interface);
233
+ graphRoutePaths.forEach(graphRoutePath => {
234
+ if (removeRoutePathParams(graphRoutePath).split("/").length === 1) {
235
+ return;
236
+ }
237
+ const entitySegment = getEntitySegment(graphRoutePath);
238
+ const structuralPath = getStructuralPathFromGraphRoute(entitySegment, graphRoutePath);
239
+ const models = namespace.models;
240
+ const routeModel = models.get(entitySegment);
241
+ if (routeModel) {
242
+ const structuralProperties = getAllNestedNavigationPaths(program, routeModel);
243
+ if (!structuralProperties.includes(structuralPath)) {
244
+ reportDiagnostic(program, {
245
+ code: "decorator-invalid-use",
246
+ target: $interface,
247
+ messageId: "graphRouteMustMatchModelStructure",
248
+ format: {
249
+ graphRoute: graphRoutePath,
250
+ model: routeModel.name,
251
+ }
252
+ });
253
+ }
254
+ }
255
+ });
256
+ }
257
+ });
258
+ }
259
+ }
260
+ /**
261
+ * This function removes the composable function pattern from the path
262
+ * accessReviews/{reviewId}/instances/{instanceId}/decisions/filterByCurrentUser(string) -> accessReviews/{reviewId}/instances/{instanceId}/decisions
263
+ * @param path
264
+ * @returns
265
+ */
266
+ const removeComposableFunctionPattern = (path) => {
267
+ const pattern = /\/[^/]+(\((?:[^]*|\([^()]*\))*\))/g;
268
+ if (pattern.test(path)) {
269
+ return path.replace(pattern, '');
270
+ }
271
+ return path;
272
+ };
273
+ function getStructuralPathFromGraphRoute(entitySegment, graphRoutePath) {
274
+ let structuralPath = entitySegment.concat("/", removeRoutePathParams(graphRoutePath).split("/").slice(1).join("/"));
275
+ structuralPath = removeTrailingRef(structuralPath);
276
+ structuralPath = removeComposableFunctionPattern(structuralPath);
277
+ return structuralPath;
278
+ }
279
+ function removeTrailingRef(path) {
280
+ if (path.endsWith("/$ref")) {
281
+ return path.slice(0, -5);
282
+ }
283
+ return path;
284
+ }
285
+ function getEntitySegment(graphRoutePath) {
286
+ const routeWithoutParams = removeRoutePathParams(graphRoutePath);
287
+ const pathParts = routeWithoutParams.split("/");
288
+ return removeLastOccurrenceOfSCharacter(pathParts[0]);
289
+ }
290
+ function removeLastOccurrenceOfSCharacter(path) {
291
+ if (path.endsWith("s")) {
292
+ path = path.slice(0, -1);
293
+ }
294
+ return path;
295
+ }
225
296
  //# sourceMappingURL=graph-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-route.js","sourceRoot":"","sources":["../../../src/rules/graph-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-route.js","sourceRoot":"","sources":["../../../src/rules/graph-route.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export * from "./contains.js";
8
8
  export * from "./count.js";
9
9
  export * from "./delta.js";
10
10
  export * from "./disallowed-typespec-decorators.js";
11
+ export * from "./documentation.js";
11
12
  export * from "./entity.js";
12
13
  export * from "./enum.js";
13
14
  export * from "./expand.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oDAAoD,CAAC;AACnE,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,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oDAAoD,CAAC;AACnE,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,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -8,6 +8,7 @@ export * from "./contains.js";
8
8
  export * from "./count.js";
9
9
  export * from "./delta.js";
10
10
  export * from "./disallowed-typespec-decorators.js";
11
+ export * from "./documentation.js";
11
12
  export * from "./entity.js";
12
13
  export * from "./enum.js";
13
14
  export * from "./expand.js";
@@ -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,oBAAoB,CAAC;AACnC,cAAc,oDAAoD,CAAC;AACnE,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,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,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,oBAAoB,CAAC;AACnC,cAAc,oDAAoD,CAAC;AACnE,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,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iCAAiC,CAAC;AAChD,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -1,4 +1,9 @@
1
+ import { Program } from "@typespec/compiler";
1
2
  export declare const modelShouldBeEntityOrComplexType: import("@typespec/compiler").LinterRuleDefinition<"model-should-be-entity-or-complex-type", {
2
3
  readonly default: import("@typespec/compiler").CallableMessage<[string]>;
3
4
  }>;
5
+ export declare const containedNavigationPropertyTypeShouldNotBeExternallyReferenced: import("@typespec/compiler").LinterRuleDefinition<"contained-navigation-property-type-should-not-be-externally-referenced", {
6
+ readonly default: import("@typespec/compiler").CallableMessage<[string]>;
7
+ }>;
8
+ export declare function validatePropertyTypeIsNotStringLiteral(program: Program): void;
4
9
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/rules/model.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gCAAgC;;EAmC3C,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/rules/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,OAAO,EAA0E,MAAM,oBAAoB,CAAC;AAOjK,eAAO,MAAM,gCAAgC;;EAmC3C,CAAA;AAEF,eAAO,MAAM,8DAA8D;;EAyBzE,CAAA;AAEF,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,QA4BtE"}