angular-odata 0.130.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/fesm2022/angular-odata.mjs +2298 -2162
- 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/loaders.d.ts +8 -8
- package/lib/metadata/csdl/csdl-annotation.d.ts +3 -3
- package/lib/metadata/csdl/csdl-entity-container.d.ts +2 -2
- package/lib/metadata/csdl/csdl-entity-set.d.ts +2 -2
- package/lib/metadata/csdl/csdl-enum-type.d.ts +3 -3
- package/lib/metadata/csdl/csdl-function-action.d.ts +4 -4
- package/lib/metadata/csdl/csdl-reference.d.ts +2 -2
- package/lib/metadata/csdl/csdl-schema.d.ts +2 -2
- package/lib/metadata/csdl/csdl-structural-property.d.ts +3 -3
- package/lib/metadata/csdl/csdl-structured-type.d.ts +3 -3
- package/lib/metadata/metadata.d.ts +2 -2
- package/lib/models/options.d.ts +2 -2
- package/lib/module.d.ts +3 -3
- package/lib/options.d.ts +3 -3
- 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 +4 -3
- 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/handlers.d.ts +17 -5
- package/lib/resources/resource.d.ts +5 -5
- package/lib/resources/types/action.d.ts +2 -2
- package/lib/resources/types/entity-set.d.ts +2 -2
- package/lib/resources/types/navigation-property.d.ts +2 -2
- package/lib/resources/types/property.d.ts +2 -2
- 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 +2 -2
- package/lib/schema/parsers/callable.d.ts +4 -4
- package/lib/schema/parsers/enum-type.d.ts +3 -3
- package/lib/schema/parsers/structured-type.d.ts +4 -4
- package/lib/schema/schema.d.ts +3 -3
- package/lib/schema/singleton.d.ts +2 -2
- package/lib/schema/structured-type.d.ts +3 -3
- package/lib/services/entity.d.ts +1 -1
- package/lib/settings.d.ts +2 -2
- package/lib/types.d.ts +76 -74
- package/lib/utils/odata.d.ts +2 -2
- package/package.json +3 -5
- package/schematics/apigen/files/api-config/__fileName__.ts +4 -4
- package/esm2022/angular-odata.mjs +0 -5
- package/esm2022/lib/annotations.mjs +0 -146
- package/esm2022/lib/api.mjs +0 -439
- package/esm2022/lib/cache/cache.mjs +0 -177
- package/esm2022/lib/cache/index.mjs +0 -4
- package/esm2022/lib/cache/memory.mjs +0 -30
- package/esm2022/lib/cache/storage.mjs +0 -57
- package/esm2022/lib/client.mjs +0 -215
- package/esm2022/lib/constants.mjs +0 -95
- package/esm2022/lib/helper.mjs +0 -288
- package/esm2022/lib/index.mjs +0 -22
- package/esm2022/lib/loaders.mjs +0 -43
- package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +0 -273
- package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +0 -59
- package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +0 -50
- package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +0 -74
- package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +0 -204
- package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +0 -15
- package/esm2022/lib/metadata/csdl/csdl-reference.mjs +0 -76
- package/esm2022/lib/metadata/csdl/csdl-schema.mjs +0 -87
- package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +0 -37
- package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +0 -145
- package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +0 -159
- package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +0 -46
- package/esm2022/lib/metadata/index.mjs +0 -3
- package/esm2022/lib/metadata/metadata.mjs +0 -41
- package/esm2022/lib/metadata/parser.mjs +0 -564
- package/esm2022/lib/models/collection.mjs +0 -816
- package/esm2022/lib/models/index.mjs +0 -4
- package/esm2022/lib/models/model.mjs +0 -577
- package/esm2022/lib/models/options.mjs +0 -1227
- package/esm2022/lib/module.mjs +0 -55
- package/esm2022/lib/options.mjs +0 -91
- package/esm2022/lib/resources/index.mjs +0 -7
- package/esm2022/lib/resources/options.mjs +0 -66
- package/esm2022/lib/resources/path/handlers.mjs +0 -81
- package/esm2022/lib/resources/path/index.mjs +0 -3
- package/esm2022/lib/resources/path/segments.mjs +0 -149
- package/esm2022/lib/resources/query/builder.mjs +0 -645
- package/esm2022/lib/resources/query/expressions/apply.mjs +0 -238
- package/esm2022/lib/resources/query/expressions/base.mjs +0 -26
- package/esm2022/lib/resources/query/expressions/compute.mjs +0 -55
- package/esm2022/lib/resources/query/expressions/count.mjs +0 -118
- package/esm2022/lib/resources/query/expressions/expand.mjs +0 -154
- package/esm2022/lib/resources/query/expressions/filter.mjs +0 -180
- package/esm2022/lib/resources/query/expressions/index.mjs +0 -10
- package/esm2022/lib/resources/query/expressions/orderby.mjs +0 -81
- package/esm2022/lib/resources/query/expressions/search.mjs +0 -144
- package/esm2022/lib/resources/query/expressions/select.mjs +0 -49
- package/esm2022/lib/resources/query/expressions/syntax.mjs +0 -770
- package/esm2022/lib/resources/query/handlers.mjs +0 -423
- package/esm2022/lib/resources/query/index.mjs +0 -5
- package/esm2022/lib/resources/query/options.mjs +0 -140
- package/esm2022/lib/resources/request.mjs +0 -210
- package/esm2022/lib/resources/resource.mjs +0 -316
- package/esm2022/lib/resources/response.mjs +0 -180
- package/esm2022/lib/resources/types/action.mjs +0 -118
- 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 -149
- 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 -246
- package/esm2022/lib/resources/types/options.mjs +0 -2
- package/esm2022/lib/resources/types/property.mjs +0 -187
- package/esm2022/lib/resources/types/reference.mjs +0 -87
- package/esm2022/lib/resources/types/singleton.mjs +0 -125
- package/esm2022/lib/resources/types/value.mjs +0 -48
- package/esm2022/lib/schema/annotation.mjs +0 -44
- package/esm2022/lib/schema/callable.mjs +0 -69
- package/esm2022/lib/schema/element.mjs +0 -70
- package/esm2022/lib/schema/entity-container.mjs +0 -13
- package/esm2022/lib/schema/entity-set.mjs +0 -11
- package/esm2022/lib/schema/enum-type.mjs +0 -69
- package/esm2022/lib/schema/index.mjs +0 -9
- package/esm2022/lib/schema/parsers/callable.mjs +0 -123
- package/esm2022/lib/schema/parsers/edm.mjs +0 -101
- package/esm2022/lib/schema/parsers/enum-type.mjs +0 -148
- package/esm2022/lib/schema/parsers/index.mjs +0 -5
- package/esm2022/lib/schema/parsers/structured-type.mjs +0 -548
- package/esm2022/lib/schema/schema.mjs +0 -52
- package/esm2022/lib/schema/singleton.mjs +0 -11
- package/esm2022/lib/schema/structured-type.mjs +0 -220
- package/esm2022/lib/services/base.mjs +0 -32
- package/esm2022/lib/services/entity-set.mjs +0 -161
- package/esm2022/lib/services/entity.mjs +0 -12
- package/esm2022/lib/services/factory.mjs +0 -39
- package/esm2022/lib/services/index.mjs +0 -5
- package/esm2022/lib/services/singleton.mjs +0 -55
- package/esm2022/lib/settings.mjs +0 -113
- 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,52 +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
|
-
api;
|
|
9
|
-
namespace;
|
|
10
|
-
alias;
|
|
11
|
-
enums;
|
|
12
|
-
entities;
|
|
13
|
-
callables;
|
|
14
|
-
containers;
|
|
15
|
-
constructor(config, api) {
|
|
16
|
-
super(config);
|
|
17
|
-
this.api = api;
|
|
18
|
-
this.namespace = config.namespace;
|
|
19
|
-
this.alias = config.alias;
|
|
20
|
-
this.enums = (config.enums ?? []).map((config) => new ODataEnumType(config, this));
|
|
21
|
-
this.entities = (config.entities ?? []).map((config) => new ODataStructuredType(config, this));
|
|
22
|
-
this.callables = OData.mergeCallableParameters(config.callables ?? []).map((config) => new ODataCallable(config, this));
|
|
23
|
-
this.containers = (config.containers ?? []).map((config) => new ODataEntityContainer(config, this));
|
|
24
|
-
}
|
|
25
|
-
isNamespaceOf(type) {
|
|
26
|
-
return (type.startsWith(this.namespace) ??
|
|
27
|
-
(this.alias && type.startsWith(this.alias)));
|
|
28
|
-
}
|
|
29
|
-
get entitySets() {
|
|
30
|
-
return this.containers.reduce((acc, container) => [...acc, ...container.entitySets], []);
|
|
31
|
-
}
|
|
32
|
-
get singletons() {
|
|
33
|
-
return this.containers.reduce((acc, container) => [...acc, ...container.singletons], []);
|
|
34
|
-
}
|
|
35
|
-
//#region Find for Type
|
|
36
|
-
createStructuredType(config) {
|
|
37
|
-
const entity = new ODataStructuredType(config, this);
|
|
38
|
-
entity.configure({ options: this.api.options.parserOptions });
|
|
39
|
-
this.entities.push(entity);
|
|
40
|
-
return entity;
|
|
41
|
-
}
|
|
42
|
-
//#endregion
|
|
43
|
-
configure({ options }) {
|
|
44
|
-
// Configure Enums
|
|
45
|
-
this.enums.forEach((enu) => enu.configure({ options }));
|
|
46
|
-
// Configure Entities
|
|
47
|
-
this.entities.forEach((structured) => structured.configure({ options }));
|
|
48
|
-
// Configure callables
|
|
49
|
-
this.callables.forEach((callable) => callable.configure({ options }));
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEQsTUFBTSxPQUFPLFdBQVksU0FBUSxnQkFBZ0I7SUFDL0MsR0FBRyxDQUFXO0lBQ2QsU0FBUyxDQUFTO0lBQ2xCLEtBQUssQ0FBVTtJQUNmLEtBQUssQ0FBdUI7SUFDNUIsUUFBUSxDQUE2QjtJQUNyQyxTQUFTLENBQXVCO0lBQ2hDLFVBQVUsQ0FBeUI7SUFFbkMsWUFBWSxNQUFvQixFQUFFLEdBQWE7UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDbkMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDNUMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDekMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUNsRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ3hFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQzdDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDbkQsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixPQUFPLENBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQy9CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQzNCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFDckQsRUFBc0IsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUMzQixDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQ3JELEVBQXNCLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsdUJBQXVCO0lBQ2hCLG9CQUFvQixDQUFJLE1BQTRCO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksbUJBQW1CLENBQUksTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsWUFBWTtJQUVaLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBOEI7UUFDL0Msa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT0RhdGFBcGkgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgUGFyc2VyT3B0aW9ucywgU2NoZW1hQ29uZmlnLCBTdHJ1Y3R1cmVkVHlwZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhIH0gZnJvbSAnLi4vdXRpbHMvb2RhdGEnO1xuaW1wb3J0IHsgT0RhdGFBbm5vdGF0YWJsZSB9IGZyb20gJy4vYW5ub3RhdGlvbic7XG5pbXBvcnQgeyBPRGF0YUNhbGxhYmxlIH0gZnJvbSAnLi9jYWxsYWJsZSc7XG5pbXBvcnQgeyBPRGF0YUVudGl0eUNvbnRhaW5lciB9IGZyb20gJy4vZW50aXR5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNldCB9IGZyb20gJy4vZW50aXR5LXNldCc7XG5pbXBvcnQgeyBPRGF0YUVudW1UeXBlIH0gZnJvbSAnLi9lbnVtLXR5cGUnO1xuaW1wb3J0IHsgT0RhdGFTaW5nbGV0b24gfSBmcm9tICcuL3NpbmdsZXRvbic7XG5pbXBvcnQgeyBPRGF0YVN0cnVjdHVyZWRUeXBlIH0gZnJvbSAnLi9zdHJ1Y3R1cmVkLXR5cGUnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFTY2hlbWEgZXh0ZW5kcyBPRGF0YUFubm90YXRhYmxlIHtcbiAgYXBpOiBPRGF0YUFwaTtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIGFsaWFzPzogc3RyaW5nO1xuICBlbnVtczogT0RhdGFFbnVtVHlwZTxhbnk+W107XG4gIGVudGl0aWVzOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT5bXTtcbiAgY2FsbGFibGVzOiBPRGF0YUNhbGxhYmxlPGFueT5bXTtcbiAgY29udGFpbmVyczogT0RhdGFFbnRpdHlDb250YWluZXJbXTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFNjaGVtYUNvbmZpZywgYXBpOiBPRGF0YUFwaSkge1xuICAgIHN1cGVyKGNvbmZpZyk7XG4gICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBjb25maWcubmFtZXNwYWNlO1xuICAgIHRoaXMuYWxpYXMgPSBjb25maWcuYWxpYXM7XG4gICAgdGhpcy5lbnVtcyA9IChjb25maWcuZW51bXMgPz8gW10pLm1hcChcbiAgICAgIChjb25maWcpID0+IG5ldyBPRGF0YUVudW1UeXBlKGNvbmZpZywgdGhpcyksXG4gICAgKTtcbiAgICB0aGlzLmVudGl0aWVzID0gKGNvbmZpZy5lbnRpdGllcyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhU3RydWN0dXJlZFR5cGUoY29uZmlnLCB0aGlzKSxcbiAgICApO1xuICAgIHRoaXMuY2FsbGFibGVzID0gT0RhdGEubWVyZ2VDYWxsYWJsZVBhcmFtZXRlcnMoY29uZmlnLmNhbGxhYmxlcyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhQ2FsbGFibGUoY29uZmlnLCB0aGlzKSxcbiAgICApO1xuICAgIHRoaXMuY29udGFpbmVycyA9IChjb25maWcuY29udGFpbmVycyA/PyBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhRW50aXR5Q29udGFpbmVyKGNvbmZpZywgdGhpcyksXG4gICAgKTtcbiAgfVxuXG4gIGlzTmFtZXNwYWNlT2YodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGUuc3RhcnRzV2l0aCh0aGlzLm5hbWVzcGFjZSkgPz9cbiAgICAgICh0aGlzLmFsaWFzICYmIHR5cGUuc3RhcnRzV2l0aCh0aGlzLmFsaWFzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGVudGl0eVNldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVycy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjb250YWluZXIpID0+IFsuLi5hY2MsIC4uLmNvbnRhaW5lci5lbnRpdHlTZXRzXSxcbiAgICAgIFtdIGFzIE9EYXRhRW50aXR5U2V0W10sXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzaW5nbGV0b25zKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcnMucmVkdWNlKFxuICAgICAgKGFjYywgY29udGFpbmVyKSA9PiBbLi4uYWNjLCAuLi5jb250YWluZXIuc2luZ2xldG9uc10sXG4gICAgICBbXSBhcyBPRGF0YVNpbmdsZXRvbltdLFxuICAgICk7XG4gIH1cblxuICAvLyNyZWdpb24gRmluZCBmb3IgVHlwZVxuICBwdWJsaWMgY3JlYXRlU3RydWN0dXJlZFR5cGU8VD4oY29uZmlnOiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZykge1xuICAgIGNvbnN0IGVudGl0eSA9IG5ldyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+KGNvbmZpZywgdGhpcyk7XG4gICAgZW50aXR5LmNvbmZpZ3VyZSh7IG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMucGFyc2VyT3B0aW9ucyB9KTtcbiAgICB0aGlzLmVudGl0aWVzLnB1c2goZW50aXR5KTtcbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGNvbmZpZ3VyZSh7IG9wdGlvbnMgfTogeyBvcHRpb25zOiBQYXJzZXJPcHRpb25zIH0pIHtcbiAgICAvLyBDb25maWd1cmUgRW51bXNcbiAgICB0aGlzLmVudW1zLmZvckVhY2goKGVudSkgPT4gZW51LmNvbmZpZ3VyZSh7IG9wdGlvbnMgfSkpO1xuICAgIC8vIENvbmZpZ3VyZSBFbnRpdGllc1xuICAgIHRoaXMuZW50aXRpZXMuZm9yRWFjaCgoc3RydWN0dXJlZCkgPT4gc3RydWN0dXJlZC5jb25maWd1cmUoeyBvcHRpb25zIH0pKTtcbiAgICAvLyBDb25maWd1cmUgY2FsbGFibGVzXG4gICAgdGhpcy5jYWxsYWJsZXMuZm9yRWFjaCgoY2FsbGFibGUpID0+IGNhbGxhYmxlLmNvbmZpZ3VyZSh7IG9wdGlvbnMgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ODataSchemaElement } from './element';
|
|
2
|
-
export class ODataSingleton extends ODataSchemaElement {
|
|
3
|
-
singletonType;
|
|
4
|
-
service;
|
|
5
|
-
constructor(config, schema) {
|
|
6
|
-
super(config, schema);
|
|
7
|
-
this.singletonType = config.type;
|
|
8
|
-
this.service = config.service;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zaW5nbGV0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRy9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQ3BELGFBQWEsQ0FBUztJQUN0QixPQUFPLENBQWtDO0lBQ3pDLFlBQVksTUFBdUIsRUFBRSxNQUFtQjtRQUN0RCxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2luZ2xldG9uQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWFFbGVtZW50IH0gZnJvbSAnLi9lbGVtZW50JztcbmltcG9ydCB7IE9EYXRhU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFTaW5nbGV0b24gZXh0ZW5kcyBPRGF0YVNjaGVtYUVsZW1lbnQge1xuICBzaW5nbGV0b25UeXBlOiBzdHJpbmc7XG4gIHNlcnZpY2U6IHsgbmV3ICguLi5wYXJhbXM6IGFueVtdKTogYW55IH07XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogU2luZ2xldG9uQ29uZmlnLCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgc3VwZXIoY29uZmlnLCBzY2hlbWEpO1xuICAgIHRoaXMuc2luZ2xldG9uVHlwZSA9IGNvbmZpZy50eXBlO1xuICAgIHRoaXMuc2VydmljZSA9IGNvbmZpZy5zZXJ2aWNlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import { ODataParserSchemaElement } from './element';
|
|
2
|
-
import { ODataStructuredTypeParser, } from './parsers';
|
|
3
|
-
export class ODataStructuredType extends ODataParserSchemaElement {
|
|
4
|
-
base;
|
|
5
|
-
parent;
|
|
6
|
-
children = [];
|
|
7
|
-
model;
|
|
8
|
-
collection;
|
|
9
|
-
constructor(config, schema) {
|
|
10
|
-
super(config, schema, new ODataStructuredTypeParser(config, schema.namespace, schema.alias));
|
|
11
|
-
this.base = config.base;
|
|
12
|
-
this.model = config.model;
|
|
13
|
-
this.collection = config.collection;
|
|
14
|
-
}
|
|
15
|
-
configure({ options }) {
|
|
16
|
-
if (this.base) {
|
|
17
|
-
const parent = this.api.findStructuredType(this.base);
|
|
18
|
-
parent.children.push(this);
|
|
19
|
-
this.parent = parent;
|
|
20
|
-
}
|
|
21
|
-
this.parser.configure({
|
|
22
|
-
options,
|
|
23
|
-
parserForType: (t) => this.api.parserForType(t),
|
|
24
|
-
});
|
|
25
|
-
if (this.model !== undefined) {
|
|
26
|
-
this.model.meta = this.api.optionsForType(this.type(), {
|
|
27
|
-
config: this.model.options,
|
|
28
|
-
structuredType: this,
|
|
29
|
-
});
|
|
30
|
-
if (this.model.meta !== undefined) {
|
|
31
|
-
// Configure
|
|
32
|
-
this.model.meta.configure({ options });
|
|
33
|
-
}
|
|
34
|
-
if (this.collection !== undefined) {
|
|
35
|
-
this.collection.model = this.model;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Returns a boolean indicating if the structured type is a subtype of the given type.
|
|
41
|
-
* @param type String representation of the type
|
|
42
|
-
* @returns True if the callable is type of the given type
|
|
43
|
-
*/
|
|
44
|
-
isSubtypeOf(schema) {
|
|
45
|
-
return (super.isSubtypeOf(schema) ||
|
|
46
|
-
(this.parent !== undefined && this.parent.isSubtypeOf(schema)));
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Returns a boolean indicating if the structured type is a supertype of the given type.
|
|
50
|
-
* @param type String representation of the type
|
|
51
|
-
* @returns True if the callable is type of the given type
|
|
52
|
-
*/
|
|
53
|
-
isSupertypeOf(schema) {
|
|
54
|
-
return (super.isSupertypeOf(schema) ||
|
|
55
|
-
this.children.some((c) => c.isSupertypeOf(schema)));
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Returns a boolean indicating if the structured type has a simple key.
|
|
59
|
-
* @returns True if the structured type has a simple key
|
|
60
|
-
*/
|
|
61
|
-
isSimpleKey() {
|
|
62
|
-
return this.keys().length === 1;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Returns a boolean indicating if the structured type has a compound key.
|
|
66
|
-
* @returns True if the structured type has a compound key.
|
|
67
|
-
*/
|
|
68
|
-
isCompoundKey() {
|
|
69
|
-
return this.keys().length > 1;
|
|
70
|
-
}
|
|
71
|
-
isOpenType() {
|
|
72
|
-
return this.parser.isOpenType();
|
|
73
|
-
}
|
|
74
|
-
isEntityType() {
|
|
75
|
-
return this.parser.isEntityType();
|
|
76
|
-
}
|
|
77
|
-
isComplexType() {
|
|
78
|
-
return this.parser.isComplexType();
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Find the field parser for the given field name.
|
|
82
|
-
* @param name Name of the field
|
|
83
|
-
* @returns The field parser
|
|
84
|
-
*/
|
|
85
|
-
field(name) {
|
|
86
|
-
return this.parser.field(name);
|
|
87
|
-
}
|
|
88
|
-
addField(name, config) {
|
|
89
|
-
return this.parser.addField(name, config);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Find a parent schema of the structured type.
|
|
93
|
-
* @param predicate Function for evaluate the schemas in the hierarchy.
|
|
94
|
-
* @returns The schema that matches the predicate.
|
|
95
|
-
*/
|
|
96
|
-
findParentSchema(predicate) {
|
|
97
|
-
if (predicate(this))
|
|
98
|
-
return this;
|
|
99
|
-
if (this.parent === undefined)
|
|
100
|
-
return undefined;
|
|
101
|
-
return this.parent.findParentSchema(predicate);
|
|
102
|
-
}
|
|
103
|
-
findChildSchema(predicate) {
|
|
104
|
-
if (predicate(this))
|
|
105
|
-
return this;
|
|
106
|
-
let match;
|
|
107
|
-
for (let ch of this.children) {
|
|
108
|
-
match = ch.findChildSchema(predicate);
|
|
109
|
-
if (match !== undefined)
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
return match;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Find a parent schema of the structured type for the given field.
|
|
116
|
-
* @param field Field that belongs to the structured type
|
|
117
|
-
* @returns The schema of the field
|
|
118
|
-
*/
|
|
119
|
-
findParentSchemaForField(field) {
|
|
120
|
-
return this.findParentSchema((p) => p
|
|
121
|
-
.fields({ include_parents: false, include_navigation: true })
|
|
122
|
-
.find((f) => f === field) !== undefined);
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Picks the fields from attributes.
|
|
126
|
-
* @param attrs
|
|
127
|
-
* @param include_parents Include the parent fields
|
|
128
|
-
* @param include_navigation Include the navigation fields
|
|
129
|
-
* @param include_etag Include the etag field
|
|
130
|
-
* @returns The picked fields
|
|
131
|
-
*/
|
|
132
|
-
pick(attrs, { include_id = true, include_key = true, include_parents = true, include_navigation = false, include_computed = false, include_etag = true, } = {}) {
|
|
133
|
-
return this.parser.pick(attrs, {
|
|
134
|
-
include_id,
|
|
135
|
-
include_key,
|
|
136
|
-
include_etag,
|
|
137
|
-
include_navigation,
|
|
138
|
-
include_computed,
|
|
139
|
-
include_parents,
|
|
140
|
-
options: this.api.options,
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Deseialize the given value from the structured type.
|
|
145
|
-
* @param value Value to deserialize
|
|
146
|
-
* @param options Options for deserialization
|
|
147
|
-
* @returns Deserialized value
|
|
148
|
-
*/
|
|
149
|
-
deserialize(value, options) {
|
|
150
|
-
return this.parser.deserialize(value, options);
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Serialize the given value for the structured type.
|
|
154
|
-
* @param value Value to serialize
|
|
155
|
-
* @param options Options for serialization
|
|
156
|
-
* @returns Serialized value
|
|
157
|
-
*/
|
|
158
|
-
serialize(value, options) {
|
|
159
|
-
return this.parser.serialize(value, options);
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Encode the given value for the structured type.
|
|
163
|
-
* @param value Value to encode
|
|
164
|
-
* @param options Options for encoding
|
|
165
|
-
* @returns Encoded value
|
|
166
|
-
*/
|
|
167
|
-
encode(value, options) {
|
|
168
|
-
return this.parser.encode(value, options);
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Returns all fields of the structured type.
|
|
172
|
-
* @param include_navigation Include navigation properties in the result.
|
|
173
|
-
* @param include_parents Include the parent types in the result.
|
|
174
|
-
* @returns All fields of the structured type.
|
|
175
|
-
*/
|
|
176
|
-
fields({ include_navigation, include_parents, }) {
|
|
177
|
-
return this.parser.fields({ include_navigation, include_parents });
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Returns the keys of the structured type.
|
|
181
|
-
* @param include_parents Include the parent fields
|
|
182
|
-
* @returns The keys of the structured type
|
|
183
|
-
*/
|
|
184
|
-
keys({ include_parents = true, } = {}) {
|
|
185
|
-
return this.parser.keys({ include_parents });
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Resolve the key of the structured type for the given value.
|
|
189
|
-
* @param attrs Attributes of the value
|
|
190
|
-
* @returns Resolved key
|
|
191
|
-
*/
|
|
192
|
-
resolveKey(attrs) {
|
|
193
|
-
return this.parser.resolveKey(attrs);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Returns the defaults values for the structured type.
|
|
197
|
-
* @returns Default values for the structured type
|
|
198
|
-
*/
|
|
199
|
-
defaults() {
|
|
200
|
-
return this.parser.defaults();
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Convert the structured type to json schema
|
|
204
|
-
* @param options Options for json schema
|
|
205
|
-
* @returns Json Schema
|
|
206
|
-
*/
|
|
207
|
-
toJsonSchema(options = {}) {
|
|
208
|
-
return this.parser.toJsonSchema(options);
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Validate the given value against the structured type.
|
|
212
|
-
* @param attrs Attributes of the value
|
|
213
|
-
* @param method Method to use for the process validation
|
|
214
|
-
* @returns Object with the errors
|
|
215
|
-
*/
|
|
216
|
-
validate(attrs, { method, navigation = false, } = {}) {
|
|
217
|
-
return this.parser.validate(attrs, { method, navigation });
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zdHJ1Y3R1cmVkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JELE9BQU8sRUFJTCx5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFHbkIsTUFBTSxPQUFPLG1CQUF1QixTQUFRLHdCQUczQztJQUNDLElBQUksQ0FBVTtJQUNkLE1BQU0sQ0FBNEI7SUFDbEMsUUFBUSxHQUErQixFQUFFLENBQUM7SUFDMUMsS0FBSyxDQUFxQjtJQUMxQixVQUFVLENBQTBCO0lBRXBDLFlBQVksTUFBNEIsRUFBRSxNQUFtQjtRQUMzRCxLQUFLLENBQ0gsTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FDdEUsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUEwQixDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQW9DLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBOEI7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUN4QyxJQUFJLENBQUMsSUFBSSxDQUNrQixDQUFDO1lBQzlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxD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QUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FDTixLQUFpQixFQUNqQixFQUNFLE1BQU0sRUFDTixVQUFVLEdBQUcsS0FBSyxNQUloQixFQUFFO1FBRU4sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL21vZGVsJztcbmltcG9ydCB7XG4gIFBhcnNlck9wdGlvbnMsXG4gIFN0cnVjdHVyZWRUeXBlQ29uZmlnLFxuICBTdHJ1Y3R1cmVkVHlwZUZpZWxkQ29uZmlnLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPRGF0YVBhcnNlclNjaGVtYUVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHtcbiAgSnNvblNjaGVtYU9wdGlvbnMsXG4gIE9EYXRhRW50aXR5VHlwZUtleSxcbiAgT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyLFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyLFxufSBmcm9tICcuL3BhcnNlcnMnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+IGV4dGVuZHMgT0RhdGFQYXJzZXJTY2hlbWFFbGVtZW50PFxuICBULFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyPFQ+XG4+IHtcbiAgYmFzZT86IHN0cmluZztcbiAgcGFyZW50PzogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICBjaGlsZHJlbjogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+W10gPSBbXTtcbiAgbW9kZWw/OiB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgY29sbGVjdGlvbj86IHR5cGVvZiBPRGF0YUNvbGxlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZywgc2NoZW1hOiBPRGF0YVNjaGVtYSkge1xuICAgIHN1cGVyKFxuICAgICAgY29uZmlnLFxuICAgICAgc2NoZW1hLFxuICAgICAgbmV3IE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIoY29uZmlnLCBzY2hlbWEubmFtZXNwYWNlLCBzY2hlbWEuYWxpYXMpLFxuICAgICk7XG4gICAgdGhpcy5iYXNlID0gY29uZmlnLmJhc2U7XG4gICAgdGhpcy5tb2RlbCA9IGNvbmZpZy5tb2RlbCBhcyB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25maWcuY29sbGVjdGlvbiBhcyB0eXBlb2YgT0RhdGFDb2xsZWN0aW9uO1xuICB9XG5cbiAgY29uZmlndXJlKHsgb3B0aW9ucyB9OiB7IG9wdGlvbnM6IFBhcnNlck9wdGlvbnMgfSkge1xuICAgIGlmICh0aGlzLmJhc2UpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZShcbiAgICAgICAgdGhpcy5iYXNlLFxuICAgICAgKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gICAgICBwYXJlbnQuY2hpbGRyZW4ucHVzaCh0aGlzKTtcbiAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIH1cbiAgICB0aGlzLnBhcnNlci5jb25maWd1cmUoe1xuICAgICAgb3B0aW9ucyxcbiAgICAgIHBhcnNlckZvclR5cGU6ICh0OiBzdHJpbmcpID0+IHRoaXMuYXBpLnBhcnNlckZvclR5cGUodCksXG4gICAgfSk7XG4gICAgaWYgKHRoaXMubW9kZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5tb2RlbC5tZXRhID0gdGhpcy5hcGkub3B0aW9uc0ZvclR5cGU8VD4odGhpcy50eXBlKCksIHtcbiAgICAgICAgY29uZmlnOiB0aGlzLm1vZGVsLm9wdGlvbnMsXG4gICAgICAgIHN0cnVjdHVyZWRUeXBlOiB0aGlzLFxuICAgICAgfSkhO1xuICAgICAgaWYgKHRoaXMubW9kZWwubWV0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIENvbmZpZ3VyZVxuICAgICAgICB0aGlzLm1vZGVsLm1ldGEuY29uZmlndXJlKHsgb3B0aW9ucyB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmNvbGxlY3Rpb24ubW9kZWwgPSB0aGlzLm1vZGVsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgYm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSBzdHJ1Y3R1cmVkIHR5cGUgaXMgYSBzdWJ0eXBlIG9mIHRoZSBnaXZlbiB0eXBlLlxuICAgKiBAcGFyYW0gdHlwZSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHR5cGVcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgY2FsbGFibGUgaXMgdHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZVxuICAgKi9cbiAgb3ZlcnJpZGUgaXNTdWJ0eXBlT2Yoc2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3VwZXIuaXNTdWJ0eXBlT2Yoc2NoZW1hKSB8fFxuICAgICAgKHRoaXMucGFyZW50ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5wYXJlbnQuaXNTdWJ0eXBlT2Yoc2NoZW1hKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBpcyBhIHN1cGVydHlwZSBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAgICogQHBhcmFtIHR5cGUgU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0eXBlXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGNhbGxhYmxlIGlzIHR5cGUgb2YgdGhlIGdpdmVuIHR5cGVcbiAgICovXG4gIG92ZXJyaWRlIGlzU3VwZXJ0eXBlT2Yoc2NoZW1hOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgc3VwZXIuaXNTdXBlcnR5cGVPZihzY2hlbWEpIHx8XG4gICAgICB0aGlzLmNoaWxkcmVuLnNvbWUoKGMpID0+IGMuaXNTdXBlcnR5cGVPZihzY2hlbWEpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgc3RydWN0dXJlZCB0eXBlIGhhcyBhIHNpbXBsZSBrZXkuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBzaW1wbGUga2V5XG4gICAqL1xuICBpc1NpbXBsZUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBjb21wb3VuZCBrZXkuXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cnVjdHVyZWQgdHlwZSBoYXMgYSBjb21wb3VuZCBrZXkuXG4gICAqL1xuICBpc0NvbXBvdW5kS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmtleXMoKS5sZW5ndGggPiAxO1xuICB9XG5cbiAgaXNPcGVuVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuaXNPcGVuVHlwZSgpO1xuICB9XG5cbiAgaXNFbnRpdHlUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5pc0VudGl0eVR5cGUoKTtcbiAgfVxuXG4gIGlzQ29tcGxleFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmlzQ29tcGxleFR5cGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIHRoZSBmaWVsZCBwYXJzZXIgZm9yIHRoZSBnaXZlbiBmaWVsZCBuYW1lLlxuICAgKiBAcGFyYW0gbmFtZSBOYW1lIG9mIHRoZSBmaWVsZFxuICAgKiBAcmV0dXJucyBUaGUgZmllbGQgcGFyc2VyXG4gICAqL1xuICBmaWVsZDxGPihuYW1lOiBrZXlvZiBUKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmZpZWxkPEY+KG5hbWUpO1xuICB9XG5cbiAgYWRkRmllbGQ8Rj4oXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGNvbmZpZzogU3RydWN0dXJlZFR5cGVGaWVsZENvbmZpZyxcbiAgKTogT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyPEY+IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuYWRkRmllbGQobmFtZSwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGEgcGFyZW50IHNjaGVtYSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gcHJlZGljYXRlIEZ1bmN0aW9uIGZvciBldmFsdWF0ZSB0aGUgc2NoZW1hcyBpbiB0aGUgaGllcmFyY2h5LlxuICAgKiBAcmV0dXJucyBUaGUgc2NoZW1hIHRoYXQgbWF0Y2hlcyB0aGUgcHJlZGljYXRlLlxuICAgKi9cbiAgZmluZFBhcmVudFNjaGVtYShcbiAgICBwcmVkaWNhdGU6IChwOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4pID0+IGJvb2xlYW4sXG4gICk6IE9EYXRhU3RydWN0dXJlZFR5cGU8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByZWRpY2F0ZSh0aGlzKSkgcmV0dXJuIHRoaXMgYXMgT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+O1xuICAgIGlmICh0aGlzLnBhcmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5maW5kUGFyZW50U2NoZW1hKHByZWRpY2F0ZSk7XG4gIH1cblxuICBmaW5kQ2hpbGRTY2hlbWEoXG4gICAgcHJlZGljYXRlOiAocDogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+KSA9PiBib29sZWFuLFxuICApOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT4gfCB1bmRlZmluZWQge1xuICAgIGlmIChwcmVkaWNhdGUodGhpcykpIHJldHVybiB0aGlzO1xuICAgIGxldCBtYXRjaDogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIGZvciAobGV0IGNoIG9mIHRoaXMuY2hpbGRyZW4pIHtcbiAgICAgIG1hdGNoID0gY2guZmluZENoaWxkU2NoZW1hKHByZWRpY2F0ZSk7XG4gICAgICBpZiAobWF0Y2ggIT09IHVuZGVmaW5lZCkgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBtYXRjaDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIGEgcGFyZW50IHNjaGVtYSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlIGZvciB0aGUgZ2l2ZW4gZmllbGQuXG4gICAqIEBwYXJhbSBmaWVsZCBGaWVsZCB0aGF0IGJlbG9uZ3MgdG8gdGhlIHN0cnVjdHVyZWQgdHlwZVxuICAgKiBAcmV0dXJucyBUaGUgc2NoZW1hIG9mIHRoZSBmaWVsZFxuICAgKi9cbiAgZmluZFBhcmVudFNjaGVtYUZvckZpZWxkPEU+KGZpZWxkOiBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXI8YW55Pikge1xuICAgIHJldHVybiB0aGlzLmZpbmRQYXJlbnRTY2hlbWEoXG4gICAgICAocCkgPT5cbiAgICAgICAgcFxuICAgICAgICAgIC5maWVsZHMoeyBpbmNsdWRlX3BhcmVudHM6IGZhbHNlLCBpbmNsdWRlX25hdmlnYXRpb246IHRydWUgfSlcbiAgICAgICAgICAuZmluZCgoZikgPT4gZiA9PT0gZmllbGQpICE9PSB1bmRlZmluZWQsXG4gICAgKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPEU+O1xuICB9XG5cbiAgLyoqXG4gICAqIFBpY2tzIHRoZSBmaWVsZHMgZnJvbSBhdHRyaWJ1dGVzLlxuICAgKiBAcGFyYW0gYXR0cnNcbiAgICogQHBhcmFtIGluY2x1ZGVfcGFyZW50cyBJbmNsdWRlIHRoZSBwYXJlbnQgZmllbGRzXG4gICAqIEBwYXJhbSBpbmNsdWRlX25hdmlnYXRpb24gSW5jbHVkZSB0aGUgbmF2aWdhdGlvbiBmaWVsZHNcbiAgICogQHBhcmFtIGluY2x1ZGVfZXRhZyBJbmNsdWRlIHRoZSBldGFnIGZpZWxkXG4gICAqIEByZXR1cm5zIFRoZSBwaWNrZWQgZmllbGRzXG4gICAqL1xuICBwaWNrKFxuICAgIGF0dHJzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSxcbiAgICB7XG4gICAgICBpbmNsdWRlX2lkID0gdHJ1ZSxcbiAgICAgIGluY2x1ZGVfa2V5ID0gdHJ1ZSxcbiAgICAgIGluY2x1ZGVfcGFyZW50cyA9IHRydWUsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24gPSBmYWxzZSxcbiAgICAgIGluY2x1ZGVfY29tcHV0ZWQgPSBmYWxzZSxcbiAgICAgIGluY2x1ZGVfZXRhZyA9IHRydWUsXG4gICAgfToge1xuICAgICAgaW5jbHVkZV9pZD86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX2tleT86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX3BhcmVudHM/OiBib29sZWFuO1xuICAgICAgaW5jbHVkZV9uYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICAgIGluY2x1ZGVfY29tcHV0ZWQ/OiBib29sZWFuO1xuICAgICAgaW5jbHVkZV9ldGFnPzogYm9vbGVhbjtcbiAgICB9ID0ge30sXG4gICk6IFBhcnRpYWw8VD4ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5waWNrKGF0dHJzLCB7XG4gICAgICBpbmNsdWRlX2lkLFxuICAgICAgaW5jbHVkZV9rZXksXG4gICAgICBpbmNsdWRlX2V0YWcsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24sXG4gICAgICBpbmNsdWRlX2NvbXB1dGVkLFxuICAgICAgaW5jbHVkZV9wYXJlbnRzLFxuICAgICAgb3B0aW9uczogdGhpcy5hcGkub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlaWFsaXplIHRoZSBnaXZlbiB2YWx1ZSBmcm9tIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBkZXNlcmlhbGl6ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBkZXNlcmlhbGl6YXRpb25cbiAgICogQHJldHVybnMgRGVzZXJpYWxpemVkIHZhbHVlXG4gICAqL1xuICBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55LCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IFQge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5kZXNlcmlhbGl6ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplIHRoZSBnaXZlbiB2YWx1ZSBmb3IgdGhlIHN0cnVjdHVyZWQgdHlwZS5cbiAgICogQHBhcmFtIHZhbHVlIFZhbHVlIHRvIHNlcmlhbGl6ZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBzZXJpYWxpemF0aW9uXG4gICAqIEByZXR1cm5zIFNlcmlhbGl6ZWQgdmFsdWVcbiAgICovXG4gIHNlcmlhbGl6ZSh2YWx1ZTogVCwgb3B0aW9ucz86IFBhcnNlck9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5zZXJpYWxpemUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuY29kZSB0aGUgZ2l2ZW4gdmFsdWUgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBlbmNvZGVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgZW5jb2RpbmdcbiAgICogQHJldHVybnMgRW5jb2RlZCB2YWx1ZVxuICAgKi9cbiAgZW5jb2RlKHZhbHVlOiBULCBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmVuY29kZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgZmllbGRzIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSBpbmNsdWRlX25hdmlnYXRpb24gSW5jbHVkZSBuYXZpZ2F0aW9uIHByb3BlcnRpZXMgaW4gdGhlIHJlc3VsdC5cbiAgICogQHBhcmFtIGluY2x1ZGVfcGFyZW50cyBJbmNsdWRlIHRoZSBwYXJlbnQgdHlwZXMgaW4gdGhlIHJlc3VsdC5cbiAgICogQHJldHVybnMgQWxsIGZpZWxkcyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKi9cbiAgZmllbGRzKHtcbiAgICBpbmNsdWRlX25hdmlnYXRpb24sXG4gICAgaW5jbHVkZV9wYXJlbnRzLFxuICB9OiB7XG4gICAgaW5jbHVkZV9wYXJlbnRzOiBib29sZWFuO1xuICAgIGluY2x1ZGVfbmF2aWdhdGlvbjogYm9vbGVhbjtcbiAgfSk6IE9EYXRhU3RydWN0dXJlZFR5cGVGaWVsZFBhcnNlcjxhbnk+W10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5maWVsZHMoeyBpbmNsdWRlX25hdmlnYXRpb24sIGluY2x1ZGVfcGFyZW50cyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBrZXlzIG9mIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEBwYXJhbSBpbmNsdWRlX3BhcmVudHMgSW5jbHVkZSB0aGUgcGFyZW50IGZpZWxkc1xuICAgKiBAcmV0dXJucyBUaGUga2V5cyBvZiB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqL1xuICBrZXlzKHtcbiAgICBpbmNsdWRlX3BhcmVudHMgPSB0cnVlLFxuICB9OiB7XG4gICAgaW5jbHVkZV9wYXJlbnRzPzogYm9vbGVhbjtcbiAgfSA9IHt9KTogT0RhdGFFbnRpdHlUeXBlS2V5W10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5rZXlzKHsgaW5jbHVkZV9wYXJlbnRzIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmUgdGhlIGtleSBvZiB0aGUgc3RydWN0dXJlZCB0eXBlIGZvciB0aGUgZ2l2ZW4gdmFsdWUuXG4gICAqIEBwYXJhbSBhdHRycyBBdHRyaWJ1dGVzIG9mIHRoZSB2YWx1ZVxuICAgKiBAcmV0dXJucyBSZXNvbHZlZCBrZXlcbiAgICovXG4gIHJlc29sdmVLZXkoYXR0cnM6IFQgfCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5yZXNvbHZlS2V5KGF0dHJzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkZWZhdWx0cyB2YWx1ZXMgZm9yIHRoZSBzdHJ1Y3R1cmVkIHR5cGUuXG4gICAqIEByZXR1cm5zIERlZmF1bHQgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJlZCB0eXBlXG4gICAqL1xuICBkZWZhdWx0cygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuZGVmYXVsdHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0IHRoZSBzdHJ1Y3R1cmVkIHR5cGUgdG8ganNvbiBzY2hlbWFcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IganNvbiBzY2hlbWFcbiAgICogQHJldHVybnMgSnNvbiBTY2hlbWFcbiAgICovXG4gIHRvSnNvblNjaGVtYShvcHRpb25zOiBKc29uU2NoZW1hT3B0aW9uczxUPiA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnRvSnNvblNjaGVtYShvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGUgZ2l2ZW4gdmFsdWUgYWdhaW5zdCB0aGUgc3RydWN0dXJlZCB0eXBlLlxuICAgKiBAcGFyYW0gYXR0cnMgQXR0cmlidXRlcyBvZiB0aGUgdmFsdWVcbiAgICogQHBhcmFtIG1ldGhvZCBNZXRob2QgdG8gdXNlIGZvciB0aGUgcHJvY2VzcyB2YWxpZGF0aW9uXG4gICAqIEByZXR1cm5zIE9iamVjdCB3aXRoIHRoZSBlcnJvcnNcbiAgICovXG4gIHZhbGlkYXRlKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIG5hdmlnYXRpb24gPSBmYWxzZSxcbiAgICB9OiB7XG4gICAgICBtZXRob2Q/OiAnY3JlYXRlJyB8ICd1cGRhdGUnIHwgJ21vZGlmeSc7XG4gICAgICBuYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICB9ID0ge30sXG4gICkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci52YWxpZGF0ZShhdHRycywgeyBtZXRob2QsIG5hdmlnYXRpb24gfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export class ODataBaseService {
|
|
2
|
-
client;
|
|
3
|
-
name;
|
|
4
|
-
apiNameOrEntityType;
|
|
5
|
-
constructor(client, name, apiNameOrEntityType) {
|
|
6
|
-
this.client = client;
|
|
7
|
-
this.name = name;
|
|
8
|
-
this.apiNameOrEntityType = apiNameOrEntityType;
|
|
9
|
-
}
|
|
10
|
-
get api() {
|
|
11
|
-
return this.client.apiFor(this.apiNameOrEntityType);
|
|
12
|
-
}
|
|
13
|
-
callFunction(params, resource, responseType, options = {}) {
|
|
14
|
-
resource.query((q) => q.restore(options));
|
|
15
|
-
return resource.call(params, {
|
|
16
|
-
responseType: responseType,
|
|
17
|
-
...options,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
callAction(params, resource, responseType, options = {}) {
|
|
21
|
-
resource.query((q) => q.restore(options));
|
|
22
|
-
return resource.call(params, {
|
|
23
|
-
responseType: responseType,
|
|
24
|
-
...options,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
fetchNavigationProperty(resource, responseType, options = {}) {
|
|
28
|
-
resource.query((q) => q.restore(options));
|
|
29
|
-
return resource.fetch({ responseType: responseType, ...options });
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sT0FBZ0IsZ0JBQWdCO0lBRXhCO0lBQ0E7SUFDQTtJQUhaLFlBQ1ksTUFBbUIsRUFDbkIsSUFBWSxFQUNaLG1CQUE0QjtRQUY1QixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVM7SUFDckMsQ0FBQztJQUVKLElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQTBCUyxZQUFZLENBQ3BCLE1BQWdCLEVBQ2hCLFFBQXFDLEVBQ3JDLFlBQXlELEVBQ3pELFVBQW1DLEVBQUU7UUFFckMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsWUFBWSxFQUFFLFlBQW1CO1lBQ2pDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUEwQlMsVUFBVSxDQUNsQixNQUFnQixFQUNoQixRQUFtQyxFQUNuQyxZQUF5RCxFQUN6RCxVQUFpQyxFQUFFO1FBRW5DLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQzNCLFlBQVksRUFBRSxZQUFtQjtZQUNqQyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBWVMsdUJBQXVCLENBQy9CLFFBQTRDLEVBQzVDLFlBQW1DLEVBQ25DLFVBQXlDLEVBQUU7UUFFM0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxZQUFtQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQge1xuICBPRGF0YUFjdGlvbk9wdGlvbnMsXG4gIE9EYXRhQWN0aW9uUmVzb3VyY2UsXG4gIE9EYXRhRW50aXRpZXMsXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUZ1bmN0aW9uT3B0aW9ucyxcbiAgT0RhdGFGdW5jdGlvblJlc291cmNlLFxuICBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLFxuICBPRGF0YVByb3BlcnR5LFxuICBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9ucyxcbn0gZnJvbSAnLi4vcmVzb3VyY2VzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9EYXRhQmFzZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCxcbiAgICBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBhcGlOYW1lT3JFbnRpdHlUeXBlPzogc3RyaW5nLFxuICApIHt9XG5cbiAgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuYXBpRm9yKHRoaXMuYXBpTmFtZU9yRW50aXR5VHlwZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2FsbEZ1bmN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhRnVuY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YUZ1bmN0aW9uT3B0aW9uczxSPixcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFGdW5jdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFGdW5jdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFQcm9wZXJ0eTxSPj47XG4gIHByb3RlY3RlZCBjYWxsRnVuY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ25vbmUnLFxuICAgIG9wdGlvbnM/OiBPRGF0YUZ1bmN0aW9uT3B0aW9uczxSPixcbiAgKTogT2JzZXJ2YWJsZTxudWxsPjtcbiAgcHJvdGVjdGVkIGNhbGxGdW5jdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhRnVuY3Rpb25PcHRpb25zPFI+ID0ge30sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmVzb3VyY2UucXVlcnkoKHEpID0+IHEucmVzdG9yZShvcHRpb25zKSk7XG4gICAgcmV0dXJuIHJlc291cmNlLmNhbGwocGFyYW1zLCB7XG4gICAgICByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSBhcyBhbnksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNhbGxBY3Rpb248UCwgUj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICByZXNvdXJjZTogT0RhdGFBY3Rpb25SZXNvdXJjZTxQLCBSPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YUFjdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ3Byb3BlcnR5JyxcbiAgICBvcHRpb25zPzogT0RhdGFBY3Rpb25PcHRpb25zPFI+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhUHJvcGVydHk8Uj4+O1xuICBwcm90ZWN0ZWQgY2FsbEFjdGlvbjxQLCBSPihcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHJlc291cmNlOiBPRGF0YUFjdGlvblJlc291cmNlPFAsIFI+LFxuICAgIHJlc3BvbnNlVHlwZTogJ25vbmUnLFxuICAgIG9wdGlvbnM/OiBPRGF0YUFjdGlvbk9wdGlvbnM8Uj4sXG4gICk6IE9ic2VydmFibGU8bnVsbD47XG4gIHByb3RlY3RlZCBjYWxsQWN0aW9uPFAsIFI+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgcmVzb3VyY2U6IE9EYXRhQWN0aW9uUmVzb3VyY2U8UCwgUj4sXG4gICAgcmVzcG9uc2VUeXBlOiAncHJvcGVydHknIHwgJ2VudGl0eScgfCAnZW50aXRpZXMnIHwgJ25vbmUnLFxuICAgIG9wdGlvbnM6IE9EYXRhQWN0aW9uT3B0aW9uczxSPiA9IHt9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJlc291cmNlLnF1ZXJ5KChxKSA9PiBxLnJlc3RvcmUob3B0aW9ucykpO1xuICAgIHJldHVybiByZXNvdXJjZS5jYWxsKHBhcmFtcywge1xuICAgICAgcmVzcG9uc2VUeXBlOiByZXNwb25zZVR5cGUgYXMgYW55LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgIG9wdGlvbnM/OiBPRGF0YVF1ZXJ5QXJndW1lbnRzT3B0aW9uczxTPixcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxTPj47XG4gIHByb3RlY3RlZCBmZXRjaE5hdmlnYXRpb25Qcm9wZXJ0eTxTPihcbiAgICByZXNvdXJjZTogT0RhdGFOYXZpZ2F0aW9uUHJvcGVydHlSZXNvdXJjZTxTPixcbiAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgb3B0aW9ucz86IE9EYXRhUXVlcnlBcmd1bWVudHNPcHRpb25zPFM+LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uz4+O1xuICBwcm90ZWN0ZWQgZmV0Y2hOYXZpZ2F0aW9uUHJvcGVydHk8Uz4oXG4gICAgcmVzb3VyY2U6IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2U8Uz4sXG4gICAgcmVzcG9uc2VUeXBlOiAnZW50aXR5JyB8ICdlbnRpdGllcycsXG4gICAgb3B0aW9uczogT0RhdGFRdWVyeUFyZ3VtZW50c09wdGlvbnM8Uz4gPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXNvdXJjZS5xdWVyeSgocSkgPT4gcS5yZXN0b3JlKG9wdGlvbnMpKTtcbiAgICByZXR1cm4gcmVzb3VyY2UuZmV0Y2goeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSBhcyBhbnksIC4uLm9wdGlvbnMgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,161 +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
|
-
static Model;
|
|
8
|
-
static Collection;
|
|
9
|
-
model(entity, reset) {
|
|
10
|
-
const Service = this.constructor;
|
|
11
|
-
return this.entity().asModel((entity ?? {}), {
|
|
12
|
-
reset,
|
|
13
|
-
ModelType: Service.Model,
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
collection(entities, reset) {
|
|
17
|
-
const Service = this.constructor;
|
|
18
|
-
return this.entities().asCollection((entities ?? []), {
|
|
19
|
-
reset,
|
|
20
|
-
CollectionType: Service.Collection,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Get the entity set resource for this service.
|
|
25
|
-
*/
|
|
26
|
-
entities() {
|
|
27
|
-
return this.client.entitySet(this.name, this.apiNameOrEntityType);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Get the entity resource for this service.
|
|
31
|
-
* @param key The entity key.
|
|
32
|
-
*/
|
|
33
|
-
entity(key) {
|
|
34
|
-
return this.entities().entity(key);
|
|
35
|
-
}
|
|
36
|
-
attach(model) {
|
|
37
|
-
if (model instanceof ODataModel) {
|
|
38
|
-
model.attach(this.entities().entity());
|
|
39
|
-
}
|
|
40
|
-
else if (model instanceof ODataCollection) {
|
|
41
|
-
model.attach(this.entities());
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* The schema for the entity set.
|
|
46
|
-
*/
|
|
47
|
-
get entitySetSchema() {
|
|
48
|
-
return this.api.findEntitySet(this.name);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get all entities from the entity set.
|
|
52
|
-
* @param options The options for the request.
|
|
53
|
-
*/
|
|
54
|
-
fetchAll(options) {
|
|
55
|
-
return this.entities().fetchAll(options);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Get entities from the entity set.
|
|
59
|
-
* @param withCount Get the count of the entities.
|
|
60
|
-
* @param options The options for the request.
|
|
61
|
-
*/
|
|
62
|
-
fetchMany(top, options) {
|
|
63
|
-
return this.entities().fetchMany(top, options);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Get an entity from the entity set.
|
|
67
|
-
* @param key The entity key.
|
|
68
|
-
* @param etag The etag for the entity.
|
|
69
|
-
* @param options The options for the request.
|
|
70
|
-
*/
|
|
71
|
-
fetchOne(options) {
|
|
72
|
-
return this.entities().fetchOne(options);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Create an entity in the entity set.
|
|
76
|
-
* @param attrs The attributes for the entity.
|
|
77
|
-
* @param options The options for the request.
|
|
78
|
-
*/
|
|
79
|
-
create(attrs, options) {
|
|
80
|
-
return this.entities().create(attrs, options);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Update an entity in the entity set.
|
|
84
|
-
* @param key The entity key.
|
|
85
|
-
* @param attrs The attributes for the entity.
|
|
86
|
-
* @param etag The etag for the entity.
|
|
87
|
-
* @param options The options for the request.
|
|
88
|
-
*/
|
|
89
|
-
update(key, attrs, options) {
|
|
90
|
-
const res = this.entity(key);
|
|
91
|
-
if (!res.hasKey())
|
|
92
|
-
return throwError(() => new Error('update: Resource without key'));
|
|
93
|
-
return res.update(attrs, options);
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Patch an entity in the entity set.
|
|
97
|
-
* @param key The entity key.
|
|
98
|
-
* @param attrs The attributes for the entity.
|
|
99
|
-
* @param etag The etag for the entity.
|
|
100
|
-
* @param options The options for the request.
|
|
101
|
-
*/
|
|
102
|
-
modify(key, attrs, options) {
|
|
103
|
-
const res = this.entity(key);
|
|
104
|
-
if (!res.hasKey())
|
|
105
|
-
return throwError(() => new Error('modify: Resource without key'));
|
|
106
|
-
return res.modify(attrs, options);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Delete an entity in the entity set.
|
|
110
|
-
* @param key The entity key.
|
|
111
|
-
* @param etag The etag for the entity.
|
|
112
|
-
* @param options The options for the request.
|
|
113
|
-
*/
|
|
114
|
-
destroy(key, options) {
|
|
115
|
-
const res = this.entity(key);
|
|
116
|
-
if (!res.hasKey())
|
|
117
|
-
return throwError(() => new Error('destroy: Resource without key'));
|
|
118
|
-
return res.destroy(options);
|
|
119
|
-
}
|
|
120
|
-
//#region Shortcuts
|
|
121
|
-
/**
|
|
122
|
-
* Get or create an entity in the entity set.
|
|
123
|
-
* @param key The entity key.
|
|
124
|
-
* @param attrs The attributes for the entity.
|
|
125
|
-
* @param etag The etag for the entity.
|
|
126
|
-
* @param options The options for the request.
|
|
127
|
-
*/
|
|
128
|
-
fetchOrCreate(key, attrs, { etag, ...options } = {}) {
|
|
129
|
-
return this.entity(key)
|
|
130
|
-
.fetch({ etag, ...options })
|
|
131
|
-
.pipe(catchError((error) => {
|
|
132
|
-
if (error.status === 404)
|
|
133
|
-
return this.create(attrs, options);
|
|
134
|
-
else
|
|
135
|
-
return throwError(() => error);
|
|
136
|
-
}));
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* Save an entity in the entity set.
|
|
140
|
-
* @param attrs The attributes for the entity.
|
|
141
|
-
* @param method The method to use.
|
|
142
|
-
* @param etag The etag for the entity.
|
|
143
|
-
* @param options The options for the request.
|
|
144
|
-
*/
|
|
145
|
-
save(attrs, { etag, method, ...options } = {}) {
|
|
146
|
-
let schema = this.structuredTypeSchema;
|
|
147
|
-
if (method === undefined && schema !== undefined && schema.isCompoundKey())
|
|
148
|
-
return throwError(() => new Error('save: Composite key require a specific method, use create/update/patch'));
|
|
149
|
-
let key = schema && schema.resolveKey(attrs);
|
|
150
|
-
if (method === undefined)
|
|
151
|
-
method = key !== undefined ? 'update' : 'create';
|
|
152
|
-
if ((method === 'update' || method === 'modify') && key === undefined)
|
|
153
|
-
return throwError(() => new Error("save: Can't update/patch entity without key"));
|
|
154
|
-
return method === 'create'
|
|
155
|
-
? this.create(attrs, options)
|
|
156
|
-
: method === 'modify'
|
|
157
|
-
? this.modify(key, attrs, { etag, ...options })
|
|
158
|
-
: this.update(key, attrs, { etag, ...options });
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9lbnRpdHktc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlDLE1BQU0sT0FBTyxxQkFBeUIsU0FBUSxrQkFBcUI7SUFDakUsTUFBTSxDQUFDLEtBQUssQ0FBcUI7SUFDakMsTUFBTSxDQUFDLFVBQVUsQ0FBMEI7SUFFM0MsS0FBSyxDQUFDLE1BQW1CLEVBQUUsS0FBZTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBMkMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFlLEVBQUU7WUFDekQsS0FBSztZQUNMLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQXVCLEVBQUUsS0FBZTtRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBMkMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFpQixFQUFFO1lBQ3BFLEtBQUs7WUFDTCxjQUFjLEVBQUUsT0FBTyxDQUFDLFVBQVU7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztP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LFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDM0UsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxTQUFTO1lBQ25FLE9BQU8sVUFBVSxDQUNmLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQy9ELENBQUM7UUFDSixPQUFPLE1BQU0sS0FBSyxRQUFRO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDN0IsQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRO2dCQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9EYXRhQ29sbGVjdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbW9kZWwnO1xuaW1wb3J0IHtcbiAgRW50aXR5S2V5LFxuICBPRGF0YUVudGl0eSxcbiAgT0RhdGFFbnRpdHlSZXNvdXJjZSxcbiAgT0RhdGFFbnRpdHlTZXRSZXNvdXJjZSxcbiAgT0RhdGFPcHRpb25zLFxufSBmcm9tICcuLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9lbnRpdHknO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlPFQ+IGV4dGVuZHMgT0RhdGFFbnRpdHlTZXJ2aWNlPFQ+IHtcbiAgc3RhdGljIE1vZGVsPzogdHlwZW9mIE9EYXRhTW9kZWw7XG4gIHN0YXRpYyBDb2xsZWN0aW9uPzogdHlwZW9mIE9EYXRhQ29sbGVjdGlvbjtcblxuICBtb2RlbChlbnRpdHk/OiBQYXJ0aWFsPFQ+LCByZXNldD86IGJvb2xlYW4pIHtcbiAgICBjb25zdCBTZXJ2aWNlID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmVudGl0eSgpLmFzTW9kZWwoKGVudGl0eSA/PyB7fSkgYXMgUGFydGlhbDxUPiwge1xuICAgICAgcmVzZXQsXG4gICAgICBNb2RlbFR5cGU6IFNlcnZpY2UuTW9kZWwsXG4gICAgfSk7XG4gIH1cblxuICBjb2xsZWN0aW9uKGVudGl0aWVzPzogUGFydGlhbDxUPltdLCByZXNldD86IGJvb2xlYW4pIHtcbiAgICBjb25zdCBTZXJ2aWNlID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgT0RhdGFFbnRpdHlTZXRTZXJ2aWNlO1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuYXNDb2xsZWN0aW9uKChlbnRpdGllcyA/PyBbXSkgYXMgUGFydGlhbDxUPltdLCB7XG4gICAgICByZXNldCxcbiAgICAgIENvbGxlY3Rpb25UeXBlOiBTZXJ2aWNlLkNvbGxlY3Rpb24sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBlbnRpdHkgc2V0IHJlc291cmNlIGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgZW50aXRpZXMoKTogT0RhdGFFbnRpdHlTZXRSZXNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuY2xpZW50LmVudGl0eVNldDxUPih0aGlzLm5hbWUsIHRoaXMuYXBpTmFtZU9yRW50aXR5VHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBlbnRpdHkgcmVzb3VyY2UgZm9yIHRoaXMgc2VydmljZS5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICovXG4gIHB1YmxpYyBlbnRpdHkoa2V5PzogRW50aXR5S2V5PFQ+KTogT0RhdGFFbnRpdHlSZXNvdXJjZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMoKS5lbnRpdHkoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2ggYW4gZXhpc3RpbmcgbW9kZWwgdG8gdGhpcyBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gbW9kZWwgVGhlIG1vZGVsIHRvIGF0dGFjaC5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2g8TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4+KG1vZGVsOiBNKTogdm9pZDtcbiAgcHVibGljIGF0dGFjaDxDIGV4dGVuZHMgT0RhdGFDb2xsZWN0aW9uPFQsIE9EYXRhTW9kZWw8VD4+Pihtb2RlbDogQyk6IHZvaWQ7XG4gIHB1YmxpYyBhdHRhY2gobW9kZWw6IGFueSk6IHZvaWQge1xuICAgIGlmIChtb2RlbCBpbnN0YW5jZW9mIE9EYXRhTW9kZWwpIHtcbiAgICAgIG1vZGVsLmF0dGFjaCh0aGlzLmVudGl0aWVzKCkuZW50aXR5KCkpO1xuICAgIH0gZWxzZSBpZiAobW9kZWwgaW5zdGFuY2VvZiBPRGF0YUNvbGxlY3Rpb24pIHtcbiAgICAgIG1vZGVsLmF0dGFjaCh0aGlzLmVudGl0aWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIGZvciB0aGUgZW50aXR5IHNldC5cbiAgICovXG4gIGdldCBlbnRpdHlTZXRTY2hlbWEoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpLmZpbmRFbnRpdHlTZXQodGhpcy5uYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGVudGl0aWVzIGZyb20gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBmZXRjaEFsbChvcHRpb25zPzogT0RhdGFPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMoKS5mZXRjaEFsbChvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZW50aXRpZXMgZnJvbSB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIHdpdGhDb3VudCBHZXQgdGhlIGNvdW50IG9mIHRoZSBlbnRpdGllcy5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZldGNoTWFueShcbiAgICB0b3A6IG51bWJlcixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyB3aXRoQ291bnQ/OiBib29sZWFuIH0sXG4gICkge1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuZmV0Y2hNYW55KHRvcCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIGVudGl0eSBmcm9tIHRoZSBlbnRpdHkgc2V0LlxuICAgKiBAcGFyYW0ga2V5IFRoZSBlbnRpdHkga2V5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIGZldGNoT25lKG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB0aGlzLmVudGl0aWVzKCkuZmV0Y2hPbmUob3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMsXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllcygpLmNyZWF0ZShhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZShcbiAgICBrZXk6IEVudGl0eUtleTxUPixcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0sXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICBjb25zdCByZXMgPSB0aGlzLmVudGl0eShrZXkpO1xuICAgIGlmICghcmVzLmhhc0tleSgpKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCd1cGRhdGU6IFJlc291cmNlIHdpdGhvdXQga2V5JykpO1xuICAgIHJldHVybiByZXMudXBkYXRlKGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXRjaCBhbiBlbnRpdHkgaW4gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGVudGl0eSBrZXkuXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBtb2RpZnkoXG4gICAga2V5OiBFbnRpdHlLZXk8VD4sXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgY29uc3QgcmVzID0gdGhpcy5lbnRpdHkoa2V5KTtcbiAgICBpZiAoIXJlcy5oYXNLZXkoKSlcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignbW9kaWZ5OiBSZXNvdXJjZSB3aXRob3V0IGtleScpKTtcbiAgICByZXR1cm4gcmVzLm1vZGlmeShhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGtleSBUaGUgZW50aXR5IGtleS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KFxuICAgIGtleTogRW50aXR5S2V5PFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSxcbiAgKSB7XG4gICAgY29uc3QgcmVzID0gdGhpcy5lbnRpdHkoa2V5KTtcbiAgICBpZiAoIXJlcy5oYXNLZXkoKSlcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignZGVzdHJveTogUmVzb3VyY2Ugd2l0aG91dCBrZXknKSk7XG4gICAgcmV0dXJuIHJlcy5kZXN0cm95KG9wdGlvbnMpO1xuICB9XG5cbiAgLy8jcmVnaW9uIFNob3J0Y3V0c1xuICAvKipcbiAgICogR2V0IG9yIGNyZWF0ZSBhbiBlbnRpdHkgaW4gdGhlIGVudGl0eSBzZXQuXG4gICAqIEBwYXJhbSBrZXkgVGhlIGVudGl0eSBrZXkuXG4gICAqIEBwYXJhbSBhdHRycyBUaGUgYXR0cmlidXRlcyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIGV0YWcgVGhlIGV0YWcgZm9yIHRoZSBlbnRpdHkuXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIGZvciB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHB1YmxpYyBmZXRjaE9yQ3JlYXRlKFxuICAgIGtleTogRW50aXR5S2V5PFQ+LFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIHsgZXRhZywgLi4ub3B0aW9ucyB9OiB7IGV0YWc/OiBzdHJpbmcgfSAmIE9EYXRhT3B0aW9ucyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5KGtleSlcbiAgICAgIC5mZXRjaCh7IGV0YWcsIC4uLm9wdGlvbnMgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHJldHVybiB0aGlzLmNyZWF0ZShhdHRycywgb3B0aW9ucyk7XG4gICAgICAgICAgZWxzZSByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGFuIGVudGl0eSBpbiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGF0dHJzIFRoZSBhdHRyaWJ1dGVzIGZvciB0aGUgZW50aXR5LlxuICAgKiBAcGFyYW0gbWV0aG9kIFRoZSBtZXRob2QgdG8gdXNlLlxuICAgKiBAcGFyYW0gZXRhZyBUaGUgZXRhZyBmb3IgdGhlIGVudGl0eS5cbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgcHVibGljIHNhdmUoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAge1xuICAgICAgZXRhZyxcbiAgICAgIG1ldGhvZCxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9OiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdtb2RpZnknO1xuICAgIH0gJiBPRGF0YU9wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgbGV0IHNjaGVtYSA9IHRoaXMuc3RydWN0dXJlZFR5cGVTY2hlbWE7XG4gICAgaWYgKG1ldGhvZCA9PT0gdW5kZWZpbmVkICYmIHNjaGVtYSAhPT0gdW5kZWZpbmVkICYmIHNjaGVtYS5pc0NvbXBvdW5kS2V5KCkpXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICBuZXcgRXJyb3IoXG4gICAgICAgICAgICAnc2F2ZTogQ29tcG9zaXRlIGtleSByZXF1aXJlIGEgc3BlY2lmaWMgbWV0aG9kLCB1c2UgY3JlYXRlL3VwZGF0ZS9wYXRjaCcsXG4gICAgICAgICAgKSxcbiAgICAgICk7XG4gICAgbGV0IGtleSA9IHNjaGVtYSAmJiBzY2hlbWEucmVzb2x2ZUtleShhdHRycyk7XG4gICAgaWYgKG1ldGhvZCA9PT0gdW5kZWZpbmVkKSBtZXRob2QgPSBrZXkgIT09IHVuZGVmaW5lZCA/ICd1cGRhdGUnIDogJ2NyZWF0ZSc7XG4gICAgaWYgKChtZXRob2QgPT09ICd1cGRhdGUnIHx8IG1ldGhvZCA9PT0gJ21vZGlmeScpICYmIGtleSA9PT0gdW5kZWZpbmVkKVxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICgpID0+IG5ldyBFcnJvcihcInNhdmU6IENhbid0IHVwZGF0ZS9wYXRjaCBlbnRpdHkgd2l0aG91dCBrZXlcIiksXG4gICAgICApO1xuICAgIHJldHVybiBtZXRob2QgPT09ICdjcmVhdGUnXG4gICAgICA/IHRoaXMuY3JlYXRlKGF0dHJzLCBvcHRpb25zKVxuICAgICAgOiBtZXRob2QgPT09ICdtb2RpZnknXG4gICAgICAgID8gdGhpcy5tb2RpZnkoa2V5LCBhdHRycywgeyBldGFnLCAuLi5vcHRpb25zIH0pXG4gICAgICAgIDogdGhpcy51cGRhdGUoa2V5LCBhdHRycywgeyBldGFnLCAuLi5vcHRpb25zIH0pO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
|
|
@@ -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,39 +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
|
-
client;
|
|
8
|
-
constructor(client) {
|
|
9
|
-
this.client = client;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Factory method to create an entity set service.
|
|
13
|
-
* @param entitySetName Name of the entity set.
|
|
14
|
-
* @param apiNameOrEntityType Name of the API or the type of the entity.
|
|
15
|
-
*/
|
|
16
|
-
entitySet(entitySetName, apiNameOrEntityType, options = {}) {
|
|
17
|
-
const Service = class extends ODataEntitySetService {
|
|
18
|
-
Model = options?.Model;
|
|
19
|
-
Collection = options?.Collection;
|
|
20
|
-
};
|
|
21
|
-
return new Service(this.client, entitySetName, apiNameOrEntityType);
|
|
22
|
-
}
|
|
23
|
-
/** Factory method to create a singleton service.
|
|
24
|
-
* @param singletonName Name of the singleton.
|
|
25
|
-
* @param apiNameOrEntityType Name of the API or the type of the entity.
|
|
26
|
-
*/
|
|
27
|
-
singleton(singletonName, apiNameOrEntityType, options = {}) {
|
|
28
|
-
const Service = class extends ODataSingletonService {
|
|
29
|
-
Model = options?.Model;
|
|
30
|
-
};
|
|
31
|
-
return new Service(this.client, singletonName, apiNameOrEntityType);
|
|
32
|
-
}
|
|
33
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ODataServiceFactory, deps: [{ token: i1.ODataClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
34
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ODataServiceFactory });
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ODataServiceFactory, decorators: [{
|
|
37
|
-
type: Injectable
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.ODataClient }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zZXJ2aWNlcy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBSXBELE1BQU0sT0FBTyxtQkFBbUI7SUFDUjtJQUF0QixZQUFzQixNQUFtQjtRQUFuQixXQUFNLEdBQU4sTUFBTSxDQUFhO0lBQUcsQ0FBQztJQUU3Qzs7OztPQUlHO0lBQ0gsU0FBUyxDQUNQLGFBQXFCLEVBQ3JCLG1CQUE0QixFQUM1QixVQUtJLEVBQUU7UUFFTixNQUFNLE9BQU8sR0FBRyxLQUFNLFNBQVEscUJBQXdCO1lBQ3BELEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1lBQ3ZCLFVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxDQUFDO1NBQ2xDLENBQUM7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FDUCxhQUFxQixFQUNyQixtQkFBNEIsRUFDNUIsVUFBaUUsRUFBRTtRQUVuRSxNQUFNLE9BQU8sR0FBRyxLQUFNLFNBQVEscUJBQXdCO1lBQ3BELEtBQUssR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDO1NBQ3hCLENBQUM7UUFDRixPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQzt1R0F0Q1UsbUJBQW1COzJHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPRGF0YUNsaWVudCB9IGZyb20gJy4uL2NsaWVudCc7XG5pbXBvcnQgeyBPRGF0YUVudGl0eVNldFNlcnZpY2UgfSBmcm9tICcuL2VudGl0eS1zZXQnO1xuaW1wb3J0IHsgT0RhdGFTaW5nbGV0b25TZXJ2aWNlIH0gZnJvbSAnLi9zaW5nbGV0b24nO1xuaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uLCBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9EYXRhU2VydmljZUZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2xpZW50OiBPRGF0YUNsaWVudCkge31cblxuICAvKipcbiAgICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGFuIGVudGl0eSBzZXQgc2VydmljZS5cbiAgICogQHBhcmFtIGVudGl0eVNldE5hbWUgTmFtZSBvZiB0aGUgZW50aXR5IHNldC5cbiAgICogQHBhcmFtIGFwaU5hbWVPckVudGl0eVR5cGUgTmFtZSBvZiB0aGUgQVBJIG9yIHRoZSB0eXBlIG9mIHRoZSBlbnRpdHkuXG4gICAqL1xuICBlbnRpdHlTZXQ8VD4oXG4gICAgZW50aXR5U2V0TmFtZTogc3RyaW5nLFxuICAgIGFwaU5hbWVPckVudGl0eVR5cGU/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=
|