@microsoft/typespec-msgraph 0.0.1-Preview.1 → 0.0.1-Preview.11

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 (371) hide show
  1. package/dist/src/components/acceptable-media-types-annotation.d.ts +3 -4
  2. package/dist/src/components/acceptable-media-types-annotation.d.ts.map +1 -1
  3. package/dist/src/components/acceptable-media-types-annotation.js +2 -6
  4. package/dist/src/components/acceptable-media-types-annotation.js.map +1 -1
  5. package/dist/src/components/alternate-keys-annotation.d.ts +4 -4
  6. package/dist/src/components/alternate-keys-annotation.d.ts.map +1 -1
  7. package/dist/src/components/alternate-keys-annotation.js +8 -16
  8. package/dist/src/components/alternate-keys-annotation.js.map +1 -1
  9. package/dist/src/components/annotations.d.ts +12 -0
  10. package/dist/src/components/annotations.d.ts.map +1 -0
  11. package/dist/src/components/annotations.js +63 -0
  12. package/dist/src/components/annotations.js.map +1 -0
  13. package/dist/src/components/common-elements.d.ts +15 -73
  14. package/dist/src/components/common-elements.d.ts.map +1 -1
  15. package/dist/src/components/common-elements.js +12 -26
  16. package/dist/src/components/common-elements.js.map +1 -1
  17. package/dist/src/components/computed-annotation.d.ts +3 -4
  18. package/dist/src/components/computed-annotation.d.ts.map +1 -1
  19. package/dist/src/components/computed-annotation.js +4 -10
  20. package/dist/src/components/computed-annotation.js.map +1 -1
  21. package/dist/src/components/count-restrictions-annotation.d.ts +3 -4
  22. package/dist/src/components/count-restrictions-annotation.d.ts.map +1 -1
  23. package/dist/src/components/count-restrictions-annotation.js +4 -13
  24. package/dist/src/components/count-restrictions-annotation.js.map +1 -1
  25. package/dist/src/components/description-annotation.d.ts +3 -4
  26. package/dist/src/components/description-annotation.d.ts.map +1 -1
  27. package/dist/src/components/description-annotation.js +5 -11
  28. package/dist/src/components/description-annotation.js.map +1 -1
  29. package/dist/src/components/entity-container-element.d.ts +21 -0
  30. package/dist/src/components/entity-container-element.d.ts.map +1 -0
  31. package/dist/src/components/entity-container-element.js +22 -0
  32. package/dist/src/components/entity-container-element.js.map +1 -0
  33. package/dist/src/components/enum-type-element.d.ts +6 -0
  34. package/dist/src/components/enum-type-element.d.ts.map +1 -0
  35. package/dist/src/components/enum-type-element.js +17 -0
  36. package/dist/src/components/enum-type-element.js.map +1 -0
  37. package/dist/src/components/expand-restrictions-annotation.d.ts +4 -5
  38. package/dist/src/components/expand-restrictions-annotation.d.ts.map +1 -1
  39. package/dist/src/components/expand-restrictions-annotation.js +9 -30
  40. package/dist/src/components/expand-restrictions-annotation.js.map +1 -1
  41. package/dist/src/components/filter-restrictions-annotation.d.ts +6 -0
  42. package/dist/src/components/filter-restrictions-annotation.d.ts.map +1 -0
  43. package/dist/src/components/filter-restrictions-annotation.js +10 -0
  44. package/dist/src/components/filter-restrictions-annotation.js.map +1 -0
  45. package/dist/src/components/immutable-annotation.d.ts +5 -0
  46. package/dist/src/components/immutable-annotation.d.ts.map +1 -0
  47. package/dist/src/components/immutable-annotation.js +6 -0
  48. package/dist/src/components/immutable-annotation.js.map +1 -0
  49. package/dist/src/components/index.d.ts +2 -14
  50. package/dist/src/components/index.d.ts.map +1 -1
  51. package/dist/src/components/index.js +9 -14
  52. package/dist/src/components/index.js.map +1 -1
  53. package/dist/src/components/insert-restrictions-annotation.d.ts +6 -0
  54. package/dist/src/components/insert-restrictions-annotation.d.ts.map +1 -0
  55. package/dist/src/components/insert-restrictions-annotation.js +10 -0
  56. package/dist/src/components/insert-restrictions-annotation.js.map +1 -0
  57. package/dist/src/components/operation-element.d.ts +6 -0
  58. package/dist/src/components/operation-element.d.ts.map +1 -0
  59. package/dist/src/components/operation-element.js +70 -0
  60. package/dist/src/components/operation-element.js.map +1 -0
  61. package/dist/src/components/permissions-annotation.d.ts +3 -4
  62. package/dist/src/components/permissions-annotation.d.ts.map +1 -1
  63. package/dist/src/components/permissions-annotation.js +2 -10
  64. package/dist/src/components/permissions-annotation.js.map +1 -1
  65. package/dist/src/components/property-element.d.ts +4 -4
  66. package/dist/src/components/property-element.d.ts.map +1 -1
  67. package/dist/src/components/property-element.js +16 -32
  68. package/dist/src/components/property-element.js.map +1 -1
  69. package/dist/src/components/revisions-annotation.d.ts +4 -5
  70. package/dist/src/components/revisions-annotation.d.ts.map +1 -1
  71. package/dist/src/components/revisions-annotation.js +7 -51
  72. package/dist/src/components/revisions-annotation.js.map +1 -1
  73. package/dist/src/components/schema-element.d.ts +6 -0
  74. package/dist/src/components/schema-element.d.ts.map +1 -0
  75. package/dist/src/components/schema-element.js +42 -0
  76. package/dist/src/components/schema-element.js.map +1 -0
  77. package/dist/src/components/search-restrictions-annotation.d.ts +3 -4
  78. package/dist/src/components/search-restrictions-annotation.d.ts.map +1 -1
  79. package/dist/src/components/search-restrictions-annotation.js +4 -13
  80. package/dist/src/components/search-restrictions-annotation.js.map +1 -1
  81. package/dist/src/components/skip-supported-annotation.d.ts +3 -4
  82. package/dist/src/components/skip-supported-annotation.d.ts.map +1 -1
  83. package/dist/src/components/skip-supported-annotation.js +2 -11
  84. package/dist/src/components/skip-supported-annotation.js.map +1 -1
  85. package/dist/src/components/sort-restrictions-annotation.d.ts +4 -5
  86. package/dist/src/components/sort-restrictions-annotation.d.ts.map +1 -1
  87. package/dist/src/components/sort-restrictions-annotation.js +9 -30
  88. package/dist/src/components/sort-restrictions-annotation.js.map +1 -1
  89. package/dist/src/components/structured-type-element.d.ts +7 -4
  90. package/dist/src/components/structured-type-element.d.ts.map +1 -1
  91. package/dist/src/components/structured-type-element.js +24 -66
  92. package/dist/src/components/structured-type-element.js.map +1 -1
  93. package/dist/src/components/top-supported-annotation.d.ts +3 -4
  94. package/dist/src/components/top-supported-annotation.d.ts.map +1 -1
  95. package/dist/src/components/top-supported-annotation.js +3 -10
  96. package/dist/src/components/top-supported-annotation.js.map +1 -1
  97. package/dist/src/components/update-restrictions-annotation.d.ts +5 -0
  98. package/dist/src/components/update-restrictions-annotation.d.ts.map +1 -0
  99. package/dist/src/components/update-restrictions-annotation.js +8 -0
  100. package/dist/src/components/update-restrictions-annotation.js.map +1 -0
  101. package/dist/src/decorators/abstract.d.ts.map +1 -1
  102. package/dist/src/decorators/abstract.js +0 -6
  103. package/dist/src/decorators/abstract.js.map +1 -1
  104. package/dist/src/decorators/action.d.ts +10 -0
  105. package/dist/src/decorators/action.d.ts.map +1 -0
  106. package/dist/src/decorators/action.js +16 -0
  107. package/dist/src/decorators/action.js.map +1 -0
  108. package/dist/src/decorators/{handlers/custom/additional-query-parameters.d.ts → additional-query-parameters.d.ts} +3 -1
  109. package/dist/src/decorators/additional-query-parameters.d.ts.map +1 -0
  110. package/dist/src/decorators/additional-query-parameters.js +21 -0
  111. package/dist/src/decorators/additional-query-parameters.js.map +1 -0
  112. package/dist/src/decorators/ags-attribute.d.ts +14 -0
  113. package/dist/src/decorators/ags-attribute.d.ts.map +1 -0
  114. package/dist/src/decorators/ags-attribute.js +115 -0
  115. package/dist/src/decorators/ags-attribute.js.map +1 -0
  116. package/dist/src/decorators/allowed-values.d.ts +13 -0
  117. package/dist/src/decorators/allowed-values.d.ts.map +1 -0
  118. package/dist/src/decorators/allowed-values.js +35 -0
  119. package/dist/src/decorators/allowed-values.js.map +1 -0
  120. package/dist/src/decorators/complex.d.ts.map +1 -1
  121. package/dist/src/decorators/complex.js +0 -6
  122. package/dist/src/decorators/complex.js.map +1 -1
  123. package/dist/src/decorators/delta-collection.d.ts +8 -0
  124. package/dist/src/decorators/delta-collection.d.ts.map +1 -0
  125. package/dist/src/decorators/delta-collection.js +12 -0
  126. package/dist/src/decorators/delta-collection.js.map +1 -0
  127. package/dist/src/decorators/entity.d.ts.map +1 -1
  128. package/dist/src/decorators/entity.js +0 -6
  129. package/dist/src/decorators/entity.js.map +1 -1
  130. package/dist/src/decorators/filter.d.ts +11 -0
  131. package/dist/src/decorators/filter.d.ts.map +1 -0
  132. package/dist/src/decorators/filter.js +27 -0
  133. package/dist/src/decorators/filter.js.map +1 -0
  134. package/dist/src/decorators/flags.d.ts +9 -0
  135. package/dist/src/decorators/flags.d.ts.map +1 -0
  136. package/dist/src/decorators/flags.js +13 -0
  137. package/dist/src/decorators/flags.js.map +1 -0
  138. package/dist/src/decorators/function.d.ts +10 -0
  139. package/dist/src/decorators/function.d.ts.map +1 -0
  140. package/dist/src/decorators/function.js +16 -0
  141. package/dist/src/decorators/function.js.map +1 -0
  142. package/dist/src/decorators/graph-route.d.ts +17 -0
  143. package/dist/src/decorators/graph-route.d.ts.map +1 -0
  144. package/dist/src/decorators/graph-route.js +92 -0
  145. package/dist/src/decorators/graph-route.js.map +1 -0
  146. package/dist/src/decorators/has-stream.d.ts +1 -2
  147. package/dist/src/decorators/has-stream.d.ts.map +1 -1
  148. package/dist/src/decorators/has-stream.js +1 -14
  149. package/dist/src/decorators/has-stream.js.map +1 -1
  150. package/dist/src/decorators/immutable.d.ts +8 -0
  151. package/dist/src/decorators/immutable.d.ts.map +1 -0
  152. package/dist/src/decorators/immutable.js +12 -0
  153. package/dist/src/decorators/immutable.js.map +1 -0
  154. package/dist/src/decorators/index.d.ts +20 -1
  155. package/dist/src/decorators/index.d.ts.map +1 -1
  156. package/dist/src/decorators/index.js +20 -1
  157. package/dist/src/decorators/index.js.map +1 -1
  158. package/dist/src/decorators/is-owner.d.ts +10 -0
  159. package/dist/src/decorators/is-owner.d.ts.map +1 -0
  160. package/dist/src/decorators/is-owner.js +17 -0
  161. package/dist/src/decorators/is-owner.js.map +1 -0
  162. package/dist/src/decorators/open.d.ts.map +1 -1
  163. package/dist/src/decorators/open.js +0 -6
  164. package/dist/src/decorators/open.js.map +1 -1
  165. package/dist/src/decorators/{routed-interfaces.d.ts → operation-parameters.d.ts} +3 -11
  166. package/dist/src/decorators/operation-parameters.d.ts.map +1 -0
  167. package/dist/src/decorators/operation-parameters.js +15 -0
  168. package/dist/src/decorators/operation-parameters.js.map +1 -0
  169. package/dist/src/decorators/paged-collection.d.ts +8 -0
  170. package/dist/src/decorators/paged-collection.d.ts.map +1 -0
  171. package/dist/src/decorators/paged-collection.js +12 -0
  172. package/dist/src/decorators/paged-collection.js.map +1 -0
  173. package/dist/src/decorators/partial.d.ts +10 -0
  174. package/dist/src/decorators/partial.d.ts.map +1 -0
  175. package/dist/src/decorators/partial.js +16 -0
  176. package/dist/src/decorators/partial.js.map +1 -0
  177. package/dist/src/decorators/private-preview.d.ts.map +1 -1
  178. package/dist/src/decorators/private-preview.js +0 -10
  179. package/dist/src/decorators/private-preview.js.map +1 -1
  180. package/dist/src/decorators/privileged.d.ts +9 -0
  181. package/dist/src/decorators/privileged.d.ts.map +1 -0
  182. package/dist/src/decorators/privileged.js +13 -0
  183. package/dist/src/decorators/privileged.js.map +1 -0
  184. package/dist/src/decorators/public-namespace.d.ts +10 -0
  185. package/dist/src/decorators/public-namespace.d.ts.map +1 -0
  186. package/dist/src/decorators/public-namespace.js +16 -0
  187. package/dist/src/decorators/public-namespace.js.map +1 -0
  188. package/dist/src/decorators/required-for-create.d.ts +10 -0
  189. package/dist/src/decorators/required-for-create.d.ts.map +1 -0
  190. package/dist/src/decorators/required-for-create.js +14 -0
  191. package/dist/src/decorators/required-for-create.js.map +1 -0
  192. package/dist/src/decorators/workload-name-msa.d.ts +9 -0
  193. package/dist/src/decorators/workload-name-msa.d.ts.map +1 -0
  194. package/dist/src/decorators/workload-name-msa.js +13 -0
  195. package/dist/src/decorators/workload-name-msa.js.map +1 -0
  196. package/dist/src/decorators/workload-name.d.ts +9 -0
  197. package/dist/src/decorators/workload-name.d.ts.map +1 -0
  198. package/dist/src/decorators/workload-name.js +13 -0
  199. package/dist/src/decorators/workload-name.js.map +1 -0
  200. package/dist/src/emitter.d.ts +2 -1
  201. package/dist/src/emitter.d.ts.map +1 -1
  202. package/dist/src/emitter.js +7 -3
  203. package/dist/src/emitter.js.map +1 -1
  204. package/dist/src/entities/annotations.d.ts +40 -0
  205. package/dist/src/entities/annotations.d.ts.map +1 -0
  206. package/dist/src/entities/annotations.js +139 -0
  207. package/dist/src/entities/annotations.js.map +1 -0
  208. package/dist/src/entities/entity-container.d.ts +15 -0
  209. package/dist/src/entities/entity-container.d.ts.map +1 -0
  210. package/dist/src/entities/entity-container.js +44 -0
  211. package/dist/src/entities/entity-container.js.map +1 -0
  212. package/dist/src/entities/enum.d.ts +17 -0
  213. package/dist/src/entities/enum.d.ts.map +1 -0
  214. package/dist/src/entities/enum.js +24 -0
  215. package/dist/src/entities/enum.js.map +1 -0
  216. package/dist/src/entities/model.d.ts +47 -0
  217. package/dist/src/entities/model.d.ts.map +1 -0
  218. package/dist/src/entities/model.js +104 -0
  219. package/dist/src/entities/model.js.map +1 -0
  220. package/dist/src/entities/namespace.d.ts +22 -0
  221. package/dist/src/entities/namespace.d.ts.map +1 -0
  222. package/dist/src/entities/namespace.js +84 -0
  223. package/dist/src/entities/namespace.js.map +1 -0
  224. package/dist/src/entities/operation.d.ts +28 -0
  225. package/dist/src/entities/operation.d.ts.map +1 -0
  226. package/dist/src/entities/operation.js +103 -0
  227. package/dist/src/entities/operation.js.map +1 -0
  228. package/dist/src/entities/property.d.ts +3 -0
  229. package/dist/src/entities/property.d.ts.map +1 -0
  230. package/dist/src/entities/property.js +57 -0
  231. package/dist/src/entities/property.js.map +1 -0
  232. package/dist/src/entities/revision-definition.d.ts +9 -0
  233. package/dist/src/entities/revision-definition.d.ts.map +1 -0
  234. package/dist/src/entities/revision-definition.js +42 -0
  235. package/dist/src/entities/revision-definition.js.map +1 -0
  236. package/dist/src/index.d.ts +0 -3
  237. package/dist/src/index.d.ts.map +1 -1
  238. package/dist/src/index.js +0 -3
  239. package/dist/src/index.js.map +1 -1
  240. package/dist/src/lib.d.ts +53 -2
  241. package/dist/src/lib.d.ts.map +1 -1
  242. package/dist/src/lib.js +25 -1
  243. package/dist/src/lib.js.map +1 -1
  244. package/dist/src/linter.d.ts.map +1 -1
  245. package/dist/src/linter.js +34 -25
  246. package/dist/src/linter.js.map +1 -1
  247. package/dist/src/rules/abstract.d.ts +2 -1
  248. package/dist/src/rules/abstract.d.ts.map +1 -1
  249. package/dist/src/rules/abstract.js +8 -8
  250. package/dist/src/rules/abstract.js.map +1 -1
  251. package/dist/src/rules/allowed-values.d.ts +6 -0
  252. package/dist/src/rules/allowed-values.d.ts.map +1 -0
  253. package/dist/src/rules/allowed-values.js +59 -0
  254. package/dist/src/rules/allowed-values.js.map +1 -0
  255. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts +2 -0
  256. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts.map +1 -0
  257. package/dist/src/rules/collection-navigation-properties-not-nullable.js +28 -0
  258. package/dist/src/rules/collection-navigation-properties-not-nullable.js.map +1 -0
  259. package/dist/src/rules/count.d.ts.map +1 -1
  260. package/dist/src/rules/count.js +3 -1
  261. package/dist/src/rules/count.js.map +1 -1
  262. package/dist/src/rules/disallowed-typespec-decorators.d.ts +2 -0
  263. package/dist/src/rules/disallowed-typespec-decorators.d.ts.map +1 -0
  264. package/dist/src/rules/disallowed-typespec-decorators.js +33 -0
  265. package/dist/src/rules/disallowed-typespec-decorators.js.map +1 -0
  266. package/dist/src/rules/entity.d.ts +1 -0
  267. package/dist/src/rules/entity.d.ts.map +1 -1
  268. package/dist/src/rules/entity.js +43 -1
  269. package/dist/src/rules/entity.js.map +1 -1
  270. package/dist/src/rules/enum.d.ts +2 -0
  271. package/dist/src/rules/enum.d.ts.map +1 -0
  272. package/dist/src/rules/enum.js +26 -0
  273. package/dist/src/rules/enum.js.map +1 -0
  274. package/dist/src/rules/expand.d.ts.map +1 -1
  275. package/dist/src/rules/expand.js +5 -7
  276. package/dist/src/rules/expand.js.map +1 -1
  277. package/dist/src/rules/extends-on-same-type.d.ts +2 -0
  278. package/dist/src/rules/extends-on-same-type.d.ts.map +1 -0
  279. package/dist/src/rules/extends-on-same-type.js +38 -0
  280. package/dist/src/rules/extends-on-same-type.js.map +1 -0
  281. package/dist/src/rules/filter.d.ts +4 -0
  282. package/dist/src/rules/filter.d.ts.map +1 -0
  283. package/dist/src/rules/filter.js +92 -0
  284. package/dist/src/rules/filter.js.map +1 -0
  285. package/dist/src/rules/function.d.ts +2 -0
  286. package/dist/src/rules/function.d.ts.map +1 -0
  287. package/dist/src/rules/function.js +26 -0
  288. package/dist/src/rules/function.js.map +1 -0
  289. package/dist/src/rules/graph-route.d.ts +6 -0
  290. package/dist/src/rules/graph-route.d.ts.map +1 -0
  291. package/dist/src/rules/graph-route.js +97 -0
  292. package/dist/src/rules/graph-route.js.map +1 -0
  293. package/dist/src/rules/index.d.ts +13 -6
  294. package/dist/src/rules/index.d.ts.map +1 -1
  295. package/dist/src/rules/index.js +13 -161
  296. package/dist/src/rules/index.js.map +1 -1
  297. package/dist/src/rules/namespace.d.ts +3 -0
  298. package/dist/src/rules/namespace.d.ts.map +1 -0
  299. package/dist/src/rules/namespace.js +58 -0
  300. package/dist/src/rules/namespace.js.map +1 -0
  301. package/dist/src/rules/operation-inside-interface.d.ts +2 -0
  302. package/dist/src/rules/operation-inside-interface.d.ts.map +1 -0
  303. package/dist/src/rules/operation-inside-interface.js +25 -0
  304. package/dist/src/rules/operation-inside-interface.js.map +1 -0
  305. package/dist/src/rules/order-by.d.ts +1 -1
  306. package/dist/src/rules/order-by.d.ts.map +1 -1
  307. package/dist/src/rules/order-by.js +11 -10
  308. package/dist/src/rules/order-by.js.map +1 -1
  309. package/dist/src/rules/partial.d.ts +5 -0
  310. package/dist/src/rules/partial.d.ts.map +1 -0
  311. package/dist/src/rules/partial.js +35 -0
  312. package/dist/src/rules/partial.js.map +1 -0
  313. package/dist/src/rules/required-for-create.d.ts +2 -0
  314. package/dist/src/rules/required-for-create.d.ts.map +1 -0
  315. package/dist/src/rules/required-for-create.js +40 -0
  316. package/dist/src/rules/required-for-create.js.map +1 -0
  317. package/dist/src/rules/search.d.ts.map +1 -1
  318. package/dist/src/rules/search.js +3 -1
  319. package/dist/src/rules/search.js.map +1 -1
  320. package/dist/src/rules/skip.d.ts.map +1 -1
  321. package/dist/src/rules/skip.js +3 -1
  322. package/dist/src/rules/skip.js.map +1 -1
  323. package/dist/src/rules/top.d.ts.map +1 -1
  324. package/dist/src/rules/top.js +3 -1
  325. package/dist/src/rules/top.js.map +1 -1
  326. package/dist/src/utils.d.ts +22 -0
  327. package/dist/src/utils.d.ts.map +1 -1
  328. package/dist/src/utils.js +160 -4
  329. package/dist/src/utils.js.map +1 -1
  330. package/lib/decorators.tsp +182 -39
  331. package/lib/deployment.tsp +18 -0
  332. package/lib/lib.tsp +6 -22
  333. package/lib/msgraph.tsp +4 -0
  334. package/lib/porcelain.tsp +135 -0
  335. package/lib/responses.tsp +82 -0
  336. package/lib/shared-models.tsp +75 -0
  337. package/package.json +31 -20
  338. package/dist/src/components/program-context.d.ts +0 -4
  339. package/dist/src/components/program-context.d.ts.map +0 -1
  340. package/dist/src/components/program-context.js +0 -3
  341. package/dist/src/components/program-context.js.map +0 -1
  342. package/dist/src/csdl.d.ts +0 -8
  343. package/dist/src/csdl.d.ts.map +0 -1
  344. package/dist/src/csdl.js +0 -298
  345. package/dist/src/csdl.js.map +0 -1
  346. package/dist/src/decorators/attribute-builder.d.ts +0 -2
  347. package/dist/src/decorators/attribute-builder.d.ts.map +0 -1
  348. package/dist/src/decorators/attribute-builder.js +0 -166
  349. package/dist/src/decorators/attribute-builder.js.map +0 -1
  350. package/dist/src/decorators/attributes.d.ts +0 -57
  351. package/dist/src/decorators/attributes.d.ts.map +0 -1
  352. package/dist/src/decorators/attributes.js +0 -50
  353. package/dist/src/decorators/attributes.js.map +0 -1
  354. package/dist/src/decorators/handlers/custom/additional-query-parameters.d.ts.map +0 -1
  355. package/dist/src/decorators/handlers/custom/additional-query-parameters.js +0 -36
  356. package/dist/src/decorators/handlers/custom/additional-query-parameters.js.map +0 -1
  357. package/dist/src/decorators/handlers/custom/ags-attribute.d.ts +0 -7
  358. package/dist/src/decorators/handlers/custom/ags-attribute.d.ts.map +0 -1
  359. package/dist/src/decorators/handlers/custom/ags-attribute.js +0 -36
  360. package/dist/src/decorators/handlers/custom/ags-attribute.js.map +0 -1
  361. package/dist/src/decorators/handlers/custom/index.d.ts +0 -3
  362. package/dist/src/decorators/handlers/custom/index.d.ts.map +0 -1
  363. package/dist/src/decorators/handlers/custom/index.js +0 -3
  364. package/dist/src/decorators/handlers/custom/index.js.map +0 -1
  365. package/dist/src/decorators/handlers/index.d.ts +0 -30
  366. package/dist/src/decorators/handlers/index.d.ts.map +0 -1
  367. package/dist/src/decorators/handlers/index.js +0 -121
  368. package/dist/src/decorators/handlers/index.js.map +0 -1
  369. package/dist/src/decorators/routed-interfaces.d.ts.map +0 -1
  370. package/dist/src/decorators/routed-interfaces.js +0 -43
  371. package/dist/src/decorators/routed-interfaces.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ import { isVoidType, getDoc } from "@typespec/compiler";
2
+ import { isPathParam } from "@typespec/http";
3
+ import { getAction, getFunction, isOperationParameters } from "../index.js";
4
+ import { isTypeNullable, getPropertyTypeName, extractTypesFromUnion, getInterfaceNavigationSourceType } from "../utils.js";
5
+ import { getDefaultPropertyValue } from "./property.js";
6
+ import { buildAttributes } from "../decorators/ags-attribute.js";
7
+ export var OperationKind;
8
+ (function (OperationKind) {
9
+ OperationKind[OperationKind["Unknown"] = 0] = "Unknown";
10
+ OperationKind[OperationKind["Action"] = 1] = "Action";
11
+ OperationKind[OperationKind["Function"] = 2] = "Function";
12
+ })(OperationKind || (OperationKind = {}));
13
+ export function GetMsGraphOperations(program, interfaces) {
14
+ const operations = new Array();
15
+ [...interfaces].flatMap(([_, $interface]) => [...$interface.operations].filter(([_, $operation]) => [...$operation.decorators].filter(($decoratorApplication) => {
16
+ var _a, _b;
17
+ return ((_a = $decoratorApplication.definition) === null || _a === void 0 ? void 0 : _a.name) === "@function" ||
18
+ ((_b = $decoratorApplication.definition) === null || _b === void 0 ? void 0 : _b.name) === "@action";
19
+ }).length))
20
+ .forEach(([_, operation]) => {
21
+ const bindingTypeName = getBindingTypeName(program, operation);
22
+ if (!bindingTypeName) {
23
+ return;
24
+ }
25
+ operations.push(GetMsGraphOperation(program, bindingTypeName, operation));
26
+ });
27
+ return operations;
28
+ }
29
+ function GetMsGraphOperation(program, bindingTypeName, operation) {
30
+ const element = {
31
+ Name: "",
32
+ Kind: OperationKind.Unknown,
33
+ BindingTypeName: bindingTypeName,
34
+ AgsAttributes: buildAttributes(program, operation),
35
+ Properties: getParameterProperties(program, operation.parameters.properties),
36
+ UnionProperties: new Array(),
37
+ IsVoid: isVoidType(operation.returnType),
38
+ IsNullable: false,
39
+ ReturnTypeName: "",
40
+ Description: getDoc(program, operation),
41
+ };
42
+ if (!element.IsVoid) {
43
+ const returnType = operation.returnType.kind === "Model" &&
44
+ !!operation.returnType.templateMapper &&
45
+ !!operation.returnType.templateMapper.args.length
46
+ ? operation.returnType.templateMapper.args[0]
47
+ : operation.returnType;
48
+ if (!returnType || isVoidType(returnType)) {
49
+ element.IsVoid = true;
50
+ }
51
+ element.IsNullable = isTypeNullable(program, operation.returnType);
52
+ element.ReturnTypeName = getPropertyTypeName(program, returnType);
53
+ }
54
+ const actionName = getAction(program, operation);
55
+ if (actionName) {
56
+ element.Name = actionName;
57
+ element.Kind = OperationKind.Action;
58
+ }
59
+ else {
60
+ const functionName = getFunction(program, operation);
61
+ if (functionName) {
62
+ element.Name = functionName;
63
+ element.Kind = OperationKind.Function;
64
+ const parameterProperty = operation.parameters.properties.get("parameters");
65
+ if (parameterProperty && parameterProperty.type.kind === "Union") {
66
+ const parameterProperties = extractTypesFromUnion(parameterProperty.type)
67
+ .filter((type) => type.kind === "Model")
68
+ .map((m) => getParameterProperties(program, m.properties));
69
+ element.UnionProperties.push(...parameterProperties);
70
+ }
71
+ }
72
+ }
73
+ return element;
74
+ }
75
+ function getBindingTypeName(program, operation) {
76
+ const bindingType = getInterfaceNavigationSourceType(program, operation.interface);
77
+ if (!bindingType) {
78
+ return undefined;
79
+ }
80
+ return getPropertyTypeName(program, bindingType);
81
+ }
82
+ function getParameterProperties(program, parameters) {
83
+ const properties = [...parameters].flatMap(([, property]) => {
84
+ if (isPathParam(program, property)) {
85
+ return [];
86
+ }
87
+ if (property.type.kind === "Model" && isOperationParameters(program, property.type)) {
88
+ return getParameterProperties(program, property.type.properties);
89
+ }
90
+ return [
91
+ {
92
+ Name: property.name,
93
+ IsNullable: isTypeNullable(program, property.type),
94
+ PropertyTypeName: getPropertyTypeName(program, property.type),
95
+ IsOptional: property.optional,
96
+ DefaultValue: getDefaultPropertyValue(program, property),
97
+ Description: getDoc(program, property),
98
+ },
99
+ ];
100
+ });
101
+ return properties;
102
+ }
103
+ //# sourceMappingURL=operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../../src/entities/operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ModelProperty, Program } from "@typespec/compiler";
2
+ export declare function getDefaultPropertyValue(program: Program, property: ModelProperty): Record<string, unknown> | undefined;
3
+ //# sourceMappingURL=property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../src/entities/property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG5D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA0DrC"}
@@ -0,0 +1,57 @@
1
+ import { getPropertyTypeName } from "../utils.js";
2
+ export function getDefaultPropertyValue(program, property) {
3
+ if (!property.default) {
4
+ return undefined;
5
+ }
6
+ let defaultValueValue = undefined;
7
+ switch (property.default.kind) {
8
+ case "String":
9
+ case "Boolean":
10
+ case "Number":
11
+ defaultValueValue = property.default.value;
12
+ break;
13
+ default:
14
+ return undefined;
15
+ }
16
+ const propType = getPropertyTypeName(program, property.type);
17
+ let defaultValueKey = "String";
18
+ switch (propType) {
19
+ case "Edm.String":
20
+ defaultValueKey = "String";
21
+ break;
22
+ case "Collection(Edm.Byte)":
23
+ defaultValueKey = "Binary";
24
+ break;
25
+ case "Edm.Byte":
26
+ case "Edm.Int16":
27
+ case "Edm.Int32":
28
+ case "Edm.Int64":
29
+ defaultValueKey = "Int";
30
+ break;
31
+ case "Edm.Single":
32
+ case "Edm.Double":
33
+ defaultValueKey = "Single";
34
+ break;
35
+ case "Edm.Date":
36
+ defaultValueKey = "Date";
37
+ break;
38
+ case "Edm.DateTimeOffset":
39
+ defaultValueKey = "DateTimeOffset";
40
+ break;
41
+ case "Edm.Boolean":
42
+ defaultValueKey = "Boolean";
43
+ break;
44
+ case "Edm.Stream":
45
+ defaultValueKey = "Binary";
46
+ break;
47
+ case "Edm.Guid":
48
+ defaultValueKey = "Guid";
49
+ break;
50
+ case "Edm.Duration":
51
+ case "Edm.TimeOfDay":
52
+ default:
53
+ return undefined;
54
+ }
55
+ return { [defaultValueKey]: defaultValueValue };
56
+ }
57
+ //# sourceMappingURL=property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../../src/entities/property.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,uBAAuB,CACrC,OAAgB,EAChB,QAAuB;IAEvB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;QACrB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,iBAAiB,GAAQ,SAAS,CAAC;IACvC,QAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;QAC7B,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,MAAM;QACR;YACE,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE7D,IAAI,eAAe,GAAG,QAAQ,CAAC;IAC/B,QAAQ,QAAQ,EAAE;QAChB,KAAK,YAAY;YACf,eAAe,GAAG,QAAQ,CAAC;YAC3B,MAAM;QACR,KAAK,sBAAsB;YACzB,eAAe,GAAG,QAAQ,CAAC;YAC3B,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,eAAe,GAAG,KAAK,CAAC;YACxB,MAAM;QACR,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,eAAe,GAAG,QAAQ,CAAC;YAC3B,MAAM;QACR,KAAK,UAAU;YACb,eAAe,GAAG,MAAM,CAAC;YACzB,MAAM;QACR,KAAK,oBAAoB;YACvB,eAAe,GAAG,gBAAgB,CAAC;YACnC,MAAM;QACR,KAAK,aAAa;YAChB,eAAe,GAAG,SAAS,CAAC;YAC5B,MAAM;QACR,KAAK,YAAY;YACf,eAAe,GAAG,QAAQ,CAAC;YAC3B,MAAM;QACR,KAAK,UAAU;YACb,eAAe,GAAG,MAAM,CAAC;YACzB,MAAM;QACR,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe,CAAC;QACrB;YACE,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;AAClD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Enum, EnumMember, Model, ModelProperty, Namespace, Operation, Program } from "@typespec/compiler";
2
+ export interface RevisionDefinition {
3
+ Date: string;
4
+ Version: string;
5
+ Description?: string;
6
+ RemovalDate: string;
7
+ }
8
+ export declare function GetRevisionDefinition(program: Program, type: Model | ModelProperty | EnumMember | Enum | Operation | Namespace, namespace: Namespace | undefined): RevisionDefinition | undefined;
9
+ //# sourceMappingURL=revision-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision-definition.d.ts","sourceRoot":"","sources":["../../../src/entities/revision-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAiB,MAAM,oBAAoB,CAAC;AAG1H,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,aAAa,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,EACvE,SAAS,EAAE,SAAS,GAAG,SAAS,GAC/B,kBAAkB,GAAG,SAAS,CAgBhC"}
@@ -0,0 +1,42 @@
1
+ import { getDeprecated } from "@typespec/compiler";
2
+ import { getPrivatePreview, getDeprecatedDefinitions, getPrivatePreviewDefinitions } from "../index.js";
3
+ export function GetRevisionDefinition(program, type, namespace) {
4
+ if (!namespace) {
5
+ return undefined;
6
+ }
7
+ const deprecated = getDeprecated(program, type);
8
+ if (deprecated) {
9
+ return getRevisionDefinitionFromDeprecation(program, namespace, deprecated);
10
+ }
11
+ const privatePreview = getPrivatePreview(program, type);
12
+ if (privatePreview) {
13
+ return getRevisionDefinitionFromPrivatePreview(program, namespace, privatePreview);
14
+ }
15
+ return undefined;
16
+ }
17
+ function getRevisionDefinitionFromDeprecation(program, namespace, deprecated) {
18
+ const deprecatedDefinitions = getDeprecatedDefinitions(program, namespace);
19
+ const definition = deprecatedDefinitions.get(deprecated);
20
+ if (!definition) {
21
+ return undefined;
22
+ }
23
+ return {
24
+ Date: definition.announcementDate,
25
+ RemovalDate: definition.removalDate,
26
+ Version: `${definition.announcementDate.substring(0, 7)}/${definition.category}`,
27
+ Description: definition.description,
28
+ };
29
+ }
30
+ function getRevisionDefinitionFromPrivatePreview(program, namespace, deprecated) {
31
+ const privatePreviewDefinitions = getPrivatePreviewDefinitions(program, namespace);
32
+ const definition = privatePreviewDefinitions.get(deprecated);
33
+ if (!definition) {
34
+ return undefined;
35
+ }
36
+ return {
37
+ Date: definition.announcementDate,
38
+ RemovalDate: definition.removalDate,
39
+ Version: `${definition.announcementDate.substring(0, 7)}/PrivatePreview:${definition.name}`,
40
+ };
41
+ }
42
+ //# sourceMappingURL=revision-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revision-definition.js","sourceRoot":"","sources":["../../../src/entities/revision-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1H,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AASxG,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,IAAuE,EACvE,SAAgC;IAEhC,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,UAAU,EAAE;QACd,OAAO,oCAAoC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;KAC7E;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,cAAc,EAAE;QAClB,OAAO,uCAAuC,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;KACpF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oCAAoC,CAC3C,OAAgB,EAChB,SAAoB,EACpB,UAAkB;IAElB,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,gBAAgB;QACjC,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,OAAO,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE;QAChF,WAAW,EAAE,UAAU,CAAC,WAAW;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,uCAAuC,CAC9C,OAAgB,EAChB,SAAoB,EACpB,UAAkB;IAElB,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,yBAAyB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,gBAAgB;QACjC,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,OAAO,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,UAAU,CAAC,IAAI,EAAE;KAC5F,CAAC;AACJ,CAAC"}
@@ -1,6 +1,3 @@
1
- export * from "./decorators/handlers/custom/index.js";
2
- export * from "./decorators/handlers/index.js";
3
- export * from "./decorators/has-stream.js";
4
1
  export * from "./decorators/index.js";
5
2
  export * from "./emitter.js";
6
3
  export * from "./linter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,6 +1,3 @@
1
- export * from "./decorators/handlers/custom/index.js";
2
- export * from "./decorators/handlers/index.js";
3
- export * from "./decorators/has-stream.js";
4
1
  export * from "./decorators/index.js";
5
2
  export * from "./emitter.js";
6
3
  export * from "./linter.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
package/dist/src/lib.d.ts CHANGED
@@ -1,4 +1,8 @@
1
- export declare const namespace = "TypeSpec.MsGraph";
1
+ import { JSONSchemaType } from "@typespec/compiler";
2
+ export declare const namespace = "MsGraph";
3
+ export interface MsGraphEmitterOptions {
4
+ filename?: string;
5
+ }
2
6
  export declare const libDef: {
3
7
  readonly name: "@microsoft/typespec-msgraph";
4
8
  readonly diagnostics: {
@@ -14,6 +18,10 @@ export declare const libDef: {
14
18
  readonly messages: {
15
19
  readonly default: import("@typespec/compiler").CallableMessage<["element", "other", "location"]>;
16
20
  readonly operation: import("@typespec/compiler").CallableMessage<[]>;
21
+ readonly collectionNavigationPropertiesNotNullable: "Collection-valued navigation properties cannot be nullable.";
22
+ readonly propertyRequiredForCreate: import("@typespec/compiler").CallableMessage<["property", "model"]>;
23
+ readonly modelMissingNamespace: import("@typespec/compiler").CallableMessage<["model"]>;
24
+ readonly operationParameterMismatch: import("@typespec/compiler").CallableMessage<["operation", "parameters"]>;
17
25
  };
18
26
  };
19
27
  readonly "decorator-invalid-use": {
@@ -23,10 +31,17 @@ export declare const libDef: {
23
31
  readonly alternateKey: import("@typespec/compiler").CallableMessage<[]>;
24
32
  readonly disallowedTypeSpecDecorators: import("@typespec/compiler").CallableMessage<["decorator"]>;
25
33
  readonly expandProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
34
+ readonly filterProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
26
35
  readonly key: import("@typespec/compiler").CallableMessage<[]>;
27
36
  readonly orderByProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
28
37
  readonly required: import("@typespec/compiler").CallableMessage<["decorator", "parameters"]>;
29
38
  readonly wrongType: import("@typespec/compiler").CallableMessage<["decorator", "target"]>;
39
+ readonly graphRoute: import("@typespec/compiler").CallableMessage<[]>;
40
+ readonly allowedValues: import("@typespec/compiler").CallableMessage<[]>;
41
+ readonly allowedValuesTypeHomogeinity: import("@typespec/compiler").CallableMessage<[]>;
42
+ readonly allowedValuesInvalidType: import("@typespec/compiler").CallableMessage<[]>;
43
+ readonly invalidPublicNamespaceName: import("@typespec/compiler").CallableMessage<["namespace"]>;
44
+ readonly partial: import("@typespec/compiler").CallableMessage<[]>;
30
45
  };
31
46
  };
32
47
  readonly "singleton-invalid-name": {
@@ -48,6 +63,9 @@ export declare const libDef: {
48
63
  };
49
64
  };
50
65
  };
66
+ readonly emitter: {
67
+ readonly options: JSONSchemaType<MsGraphEmitterOptions>;
68
+ };
51
69
  };
52
70
  export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
53
71
  "decorator-missing-dependencies": {
@@ -57,16 +75,27 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
57
75
  "element-missing-dependencies": {
58
76
  readonly default: import("@typespec/compiler").CallableMessage<["element", "other", "location"]>;
59
77
  readonly operation: import("@typespec/compiler").CallableMessage<[]>;
78
+ readonly collectionNavigationPropertiesNotNullable: "Collection-valued navigation properties cannot be nullable.";
79
+ readonly propertyRequiredForCreate: import("@typespec/compiler").CallableMessage<["property", "model"]>;
80
+ readonly modelMissingNamespace: import("@typespec/compiler").CallableMessage<["model"]>;
81
+ readonly operationParameterMismatch: import("@typespec/compiler").CallableMessage<["operation", "parameters"]>;
60
82
  };
61
83
  "decorator-invalid-use": {
62
84
  readonly default: import("@typespec/compiler").CallableMessage<["decorator", "other", "location"]>;
63
85
  readonly alternateKey: import("@typespec/compiler").CallableMessage<[]>;
64
86
  readonly disallowedTypeSpecDecorators: import("@typespec/compiler").CallableMessage<["decorator"]>;
65
87
  readonly expandProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
88
+ readonly filterProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
66
89
  readonly key: import("@typespec/compiler").CallableMessage<[]>;
67
90
  readonly orderByProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
68
91
  readonly required: import("@typespec/compiler").CallableMessage<["decorator", "parameters"]>;
69
92
  readonly wrongType: import("@typespec/compiler").CallableMessage<["decorator", "target"]>;
93
+ readonly graphRoute: import("@typespec/compiler").CallableMessage<[]>;
94
+ readonly allowedValues: import("@typespec/compiler").CallableMessage<[]>;
95
+ readonly allowedValuesTypeHomogeinity: import("@typespec/compiler").CallableMessage<[]>;
96
+ readonly allowedValuesInvalidType: import("@typespec/compiler").CallableMessage<[]>;
97
+ readonly invalidPublicNamespaceName: import("@typespec/compiler").CallableMessage<["namespace"]>;
98
+ readonly partial: import("@typespec/compiler").CallableMessage<[]>;
70
99
  };
71
100
  "singleton-invalid-name": {
72
101
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
@@ -77,7 +106,7 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
77
106
  "use-evolvable-enum": {
78
107
  readonly default: import("@typespec/compiler").CallableMessage<["enum"]>;
79
108
  };
80
- }, Record<string, any>>;
109
+ }, MsGraphEmitterOptions>;
81
110
  export declare const reportDiagnostic: <C extends "decorator-missing-dependencies" | "element-missing-dependencies" | "decorator-invalid-use" | "singleton-invalid-name" | "extends-invalid-use" | "use-evolvable-enum", M extends keyof {
82
111
  "decorator-missing-dependencies": {
83
112
  readonly default: import("@typespec/compiler").CallableMessage<["decorator", "required", "location"]>;
@@ -86,16 +115,27 @@ export declare const reportDiagnostic: <C extends "decorator-missing-dependencie
86
115
  "element-missing-dependencies": {
87
116
  readonly default: import("@typespec/compiler").CallableMessage<["element", "other", "location"]>;
88
117
  readonly operation: import("@typespec/compiler").CallableMessage<[]>;
118
+ readonly collectionNavigationPropertiesNotNullable: "Collection-valued navigation properties cannot be nullable.";
119
+ readonly propertyRequiredForCreate: import("@typespec/compiler").CallableMessage<["property", "model"]>;
120
+ readonly modelMissingNamespace: import("@typespec/compiler").CallableMessage<["model"]>;
121
+ readonly operationParameterMismatch: import("@typespec/compiler").CallableMessage<["operation", "parameters"]>;
89
122
  };
90
123
  "decorator-invalid-use": {
91
124
  readonly default: import("@typespec/compiler").CallableMessage<["decorator", "other", "location"]>;
92
125
  readonly alternateKey: import("@typespec/compiler").CallableMessage<[]>;
93
126
  readonly disallowedTypeSpecDecorators: import("@typespec/compiler").CallableMessage<["decorator"]>;
94
127
  readonly expandProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
128
+ readonly filterProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
95
129
  readonly key: import("@typespec/compiler").CallableMessage<[]>;
96
130
  readonly orderByProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
97
131
  readonly required: import("@typespec/compiler").CallableMessage<["decorator", "parameters"]>;
98
132
  readonly wrongType: import("@typespec/compiler").CallableMessage<["decorator", "target"]>;
133
+ readonly graphRoute: import("@typespec/compiler").CallableMessage<[]>;
134
+ readonly allowedValues: import("@typespec/compiler").CallableMessage<[]>;
135
+ readonly allowedValuesTypeHomogeinity: import("@typespec/compiler").CallableMessage<[]>;
136
+ readonly allowedValuesInvalidType: import("@typespec/compiler").CallableMessage<[]>;
137
+ readonly invalidPublicNamespaceName: import("@typespec/compiler").CallableMessage<["namespace"]>;
138
+ readonly partial: import("@typespec/compiler").CallableMessage<[]>;
99
139
  };
100
140
  "singleton-invalid-name": {
101
141
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
@@ -114,16 +154,27 @@ export declare const reportDiagnostic: <C extends "decorator-missing-dependencie
114
154
  "element-missing-dependencies": {
115
155
  readonly default: import("@typespec/compiler").CallableMessage<["element", "other", "location"]>;
116
156
  readonly operation: import("@typespec/compiler").CallableMessage<[]>;
157
+ readonly collectionNavigationPropertiesNotNullable: "Collection-valued navigation properties cannot be nullable.";
158
+ readonly propertyRequiredForCreate: import("@typespec/compiler").CallableMessage<["property", "model"]>;
159
+ readonly modelMissingNamespace: import("@typespec/compiler").CallableMessage<["model"]>;
160
+ readonly operationParameterMismatch: import("@typespec/compiler").CallableMessage<["operation", "parameters"]>;
117
161
  };
118
162
  "decorator-invalid-use": {
119
163
  readonly default: import("@typespec/compiler").CallableMessage<["decorator", "other", "location"]>;
120
164
  readonly alternateKey: import("@typespec/compiler").CallableMessage<[]>;
121
165
  readonly disallowedTypeSpecDecorators: import("@typespec/compiler").CallableMessage<["decorator"]>;
122
166
  readonly expandProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
167
+ readonly filterProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
123
168
  readonly key: import("@typespec/compiler").CallableMessage<[]>;
124
169
  readonly orderByProperties: import("@typespec/compiler").CallableMessage<["properties", "model"]>;
125
170
  readonly required: import("@typespec/compiler").CallableMessage<["decorator", "parameters"]>;
126
171
  readonly wrongType: import("@typespec/compiler").CallableMessage<["decorator", "target"]>;
172
+ readonly graphRoute: import("@typespec/compiler").CallableMessage<[]>;
173
+ readonly allowedValues: import("@typespec/compiler").CallableMessage<[]>;
174
+ readonly allowedValuesTypeHomogeinity: import("@typespec/compiler").CallableMessage<[]>;
175
+ readonly allowedValuesInvalidType: import("@typespec/compiler").CallableMessage<[]>;
176
+ readonly invalidPublicNamespaceName: import("@typespec/compiler").CallableMessage<["namespace"]>;
177
+ readonly partial: import("@typespec/compiler").CallableMessage<[]>;
127
178
  };
128
179
  "singleton-invalid-name": {
129
180
  readonly default: import("@typespec/compiler").CallableMessage<["value"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAE5C,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDT,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuC,MAAM,oBAAoB,CAAC;AAEzF,eAAO,MAAM,SAAS,YAAY,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAeD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DT,CAAC;AAEX,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC"}
package/dist/src/lib.js CHANGED
@@ -1,5 +1,17 @@
1
1
  import { createTypeSpecLibrary, paramMessage } from "@typespec/compiler";
2
- export const namespace = "TypeSpec.MsGraph";
2
+ export const namespace = "MsGraph";
3
+ const EmitterOptionsSchema = {
4
+ type: "object",
5
+ additionalProperties: false,
6
+ properties: {
7
+ filename: {
8
+ type: "string",
9
+ nullable: true,
10
+ description: "The name of the generated CSDL file. If not specified, it defaults to `workload.csdl`."
11
+ },
12
+ },
13
+ required: [],
14
+ };
3
15
  export const libDef = {
4
16
  name: "@microsoft/typespec-msgraph",
5
17
  diagnostics: {
@@ -15,6 +27,10 @@ export const libDef = {
15
27
  messages: {
16
28
  default: paramMessage `The ${"element"} must be used together with ${"other"} on a ${"location"}.`,
17
29
  operation: paramMessage `Operations must be used inside interfaces.`,
30
+ collectionNavigationPropertiesNotNullable: `Collection-valued navigation properties cannot be nullable.`,
31
+ propertyRequiredForCreate: paramMessage `The property "${"property"}" on "${"model"}" must be nullable, computed, have a default value or be annotated with @requiredForCreate.`,
32
+ modelMissingNamespace: paramMessage `The model "${"model"}" must be defined in a namespace.`,
33
+ operationParameterMismatch: paramMessage `The operation "${"operation"}" must declare the parameters "${"parameters"}", have a "graphRouteParams" parameter or use the porcelain syntax.`,
18
34
  },
19
35
  },
20
36
  "decorator-invalid-use": {
@@ -24,10 +40,17 @@ export const libDef = {
24
40
  alternateKey: paramMessage `The @alternateKey decorator can only be attached to a non-nullable primitive-typed property.`,
25
41
  disallowedTypeSpecDecorators: paramMessage `The decorator ${"decorator"} may not be used in MSGraph TypeSpec.`,
26
42
  expandProperties: paramMessage `The properties "${"properties"}" defined in the @expand decorator must be defined with @references or @contains in the referenced model "${"model"}" or its inheritance hierarchy.`,
43
+ filterProperties: paramMessage `The properties "${"properties"}" defined in the @filter decorator must be defined in the referenced model "${"model"}" or its inheritance hierarchy.`,
27
44
  key: paramMessage `The @key decorator can only be attached to a non-nullable primitive type.`,
28
45
  orderByProperties: paramMessage `The properties "${"properties"}" defined in the @orderBy decorator must not be defined with @references or @contains in the referenced model "${"model"}" or its inheritance hierarchy.`,
29
46
  required: paramMessage `The ${"decorator"} decorator must define required ${"parameters"}.`,
30
47
  wrongType: paramMessage `The ${"decorator"} decorator can only be applied to a ${"target"}.`,
48
+ graphRoute: paramMessage `@graphRoutes paths must not start with a /`,
49
+ allowedValues: paramMessage `The @allowedValues decorator cannot be empty.`,
50
+ allowedValuesTypeHomogeinity: paramMessage `The types of values passed to @allowedValues must be homegeneous.`,
51
+ allowedValuesInvalidType: paramMessage `The @allowedValues decorator can only be applied with primitive types.`,
52
+ invalidPublicNamespaceName: paramMessage `The @publicNamespace decorator value on namespace "${"namespace"}" should start with "microsoft.graph".`,
53
+ partial: paramMessage `The base model in the extended clause must match the base class of the referenced entity in the @partial decorator.`,
31
54
  },
32
55
  },
33
56
  "singleton-invalid-name": {
@@ -49,6 +72,7 @@ export const libDef = {
49
72
  },
50
73
  },
51
74
  },
75
+ emitter: { options: EmitterOptionsSchema },
52
76
  };
53
77
  export const $lib = createTypeSpecLibrary(libDef);
54
78
  export const { reportDiagnostic } = $lib;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAE5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE;QACX,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,OAAO,WAAW,sDAAsD,UAAU,qBAAqB,UAAU,GAAG;gBACzI,QAAQ,EAAE,YAAY,CAAA,oFAAoF;aAC3G;SACF;QACD,8BAA8B,EAAE;YAC9B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,OAAO,SAAS,+BAA+B,OAAO,SAAS,UAAU,GAAG;gBACjG,SAAS,EAAE,YAAY,CAAA,4CAA4C;aACpE;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,OAAO,WAAW,2CAA2C,OAAO,SAAS,UAAU,GAAG;gBAC/G,YAAY,EAAE,YAAY,CAAA,8FAA8F;gBACxH,4BAA4B,EAAE,YAAY,CAAA,iBAAiB,WAAW,uCAAuC;gBAC7G,gBAAgB,EAAE,YAAY,CAAA,mBAAmB,YAAY,6GAA6G,OAAO,iCAAiC;gBAClN,GAAG,EAAE,YAAY,CAAA,2EAA2E;gBAC5F,iBAAiB,EAAE,YAAY,CAAA,mBAAmB,YAAY,kHAAkH,OAAO,iCAAiC;gBACxN,QAAQ,EAAE,YAAY,CAAA,OAAO,WAAW,mCAAmC,YAAY,GAAG;gBAC1F,SAAS,EAAE,YAAY,CAAA,OAAO,WAAW,uCAAuC,QAAQ,GAAG;aAC5F;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wCAAwC,OAAO,uEAAuE;aAC5I;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,KAAK,MAAM,4BAA4B,MAAM,YAAY;aAC/E;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,gBAAgB,MAAM,2EAA2E;aACvH;SACF;KACF;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA6D7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAG3C"}
1
+ {"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA4C7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAM3C"}
@@ -1,35 +1,44 @@
1
1
  import { getLinter } from "@typespec/lint";
2
2
  import { $lib } from "./lib.js";
3
- import { abstractOnlyAppliesToStructuredTypeRule, alternateKeyOnKeyRule, alternateKeyOnPrimitivePropertyRule, alternateKeyRequiresKeyRule, computedCannotBeCombinedWithRule, containsOnlyAppliesToNavigationPropertyRule, countAppliesToGetOperationsThatReturnCollectionsRule, disallowedTypeSpecDecoratorsRule, entityMustHaveKeyRule, expandOnlyNavigationPropertiesRule, expandOnlyOnGetNavigationSourceRule, extendsOnSameTypeRule, hasStreamOnlyOnEntity, keyOnlyOnEntityNonNullablePrimitivePropertyRule, openOnlyAppliesToStructuredType, operationInsideInterfaceRule, orderByOnlyNonNavigationPropertiesRule, orderByOnlyOnGetNavigationSourceRule, referencesOnlyAppliesToNavigationPropertyRule, searchAppliesToGetOperationsThatReturnCollectionsRule, skipAppliesToGetOperationsThatReturnCollectionsRule, topAppliesToGetOperationsThatReturnCollectionsRule, useEvolvableEnumRule, voidFunctionRule, } from "./rules/index.js";
3
+ import * as theRules from "./rules/index.js";
4
4
  const linter = getLinter($lib);
5
5
  linter.registerRules([
6
- abstractOnlyAppliesToStructuredTypeRule,
7
- alternateKeyOnKeyRule,
8
- alternateKeyOnPrimitivePropertyRule,
9
- alternateKeyRequiresKeyRule,
10
- computedCannotBeCombinedWithRule,
11
- containsOnlyAppliesToNavigationPropertyRule,
12
- countAppliesToGetOperationsThatReturnCollectionsRule,
13
- disallowedTypeSpecDecoratorsRule,
14
- entityMustHaveKeyRule,
15
- expandOnlyNavigationPropertiesRule,
16
- expandOnlyOnGetNavigationSourceRule,
17
- extendsOnSameTypeRule,
18
- hasStreamOnlyOnEntity,
19
- keyOnlyOnEntityNonNullablePrimitivePropertyRule,
20
- openOnlyAppliesToStructuredType,
21
- operationInsideInterfaceRule,
22
- orderByOnlyNonNavigationPropertiesRule,
23
- orderByOnlyOnGetNavigationSourceRule,
24
- referencesOnlyAppliesToNavigationPropertyRule,
25
- searchAppliesToGetOperationsThatReturnCollectionsRule,
26
- skipAppliesToGetOperationsThatReturnCollectionsRule,
27
- topAppliesToGetOperationsThatReturnCollectionsRule,
28
- useEvolvableEnumRule,
29
- voidFunctionRule,
6
+ theRules.alternateKeyOnKeyRule,
7
+ theRules.alternateKeyOnPrimitivePropertyRule,
8
+ theRules.alternateKeyRequiresKeyRule,
9
+ theRules.computedCannotBeCombinedWithRule,
10
+ theRules.containsOnlyAppliesToNavigationPropertyRule,
11
+ theRules.countAppliesToGetOperationsThatReturnCollectionsRule,
12
+ theRules.disallowedTypeSpecDecoratorsRule,
13
+ theRules.entityMustHaveKeyRule,
14
+ theRules.expandOnlyNavigationPropertiesRule,
15
+ theRules.expandOnlyOnGetNavigationSourceRule,
16
+ theRules.extendsOnSameTypeRule,
17
+ theRules.filterAppliesToGetOperationsThatReturnCollectionsRule,
18
+ theRules.filterOnlyAppliesToModelPropertiesRule,
19
+ theRules.filterPropertiesMustNotBeEmptyRule,
20
+ theRules.hasStreamOnlyOnEntity,
21
+ theRules.invalidPublicNamespaceNameRule,
22
+ theRules.keyOnlyOnEntityNonNullablePrimitivePropertyRule,
23
+ theRules.namespaceIsRequiredRule,
24
+ theRules.openOnlyAppliesToStructuredType,
25
+ theRules.operationInsideInterfaceRule,
26
+ theRules.operationParametersMatchGraphRouteParametersRule,
27
+ theRules.orderByOnlyNonNavigationPropertiesRule,
28
+ theRules.orderByAppliesToGetOperationsThatReturnCollectionsRule,
29
+ theRules.referencesOnlyAppliesToNavigationPropertyRule,
30
+ theRules.searchAppliesToGetOperationsThatReturnCollectionsRule,
31
+ theRules.skipAppliesToGetOperationsThatReturnCollectionsRule,
32
+ theRules.topAppliesToGetOperationsThatReturnCollectionsRule,
33
+ theRules.useEvolvableEnumRule,
34
+ theRules.voidFunctionRule,
35
+ theRules.allowedValuesCannotBeEmptyRule,
36
+ theRules.graphRouteLeadingSlashRule,
37
+ theRules.extendedModelBaseShouldMatchPartialBaseModel,
30
38
  ], { autoEnable: true });
31
39
  export function $onValidate(program) {
32
40
  linter.autoEnableRules();
33
41
  linter.lintOnValidate(program);
42
+ theRules.validateAbstractOnlyAppliesToStructuredTypes(program);
34
43
  }
35
44
  //# sourceMappingURL=linter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,uCAAuC,EACvC,qBAAqB,EACrB,mCAAmC,EACnC,2BAA2B,EAC3B,gCAAgC,EAChC,2CAA2C,EAC3C,oDAAoD,EACpD,gCAAgC,EAChC,qBAAqB,EACrB,kCAAkC,EAClC,mCAAmC,EACnC,qBAAqB,EACrB,qBAAqB,EACrB,+CAA+C,EAC/C,+BAA+B,EAC/B,4BAA4B,EAC5B,sCAAsC,EACtC,oCAAoC,EACpC,6CAA6C,EAC7C,qDAAqD,EACrD,mDAAmD,EACnD,kDAAkD,EAClD,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,aAAa,CAClB;IACE,uCAAuC;IACvC,qBAAqB;IACrB,mCAAmC;IACnC,2BAA2B;IAC3B,gCAAgC;IAChC,2CAA2C;IAC3C,oDAAoD;IACpD,gCAAgC;IAChC,qBAAqB;IACrB,kCAAkC;IAClC,mCAAmC;IACnC,qBAAqB;IACrB,qBAAqB;IACrB,+CAA+C;IAC/C,+BAA+B;IAC/B,4BAA4B;IAC5B,sCAAsC;IACtC,oCAAoC;IACpC,6CAA6C;IAC7C,qDAAqD;IACrD,mDAAmD;IACnD,kDAAkD;IAClD,oBAAoB;IACpB,gBAAgB;CACjB,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"linter.js","sourceRoot":"","sources":["../../src/linter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAQ,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,MAAM,CAAC,aAAa,CAClB;IACE,QAAQ,CAAC,qBAAqB;IAC9B,QAAQ,CAAC,mCAAmC;IAC5C,QAAQ,CAAC,2BAA2B;IACpC,QAAQ,CAAC,gCAAgC;IACzC,QAAQ,CAAC,2CAA2C;IACpD,QAAQ,CAAC,oDAAoD;IAC7D,QAAQ,CAAC,gCAAgC;IACzC,QAAQ,CAAC,qBAAqB;IAC9B,QAAQ,CAAC,kCAAkC;IAC3C,QAAQ,CAAC,mCAAmC;IAC5C,QAAQ,CAAC,qBAAqB;IAC9B,QAAQ,CAAC,qDAAqD;IAC9D,QAAQ,CAAC,sCAAsC;IAC/C,QAAQ,CAAC,kCAAkC;IAC3C,QAAQ,CAAC,qBAAqB;IAC9B,QAAQ,CAAC,8BAA8B;IACvC,QAAQ,CAAC,+CAA+C;IACxD,QAAQ,CAAC,uBAAuB;IAChC,QAAQ,CAAC,+BAA+B;IACxC,QAAQ,CAAC,4BAA4B;IACrC,QAAQ,CAAC,gDAAgD;IACzD,QAAQ,CAAC,sCAAsC;IAC/C,QAAQ,CAAC,sDAAsD;IAC/D,QAAQ,CAAC,6CAA6C;IACtD,QAAQ,CAAC,qDAAqD;IAC9D,QAAQ,CAAC,mDAAmD;IAC5D,QAAQ,CAAC,kDAAkD;IAC3D,QAAQ,CAAC,oBAAoB;IAC7B,QAAQ,CAAC,gBAAgB;IACzB,QAAQ,CAAC,8BAA8B;IACvC,QAAQ,CAAC,0BAA0B;IACnC,QAAQ,CAAC,4CAA4C;CACtD,EACD,EAAE,UAAU,EAAE,IAAI,EAAE,CACrB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,CAAC,eAAe,EAAE,CAAC;IACzB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE/B,QAAQ,CAAC,4CAA4C,CAAC,OAAO,CAAC,CAAC;AAEjE,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { Program } from "@typespec/compiler";
1
2
  /**
2
3
  * @abstract applies to either an entity or a complex type.
3
4
  */
4
- export declare const abstractOnlyAppliesToStructuredTypeRule: import("@typespec/lint").LintRule;
5
+ export declare function validateAbstractOnlyAppliesToStructuredTypes(program: Program): void;
5
6
  //# sourceMappingURL=abstract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/rules/abstract.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,eAAO,MAAM,uCAAuC,mCAyBlD,CAAC"}
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/rules/abstract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA4B,MAAM,oBAAoB,CAAC;AAGvE;;GAEG;AACH,wBAAgB,4CAA4C,CAAC,OAAO,EAAE,OAAO,QAwB5E"}