@microsoft/typespec-msgraph 0.0.1-Preview.5 → 0.0.1-Preview.7

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 (115) hide show
  1. package/dist/src/components/annotations.d.ts +5 -5
  2. package/dist/src/components/annotations.d.ts.map +1 -1
  3. package/dist/src/components/annotations.js +18 -23
  4. package/dist/src/components/annotations.js.map +1 -1
  5. package/dist/src/components/count-restrictions-annotation.d.ts +1 -1
  6. package/dist/src/components/count-restrictions-annotation.d.ts.map +1 -1
  7. package/dist/src/components/count-restrictions-annotation.js +2 -2
  8. package/dist/src/components/count-restrictions-annotation.js.map +1 -1
  9. package/dist/src/components/entity-container-element.d.ts +2 -2
  10. package/dist/src/components/entity-container-element.d.ts.map +1 -1
  11. package/dist/src/components/entity-container-element.js.map +1 -1
  12. package/dist/src/components/enum-type-element.js +1 -1
  13. package/dist/src/components/enum-type-element.js.map +1 -1
  14. package/dist/src/components/expand-restrictions-annotation.d.ts +1 -1
  15. package/dist/src/components/expand-restrictions-annotation.d.ts.map +1 -1
  16. package/dist/src/components/expand-restrictions-annotation.js +3 -3
  17. package/dist/src/components/expand-restrictions-annotation.js.map +1 -1
  18. package/dist/src/components/property-element.js +1 -1
  19. package/dist/src/components/property-element.js.map +1 -1
  20. package/dist/src/components/schema-element.d.ts.map +1 -1
  21. package/dist/src/components/schema-element.js +5 -3
  22. package/dist/src/components/schema-element.js.map +1 -1
  23. package/dist/src/components/search-restrictions-annotation.d.ts +1 -1
  24. package/dist/src/components/search-restrictions-annotation.d.ts.map +1 -1
  25. package/dist/src/components/search-restrictions-annotation.js +2 -2
  26. package/dist/src/components/search-restrictions-annotation.js.map +1 -1
  27. package/dist/src/components/skip-supported-annotation.d.ts +1 -1
  28. package/dist/src/components/skip-supported-annotation.d.ts.map +1 -1
  29. package/dist/src/components/skip-supported-annotation.js +1 -1
  30. package/dist/src/components/skip-supported-annotation.js.map +1 -1
  31. package/dist/src/components/sort-restrictions-annotation.d.ts +1 -1
  32. package/dist/src/components/sort-restrictions-annotation.d.ts.map +1 -1
  33. package/dist/src/components/sort-restrictions-annotation.js +3 -3
  34. package/dist/src/components/sort-restrictions-annotation.js.map +1 -1
  35. package/dist/src/components/structured-type-element.js +2 -2
  36. package/dist/src/components/structured-type-element.js.map +1 -1
  37. package/dist/src/components/top-supported-annotation.d.ts +1 -1
  38. package/dist/src/components/top-supported-annotation.d.ts.map +1 -1
  39. package/dist/src/components/top-supported-annotation.js +2 -2
  40. package/dist/src/components/top-supported-annotation.js.map +1 -1
  41. package/dist/src/components/update-restrictions-annotation.d.ts +5 -0
  42. package/dist/src/components/update-restrictions-annotation.d.ts.map +1 -0
  43. package/dist/src/components/update-restrictions-annotation.js +8 -0
  44. package/dist/src/components/update-restrictions-annotation.js.map +1 -0
  45. package/dist/src/decorators/flags.d.ts +9 -0
  46. package/dist/src/decorators/flags.d.ts.map +1 -0
  47. package/dist/src/decorators/flags.js +13 -0
  48. package/dist/src/decorators/flags.js.map +1 -0
  49. package/dist/src/decorators/index.d.ts +1 -0
  50. package/dist/src/decorators/index.d.ts.map +1 -1
  51. package/dist/src/decorators/index.js +1 -0
  52. package/dist/src/decorators/index.js.map +1 -1
  53. package/dist/src/entities/annotations.d.ts +19 -18
  54. package/dist/src/entities/annotations.d.ts.map +1 -1
  55. package/dist/src/entities/annotations.js +55 -54
  56. package/dist/src/entities/annotations.js.map +1 -1
  57. package/dist/src/entities/entity-container.d.ts +4 -3
  58. package/dist/src/entities/entity-container.d.ts.map +1 -1
  59. package/dist/src/entities/entity-container.js +14 -10
  60. package/dist/src/entities/entity-container.js.map +1 -1
  61. package/dist/src/entities/enum.d.ts +1 -0
  62. package/dist/src/entities/enum.d.ts.map +1 -1
  63. package/dist/src/entities/enum.js +2 -0
  64. package/dist/src/entities/enum.js.map +1 -1
  65. package/dist/src/entities/model.d.ts +4 -4
  66. package/dist/src/entities/model.d.ts.map +1 -1
  67. package/dist/src/entities/model.js +7 -7
  68. package/dist/src/entities/model.js.map +1 -1
  69. package/dist/src/entities/namespace.d.ts +8 -6
  70. package/dist/src/entities/namespace.d.ts.map +1 -1
  71. package/dist/src/entities/namespace.js +25 -8
  72. package/dist/src/entities/namespace.js.map +1 -1
  73. package/dist/src/entities/revision-definition.d.ts +1 -1
  74. package/dist/src/entities/revision-definition.js +3 -3
  75. package/dist/src/lib.d.ts +4 -0
  76. package/dist/src/lib.d.ts.map +1 -1
  77. package/dist/src/lib.js +1 -0
  78. package/dist/src/lib.js.map +1 -1
  79. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts +2 -0
  80. package/dist/src/rules/collection-navigation-properties-not-nullable.d.ts.map +1 -0
  81. package/dist/src/rules/collection-navigation-properties-not-nullable.js +28 -0
  82. package/dist/src/rules/collection-navigation-properties-not-nullable.js.map +1 -0
  83. package/dist/src/rules/count.js +2 -2
  84. package/dist/src/rules/count.js.map +1 -1
  85. package/dist/src/rules/disallowed-typespec-decorators.d.ts +2 -0
  86. package/dist/src/rules/disallowed-typespec-decorators.d.ts.map +1 -0
  87. package/dist/src/rules/disallowed-typespec-decorators.js +33 -0
  88. package/dist/src/rules/disallowed-typespec-decorators.js.map +1 -0
  89. package/dist/src/rules/extends-on-same-type.d.ts +2 -0
  90. package/dist/src/rules/extends-on-same-type.d.ts.map +1 -0
  91. package/dist/src/rules/extends-on-same-type.js +38 -0
  92. package/dist/src/rules/extends-on-same-type.js.map +1 -0
  93. package/dist/src/rules/index.d.ts +4 -3
  94. package/dist/src/rules/index.d.ts.map +1 -1
  95. package/dist/src/rules/index.js +4 -89
  96. package/dist/src/rules/index.js.map +1 -1
  97. package/dist/src/rules/operation-inside-interface.d.ts +2 -0
  98. package/dist/src/rules/operation-inside-interface.d.ts.map +1 -0
  99. package/dist/src/rules/operation-inside-interface.js +25 -0
  100. package/dist/src/rules/operation-inside-interface.js.map +1 -0
  101. package/dist/src/rules/order-by.js +2 -2
  102. package/dist/src/rules/order-by.js.map +1 -1
  103. package/dist/src/rules/search.js +2 -2
  104. package/dist/src/rules/search.js.map +1 -1
  105. package/dist/src/rules/skip.js +2 -2
  106. package/dist/src/rules/skip.js.map +1 -1
  107. package/dist/src/rules/top.js +2 -2
  108. package/dist/src/rules/top.js.map +1 -1
  109. package/dist/src/utils.d.ts +4 -5
  110. package/dist/src/utils.d.ts.map +1 -1
  111. package/dist/src/utils.js +41 -25
  112. package/dist/src/utils.js.map +1 -1
  113. package/lib/decorators.tsp +7 -0
  114. package/lib/porcelain.tsp +1 -1
  115. package/package.json +1 -1
package/dist/src/utils.js CHANGED
@@ -89,28 +89,31 @@ export function getNavigationTypeId(program, getOperation) {
89
89
  return getIdForType(program, returnType.templateArguments[0]);
90
90
  }
91
91
  export function getInterfacesOfKinds(program, navigationSources, kinds) {
92
- const map = new Map();
93
- navigationSources.forEach(theInterface => {
94
- var _a;
92
+ const interfaces = new Map();
93
+ navigationSources.forEach((theInterface) => {
95
94
  if (!theInterface.sourceInterfaces.some(s => kinds.includes(s.name))) {
96
95
  // if source interfaces DO NOT have the kinds.
97
96
  return;
98
97
  }
99
- const routePath = (_a = getRoutePath(program, theInterface)) === null || _a === void 0 ? void 0 : _a.path.split("/")[0];
98
+ const routePath = getRoutePath(program, theInterface);
100
99
  if (!routePath) {
101
100
  return;
102
101
  }
102
+ const path = removeRoutePathParams(routePath.path);
103
+ if (!path) {
104
+ return;
105
+ }
103
106
  let operations = [...theInterface.operations.values()];
104
- if (map.has(routePath)) {
105
- const existing = map.get(routePath);
107
+ if (interfaces.has(path)) {
108
+ const existing = interfaces.get(path);
106
109
  operations = [...operations, ...existing.operations];
107
110
  }
108
- map.set(routePath, {
111
+ interfaces.set(path, {
109
112
  theInterface: theInterface,
110
113
  operations: operations,
111
114
  });
112
115
  });
113
- return map;
116
+ return interfaces;
114
117
  }
115
118
  export function getPropertyTypeName(program, type) {
116
119
  var _a;
@@ -156,26 +159,24 @@ export function getSingletonTypeId(program, singletonType, getOperation) {
156
159
  return getOperation && getNavigationTypeId(program, getOperation);
157
160
  }
158
161
  /**
159
- * Returns whether a type used as a return type matches Graph's definition of a collection
162
+ * Returns whether a type matches Graph's definition of a collection
160
163
  * @param program
161
- * @param returnType
164
+ * @param type
162
165
  */
163
- export function isReturnTypeCollection(program, returnType) {
164
- let returnTypes = [];
165
- if (returnType.kind === "Model") {
166
- returnTypes.push(returnType);
166
+ export function isTypeCollection(Program, type) {
167
+ let modelTypes = [];
168
+ if (type.kind === "Union") {
169
+ const extracted = (extractTypesFromUnion(type).filter((t) => t.kind === "Model"));
170
+ modelTypes = modelTypes.concat(extracted);
167
171
  }
168
- else if (returnType.kind === "Union") {
169
- const extracted = extractTypesFromUnion(returnType).filter(t => t.kind === "Model");
170
- returnTypes = returnTypes.concat(extracted);
172
+ else if (type.kind === "Model") {
173
+ modelTypes.push(type);
171
174
  }
172
- if (returnTypes.length === 0) {
175
+ if (modelTypes.length === 0) {
173
176
  return false;
174
177
  }
175
- return returnTypes.some(t => isTypeCollection(t));
176
- }
177
- function isTypeCollection(type) {
178
- return type.kind === "Model" && (type.name === "Array" || type.name.includes("Collection"));
178
+ return modelTypes.some((t) => t.kind === "Model" &&
179
+ (t.name === "Array" || t.name.includes("Collection")));
179
180
  }
180
181
  /**
181
182
  * Imported from typespec-azure
@@ -224,6 +225,14 @@ export function isExcludedLibraryType(program, type) {
224
225
  }
225
226
  export function isNavigationProperty(program, property) {
226
227
  let propertyType = property.type;
228
+ if (propertyType.kind === "Union") {
229
+ const unionTypes = extractTypesFromUnion(propertyType);
230
+ const nonNullTypes = unionTypes.filter((t) => !isNullType(program, t));
231
+ if (!nonNullTypes.length) {
232
+ return false;
233
+ }
234
+ propertyType = nonNullTypes[0];
235
+ }
227
236
  if (propertyType.kind !== "Model") {
228
237
  return false;
229
238
  }
@@ -235,9 +244,6 @@ export function isNavigationProperty(program, property) {
235
244
  }
236
245
  return isEntity(program, propertyType);
237
246
  }
238
- export function getNavigationSources(program, namespace) {
239
- return [...namespace.interfaces.values()].filter(theInterface => isNavigationSource(theInterface));
240
- }
241
247
  export function isNavigationSource(theInterface) {
242
248
  return findNavigationSource(theInterface) !== undefined;
243
249
  }
@@ -271,4 +277,14 @@ function findNavigationSource(theInterface) {
271
277
  }
272
278
  return undefined;
273
279
  }
280
+ /**
281
+ * Removes route path params from a route path
282
+ *
283
+ * Examples:
284
+ * - user/{id}/manager -> user/manager
285
+ * - user/{id}/friends/{friendId}/hobbies -> user/friends/hobbies
286
+ */
287
+ function removeRoutePathParams(routePath) {
288
+ return routePath.replace(/\/\{\w+\}/g, "");
289
+ }
274
290
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,gBAAgB,GASjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO9C,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,IAAU;IACzD,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,mBAAmB;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C;YACE,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,IAAoB;IACxE,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,sBAAsB,CAAC;QAChC,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,WAAW,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,WAAW,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC;QACtB,KAAK,SAAS;YACZ,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,UAAU,CAAC;QACpB,KAAK,WAAW;YACd,OAAO,eAAe,CAAC;QACzB,KAAK,eAAe;YAClB,OAAO,oBAAoB,CAAC;QAC9B,KAAK,UAAU;YACb,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC;QACtB;YACE,MAAM;KACT;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IAED,OAAO,cAAc,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAU;IACvD,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,WAAW;YACd,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpC,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,SAAU,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACjE,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC;YACE,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,YAAuB;;IAC3E,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,iBAAiB,0CAAE,MAAM,CAAA,EAAE;QACxE,OAAO,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;KAC1C;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,iBAA8B,EAAE,KAAe;IACpG,MAAM,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEhD,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;;QACvC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;YACpE,8CAA8C;YAC9C,OAAO;SACR;QAED,MAAM,SAAS,GAAG,MAAA,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,0CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,IAAI,UAAU,GAAG,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvD,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YACrC,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtD;QAED,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE;YACjB,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,UAAU;SACvB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,IAAU;;IAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QACzB,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,OAAO,YAAY,CAAC;SACrB;QAED,OAAO,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;KACtD;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,MAAK,UAAU,EAAE;QAC5F,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACtC;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,IAAU;IACzD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB,EAAE,SAAgB;IACvD,MAAM,UAAU,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QACxB,OAAO,YAAY,CAAC;KACrB;IAED,OAAO,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB,EAAE,IAAU;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAW;IAC/C,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,aAA4B,EAC5B,YAAmC;IAEnC,IAAI,aAAa,EAAE;QACjB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjD,OAAO,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAChD;IACD,OAAO,YAAY,IAAI,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAiB,EACjB,UAAgB;IAEd,IAAI,WAAW,GAAiB,EAAE,CAAC;IACnC,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE;QAC7B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAChC;SACI,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE;QACpC,MAAM,SAAS,GAAqB,qBAAqB,CAAQ,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAC7G,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC7C;IAED,IAAK,WAAW,CAAC,MAAM,KAAK,CAAC,EAAG;QAC9B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAU;IAClC,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AAC9F,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,IAA2F;IAE3F,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO,EAAE,CAAC;SACX;QAED,OAAO,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9C;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;QAC7B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;KACvB;IAED,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IAED,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAgB,EAChB,IAA+E;IAE/E,EAAE;IACF,6EAA6E;IAC7E,EAAE;IACF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,IAA+E;IAE/E,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC1D,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,QAAuB;IAC5E,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACjC,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE;QACjC,OAAO,KAAK,CAAC;KACd;IAED,IAAI,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE;QAC3C,YAAY,GAAG,YAAY,CAAC,OAAQ,CAAC,KAAK,CAAC;QAC3C,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAgB,EAAE,SAAoB;IACzE,OAAO,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,YAAuB;IACxD,OAAO,oBAAoB,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC;AAC1D,CAAC;AAED,4FAA4F;AAC5F,+CAA+C;AAC/C,MAAM,UAAU,gCAAgC,CAAC,OAAgB,EAAE,YAAuB;;IACxF,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACrD,IAAG,SAAS,KAAK,SAAS,EAAE;QAC1B,OAAO,SAAS,CAAC;KAClB;SACI;QACH,OAAc,MAAA,SAAS,CAAC,cAAc,0CAAE,IAAI,CAAC,CAAC,CAAC,CAAC;KACjD;AACH,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,SAAoB;IAC5E,OAAO,gCAAgC,CAAC,OAAO,EAAE,SAAS,CAAC,SAAU,CAAC,CAAC;AACxE,CAAC;AAEF,SAAS,oBAAoB,CAAC,YAAuB;IACnD,KAAK,MAAM,aAAa,IAAI,YAAY,CAAC,gBAAgB,EAAE;QACzD,IAAI,aAAa,CAAC,IAAI,KAAK,wBAAwB,IAAI,aAAa,CAAC,IAAI,KAAK,4BAA4B,EAAE;YAC1G,OAAO,aAAa,CAAC;SACtB;aACI;YACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,QAAQ,KAAK,SAAS,EAAG;gBAC3B,OAAO,QAAQ,CAAC;aACjB;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,13 @@ extern dec entity(target: Model);
71
71
  */
72
72
  extern dec expand(target: Operation, property: valueof string, ...otherProperties: valueof string[]);
73
73
 
74
+ /**
75
+ * `@flags` - mark an enumeration type as a flag.
76
+ *
77
+ * `@flags` can only be applied to enums.
78
+ */
79
+ extern dec flags(target: Enum);
80
+
74
81
  /**
75
82
  * `@function` - mark an operation as a function
76
83
  *
package/lib/porcelain.tsp CHANGED
@@ -72,7 +72,7 @@ namespace TypeSpec.MsGraph;
72
72
  TResource, TParams, TResponse, TErrorResponse>;
73
73
 
74
74
  // @select("*")
75
- @get op Get<
75
+ @get op GetResource<
76
76
  TResource extends {} = Automatic.CalculatedResourceType,
77
77
  TParams = {... Automatic.GraphRouteParams},
78
78
  TResponse = ResourceResponse<TResource>,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/typespec-msgraph",
3
- "version": "0.0.1-Preview.5",
3
+ "version": "0.0.1-Preview.7",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec for Microsoft Graph provides a description of the Microsoft Graph APIs. It is used for generating API description languages, client and service code, documentation, and other assets.",
6
6
  "homepage": "https://github.com/microsoftgraph/typespec-msgraph",