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

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 (93) hide show
  1. package/dist/src/components/annotations.d.ts.map +1 -1
  2. package/dist/src/components/annotations.js +4 -3
  3. package/dist/src/components/annotations.js.map +1 -1
  4. package/dist/src/components/filter-restrictions-annotation.d.ts +6 -0
  5. package/dist/src/components/filter-restrictions-annotation.d.ts.map +1 -0
  6. package/dist/src/components/filter-restrictions-annotation.js +10 -0
  7. package/dist/src/components/filter-restrictions-annotation.js.map +1 -0
  8. package/dist/src/components/immutable-annotation.d.ts +5 -0
  9. package/dist/src/components/immutable-annotation.d.ts.map +1 -0
  10. package/dist/src/components/immutable-annotation.js +6 -0
  11. package/dist/src/components/immutable-annotation.js.map +1 -0
  12. package/dist/src/components/insert-restrictions-annotation.d.ts +6 -0
  13. package/dist/src/components/insert-restrictions-annotation.d.ts.map +1 -0
  14. package/dist/src/components/insert-restrictions-annotation.js +10 -0
  15. package/dist/src/components/insert-restrictions-annotation.js.map +1 -0
  16. package/dist/src/components/property-element.d.ts.map +1 -1
  17. package/dist/src/components/property-element.js +3 -1
  18. package/dist/src/components/property-element.js.map +1 -1
  19. package/dist/src/components/schema-element.d.ts.map +1 -1
  20. package/dist/src/components/schema-element.js +3 -5
  21. package/dist/src/components/schema-element.js.map +1 -1
  22. package/dist/src/decorators/action.d.ts +10 -0
  23. package/dist/src/decorators/action.d.ts.map +1 -0
  24. package/dist/src/decorators/action.js +16 -0
  25. package/dist/src/decorators/action.js.map +1 -0
  26. package/dist/src/decorators/filter.d.ts +11 -0
  27. package/dist/src/decorators/filter.d.ts.map +1 -0
  28. package/dist/src/decorators/filter.js +27 -0
  29. package/dist/src/decorators/filter.js.map +1 -0
  30. package/dist/src/decorators/graph-route.d.ts +1 -1
  31. package/dist/src/decorators/graph-route.d.ts.map +1 -1
  32. package/dist/src/decorators/graph-route.js +12 -7
  33. package/dist/src/decorators/graph-route.js.map +1 -1
  34. package/dist/src/decorators/immutable.d.ts +8 -0
  35. package/dist/src/decorators/immutable.d.ts.map +1 -0
  36. package/dist/src/decorators/immutable.js +12 -0
  37. package/dist/src/decorators/immutable.js.map +1 -0
  38. package/dist/src/decorators/index.d.ts +4 -0
  39. package/dist/src/decorators/index.d.ts.map +1 -1
  40. package/dist/src/decorators/index.js +4 -0
  41. package/dist/src/decorators/index.js.map +1 -1
  42. package/dist/src/decorators/required-for-create.d.ts +10 -0
  43. package/dist/src/decorators/required-for-create.d.ts.map +1 -0
  44. package/dist/src/decorators/required-for-create.js +14 -0
  45. package/dist/src/decorators/required-for-create.js.map +1 -0
  46. package/dist/src/entities/annotations.d.ts +3 -0
  47. package/dist/src/entities/annotations.d.ts.map +1 -1
  48. package/dist/src/entities/annotations.js +23 -1
  49. package/dist/src/entities/annotations.js.map +1 -1
  50. package/dist/src/entities/model.d.ts +1 -0
  51. package/dist/src/entities/model.d.ts.map +1 -1
  52. package/dist/src/entities/model.js +2 -1
  53. package/dist/src/entities/model.js.map +1 -1
  54. package/dist/src/entities/namespace.d.ts +0 -2
  55. package/dist/src/entities/namespace.d.ts.map +1 -1
  56. package/dist/src/entities/namespace.js +27 -7
  57. package/dist/src/entities/namespace.js.map +1 -1
  58. package/dist/src/entities/operation.d.ts.map +1 -1
  59. package/dist/src/entities/operation.js +1 -2
  60. package/dist/src/entities/operation.js.map +1 -1
  61. package/dist/src/entities/property.d.ts.map +1 -1
  62. package/dist/src/entities/property.js +3 -0
  63. package/dist/src/entities/property.js.map +1 -1
  64. package/dist/src/lib.d.ts +12 -0
  65. package/dist/src/lib.d.ts.map +1 -1
  66. package/dist/src/lib.js +3 -0
  67. package/dist/src/lib.js.map +1 -1
  68. package/dist/src/linter.d.ts.map +1 -1
  69. package/dist/src/linter.js +4 -0
  70. package/dist/src/linter.js.map +1 -1
  71. package/dist/src/rules/filter.d.ts +4 -0
  72. package/dist/src/rules/filter.d.ts.map +1 -0
  73. package/dist/src/rules/filter.js +92 -0
  74. package/dist/src/rules/filter.js.map +1 -0
  75. package/dist/src/rules/graph-route.d.ts +5 -0
  76. package/dist/src/rules/graph-route.d.ts.map +1 -0
  77. package/dist/src/rules/graph-route.js +39 -0
  78. package/dist/src/rules/graph-route.js.map +1 -0
  79. package/dist/src/rules/index.d.ts +3 -0
  80. package/dist/src/rules/index.d.ts.map +1 -1
  81. package/dist/src/rules/index.js +3 -0
  82. package/dist/src/rules/index.js.map +1 -1
  83. package/dist/src/rules/required-for-create.d.ts +2 -0
  84. package/dist/src/rules/required-for-create.d.ts.map +1 -0
  85. package/dist/src/rules/required-for-create.js +40 -0
  86. package/dist/src/rules/required-for-create.js.map +1 -0
  87. package/dist/src/utils.d.ts +13 -0
  88. package/dist/src/utils.d.ts.map +1 -1
  89. package/dist/src/utils.js +49 -17
  90. package/dist/src/utils.js.map +1 -1
  91. package/lib/decorators.tsp +32 -0
  92. package/lib/lib.tsp +4 -15
  93. package/package.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/components/annotations.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAUjC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AASxF,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CAAE,CAIrF,CAAA;AAEN,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,CAIjF,CAAA"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/components/annotations.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAUjC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAWxF,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CAAE,CAIrF,CAAA;AAEN,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,CAIjF,CAAA"}
@@ -8,6 +8,8 @@ import { SortRestrictionsAnnotation } from "./sort-restrictions-annotation.js";
8
8
  import { TopSupportedAnnotation } from "./top-supported-annotation.js";
9
9
  import { DescriptionAnnotation } from "./description-annotation.js";
10
10
  import { UpdateRestrictionsAnnotation } from "./update-restrictions-annotation.js";
11
+ import { InsertRestrictionsAnnotation } from "./insert-restrictions-annotation.js";
12
+ import { FilterRestrictionsAnnotation } from "./filter-restrictions-annotation.js";
11
13
  const AnnotationsElem = (props) => React.createElement("Annotations", props);
12
14
  export const CollectionAnnotationsList = ({ elements }) => React.createElement(ItemList, { items: elements, render: (element) => React.createElement(CollectionAnnotationsElement, { element: element }) });
13
15
  export const ResourceAnnotationsList = ({ elements }) => React.createElement(ItemList, { items: elements, render: (element) => React.createElement(ResourceAnnotationsElement, { element: element }) });
@@ -18,9 +20,7 @@ const CollectionAnnotationsElement = ({ element, }) => React.createElement(Annot
18
20
  React.createElement(PropertyValueElement, { Property: "ReadByKeyRestrictions" },
19
21
  React.createElement(RecordElement, null,
20
22
  React.createElement(PropertyValueElement, { Property: "Readable", Bool: element.HasGetOnResource }))))),
21
- React.createElement(AnnotationElement, { Term: "Org.OData.Capabilities.V1.InsertRestrictions" },
22
- React.createElement(RecordElement, null,
23
- React.createElement(PropertyValueElement, { Property: "Insertable", Bool: element.HasPostOnCollection }))),
23
+ React.createElement(InsertRestrictionsAnnotation, { hasPostOnCollection: element.HasPostOnCollection, requiredProperties: element.RequiredProperties }),
24
24
  React.createElement(UpdateRestrictionsAnnotation, { hasUpdateOperation: element.HasPatchOnResource }),
25
25
  React.createElement(AnnotationElement, { Term: "Org.OData.Capabilities.V1.DeleteRestrictions" },
26
26
  React.createElement(RecordElement, null,
@@ -29,6 +29,7 @@ const CollectionAnnotationsElement = ({ element, }) => React.createElement(Annot
29
29
  React.createElement(ExpandRestrictionsAnnotation, { hasExpandOnCollectionOrResource: element.HasExpandOnCollectionOrResource, nonExpandableProperties: element.NonExpandableProperties }),
30
30
  React.createElement(SearchRestrictionsAnnotation, { hasSearchOnCollection: element.HasSearchOnCollection }),
31
31
  React.createElement(SkipSupportedAnnotation, { hasSkipOnCollection: element.HasSkipOnCollection }),
32
+ React.createElement(FilterRestrictionsAnnotation, { hasFilterOperation: element.HasFilterOperation, nonFilterableProperties: element.NonFilterableProperties }),
32
33
  React.createElement(SortRestrictionsAnnotation, { hasSortOnCollection: element.HasSortOnCollection, nonSortableProperties: element.NonSortableProperties }),
33
34
  React.createElement(TopSupportedAnnotation, { hasTopOnCollection: element.HasTopOnCollection }),
34
35
  React.createElement(DescriptionAnnotation, { description: element.Description }));
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../../src/components/annotations.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../../src/components/annotations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAEnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAOnF,MAAM,eAAe,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,yBAAyB,GAAyD,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAC5G,oBAAC,QAAQ,IACL,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAC,4BAA4B,IAAC,OAAO,EAAE,OAAO,GAAI,GACzE,CAAA;AAEN,MAAM,CAAC,MAAM,uBAAuB,GAAuD,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACxG,oBAAC,QAAQ,IACL,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAC,0BAA0B,IAAC,OAAO,EAAE,OAAO,GAAI,GACvE,CAAA;AAEN,MAAM,4BAA4B,GAA2C,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,CAC1F,oBAAC,eAAe,IAAC,MAAM,EAAE,OAAO,CAAC,MAAM;IACrC,oBAAC,iBAAiB,IAAC,IAAI,EAAC,4CAA4C;QAClE,oBAAC,aAAa;YACZ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,UAAU,EAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,GAAI;YAC9E,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,uBAAuB;gBACpD,oBAAC,aAAa;oBACZ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,UAAU,EAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,GAAI,CAC9D,CACK,CACT,CACE;IAEpB,oBAAC,4BAA4B,IAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAAI;IAClI,oBAAC,4BAA4B,IAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAAG;IAE/E,oBAAC,iBAAiB,IAAC,IAAI,EAAC,8CAA8C;QACpE,oBAAC,aAAa;YACZ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,GAAI,CAClE,CACE;IAEpB,oBAAC,2BAA2B,IAAC,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,GAAI;IACnF,oBAAC,4BAA4B,IAAC,+BAA+B,EAAE,OAAO,CAAC,+BAA+B,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,GAAI;IACpK,oBAAC,4BAA4B,IAAC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,GAAI;IACtF,oBAAC,uBAAuB,IAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,GAAI;IAC7E,oBAAC,4BAA4B,IAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,GAAI;IAC1I,oBAAC,0BAA0B,IAAC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,GAAI;IACtI,oBAAC,sBAAsB,IAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAAI;IAE1E,oBAAC,qBAAqB,IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,GAAI,CAC3C,CAAA;AAEtB,MAAM,0BAA0B,GAAyC,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,CACtF,oBAAC,eAAe,IAAC,MAAM,EAAE,OAAO,CAAC,MAAM;IACrC,oBAAC,iBAAiB,IAAC,IAAI,EAAC,4CAA4C;QAClE,oBAAC,aAAa;YACZ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,UAAU,EAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,GAAI,CAC9D,CACE;IAEpB,oBAAC,4BAA4B,IAAC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAAG;IAE/E,oBAAC,iBAAiB,IAAC,IAAI,EAAC,8CAA8C;QACpE,oBAAC,aAAa;YACZ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,GAAI,CAClE,CACE;IAEpB,oBAAC,4BAA4B,IAAC,+BAA+B,EAAE,OAAO,CAAC,+BAA+B,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,GAAI;IACpK,oBAAC,qBAAqB,IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,GAAI,CAC3C,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { FC } from "react";
2
+ export declare const FilterRestrictionsAnnotation: FC<{
3
+ hasFilterOperation: boolean;
4
+ nonFilterableProperties: string[] | undefined;
5
+ }>;
6
+ //# sourceMappingURL=filter-restrictions-annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-restrictions-annotation.d.ts","sourceRoot":"","sources":["../../../src/components/filter-restrictions-annotation.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AASlC,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAAC;IAC5C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,uBAAuB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC/C,CAWA,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { AnnotationElement, CollectionElement, PropertyPathElement, PropertyValueElement, RecordElement, } from "./common-elements.js";
3
+ export const FilterRestrictionsAnnotation = ({ hasFilterOperation, nonFilterableProperties }) => (React.createElement(AnnotationElement, { Term: "Org.OData.Capabilities.V1.FilterRestrictions" },
4
+ React.createElement(RecordElement, null,
5
+ React.createElement(PropertyValueElement, { Property: "Filterable", Bool: hasFilterOperation }),
6
+ hasFilterOperation ? (React.createElement(NonFilterableProperties, { nonFilterableProperties: nonFilterableProperties })) : (React.createElement(React.Fragment, null)))));
7
+ const NonFilterableProperties = ({ nonFilterableProperties, }) => (React.createElement(PropertyValueElement, { Property: "NonFilterableProperties" },
8
+ React.createElement(CollectionElement, null, nonFilterableProperties === null || nonFilterableProperties === void 0 ? void 0 : nonFilterableProperties.map((property) => (React.createElement(PropertyPathElement, { key: property },
9
+ React.createElement(React.Fragment, null, property)))))));
10
+ //# sourceMappingURL=filter-restrictions-annotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-restrictions-annotation.js","sourceRoot":"","sources":["../../../src/components/filter-restrictions-annotation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,4BAA4B,GAGpC,CAAC,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC,CACxD,oBAAC,iBAAiB,IAAC,IAAI,EAAC,8CAA8C;IACpE,oBAAC,aAAa;QACZ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,YAAY,EAAC,IAAI,EAAE,kBAAkB,GAAI;QACvE,kBAAkB,CAAC,CAAC,CAAC,CACpB,oBAAC,uBAAuB,IAAC,uBAAuB,EAAE,uBAAuB,GAAI,CAC9E,CAAC,CAAC,CAAC,CACF,yCAAK,CACN,CACa,CACE,CACrB,CAAC;AAEF,MAAM,uBAAuB,GAA0D,CAAC,EACtF,uBAAuB,GACxB,EAAE,EAAE,CAAC,CACJ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,yBAAyB;IACtD,oBAAC,iBAAiB,QACf,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC1C,oBAAC,mBAAmB,IAAC,GAAG,EAAE,QAAQ;QAChC,0CAAG,QAAQ,CAAI,CACK,CACvB,CAAC,CACgB,CACC,CACxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FC } from "react";
2
+ export declare const ImmutableAnnotation: FC<{
3
+ isImmutable: boolean;
4
+ }>;
5
+ //# sourceMappingURL=immutable-annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutable-annotation.d.ts","sourceRoot":"","sources":["../../../src/components/immutable-annotation.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGlC,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAG9C,CAAA"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { AnnotationElement } from "./common-elements.js";
3
+ export const ImmutableAnnotation = ({ isImmutable }) => isImmutable
4
+ ? React.createElement(AnnotationElement, { Term: "Org.OData.Core.V1.Immutable", Bool: isImmutable })
5
+ : React.createElement(React.Fragment, null);
6
+ //# sourceMappingURL=immutable-annotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutable-annotation.js","sourceRoot":"","sources":["../../../src/components/immutable-annotation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACjF,WAAW;IACP,CAAC,CAAC,oBAAC,iBAAiB,IAAC,IAAI,EAAC,6BAA6B,EAAC,IAAI,EAAE,WAAW,GAAI;IAC7E,CAAC,CAAC,yCAAK,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { FC } from "react";
2
+ export declare const InsertRestrictionsAnnotation: FC<{
3
+ hasPostOnCollection: boolean;
4
+ requiredProperties: string[] | undefined;
5
+ }>;
6
+ //# sourceMappingURL=insert-restrictions-annotation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert-restrictions-annotation.d.ts","sourceRoot":"","sources":["../../../src/components/insert-restrictions-annotation.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AASlC,eAAO,MAAM,4BAA4B,EAAE,EAAE,CAAC;IAC5C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC1C,CAOA,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { AnnotationElement, CollectionElement, PropertyPathElement, PropertyValueElement, RecordElement, } from "./common-elements.js";
3
+ export const InsertRestrictionsAnnotation = ({ hasPostOnCollection, requiredProperties }) => (React.createElement(AnnotationElement, { Term: "Org.OData.Capabilities.V1.InsertRestrictions" },
4
+ React.createElement(RecordElement, null,
5
+ React.createElement(PropertyValueElement, { Property: "Insertable", Bool: hasPostOnCollection }),
6
+ hasPostOnCollection ? React.createElement(RequiredProperties, { requiredProperties: requiredProperties }) : React.createElement(React.Fragment, null))));
7
+ const RequiredProperties = ({ requiredProperties, }) => (React.createElement(PropertyValueElement, { Property: "RequiredProperties" },
8
+ React.createElement(CollectionElement, null, requiredProperties === null || requiredProperties === void 0 ? void 0 : requiredProperties.map((property) => (React.createElement(PropertyPathElement, { key: property },
9
+ React.createElement(React.Fragment, null, property)))))));
10
+ //# sourceMappingURL=insert-restrictions-annotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert-restrictions-annotation.js","sourceRoot":"","sources":["../../../src/components/insert-restrictions-annotation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,4BAA4B,GAGpC,CAAC,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CACpD,oBAAC,iBAAiB,IAAC,IAAI,EAAC,8CAA8C;IACpE,oBAAC,aAAa;QACZ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,YAAY,EAAC,IAAI,EAAE,mBAAmB,GAAI;QACxE,mBAAmB,CAAC,CAAC,CAAC,oBAAC,kBAAkB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAAC,CAAC,CAAC,yCAAK,CAC/E,CACE,CACrB,CAAC;AAEF,MAAM,kBAAkB,GAAqD,CAAC,EAC5E,kBAAkB,GACnB,EAAE,EAAE,CAAC,CACJ,oBAAC,oBAAoB,IAAC,QAAQ,EAAC,oBAAoB;IACjD,oBAAC,iBAAiB,QACf,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACrC,oBAAC,mBAAmB,IAAC,GAAG,EAAE,QAAQ;QAChC,0CAAG,QAAQ,CAAI,CACK,CACvB,CAAC,CACgB,CACC,CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"property-element.d.ts","sourceRoot":"","sources":["../../../src/components/property-element.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAkB5D,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,oBAAoB,CAAA;CAAE,CAGZ,CAAA"}
1
+ {"version":3,"file":"property-element.d.ts","sourceRoot":"","sources":["../../../src/components/property-element.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAmB5D,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC;IAAE,QAAQ,EAAE,oBAAoB,CAAA;CAAE,CAGZ,CAAA"}
@@ -3,6 +3,7 @@ import { ComputedAnnotation } from "./computed-annotation.js";
3
3
  import { DescriptionAnnotation } from "./description-annotation.js";
4
4
  import { PermissionsAnnotation } from "./permissions-annotation.js";
5
5
  import { RevisionsAnnotation } from "./revisions-annotation.js";
6
+ import { ImmutableAnnotation } from "./immutable-annotation.js";
6
7
  const Property = (props) => React.createElement("Property", props);
7
8
  const NavigationProperty = (props) => React.createElement("NavigationProperty", props);
8
9
  export const PropertyElement = ({ property }) => property.IsNavigation
@@ -18,6 +19,7 @@ const StructuralPropertyElement = ({ property }) => {
18
19
  React.createElement(ComputedAnnotation, { isComputed: property.IsComputed }),
19
20
  React.createElement(PermissionsAnnotation, { permission: property.Permission }),
20
21
  React.createElement(RevisionsAnnotation, { definition: property.RevisionDefinition }),
21
- React.createElement(DescriptionAnnotation, { description: property.Description })));
22
+ React.createElement(DescriptionAnnotation, { description: property.Description }),
23
+ React.createElement(ImmutableAnnotation, { isImmutable: property.isImmutable })));
22
24
  };
23
25
  //# sourceMappingURL=property-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"property-element.js","sourceRoot":"","sources":["../../../src/components/property-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAShE,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAQlF,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAEhH,MAAM,CAAC,MAAM,eAAe,GAA2C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACtF,QAAQ,CAAC,YAAY;IACnB,CAAC,CAAC,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,QAAQ,GAAI;IACnD,CAAC,CAAC,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAA;AAEvD,MAAM,yBAAyB,GAA2C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzF,OAAO,CACL,oBAAC,kBAAkB,IACjB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,KAC3B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxD,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,KAClD,QAAQ,CAAC,aAAa;QAE1B,oBAAC,mBAAmB,IAAC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,GAAI;QAChE,oBAAC,qBAAqB,IAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAI,CACzC,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAA2C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzF,OAAO,CACL,oBAAC,QAAQ,IACP,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,KAC3B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,KAClD,QAAQ,CAAC,aAAa;QAE1B,oBAAC,kBAAkB,IAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAI;QACvD,oBAAC,qBAAqB,IAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAI;QAC1D,oBAAC,mBAAmB,IAAC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,GAAI;QAChE,oBAAC,qBAAqB,IAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAI,CACnD,CACZ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"property-element.js","sourceRoot":"","sources":["../../../src/components/property-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAQhE,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAQlF,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAEhH,MAAM,CAAC,MAAM,eAAe,GAA2C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACtF,QAAQ,CAAC,YAAY;IACnB,CAAC,CAAC,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,QAAQ,GAAI;IACnD,CAAC,CAAC,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAA;AAEvD,MAAM,yBAAyB,GAA2C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzF,OAAO,CACL,oBAAC,kBAAkB,IACjB,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,KAC3B,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxD,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,KAClD,QAAQ,CAAC,aAAa;QAE1B,oBAAC,mBAAmB,IAAC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,GAAI;QAChE,oBAAC,qBAAqB,IAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAI,CACzC,CACtB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAA2C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzF,OAAO,CACL,oBAAC,QAAQ,IACP,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,gBAAgB,KAC3B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,KAClD,QAAQ,CAAC,aAAa;QAE1B,oBAAC,kBAAkB,IAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAI;QACvD,oBAAC,qBAAqB,IAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAI;QAC1D,oBAAC,mBAAmB,IAAC,UAAU,EAAE,QAAQ,CAAC,kBAAkB,GAAI;QAChE,oBAAC,qBAAqB,IAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAI;QAC5D,oBAAC,mBAAmB,IAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,GAAG,CAChD,CACZ,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-element.d.ts","sourceRoot":"","sources":["../../../src/components/schema-element.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkB5D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAa7D,CAAC"}
1
+ {"version":3,"file":"schema-element.d.ts","sourceRoot":"","sources":["../../../src/components/schema-element.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkB5D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC;IAAE,SAAS,EAAE,gBAAgB,CAAA;CAAE,CAe7D,CAAC"}
@@ -17,13 +17,11 @@ export const SchemaElement = ({ namespace }) => {
17
17
  React.createElement(ModelList, { models: namespace.Models }),
18
18
  React.createElement(OperationList, { operations: namespace.Operations }),
19
19
  React.createElement(EntityContainerElement, { singletons: namespace.Singletons, entitySets: namespace.EntitySets, agsAttributes: namespace.AgsAttributes }),
20
- React.createElement(ResourceAnnotationsList, { elements: namespace.SingletonAnnotations }),
21
- React.createElement(CollectionAnnotationsList, { elements: namespace.EntitySetAnnotations }),
22
20
  React.createElement(ResourceAnnotationsList, { elements: namespace.ResourceAnnotations }),
23
21
  React.createElement(CollectionAnnotationsList, { elements: namespace.CollectionAnnotations })));
24
22
  };
25
23
  const ModelList = ({ models }) => {
26
- return React.createElement(ItemList, { items: models, render: (model) => {
24
+ return (React.createElement(ItemList, { items: models, render: (model) => {
27
25
  switch (model.Kind) {
28
26
  case MsGraphModelKind.Entity: {
29
27
  return React.createElement(EntityTypeElement, { model: model });
@@ -35,9 +33,9 @@ const ModelList = ({ models }) => {
35
33
  return React.createElement(React.Fragment, null);
36
34
  }
37
35
  }
38
- } });
36
+ } }));
39
37
  };
40
38
  const OperationList = ({ operations }) => {
41
- return React.createElement(ItemList, { items: operations, render: (operation) => React.createElement(OperationElement, { element: operation }) });
39
+ return (React.createElement(ItemList, { items: operations, render: (operation) => React.createElement(OperationElement, { element: operation }) }));
42
40
  };
43
41
  //# sourceMappingURL=schema-element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-element.js","sourceRoot":"","sources":["../../../src/components/schema-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAgB,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAOtF,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAE,EAAE,CACpC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;IAC5B,GAAG,KAAK;IACR,KAAK,EAAE,yCAAyC;IAChD,WAAW,EAAE,0CAA0C;CACxD,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAwC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAClF,OAAO,CACL,oBAAC,MAAM,IAAC,SAAS,EAAE,SAAS,CAAC,IAAI;QAC/B,oBAAC,YAAY,IAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,GAAI;QAC3C,oBAAC,SAAS,IAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAI;QACvC,oBAAC,aAAa,IAAC,UAAU,EAAE,SAAS,CAAC,UAAU,GAAI;QACnD,oBAAC,sBAAsB,IAAC,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,GAAI;QACtI,oBAAC,uBAAuB,IAAC,QAAQ,EAAE,SAAS,CAAC,oBAAoB,GAAI;QACrE,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,SAAS,CAAC,oBAAoB,GAAI;QACvE,oBAAC,uBAAuB,IAAC,QAAQ,EAAE,SAAS,CAAC,mBAAmB,GAAI;QACpE,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,GAAI,CACjE,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAA8C,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1E,OAAO,oBAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,QAAO,KAAK,CAAC,IAAI,EAAE;gBACjB,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAC5B,OAAO,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,GAAI,CAAA;iBAC3C;gBACD,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO,oBAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,GAAI,CAAA;iBAC5C;gBACD,OAAO,CAAC,CAAC;oBACP,OAAO,yCAAK,CAAA;iBACb;aACF;QACH,CAAC,GAAI,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,aAAa,GAA2C,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/E,OAAO,oBAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAC,gBAAgB,IAAC,OAAO,EAAE,SAAS,GAAI,GAAI,CAAA;AACzG,CAAC,CAAC"}
1
+ {"version":3,"file":"schema-element.js","sourceRoot":"","sources":["../../../src/components/schema-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAgB,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAOtF,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAE,EAAE,CACpC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;IAC5B,GAAG,KAAK;IACR,KAAK,EAAE,yCAAyC;IAChD,WAAW,EAAE,0CAA0C;CACxD,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAwC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAClF,OAAO,CACL,oBAAC,MAAM,IAAC,SAAS,EAAE,SAAS,CAAC,IAAI;QAC/B,oBAAC,YAAY,IAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,GAAI;QAC3C,oBAAC,SAAS,IAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAI;QACvC,oBAAC,aAAa,IAAC,UAAU,EAAE,SAAS,CAAC,UAAU,GAAI;QACnD,oBAAC,sBAAsB,IACrB,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,UAAU,EAAE,SAAS,CAAC,UAAU,EAChC,aAAa,EAAE,SAAS,CAAC,aAAa,GACtC;QACF,oBAAC,uBAAuB,IAAC,QAAQ,EAAE,SAAS,CAAC,mBAAmB,GAAI;QACpE,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,GAAI,CACjE,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAA8C,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1E,OAAO,CACL,oBAAC,QAAQ,IACP,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,QAAQ,KAAK,CAAC,IAAI,EAAE;gBAClB,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBAC5B,OAAO,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;iBAC5C;gBACD,KAAK,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO,oBAAC,kBAAkB,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;iBAC7C;gBACD,OAAO,CAAC,CAAC;oBACP,OAAO,yCAAK,CAAC;iBACd;aACF;QACH,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAA2C,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/E,OAAO,CACL,oBAAC,QAAQ,IAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAC,gBAAgB,IAAC,OAAO,EAAE,SAAS,GAAI,GAAI,CACjG,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { DecoratorContext, Operation, Program } from "@typespec/compiler";
2
+ /**
3
+ * `@action` - mark an operation as an action
4
+ *
5
+ * `@action` can only be applied to operations.
6
+ */
7
+ export declare function $action(context: DecoratorContext, target: Operation, name?: string): void;
8
+ export declare function isAction(program: Program, target: Operation): boolean;
9
+ export declare function getAction(program: Program, target: Operation): string | undefined;
10
+ //# sourceMappingURL=action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/decorators/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI1E;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,QAElF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,WAE3D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEjF"}
@@ -0,0 +1,16 @@
1
+ const actionKey = Symbol("action");
2
+ /**
3
+ * `@action` - mark an operation as an action
4
+ *
5
+ * `@action` can only be applied to operations.
6
+ */
7
+ export function $action(context, target, name) {
8
+ context.program.stateMap(actionKey).set(target, name || target.name);
9
+ }
10
+ export function isAction(program, target) {
11
+ return program.stateMap(actionKey).has(target);
12
+ }
13
+ export function getAction(program, target) {
14
+ return program.stateMap(actionKey).get(target);
15
+ }
16
+ //# sourceMappingURL=action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../../src/decorators/action.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAyB,EAAE,MAAiB,EAAE,IAAa;IACjF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,MAAiB;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAiB;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { DecoratorContext, Operation, Program } from "@typespec/compiler";
2
+ /**
3
+ * `@filter` - Applies to: get operations that return collections of @entity or @complex models.
4
+ * Indicates that the get operation supports OData $filter query parameter.
5
+ *
6
+ * `properties` - List of property names in the model returned from the get operation that can be used in $filter query parameter.
7
+ */
8
+ export declare function $filter(context: DecoratorContext, target: Operation, properties: string): void;
9
+ export declare function getFilter(program: Program, target: Operation): string[];
10
+ export declare function isFilter(program: Program, target: Operation): boolean;
11
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/decorators/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI1E;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAGvF;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,CAEvE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,WAE3D"}
@@ -0,0 +1,27 @@
1
+ const filterKey = Symbol("filter");
2
+ /**
3
+ * `@filter` - Applies to: get operations that return collections of @entity or @complex models.
4
+ * Indicates that the get operation supports OData $filter query parameter.
5
+ *
6
+ * `properties` - List of property names in the model returned from the get operation that can be used in $filter query parameter.
7
+ */
8
+ export function $filter(context, target, properties) {
9
+ const filterProperties = unpackFilterProperties(properties);
10
+ context.program.stateMap(filterKey).set(target, filterProperties);
11
+ }
12
+ export function getFilter(program, target) {
13
+ return program.stateMap(filterKey).get(target) || [];
14
+ }
15
+ export function isFilter(program, target) {
16
+ return program.stateMap(filterKey).has(target);
17
+ }
18
+ /**
19
+ * unpacks filter parameters from a comma seperated list in string form.
20
+ *
21
+ * @param properties string containing comma separated list of filter parameters.
22
+ * @returns string array of the filter parameters
23
+ */
24
+ function unpackFilterProperties(properties) {
25
+ return properties ? properties.split(",").map((prop) => prop.trim()) : [];
26
+ }
27
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/decorators/filter.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,OAAyB,EAAE,MAAiB,EAAE,UAAkB;IACtF,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC5D,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAiB;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAgB,EAAE,MAAiB;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,UAAkB;IAChD,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5E,CAAC"}
@@ -4,6 +4,6 @@ import { DecoratorContext, Interface, Operation, Program, Type } from "@typespec
4
4
  * `@graphRoute` - Applies to interfaces and operations.
5
5
  */
6
6
  export declare function $graphRoute(context: DecoratorContext, target: Interface | Operation, path: string): void;
7
- export declare function getGraphRoutePath(program: Program, target: Type): string;
7
+ export declare function getGraphRoutePath(program: Program, target: Type): string | string[] | undefined;
8
8
  export declare function hasGraphRoute(program: Program, target: Type): boolean;
9
9
  //# sourceMappingURL=graph-route.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-route.d.ts","sourceRoot":"","sources":["../../../src/decorators/graph-route.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EAIL,MAAM,oBAAoB,CAAC;AAM5B;;;GAGG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,QA+Bb;AAiDD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAExE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,WAE3D"}
1
+ {"version":3,"file":"graph-route.d.ts","sourceRoot":"","sources":["../../../src/decorators/graph-route.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EAIL,MAAM,oBAAoB,CAAC;AAK5B;;;GAGG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,QAgCb;AAiDD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAM/F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,WAE3D"}
@@ -1,4 +1,3 @@
1
- import { setRoute } from "@typespec/http";
2
1
  import { getNavigationSourceType } from "../utils.js";
3
2
  const graphRouteKey = Symbol("graphRoute");
4
3
  /**
@@ -6,11 +5,13 @@ const graphRouteKey = Symbol("graphRoute");
6
5
  * `@graphRoute` - Applies to interfaces and operations.
7
6
  */
8
7
  export function $graphRoute(context, target, path) {
9
- context.program.stateMap(graphRouteKey).set(target, path);
10
- setRoute(context, target, {
11
- path,
12
- shared: true,
13
- });
8
+ const state = context.program.stateMap(graphRouteKey);
9
+ if (state.has(target)) {
10
+ state.set(target, [...state.get(target), path]);
11
+ }
12
+ else {
13
+ state.set(target, [path]);
14
+ }
14
15
  const routeParams = extractParamsFromPath(path);
15
16
  // Modify the operations to inject path parameters and correct resource type from interface base interface.
16
17
  // TODO: Using @graphRoute on an operation currently does not work due to the following TypeSpec core issue
@@ -76,7 +77,11 @@ function extractParamsFromPath(path) {
76
77
  return (_a = matchResults === null || matchResults === void 0 ? void 0 : matchResults.map((s) => s.slice(1, -1))) !== null && _a !== void 0 ? _a : [];
77
78
  }
78
79
  export function getGraphRoutePath(program, target) {
79
- return program.stateMap(graphRouteKey).get(target);
80
+ const graphRoute = program.stateMap(graphRouteKey).get(target);
81
+ if (Array.isArray(graphRoute) && graphRoute.length === 1) {
82
+ return graphRoute[0];
83
+ }
84
+ return graphRoute;
80
85
  }
81
86
  export function hasGraphRoute(program, target) {
82
87
  return program.stateMap(graphRouteKey).has(target);
@@ -1 +1 @@
1
- {"version":3,"file":"graph-route.js","sourceRoot":"","sources":["../../../src/decorators/graph-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-route.js","sourceRoot":"","sources":["../../../src/decorators/graph-route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { DecoratorContext, ModelProperty, Program } from "@typespec/compiler";
2
+ /**
3
+ * `@immutable` - mark a model property as immutable
4
+ * '@immutable' can only be applied to Model properties.
5
+ */
6
+ export declare function $immutable(context: DecoratorContext, target: ModelProperty): void;
7
+ export declare function isImmutable(program: Program, target: ModelProperty): boolean;
8
+ //# sourceMappingURL=immutable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutable.d.ts","sourceRoot":"","sources":["../../../src/decorators/immutable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI9E;;;GAGG;AAEH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAEjF;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,WAElE"}
@@ -0,0 +1,12 @@
1
+ const immutableKey = Symbol("immutable");
2
+ /**
3
+ * `@immutable` - mark a model property as immutable
4
+ * '@immutable' can only be applied to Model properties.
5
+ */
6
+ export function $immutable(context, target) {
7
+ context.program.stateSet(immutableKey).add(target);
8
+ }
9
+ export function isImmutable(program, target) {
10
+ return program.stateSet(immutableKey).has(target);
11
+ }
12
+ //# sourceMappingURL=immutable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutable.js","sourceRoot":"","sources":["../../../src/decorators/immutable.ts"],"names":[],"mappings":"AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAEzC;;;GAGG;AAEH,MAAM,UAAU,UAAU,CAAC,OAAyB,EAAE,MAAqB;IACzE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAqB;IACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./abstract.js";
2
+ export * from "./action.js";
2
3
  export * from "./additional-query-parameters.js";
3
4
  export * from "./ags-attribute.js";
4
5
  export * from "./alternate-key.js";
@@ -10,6 +11,7 @@ export * from "./delta-collection.js";
10
11
  export * from "./deprecated-definition.js";
11
12
  export * from "./entity.js";
12
13
  export * from "./expand.js";
14
+ export * from "./filter.js";
13
15
  export * from "./flags.js";
14
16
  export * from "./function.js";
15
17
  export * from "./graph-route.js";
@@ -24,10 +26,12 @@ export * from "./private-preview.js";
24
26
  export * from "./privileged.js";
25
27
  export * from "./read-only.js";
26
28
  export * from "./references.js";
29
+ export * from "./required-for-create.js";
27
30
  export * from "./search.js";
28
31
  export * from "./skip.js";
29
32
  export * from "./top.js";
30
33
  export * from "./workload-name-msa.js";
31
34
  export * from "./workload-name.js";
32
35
  export * from "./write-only.js";
36
+ export * from "./immutable.js";
33
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./abstract.js";
2
+ export * from "./action.js";
2
3
  export * from "./additional-query-parameters.js";
3
4
  export * from "./ags-attribute.js";
4
5
  export * from "./alternate-key.js";
@@ -10,6 +11,7 @@ export * from "./delta-collection.js";
10
11
  export * from "./deprecated-definition.js";
11
12
  export * from "./entity.js";
12
13
  export * from "./expand.js";
14
+ export * from "./filter.js";
13
15
  export * from "./flags.js";
14
16
  export * from "./function.js";
15
17
  export * from "./graph-route.js";
@@ -24,10 +26,12 @@ export * from "./private-preview.js";
24
26
  export * from "./privileged.js";
25
27
  export * from "./read-only.js";
26
28
  export * from "./references.js";
29
+ export * from "./required-for-create.js";
27
30
  export * from "./search.js";
28
31
  export * from "./skip.js";
29
32
  export * from "./top.js";
30
33
  export * from "./workload-name-msa.js";
31
34
  export * from "./workload-name.js";
32
35
  export * from "./write-only.js";
36
+ export * from "./immutable.js";
33
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,kCAAkC,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { DecoratorContext, Program, ModelProperty } from "@typespec/compiler";
2
+ /**
3
+ * `@requiredForCreate` - mark a model property as required when a request is made to
4
+ * Graph to create or update a resource.
5
+ *
6
+ * `@requiredForCreate` can only be applied to model properties.
7
+ */
8
+ export declare function $requiredForCreate(context: DecoratorContext, property: ModelProperty): void;
9
+ export declare function isRequiredForCreate(program: Program, property: ModelProperty): boolean;
10
+ //# sourceMappingURL=required-for-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"required-for-create.d.ts","sourceRoot":"","sources":["../../../src/decorators/required-for-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG9E;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,QAEpF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,WAE5E"}
@@ -0,0 +1,14 @@
1
+ const requiredForCreateKey = Symbol("requiredForCreate");
2
+ /**
3
+ * `@requiredForCreate` - mark a model property as required when a request is made to
4
+ * Graph to create or update a resource.
5
+ *
6
+ * `@requiredForCreate` can only be applied to model properties.
7
+ */
8
+ export function $requiredForCreate(context, property) {
9
+ context.program.stateSet(requiredForCreateKey).add(property);
10
+ }
11
+ export function isRequiredForCreate(program, property) {
12
+ return program.stateSet(requiredForCreateKey).has(property);
13
+ }
14
+ //# sourceMappingURL=required-for-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"required-for-create.js","sourceRoot":"","sources":["../../../src/decorators/required-for-create.ts"],"names":[],"mappings":"AACA,MAAM,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAyB,EAAE,QAAuB;IACnF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,QAAuB;IAC3E,OAAO,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9D,CAAC"}
@@ -14,6 +14,7 @@ export interface CollectionAnnotations {
14
14
  HasGetOnCollection: boolean;
15
15
  HasGetOnResource: boolean;
16
16
  HasPostOnCollection: boolean;
17
+ RequiredProperties: string[] | undefined;
17
18
  HasPatchOnResource: boolean;
18
19
  HasDeleteOnResource: boolean;
19
20
  HasCountOnCollection: boolean;
@@ -21,6 +22,8 @@ export interface CollectionAnnotations {
21
22
  NonExpandableProperties: string[] | undefined;
22
23
  HasSearchOnCollection: boolean;
23
24
  HasSkipOnCollection: boolean;
25
+ HasFilterOperation: boolean;
26
+ NonFilterableProperties: string[] | undefined;
24
27
  HasSortOnCollection: boolean;
25
28
  NonSortableProperties: string[] | undefined;
26
29
  HasTopOnCollection: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/entities/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAmC,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAoC,MAAM,aAAa,CAAC;AAIjF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+BAA+B,EAAE,OAAO,CAAC;IACzC,uBAAuB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+BAA+B,EAAE,OAAO,CAAC;IACzC,uBAAuB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAQD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAQlK;AAmCD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAQ5J"}
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/entities/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,OAAO,EAAmC,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAoC,MAAM,aAAa,CAAC;AAIjF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+BAA+B,EAAE,OAAO,CAAC;IACzC,uBAAuB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+BAA+B,EAAE,OAAO,CAAC;IACzC,uBAAuB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,uBAAuB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAQD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAQlK;AAmCD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAQ5J"}
@@ -1,7 +1,7 @@
1
1
  import { getDoc, walkPropertiesInherited } from "@typespec/compiler";
2
2
  import { getInterfaceNavigationSourceType } from "../utils.js";
3
3
  import { getOperationVerb } from "@typespec/http";
4
- import { getExpand, getOrderBy, isContains, isCount, isExpand, isOrderBy, isReferences, isSearch, isSkip, isTop } from "../index.js";
4
+ import { getExpand, getFilter, getOrderBy, isContains, isCount, isExpand, isFilter, isOrderBy, isReferences, isRequiredForCreate, isSearch, isSkip, isTop } from "../index.js";
5
5
  export function GetResourceAnnotations(program, namespaceName, navigationSources) {
6
6
  const annotations = new Map();
7
7
  navigationSources.forEach((entity, routePath) => {
@@ -46,6 +46,7 @@ function getCollectionAnnotations(program, namespaceName, routePath, entity) {
46
46
  verb: getOperationVerb(program, operation),
47
47
  hasMinimumParameters: operation.parameters.properties.size === minimumParameters,
48
48
  }));
49
+ const [hasFilterOperation, nonFilterableProperties] = getFilterProperties(program, type, operationMethods);
49
50
  const [hasExpandOnCollectionOrResource, nonExpandableProperties] = getExpandProperties(program, type, operationMethods);
50
51
  const [hasSortOnCollection, nonSortableProperties] = getSortProperties(program, type, operationMethods);
51
52
  const annotations = {
@@ -53,11 +54,14 @@ function getCollectionAnnotations(program, namespaceName, routePath, entity) {
53
54
  HasGetOnCollection: operationMethods.some(m => m.hasMinimumParameters && m.verb === "get"),
54
55
  HasGetOnResource: operationMethods.some(m => !m.hasMinimumParameters && m.verb === "get"),
55
56
  HasPostOnCollection: operationMethods.some(m => m.verb === "post"),
57
+ RequiredProperties: getRequiredForCreateProperties(program, type),
56
58
  HasPatchOnResource: operationMethods.some(m => !m.hasMinimumParameters && m.verb === "patch"),
57
59
  HasDeleteOnResource: operationMethods.some(m => !m.hasMinimumParameters && m.verb === "delete"),
58
60
  HasCountOnCollection: operationMethods.some(m => isCount(program, m.operation)),
59
61
  HasSearchOnCollection: operationMethods.some(m => isSearch(program, m.operation)),
60
62
  HasSkipOnCollection: operationMethods.some(m => isSkip(program, m.operation)),
63
+ HasFilterOperation: hasFilterOperation,
64
+ NonFilterableProperties: nonFilterableProperties,
61
65
  HasExpandOnCollectionOrResource: hasExpandOnCollectionOrResource,
62
66
  NonExpandableProperties: nonExpandableProperties,
63
67
  HasSortOnCollection: hasSortOnCollection,
@@ -81,6 +85,18 @@ function getExpandProperties(program, type, operationMethods) {
81
85
  }
82
86
  return [false, undefined];
83
87
  }
88
+ function getFilterProperties(program, type, operationMethods) {
89
+ const filterOperationMethod = operationMethods.find((m) => m.verb === "get" && m.hasMinimumParameters && isFilter(program, m.operation));
90
+ if (filterOperationMethod) {
91
+ const filterableProperties = getFilter(program, filterOperationMethod.operation);
92
+ const navigationProperties = [...walkPropertiesInherited(type)]
93
+ .filter((property) => !isContains(program, property) && !isReferences(program, property))
94
+ .map((property) => property.name);
95
+ const nonFilterableProperties = navigationProperties.filter((property) => !filterableProperties.includes(property));
96
+ return [true, nonFilterableProperties];
97
+ }
98
+ return [false, undefined];
99
+ }
84
100
  function getSortProperties(program, type, operationMethods) {
85
101
  const sortOperationMethod = operationMethods.find(m => m.verb === "get" &&
86
102
  m.hasMinimumParameters &&
@@ -95,4 +111,10 @@ function getSortProperties(program, type, operationMethods) {
95
111
  }
96
112
  return [false, undefined];
97
113
  }
114
+ function getRequiredForCreateProperties(program, type) {
115
+ const requiredForCreateProperties = [...walkPropertiesInherited(type)]
116
+ .filter((property) => isRequiredForCreate(program, property))
117
+ .map((property) => property.name);
118
+ return requiredForCreateProperties || undefined;
119
+ }
98
120
  //# sourceMappingURL=annotations.js.map