@microsoft/typespec-msgraph 0.0.1-Preview.4 → 0.0.1-Preview.6

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 (215) hide show
  1. package/dist/src/components/alternate-keys-annotation.js +4 -4
  2. package/dist/src/components/alternate-keys-annotation.js.map +1 -1
  3. package/dist/src/components/annotations.d.ts +9 -0
  4. package/dist/src/components/annotations.d.ts.map +1 -0
  5. package/dist/src/components/annotations.js +45 -0
  6. package/dist/src/components/annotations.js.map +1 -0
  7. package/dist/src/components/common-elements.d.ts +17 -4
  8. package/dist/src/components/common-elements.d.ts.map +1 -1
  9. package/dist/src/components/common-elements.js +2 -2
  10. package/dist/src/components/common-elements.js.map +1 -1
  11. package/dist/src/components/computed-annotation.js +1 -1
  12. package/dist/src/components/computed-annotation.js.map +1 -1
  13. package/dist/src/components/count-restrictions-annotation.d.ts.map +1 -1
  14. package/dist/src/components/count-restrictions-annotation.js +3 -8
  15. package/dist/src/components/count-restrictions-annotation.js.map +1 -1
  16. package/dist/src/components/description-annotation.d.ts.map +1 -1
  17. package/dist/src/components/description-annotation.js +1 -0
  18. package/dist/src/components/description-annotation.js.map +1 -1
  19. package/dist/src/components/entity-container-element.d.ts +18 -3
  20. package/dist/src/components/entity-container-element.d.ts.map +1 -1
  21. package/dist/src/components/entity-container-element.js +6 -42
  22. package/dist/src/components/entity-container-element.js.map +1 -1
  23. package/dist/src/components/enum-type-element.js +1 -1
  24. package/dist/src/components/enum-type-element.js.map +1 -1
  25. package/dist/src/components/expand-restrictions-annotation.d.ts.map +1 -1
  26. package/dist/src/components/expand-restrictions-annotation.js +7 -13
  27. package/dist/src/components/expand-restrictions-annotation.js.map +1 -1
  28. package/dist/src/components/operation-element.js +3 -3
  29. package/dist/src/components/operation-element.js.map +1 -1
  30. package/dist/src/components/schema-element.d.ts.map +1 -1
  31. package/dist/src/components/schema-element.js +6 -3
  32. package/dist/src/components/schema-element.js.map +1 -1
  33. package/dist/src/components/search-restrictions-annotation.d.ts.map +1 -1
  34. package/dist/src/components/search-restrictions-annotation.js +3 -8
  35. package/dist/src/components/search-restrictions-annotation.js.map +1 -1
  36. package/dist/src/components/skip-supported-annotation.d.ts.map +1 -1
  37. package/dist/src/components/skip-supported-annotation.js +1 -6
  38. package/dist/src/components/skip-supported-annotation.js.map +1 -1
  39. package/dist/src/components/sort-restrictions-annotation.d.ts.map +1 -1
  40. package/dist/src/components/sort-restrictions-annotation.js +7 -13
  41. package/dist/src/components/sort-restrictions-annotation.js.map +1 -1
  42. package/dist/src/components/structured-type-element.d.ts +4 -7
  43. package/dist/src/components/structured-type-element.d.ts.map +1 -1
  44. package/dist/src/components/structured-type-element.js +21 -23
  45. package/dist/src/components/structured-type-element.js.map +1 -1
  46. package/dist/src/components/top-supported-annotation.d.ts.map +1 -1
  47. package/dist/src/components/top-supported-annotation.js +1 -4
  48. package/dist/src/components/top-supported-annotation.js.map +1 -1
  49. package/dist/src/components/update-restrictions-annotation.d.ts +5 -0
  50. package/dist/src/components/update-restrictions-annotation.d.ts.map +1 -0
  51. package/dist/src/components/update-restrictions-annotation.js +8 -0
  52. package/dist/src/components/update-restrictions-annotation.js.map +1 -0
  53. package/dist/src/decorators/{handlers/custom/additional-query-parameters.d.ts → additional-query-parameters.d.ts} +4 -3
  54. package/dist/src/decorators/additional-query-parameters.d.ts.map +1 -0
  55. package/dist/src/decorators/additional-query-parameters.js +21 -0
  56. package/dist/src/decorators/additional-query-parameters.js.map +1 -0
  57. package/dist/src/decorators/ags-attribute.d.ts +13 -0
  58. package/dist/src/decorators/ags-attribute.d.ts.map +1 -0
  59. package/dist/src/decorators/ags-attribute.js +68 -0
  60. package/dist/src/decorators/ags-attribute.js.map +1 -0
  61. package/dist/src/decorators/delta-collection.d.ts +8 -0
  62. package/dist/src/decorators/delta-collection.d.ts.map +1 -0
  63. package/dist/src/decorators/delta-collection.js +12 -0
  64. package/dist/src/decorators/delta-collection.js.map +1 -0
  65. package/dist/src/decorators/deprecated-definition.d.ts +3 -4
  66. package/dist/src/decorators/deprecated-definition.d.ts.map +1 -1
  67. package/dist/src/decorators/deprecated-definition.js +1 -7
  68. package/dist/src/decorators/deprecated-definition.js.map +1 -1
  69. package/dist/src/decorators/expand.d.ts +1 -2
  70. package/dist/src/decorators/expand.d.ts.map +1 -1
  71. package/dist/src/decorators/expand.js +1 -1
  72. package/dist/src/decorators/expand.js.map +1 -1
  73. package/dist/src/decorators/flags.d.ts +9 -0
  74. package/dist/src/decorators/flags.d.ts.map +1 -0
  75. package/dist/src/decorators/flags.js +13 -0
  76. package/dist/src/decorators/flags.js.map +1 -0
  77. package/dist/src/decorators/function.d.ts +1 -2
  78. package/dist/src/decorators/function.d.ts.map +1 -1
  79. package/dist/src/decorators/function.js +1 -1
  80. package/dist/src/decorators/function.js.map +1 -1
  81. package/dist/src/decorators/graph-route.d.ts +9 -0
  82. package/dist/src/decorators/graph-route.d.ts.map +1 -0
  83. package/dist/src/decorators/graph-route.js +84 -0
  84. package/dist/src/decorators/graph-route.js.map +1 -0
  85. package/dist/src/decorators/has-stream.d.ts +1 -2
  86. package/dist/src/decorators/has-stream.d.ts.map +1 -1
  87. package/dist/src/decorators/has-stream.js +1 -1
  88. package/dist/src/decorators/has-stream.js.map +1 -1
  89. package/dist/src/decorators/index.d.ts +10 -2
  90. package/dist/src/decorators/index.d.ts.map +1 -1
  91. package/dist/src/decorators/index.js +10 -2
  92. package/dist/src/decorators/index.js.map +1 -1
  93. package/dist/src/decorators/is-owner.d.ts +9 -0
  94. package/dist/src/decorators/is-owner.d.ts.map +1 -0
  95. package/dist/src/decorators/is-owner.js +14 -0
  96. package/dist/src/decorators/is-owner.js.map +1 -0
  97. package/dist/src/decorators/order-by.d.ts +1 -2
  98. package/dist/src/decorators/order-by.d.ts.map +1 -1
  99. package/dist/src/decorators/order-by.js +1 -1
  100. package/dist/src/decorators/order-by.js.map +1 -1
  101. package/dist/src/decorators/paged-collection.d.ts +8 -0
  102. package/dist/src/decorators/paged-collection.d.ts.map +1 -0
  103. package/dist/src/decorators/paged-collection.js +12 -0
  104. package/dist/src/decorators/paged-collection.js.map +1 -0
  105. package/dist/src/decorators/private-preview-definition.d.ts +3 -4
  106. package/dist/src/decorators/private-preview-definition.d.ts.map +1 -1
  107. package/dist/src/decorators/private-preview-definition.js +1 -6
  108. package/dist/src/decorators/private-preview-definition.js.map +1 -1
  109. package/dist/src/decorators/private-preview.d.ts +1 -2
  110. package/dist/src/decorators/private-preview.d.ts.map +1 -1
  111. package/dist/src/decorators/private-preview.js +1 -1
  112. package/dist/src/decorators/private-preview.js.map +1 -1
  113. package/dist/src/decorators/privileged.d.ts +9 -0
  114. package/dist/src/decorators/privileged.d.ts.map +1 -0
  115. package/dist/src/decorators/privileged.js +13 -0
  116. package/dist/src/decorators/privileged.js.map +1 -0
  117. package/dist/src/decorators/workload-name-msa.d.ts +9 -0
  118. package/dist/src/decorators/workload-name-msa.d.ts.map +1 -0
  119. package/dist/src/decorators/workload-name-msa.js +13 -0
  120. package/dist/src/decorators/workload-name-msa.js.map +1 -0
  121. package/dist/src/decorators/workload-name.d.ts +9 -0
  122. package/dist/src/decorators/workload-name.d.ts.map +1 -0
  123. package/dist/src/decorators/workload-name.js +13 -0
  124. package/dist/src/decorators/workload-name.js.map +1 -0
  125. package/dist/src/entities/annotations.d.ts +31 -0
  126. package/dist/src/entities/annotations.d.ts.map +1 -0
  127. package/dist/src/entities/annotations.js +99 -0
  128. package/dist/src/entities/annotations.js.map +1 -0
  129. package/dist/src/entities/entity-container.d.ts +4 -24
  130. package/dist/src/entities/entity-container.d.ts.map +1 -1
  131. package/dist/src/entities/entity-container.js +30 -120
  132. package/dist/src/entities/entity-container.js.map +1 -1
  133. package/dist/src/entities/enum.d.ts +1 -0
  134. package/dist/src/entities/enum.d.ts.map +1 -1
  135. package/dist/src/entities/enum.js +5 -3
  136. package/dist/src/entities/enum.js.map +1 -1
  137. package/dist/src/entities/model.d.ts +12 -22
  138. package/dist/src/entities/model.d.ts.map +1 -1
  139. package/dist/src/entities/model.js +64 -101
  140. package/dist/src/entities/model.js.map +1 -1
  141. package/dist/src/entities/namespace.d.ts +8 -3
  142. package/dist/src/entities/namespace.d.ts.map +1 -1
  143. package/dist/src/entities/namespace.js +31 -13
  144. package/dist/src/entities/namespace.js.map +1 -1
  145. package/dist/src/entities/operation.d.ts +2 -2
  146. package/dist/src/entities/operation.d.ts.map +1 -1
  147. package/dist/src/entities/operation.js +30 -14
  148. package/dist/src/entities/operation.js.map +1 -1
  149. package/dist/src/linter.d.ts.map +1 -1
  150. package/dist/src/linter.js +25 -25
  151. package/dist/src/linter.js.map +1 -1
  152. package/dist/src/rules/count.d.ts.map +1 -1
  153. package/dist/src/rules/count.js +3 -1
  154. package/dist/src/rules/count.js.map +1 -1
  155. package/dist/src/rules/entity.d.ts.map +1 -1
  156. package/dist/src/rules/entity.js +4 -1
  157. package/dist/src/rules/entity.js.map +1 -1
  158. package/dist/src/rules/expand.d.ts.map +1 -1
  159. package/dist/src/rules/expand.js +5 -7
  160. package/dist/src/rules/expand.js.map +1 -1
  161. package/dist/src/rules/index.d.ts.map +1 -1
  162. package/dist/src/rules/index.js +1 -0
  163. package/dist/src/rules/index.js.map +1 -1
  164. package/dist/src/rules/order-by.d.ts +1 -1
  165. package/dist/src/rules/order-by.d.ts.map +1 -1
  166. package/dist/src/rules/order-by.js +11 -10
  167. package/dist/src/rules/order-by.js.map +1 -1
  168. package/dist/src/rules/search.d.ts.map +1 -1
  169. package/dist/src/rules/search.js +3 -1
  170. package/dist/src/rules/search.js.map +1 -1
  171. package/dist/src/rules/skip.d.ts.map +1 -1
  172. package/dist/src/rules/skip.js +3 -1
  173. package/dist/src/rules/skip.js.map +1 -1
  174. package/dist/src/rules/top.d.ts.map +1 -1
  175. package/dist/src/rules/top.js +3 -1
  176. package/dist/src/rules/top.js.map +1 -1
  177. package/dist/src/utils.d.ts +16 -0
  178. package/dist/src/utils.d.ts.map +1 -1
  179. package/dist/src/utils.js +87 -1
  180. package/dist/src/utils.js.map +1 -1
  181. package/lib/decorators.tsp +97 -14
  182. package/lib/deployment.tsp +18 -0
  183. package/lib/lib.tsp +9 -14
  184. package/lib/msgraph.tsp +4 -0
  185. package/lib/porcelain.tsp +135 -0
  186. package/lib/responses.tsp +82 -0
  187. package/lib/shared-models.tsp +74 -0
  188. package/package.json +1 -2
  189. package/dist/src/decorators/attribute-builder.d.ts +0 -2
  190. package/dist/src/decorators/attribute-builder.d.ts.map +0 -1
  191. package/dist/src/decorators/attribute-builder.js +0 -166
  192. package/dist/src/decorators/attribute-builder.js.map +0 -1
  193. package/dist/src/decorators/attributes.d.ts +0 -57
  194. package/dist/src/decorators/attributes.d.ts.map +0 -1
  195. package/dist/src/decorators/attributes.js +0 -50
  196. package/dist/src/decorators/attributes.js.map +0 -1
  197. package/dist/src/decorators/decorator-parameter.d.ts +0 -4
  198. package/dist/src/decorators/decorator-parameter.d.ts.map +0 -1
  199. package/dist/src/decorators/decorator-parameter.js +0 -2
  200. package/dist/src/decorators/decorator-parameter.js.map +0 -1
  201. package/dist/src/decorators/handlers/custom/additional-query-parameters.d.ts.map +0 -1
  202. package/dist/src/decorators/handlers/custom/additional-query-parameters.js +0 -38
  203. package/dist/src/decorators/handlers/custom/additional-query-parameters.js.map +0 -1
  204. package/dist/src/decorators/handlers/custom/ags-attribute.d.ts +0 -8
  205. package/dist/src/decorators/handlers/custom/ags-attribute.d.ts.map +0 -1
  206. package/dist/src/decorators/handlers/custom/ags-attribute.js +0 -36
  207. package/dist/src/decorators/handlers/custom/ags-attribute.js.map +0 -1
  208. package/dist/src/decorators/handlers/custom/index.d.ts +0 -3
  209. package/dist/src/decorators/handlers/custom/index.d.ts.map +0 -1
  210. package/dist/src/decorators/handlers/custom/index.js +0 -3
  211. package/dist/src/decorators/handlers/custom/index.js.map +0 -1
  212. package/dist/src/decorators/handlers/index.d.ts +0 -31
  213. package/dist/src/decorators/handlers/index.d.ts.map +0 -1
  214. package/dist/src/decorators/handlers/index.js +0 -121
  215. package/dist/src/decorators/handlers/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"additional-query-parameters.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/handlers/custom/additional-query-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,IAAI,EACL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AASD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,kBAAkB,GAAG,SAAS,EACzC,UAAU,EAAE,kBAAkB,GAAG,SAAS,QAqB3C;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAChB,cAAc,EAAE,CAElB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,IAAI,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAM3B"}
@@ -1,38 +0,0 @@
1
- import { createDecoratorDefinition, } from "@typespec/compiler";
2
- const additionalQueryParametersKey = Symbol("additionalQueryParameters");
3
- const additionalQueryParametersDecorator = createDecoratorDefinition({
4
- name: "@additionalQueryParameters",
5
- target: "Namespace",
6
- args: [{ kind: "String" }, { kind: "String" }],
7
- });
8
- /**
9
- * \`@additionalQueryParameters\` - Appends a key=value pair to the query string of the mapped internal URL for all models defined within the namespace..
10
- */
11
- export function $additionalQueryParameters(context, target, nameParam, valueParam) {
12
- const name = nameParam === undefined ? "" : nameParam.value;
13
- const value = valueParam === undefined ? "" : valueParam.value;
14
- if (!additionalQueryParametersDecorator.validate(context, target, [name, value])) {
15
- return;
16
- }
17
- let queryParameters = context.program
18
- .stateMap(additionalQueryParametersKey)
19
- .get(target);
20
- if (queryParameters === undefined) {
21
- queryParameters = [];
22
- context.program.stateMap(additionalQueryParametersKey).set(target, queryParameters);
23
- }
24
- queryParameters.push({
25
- name,
26
- value,
27
- });
28
- }
29
- export function getAdditionalQueryParameters(program, target) {
30
- return program.stateMap(additionalQueryParametersKey).get(target) || [];
31
- }
32
- export function unpackAdditionalQueryParameters(program, target) {
33
- const additionalQueryParameters = getAdditionalQueryParameters(program, target);
34
- const queryParameters = additionalQueryParameters &&
35
- additionalQueryParameters.map((p) => `${p.name}=${p.value}`).join("&");
36
- return { "ags:AdditionalQueryParameters": queryParameters };
37
- }
38
- //# sourceMappingURL=additional-query-parameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"additional-query-parameters.js","sourceRoot":"","sources":["../../../../../src/decorators/handlers/custom/additional-query-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAK1B,MAAM,oBAAoB,CAAC;AAO5B,MAAM,4BAA4B,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEzE,MAAM,kCAAkC,GAAG,yBAAyB,CAAC;IACnE,IAAI,EAAE,4BAA4B;IAClC,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;CACtC,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAyB,EACzB,MAAiB,EACjB,SAAyC,EACzC,UAA0C;IAE1C,MAAM,IAAI,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAA;IAC3D,MAAM,KAAK,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAA;IAE9D,IAAI,CAAC,kCAAkC,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;QAChF,OAAO;KACR;IAED,IAAI,eAAe,GAAqB,OAAO,CAAC,OAAO;SACpD,QAAQ,CAAC,4BAA4B,CAAC;SACtC,GAAG,CAAC,MAAM,CAAC,CAAC;IACf,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,eAAe,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KACrF;IAED,eAAe,CAAC,IAAI,CAAC;QACnB,IAAI;QACJ,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAAgB,EAChB,MAAiB;IAEjB,OAAO,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAgB,EAChB,MAAY;IAEZ,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,OAAO,EAAE,MAAmB,CAAC,CAAC;IAC7F,MAAM,eAAe,GACnB,yBAAyB;QACzB,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE,OAAO,EAAE,+BAA+B,EAAE,eAAe,EAAE,CAAC;AAC9D,CAAC"}
@@ -1,8 +0,0 @@
1
- import { DecoratorContext, Enum, EnumMember, Interface, Model, ModelProperty, Operation, Program, Type } from "@typespec/compiler";
2
- import { DecoratorParameter } from "../../decorator-parameter.js";
3
- export declare function $agsAttribute(context: DecoratorContext, target: Model | ModelProperty | Enum | EnumMember | Operation | Interface, name: DecoratorParameter, value: DecoratorParameter): void;
4
- export declare function getAgsAttributes(program: Program, target: Model | ModelProperty | Enum | EnumMember | Operation | Interface): Map<string, string> | undefined;
5
- export declare function unpackAgsAttributes(program: Program, target: Type): {
6
- [key: string]: string;
7
- };
8
- //# sourceMappingURL=ags-attribute.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ags-attribute.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/handlers/custom/ags-attribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EACP,IAAI,EACL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAelE,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,EACzE,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,kBAAkB,QAiB1B;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GACxE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAEjC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAK7F"}
@@ -1,36 +0,0 @@
1
- import { createDecoratorDefinition, } from "@typespec/compiler";
2
- /**
3
- * `@agsAttribute` - Allows all AGS CSDL extensions that are not yet modelled explicitly in TypeSpec to be maintained
4
- * `@agsAttribute` - Applies to models.
5
- */
6
- const agsAttributeKey = Symbol("agsAttribute");
7
- const agsAttributeDecorator = createDecoratorDefinition({
8
- name: "@agsAttribute",
9
- target: ["Enum", "EnumMember", "Model", "ModelProperty", "Operation", "Interface"],
10
- args: [{ kind: "String" }, { kind: "String" }],
11
- });
12
- export function $agsAttribute(context, target, name, value) {
13
- if (!agsAttributeDecorator.validate(context, target, [name.value, value.value])) {
14
- return;
15
- }
16
- let attributeParameters = context.program
17
- .stateMap(agsAttributeKey)
18
- .get(target);
19
- if (attributeParameters) {
20
- attributeParameters.set(name.value, value.value);
21
- }
22
- else {
23
- attributeParameters = new Map([[name.value, value.value]]);
24
- }
25
- context.program.stateMap(agsAttributeKey).set(target, attributeParameters);
26
- }
27
- export function getAgsAttributes(program, target) {
28
- return program.stateMap(agsAttributeKey).get(target);
29
- }
30
- export function unpackAgsAttributes(program, target) {
31
- const attributes = getAgsAttributes(program, target);
32
- let params = {};
33
- attributes === null || attributes === void 0 ? void 0 : attributes.forEach((value, name) => (params = { ...params, ...{ [`ags:${name}`]: value } }));
34
- return params || {};
35
- }
36
- //# sourceMappingURL=ags-attribute.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ags-attribute.js","sourceRoot":"","sources":["../../../../../src/decorators/handlers/custom/ags-attribute.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAU1B,MAAM,oBAAoB,CAAC;AAG5B;;;GAGG;AAEH,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAE/C,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;IACtD,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,CAAC;IAClF,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;CACtC,CAAC,CAAC;AAEZ,MAAM,UAAU,aAAa,CAC3B,OAAyB,EACzB,MAAyE,EACzE,IAAwB,EACxB,KAAyB;IAEzB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;QAC/E,OAAO;KACR;IAED,IAAI,mBAAmB,GAAwB,OAAO,CAAC,OAAO;SAC3D,QAAQ,CAAC,eAAe,CAAC;SACzB,GAAG,CAAC,MAAM,CAAC,CAAC;IAEf,IAAI,mBAAmB,EAAE;QACvB,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;SAAM;QACL,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5D;IAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,MAAyE;IAEzE,OAAO,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,MAAY;IAChE,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAA2E,CAAC,CAAC;IAC1H,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9F,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./additional-query-parameters.js";
2
- export * from "./ags-attribute.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/decorators/handlers/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from "./additional-query-parameters.js";
2
- export * from "./ags-attribute.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/decorators/handlers/custom/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC"}
@@ -1,31 +0,0 @@
1
- /**
2
- * NOTICE: This is an autogenerated file and should not be edited directly.
3
- */
4
- import { DecoratorContext, EnumMember, Enum, Interface, Model, ModelProperty, Namespace, Operation, Program, Type } from "@typespec/compiler";
5
- import { DecoratorParameter } from "../decorator-parameter.js";
6
- /**
7
- * `@isOwner` - specify the name of the workload associated with the model
8
- * `@isOwner` can be applied to Model, ModelProperty, Enum, EnumMember.
9
- */
10
- export declare function $isOwner(context: DecoratorContext, target: Model | ModelProperty | Enum | EnumMember): void;
11
- export declare function isIsOwner(program: Program, target: Type): boolean;
12
- /**
13
- *
14
- * `@privileged` can be applied to Model, ModelProperty, Enum, EnumMember, Operation, Namespace.
15
- */
16
- export declare function $privileged(context: DecoratorContext, target: Model | ModelProperty | Enum | EnumMember | Operation | Namespace): void;
17
- export declare function isPrivileged(program: Program, target: Type): boolean;
18
- /**
19
- *
20
- * `@workloadName` can be applied to Model, ModelProperty, Enum, EnumMember.
21
- */
22
- export declare function $workloadName(context: DecoratorContext, target: Model | ModelProperty | Enum | EnumMember, workloadName: DecoratorParameter): void;
23
- export declare function getWorkloadName(program: Program, target: Type): string | undefined;
24
- /**
25
- *
26
- * `@workloadNameMsa` can be applied to Model, ModelProperty, Enum, EnumMember.
27
- */
28
- export declare function $workloadNameMsa(context: DecoratorContext, target: Model | ModelProperty | Enum | EnumMember, workloadNameMsa: DecoratorParameter): void;
29
- export declare function getWorkloadNameMsa(program: Program, target: Type): string | undefined;
30
- export declare function buildAttributes(program: Program, type: Model | ModelProperty | Namespace | Interface | Operation | Enum | EnumMember): Record<string, string>;
31
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decorators/handlers/index.ts"],"names":[],"mappings":"AACE;;GAEG;AAEL,OAAO,EAEL,gBAAgB,EAChB,UAAU,EACV,IAAI,EACJ,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACL,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAW/D;;;EAGE;AACF,wBAAgB,QAAQ,CACtB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,QAQlD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAEjE;AAYD;;;EAGE;AACF,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,QAQ1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAEpE;AAYD;;;EAGE;AACF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,EACjD,YAAY,EAAE,kBAAkB,QAOjC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAElF;AAYD;;;EAGE;AACF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,GAAG,UAAU,EACjD,eAAe,EAAE,kBAAkB,QAOpC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAErF;AAmBD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,UAAU,GAClF,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBxB"}
@@ -1,121 +0,0 @@
1
- /**
2
- * NOTICE: This is an autogenerated file and should not be edited directly.
3
- */
4
- import { createDecoratorDefinition, } from "@typespec/compiler";
5
- import * as customAttribs from "./custom/index.js";
6
- // -- @isOwner decorator
7
- const isOwnerKey = Symbol("isOwner");
8
- const isOwnerDecorator = createDecoratorDefinition({
9
- name: "@isOwner",
10
- target: ["Model", "ModelProperty", "Enum", "EnumMember"],
11
- args: []
12
- });
13
- /**
14
- * `@isOwner` - specify the name of the workload associated with the model
15
- * `@isOwner` can be applied to Model, ModelProperty, Enum, EnumMember.
16
- */
17
- export function $isOwner(context, target) {
18
- if (!isOwnerDecorator.validate(context, target, [])) {
19
- return;
20
- }
21
- context.program.stateSet(isOwnerKey).add(target);
22
- }
23
- export function isIsOwner(program, target) {
24
- return program.stateSet(isOwnerKey).has(target);
25
- }
26
- // -- @privileged decorator
27
- const privilegedKey = Symbol("privileged");
28
- const privilegedDecorator = createDecoratorDefinition({
29
- name: "@privileged",
30
- target: ["Model", "ModelProperty", "Enum", "EnumMember", "Operation", "Namespace"],
31
- args: []
32
- });
33
- /**
34
- *
35
- * `@privileged` can be applied to Model, ModelProperty, Enum, EnumMember, Operation, Namespace.
36
- */
37
- export function $privileged(context, target) {
38
- if (!privilegedDecorator.validate(context, target, [])) {
39
- return;
40
- }
41
- context.program.stateSet(privilegedKey).add(target);
42
- }
43
- export function isPrivileged(program, target) {
44
- return program.stateSet(privilegedKey).has(target);
45
- }
46
- // -- @workloadName decorator
47
- const workloadNameKey = Symbol("workloadName");
48
- const workloadNameDecorator = createDecoratorDefinition({
49
- name: "@workloadName",
50
- target: ["Model", "ModelProperty", "Enum", "EnumMember"],
51
- args: [{ kind: "String" }]
52
- });
53
- /**
54
- *
55
- * `@workloadName` can be applied to Model, ModelProperty, Enum, EnumMember.
56
- */
57
- export function $workloadName(context, target, workloadName) {
58
- if (!workloadNameDecorator.validate(context, target, [workloadName.value])) {
59
- return;
60
- }
61
- context.program.stateMap(workloadNameKey).set(target, workloadName.value);
62
- }
63
- export function getWorkloadName(program, target) {
64
- return program.stateMap(workloadNameKey).get(target);
65
- }
66
- // -- @workloadNameMsa decorator
67
- const workloadNameMsaKey = Symbol("workloadNameMsa");
68
- const workloadNameMsaDecorator = createDecoratorDefinition({
69
- name: "@workloadNameMsa",
70
- target: ["Model", "ModelProperty", "Enum", "EnumMember"],
71
- args: [{ kind: "String" }]
72
- });
73
- /**
74
- *
75
- * `@workloadNameMsa` can be applied to Model, ModelProperty, Enum, EnumMember.
76
- */
77
- export function $workloadNameMsa(context, target, workloadNameMsa) {
78
- if (!workloadNameMsaDecorator.validate(context, target, [workloadNameMsa.value])) {
79
- return;
80
- }
81
- context.program.stateMap(workloadNameMsaKey).set(target, workloadNameMsa.value);
82
- }
83
- export function getWorkloadNameMsa(program, target) {
84
- return program.stateMap(workloadNameMsaKey).get(target);
85
- }
86
- const decoratorToMethodMapper = {
87
- isOwner: isIsOwner,
88
- privileged: isPrivileged,
89
- workloadName: getWorkloadName,
90
- workloadNameMsa: getWorkloadNameMsa,
91
- additionalQueryParameters: customAttribs.unpackAdditionalQueryParameters,
92
- agsAttribute: customAttribs.unpackAgsAttributes
93
- };
94
- const decoratorToAgsAttributeMapper = {
95
- "isOwner": "ags:IsOwner",
96
- "privileged": "ags:IsHidden",
97
- "workloadName": "ags:WorkloadName",
98
- "workloadNameMsa": "ags:WorkloadNameMsa"
99
- };
100
- export function buildAttributes(program, type) {
101
- const declaredDecorators = ["isOwner", "privileged", "workloadName", "workloadNameMsa", "additionalQueryParameters", "agsAttribute"];
102
- let attrs = {};
103
- type.decorators
104
- // only handle declared decorators
105
- .filter((d) => declaredDecorators.some((s) => s === d.decorator.name.substring(1)))
106
- .forEach((d) => {
107
- const attrName = d.decorator.name.substring(1); // name prefixed with $
108
- let key = attrName;
109
- const agsAttrParams = decoratorToMethodMapper[key](program, type);
110
- if (typeof agsAttrParams === "object") {
111
- attrs = { ...attrs, ...agsAttrParams };
112
- }
113
- else {
114
- key = attrName;
115
- const agsAttr = decoratorToAgsAttributeMapper[key];
116
- attrs = { ...attrs, ...{ [agsAttr]: agsAttrParams } };
117
- }
118
- });
119
- return attrs;
120
- }
121
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/decorators/handlers/index.ts"],"names":[],"mappings":"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"}