@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.
- package/dist/src/components/annotations.d.ts.map +1 -1
- package/dist/src/components/annotations.js +4 -3
- package/dist/src/components/annotations.js.map +1 -1
- package/dist/src/components/filter-restrictions-annotation.d.ts +6 -0
- package/dist/src/components/filter-restrictions-annotation.d.ts.map +1 -0
- package/dist/src/components/filter-restrictions-annotation.js +10 -0
- package/dist/src/components/filter-restrictions-annotation.js.map +1 -0
- package/dist/src/components/immutable-annotation.d.ts +5 -0
- package/dist/src/components/immutable-annotation.d.ts.map +1 -0
- package/dist/src/components/immutable-annotation.js +6 -0
- package/dist/src/components/immutable-annotation.js.map +1 -0
- package/dist/src/components/insert-restrictions-annotation.d.ts +6 -0
- package/dist/src/components/insert-restrictions-annotation.d.ts.map +1 -0
- package/dist/src/components/insert-restrictions-annotation.js +10 -0
- package/dist/src/components/insert-restrictions-annotation.js.map +1 -0
- package/dist/src/components/property-element.d.ts.map +1 -1
- package/dist/src/components/property-element.js +3 -1
- package/dist/src/components/property-element.js.map +1 -1
- package/dist/src/components/schema-element.d.ts.map +1 -1
- package/dist/src/components/schema-element.js +3 -5
- package/dist/src/components/schema-element.js.map +1 -1
- package/dist/src/decorators/action.d.ts +10 -0
- package/dist/src/decorators/action.d.ts.map +1 -0
- package/dist/src/decorators/action.js +16 -0
- package/dist/src/decorators/action.js.map +1 -0
- package/dist/src/decorators/filter.d.ts +11 -0
- package/dist/src/decorators/filter.d.ts.map +1 -0
- package/dist/src/decorators/filter.js +27 -0
- package/dist/src/decorators/filter.js.map +1 -0
- package/dist/src/decorators/graph-route.d.ts +1 -1
- package/dist/src/decorators/graph-route.d.ts.map +1 -1
- package/dist/src/decorators/graph-route.js +12 -7
- package/dist/src/decorators/graph-route.js.map +1 -1
- package/dist/src/decorators/immutable.d.ts +8 -0
- package/dist/src/decorators/immutable.d.ts.map +1 -0
- package/dist/src/decorators/immutable.js +12 -0
- package/dist/src/decorators/immutable.js.map +1 -0
- package/dist/src/decorators/index.d.ts +4 -0
- package/dist/src/decorators/index.d.ts.map +1 -1
- package/dist/src/decorators/index.js +4 -0
- package/dist/src/decorators/index.js.map +1 -1
- package/dist/src/decorators/required-for-create.d.ts +10 -0
- package/dist/src/decorators/required-for-create.d.ts.map +1 -0
- package/dist/src/decorators/required-for-create.js +14 -0
- package/dist/src/decorators/required-for-create.js.map +1 -0
- package/dist/src/entities/annotations.d.ts +3 -0
- package/dist/src/entities/annotations.d.ts.map +1 -1
- package/dist/src/entities/annotations.js +23 -1
- package/dist/src/entities/annotations.js.map +1 -1
- package/dist/src/entities/model.d.ts +1 -0
- package/dist/src/entities/model.d.ts.map +1 -1
- package/dist/src/entities/model.js +2 -1
- package/dist/src/entities/model.js.map +1 -1
- package/dist/src/entities/namespace.d.ts +0 -2
- package/dist/src/entities/namespace.d.ts.map +1 -1
- package/dist/src/entities/namespace.js +27 -7
- package/dist/src/entities/namespace.js.map +1 -1
- package/dist/src/entities/operation.d.ts.map +1 -1
- package/dist/src/entities/operation.js +1 -2
- package/dist/src/entities/operation.js.map +1 -1
- package/dist/src/entities/property.d.ts.map +1 -1
- package/dist/src/entities/property.js +3 -0
- package/dist/src/entities/property.js.map +1 -1
- package/dist/src/lib.d.ts +12 -0
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +3 -0
- package/dist/src/lib.js.map +1 -1
- package/dist/src/linter.d.ts.map +1 -1
- package/dist/src/linter.js +4 -0
- package/dist/src/linter.js.map +1 -1
- package/dist/src/rules/filter.d.ts +4 -0
- package/dist/src/rules/filter.d.ts.map +1 -0
- package/dist/src/rules/filter.js +92 -0
- package/dist/src/rules/filter.js.map +1 -0
- package/dist/src/rules/graph-route.d.ts +5 -0
- package/dist/src/rules/graph-route.d.ts.map +1 -0
- package/dist/src/rules/graph-route.js +39 -0
- package/dist/src/rules/graph-route.js.map +1 -0
- package/dist/src/rules/index.d.ts +3 -0
- package/dist/src/rules/index.d.ts.map +1 -1
- package/dist/src/rules/index.js +3 -0
- package/dist/src/rules/index.js.map +1 -1
- package/dist/src/rules/required-for-create.d.ts +2 -0
- package/dist/src/rules/required-for-create.d.ts.map +1 -0
- package/dist/src/rules/required-for-create.js +40 -0
- package/dist/src/rules/required-for-create.js.map +1 -0
- package/dist/src/utils.d.ts +13 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +49 -17
- package/dist/src/utils.js.map +1 -1
- package/lib/decorators.tsp +32 -0
- package/lib/lib.tsp +4 -15
- 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;
|
|
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(
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../../src/components/annotations.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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;
|
|
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;
|
|
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,
|
|
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,
|
|
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;
|
|
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)
|
|
10
|
-
|
|
11
|
-
path
|
|
12
|
-
|
|
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
|
-
|
|
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":"AAUA,OAAO,EAAE,
|
|
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
|