@microsoft/typespec-msgraph 0.0.1-Preview.24 → 0.0.1-Preview.26

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 (117) hide show
  1. package/dist/src/components/annotations.d.ts +3 -3
  2. package/dist/src/components/annotations.d.ts.map +1 -1
  3. package/dist/src/components/annotations.js +24 -2
  4. package/dist/src/components/annotations.js.map +1 -1
  5. package/dist/src/components/common-elements.d.ts +6 -6
  6. package/dist/src/components/common-elements.d.ts.map +1 -1
  7. package/dist/src/components/open-property-type-constraint-annotation-element.js.map +1 -1
  8. package/dist/src/components/operation-element.d.ts.map +1 -1
  9. package/dist/src/components/operation-element.js +2 -0
  10. package/dist/src/components/operation-element.js.map +1 -1
  11. package/dist/src/components/structured-type-element.js +1 -1
  12. package/dist/src/components/structured-type-element.js.map +1 -1
  13. package/dist/src/decorators/ags-attribute.d.ts.map +1 -1
  14. package/dist/src/decorators/ags-attribute.js +13 -5
  15. package/dist/src/decorators/ags-attribute.js.map +1 -1
  16. package/dist/src/decorators/entity.d.ts +1 -0
  17. package/dist/src/decorators/entity.d.ts.map +1 -1
  18. package/dist/src/decorators/entity.js +5 -1
  19. package/dist/src/decorators/entity.js.map +1 -1
  20. package/dist/src/decorators/index.d.ts +1 -0
  21. package/dist/src/decorators/index.d.ts.map +1 -1
  22. package/dist/src/decorators/index.js +1 -0
  23. package/dist/src/decorators/index.js.map +1 -1
  24. package/dist/src/decorators/shared-entity.d.ts +9 -0
  25. package/dist/src/decorators/shared-entity.d.ts.map +1 -0
  26. package/dist/src/decorators/shared-entity.js +15 -0
  27. package/dist/src/decorators/shared-entity.js.map +1 -0
  28. package/dist/src/dom/renderer.d.ts.map +1 -1
  29. package/dist/src/emitter.js +2 -1
  30. package/dist/src/emitter.js.map +1 -1
  31. package/dist/src/entities/annotations.d.ts +7 -2
  32. package/dist/src/entities/annotations.d.ts.map +1 -1
  33. package/dist/src/entities/annotations.js +69 -55
  34. package/dist/src/entities/annotations.js.map +1 -1
  35. package/dist/src/entities/entity-container.d.ts.map +1 -1
  36. package/dist/src/entities/entity-container.js +15 -3
  37. package/dist/src/entities/entity-container.js.map +1 -1
  38. package/dist/src/entities/model.d.ts.map +1 -1
  39. package/dist/src/entities/model.js +94 -44
  40. package/dist/src/entities/model.js.map +1 -1
  41. package/dist/src/entities/namespace.d.ts +3 -3
  42. package/dist/src/entities/namespace.d.ts.map +1 -1
  43. package/dist/src/entities/namespace.js +6 -6
  44. package/dist/src/entities/namespace.js.map +1 -1
  45. package/dist/src/entities/operation.d.ts +2 -0
  46. package/dist/src/entities/operation.d.ts.map +1 -1
  47. package/dist/src/entities/operation.js +29 -5
  48. package/dist/src/entities/operation.js.map +1 -1
  49. package/dist/src/lib.d.ts +96 -74
  50. package/dist/src/lib.d.ts.map +1 -1
  51. package/dist/src/lib.js +16 -5
  52. package/dist/src/lib.js.map +1 -1
  53. package/dist/src/linter.d.ts.map +1 -1
  54. package/dist/src/linter.js +2 -3
  55. package/dist/src/linter.js.map +1 -1
  56. package/dist/src/path-tree.d.ts +16 -0
  57. package/dist/src/path-tree.d.ts.map +1 -0
  58. package/dist/src/path-tree.js +76 -0
  59. package/dist/src/path-tree.js.map +1 -0
  60. package/dist/src/rules/address-url.d.ts.map +1 -1
  61. package/dist/src/rules/address-url.js +8 -6
  62. package/dist/src/rules/address-url.js.map +1 -1
  63. package/dist/src/rules/delta.d.ts.map +1 -1
  64. package/dist/src/rules/delta.js +7 -2
  65. package/dist/src/rules/delta.js.map +1 -1
  66. package/dist/src/rules/entity.d.ts.map +1 -1
  67. package/dist/src/rules/entity.js +9 -10
  68. package/dist/src/rules/entity.js.map +1 -1
  69. package/dist/src/rules/enum.d.ts +1 -1
  70. package/dist/src/rules/global-operation.d.ts.map +1 -1
  71. package/dist/src/rules/global-operation.js +3 -3
  72. package/dist/src/rules/global-operation.js.map +1 -1
  73. package/dist/src/rules/graph-route.d.ts +2 -0
  74. package/dist/src/rules/graph-route.d.ts.map +1 -1
  75. package/dist/src/rules/graph-route.js +138 -39
  76. package/dist/src/rules/graph-route.js.map +1 -1
  77. package/dist/src/rules/index.d.ts +9 -9
  78. package/dist/src/rules/index.d.ts.map +1 -1
  79. package/dist/src/rules/index.js +9 -9
  80. package/dist/src/rules/index.js.map +1 -1
  81. package/dist/src/rules/media.d.ts +3 -3
  82. package/dist/src/rules/model.d.ts +2 -2
  83. package/dist/src/rules/model.d.ts.map +1 -1
  84. package/dist/src/rules/model.js +2 -2
  85. package/dist/src/rules/model.js.map +1 -1
  86. package/dist/src/rules/operation-inside-interface.d.ts +1 -1
  87. package/dist/src/rules/operation-inside-interface.d.ts.map +1 -1
  88. package/dist/src/rules/operation-inside-interface.js +3 -3
  89. package/dist/src/rules/operation-inside-interface.js.map +1 -1
  90. package/dist/src/rules/ownerless.d.ts.map +1 -1
  91. package/dist/src/rules/ownerless.js +5 -3
  92. package/dist/src/rules/ownerless.js.map +1 -1
  93. package/dist/src/rules/partial.d.ts +2 -0
  94. package/dist/src/rules/partial.d.ts.map +1 -1
  95. package/dist/src/rules/partial.js +40 -8
  96. package/dist/src/rules/partial.js.map +1 -1
  97. package/dist/src/rules/record-t.d.ts.map +1 -1
  98. package/dist/src/rules/record-t.js +12 -8
  99. package/dist/src/rules/record-t.js.map +1 -1
  100. package/dist/src/rules/reference-target.d.ts +1 -3
  101. package/dist/src/rules/reference-target.d.ts.map +1 -1
  102. package/dist/src/rules/reference-target.js +14 -19
  103. package/dist/src/rules/reference-target.js.map +1 -1
  104. package/dist/src/rules/shared-entity.d.ts +8 -0
  105. package/dist/src/rules/shared-entity.d.ts.map +1 -0
  106. package/dist/src/rules/shared-entity.js +176 -0
  107. package/dist/src/rules/shared-entity.js.map +1 -0
  108. package/dist/src/utils.d.ts +11 -0
  109. package/dist/src/utils.d.ts.map +1 -1
  110. package/dist/src/utils.js +87 -10
  111. package/dist/src/utils.js.map +1 -1
  112. package/dist/src/validate.d.ts.map +1 -1
  113. package/dist/src/validate.js +11 -0
  114. package/dist/src/validate.js.map +1 -1
  115. package/lib/decorators.tsp +30 -23
  116. package/lib/shared-models.tsp +1 -1
  117. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
1
  import { navigateTypesInNamespace } from "@typespec/compiler";
2
- import { getPartialReferenceModel, isComplex, isPartial } from "../index.js";
2
+ import { getPartialReferenceModel, isAbstract, isComplex, isOpen, isPartial } from "../index.js";
3
3
  import { reportDiagnostic } from "../lib.js";
4
4
  import { GetDeclaredNamespaces } from "../entities/namespace.js";
5
5
  /**
@@ -13,19 +13,13 @@ export function validateExtendedModelBaseShouldMatchPartialBaseModel(program) {
13
13
  if (!isPartial(program, model)) {
14
14
  return;
15
15
  }
16
- if (!(model === null || model === void 0 ? void 0 : model.baseModel)) {
17
- return;
18
- }
19
16
  const partialReference = getPartialReferenceModel(program, model);
20
17
  if (((_a = partialReference === null || partialReference === void 0 ? void 0 : partialReference.baseModel) === null || _a === void 0 ? void 0 : _a.name) !== ((_b = model === null || model === void 0 ? void 0 : model.baseModel) === null || _b === void 0 ? void 0 : _b.name)) {
21
18
  reportDiagnostic(program, {
22
19
  code: "decorator-invalid-use",
23
20
  target: model,
24
21
  messageId: "partial",
25
- format: {
26
- decorator: "@partial",
27
- target: "model",
28
- },
22
+ format: {},
29
23
  });
30
24
  }
31
25
  },
@@ -49,4 +43,42 @@ export function validateComplexTypeShouldNotBeDecoratedWithPartial(program) {
49
43
  });
50
44
  }
51
45
  }
46
+ export function validateOpenDecoratorShouldNotBeUsedWithPartial(program) {
47
+ for (const namespace of GetDeclaredNamespaces(program)) {
48
+ navigateTypesInNamespace(namespace, {
49
+ model: (model) => {
50
+ if (isOpen(program, model) && isPartial(program, model)) {
51
+ reportDiagnostic(program, {
52
+ code: "decorator-invalid-use",
53
+ target: model,
54
+ messageId: "openDecoratorCannotBeUsedWithPartial",
55
+ format: {},
56
+ });
57
+ }
58
+ }
59
+ });
60
+ }
61
+ }
62
+ export function validatePartialTypeDefinitionMatchesDeclaringSignature(program) {
63
+ for (const namespace of GetDeclaredNamespaces(program)) {
64
+ navigateTypesInNamespace(namespace, {
65
+ model: (model) => {
66
+ if (isPartial(program, model)) {
67
+ const partialReference = getPartialReferenceModel(program, model);
68
+ if (isAbstract(program, partialReference) !== isAbstract(program, model)) {
69
+ reportDiagnostic(program, {
70
+ code: "decorator-invalid-use",
71
+ target: model,
72
+ messageId: "partialDeclaringSignatureMustMatchReference",
73
+ format: {
74
+ decorator: "@abstract",
75
+ target: model.name,
76
+ }
77
+ });
78
+ }
79
+ }
80
+ }
81
+ });
82
+ }
83
+ }
52
84
  //# sourceMappingURL=partial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"partial.js","sourceRoot":"","sources":["../../../src/rules/partial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE;;GAEG;AAEH,MAAM,UAAU,oDAAoD,CAAC,OAAgB;IACnF,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,wBAAwB,CAAC,SAAS,EAAE;YAClC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBACD,IAAG,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAA,EAAC,CAAC;oBACpB,OAAO;gBACT,CAAC;gBACD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAClE,IAAG,CAAA,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,0CAAE,IAAI,OAAK,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,0CAAE,IAAI,CAAA,EAAC,CAAC;oBAC/D,gBAAgB,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE;4BACN,SAAS,EAAE,UAAU;4BACrB,MAAM,EAAE,OAAO;yBAChB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAAA,CAAC;AAEF,MAAM,UAAU,kDAAkD,CAAC,OAAgB;IACjF,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAC,CAAC;QACtD,wBAAwB,CAAC,SAAS,EAAE;YAClC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAC,CAAC;oBACzD,gBAAgB,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE,qCAAqC;wBAChD,MAAM,EAAE,EAAE;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"partial.js","sourceRoot":"","sources":["../../../src/rules/partial.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"record-t.d.ts","sourceRoot":"","sources":["../../../src/rules/record-t.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAA0E,MAAM,oBAAoB,CAAC;AAM5H,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,OAAO,QAyBnE;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,QA4B9D;AAED,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,OAAO,QAiBpE;AAED,eAAO,MAAM,gCAAgC;;EAsB3C,CAAA;AAEF,eAAO,MAAM,wCAAwC;;EAsBnD,CAAA"}
1
+ {"version":3,"file":"record-t.d.ts","sourceRoot":"","sources":["../../../src/rules/record-t.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,OAAO,EAAsD,MAAM,oBAAoB,CAAC;AAMvH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,OAAO,QAyBnE;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,QA4B9D;AAED,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,OAAO,QAsBpE;AAED,eAAO,MAAM,gCAAgC;;EAsB3C,CAAA;AAEF,eAAO,MAAM,wCAAwC;;EAsBnD,CAAA"}
@@ -1,14 +1,14 @@
1
- import { createRule, getLocationContext, navigateTypesInNamespace, paramMessage } from "@typespec/compiler";
1
+ import { createRule, navigateTypesInNamespace, paramMessage } from "@typespec/compiler";
2
2
  import { reportDiagnostic } from "../lib.js";
3
3
  import { GetDeclaredNamespaces } from "../entities/namespace.js";
4
- import { extractTypesFromUnion, isNullType } from "../utils.js";
4
+ import { extractTypesFromUnion, isExcludedCoreType, isNullType, isTypeDefinedInExternalLibrary } from "../utils.js";
5
5
  import { isComplex, isEntity } from "../index.js";
6
6
  export function validateRecordsCannotBePrepopulated(program) {
7
7
  for (const namespace of GetDeclaredNamespaces(program)) {
8
8
  navigateTypesInNamespace(namespace, {
9
9
  model: (model) => {
10
10
  var _a;
11
- if (getLocationContext(program, model).type === "library") {
11
+ if (isTypeDefinedInExternalLibrary(program, model)) {
12
12
  return;
13
13
  }
14
14
  if ((_a = model.indexer) === null || _a === void 0 ? void 0 : _a.value) {
@@ -33,7 +33,7 @@ export function validateRecordTypeCannotBeNull(program) {
33
33
  navigateTypesInNamespace(namespace, {
34
34
  model: (model) => {
35
35
  var _a;
36
- if (getLocationContext(program, model).type === "library") {
36
+ if (isTypeDefinedInExternalLibrary(program, model)) {
37
37
  return;
38
38
  }
39
39
  if ((_a = model.indexer) === null || _a === void 0 ? void 0 : _a.value) {
@@ -59,16 +59,20 @@ export function validateRecordTypeCannotBeNull(program) {
59
59
  }
60
60
  }
61
61
  export function validateRecordTypeCannotBeUsedInLine(program) {
62
- for (const namespace of GetDeclaredNamespaces(program)) {
62
+ const namespaces = GetDeclaredNamespaces(program);
63
+ for (const namespace of namespaces) {
63
64
  navigateTypesInNamespace(namespace, {
64
65
  modelProperty: (property) => {
66
+ if (isExcludedCoreType(program, property)) {
67
+ return;
68
+ }
65
69
  if (property.type.name === 'Record') {
66
70
  reportDiagnostic(program, {
67
71
  code: "type-invalid-use",
68
72
  target: property,
69
73
  messageId: "recordTypeCannotBeUsedInLine",
70
74
  format: {
71
- type: property.name
75
+ type: `${namespace.name}.${property.model.name}.${property.name}`
72
76
  }
73
77
  });
74
78
  }
@@ -86,7 +90,7 @@ export const useRecordTypeInsteadOfDictionary = createRule({
86
90
  create(context) {
87
91
  return {
88
92
  model: (model) => {
89
- if (getLocationContext(context.program, model).type === "library") {
93
+ if (isTypeDefinedInExternalLibrary(context.program, model)) {
90
94
  return;
91
95
  }
92
96
  if (isComplex(context.program, model) && model.name === "Dictionary") {
@@ -109,7 +113,7 @@ export const dictionaryTypeIsMostlyUsedWithRecordType = createRule({
109
113
  create(context) {
110
114
  return {
111
115
  model: (model) => {
112
- if (getLocationContext(context.program, model).type === "library") {
116
+ if (isTypeDefinedInExternalLibrary(context.program, model)) {
113
117
  return;
114
118
  }
115
119
  if (isEntity(context.program, model) && model.name === "Dictionary") {
@@ -1 +1 @@
1
- {"version":3,"file":"record-t.js","sourceRoot":"","sources":["../../../src/rules/record-t.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-t.js","sourceRoot":"","sources":["../../../src/rules/record-t.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,UAAU,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,UAAU,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AACpH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,mCAAmC,CAAC,OAAgB;IAClE,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,wBAAwB,CAAC,SAAS,EAAE;YAClC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACf,IAAI,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBACnD,OAAO;gBACT,CAAC;gBACD,IAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC;oBACvB,IAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAC,CAAC;wBAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAsB,CAAC;wBAC9E,gBAAgB,CAAC,OAAO,EAAE;4BACxB,IAAI,EAAE,kBAAkB;4BACxB,MAAM,EAAE,aAAa;4BACrB,SAAS,EAAE,gCAAgC;4BAC3C,MAAM,EAAE;gCACN,IAAI,EAAE,KAAK,CAAC,IAAI;6BACjB;yBAEF,CAAC,CAAA;oBACJ,CAAC;gBAEH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAAgB;IAC7D,KAAK,MAAM,SAAS,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,wBAAwB,CAAC,SAAS,EAAE;YAClC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;;gBACf,IAAI,8BAA8B,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBACnD,OAAO;gBACT,CAAC;gBACD,IAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,EAAC,CAAC;oBACvB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpC,IAAG,OAAO,CAAC,IAAI,KAAK,OAAO,EAAC,CAAC;wBAC3B,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBAClD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;4BACxB,IAAG,UAAU,CAAC,IAAI,CAAC,EAAC,CAAC;gCACnB,gBAAgB,CAAC,OAAO,EAAE;oCACxB,IAAI,EAAE,kBAAkB;oCACxB,MAAM,EAAE,OAAO;oCACf,SAAS,EAAE,wBAAwB;oCACnC,MAAM,EAAE;wCACN,IAAI,EAAE,KAAK,CAAC,IAAI;qCACjB;iCACF,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,OAAgB;IACnE,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAClD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,wBAAwB,CAAC,SAAS,EAAE;YAClC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC1B,IAAI,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC1C,OAAO;gBACT,CAAC;gBACD,IAAI,QAAQ,CAAC,IAAc,CAAC,IAAI,KAAK,QAAQ,EAAC,CAAC;oBAC7C,gBAAgB,CAAC,OAAO,EAAE;wBACxB,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE,QAAQ;wBAChB,SAAS,EAAE,8BAA8B;wBACzC,MAAM,EAAE;4BACN,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;yBACnE;qBACF,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;SACA,CACF,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAU,CAAC;IACzD,IAAI,EAAE,uCAAuC;IAC7C,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,0EAA0E;IACvF,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,0EAA0E;KAChG;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,8BAA8B,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBACD,IAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAC,CAAC;oBACnE,OAAO,CAAC,gBAAgB,CAAC;wBACvB,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,EAAE;qBACX,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;SACF,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,wCAAwC,GAAG,UAAU,CAAC;IACjE,IAAI,EAAE,iDAAiD;IACvD,QAAQ,EAAE,SAAS;IACnB,WAAW,EAAE,6DAA6D;IAC1E,QAAQ,EAAE;QACR,OAAO,EAAE,YAAY,CAAA,+IAA+I;KACrK;IACD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,8BAA8B,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBACD,IAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAC,CAAC;oBAClE,OAAO,CAAC,gBAAgB,CAAC;wBACvB,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,EAAE;qBACX,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;SACF,CAAA;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -2,7 +2,5 @@ import { Program } from "@typespec/compiler";
2
2
  export declare function validateReferenceTargetInterfaceHasGraphRoutes(program: Program): void;
3
3
  export declare function validateReferenceTargetUsedOnlyOnceOnInterface(program: Program): void;
4
4
  export declare function validateTargetPathShouldNotHaveParameters(program: Program): void;
5
- export declare const singletonOrEntitySetHostingBindingsShouldExist: import("@typespec/compiler").LinterRuleDefinition<"singleton-or-entityset-hosting-bindings-should-exist", {
6
- readonly default: import("@typespec/compiler").CallableMessage<[string, string]>;
7
- }>;
5
+ export declare function validateSingletonOrEntitySetHostingBindingsShouldExist(program: Program): void;
8
6
  //# sourceMappingURL=reference-target.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-target.d.ts","sourceRoot":"","sources":["../../../src/rules/reference-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsD,MAAM,oBAAoB,CAAC;AAMjG,wBAAgB,8CAA8C,CAAC,OAAO,EAAE,OAAO,QAsB9E;AAED,wBAAgB,8CAA8C,CAAC,OAAO,EAAE,OAAO,QAsB9E;AAED,wBAAgB,yCAAyC,CAAC,OAAO,EAAE,OAAO,QA0BzE;AAED,eAAO,MAAM,8CAA8C;;EAwCzD,CAAA"}
1
+ {"version":3,"file":"reference-target.d.ts","sourceRoot":"","sources":["../../../src/rules/reference-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA4B,MAAM,oBAAoB,CAAC;AAMvE,wBAAgB,8CAA8C,CAAC,OAAO,EAAE,OAAO,QAsB9E;AAED,wBAAgB,8CAA8C,CAAC,OAAO,EAAE,OAAO,QAsB9E;AAED,wBAAgB,yCAAyC,CAAC,OAAO,EAAE,OAAO,QA0BzE;AAED,wBAAgB,sDAAsD,CAAC,OAAO,EAAE,OAAO,QAmCtF"}
@@ -1,4 +1,4 @@
1
- import { createRule, navigateTypesInNamespace, paramMessage } from "@typespec/compiler";
1
+ import { navigateTypesInNamespace } from "@typespec/compiler";
2
2
  import { GetDeclaredNamespaces, GetMsGraphNamespaces } from "../entities/namespace.js";
3
3
  import { reportDiagnostic } from "../lib.js";
4
4
  import { getGraphRoutePaths, getReferenceTarget, hasReferenceTarget } from "../index.js";
@@ -75,44 +75,39 @@ export function validateTargetPathShouldNotHaveParameters(program) {
75
75
  });
76
76
  }
77
77
  }
78
- export const singletonOrEntitySetHostingBindingsShouldExist = createRule({
79
- name: "singleton-or-entityset-hosting-bindings-should-exist",
80
- severity: "warning",
81
- description: "enforce singleton or entityset hosting bindings should exist",
82
- messages: {
83
- default: paramMessage `A singleton or entityset definition should exist to bind "${"firstSegment"}" to "${"target"}".`,
84
- },
85
- create(context) {
86
- return {
78
+ export function validateSingletonOrEntitySetHostingBindingsShouldExist(program) {
79
+ for (const namespace of GetDeclaredNamespaces(program)) {
80
+ navigateTypesInNamespace(namespace, {
87
81
  interface: ($interface) => {
88
- if (!hasReferenceTarget(context.program, $interface)) {
82
+ if (!hasReferenceTarget(program, $interface)) {
89
83
  return;
90
84
  }
91
- const graphRoutes = getGraphRoutePaths(context.program, $interface);
85
+ const graphRoutes = getGraphRoutePaths(program, $interface);
92
86
  if (graphRoutes) {
93
87
  graphRoutes.forEach(graphRoute => {
94
88
  const firstSegment = graphRoute.split("/")[0];
95
- const localNamespace = GetMsGraphNamespaces(context.program).find(namespace => namespace.key !== "library");
96
- const target = getReferenceTarget(context.program, $interface);
89
+ const localNamespace = GetMsGraphNamespaces(program).find(namespace => namespace.key !== "library");
90
+ const target = getReferenceTarget(program, $interface);
97
91
  if (localNamespace) {
98
92
  const entitySet = localNamespace.EntitySets.get(firstSegment);
99
93
  const singleton = localNamespace.Singletons.get(firstSegment);
100
94
  if (entitySet || singleton) {
101
95
  return;
102
96
  }
103
- context.reportDiagnostic({
97
+ reportDiagnostic(program, {
98
+ code: "element-missing-dependencies",
104
99
  target: $interface,
100
+ messageId: "singletonOrEntitysetHostingBindingsShouldExist",
105
101
  format: {
106
- decorator: "@referenceTarget",
107
102
  firstSegment: firstSegment,
108
103
  target: target
109
- },
104
+ }
110
105
  });
111
106
  }
112
107
  });
113
108
  }
114
109
  }
115
- };
110
+ });
116
111
  }
117
- });
112
+ }
118
113
  //# sourceMappingURL=reference-target.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-target.js","sourceRoot":"","sources":["../../../src/rules/reference-target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-target.js","sourceRoot":"","sources":["../../../src/rules/reference-target.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Program } from "@typespec/compiler";
2
+ export declare function validateSharedEntityCannotBePartial(program: Program): void;
3
+ export declare function validateSharedEntityCannotHaveOwner(program: Program): void;
4
+ export declare function validateSharedEntityAndEntityAreMutuallyExclusive(program: Program): void;
5
+ export declare function validateSharedEntityDecoratorAndIsSharedEntityAttributeAreMutuallyExclusive(program: Program): void;
6
+ export declare function validateSharedEntityCannotBeTypeOfRoutedInterfaceThatCreatesSingletonOrEntitySet(program: Program): void;
7
+ export declare function validateRestatedMembersOfSharedEntityMatchesReferenceLibrary(program: Program): void;
8
+ //# sourceMappingURL=shared-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-entity.d.ts","sourceRoot":"","sources":["../../../src/rules/shared-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAgB7F,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,OAAO,QAiBnE;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,OAAO,QAoBnE;AAED,wBAAgB,iDAAiD,CAAC,OAAO,EAAE,OAAO,QAmBjF;AAED,wBAAgB,2EAA2E,CAAC,OAAO,EAAE,OAAO,QAwB3G;AAED,wBAAgB,gFAAgF,CAAC,OAAO,EAAE,OAAO,QA6BhH;AAED,wBAAgB,4DAA4D,CAAC,OAAO,EAAE,OAAO,QAiE5F"}
@@ -0,0 +1,176 @@
1
+ import { getNamespaceFullName, navigateTypesInNamespace } from "@typespec/compiler";
2
+ import { reportDiagnostic } from "../lib.js";
3
+ import { GetDeclaredNamespaces } from "../entities/namespace.js";
4
+ import { getAgsAttributes, getGraphRoutePaths, getIsOwnerAttribute, getPublicNamespaceName, hasGraphRoute, hasIsOwner, isDirectEntity, isPartial, isSharedEntity, } from "../index.js";
5
+ import { buildPathTree, isTypeDefinedInExternalLibrary } from "../utils.js";
6
+ export function validateSharedEntityCannotBePartial(program) {
7
+ for (const namespace of GetDeclaredNamespaces(program)) {
8
+ navigateTypesInNamespace(namespace, {
9
+ model: (model) => {
10
+ if (isSharedEntity(program, model) && isPartial(program, model)) {
11
+ reportDiagnostic(program, {
12
+ code: "decorator-invalid-use",
13
+ target: model,
14
+ messageId: "sharedEntityCannotBePartial",
15
+ format: {
16
+ model: model.name,
17
+ },
18
+ });
19
+ }
20
+ },
21
+ });
22
+ }
23
+ }
24
+ export function validateSharedEntityCannotHaveOwner(program) {
25
+ for (const namespace of GetDeclaredNamespaces(program)) {
26
+ navigateTypesInNamespace(namespace, {
27
+ model: (model) => {
28
+ if (isSharedEntity(program, model) &&
29
+ (hasIsOwner(program, model) || getIsOwnerAttribute(program, model))) {
30
+ reportDiagnostic(program, {
31
+ code: "decorator-invalid-use",
32
+ target: model,
33
+ messageId: "sharedEntityCannotHaveOwner",
34
+ format: {
35
+ model: model.name,
36
+ },
37
+ });
38
+ }
39
+ },
40
+ });
41
+ }
42
+ }
43
+ export function validateSharedEntityAndEntityAreMutuallyExclusive(program) {
44
+ for (const namespace of GetDeclaredNamespaces(program)) {
45
+ navigateTypesInNamespace(namespace, {
46
+ model: (model) => {
47
+ if (isSharedEntity(program, model) && isDirectEntity(program, model)) {
48
+ reportDiagnostic(program, {
49
+ code: "decorator-invalid-use",
50
+ target: model,
51
+ messageId: "default",
52
+ format: {
53
+ decorator: "@sharedEntity",
54
+ other: "@entity",
55
+ location: "model",
56
+ },
57
+ });
58
+ }
59
+ },
60
+ });
61
+ }
62
+ }
63
+ export function validateSharedEntityDecoratorAndIsSharedEntityAttributeAreMutuallyExclusive(program) {
64
+ for (const namespace of GetDeclaredNamespaces(program)) {
65
+ navigateTypesInNamespace(namespace, {
66
+ model: (model) => {
67
+ const hasSharedEntityDecorator = model.decorators.some((d) => { var _a; return ((_a = d.definition) === null || _a === void 0 ? void 0 : _a.name) === "@sharedEntity"; });
68
+ const hasIsSharedEntityAttribute = getAgsAttributes(program, model).has("IsSharedEntity");
69
+ if (hasSharedEntityDecorator && hasIsSharedEntityAttribute) {
70
+ reportDiagnostic(program, {
71
+ code: "decorator-invalid-use",
72
+ target: model,
73
+ messageId: "default",
74
+ format: {
75
+ decorator: "@sharedEntity",
76
+ other: "\"IsSharedEntity\" attribute",
77
+ location: "model"
78
+ }
79
+ });
80
+ }
81
+ },
82
+ });
83
+ }
84
+ }
85
+ export function validateSharedEntityCannotBeTypeOfRoutedInterfaceThatCreatesSingletonOrEntitySet(program) {
86
+ const pathTree = buildPathTree(program);
87
+ for (const namespace of GetDeclaredNamespaces(program)) {
88
+ navigateTypesInNamespace(namespace, {
89
+ interface: ($interface) => {
90
+ if (!hasGraphRoute(program, $interface)) {
91
+ return;
92
+ }
93
+ const graphRoutes = getGraphRoutePaths(program, $interface);
94
+ if (graphRoutes) {
95
+ graphRoutes.forEach((graphRoute) => {
96
+ var _a;
97
+ const firstSegment = graphRoute.split("/")[0];
98
+ const entityType = (_a = pathTree.getNodeByPath(firstSegment)) === null || _a === void 0 ? void 0 : _a.entityType;
99
+ if (entityType && isSharedEntity(program, entityType)) {
100
+ reportDiagnostic(program, {
101
+ code: "type-invalid-use",
102
+ target: $interface,
103
+ messageId: "sharedEntityCannotCreateSingletonOrEntitySet",
104
+ format: {
105
+ type: entityType.name
106
+ }
107
+ });
108
+ }
109
+ });
110
+ }
111
+ }
112
+ });
113
+ }
114
+ }
115
+ export function validateRestatedMembersOfSharedEntityMatchesReferenceLibrary(program) {
116
+ const allNamespaces = GetDeclaredNamespaces(program);
117
+ const publicLibraryNamespaces = allNamespaces.filter(namespace => {
118
+ var _a;
119
+ return isTypeDefinedInExternalLibrary(program, namespace) &&
120
+ ((_a = getPublicNamespaceName(program, namespace)) === null || _a === void 0 ? void 0 : _a.startsWith("microsoft.graph"));
121
+ });
122
+ for (const namespace of allNamespaces) {
123
+ if (publicLibraryNamespaces.includes(namespace)) {
124
+ continue;
125
+ }
126
+ // If we're actually building a reference library, bail out.
127
+ if (getNamespaceFullName(namespace).startsWith("reference.microsoft.graph")) {
128
+ continue;
129
+ }
130
+ navigateTypesInNamespace(namespace, {
131
+ model: (model) => {
132
+ var _a;
133
+ if (!isSharedEntity(program, model)) {
134
+ return;
135
+ }
136
+ const sharedReference = (_a = publicLibraryNamespaces.find(ns => ns.models.has(model.name))) === null || _a === void 0 ? void 0 : _a.models.get(model.name);
137
+ if (!sharedReference) {
138
+ reportDiagnostic(program, {
139
+ code: "element-missing-dependencies",
140
+ target: model,
141
+ messageId: "sharedEntityNotFoundInReferenceLibrary",
142
+ format: {
143
+ model: model.name
144
+ }
145
+ });
146
+ return;
147
+ }
148
+ if (!isSharedEntity(program, sharedReference)) {
149
+ reportDiagnostic(program, {
150
+ code: "element-missing-dependencies",
151
+ target: model,
152
+ messageId: "sharedEntityMustBeSharedInSourceLibrary",
153
+ format: {
154
+ model: model.name
155
+ }
156
+ });
157
+ return;
158
+ }
159
+ for (const [propertyName, modelProperty] of model.properties) {
160
+ if (!sharedReference.properties.has(propertyName)) {
161
+ reportDiagnostic(program, {
162
+ code: "element-missing-dependencies",
163
+ target: modelProperty,
164
+ messageId: "sharedEntityPropertyNotFoundInReferenceEntity",
165
+ format: {
166
+ model: model.name,
167
+ property: propertyName
168
+ }
169
+ });
170
+ }
171
+ }
172
+ }
173
+ });
174
+ }
175
+ }
176
+ //# sourceMappingURL=shared-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-entity.js","sourceRoot":"","sources":["../../../src/rules/shared-entity.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Enum, Interface, IntrinsicType, Model, ModelProperty, Namespace, Operat
2
2
  import { HttpVerb } from "@typespec/http";
3
3
  import { DeltaProperties } from "./entities/model.js";
4
4
  import { MsGraphOperation } from "./entities/operation.js";
5
+ import { PathTree } from "./path-tree.js";
5
6
  export interface GraphOperation {
6
7
  theOperation: Operation;
7
8
  verb: HttpVerb | undefined;
@@ -23,6 +24,7 @@ export declare function getIdForType(program: Program, type: Type): string;
23
24
  export declare function getNavigationTypeId(program: Program, getOperation: Operation): string;
24
25
  export declare function getInterfacesOfKinds(program: Program, navigationSources: Map<string, Interface>, kinds: string[]): Map<string, MsGraphInterface>;
25
26
  export declare function isRouteIndexOfACollection(theInterface: Interface | undefined, graphRoute: string): boolean;
27
+ export declare function getComposableFunctionSegmentFromGraphRoute(graphRoutePath: string): string | undefined;
26
28
  export declare function getCollectionIndexInterfaces(program: Program, navigationSources: Map<string, Interface>): Map<string, MsGraphInterface>;
27
29
  export declare function getPropertyTypeName(program: Program, type: Type): string;
28
30
  export declare function removeReferencePrefixFromType(typeName: string): string;
@@ -69,6 +71,7 @@ export declare function getNavigationSourceType(program: Program, operation: Ope
69
71
  export declare function removeRoutePathParams(routePath: string): string;
70
72
  export declare function isSameNamespace(program: Program, model: Model, baseModel?: Model): boolean;
71
73
  export declare function isTypeDefinedInExternalLibrary(program: Program, type: Type): boolean;
74
+ export declare function isTypeDefinedInLocalProject(program: Program, type: Type): boolean;
72
75
  /**
73
76
  * Recursively get all source interfaces of an interface
74
77
  * @param theInterface
@@ -77,6 +80,7 @@ export declare function isTypeDefinedInExternalLibrary(program: Program, type: T
77
80
  export declare function getSourceInterfaces(theInterface: Interface): Interface[];
78
81
  export declare function getModelStructuralPropertyNames(program: Program, model: Model): string[];
79
82
  export declare function getAllModelPropertyNames(program: Program, model: Model): string[];
83
+ export declare function getModelProperties(program: Program, model: Model, structuralPropertiesOnly?: boolean): ModelProperty[];
80
84
  export declare function isInterfaceBindingTypeOwned(program: Program, $interface: Interface): boolean;
81
85
  export declare function getNestedComplexTypes(program: Program, model: Model, nestedModels?: Set<Model>): Set<Model>;
82
86
  export declare function generateDeltaPropertiesForNavigationProperties(program: Program, navigationProperty: ModelProperty): DeltaProperties | undefined;
@@ -96,5 +100,12 @@ export declare function removeTrailingSlash(path: string): string;
96
100
  export declare function isEqual<T>(obj1: T, obj2: T): boolean;
97
101
  export declare function checkFunctionOverloadsWithReturnType(operation1: MsGraphOperation, operation2: MsGraphOperation): boolean;
98
102
  export declare function checkFunctionOverloads(operation1: MsGraphOperation, operation2: MsGraphOperation): boolean;
103
+ /**
104
+ * @returns a Model type if the underlying type is a model, undefined otherwise
105
+ */
99
106
  export declare function getTypeModel(program: Program, type: Type, structuralPropertiesOnly?: boolean): Model | undefined;
107
+ export declare function cleanGraphRoutePath(path: string): string;
108
+ export declare function buildPathTree(program: Program): PathTree;
109
+ export declare function getParentModelForPropertyFromGraphRoute(pathTree: PathTree, graphRoutePath: string): Model | undefined;
110
+ export declare function isParentSharedEntity(program: Program, model: Model): boolean;
100
111
  //# 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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"}