@microsoft/typespec-msgraph 0.0.1-Preview.15 → 0.0.1-Preview.17

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 (127) hide show
  1. package/dist/src/components/operation-element.js +1 -1
  2. package/dist/src/components/operation-element.js.map +1 -1
  3. package/dist/src/components/property-element.js +1 -1
  4. package/dist/src/components/property-element.js.map +1 -1
  5. package/dist/src/components/structured-type-element.d.ts.map +1 -1
  6. package/dist/src/components/structured-type-element.js +4 -4
  7. package/dist/src/components/structured-type-element.js.map +1 -1
  8. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  9. package/dist/src/decorators/graph-route.js +3 -0
  10. package/dist/src/decorators/graph-route.js.map +1 -1
  11. package/dist/src/decorators/index.d.ts +12 -10
  12. package/dist/src/decorators/index.d.ts.map +1 -1
  13. package/dist/src/decorators/index.js +12 -10
  14. package/dist/src/decorators/index.js.map +1 -1
  15. package/dist/src/decorators/limited-charset.d.ts +9 -0
  16. package/dist/src/decorators/limited-charset.d.ts.map +1 -0
  17. package/dist/src/decorators/limited-charset.js +13 -0
  18. package/dist/src/decorators/limited-charset.js.map +1 -0
  19. package/dist/src/decorators/media.d.ts +10 -0
  20. package/dist/src/decorators/media.d.ts.map +1 -0
  21. package/dist/src/decorators/media.js +16 -0
  22. package/dist/src/decorators/media.js.map +1 -0
  23. package/dist/src/decorators/passthrough-address-url-msa.d.ts +2 -3
  24. package/dist/src/decorators/passthrough-address-url-msa.d.ts.map +1 -1
  25. package/dist/src/decorators/passthrough-address-url-msa.js +2 -4
  26. package/dist/src/decorators/passthrough-address-url-msa.js.map +1 -1
  27. package/dist/src/decorators/passthrough-address-url.d.ts +2 -3
  28. package/dist/src/decorators/passthrough-address-url.d.ts.map +1 -1
  29. package/dist/src/decorators/passthrough-address-url.js +2 -4
  30. package/dist/src/decorators/passthrough-address-url.js.map +1 -1
  31. package/dist/src/decorators/workload-namespace.d.ts +10 -0
  32. package/dist/src/decorators/workload-namespace.d.ts.map +1 -0
  33. package/dist/src/decorators/workload-namespace.js +19 -0
  34. package/dist/src/decorators/workload-namespace.js.map +1 -0
  35. package/dist/src/dom/error-interceptor.d.ts +2 -0
  36. package/dist/src/dom/error-interceptor.d.ts.map +1 -0
  37. package/dist/src/dom/error-interceptor.js +13 -0
  38. package/dist/src/dom/error-interceptor.js.map +1 -0
  39. package/dist/src/dom/renderer.d.ts +1 -0
  40. package/dist/src/dom/renderer.d.ts.map +1 -1
  41. package/dist/src/dom/renderer.js +1 -0
  42. package/dist/src/dom/renderer.js.map +1 -1
  43. package/dist/src/entities/address-url.d.ts +3 -2
  44. package/dist/src/entities/address-url.d.ts.map +1 -1
  45. package/dist/src/entities/address-url.js +7 -2
  46. package/dist/src/entities/address-url.js.map +1 -1
  47. package/dist/src/entities/annotations.d.ts.map +1 -1
  48. package/dist/src/entities/annotations.js +26 -20
  49. package/dist/src/entities/annotations.js.map +1 -1
  50. package/dist/src/entities/model.d.ts +6 -5
  51. package/dist/src/entities/model.d.ts.map +1 -1
  52. package/dist/src/entities/model.js +7 -5
  53. package/dist/src/entities/model.js.map +1 -1
  54. package/dist/src/entities/ms-graph-route.d.ts.map +1 -1
  55. package/dist/src/entities/ms-graph-route.js +8 -2
  56. package/dist/src/entities/ms-graph-route.js.map +1 -1
  57. package/dist/src/entities/namespace.js +3 -3
  58. package/dist/src/entities/namespace.js.map +1 -1
  59. package/dist/src/entities/operation.d.ts +1 -0
  60. package/dist/src/entities/operation.d.ts.map +1 -1
  61. package/dist/src/entities/operation.js +3 -2
  62. package/dist/src/entities/operation.js.map +1 -1
  63. package/dist/src/lib.d.ts +2 -0
  64. package/dist/src/lib.d.ts.map +1 -1
  65. package/dist/src/lib.js +1 -0
  66. package/dist/src/lib.js.map +1 -1
  67. package/dist/src/linter.d.ts.map +1 -1
  68. package/dist/src/linter.js +4 -2
  69. package/dist/src/linter.js.map +1 -1
  70. package/dist/src/rules/address-url.d.ts +1 -0
  71. package/dist/src/rules/address-url.d.ts.map +1 -1
  72. package/dist/src/rules/address-url.js +62 -0
  73. package/dist/src/rules/address-url.js.map +1 -1
  74. package/dist/src/rules/computed.d.ts +0 -2
  75. package/dist/src/rules/computed.d.ts.map +1 -1
  76. package/dist/src/rules/computed.js +5 -8
  77. package/dist/src/rules/computed.js.map +1 -1
  78. package/dist/src/rules/expand.d.ts.map +1 -1
  79. package/dist/src/rules/expand.js +3 -1
  80. package/dist/src/rules/expand.js.map +1 -1
  81. package/dist/src/rules/filter.d.ts.map +1 -1
  82. package/dist/src/rules/filter.js +15 -3
  83. package/dist/src/rules/filter.js.map +1 -1
  84. package/dist/src/rules/graph-route.d.ts.map +1 -1
  85. package/dist/src/rules/graph-route.js +19 -11
  86. package/dist/src/rules/graph-route.js.map +1 -1
  87. package/dist/src/rules/index.d.ts +2 -1
  88. package/dist/src/rules/index.d.ts.map +1 -1
  89. package/dist/src/rules/index.js +2 -1
  90. package/dist/src/rules/index.js.map +1 -1
  91. package/dist/src/rules/limited-charset.d.ts +3 -0
  92. package/dist/src/rules/limited-charset.d.ts.map +1 -0
  93. package/dist/src/rules/limited-charset.js +42 -0
  94. package/dist/src/rules/limited-charset.js.map +1 -0
  95. package/dist/src/rules/media.d.ts +10 -0
  96. package/dist/src/rules/media.d.ts.map +1 -0
  97. package/dist/src/rules/media.js +122 -0
  98. package/dist/src/rules/media.js.map +1 -0
  99. package/dist/src/rules/namespace.d.ts +1 -0
  100. package/dist/src/rules/namespace.d.ts.map +1 -1
  101. package/dist/src/rules/namespace.js +21 -0
  102. package/dist/src/rules/namespace.js.map +1 -1
  103. package/dist/src/rules/required-for-create.d.ts.map +1 -1
  104. package/dist/src/rules/required-for-create.js +3 -2
  105. package/dist/src/rules/required-for-create.js.map +1 -1
  106. package/dist/src/utils.d.ts +3 -0
  107. package/dist/src/utils.d.ts.map +1 -1
  108. package/dist/src/utils.js +81 -1
  109. package/dist/src/utils.js.map +1 -1
  110. package/dist/src/validate.d.ts.map +1 -1
  111. package/dist/src/validate.js +4 -1
  112. package/dist/src/validate.js.map +1 -1
  113. package/lib/bodies.tsp +71 -0
  114. package/lib/decorators.tsp +22 -12
  115. package/lib/msgraph.tsp +1 -0
  116. package/lib/porcelain.tsp +43 -18
  117. package/lib/responses.tsp +4 -52
  118. package/lib/shared-models.tsp +2 -2
  119. package/package.json +4 -4
  120. package/dist/src/decorators/has-stream.d.ts +0 -10
  121. package/dist/src/decorators/has-stream.d.ts.map +0 -1
  122. package/dist/src/decorators/has-stream.js +0 -17
  123. package/dist/src/decorators/has-stream.js.map +0 -1
  124. package/dist/src/rules/has-stream.d.ts +0 -3
  125. package/dist/src/rules/has-stream.d.ts.map +0 -1
  126. package/dist/src/rules/has-stream.js +0 -30
  127. package/dist/src/rules/has-stream.js.map +0 -1
@@ -3,6 +3,7 @@ import { getPublicNamespaceName, hasPublicNamespace } from "../index.js";
3
3
  import { getNamespaceFullName, navigateTypesInNamespace } from "@typespec/compiler";
4
4
  import { getIdForType, isExcludedCoreType, isTypeDefinedInExternalLibrary } from "../utils.js";
5
5
  import { GetDeclaredNamespaces, expandNamespaces } from "../entities/namespace.js";
6
+ import { getWorkloadNamespaceName, hasWorkloadNamespace } from "../decorators/workload-namespace.js";
6
7
  export function validateNamespaceIsRequired(program) {
7
8
  for (const namespace of GetDeclaredNamespaces(program)) {
8
9
  navigateTypesInNamespace(namespace, {
@@ -80,6 +81,26 @@ export function validateTopLevelNamespaceMustHavePublicNamespace(program) {
80
81
  }
81
82
  }
82
83
  ;
84
+ export function validateWorkloadNamespaceName(program) {
85
+ for (const namespace of GetDeclaredNamespaces(program)) {
86
+ if (!hasWorkloadNamespace(program, namespace)) {
87
+ return;
88
+ }
89
+ const workloadNamespaceName = getWorkloadNamespaceName(program, namespace);
90
+ if (!isValidPublicNamespaceName(workloadNamespaceName)) {
91
+ return;
92
+ }
93
+ reportDiagnostic(program, {
94
+ code: "decorator-invalid-use",
95
+ target: namespace,
96
+ messageId: "invalidWorkloadNamespaceName",
97
+ format: {
98
+ namespace: getNamespaceFullName(namespace),
99
+ },
100
+ });
101
+ }
102
+ }
103
+ ;
83
104
  function isValidPublicNamespaceName(namespace) {
84
105
  // publicNamespace name should either be "microsoft.graph"
85
106
  // or match the pattern "microsoft.graph.<string_token>"
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/rules/namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/rules/namespace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"required-for-create.d.ts","sourceRoot":"","sources":["../../../src/rules/required-for-create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,OAAO,EAA4B,MAAM,oBAAoB,CAAC;AAI9E,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,OAAO,QAqCjE"}
1
+ {"version":3,"file":"required-for-create.d.ts","sourceRoot":"","sources":["../../../src/rules/required-for-create.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,OAAO,EAA4B,MAAM,oBAAoB,CAAC;AAI9E,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,OAAO,QAuCjE"}
@@ -1,4 +1,4 @@
1
- import { isComputed, isRequiredForCreate } from "../index.js";
1
+ import { isComputed, isContains, isReferences, isRequiredForCreate } from "../index.js";
2
2
  import { getIdForType, isTypeNullable } from "../utils.js";
3
3
  import { getOperationVerb } from "@typespec/http";
4
4
  import { navigateTypesInNamespace } from "@typespec/compiler";
@@ -18,6 +18,8 @@ export function validateRequiredRequestParameters(program) {
18
18
  [...model.properties].forEach(([_, property]) => {
19
19
  if (!(isRequiredForCreate(program, property) ||
20
20
  isTypeNullable(program, property.type) ||
21
+ isReferences(program, property) ||
22
+ isContains(program, property) ||
21
23
  isComputed(program, property) ||
22
24
  property.default)) {
23
25
  reportDiagnostic(program, {
@@ -37,5 +39,4 @@ export function validateRequiredRequestParameters(program) {
37
39
  });
38
40
  }
39
41
  }
40
- ;
41
42
  //# sourceMappingURL=required-for-create.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"required-for-create.js","sourceRoot":"","sources":["../../../src/rules/required-for-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAkB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,iCAAiC,CAAC,OAAgB;IAChE,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACtD,wBAAwB,CAAC,SAAS,EAAE;YAClC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;gBAC1B,MAAM,cAAc,GAAG,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC;qBAChD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;qBAClC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;gBAE1E,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBACnC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACzD,MAAM,KAAK,GAAU,IAAK,CAAC,IAAI,CAAC;wBAChC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE;4BAC9C,IACE,CAAC,CACC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC;gCACtC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;gCACtC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;gCAC7B,QAAQ,CAAC,OAAO,CACjB,EACD;gCACA,gBAAgB,CAAC,OAAO,EAAE;oCACxB,IAAI,EAAE,8BAA8B;oCACpC,MAAM,EAAE,QAAQ;oCAChB,SAAS,EAAE,2BAA2B;oCACtC,MAAM,EAAE;wCACN,QAAQ,EAAE,QAAQ,CAAC,IAAI;wCACvB,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAM,CAAC;qCAC9C;iCACF,CAAC,CAAC;6BACJ;wBACH,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;KACJ;AACH,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"required-for-create.js","sourceRoot":"","sources":["../../../src/rules/required-for-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAkB,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,UAAU,iCAAiC,CAAC,OAAgB;IAChE,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACtD,wBAAwB,CAAC,SAAS,EAAE;YAClC,SAAS,EAAE,CAAC,YAAY,EAAE,EAAE;gBAC1B,MAAM,cAAc,GAAG,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC;qBAChD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;qBAClC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC;gBAE1E,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBACnC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACzD,MAAM,KAAK,GAAU,IAAK,CAAC,IAAI,CAAC;wBAChC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE;4BAC9C,IACE,CAAC,CACC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC;gCACtC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;gCACtC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;gCAC/B,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;gCAC7B,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;gCAC7B,QAAQ,CAAC,OAAO,CACjB,EACD;gCACA,gBAAgB,CAAC,OAAO,EAAE;oCACxB,IAAI,EAAE,8BAA8B;oCACpC,MAAM,EAAE,QAAQ;oCAChB,SAAS,EAAE,2BAA2B;oCACtC,MAAM,EAAE;wCACN,QAAQ,EAAE,QAAQ,CAAC,IAAI;wCACvB,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAM,CAAC;qCAC9C;iCACF,CAAC,CAAC;6BACJ;wBACH,CAAC,CAAC,CAAC;qBACJ;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;KACJ;AACH,CAAC"}
@@ -8,6 +8,8 @@ export interface MsGraphInterface {
8
8
  operations: MsGraphOperation[];
9
9
  path: string;
10
10
  }
11
+ export declare function hasSchemaNamespace(program: Program, namespace: Namespace): boolean;
12
+ export declare function getSchemaNamespaceName(program: Program, namespace: Namespace): string | undefined;
11
13
  export declare function getNameForType(program: Program, type: Type): string;
12
14
  export declare function getNameForModelType(program: Program, type: Model | Scalar): string;
13
15
  export declare function getCSDLPrimitiveType(typespecType: string): string;
@@ -68,4 +70,5 @@ export declare function isTypeDefinedInExternalLibrary(program: Program, type: T
68
70
  * @returns an array of all source interfaces
69
71
  */
70
72
  export declare function getSourceInterfaces(theInterface: Interface): Interface[];
73
+ export declare function getNestedPropertyNames(program: Program, models: Model[], nestedProperties?: string[], modelNames?: string[]): string[];
71
74
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/src/utils.js CHANGED
@@ -1,5 +1,16 @@
1
1
  import { getLocationContext, getNamespaceFullName, isArrayModelType, } from "@typespec/compiler";
2
- import { getEntity, getGraphRoutePaths, getPublicNamespaceName, hasPublicNamespace, isEntity } from "./decorators/index.js";
2
+ import { getEntity, getGraphRoutePaths, getPublicNamespaceName, getWorkloadNamespaceName, hasPublicNamespace, hasWorkloadNamespace, isContains, isEntity, isReferences } from "./decorators/index.js";
3
+ // schema namespace is workloadNamespace if its defined or publicNamespace if its defined
4
+ export function hasSchemaNamespace(program, namespace) {
5
+ return hasWorkloadNamespace(program, namespace) || hasPublicNamespace(program, namespace);
6
+ }
7
+ // schema namespace is workloadNamespace if its defined, publicNamespace if its defined or the defined namespace name
8
+ export function getSchemaNamespaceName(program, namespace) {
9
+ if (hasWorkloadNamespace(program, namespace)) {
10
+ return getWorkloadNamespaceName(program, namespace);
11
+ }
12
+ return getPublicNamespaceName(program, namespace);
13
+ }
3
14
  export function getNameForType(program, type) {
4
15
  switch (type.kind) {
5
16
  case "Union":
@@ -415,4 +426,73 @@ export function isTypeDefinedInExternalLibrary(program, type) {
415
426
  export function getSourceInterfaces(theInterface) {
416
427
  return [...theInterface.sourceInterfaces, ...[...theInterface.sourceInterfaces.values()].flatMap(getSourceInterfaces)];
417
428
  }
429
+ export function getNestedPropertyNames(program, models, nestedProperties = [], modelNames = []) {
430
+ for (const model of models) {
431
+ const modelProperties = model.properties;
432
+ modelNames.push(model.name);
433
+ if (modelProperties.size === 0) {
434
+ return nestedProperties;
435
+ }
436
+ const firstPrefix = nestedProperties[nestedProperties.length - 1] ? nestedProperties[nestedProperties.length - 1] + '/' + model.name : model.name;
437
+ nestedProperties.push(firstPrefix);
438
+ const mostRecentItem = nestedProperties[nestedProperties.length - 1];
439
+ if (mostRecentItem && hasRepeatedItem(mostRecentItem)) {
440
+ // If a repeated item is found, terminate further recursion
441
+ nestedProperties.pop();
442
+ return nestedProperties;
443
+ }
444
+ modelProperties.forEach((property, name) => {
445
+ handleProperty(program, property, nestedProperties, modelNames, firstPrefix, name);
446
+ });
447
+ }
448
+ return nestedProperties.map(property => property.trim());
449
+ }
450
+ function handleProperty(program, property, nestedProperties, modelNames, firstPrefix, name) {
451
+ let type = property.type;
452
+ if (type.kind === "Union") {
453
+ const nonNullUnionTypes = extractTypesFromUnion(type).filter((t) => !isNullType(t));
454
+ type = nonNullUnionTypes[0];
455
+ }
456
+ if (isContains(program, property) || isReferences(program, property)) {
457
+ return;
458
+ }
459
+ if (type.kind === "Model") {
460
+ if (type.name === "Array" && type.indexer.value.kind !== "Model") {
461
+ return;
462
+ }
463
+ if (type.name === "Array") {
464
+ type = type.indexer.value;
465
+ }
466
+ if (!modelNames.includes(type.name)) {
467
+ getNestedPropertyNames(program, [type], nestedProperties);
468
+ }
469
+ }
470
+ nestedProperties.push(`${firstPrefix}/${name}`);
471
+ }
472
+ /**
473
+ * This function checks if a path is repeating.
474
+ * For example, if we have a tsp with this structure:
475
+ * @complex model inner {
476
+ innerName: string;
477
+ otherInnerName: string;
478
+ circularReferenceProp: outer;
479
+ }
480
+
481
+ @complex model outer {
482
+ inner: inner | null;
483
+ }
484
+
485
+ If our root (interface navigation type) is outer, some of the possible paths would be
486
+ - outer/inner/innerName
487
+ - outer/inner/otherInnerName
488
+ For circularReferenceProp property, we run the risk of having a path like the one below which would cause an infinite loop:
489
+ - outer/inner/circularReferenceProp/inner/circularReferenceProp
490
+ * @param slashSeparatedString
491
+ * @returns
492
+ */
493
+ function hasRepeatedItem(slashSeparatedString) {
494
+ const items = slashSeparatedString.split('/');
495
+ const uniqueItems = new Set(items);
496
+ return items.length !== uniqueItems.size;
497
+ }
418
498
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QA6D3C"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAgE3C"}
@@ -3,9 +3,11 @@ export function $onValidate(program) {
3
3
  theRules.validateNamespaceIsRequired(program);
4
4
  theRules.validatePublicNamespaceName(program);
5
5
  theRules.validateTopLevelNamespaceMustHavePublicNamespace(program);
6
+ theRules.validateWorkloadNamespaceName(program);
6
7
  theRules.validateAbstractOnlyAppliesToStructuredTypes(program);
7
8
  theRules.validateAddressUrlOnlyAppliesToRoutedInterfacesOrActionOperations(program);
8
9
  theRules.validateAddressUrlMsaOnlyAppliesToRoutedInterfacesOrActionOperations(program);
10
+ theRules.validatePassthroughAddressUrlDecoratorIsUsedTogetherWithAddressUrlDecorator(program);
9
11
  theRules.validatePassthroughAddressUrlOnlyAppliesToRoutedInterfacesOrActionOperations(program);
10
12
  theRules.validatePassthroughAddressUrlMsaOnlyAppliesToRoutedInterfacesOrActionOperations(program);
11
13
  theRules.validateAllowedValuesCannotBeEmpty(program);
@@ -28,7 +30,8 @@ export function $onValidate(program) {
28
30
  theRules.validateFilterOnlyAppliesToModelProperties(program);
29
31
  theRules.validateFilterPropertiesMustNotBeEmpty(program);
30
32
  theRules.validateGraphRouteInterfaceExtendsGraphStandardInterface(program);
31
- theRules.validateHasStreamOnlyOnEntity(program);
33
+ theRules.validateIsMediaOnlyOnEntity(program);
34
+ theRules.validatedLimitedCharsetOnlyAppliesToStringPropertiesOrParameters(program);
32
35
  theRules.validateOpenOnlyAppliesToStructuredType(program);
33
36
  theRules.validateOperationInsideInterface(program);
34
37
  theRules.validateOrderByAppliesToGetOperationsThatReturnCollections(program);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
package/lib/bodies.tsp ADDED
@@ -0,0 +1,71 @@
1
+ // -------------------------------------------------
2
+ // bodies.tsp
3
+ // Standard bodies for requests or responses.
4
+ // -------------------------------------------------
5
+ import "@typespec/http";
6
+ import "@microsoft/typespec-msgraph";
7
+ import "./shared-models.tsp";
8
+
9
+ using TypeSpec.Http;
10
+ using MsGraph;
11
+ using MsGraph.SharedModels;
12
+
13
+ // Raw body models represent the content of the response body, without any additional metadata.
14
+ // Note that these are primarily marker types. CSDL has no notion of what actual body content is returned in such types,
15
+ // but by passing markers through, HIDI can translate to OpenAPI.
16
+ // The content of the types exists for other future emitters that run directly off TypeSpec.
17
+ namespace MsGraph.Bodies {
18
+
19
+ /** Complex type to represent a nested error that potentially has other recursive nested errors. */
20
+ @error
21
+ model InnerError {
22
+ code: string;
23
+ innererror: InnerError | null; // Small e for error NOT a typo.
24
+ }
25
+
26
+ /** Complex type to represent a standard Microsoft Graph error. */
27
+ @error
28
+ model GraphError {
29
+ code: string;
30
+ message: string;
31
+ localizedMessage: string;
32
+ target: string | null;
33
+ innererror: InnerError | null; // Small e for error NOT a typo.
34
+ details: GraphError[];
35
+ }
36
+
37
+ @error
38
+ model ErrorBody {
39
+ error: GraphError;
40
+ }
41
+
42
+
43
+ model CollectionBody<TResource> {
44
+ value: TResource[];
45
+ `@odata.count`?: int64;
46
+ }
47
+
48
+ @pagedCollection
49
+ model PagedCollectionBody<TResource> is CollectionBody<TResource> {
50
+ `@odata.nextLink`?: MsGraph.SharedModels.graphUrl;
51
+ }
52
+
53
+ @pagedCollection
54
+ @deltaCollection
55
+ model DeltaCollectionBody<TResource> is PagedCollectionBody<TResource> {
56
+ `@odata.deltaLink`?: MsGraph.SharedModels.graphUrl;
57
+ }
58
+
59
+ /** A body representing any image type. */
60
+ model ImageBody {
61
+ @header contentType: "image/*";
62
+ @body _:bytes;
63
+ }
64
+
65
+ /** Binary body of one or more (unioned string) content types */
66
+ model BinaryBody<TContentType> {
67
+ @header contentType: TContentType;
68
+ @body _:bytes;
69
+ }
70
+
71
+ }
@@ -225,18 +225,25 @@ extern dec graphRoute(
225
225
  );
226
226
 
227
227
  /**
228
- * `@hasStream` - indicates that an `@entity` model has a stream.
228
+ * `@immutable` - mark a model property as immutable.
229
229
  *
230
- * `mediaTypes` - list of media types supported by the stream. If not specified, the stream supports any media type.
230
+ * `@immutable` can only be applied to model properties.
231
231
  */
232
- extern dec hasStream(target: Model, ...mediaTypes: valueof string[]);
232
+ extern dec immutable(target: ModelProperty);
233
233
 
234
234
  /**
235
- * `@immutable` - mark a model property as immutable.
235
+ * `@limitedCharset` - indicates that the full unicode character set is not supported by the underlying back-end service that implements the API.
236
236
  *
237
- * `@immutable` can only be applied to model properties.
237
+ * `@limitedCharset` can only be applied to string models properties, string parameters or their collections.
238
238
  */
239
- extern dec immutable(target: ModelProperty);
239
+ extern dec limitedCharset(target: ModelProperty);
240
+
241
+ /**
242
+ * `@media` - indicates that an `@entity` model is a media entity.
243
+ *
244
+ * `mediaTypes` - list of media types supported by the entity. If not specified, the entity supports any media type.
245
+ */
246
+ extern dec media(target: Model, ...mediaTypes: valueof string[]);
240
247
 
241
248
  /**
242
249
  * `@ownerless` - mark an interface as ownerless.
@@ -296,9 +303,7 @@ extern dec partial(target: Model, value: Model);
296
303
  */
297
304
  extern dec passthroughAddressUrl(
298
305
  target: Interface | Operation,
299
- url: valueof string,
300
- omitRootNavigationSegment?: valueof boolean,
301
- appendSegmentNameToAddress?: valueof boolean
306
+ url: valueof string
302
307
  );
303
308
 
304
309
  /**
@@ -309,9 +314,7 @@ extern dec passthroughAddressUrl(
309
314
  */
310
315
  extern dec passthroughAddressUrlMsa(
311
316
  target: Interface | Operation,
312
- url: valueof string,
313
- omitRootNavigationSegment?: valueof boolean,
314
- appendSegmentNameToAddress?: valueof boolean
317
+ url: valueof string
315
318
  );
316
319
 
317
320
  /**
@@ -415,6 +418,13 @@ extern dec term(
415
418
  */
416
419
  extern dec top(target: Operation);
417
420
 
421
+ /**
422
+ * `@workloadNamespace` - overrideds the namespace to be used in generating CSDL output for all elements contained within the namespace
423
+ *
424
+ * `@workloadNamespace` can only be applied to namespaces.
425
+ */
426
+ extern dec workloadNamespace(target: Namespace, name: valueof string);
427
+
418
428
  /**
419
429
  * `@writeOnly` - mark a model property as writeOnly property
420
430
  *
package/lib/msgraph.tsp CHANGED
@@ -1,6 +1,7 @@
1
1
  import "./lib.tsp";
2
2
  import "./shared-models.tsp";
3
3
  // TODO: import "./deployment.tsp";
4
+ import "./bodies.tsp";
4
5
  import "./responses.tsp";
5
6
  import "./decorators.tsp";
6
7
  import "./porcelain.tsp";
package/lib/porcelain.tsp CHANGED
@@ -23,14 +23,14 @@ namespace MsGraph;
23
23
  ): TResponse | TErrorResponse;
24
24
 
25
25
  op ResourceOperation<
26
- TResource extends {},
26
+ TResource,
27
27
  TParams,
28
28
  TResponse,
29
29
  TErrorResponse = ResourceErrorResponse
30
30
  > is GraphFoundations.Operation<TParams, TResponse, TErrorResponse>;
31
31
 
32
32
  op CollectionOperation<
33
- TResource extends {},
33
+ TResource,
34
34
  TParams,
35
35
  TResponse,
36
36
  TErrorResponse = CollectionErrorResponse
@@ -42,7 +42,7 @@ namespace MsGraph;
42
42
  interface GraphOps {
43
43
 
44
44
  @get op GetCollection<
45
- TResource extends {} = Automatic.CalculatedResourceType,
45
+ TResource = Automatic.CalculatedResourceType,
46
46
  TParams = {... Automatic.GraphRouteParams},
47
47
  TResponse = CollectionResponse<TResource>,
48
48
  TErrorResponse = CollectionErrorResponse
@@ -50,7 +50,7 @@ namespace MsGraph;
50
50
  TResource, TParams, TResponse, TErrorResponse>;
51
51
 
52
52
  @get op GetPagedCollection<
53
- TResource extends {} = Automatic.CalculatedResourceType,
53
+ TResource = Automatic.CalculatedResourceType,
54
54
  TParams = {... Automatic.GraphRouteParams},
55
55
  TResponse = PagedCollectionResponse<TResource>,
56
56
  TErrorResponse = CollectionErrorResponse
@@ -60,23 +60,39 @@ namespace MsGraph;
60
60
  // TODO: GetDelta? FUnction etc.?
61
61
 
62
62
  @post op Post<
63
- TResource extends {} = Automatic.CalculatedResourceType,
63
+ TResource = Automatic.CalculatedResourceType,
64
64
  TParams = { ... Automatic.GraphRouteParams, @body body: TResource },
65
65
  TResponse = ResourceCreatedResponse<TResource>,
66
66
  TErrorResponse = CollectionErrorResponse
67
67
  > is Foundations.GraphFoundations.CollectionOperation<
68
68
  TResource, TParams, TResponse, TErrorResponse>;
69
69
 
70
+ @post op PostMediaValue<
71
+ TResource,
72
+ TParams = { ... Automatic.GraphRouteParams, ...TResource },
73
+ TResponse = ResourceCreatedResponse<TResource>,
74
+ TErrorResponse = CollectionErrorResponse
75
+ > is Foundations.GraphFoundations.CollectionOperation<
76
+ TResource, TParams, TResponse, TErrorResponse>;
77
+
70
78
  @get op GetResource<
71
- TResource extends {} = Automatic.CalculatedResourceType,
79
+ TResource = Automatic.CalculatedResourceType,
72
80
  TParams = {... Automatic.GraphRouteParams},
73
81
  TResponse = ResourceResponse<TResource>,
74
82
  TErrorResponse = ResourceErrorResponse
75
83
  > is Foundations.GraphFoundations.ResourceOperation<
76
84
  TResource, TParams, TResponse, TErrorResponse>;
77
85
 
86
+ @get op GetMediaValue<
87
+ TResource,
88
+ TParams = {... Automatic.GraphRouteParams, @path value:"$value"},
89
+ TResponse = ResourceResponse<TResource>,
90
+ TErrorResponse = ResourceErrorResponse
91
+ > is Foundations.GraphFoundations.ResourceOperation<
92
+ TResource, TParams, TResponse, TErrorResponse>;
93
+
78
94
  @delete op Delete<
79
- TResource extends {} = Automatic.CalculatedResourceType,
95
+ TResource = Automatic.CalculatedResourceType,
80
96
  TParams = {... Automatic.GraphRouteParams},
81
97
  TResponse = EmptyResponse,
82
98
  TErrorResponse = ResourceErrorResponse
@@ -84,41 +100,50 @@ namespace MsGraph;
84
100
  TResource, TParams, TResponse, TErrorResponse>;
85
101
 
86
102
  @patch op PatchNoResponse<
87
- TResource extends {} = Automatic.CalculatedResourceType,
88
- TParams = {... Automatic.GraphRouteParams},
103
+ TResource = Automatic.CalculatedResourceType,
104
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
89
105
  TResponse = EmptyResponse,
90
106
  TErrorResponse = ResourceErrorResponse
91
107
  > is Foundations.GraphFoundations.ResourceOperation<
92
108
  TResource, TParams, TResponse, TErrorResponse>;
93
109
 
94
110
  @patch op PatchWithResponse<
95
- TResource extends {} = Automatic.CalculatedResourceType,
96
- TParams = {... Automatic.GraphRouteParams},
111
+ TResource = Automatic.CalculatedResourceType,
112
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
97
113
  TResponse = ResourceResponse<TResource>,
98
114
  TErrorResponse = ResourceErrorResponse
99
115
  > is Foundations.GraphFoundations.ResourceOperation<
100
116
  TResource, TParams, TResponse, TErrorResponse>;
101
117
 
102
118
  @put op PutNoResponse<
103
- TResource extends {} = Automatic.CalculatedResourceType,
104
- TParams = {... Automatic.GraphRouteParams},
119
+ TResource = Automatic.CalculatedResourceType,
120
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
105
121
  TResponse = EmptyResponse,
106
122
  TErrorResponse = ResourceErrorResponse
107
123
  > is Foundations.GraphFoundations.ResourceOperation<
108
124
  TResource, TParams, TResponse, TErrorResponse>;
109
125
 
110
126
  @put op PutWithResponse<
111
- TResource extends {} = Automatic.CalculatedResourceType,
112
- TParams = {... Automatic.GraphRouteParams},
127
+ TResource = Automatic.CalculatedResourceType,
128
+ TParams = {... Automatic.GraphRouteParams, @body body: TResource},
113
129
  TResponse = ResourceResponse<TResource>,
114
130
  TErrorResponse = ResourceErrorResponse
115
131
  > is Foundations.GraphFoundations.ResourceOperation<
116
132
  TResource, TParams, TResponse, TErrorResponse>;
117
133
 
134
+ @put op PutMediaValueNoResponse<
135
+ TResource,
136
+ TParams = {... Automatic.GraphRouteParams, @path value:"$value", ...TResource},
137
+ TResponse = EmptyResponse,
138
+ TErrorResponse = ResourceErrorResponse
139
+ > is Foundations.GraphFoundations.ResourceOperation<
140
+ TResource, TParams, TResponse, TErrorResponse>;
141
+
142
+
118
143
  @action op Action<
119
144
  TReturnType = void,
120
145
  TActionParams extends {} = {},
121
- TResource extends {} = Automatic.CalculatedResourceType,
146
+ TResource = Automatic.CalculatedResourceType,
122
147
  TParams = {... Automatic.GraphRouteParams, ... TActionParams},
123
148
  TResponse = TReturnType,
124
149
  TErrorResponse = MsGraph.Responses.OperationErrorResponse
@@ -127,7 +152,7 @@ namespace MsGraph;
127
152
  @function op Function<
128
153
  TReturnType,
129
154
  TFunctionParams extends {} = {},
130
- TResource extends {} = Automatic.CalculatedResourceType,
155
+ TResource = Automatic.CalculatedResourceType,
131
156
  TParams = {... Automatic.GraphRouteParams, ... TFunctionParams},
132
157
  TResponse = TReturnType,
133
158
  TErrorResponse = MsGraph.Responses.OperationErrorResponse
@@ -137,7 +162,7 @@ namespace MsGraph;
137
162
 
138
163
  namespace Automatic {
139
164
  @doc("Marker type to allow injection of parameters from @route decorator.")
140
- model GraphRouteParams { graphRouteParams: string }
165
+ model GraphRouteParams { @path graphRouteParams: string }
141
166
 
142
167
  // TODO: Needs direct support in the graphRoute decorator code to be able to make use of this.
143
168
  @doc("Marker type to indicate to emitter that it should calculate resource from the Resource type of the containing interface's extended interface.")