angular-odata 0.128.0 → 0.131.0
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/README.md +27 -244
- package/fesm2022/angular-odata.mjs +2320 -1118
- package/fesm2022/angular-odata.mjs.map +1 -1
- package/lib/api.d.ts +10 -11
- package/lib/cache/cache.d.ts +2 -2
- package/lib/cache/memory.d.ts +2 -2
- package/lib/cache/storage.d.ts +2 -2
- package/lib/index.d.ts +1 -0
- package/lib/loaders.d.ts +8 -8
- package/lib/metadata/csdl/csdl-annotation.d.ts +62 -26
- package/lib/metadata/csdl/csdl-entity-container.d.ts +8 -3
- package/lib/metadata/csdl/csdl-entity-set.d.ts +7 -2
- package/lib/metadata/csdl/csdl-enum-type.d.ts +11 -3
- package/lib/metadata/csdl/csdl-function-action.d.ts +54 -11
- package/lib/metadata/csdl/csdl-navigation-property-binding.d.ts +4 -0
- package/lib/metadata/csdl/csdl-reference.d.ts +26 -3
- package/lib/metadata/csdl/csdl-schema.d.ts +5 -2
- package/lib/metadata/csdl/csdl-singleton.d.ts +5 -0
- package/lib/metadata/csdl/csdl-structural-property.d.ts +19 -3
- package/lib/metadata/csdl/csdl-structured-type.d.ts +28 -7
- package/lib/metadata/csdl/csdl-type-definition.d.ts +3 -0
- package/lib/metadata/metadata.d.ts +16 -3
- package/lib/models/collection.d.ts +2 -1
- package/lib/models/model.d.ts +6 -5
- package/lib/models/options.d.ts +11 -4
- package/lib/module.d.ts +3 -3
- package/lib/options.d.ts +3 -3
- package/lib/resources/path/segments.d.ts +3 -3
- package/lib/resources/query/builder.d.ts +3 -2
- package/lib/resources/query/expressions/apply.d.ts +1 -1
- package/lib/resources/query/expressions/compute.d.ts +1 -1
- package/lib/resources/query/expressions/count.d.ts +1 -1
- package/lib/resources/query/expressions/expand.d.ts +5 -2
- package/lib/resources/query/expressions/filter.d.ts +2 -1
- package/lib/resources/query/expressions/orderby.d.ts +2 -1
- package/lib/resources/query/expressions/search.d.ts +2 -1
- package/lib/resources/query/expressions/select.d.ts +2 -1
- package/lib/resources/query/expressions/syntax.d.ts +2 -2
- package/lib/resources/query/handlers.d.ts +17 -5
- package/lib/resources/query/options.d.ts +3 -3
- package/lib/resources/resource.d.ts +36 -8
- package/lib/resources/types/action.d.ts +4 -4
- package/lib/resources/types/entity-set.d.ts +15 -8
- package/lib/resources/types/entity.d.ts +5 -1
- package/lib/resources/types/function.d.ts +4 -4
- package/lib/resources/types/navigation-property.d.ts +12 -3
- package/lib/resources/types/property.d.ts +14 -3
- package/lib/resources/types/singleton.d.ts +5 -1
- package/lib/schema/annotation.d.ts +3 -3
- package/lib/schema/callable.d.ts +3 -3
- package/lib/schema/element.d.ts +3 -3
- package/lib/schema/entity-container.d.ts +2 -2
- package/lib/schema/entity-set.d.ts +2 -2
- package/lib/schema/enum-type.d.ts +10 -10
- package/lib/schema/parsers/callable.d.ts +4 -4
- package/lib/schema/parsers/enum-type.d.ts +15 -15
- package/lib/schema/parsers/structured-type.d.ts +8 -5
- package/lib/schema/schema.d.ts +3 -3
- package/lib/schema/singleton.d.ts +2 -2
- package/lib/schema/structured-type.d.ts +7 -4
- package/lib/services/entity-set.d.ts +9 -6
- package/lib/services/entity.d.ts +1 -1
- package/lib/services/singleton.d.ts +1 -1
- package/lib/settings.d.ts +2 -2
- package/lib/types.d.ts +82 -69
- package/lib/utils/enums.d.ts +12 -12
- package/lib/utils/http.d.ts +1 -1
- package/lib/utils/objects.d.ts +1 -1
- package/lib/utils/odata.d.ts +2 -2
- package/lib/utils/strings.d.ts +2 -2
- package/package.json +3 -5
- package/schematics/apigen/angular/api-config.js +7 -1
- package/schematics/apigen/angular/api-config.js.map +1 -1
- package/schematics/apigen/angular/base.d.ts +22 -2
- package/schematics/apigen/angular/base.js +82 -42
- package/schematics/apigen/angular/base.js.map +1 -1
- package/schematics/apigen/angular/entity.js +7 -1
- package/schematics/apigen/angular/entity.js.map +1 -1
- package/schematics/apigen/angular/enum.js +1 -0
- package/schematics/apigen/angular/enum.js.map +1 -1
- package/schematics/apigen/angular/module.js.map +1 -1
- package/schematics/apigen/angular/service.js +3 -2
- package/schematics/apigen/angular/service.js.map +1 -1
- package/schematics/apigen/files/api-config/__fileName__.ts +8 -6
- package/schematics/apigen/files/entity/__fileName__.ts +2 -2
- package/schematics/apigen/files/entitycontainer-service/__fileName__.ts +1 -1
- package/schematics/apigen/files/entityset-service/__fileName__.ts +1 -1
- package/schematics/apigen/files/enum/__fileName__.ts +1 -1
- package/schematics/apigen/files/metadata/metadata.json +1 -0
- package/schematics/apigen/files/singleton-service/__fileName__.ts +1 -1
- package/schematics/apigen/index.js +56 -12
- package/schematics/apigen/index.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-annotation.d.ts +56 -23
- package/schematics/apigen/metadata/csdl/csdl-annotation.js +143 -13
- package/schematics/apigen/metadata/csdl/csdl-annotation.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-entity-container.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js +19 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-entity-set.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js +11 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-enum-type.d.ts +6 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js +17 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +37 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js +52 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +4 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +6 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-reference.d.ts +15 -3
- package/schematics/apigen/metadata/csdl/csdl-reference.js +26 -2
- package/schematics/apigen/metadata/csdl/csdl-reference.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-schema.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js +37 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-singleton.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js +8 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +16 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js +53 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +22 -3
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js +47 -2
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -1
- package/schematics/apigen/metadata/csdl/csdl-type-definition.d.ts +3 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js +19 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js.map +1 -1
- package/schematics/apigen/metadata/metadata.d.ts +10 -0
- package/schematics/apigen/metadata/metadata.js +12 -6
- package/schematics/apigen/metadata/metadata.js.map +1 -1
- package/schematics/apigen/metadata/parser.js.map +1 -1
- package/schematics/apigen/schema.d.ts +2 -1
- package/schematics/apigen/schema.json +15 -14
- package/schematics/apigen/utils.d.ts +1 -0
- package/schematics/apigen/utils.js +25 -1
- package/schematics/apigen/utils.js.map +1 -1
- package/schematics/ng-add/index.js +1 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/esm2022/angular-odata.mjs +0 -5
- package/esm2022/lib/annotations.mjs +0 -140
- package/esm2022/lib/api.mjs +0 -419
- package/esm2022/lib/cache/cache.mjs +0 -175
- package/esm2022/lib/cache/index.mjs +0 -4
- package/esm2022/lib/cache/memory.mjs +0 -30
- package/esm2022/lib/cache/storage.mjs +0 -55
- package/esm2022/lib/client.mjs +0 -212
- package/esm2022/lib/constants.mjs +0 -95
- package/esm2022/lib/helper.mjs +0 -280
- package/esm2022/lib/index.mjs +0 -21
- package/esm2022/lib/loaders.mjs +0 -39
- package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +0 -95
- package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +0 -27
- package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +0 -24
- package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +0 -37
- package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +0 -94
- package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +0 -7
- package/esm2022/lib/metadata/csdl/csdl-reference.mjs +0 -23
- package/esm2022/lib/metadata/csdl/csdl-schema.mjs +0 -39
- package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +0 -15
- package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +0 -70
- package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +0 -92
- package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +0 -15
- package/esm2022/lib/metadata/index.mjs +0 -3
- package/esm2022/lib/metadata/metadata.mjs +0 -14
- package/esm2022/lib/metadata/parser.mjs +0 -563
- package/esm2022/lib/models/collection.mjs +0 -814
- package/esm2022/lib/models/index.mjs +0 -4
- package/esm2022/lib/models/model.mjs +0 -553
- package/esm2022/lib/models/options.mjs +0 -1179
- package/esm2022/lib/module.mjs +0 -55
- package/esm2022/lib/options.mjs +0 -36
- package/esm2022/lib/resources/index.mjs +0 -7
- package/esm2022/lib/resources/options.mjs +0 -56
- package/esm2022/lib/resources/path/handlers.mjs +0 -79
- package/esm2022/lib/resources/path/index.mjs +0 -3
- package/esm2022/lib/resources/path/segments.mjs +0 -148
- package/esm2022/lib/resources/query/builder.mjs +0 -636
- package/esm2022/lib/resources/query/expressions/apply.mjs +0 -236
- package/esm2022/lib/resources/query/expressions/base.mjs +0 -25
- package/esm2022/lib/resources/query/expressions/compute.mjs +0 -54
- package/esm2022/lib/resources/query/expressions/count.mjs +0 -116
- package/esm2022/lib/resources/query/expressions/expand.mjs +0 -147
- package/esm2022/lib/resources/query/expressions/filter.mjs +0 -178
- package/esm2022/lib/resources/query/expressions/index.mjs +0 -10
- package/esm2022/lib/resources/query/expressions/orderby.mjs +0 -79
- package/esm2022/lib/resources/query/expressions/search.mjs +0 -141
- package/esm2022/lib/resources/query/expressions/select.mjs +0 -47
- package/esm2022/lib/resources/query/expressions/syntax.mjs +0 -751
- package/esm2022/lib/resources/query/handlers.mjs +0 -420
- package/esm2022/lib/resources/query/index.mjs +0 -5
- package/esm2022/lib/resources/query/options.mjs +0 -139
- package/esm2022/lib/resources/request.mjs +0 -196
- package/esm2022/lib/resources/resource.mjs +0 -311
- package/esm2022/lib/resources/response.mjs +0 -174
- package/esm2022/lib/resources/types/action.mjs +0 -116
- package/esm2022/lib/resources/types/batch.mjs +0 -428
- package/esm2022/lib/resources/types/count.mjs +0 -33
- package/esm2022/lib/resources/types/entity-set.mjs +0 -131
- package/esm2022/lib/resources/types/entity.mjs +0 -112
- package/esm2022/lib/resources/types/function.mjs +0 -146
- package/esm2022/lib/resources/types/index.mjs +0 -15
- package/esm2022/lib/resources/types/media.mjs +0 -44
- package/esm2022/lib/resources/types/metadata.mjs +0 -35
- package/esm2022/lib/resources/types/navigation-property.mjs +0 -256
- package/esm2022/lib/resources/types/options.mjs +0 -2
- package/esm2022/lib/resources/types/property.mjs +0 -197
- package/esm2022/lib/resources/types/reference.mjs +0 -87
- package/esm2022/lib/resources/types/singleton.mjs +0 -130
- package/esm2022/lib/resources/types/value.mjs +0 -48
- package/esm2022/lib/schema/annotation.mjs +0 -37
- package/esm2022/lib/schema/callable.mjs +0 -66
- package/esm2022/lib/schema/element.mjs +0 -67
- package/esm2022/lib/schema/entity-container.mjs +0 -11
- package/esm2022/lib/schema/entity-set.mjs +0 -9
- package/esm2022/lib/schema/enum-type.mjs +0 -68
- package/esm2022/lib/schema/index.mjs +0 -9
- package/esm2022/lib/schema/parsers/callable.mjs +0 -110
- package/esm2022/lib/schema/parsers/edm.mjs +0 -101
- package/esm2022/lib/schema/parsers/enum-type.mjs +0 -130
- package/esm2022/lib/schema/parsers/index.mjs +0 -5
- package/esm2022/lib/schema/parsers/structured-type.mjs +0 -514
- package/esm2022/lib/schema/schema.mjs +0 -45
- package/esm2022/lib/schema/singleton.mjs +0 -9
- package/esm2022/lib/schema/structured-type.mjs +0 -213
- package/esm2022/lib/services/base.mjs +0 -29
- package/esm2022/lib/services/entity-set.mjs +0 -155
- package/esm2022/lib/services/entity.mjs +0 -12
- package/esm2022/lib/services/factory.mjs +0 -44
- package/esm2022/lib/services/index.mjs +0 -5
- package/esm2022/lib/services/singleton.mjs +0 -54
- package/esm2022/lib/settings.mjs +0 -112
- package/esm2022/lib/types.mjs +0 -118
- package/esm2022/lib/utils/arraybuffers.mjs +0 -46
- package/esm2022/lib/utils/arrays.mjs +0 -10
- package/esm2022/lib/utils/dates.mjs +0 -18
- package/esm2022/lib/utils/durations.mjs +0 -40
- package/esm2022/lib/utils/enums.mjs +0 -61
- package/esm2022/lib/utils/http.mjs +0 -95
- package/esm2022/lib/utils/index.mjs +0 -10
- package/esm2022/lib/utils/objects.mjs +0 -204
- package/esm2022/lib/utils/odata.mjs +0 -22
- package/esm2022/lib/utils/strings.mjs +0 -20
- package/esm2022/lib/utils/types.mjs +0 -136
- package/esm2022/lib/utils/urls.mjs +0 -24
- package/esm2022/public-api.mjs +0 -5
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { OData } from '../utils/odata';
|
|
2
|
-
import { ODataAnnotatable } from './annotation';
|
|
3
|
-
import { ODataCallable } from './callable';
|
|
4
|
-
import { ODataEntityContainer } from './entity-container';
|
|
5
|
-
import { ODataEnumType } from './enum-type';
|
|
6
|
-
import { ODataStructuredType } from './structured-type';
|
|
7
|
-
export class ODataSchema extends ODataAnnotatable {
|
|
8
|
-
constructor(config, api) {
|
|
9
|
-
super(config);
|
|
10
|
-
this.api = api;
|
|
11
|
-
this.namespace = config.namespace;
|
|
12
|
-
this.alias = config.alias;
|
|
13
|
-
this.enums = (config.enums ?? []).map((config) => new ODataEnumType(config, this));
|
|
14
|
-
this.entities = (config.entities ?? []).map((config) => new ODataStructuredType(config, this));
|
|
15
|
-
this.callables = OData.mergeCallableParameters(config.callables ?? []).map((config) => new ODataCallable(config, this));
|
|
16
|
-
this.containers = (config.containers ?? []).map((config) => new ODataEntityContainer(config, this));
|
|
17
|
-
}
|
|
18
|
-
isNamespaceOf(type) {
|
|
19
|
-
return (type.startsWith(this.namespace) ??
|
|
20
|
-
(this.alias && type.startsWith(this.alias)));
|
|
21
|
-
}
|
|
22
|
-
get entitySets() {
|
|
23
|
-
return this.containers.reduce((acc, container) => [...acc, ...container.entitySets], []);
|
|
24
|
-
}
|
|
25
|
-
get singletons() {
|
|
26
|
-
return this.containers.reduce((acc, container) => [...acc, ...container.singletons], []);
|
|
27
|
-
}
|
|
28
|
-
//#region Find for Type
|
|
29
|
-
createStructuredType(config) {
|
|
30
|
-
const entity = new ODataStructuredType(config, this);
|
|
31
|
-
entity.configure({ options: this.api.options.parserOptions });
|
|
32
|
-
this.entities.push(entity);
|
|
33
|
-
return entity;
|
|
34
|
-
}
|
|
35
|
-
//#endregion
|
|
36
|
-
configure({ options }) {
|
|
37
|
-
// Configure Enums
|
|
38
|
-
this.enums.forEach((enu) => enu.configure({ options }));
|
|
39
|
-
// Configure Entities
|
|
40
|
-
this.entities.forEach((structured) => structured.configure({ options }));
|
|
41
|
-
// Configure callables
|
|
42
|
-
this.callables.forEach((callable) => callable.configure({ options }));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEQsTUFBTSxPQUFPLFdBQVksU0FBUSxnQkFBZ0I7SUFTL0MsWUFBWSxNQUFvQixFQUFFLEdBQWE7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDbkMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDNUMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDekMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ3hFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQzdDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDbkQsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixPQUFPLENBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQy9CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQzNCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckQsRUFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMzQixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQ3JELEVBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsdUJBQXVCO0lBQ2hCLG9CQUFvQixDQUFJLE1BQStCO1FBQzVELE1BQU0sTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsWUFBWTtJQUVaLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBOEI7UUFDL0Msa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT0RhdGFBcGkgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgUGFyc2VyT3B0aW9ucywgU2NoZW1hQ29uZmlnLCBTdHJ1Y3R1cmVkVHlwZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhIH0gZnJvbSAnLi4vdXRpbHMvb2RhdGEnO1xuaW1wb3J0IHsgT0RhdGFBbm5vdGF0YWJsZSB9IGZyb20gJy4vYW5ub3RhdGlvbic7XG5pbXBvcnQgeyBPRGF0YUNhbGxhYmxlIH0gZnJvbSAnLi9jYWxsYWJsZSc7XG5pbXBvcnQgeyBPRGF0YUVudGl0eUNvbnRhaW5lciB9IGZyb20gJy4vZW50aXR5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNldCB9IGZyb20gJy4vZW50aXR5LXNldCc7XG5pbXBvcnQgeyBPRGF0YUVudW1UeXBlIH0gZnJvbSAnLi9lbnVtLXR5cGUnO1xuaW1wb3J0IHsgT0RhdGFTaW5nbGV0b24gfSBmcm9tICcuL3NpbmdsZXRvbic7XG5pbXBvcnQgeyBPRGF0YVN0cnVjdHVyZWRUeXBlIH0gZnJvbSAnLi9zdHJ1Y3R1cmVkLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFTY2hlbWEgZXh0ZW5kcyBPRGF0YUFubm90YXRhYmxlIHtcbiAgYXBpOiBPRGF0YUFwaTtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGFsaWFzPzogc3RyaW5nO1xuICBlbnVtczogT0RhdGFFbnVtVHlwZTxhbnk+W107XG4gIGVudGl0aWVzOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT5bXTtcbiAgY2FsbGFibGVzOiBPRGF0YUNhbGxhYmxlPGFueT5bXTtcbiAgY29udGFpbmVyczogT0RhdGFFbnRpdHlDb250YWluZXJbXTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFNjaGVtYUNvbmZpZywgYXBpOiBPRGF0YUFwaSkge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBjb25maWcubmFtZXNwYWNlO1xuICAgIHRoaXMuYWxpYXMgPSBjb25maWcuYWxpYXM7XG4gICAgdGhpcy5lbnVtcyA9IChjb25maWcuZW51bXMgPz8gW10pLm1hcChcbiAgICAgIChjb25maWcpID0+IG5ldyBPRGF0YUVudW1UeXBlKGNvbmZpZywgdGhpcyksXG4gICAgKTtcbiAgICB0aGlzLmVudGl0aWVzID0gKGNvbmZpZy5lbnRpdGllcyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhU3RydWN0dXJlZFR5cGUoY29uZmlnLCB0aGlzKSxcbiAgICApO1xuICAgIHRoaXMuY2FsbGFibGVzID0gT0RhdGEubWVyZ2VDYWxsYWJsZVBhcmFtZXRlcnMoY29uZmlnLmNhbGxhYmxlcyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhQ2FsbGFibGUoY29uZmlnLCB0aGlzKSxcbiAgICApO1xuICAgIHRoaXMuY29udGFpbmVycyA9IChjb25maWcuY29udGFpbmVycyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhRW50aXR5Q29udGFpbmVyKGNvbmZpZywgdGhpcyksXG4gICAgKTtcbiAgfVxuXG4gIGlzTmFtZXNwYWNlT2YodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGUuc3RhcnRzV2l0aCh0aGlzLm5hbWVzcGFjZSkgPz9cbiAgICAgICh0aGlzLmFsaWFzICYmIHR5cGUuc3RhcnRzV2l0aCh0aGlzLmFsaWFzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGVudGl0eVNldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVycy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjb250YWluZXIpID0+IFsuLi5hY2MsIC4uLmNvbnRhaW5lci5lbnRpdHlTZXRzXSxcbiAgICAgIFtdIGFzIE9EYXRhRW50aXR5U2V0W10sXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzaW5nbGV0b25zKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcnMucmVkdWNlKFxuICAgICAgKGFjYywgY29udGFpbmVyKSA9PiBbLi4uYWNjLCAuLi5jb250YWluZXIuc2luZ2xldG9uc10sXG4gICAgICBbXSBhcyBPRGF0YVNpbmdsZXRvbltdLFxuICAgICk7XG4gIH1cblxuICAvLyNyZWdpb24gRmluZCBmb3IgVHlwZVxuICBwdWJsaWMgY3JlYXRlU3RydWN0dXJlZFR5cGU8VD4oY29uZmlnOiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZzxUPikge1xuICAgIGNvbnN0IGVudGl0eSA9IG5ldyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+KGNvbmZpZywgdGhpcyk7XG4gICAgZW50aXR5LmNvbmZpZ3VyZSh7IG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMucGFyc2VyT3B0aW9ucyB9KTtcbiAgICB0aGlzLmVudGl0aWVzLnB1c2goZW50aXR5KTtcbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGNvbmZpZ3VyZSh7IG9wdGlvbnMgfTogeyBvcHRpb25zOiBQYXJzZXJPcHRpb25zIH0pIHtcbiAgICAvLyBDb25maWd1cmUgRW51bXNcbiAgICB0aGlzLmVudW1zLmZvckVhY2goKGVudSkgPT4gZW51LmNvbmZpZ3VyZSh7IG9wdGlvbnMgfSkpO1xuICAgIC8vIENvbmZpZ3VyZSBFbnRpdGllc1xuICAgIHRoaXMuZW50aXRpZXMuZm9yRWFjaCgoc3RydWN0dXJlZCkgPT4gc3RydWN0dXJlZC5jb25maWd1cmUoeyBvcHRpb25zIH0pKTtcbiAgICAvLyBDb25maWd1cmUgY2FsbGFibGVzXG4gICAgdGhpcy5jYWxsYWJsZXMuZm9yRWFjaCgoY2FsbGFibGUpID0+IGNhbGxhYmxlLmNvbmZpZ3VyZSh7IG9wdGlvbnMgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ODataSchemaElement } from './element';
|
|
2
|
-
export class ODataSingleton extends ODataSchemaElement {
|
|
3
|
-
constructor(config, schema) {
|
|
4
|
-
super(config, schema);
|
|
5
|
-
this.singletonType = config.type;
|
|
6
|
-
this.service = config.service;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zaW5nbGV0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRy9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBR3BELFlBQVksTUFBdUIsRUFBRSxNQUFtQjtRQUN0RCxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2luZ2xldG9uQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWFFbGVtZW50IH0gZnJvbSAnLi9lbGVtZW50JztcbmltcG9ydCB7IE9EYXRhU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFTaW5nbGV0b24gZXh0ZW5kcyBPRGF0YVNjaGVtYUVsZW1lbnQge1xuICBzaW5nbGV0b25UeXBlOiBzdHJpbmc7XG4gIHNlcnZpY2U6IHsgbmV3ICguLi5wYXJhbXM6IGFueVtdKTogYW55IH07XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogU2luZ2xldG9uQ29uZmlnLCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgc3VwZXIoY29uZmlnLCBzY2hlbWEpO1xuICAgIHRoaXMuc2luZ2xldG9uVHlwZSA9IGNvbmZpZy50eXBlO1xuICAgIHRoaXMuc2VydmljZSA9IGNvbmZpZy5zZXJ2aWNlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { ODataParserSchemaElement } from './element';
|
|
2
|
-
import { ODataStructuredTypeParser, } from './parsers';
|
|
3
|
-
export class ODataStructuredType extends ODataParserSchemaElement {
|
|
4
|
-
constructor(config, schema) {
|
|
5
|
-
super(config, schema, new ODataStructuredTypeParser(config, schema.namespace, schema.alias));
|
|
6
|
-
this.children = [];
|
|
7
|
-
this.base = config.base;
|
|
8
|
-
this.model = config.model;
|
|
9
|
-
this.collection = config.collection;
|
|
10
|
-
}
|
|
11
|
-
configure({ options }) {
|
|
12
|
-
if (this.base) {
|
|
13
|
-
const parent = this.api.findStructuredType(this.base);
|
|
14
|
-
parent.children.push(this);
|
|
15
|
-
this.parent = parent;
|
|
16
|
-
}
|
|
17
|
-
this.parser.configure({
|
|
18
|
-
options,
|
|
19
|
-
parserForType: (t) => this.api.parserForType(t),
|
|
20
|
-
});
|
|
21
|
-
if (this.model !== undefined) {
|
|
22
|
-
this.model.meta = this.api.optionsForType(this.type(), {
|
|
23
|
-
config: this.model.options,
|
|
24
|
-
structuredType: this,
|
|
25
|
-
});
|
|
26
|
-
if (this.model.meta !== undefined) {
|
|
27
|
-
// Configure
|
|
28
|
-
this.model.meta.configure({ options });
|
|
29
|
-
}
|
|
30
|
-
if (this.collection !== undefined) {
|
|
31
|
-
this.collection.model = this.model;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Returns a boolean indicating if the structured type is a subtype of the given type.
|
|
37
|
-
* @param type String representation of the type
|
|
38
|
-
* @returns True if the callable is type of the given type
|
|
39
|
-
*/
|
|
40
|
-
isSubtypeOf(schema) {
|
|
41
|
-
return (super.isSubtypeOf(schema) ||
|
|
42
|
-
(this.parent !== undefined && this.parent.isSubtypeOf(schema)));
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Returns a boolean indicating if the structured type is a supertype of the given type.
|
|
46
|
-
* @param type String representation of the type
|
|
47
|
-
* @returns True if the callable is type of the given type
|
|
48
|
-
*/
|
|
49
|
-
isSupertypeOf(schema) {
|
|
50
|
-
return (super.isSupertypeOf(schema) ||
|
|
51
|
-
this.children.some((c) => c.isSupertypeOf(schema)));
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Returns a boolean indicating if the structured type has a simple key.
|
|
55
|
-
* @returns True if the structured type has a simple key
|
|
56
|
-
*/
|
|
57
|
-
isSimpleKey() {
|
|
58
|
-
return this.keys().length === 1;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Returns a boolean indicating if the structured type has a compound key.
|
|
62
|
-
* @returns True if the structured type has a compound key.
|
|
63
|
-
*/
|
|
64
|
-
isCompoundKey() {
|
|
65
|
-
return this.keys().length > 1;
|
|
66
|
-
}
|
|
67
|
-
isOpenType() {
|
|
68
|
-
return this.parser.isOpenType();
|
|
69
|
-
}
|
|
70
|
-
isEntityType() {
|
|
71
|
-
return this.parser.isEntityType();
|
|
72
|
-
}
|
|
73
|
-
isComplexType() {
|
|
74
|
-
return this.parser.isComplexType();
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Find the field parser for the given field name.
|
|
78
|
-
* @param name Name of the field
|
|
79
|
-
* @returns The field parser
|
|
80
|
-
*/
|
|
81
|
-
field(name) {
|
|
82
|
-
return this.parser.field(name);
|
|
83
|
-
}
|
|
84
|
-
addField(name, config) {
|
|
85
|
-
return this.parser.addField(name, config);
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Find a parent schema of the structured type.
|
|
89
|
-
* @param predicate Function for evaluate the schemas in the hierarchy.
|
|
90
|
-
* @returns The schema that matches the predicate.
|
|
91
|
-
*/
|
|
92
|
-
findParentSchema(predicate) {
|
|
93
|
-
if (predicate(this))
|
|
94
|
-
return this;
|
|
95
|
-
if (this.parent === undefined)
|
|
96
|
-
return undefined;
|
|
97
|
-
return this.parent.findParentSchema(predicate);
|
|
98
|
-
}
|
|
99
|
-
findChildSchema(predicate) {
|
|
100
|
-
if (predicate(this))
|
|
101
|
-
return this;
|
|
102
|
-
let match;
|
|
103
|
-
for (let ch of this.children) {
|
|
104
|
-
match = ch.findChildSchema(predicate);
|
|
105
|
-
if (match !== undefined)
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
return match;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Find a parent schema of the structured type for the given field.
|
|
112
|
-
* @param field Field that belongs to the structured type
|
|
113
|
-
* @returns The schema of the field
|
|
114
|
-
*/
|
|
115
|
-
findParentSchemaForField(field) {
|
|
116
|
-
return this.findParentSchema((p) => p
|
|
117
|
-
.fields({ include_parents: false, include_navigation: true })
|
|
118
|
-
.find((f) => f === field) !== undefined);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Picks the fields from attributes.
|
|
122
|
-
* @param attrs
|
|
123
|
-
* @param include_parents Include the parent fields
|
|
124
|
-
* @param include_navigation Include the navigation fields
|
|
125
|
-
* @param include_etag Include the etag field
|
|
126
|
-
* @returns The picked fields
|
|
127
|
-
*/
|
|
128
|
-
pick(attrs, { include_parents = true, include_navigation = false, include_etag = true, } = {}) {
|
|
129
|
-
return this.parser.pick(attrs, {
|
|
130
|
-
include_etag,
|
|
131
|
-
include_navigation,
|
|
132
|
-
include_parents,
|
|
133
|
-
options: this.api.options,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Deseialize the given value from the structured type.
|
|
138
|
-
* @param value Value to deserialize
|
|
139
|
-
* @param options Options for deserialization
|
|
140
|
-
* @returns Deserialized value
|
|
141
|
-
*/
|
|
142
|
-
deserialize(value, options) {
|
|
143
|
-
return this.parser.deserialize(value, options);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Serialize the given value for the structured type.
|
|
147
|
-
* @param value Value to serialize
|
|
148
|
-
* @param options Options for serialization
|
|
149
|
-
* @returns Serialized value
|
|
150
|
-
*/
|
|
151
|
-
serialize(value, options) {
|
|
152
|
-
return this.parser.serialize(value, options);
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Encode the given value for the structured type.
|
|
156
|
-
* @param value Value to encode
|
|
157
|
-
* @param options Options for encoding
|
|
158
|
-
* @returns Encoded value
|
|
159
|
-
*/
|
|
160
|
-
encode(value, options) {
|
|
161
|
-
return this.parser.encode(value, options);
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Returns all fields of the structured type.
|
|
165
|
-
* @param include_navigation Include navigation properties in the result.
|
|
166
|
-
* @param include_parents Include the parent types in the result.
|
|
167
|
-
* @returns All fields of the structured type.
|
|
168
|
-
*/
|
|
169
|
-
fields({ include_navigation, include_parents, }) {
|
|
170
|
-
return this.parser.fields({ include_navigation, include_parents });
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Returns the keys of the structured type.
|
|
174
|
-
* @param include_parents Include the parent fields
|
|
175
|
-
* @returns The keys of the structured type
|
|
176
|
-
*/
|
|
177
|
-
keys({ include_parents = true, } = {}) {
|
|
178
|
-
return this.parser.keys({ include_parents });
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Resolve the key of the structured type for the given value.
|
|
182
|
-
* @param attrs Attributes of the value
|
|
183
|
-
* @returns Resolved key
|
|
184
|
-
*/
|
|
185
|
-
resolveKey(attrs) {
|
|
186
|
-
return this.parser.resolveKey(attrs);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Returns the defaults values for the structured type.
|
|
190
|
-
* @returns Default values for the structured type
|
|
191
|
-
*/
|
|
192
|
-
defaults() {
|
|
193
|
-
return this.parser.defaults();
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Convert the structured type to json schema
|
|
197
|
-
* @param options Options for json schema
|
|
198
|
-
* @returns Json Schema
|
|
199
|
-
*/
|
|
200
|
-
toJsonSchema(options = {}) {
|
|
201
|
-
return this.parser.toJsonSchema(options);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Validate the given value against the structured type.
|
|
205
|
-
* @param attrs Attributes of the value
|
|
206
|
-
* @param method Method to use for the process validation
|
|
207
|
-
* @returns Object with the errors
|
|
208
|
-
*/
|
|
209
|
-
validate(attrs, { method, navigation = false, } = {}) {
|
|
210
|
-
return this.parser.validate(attrs, { method, navigation });
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zdHJ1Y3R1cmVkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JELE9BQU8sRUFJTCx5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxPQUFPLG1CQUF1QixTQUFRLHdCQUczQztJQU9DLFlBQVksTUFBK0IsRUFBRSxNQUFtQjtRQUM5RCxLQUFLLENBQ0gsTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDdEUsQ0FBQztRQVRKLGFBQVEsR0FBK0IsRUFBRSxDQUFDO1FBVXhDLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQW9DLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBOEI7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FDeEMsSUFBSSxDQUFDLElBQUksQ0FDa0IsQ0FBQztZQUM5QixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ3BCLE9BQU87WUFDUCxhQUFhLEVBQUUs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QUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9EYXRhQ29sbGVjdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWwnO1xuaW1wb3J0IHtcbiAgUGFyc2VyT3B0aW9ucyxcbiAgU3RydWN0dXJlZFR5cGVDb25maWcsXG4gIFN0cnVjdHVyZWRUeXBlRmllbGRDb25maWcsXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhUGFyc2VyU2NoZW1hRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5pbXBvcnQge1xuICBKc29uU2NoZW1hT3B0aW9ucyxcbiAgT0RhdGFFbnRpdHlUeXBlS2V5LFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXIsXG4gIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIsXG59IGZyb20gJy4vcGFyc2Vycyc7XG5pbXBvcnQgeyBPRGF0YVNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhU3RydWN0dXJlZFR5cGU8VD4gZXh0ZW5kcyBPRGF0YVBhcnNlclNjaGVtYUVsZW1lbnQ8XG4gIFQsXG4gIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXI8VD5cbj4ge1xuICBiYXNlPzogc3RyaW5nO1xuICBwYXJlbnQ/OiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gIGNoaWxkcmVuOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT5bXSA9IFtdO1xuICBtb2RlbD86IHR5cGVvZiBPRGF0YU1vZGVsO1xuICBjb2xsZWN0aW9uPzogdHlwZW9mIE9EYXRhQ29sbGVjdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFN0cnVjdHVyZWRUeXBlQ29uZmlnPFQ+LCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgc3VwZXIoXG4gICAgICBjb25maWcsXG4gICAgICBzY2hlbWEsXG4gICAgICBuZXcgT0RhdGFTdHJ1Y3R1cmVkVHlwZVBhcnNlcihjb25maWcsIHNjaGVtYS5uYW1lc3BhY2UsIHNjaGVtYS5hbGlhcyksXG4gICAgKTtcbiAgICB0aGlzLmJhc2UgPSBjb25maWcuYmFzZTtcbiAgICB0aGlzLm1vZGVsID0gY29uZmlnLm1vZGVsIGFzIHR5cGVvZiBPRGF0YU1vZGVsO1xuICAgIHRoaXMuY29sbGVjdGlvbiA9IGNvbmZpZy5jb2xsZWN0aW9uIGFzIHR5cGVvZiBPRGF0YUNvbGxlY3Rpb247XG4gIH1cblxuICBjb25maWd1cmUoeyBvcHRpb25zIH06IHsgb3B0aW9uczogUGFyc2VyT3B0aW9ucyB9KSB7XG4gICAgaWYgKHRoaXMuYmFzZSkge1xuICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5hcGkuZmluZFN0cnVjdHVyZWRUeXBlKFxuICAgICAgICB0aGlzLmJhc2UsXG4gICAgICApIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PjtcbiAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKHRoaXMpO1xuICAgICAgdGhpcy5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgfVxuICAgIHRoaXMucGFyc2VyLmNvbmZpZ3VyZSh7XG4gICAgICBvcHRpb25zLFxuICAgICAgcGFyc2VyRm9yVHlwZTogKHQ6IHN0cmluZykgPT4gdGhpcy5hcGkucGFyc2VyRm9yVHlwZSh0KSxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5tb2RlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1vZGVsLm1ldGEgPSB0aGlzLmFwaS5vcHRpb25zRm9yVHlwZTxUPih0aGlzLnR5cGUoKSwge1xuICAgICAgICBjb25maWc6IHRoaXMubW9kZWwub3B0aW9ucyxcbiAgICAgICAgc3RydWN0dXJlZFR5cGU6IHRoaXMsXG4gICAgICB9KSE7XG4gICAgICBpZiAodGhpcy5tb2RlbC5tZXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gQ29uZmlndXJlXG4gICAgICAgIHRoaXMubW9kZWwubWV0YS5jb25maWd1cmUoeyBvcHRpb25zIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29sbGVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuY29sbGVjdGlvbi5tb2RlbCA9IHRoaXMubW9kZWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBpcyBhIHN1YnR5cGUgb2YgdGhlIGdpdmVuIHR5cGUuXG4gICAqIEBwYXJhbSB0eXBlIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdHlwZVxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBjYWxsYWJsZSBpcyB0eXBlIG9mIHRoZSBnaXZlbiB0eXBlXG4gICAqL1xuICBvdmVycmlkZSBpc1N1YnR5cGVPZihzY2hlbWE6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdXBlci5pc1N1YnR5cGVPZihzY2hlbWEpIHx8XG4gICAgICAodGhpcy5wYXJlbnQgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnBhcmVudC5pc1N1YnR5cGVPZihzY2hlbWEpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGlzIGEgc3VwZXJ0eXBlIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKiBAcGFyYW0gdHlwZSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHR5cGVcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgY2FsbGFibGUgaXMgdHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZVxuICAgKi9cbiAgb3ZlcnJpZGUgaXNTdXBlcnR5cGVPZihzY2hlbWE6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55Pik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdXBlci5pc1N1cGVydHlwZU9mKHNjaGVtYSkgfHxcbiAgICAgIHRoaXMuY2hpbGRyZW4uc29tZSgoYykgPT4gYy5pc1N1cGVydHlwZU9mKHNjaGVtYSkpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaGFzIGEgc2ltcGxlIGtleS5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGhhcyBhIHNpbXBsZSBrZXlcbiAgICovXG4gIGlzU2ltcGxlS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmtleXMoKS5sZW5ndGggPT09IDE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGhhcyBhIGNvbXBvdW5kIGtleS5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGhhcyBhIGNvbXBvdW5kIGtleS5cbiAgICovXG4gIGlzQ29tcG91bmRLZXkoKSB7XG4gICAgcmV0dXJuIHRoaXMua2V5cygpLmxlbmd0aCA+IDE7XG4gIH1cblxuICBpc09wZW5UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5pc09wZW5UeXBlKCk7XG4gIH1cblxuICBpc0VudGl0eVR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmlzRW50aXR5VHlwZSgpO1xuICB9XG5cbiAgaXNDb21wbGV4VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuaXNDb21wbGV4VHlwZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgdGhlIGZpZWxkIHBhcnNlciBmb3IgdGhlIGdpdmVuIGZpZWxkIG5hbWUuXG4gICAqIEBwYXJhbSBuYW1lIE5hbWUgb2YgdGhlIGZpZWxkXG4gICAqIEByZXR1cm5zIFRoZSBmaWVsZCBwYXJzZXJcbiAgICovXG4gIGZpZWxkPEY+KG5hbWU6IGtleW9mIFQpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZmllbGQ8Rj4obmFtZSk7XG4gIH1cblxuICBhZGRGaWVsZDxGPihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgY29uZmlnOiBTdHJ1Y3R1cmVkVHlwZUZpZWxkQ29uZmlnLFxuICApOiBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8Rj4ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5hZGRGaWVsZChuYW1lLCBjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYSBwYXJlbnQgc2NoZW1hIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSBwcmVkaWNhdGUgRnVuY3Rpb24gZm9yIGV2YWx1YXRlIHRoZSBzY2hlbWFzIGluIHRoZSBoaWVyYXJjaHkuXG4gICAqIEByZXR1cm5zIFRoZSBzY2hlbWEgdGhhdCBtYXRjaGVzIHRoZSBwcmVkaWNhdGUuXG4gICAqL1xuICBmaW5kUGFyZW50U2NoZW1hKFxuICAgIHByZWRpY2F0ZTogKHA6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PikgPT4gYm9vbGVhbixcbiAgKTogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJlZGljYXRlKHRoaXMpKSByZXR1cm4gdGhpcyBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gICAgaWYgKHRoaXMucGFyZW50ID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmZpbmRQYXJlbnRTY2hlbWEocHJlZGljYXRlKTtcbiAgfVxuXG4gIGZpbmRDaGlsZFNjaGVtYShcbiAgICBwcmVkaWNhdGU6IChwOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pID0+IGJvb2xlYW4sXG4gICk6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByZWRpY2F0ZSh0aGlzKSkgcmV0dXJuIHRoaXM7XG4gICAgbGV0IG1hdGNoOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4gfCB1bmRlZmluZWQ7XG4gICAgZm9yIChsZXQgY2ggb2YgdGhpcy5jaGlsZHJlbikge1xuICAgICAgbWF0Y2ggPSBjaC5maW5kQ2hpbGRTY2hlbWEocHJlZGljYXRlKTtcbiAgICAgIGlmIChtYXRjaCAhPT0gdW5kZWZpbmVkKSBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIG1hdGNoO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgYSBwYXJlbnQgc2NoZW1hIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgZm9yIHRoZSBnaXZlbiBmaWVsZC5cbiAgICogQHBhcmFtIGZpZWxkIEZpZWxkIHRoYXQgYmVsb25ncyB0byB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqIEByZXR1cm5zIFRoZSBzY2hlbWEgb2YgdGhlIGZpZWxkXG4gICAqL1xuICBmaW5kUGFyZW50U2NoZW1hRm9yRmllbGQ8RT4oZmllbGQ6IE9EYXRhU3RydWN0dXJlZFR5cGVGaWVsZFBhcnNlcjxhbnk+KSB7XG4gICAgcmV0dXJuIHRoaXMuZmluZFBhcmVudFNjaGVtYShcbiAgICAgIChwKSA9PlxuICAgICAgICBwXG4gICAgICAgICAgLmZpZWxkcyh7IGluY2x1ZGVfcGFyZW50czogZmFsc2UsIGluY2x1ZGVfbmF2aWdhdGlvbjogdHJ1ZSB9KVxuICAgICAgICAgIC5maW5kKChmKSA9PiBmID09PSBmaWVsZCkgIT09IHVuZGVmaW5lZCxcbiAgICApIGFzIE9EYXRhU3RydWN0dXJlZFR5cGU8RT47XG4gIH1cblxuICAvKipcbiAgICogUGlja3MgdGhlIGZpZWxkcyBmcm9tIGF0dHJpYnV0ZXMuXG4gICAqIEBwYXJhbSBhdHRyc1xuICAgKiBAcGFyYW0gaW5jbHVkZV9wYXJlbnRzIEluY2x1ZGUgdGhlIHBhcmVudCBmaWVsZHNcbiAgICogQHBhcmFtIGluY2x1ZGVfbmF2aWdhdGlvbiBJbmNsdWRlIHRoZSBuYXZpZ2F0aW9uIGZpZWxkc1xuICAgKiBAcGFyYW0gaW5jbHVkZV9ldGFnIEluY2x1ZGUgdGhlIGV0YWcgZmllbGRcbiAgICogQHJldHVybnMgVGhlIHBpY2tlZCBmaWVsZHNcbiAgICovXG4gIHBpY2soXG4gICAgYXR0cnM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9LFxuICAgIHtcbiAgICAgIGluY2x1ZGVfcGFyZW50cyA9IHRydWUsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24gPSBmYWxzZSxcbiAgICAgIGluY2x1ZGVfZXRhZyA9IHRydWUsXG4gICAgfToge1xuICAgICAgaW5jbHVkZV9wYXJlbnRzPzogYm9vbGVhbjtcbiAgICAgIGluY2x1ZGVfbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX2V0YWc/OiBib29sZWFuO1xuICAgIH0gPSB7fSxcbiAgKTogUGFydGlhbDxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnBpY2soYXR0cnMsIHtcbiAgICAgIGluY2x1ZGVfZXRhZyxcbiAgICAgIGluY2x1ZGVfbmF2aWdhdGlvbixcbiAgICAgIGluY2x1ZGVfcGFyZW50cyxcbiAgICAgIG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVzZWlhbGl6ZSB0aGUgZ2l2ZW4gdmFsdWUgZnJvbSB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gZGVzZXJpYWxpemVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZGVzZXJpYWxpemF0aW9uXG4gICAqIEByZXR1cm5zIERlc2VyaWFsaXplZCB2YWx1ZVxuICAgKi9cbiAgZGVzZXJpYWxpemUodmFsdWU6IGFueSwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZGVzZXJpYWxpemUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZSB0aGUgZ2l2ZW4gdmFsdWUgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBzZXJpYWxpemVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3Igc2VyaWFsaXphdGlvblxuICAgKiBAcmV0dXJucyBTZXJpYWxpemVkIHZhbHVlXG4gICAqL1xuICBzZXJpYWxpemUodmFsdWU6IFQsIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNvZGUgdGhlIGdpdmVuIHZhbHVlIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gZW5jb2RlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGVuY29kaW5nXG4gICAqIEByZXR1cm5zIEVuY29kZWQgdmFsdWVcbiAgICovXG4gIGVuY29kZSh2YWx1ZTogVCwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5lbmNvZGUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gaW5jbHVkZV9uYXZpZ2F0aW9uIEluY2x1ZGUgbmF2aWdhdGlvbiBwcm9wZXJ0aWVzIGluIHRoZSByZXN1bHQuXG4gICAqIEBwYXJhbSBpbmNsdWRlX3BhcmVudHMgSW5jbHVkZSB0aGUgcGFyZW50IHR5cGVzIGluIHRoZSByZXN1bHQuXG4gICAqIEByZXR1cm5zIEFsbCBmaWVsZHMgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICovXG4gIGZpZWxkcyh7XG4gICAgaW5jbHVkZV9uYXZpZ2F0aW9uLFxuICAgIGluY2x1ZGVfcGFyZW50cyxcbiAgfToge1xuICAgIGluY2x1ZGVfcGFyZW50czogYm9vbGVhbjtcbiAgICBpbmNsdWRlX25hdmlnYXRpb246IGJvb2xlYW47XG4gIH0pOiBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8YW55PltdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZmllbGRzKHsgaW5jbHVkZV9uYXZpZ2F0aW9uLCBpbmNsdWRlX3BhcmVudHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUga2V5cyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gaW5jbHVkZV9wYXJlbnRzIEluY2x1ZGUgdGhlIHBhcmVudCBmaWVsZHNcbiAgICogQHJldHVybnMgVGhlIGtleXMgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKi9cbiAga2V5cyh7XG4gICAgaW5jbHVkZV9wYXJlbnRzID0gdHJ1ZSxcbiAgfToge1xuICAgIGluY2x1ZGVfcGFyZW50cz86IGJvb2xlYW47XG4gIH0gPSB7fSk6IE9EYXRhRW50aXR5VHlwZUtleVtdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIua2V5cyh7IGluY2x1ZGVfcGFyZW50cyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIHRoZSBrZXkgb2YgdGhlIHN0cnVjdHVyZWQgdHlwZSBmb3IgdGhlIGdpdmVuIHZhbHVlLlxuICAgKiBAcGFyYW0gYXR0cnMgQXR0cmlidXRlcyBvZiB0aGUgdmFsdWVcbiAgICogQHJldHVybnMgUmVzb2x2ZWQga2V5XG4gICAqL1xuICByZXNvbHZlS2V5KGF0dHJzOiBUIHwgeyBbbmFtZTogc3RyaW5nXTogYW55IH0pIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIucmVzb2x2ZUtleShhdHRycyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVmYXVsdHMgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcmV0dXJucyBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKi9cbiAgZGVmYXVsdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlZmF1bHRzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCB0aGUgc3RydWN0dXJlZCB0eXBlIHRvIGpzb24gc2NoZW1hXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIGpzb24gc2NoZW1hXG4gICAqIEByZXR1cm5zIEpzb24gU2NoZW1hXG4gICAqL1xuICB0b0pzb25TY2hlbWEob3B0aW9uczogSnNvblNjaGVtYU9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci50b0pzb25TY2hlbWEob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhlIGdpdmVuIHZhbHVlIGFnYWluc3QgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIGF0dHJzIEF0dHJpYnV0ZXMgb2YgdGhlIHZhbHVlXG4gICAqIEBwYXJhbSBtZXRob2QgTWV0aG9kIHRvIHVzZSBmb3IgdGhlIHByb2Nlc3MgdmFsaWRhdGlvblxuICAgKiBAcmV0dXJucyBPYmplY3Qgd2l0aCB0aGUgZXJyb3JzXG4gICAqL1xuICB2YWxpZGF0ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICB7XG4gICAgICBtZXRob2QsXG4gICAgICBuYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgfToge1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgICAgbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgfSA9IHt9LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIudmFsaWRhdGUoYXR0cnMsIHsgbWV0aG9kLCBuYXZpZ2F0aW9uIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export class ODataBaseService {
|
|
2
|
-
constructor(client, name, apiNameOrEntityType) {
|
|
3
|
-
this.client = client;
|
|
4
|
-
this.name = name;
|
|
5
|
-
this.apiNameOrEntityType = apiNameOrEntityType;
|
|
6
|
-
}
|
|
7
|
-
get api() {
|
|
8
|
-
return this.client.apiFor(this.apiNameOrEntityType);
|
|
9
|
-
}
|
|
10
|
-
callFunction(params, resource, responseType, options = {}) {
|
|
11
|
-
resource.query((q) => q.restore(options));
|
|
12
|
-
return resource.call(params, {
|
|
13
|
-
responseType: responseType,
|
|
14
|
-
...options,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
callAction(params, resource, responseType, options = {}) {
|
|
18
|
-
resource.query((q) => q.restore(options));
|
|
19
|
-
return resource.call(params, {
|
|
20
|
-
responseType: responseType,
|
|
21
|
-
...options,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
fetchNavigationProperty(resource, responseType, options = {}) {
|
|
25
|
-
resource.query((q) => q.restore(options));
|
|
26
|
-
return resource.fetch({ responseType: responseType, ...options });
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBQ3BDLFlBQ1ksTUFBbUIsRUFDbkIsSUFBWSxFQUNaLG1CQUE0QjtRQUY1QixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVM7SUFDckMsQ0FBQztJQUVKLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQTBCUyxZQUFZLENBQ3BCLE1BQWdCLEVBQ2hCLFFBQXFDLEVBQ3JDLFlBQXlELEVBQ3pELFVBQW1DLEVBQUU7UUFFckMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsWUFBWSxFQUFFLFlBQW1CO1lBQ2pDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUEwQlMsVUFBVSxDQUNsQixNQUFnQixFQUNoQixRQUFtQyxFQUNuQyxZQUF5RCxFQUN6RCxVQUFpQyxFQUFFO1FBRW5DLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzNCLFlBQVksRUFBRSxZQUFtQjtZQUNqQyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBWVMsdUJBQXVCLENBQy9CLFFBQTRDLEVBQzVDLFlBQW1DLEVBQ25DLFVBQXlDLEVBQUU7UUFFM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxZQUFtQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQge1xuICBPRGF0YUFjdGlvbk9wdGlvbnMsXG4gIE9EYXRhQWN0aW9uUmVzb3VyY2UsXG4gIE9EYXRhRW50aXRpZXMsXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUZ1bmN0aW9uT3B0aW9ucyxcbiAgT0RhdGFGdW5jdGlvblJlc291cmNlLFxuICBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLFxuICBPRGF0YVByb3BlcnR5LFxuICBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9EYXRhQmFzZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCxcbiAgICBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBhcGlOYW1lT3JFbnRpdHlUeXBlPzogc3RyaW5nLFxuICApIHt9XG5cbiAgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuYXBpRm9yKHRoaXMuYXBpTmFtZU9yRW50aXR5VHlwZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsbEZ1bmN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhRnVuY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YUZ1bmN0aW9uT3B0aW9uczxSPixcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFGdW5jdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFGdW5jdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFQcm9wZXJ0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ25vbmUnLFxuICAgIG9wdGlvbnM/OiBPRGF0YUZ1bmN0aW9uT3B0aW9uczxSPixcbiAgKTogT2JzZXJ2YWJsZTxudWxsPjtcbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhRnVuY3Rpb25PcHRpb25zPFI+ID0ge30sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEucmVzdG9yZShvcHRpb25zKSk7XG4gICAgcmV0dXJuIHJlc291cmNlLmNhbGwocGFyYW1zLCB7XG4gICAgICByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSBhcyBhbnksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YUFjdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhUHJvcGVydHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ25vbmUnLFxuICAgIG9wdGlvbnM/OiBPRGF0YUFjdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8bnVsbD47XG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhQWN0aW9uT3B0aW9uczxSPiA9IHt9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJlc291cmNlLnF1ZXJ5KChxKSA9PiBxLnJlc3RvcmUob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5jYWxsKHBhcmFtcywge1xuICAgICAgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxTPixcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxTPj47XG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFM+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uz4+O1xuICBwcm90ZWN0ZWQgZmV0Y2hOYXZpZ2F0aW9uUHJvcGVydHk8Uz4oXG4gICAgcmVzb3VyY2U6IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8Uz4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXR5JyB8ICdlbnRpdGllcycsXG4gICAgb3B0aW9uczogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uz4gPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXNvdXJjZS5xdWVyeSgocSkgPT4gcS5yZXN0b3JlKG9wdGlvbnMpKTtcbiAgICByZXR1cm4gcmVzb3VyY2UuZmV0Y2goeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSBhcyBhbnksIC4uLm9wdGlvbnMgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { throwError } from 'rxjs';
|
|
2
|
-
import { catchError } from 'rxjs/operators';
|
|
3
|
-
import { ODataCollection } from '../models/collection';
|
|
4
|
-
import { ODataModel } from '../models/model';
|
|
5
|
-
import { ODataEntityService } from './entity';
|
|
6
|
-
export class ODataEntitySetService extends ODataEntityService {
|
|
7
|
-
model(entity) {
|
|
8
|
-
const Service = this.constructor;
|
|
9
|
-
return this.entity().asModel(entity, {
|
|
10
|
-
ModelType: Service.Model,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
collection(entities) {
|
|
14
|
-
const Service = this.constructor;
|
|
15
|
-
return this.entities().asCollection(entities, { CollectionType: Service.Collection });
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Get the entity set resource for this service.
|
|
19
|
-
*/
|
|
20
|
-
entities() {
|
|
21
|
-
return this.client.entitySet(this.name, this.apiNameOrEntityType);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Get the entity resource for this service.
|
|
25
|
-
* @param key The entity key.
|
|
26
|
-
*/
|
|
27
|
-
entity(key) {
|
|
28
|
-
return this.entities().entity(key);
|
|
29
|
-
}
|
|
30
|
-
attach(model) {
|
|
31
|
-
if (model instanceof ODataModel) {
|
|
32
|
-
model.attach(this.entities().entity());
|
|
33
|
-
}
|
|
34
|
-
else if (model instanceof ODataCollection) {
|
|
35
|
-
model.attach(this.entities());
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* The schema for the entity set.
|
|
40
|
-
*/
|
|
41
|
-
get entitySetSchema() {
|
|
42
|
-
return this.api.findEntitySet(this.name);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get all entities from the entity set.
|
|
46
|
-
* @param options The options for the request.
|
|
47
|
-
*/
|
|
48
|
-
fetchAll(options) {
|
|
49
|
-
return this.entities().fetchAll(options);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get entities from the entity set.
|
|
53
|
-
* @param withCount Get the count of the entities.
|
|
54
|
-
* @param options The options for the request.
|
|
55
|
-
*/
|
|
56
|
-
fetchMany(top, options) {
|
|
57
|
-
return this.entities().fetchMany(top, options);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Get an entity from the entity set.
|
|
61
|
-
* @param key The entity key.
|
|
62
|
-
* @param etag The etag for the entity.
|
|
63
|
-
* @param options The options for the request.
|
|
64
|
-
*/
|
|
65
|
-
fetchOne(options) {
|
|
66
|
-
return this.entities().fetchOne(options);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Create an entity in the entity set.
|
|
70
|
-
* @param attrs The attributes for the entity.
|
|
71
|
-
* @param options The options for the request.
|
|
72
|
-
*/
|
|
73
|
-
create(attrs, options) {
|
|
74
|
-
return this.entities().create(attrs, options);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Update an entity in the entity set.
|
|
78
|
-
* @param key The entity key.
|
|
79
|
-
* @param attrs The attributes for the entity.
|
|
80
|
-
* @param etag The etag for the entity.
|
|
81
|
-
* @param options The options for the request.
|
|
82
|
-
*/
|
|
83
|
-
update(key, attrs, options) {
|
|
84
|
-
const res = this.entity(key);
|
|
85
|
-
if (!res.hasKey())
|
|
86
|
-
return throwError(() => new Error('update: Resource without key'));
|
|
87
|
-
return res.update(attrs, options);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Patch an entity in the entity set.
|
|
91
|
-
* @param key The entity key.
|
|
92
|
-
* @param attrs The attributes for the entity.
|
|
93
|
-
* @param etag The etag for the entity.
|
|
94
|
-
* @param options The options for the request.
|
|
95
|
-
*/
|
|
96
|
-
modify(key, attrs, options) {
|
|
97
|
-
const res = this.entity(key);
|
|
98
|
-
if (!res.hasKey())
|
|
99
|
-
return throwError(() => new Error('modify: Resource without key'));
|
|
100
|
-
return res.modify(attrs, options);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Delete an entity in the entity set.
|
|
104
|
-
* @param key The entity key.
|
|
105
|
-
* @param etag The etag for the entity.
|
|
106
|
-
* @param options The options for the request.
|
|
107
|
-
*/
|
|
108
|
-
destroy(key, options) {
|
|
109
|
-
const res = this.entity(key);
|
|
110
|
-
if (!res.hasKey())
|
|
111
|
-
return throwError(() => new Error('destroy: Resource without key'));
|
|
112
|
-
return res.destroy(options);
|
|
113
|
-
}
|
|
114
|
-
//#region Shortcuts
|
|
115
|
-
/**
|
|
116
|
-
* Get or create an entity in the entity set.
|
|
117
|
-
* @param key The entity key.
|
|
118
|
-
* @param attrs The attributes for the entity.
|
|
119
|
-
* @param etag The etag for the entity.
|
|
120
|
-
* @param options The options for the request.
|
|
121
|
-
*/
|
|
122
|
-
fetchOrCreate(key, attrs, { etag, ...options } = {}) {
|
|
123
|
-
return this.entity(key)
|
|
124
|
-
.fetch({ etag, ...options })
|
|
125
|
-
.pipe(catchError((error) => {
|
|
126
|
-
if (error.status === 404)
|
|
127
|
-
return this.create(attrs, options);
|
|
128
|
-
else
|
|
129
|
-
return throwError(() => error);
|
|
130
|
-
}));
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Save an entity in the entity set.
|
|
134
|
-
* @param attrs The attributes for the entity.
|
|
135
|
-
* @param method The method to use.
|
|
136
|
-
* @param etag The etag for the entity.
|
|
137
|
-
* @param options The options for the request.
|
|
138
|
-
*/
|
|
139
|
-
save(attrs, { etag, method, ...options } = {}) {
|
|
140
|
-
let schema = this.structuredTypeSchema;
|
|
141
|
-
if (method === undefined && schema !== undefined && schema.isCompoundKey())
|
|
142
|
-
return throwError(() => new Error('save: Composite key require a specific method, use create/update/patch'));
|
|
143
|
-
let key = schema && schema.resolveKey(attrs);
|
|
144
|
-
if (method === undefined)
|
|
145
|
-
method = key !== undefined ? 'update' : 'create';
|
|
146
|
-
if ((method === 'update' || method === 'modify') && key === undefined)
|
|
147
|
-
return throwError(() => new Error("save: Can't update/patch entity without key"));
|
|
148
|
-
return method === 'create'
|
|
149
|
-
? this.create(attrs, options)
|
|
150
|
-
: method === 'modify'
|
|
151
|
-
? this.modify(key, attrs, { etag, ...options })
|
|
152
|
-
: this.update(key, attrs, { etag, ...options });
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9lbnRpdHktc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlDLE1BQU0sT0FBTyxxQkFBeUIsU0FBUSxrQkFBcUI7SUFJakUsS0FBSyxDQUFDLE1BQW1CO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUEyQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBZ0IsTUFBTSxFQUFFO1lBQ2xELFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQXVCO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUEyQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FHakMsUUFBUSxFQUFFLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0s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QUFFLENBQUMsSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FDL0QsQ0FBQztRQUNKLE9BQU8sTUFBTSxLQUFLLFFBQVE7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUM3QixDQUFDLENBQUMsTUFBTSxLQUFLLFFBQVE7Z0JBQ25CLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgT0RhdGFNb2RlbCB9IGZyb20gJy4uL21vZGVscy9tb2RlbCc7XG5pbXBvcnQge1xuICBFbnRpdHlLZXksXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUVudGl0eVJlc291cmNlLFxuICBPRGF0YUVudGl0eVNldFJlc291cmNlLFxuICBPRGF0YU9wdGlvbnMsXG59IGZyb20gJy4uL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNlcnZpY2UgfSBmcm9tICcuL2VudGl0eSc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUVudGl0eVNldFNlcnZpY2U8VD4gZXh0ZW5kcyBPRGF0YUVudGl0eVNlcnZpY2U8VD4ge1xuICBzdGF0aWMgTW9kZWw/OiB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgc3RhdGljIENvbGxlY3Rpb24/OiB0eXBlb2YgT0RhdGFDb2xsZWN0aW9uO1xuXG4gIG1vZGVsKGVudGl0eT86IFBhcnRpYWw8VD4pOiBPRGF0YU1vZGVsPFQ+IHtcbiAgICBjb25zdCBTZXJ2aWNlID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmVudGl0eSgpLmFzTW9kZWw8T0RhdGFNb2RlbDxUPj4oZW50aXR5LCB7XG4gICAgICBNb2RlbFR5cGU6IFNlcnZpY2UuTW9kZWwsXG4gICAgfSk7XG4gIH1cblxuICBjb2xsZWN0aW9uKGVudGl0aWVzPzogUGFydGlhbDxUPltdKTogT0RhdGFDb2xsZWN0aW9uPFQsIE9EYXRhTW9kZWw8VD4+IHtcbiAgICBjb25zdCBTZXJ2aWNlID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuYXNDb2xsZWN0aW9uPFxuICAgICAgT0RhdGFNb2RlbDxUPixcbiAgICAgIE9EYXRhQ29sbGVjdGlvbjxULCBPRGF0YU1vZGVsPFQ+PlxuICAgID4oZW50aXRpZXMsIHsgQ29sbGVjdGlvblR5cGU6IFNlcnZpY2UuQ29sbGVjdGlvbiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGVudGl0eSBzZXQgcmVzb3VyY2UgZm9yIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHB1YmxpYyBlbnRpdGllcygpOiBPRGF0YUVudGl0eVNldFJlc291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuZW50aXR5U2V0PFQ+KHRoaXMubmFtZSwgdGhpcy5hcGlOYW1lT3JFbnRpdHlUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGVudGl0eSByZXNvdXJjZSBmb3IgdGhpcyBzZXJ2aWNlLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBlbnRpdHkga2V5LlxuICAgKi9cbiAgcHVibGljIGVudGl0eShrZXk/OiBFbnRpdHlLZXk8VD4pOiBPRGF0YUVudGl0eVJlc291cmNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcygpLmVudGl0eShrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBhbiBleGlzdGluZyBtb2RlbCB0byB0aGlzIHNlcnZpY2UuXG4gICAqIEBwYXJhbSBtb2RlbCBUaGUgbW9kZWwgdG8gYXR0YWNoLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaDxNIGV4dGVuZHMgT0RhdGFNb2RlbDxUPj4obW9kZWw6IE0pOiB2b2lkO1xuICBwdWJsaWMgYXR0YWNoPEMgZXh0ZW5kcyBPRGF0YUNvbGxlY3Rpb248VCwgT0RhdGFNb2RlbDxUPj4+KG1vZGVsOiBDKTogdm9pZDtcbiAgcHVibGljIGF0dGFjaChtb2RlbDogYW55KTogdm9pZCB7XG4gICAgaWYgKG1vZGVsIGluc3RhbmNlb2YgT0RhdGFNb2RlbCkge1xuICAgICAgbW9kZWwuYXR0YWNoKHRoaXMuZW50aXRpZXMoKS5lbnRpdHkoKSk7XG4gICAgfSBlbHNlIGlmIChtb2RlbCBpbnN0YW5jZW9mIE9EYXRhQ29sbGVjdGlvbikge1xuICAgICAgbW9kZWwuYXR0YWNoKHRoaXMuZW50aXRpZXMoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzY2hlbWEgZm9yIHRoZSBlbnRpdHkgc2V0LlxuICAgKi9cbiAgZ2V0IGVudGl0eVNldFNjaGVtYSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcGkuZmluZEVudGl0eVNldCh0aGlzLm5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgZW50aXRpZXMgZnJvbSB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZldGNoQWxsKG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcygpLmZldGNoQWxsKG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBlbnRpdGllcyBmcm9tIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0gd2l0aENvdW50IEdldCB0aGUgY291bnQgb2YgdGhlIGVudGl0aWVzLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgZmV0Y2hNYW55KFxuICAgIHRvcDogbnVtYmVyLFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IHdpdGhDb3VudD86IGJvb2xlYW4gfSxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMoKS5mZXRjaE1hbnkodG9wLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gZW50aXR5IGZyb20gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGVudGl0eSBrZXkuXG4gICAqIEBwYXJhbSBldGFnIFRoZSBldGFnIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgZmV0Y2hPbmUob3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMoKS5mZXRjaE9uZShvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gZW50aXR5IGluIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGUoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9ucyxcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuY3JlYXRlKGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYW4gZW50aXR5IGluIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0ga2V5IFRoZSBlbnRpdHkga2V5LlxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBldGFnIFRoZSBldGFnIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlKFxuICAgIGtleTogRW50aXR5S2V5PFQ+LFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSxcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuZW50aXR5KGtleSk7XG4gICAgaWYgKCFyZXMuaGFzS2V5KCkpXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ3VwZGF0ZTogUmVzb3VyY2Ugd2l0aG91dCBrZXknKSk7XG4gICAgcmV0dXJuIHJlcy51cGRhdGUoYXR0cnMsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhdGNoIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIG1vZGlmeShcbiAgICBrZXk6IEVudGl0eUtleTxUPixcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmVudGl0eShrZXkpO1xuICAgIGlmICghcmVzLmhhc0tleSgpKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdtb2RpZnk6IFJlc291cmNlIHdpdGhvdXQga2V5JykpO1xuICAgIHJldHVybiByZXMubW9kaWZ5KGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYW4gZW50aXR5IGluIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0ga2V5IFRoZSBlbnRpdHkga2V5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koXG4gICAga2V5OiBFbnRpdHlLZXk8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9LFxuICApIHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmVudGl0eShrZXkpO1xuICAgIGlmICghcmVzLmhhc0tleSgpKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdkZXN0cm95OiBSZXNvdXJjZSB3aXRob3V0IGtleScpKTtcbiAgICByZXR1cm4gcmVzLmRlc3Ryb3kob3B0aW9ucyk7XG4gIH1cblxuICAvLyNyZWdpb24gU2hvcnRjdXRzXG4gIC8qKlxuICAgKiBHZXQgb3IgY3JlYXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZldGNoT3JDcmVhdGUoXG4gICAga2V5OiBFbnRpdHlLZXk8VD4sXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgeyBldGFnLCAuLi5vcHRpb25zIH06IHsgZXRhZz86IHN0cmluZyB9ICYgT0RhdGFPcHRpb25zID0ge30sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHkoa2V5KVxuICAgICAgLmZldGNoKHsgZXRhZywgLi4ub3B0aW9ucyB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwNCkgcmV0dXJuIHRoaXMuY3JlYXRlKGF0dHJzLCBvcHRpb25zKTtcbiAgICAgICAgICBlbHNlIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgYW4gZW50aXR5IGluIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBtZXRob2QgVGhlIG1ldGhvZCB0byB1c2UuXG4gICAqIEBwYXJhbSBldGFnIFRoZSBldGFnIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgc2F2ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICB7XG4gICAgICBldGFnLFxuICAgICAgbWV0aG9kLFxuICAgICAgLi4ub3B0aW9uc1xuICAgIH06IHtcbiAgICAgIGV0YWc/OiBzdHJpbmc7XG4gICAgICBtZXRob2Q/OiAnY3JlYXRlJyB8ICd1cGRhdGUnIHwgJ21vZGlmeSc7XG4gICAgfSAmIE9EYXRhT3B0aW9ucyA9IHt9LFxuICApIHtcbiAgICBsZXQgc2NoZW1hID0gdGhpcy5zdHJ1Y3R1cmVkVHlwZVNjaGVtYTtcbiAgICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQgJiYgc2NoZW1hICE9PSB1bmRlZmluZWQgJiYgc2NoZW1hLmlzQ29tcG91bmRLZXkoKSlcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKFxuICAgICAgICAoKSA9PlxuICAgICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICAgICdzYXZlOiBDb21wb3NpdGUga2V5IHJlcXVpcmUgYSBzcGVjaWZpYyBtZXRob2QsIHVzZSBjcmVhdGUvdXBkYXRlL3BhdGNoJyxcbiAgICAgICAgICApLFxuICAgICAgKTtcbiAgICBsZXQga2V5ID0gc2NoZW1hICYmIHNjaGVtYS5yZXNvbHZlS2V5KGF0dHJzKTtcbiAgICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQpIG1ldGhvZCA9IGtleSAhPT0gdW5kZWZpbmVkID8gJ3VwZGF0ZScgOiAnY3JlYXRlJztcbiAgICBpZiAoKG1ldGhvZCA9PT0gJ3VwZGF0ZScgfHwgbWV0aG9kID09PSAnbW9kaWZ5JykgJiYga2V5ID09PSB1bmRlZmluZWQpXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgKCkgPT4gbmV3IEVycm9yKFwic2F2ZTogQ2FuJ3QgdXBkYXRlL3BhdGNoIGVudGl0eSB3aXRob3V0IGtleVwiKSxcbiAgICAgICk7XG4gICAgcmV0dXJuIG1ldGhvZCA9PT0gJ2NyZWF0ZSdcbiAgICAgID8gdGhpcy5jcmVhdGUoYXR0cnMsIG9wdGlvbnMpXG4gICAgICA6IG1ldGhvZCA9PT0gJ21vZGlmeSdcbiAgICAgICAgPyB0aGlzLm1vZGlmeShrZXksIGF0dHJzLCB7IGV0YWcsIC4uLm9wdGlvbnMgfSlcbiAgICAgICAgOiB0aGlzLnVwZGF0ZShrZXksIGF0dHJzLCB7IGV0YWcsIC4uLm9wdGlvbnMgfSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ODataBaseService } from './base';
|
|
2
|
-
export class ODataEntityService extends ODataBaseService {
|
|
3
|
-
/**
|
|
4
|
-
* The schema for the structured type.
|
|
5
|
-
*/
|
|
6
|
-
get structuredTypeSchema() {
|
|
7
|
-
return this.apiNameOrEntityType !== undefined
|
|
8
|
-
? this.api.findStructuredType(this.apiNameOrEntityType)
|
|
9
|
-
: undefined;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NlcnZpY2VzL2VudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFMUMsTUFBTSxPQUFnQixrQkFBc0IsU0FBUSxnQkFBZ0I7SUFJbEU7O09BRUc7SUFDSCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxTQUFTO1lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUMxRCxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWwnO1xuaW1wb3J0IHsgRW50aXR5S2V5LCBPRGF0YVJlc291cmNlIH0gZnJvbSAnLi4vcmVzb3VyY2VzJztcbmltcG9ydCB7IE9EYXRhQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT0RhdGFFbnRpdHlTZXJ2aWNlPFQ+IGV4dGVuZHMgT0RhdGFCYXNlU2VydmljZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBlbnRpdHkoa2V5PzogRW50aXR5S2V5PFQ+KTogT0RhdGFSZXNvdXJjZTxUPjtcbiAgcHVibGljIGFic3RyYWN0IGF0dGFjaDxNIGV4dGVuZHMgT0RhdGFNb2RlbDxUPj4odmFsdWU6IE0pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKi9cbiAgZ2V0IHN0cnVjdHVyZWRUeXBlU2NoZW1hKCkge1xuICAgIHJldHVybiB0aGlzLmFwaU5hbWVPckVudGl0eVR5cGUgIT09IHVuZGVmaW5lZFxuICAgICAgPyB0aGlzLmFwaS5maW5kU3RydWN0dXJlZFR5cGU8VD4odGhpcy5hcGlOYW1lT3JFbnRpdHlUeXBlKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ODataEntitySetService } from './entity-set';
|
|
3
|
-
import { ODataSingletonService } from './singleton';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../client";
|
|
6
|
-
export class ODataServiceFactory {
|
|
7
|
-
constructor(client) {
|
|
8
|
-
this.client = client;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Factory method to create an entity set service.
|
|
12
|
-
* @param entitySetName Name of the entity set.
|
|
13
|
-
* @param apiNameOrEntityType Name of the API or the type of the entity.
|
|
14
|
-
*/
|
|
15
|
-
entitySet(entitySetName, apiNameOrEntityType, options = {}) {
|
|
16
|
-
const Service = class extends ODataEntitySetService {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
this.Model = options?.Model;
|
|
20
|
-
this.Collection = options?.Collection;
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
return new Service(this.client, entitySetName, apiNameOrEntityType);
|
|
24
|
-
}
|
|
25
|
-
/** Factory method to create a singleton service.
|
|
26
|
-
* @param singletonName Name of the singleton.
|
|
27
|
-
* @param apiNameOrEntityType Name of the API or the type of the entity.
|
|
28
|
-
*/
|
|
29
|
-
singleton(singletonName, apiNameOrEntityType, options = {}) {
|
|
30
|
-
const Service = class extends ODataSingletonService {
|
|
31
|
-
constructor() {
|
|
32
|
-
super(...arguments);
|
|
33
|
-
this.Model = options?.Model;
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
return new Service(this.client, singletonName, apiNameOrEntityType);
|
|
37
|
-
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ODataServiceFactory, deps: [{ token: i1.ODataClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ODataServiceFactory }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: ODataServiceFactory, decorators: [{
|
|
42
|
-
type: Injectable
|
|
43
|
-
}], ctorParameters: () => [{ type: i1.ODataClient }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBSXBELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBc0IsTUFBbUI7UUFBbkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtJQUFHLENBQUM7SUFFN0M7Ozs7T0FJRztJQUNILFNBQVMsQ0FDUCxhQUFxQixFQUNyQixtQkFBNEIsRUFDNUIsVUFLSSxFQUFFO1FBRU4sTUFBTSxPQUFPLEdBQUcsS0FBTSxTQUFRLHFCQUF3QjtZQUF0Qzs7Z0JBQ2QsVUFBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7Z0JBQ3ZCLGVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxDQUFDO1lBQ25DLENBQUM7U0FBQSxDQUFDO1FBQ0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQ1AsYUFBcUIsRUFDckIsbUJBQTRCLEVBQzVCLFVBQWlFLEVBQUU7UUFFbkUsTUFBTSxPQUFPLEdBQUcsS0FBTSxTQUFRLHFCQUF3QjtZQUF0Qzs7Z0JBQ2QsVUFBSyxHQUFHLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUFBLENBQUM7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQzs4R0F0Q1UsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNldFNlcnZpY2UgfSBmcm9tICcuL2VudGl0eS1zZXQnO1xuaW1wb3J0IHsgT0RhdGFTaW5nbGV0b25TZXJ2aWNlIH0gZnJvbSAnLi9zaW5nbGV0b24nO1xuaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uLCBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9EYXRhU2VydmljZUZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCkge31cblxuICAvKipcbiAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGFuIGVudGl0eSBzZXQgc2VydmljZS5cbiAgICogQHBhcmFtIGVudGl0eVNldE5hbWUgTmFtZSBvZiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGFwaU5hbWVPckVudGl0eVR5cGUgTmFtZSBvZiB0aGUgQVBJIG9yIHRoZSB0eXBlIG9mIHRoZSBlbnRpdHkuXG4gICAqL1xuICBlbnRpdHlTZXQ8VD4oXG4gICAgZW50aXR5U2V0TmFtZTogc3RyaW5nLFxuICAgIGFwaU5hbWVPckVudGl0eVR5cGU/OiBzdHJpbmcsXG4gICAgb3B0aW9uczoge1xuICAgICAgTW9kZWw/OiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IE9EYXRhTW9kZWw8VD4gfTtcbiAgICAgIENvbGxlY3Rpb24/OiB7XG4gICAgICAgIG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IE9EYXRhQ29sbGVjdGlvbjxULCBPRGF0YU1vZGVsPFQ+PjtcbiAgICAgIH07XG4gICAgfSA9IHt9LFxuICApOiBPRGF0YUVudGl0eVNldFNlcnZpY2U8VD4ge1xuICAgIGNvbnN0IFNlcnZpY2UgPSBjbGFzcyBleHRlbmRzIE9EYXRhRW50aXR5U2V0U2VydmljZTxUPiB7XG4gICAgICBNb2RlbCA9IG9wdGlvbnM/Lk1vZGVsO1xuICAgICAgQ29sbGVjdGlvbiA9IG9wdGlvbnM/LkNvbGxlY3Rpb247XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFNlcnZpY2UodGhpcy5jbGllbnQsIGVudGl0eVNldE5hbWUsIGFwaU5hbWVPckVudGl0eVR5cGUpO1xuICB9XG5cbiAgLyoqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIHNpbmdsZXRvbiBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gc2luZ2xldG9uTmFtZSBOYW1lIG9mIHRoZSBzaW5nbGV0b24uXG4gICAqIEBwYXJhbSBhcGlOYW1lT3JFbnRpdHlUeXBlIE5hbWUgb2YgdGhlIEFQSSBvciB0aGUgdHlwZSBvZiB0aGUgZW50aXR5LlxuICAgKi9cbiAgc2luZ2xldG9uPFQ+KFxuICAgIHNpbmdsZXRvbk5hbWU6IHN0cmluZyxcbiAgICBhcGlOYW1lT3JFbnRpdHlUeXBlPzogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgTW9kZWw/OiB7IG5ldyAoLi4ucGFyYW1zOiBhbnlbXSk6IE9EYXRhTW9kZWw8VD4gfSB9ID0ge30sXG4gICk6IE9EYXRhU2luZ2xldG9uU2VydmljZTxUPiB7XG4gICAgY29uc3QgU2VydmljZSA9IGNsYXNzIGV4dGVuZHMgT0RhdGFTaW5nbGV0b25TZXJ2aWNlPFQ+IHtcbiAgICAgIE1vZGVsID0gb3B0aW9ucz8uTW9kZWw7XG4gICAgfTtcbiAgICByZXR1cm4gbmV3IFNlcnZpY2UodGhpcy5jbGllbnQsIHNpbmdsZXRvbk5hbWUsIGFwaU5hbWVPckVudGl0eVR5cGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './base';
|
|
2
|
-
export * from './entity-set';
|
|
3
|
-
export * from './singleton';
|
|
4
|
-
export * from './factory';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRpdHktc2V0JztcbmV4cG9ydCAqIGZyb20gJy4vc2luZ2xldG9uJztcbmV4cG9ydCAqIGZyb20gJy4vZmFjdG9yeSc7XG4iXX0=
|