angular-odata 0.80.0 → 0.99.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 +69 -34
- package/{esm2015/angular-odata.js → esm2020/angular-odata.mjs} +0 -0
- package/esm2020/lib/api.mjs +303 -0
- package/{esm2015/lib/cache/cache.js → esm2020/lib/cache/cache.mjs} +3 -3
- package/{esm2015/lib/cache/index.js → esm2020/lib/cache/index.mjs} +0 -0
- package/{esm2015/lib/cache/memory.js → esm2020/lib/cache/memory.mjs} +1 -1
- package/{esm2015/lib/cache/storage.js → esm2020/lib/cache/storage.mjs} +2 -2
- package/esm2020/lib/client.mjs +271 -0
- package/{esm2015/lib/constants.js → esm2020/lib/constants.mjs} +8 -3
- package/esm2020/lib/helper.mjs +268 -0
- package/esm2020/lib/index.mjs +19 -0
- package/esm2020/lib/models/collection.mjs +741 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
- package/esm2020/lib/models/model.mjs +453 -0
- package/esm2020/lib/models/options.mjs +945 -0
- package/{esm2015/lib/module.js → esm2020/lib/module.mjs} +7 -7
- package/esm2020/lib/options.mjs +32 -0
- package/esm2020/lib/resources/index.mjs +7 -0
- package/esm2020/lib/resources/path/handlers.mjs +69 -0
- package/esm2020/lib/resources/path/index.mjs +3 -0
- package/esm2020/lib/resources/path/segments.mjs +124 -0
- package/esm2020/lib/resources/query/builder.mjs +590 -0
- package/esm2020/lib/resources/query/expressions/base.mjs +20 -0
- package/esm2020/lib/resources/query/expressions/compute.mjs +38 -0
- package/esm2020/lib/resources/query/expressions/expand.mjs +57 -0
- package/esm2020/lib/resources/query/expressions/filter.mjs +154 -0
- package/esm2020/lib/resources/query/expressions/index.mjs +7 -0
- package/esm2020/lib/resources/query/expressions/orderby.mjs +54 -0
- package/esm2020/lib/resources/query/expressions/search.mjs +113 -0
- package/esm2020/lib/resources/query/expressions/select.mjs +32 -0
- package/esm2020/lib/resources/query/expressions/syntax.mjs +371 -0
- package/esm2020/lib/resources/query/handlers.mjs +188 -0
- package/esm2020/lib/resources/query/index.mjs +4 -0
- package/esm2020/lib/resources/query/options.mjs +103 -0
- package/esm2020/lib/resources/request.mjs +167 -0
- package/esm2020/lib/resources/resource.mjs +326 -0
- package/esm2020/lib/resources/responses/annotations.mjs +119 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-annotation.js → esm2020/lib/resources/responses/csdl/csdl-annotation.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-entity-container.js → esm2020/lib/resources/responses/csdl/csdl-entity-container.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-entity-set.js → esm2020/lib/resources/responses/csdl/csdl-entity-set.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-enum-type.js → esm2020/lib/resources/responses/csdl/csdl-enum-type.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-function-action.js → esm2020/lib/resources/responses/csdl/csdl-function-action.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-navigation-property-binding.js → esm2020/lib/resources/responses/csdl/csdl-navigation-property-binding.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-reference.js → esm2020/lib/resources/responses/csdl/csdl-reference.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-schema.js → esm2020/lib/resources/responses/csdl/csdl-schema.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-singleton.js → esm2020/lib/resources/responses/csdl/csdl-singleton.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-structural-property.js → esm2020/lib/resources/responses/csdl/csdl-structural-property.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-structured-type.js → esm2020/lib/resources/responses/csdl/csdl-structured-type.mjs} +0 -0
- package/{esm2015/lib/resources/responses/csdl/csdl-type-definition.js → esm2020/lib/resources/responses/csdl/csdl-type-definition.mjs} +0 -0
- package/{esm2015/lib/resources/responses/index.js → esm2020/lib/resources/responses/index.mjs} +0 -0
- package/esm2020/lib/resources/responses/metadata.mjs +547 -0
- package/{esm2015/lib/resources/responses/options.js → esm2020/lib/resources/responses/options.mjs} +0 -0
- package/{esm2015/lib/resources/responses/response.js → esm2020/lib/resources/responses/response.mjs} +0 -0
- package/{esm2015/lib/resources/responses/types.js → esm2020/lib/resources/responses/types.mjs} +0 -0
- package/esm2020/lib/resources/types/action.mjs +101 -0
- package/esm2020/lib/resources/types/batch.mjs +309 -0
- package/esm2020/lib/resources/types/count.mjs +27 -0
- package/esm2020/lib/resources/types/entity-set.mjs +94 -0
- package/esm2020/lib/resources/types/entity.mjs +106 -0
- package/esm2020/lib/resources/types/function.mjs +137 -0
- package/{esm2015/lib/resources/types/index.js → esm2020/lib/resources/types/index.mjs} +0 -0
- package/esm2020/lib/resources/types/media.mjs +41 -0
- package/esm2020/lib/resources/types/metadata.mjs +30 -0
- package/esm2020/lib/resources/types/navigation-property.mjs +226 -0
- package/esm2020/lib/resources/types/options.mjs +2 -0
- package/esm2020/lib/resources/types/property.mjs +183 -0
- package/esm2020/lib/resources/types/reference.mjs +85 -0
- package/esm2020/lib/resources/types/singleton.mjs +126 -0
- package/esm2020/lib/resources/types/value.mjs +41 -0
- package/esm2020/lib/schema/annotation.mjs +37 -0
- package/esm2020/lib/schema/callable.mjs +62 -0
- package/esm2020/lib/schema/element.mjs +51 -0
- package/esm2020/lib/schema/entity-container.mjs +9 -0
- package/esm2020/lib/schema/entity-set.mjs +9 -0
- package/esm2020/lib/schema/enum-type.mjs +71 -0
- package/{esm2015/lib/schema/index.js → esm2020/lib/schema/index.mjs} +2 -1
- package/esm2020/lib/schema/parsers/callable.mjs +113 -0
- package/esm2020/lib/schema/parsers/edm.mjs +95 -0
- package/esm2020/lib/schema/parsers/enum-type.mjs +107 -0
- package/esm2020/lib/schema/parsers/index.mjs +5 -0
- package/esm2020/lib/schema/parsers/structured-type.mjs +412 -0
- package/esm2020/lib/schema/schema.mjs +61 -0
- package/esm2020/lib/schema/structured-type.mjs +198 -0
- package/esm2020/lib/services/base.mjs +29 -0
- package/esm2020/lib/services/entity-set.mjs +143 -0
- package/esm2020/lib/services/entity.mjs +12 -0
- package/{esm2015/lib/services/factory.js → esm2020/lib/services/factory.mjs} +3 -3
- package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
- package/esm2020/lib/services/singleton.mjs +48 -0
- package/{esm2015/lib/settings.js → esm2020/lib/settings.mjs} +1 -1
- package/{esm2015/lib/tokens.js → esm2020/lib/tokens.mjs} +0 -0
- package/esm2020/lib/types.mjs +37 -0
- package/esm2020/lib/utils/arraybuffers.mjs +46 -0
- package/{esm2015/lib/utils/dates.js → esm2020/lib/utils/dates.mjs} +0 -0
- package/esm2020/lib/utils/durations.mjs +40 -0
- package/{esm2015/lib/utils/enums.js → esm2020/lib/utils/enums.mjs} +0 -0
- package/esm2020/lib/utils/http.mjs +93 -0
- package/esm2020/lib/utils/index.mjs +10 -0
- package/esm2020/lib/utils/objects.mjs +195 -0
- package/esm2020/lib/utils/odata.mjs +22 -0
- package/esm2020/lib/utils/strings.mjs +20 -0
- package/esm2020/lib/utils/types.mjs +134 -0
- package/{esm2015/lib/utils/urls.js → esm2020/lib/utils/urls.mjs} +0 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{angular-odata.js → angular-odata.mjs} +4508 -3427
- package/fesm2015/angular-odata.mjs.map +1 -0
- package/fesm2020/angular-odata.mjs +10510 -0
- package/fesm2020/angular-odata.mjs.map +1 -0
- package/lib/api.d.ts +14 -14
- package/lib/cache/cache.d.ts +2 -2
- package/lib/cache/storage.d.ts +1 -1
- package/lib/client.d.ts +60 -9
- package/lib/constants.d.ts +5 -2
- package/lib/index.d.ts +0 -1
- package/lib/models/collection.d.ts +30 -42
- package/lib/models/model.d.ts +37 -30
- package/lib/models/options.d.ts +30 -38
- package/lib/module.d.ts +1 -1
- package/lib/options.d.ts +47 -0
- package/lib/resources/index.d.ts +2 -3
- package/lib/resources/path/handlers.d.ts +27 -0
- package/lib/resources/path/index.d.ts +2 -0
- package/lib/resources/{path-segments.d.ts → path/segments.d.ts} +4 -16
- package/lib/resources/{builder.d.ts → query/builder.d.ts} +12 -7
- package/lib/resources/query/expressions/base.d.ts +19 -0
- package/lib/resources/query/expressions/compute.d.ts +26 -0
- package/lib/resources/query/expressions/expand.d.ts +40 -0
- package/lib/resources/query/expressions/filter.d.ts +58 -0
- package/lib/resources/query/expressions/index.d.ts +6 -0
- package/lib/resources/query/expressions/orderby.d.ts +37 -0
- package/lib/resources/query/expressions/search.d.ts +47 -0
- package/lib/resources/query/expressions/select.d.ts +21 -0
- package/lib/resources/query/expressions/syntax.d.ts +177 -0
- package/lib/resources/query/handlers.d.ts +104 -0
- package/lib/resources/query/index.d.ts +3 -0
- package/lib/resources/query/options.d.ts +38 -0
- package/lib/resources/request.d.ts +4 -3
- package/lib/resources/resource.d.ts +42 -48
- package/lib/resources/types/action.d.ts +14 -61
- package/lib/resources/types/batch.d.ts +16 -3
- package/lib/resources/types/count.d.ts +9 -17
- package/lib/resources/types/entity-set.d.ts +12 -51
- package/lib/resources/types/entity.d.ts +13 -31
- package/lib/resources/types/function.d.ts +13 -60
- package/lib/resources/types/media.d.ts +9 -8
- package/lib/resources/types/metadata.d.ts +3 -5
- package/lib/resources/types/navigation-property.d.ts +74 -65
- package/lib/resources/types/options.d.ts +1 -1
- package/lib/resources/types/property.d.ts +49 -57
- package/lib/resources/types/reference.d.ts +65 -9
- package/lib/resources/types/singleton.d.ts +53 -31
- package/lib/resources/types/value.d.ts +16 -7
- package/lib/schema/annotation.d.ts +18 -0
- package/lib/schema/callable.d.ts +4 -20
- package/lib/schema/element.d.ts +39 -0
- package/lib/schema/entity-container.d.ts +2 -12
- package/lib/schema/entity-set.d.ts +2 -18
- package/lib/schema/enum-type.d.ts +19 -25
- package/lib/schema/index.d.ts +1 -0
- package/lib/{parsers → schema/parsers}/callable.d.ts +2 -2
- package/lib/schema/parsers/edm.d.ts +4 -0
- package/lib/{parsers → schema/parsers}/enum-type.d.ts +12 -11
- package/lib/{parsers → schema/parsers}/index.d.ts +0 -0
- package/lib/{parsers → schema/parsers}/structured-type.d.ts +12 -12
- package/lib/schema/schema.d.ts +3 -10
- package/lib/schema/structured-type.d.ts +65 -27
- package/lib/services/base.d.ts +2 -2
- package/lib/services/entity-set.d.ts +5 -2
- package/lib/services/entity.d.ts +4 -1
- package/lib/services/singleton.d.ts +5 -2
- package/lib/settings.d.ts +5 -5
- package/lib/types.d.ts +1 -0
- package/lib/utils/arraybuffers.d.ts +4 -0
- package/lib/{parsers/edm.d.ts → utils/durations.d.ts} +3 -3
- package/lib/utils/http.d.ts +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/objects.d.ts +1 -0
- package/lib/utils/strings.d.ts +1 -0
- package/lib/utils/types.d.ts +2 -0
- package/package.json +21 -8
- package/bundles/angular-odata.umd.js +0 -11048
- package/bundles/angular-odata.umd.js.map +0 -1
- package/esm2015/lib/api.js +0 -297
- package/esm2015/lib/client.js +0 -221
- package/esm2015/lib/helper.js +0 -271
- package/esm2015/lib/index.js +0 -21
- package/esm2015/lib/models/collection.js +0 -687
- package/esm2015/lib/models/model.js +0 -423
- package/esm2015/lib/models/options.js +0 -909
- package/esm2015/lib/options.js +0 -31
- package/esm2015/lib/parsers/callable.js +0 -107
- package/esm2015/lib/parsers/edm.js +0 -192
- package/esm2015/lib/parsers/enum-type.js +0 -102
- package/esm2015/lib/parsers/index.js +0 -5
- package/esm2015/lib/parsers/structured-type.js +0 -389
- package/esm2015/lib/resources/builder.js +0 -537
- package/esm2015/lib/resources/index.js +0 -8
- package/esm2015/lib/resources/path-segments.js +0 -156
- package/esm2015/lib/resources/query-options.js +0 -157
- package/esm2015/lib/resources/request.js +0 -149
- package/esm2015/lib/resources/resource.js +0 -337
- package/esm2015/lib/resources/responses/annotations.js +0 -121
- package/esm2015/lib/resources/responses/metadata.js +0 -548
- package/esm2015/lib/resources/types/action.js +0 -180
- package/esm2015/lib/resources/types/batch.js +0 -288
- package/esm2015/lib/resources/types/count.js +0 -55
- package/esm2015/lib/resources/types/entity-set.js +0 -169
- package/esm2015/lib/resources/types/entity.js +0 -170
- package/esm2015/lib/resources/types/function.js +0 -205
- package/esm2015/lib/resources/types/media.js +0 -47
- package/esm2015/lib/resources/types/metadata.js +0 -36
- package/esm2015/lib/resources/types/navigation-property.js +0 -232
- package/esm2015/lib/resources/types/options.js +0 -2
- package/esm2015/lib/resources/types/property.js +0 -195
- package/esm2015/lib/resources/types/reference.js +0 -50
- package/esm2015/lib/resources/types/singleton.js +0 -159
- package/esm2015/lib/resources/types/value.js +0 -30
- package/esm2015/lib/schema/annotation.js +0 -7
- package/esm2015/lib/schema/callable.js +0 -82
- package/esm2015/lib/schema/entity-container.js +0 -22
- package/esm2015/lib/schema/entity-set.js +0 -33
- package/esm2015/lib/schema/enum-type.js +0 -101
- package/esm2015/lib/schema/schema.js +0 -60
- package/esm2015/lib/schema/structured-type.js +0 -148
- package/esm2015/lib/services/base.js +0 -23
- package/esm2015/lib/services/entity-set.js +0 -143
- package/esm2015/lib/services/entity.js +0 -10
- package/esm2015/lib/services/singleton.js +0 -46
- package/esm2015/lib/types.js +0 -37
- package/esm2015/lib/utils/http.js +0 -89
- package/esm2015/lib/utils/index.js +0 -9
- package/esm2015/lib/utils/objects.js +0 -139
- package/esm2015/lib/utils/odata.js +0 -21
- package/esm2015/lib/utils/strings.js +0 -13
- package/esm2015/lib/utils/types.js +0 -103
- package/fesm2015/angular-odata.js.map +0 -1
- package/lib/resources/query-options.d.ts +0 -57
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { EMPTY } from 'rxjs';
|
|
2
|
-
import { ODataResource } from '../resource';
|
|
3
|
-
import { PathSegmentNames } from '../../types';
|
|
4
|
-
import { concatMap, expand, map, toArray } from 'rxjs/operators';
|
|
5
|
-
import { ODataActionResource } from './action';
|
|
6
|
-
import { ODataCountResource } from './count';
|
|
7
|
-
import { ODataEntityResource } from './entity';
|
|
8
|
-
import { ODataFunctionResource } from './function';
|
|
9
|
-
export class ODataEntitySetResource extends ODataResource {
|
|
10
|
-
//#region Factory
|
|
11
|
-
static factory(api, path, type, segments, query) {
|
|
12
|
-
const segment = segments.add(PathSegmentNames.entitySet, path);
|
|
13
|
-
if (type)
|
|
14
|
-
segment.type(type);
|
|
15
|
-
return new ODataEntitySetResource(api, segments, query);
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
|
-
clone() {
|
|
19
|
-
return new ODataEntitySetResource(this.api, this.cloneSegments(), this.cloneQuery());
|
|
20
|
-
}
|
|
21
|
-
schema() {
|
|
22
|
-
let type = this.type();
|
|
23
|
-
return type !== undefined
|
|
24
|
-
? this.api.findStructuredTypeForType(type)
|
|
25
|
-
: undefined;
|
|
26
|
-
}
|
|
27
|
-
asCollection(entities, { annots, reset = false, } = {}) {
|
|
28
|
-
const type = (annots === null || annots === void 0 ? void 0 : annots.type) || this.type();
|
|
29
|
-
const Collection = this.api.collectionForType(type);
|
|
30
|
-
return new Collection(entities, { resource: this, annots, reset });
|
|
31
|
-
}
|
|
32
|
-
//#region Inmutable Resource
|
|
33
|
-
entity(key) {
|
|
34
|
-
const entity = ODataEntityResource.factory(this.api, this.cloneSegments(), this.cloneQuery());
|
|
35
|
-
if (key !== undefined) {
|
|
36
|
-
return entity.key(key);
|
|
37
|
-
}
|
|
38
|
-
return entity;
|
|
39
|
-
}
|
|
40
|
-
cast(type) {
|
|
41
|
-
let segments = this.cloneSegments();
|
|
42
|
-
segments.add(PathSegmentNames.type, type).type(type);
|
|
43
|
-
return new ODataEntitySetResource(this.api, segments, this.cloneQuery());
|
|
44
|
-
}
|
|
45
|
-
action(path) {
|
|
46
|
-
let type;
|
|
47
|
-
const callable = this.api.findCallableForType(path, this.type());
|
|
48
|
-
if (callable !== undefined) {
|
|
49
|
-
path = callable.path();
|
|
50
|
-
type = callable.type();
|
|
51
|
-
}
|
|
52
|
-
return ODataActionResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
53
|
-
}
|
|
54
|
-
function(path) {
|
|
55
|
-
let type;
|
|
56
|
-
const callable = this.api.findCallableForType(path, this.type());
|
|
57
|
-
if (callable !== undefined) {
|
|
58
|
-
path = callable.path();
|
|
59
|
-
type = callable.type();
|
|
60
|
-
}
|
|
61
|
-
return ODataFunctionResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
62
|
-
}
|
|
63
|
-
count() {
|
|
64
|
-
return ODataCountResource.factory(this.api, this.cloneSegments(), this.cloneQuery());
|
|
65
|
-
}
|
|
66
|
-
select(opts) {
|
|
67
|
-
const clone = this.clone();
|
|
68
|
-
clone.query.select(opts);
|
|
69
|
-
return clone;
|
|
70
|
-
}
|
|
71
|
-
expand(opts) {
|
|
72
|
-
const clone = this.clone();
|
|
73
|
-
clone.query.expand(opts);
|
|
74
|
-
return clone;
|
|
75
|
-
}
|
|
76
|
-
transform(opts) {
|
|
77
|
-
const clone = this.clone();
|
|
78
|
-
clone.query.transform(opts);
|
|
79
|
-
return clone;
|
|
80
|
-
}
|
|
81
|
-
search(opts) {
|
|
82
|
-
const clone = this.clone();
|
|
83
|
-
clone.query.search(opts);
|
|
84
|
-
return clone;
|
|
85
|
-
}
|
|
86
|
-
filter(opts) {
|
|
87
|
-
const clone = this.clone();
|
|
88
|
-
clone.query.filter(opts);
|
|
89
|
-
return clone;
|
|
90
|
-
}
|
|
91
|
-
orderBy(opts) {
|
|
92
|
-
const clone = this.clone();
|
|
93
|
-
clone.query.orderBy(opts);
|
|
94
|
-
return clone;
|
|
95
|
-
}
|
|
96
|
-
format(opts) {
|
|
97
|
-
const clone = this.clone();
|
|
98
|
-
clone.query.format(opts);
|
|
99
|
-
return clone;
|
|
100
|
-
}
|
|
101
|
-
top(opts) {
|
|
102
|
-
const clone = this.clone();
|
|
103
|
-
clone.query.top(opts);
|
|
104
|
-
return clone;
|
|
105
|
-
}
|
|
106
|
-
skip(opts) {
|
|
107
|
-
const clone = this.clone();
|
|
108
|
-
clone.query.skip(opts);
|
|
109
|
-
return clone;
|
|
110
|
-
}
|
|
111
|
-
skiptoken(opts) {
|
|
112
|
-
const clone = this.clone();
|
|
113
|
-
clone.query.skiptoken(opts);
|
|
114
|
-
return clone;
|
|
115
|
-
}
|
|
116
|
-
//#endregion
|
|
117
|
-
//#region Mutable Resource
|
|
118
|
-
get segment() {
|
|
119
|
-
const segments = this.pathSegments;
|
|
120
|
-
return {
|
|
121
|
-
entitySet() {
|
|
122
|
-
return segments.get(PathSegmentNames.entitySet);
|
|
123
|
-
},
|
|
124
|
-
keys(values) {
|
|
125
|
-
return segments.keys(values);
|
|
126
|
-
},
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
get query() {
|
|
130
|
-
return this.entitiesQueryHandler();
|
|
131
|
-
}
|
|
132
|
-
//#endregion
|
|
133
|
-
//#region Requests
|
|
134
|
-
post(attrs, options = {}) {
|
|
135
|
-
return super.post(attrs, Object.assign({ responseType: 'entity' }, options));
|
|
136
|
-
}
|
|
137
|
-
get(options = {}) {
|
|
138
|
-
return super.get(Object.assign({ responseType: 'entities' }, options));
|
|
139
|
-
}
|
|
140
|
-
//#endregion
|
|
141
|
-
//#region Shortcuts
|
|
142
|
-
create(attrs, options) {
|
|
143
|
-
return this.post(attrs, options);
|
|
144
|
-
}
|
|
145
|
-
fetch(options) {
|
|
146
|
-
return this.get(options);
|
|
147
|
-
}
|
|
148
|
-
fetchEntities(options) {
|
|
149
|
-
return this.fetch(options).pipe(map(({ entities }) => entities));
|
|
150
|
-
}
|
|
151
|
-
fetchCollection(options) {
|
|
152
|
-
return this.fetch(options).pipe(map(({ entities, annots }) => entities
|
|
153
|
-
? this.asCollection(entities, { annots, reset: true })
|
|
154
|
-
: null));
|
|
155
|
-
}
|
|
156
|
-
fetchAll(options) {
|
|
157
|
-
let res = this.clone();
|
|
158
|
-
// Clean Paging
|
|
159
|
-
res.query.clearPaging();
|
|
160
|
-
let fetch = (opts) => {
|
|
161
|
-
if (opts) {
|
|
162
|
-
res.query.paging(opts);
|
|
163
|
-
}
|
|
164
|
-
return res.fetch(options);
|
|
165
|
-
};
|
|
166
|
-
return fetch().pipe(expand(({ annots: meta }) => meta.skip || meta.skiptoken ? fetch(meta) : EMPTY), concatMap(({ entities }) => entities || []), toArray());
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9yZXNvdXJjZXMvdHlwZXMvZW50aXR5LXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFRdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBS25ELE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxhQUFnQjtJQUM3RCxpQkFBaUI7SUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FDWixHQUFhLEVBQ2IsSUFBWSxFQUNaLElBQXdCLEVBQ3hCLFFBQTJCLEVBQzNCLEtBQXdCO1FBRXhCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLHNCQUFzQixDQUFJLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELFlBQVk7SUFFWixLQUFLO1FBQ0gsT0FBTyxJ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QUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQzNCLFFBQVE7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBTyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzVELENBQUMsQ0FBQyxJQUFJLENBQ1QsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FDTixPQUVDO1FBRUQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLGVBQWU7UUFDZixHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLElBQUksS0FBSyxHQUFHLENBQUMsSUFJWixFQUFnQyxFQUFFO1lBQ2pDLElBQUksSUFBSSxFQUFFO2dCQUNSLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3hCO1lBQ0QsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUNGLE9BQU8sS0FBSyxFQUFFLENBQUMsSUFBSSxDQUNqQixNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQzFCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQ2xELEVBQ0QsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUMzQyxPQUFPLEVBQUUsQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVudGl0eUtleSwgT0RhdGFSZXNvdXJjZSB9IGZyb20gJy4uL3Jlc291cmNlJztcbmltcG9ydCB7IEV4cGFuZCwgRmlsdGVyLCBPcmRlckJ5LCBTZWxlY3QsIFRyYW5zZm9ybSB9IGZyb20gJy4uL2J1aWxkZXInO1xuaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uLCBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIE9EYXRhRW50aXRpZXMsXG4gIE9EYXRhRW50aXRpZXNBbm5vdGF0aW9ucyxcbiAgT0RhdGFFbnRpdHksXG59IGZyb20gJy4uL3Jlc3BvbnNlcyc7XG5pbXBvcnQgeyBQYXRoU2VnbWVudE5hbWVzLCBRdWVyeU9wdGlvbk5hbWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBleHBhbmQsIG1hcCwgdG9BcnJheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgT0RhdGFBY3Rpb25SZXNvdXJjZSB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IE9EYXRhQXBpIH0gZnJvbSAnLi4vLi4vYXBpJztcbmltcG9ydCB7IE9EYXRhQ291bnRSZXNvdXJjZSB9IGZyb20gJy4vY291bnQnO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHlSZXNvdXJjZSB9IGZyb20gJy4vZW50aXR5JztcbmltcG9ydCB7IE9EYXRhRnVuY3Rpb25SZXNvdXJjZSB9IGZyb20gJy4vZnVuY3Rpb24nO1xuaW1wb3J0IHsgT0RhdGFPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IE9EYXRhUGF0aFNlZ21lbnRzIH0gZnJvbSAnLi4vcGF0aC1zZWdtZW50cyc7XG5pbXBvcnQgeyBPRGF0YVF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3F1ZXJ5LW9wdGlvbnMnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnRpdHlTZXRSZXNvdXJjZTxUPiBleHRlbmRzIE9EYXRhUmVzb3VyY2U8VD4ge1xuICAvLyNyZWdpb24gRmFjdG9yeVxuICBzdGF0aWMgZmFjdG9yeTxFPihcbiAgICBhcGk6IE9EYXRhQXBpLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICB0eXBlOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgc2VnbWVudHM6IE9EYXRhUGF0aFNlZ21lbnRzLFxuICAgIHF1ZXJ5OiBPRGF0YVF1ZXJ5T3B0aW9uc1xuICApIHtcbiAgICBjb25zdCBzZWdtZW50ID0gc2VnbWVudHMuYWRkKFBhdGhTZWdtZW50TmFtZXMuZW50aXR5U2V0LCBwYXRoKTtcbiAgICBpZiAodHlwZSkgc2VnbWVudC50eXBlKHR5cGUpO1xuICAgIHJldHVybiBuZXcgT0RhdGFFbnRpdHlTZXRSZXNvdXJjZTxFPihhcGksIHNlZ21lbnRzLCBxdWVyeSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgY2xvbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBPRGF0YUVudGl0eVNldFJlc291cmNlPFQ+KFxuICAgICAgdGhpcy5hcGksXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIHNjaGVtYSgpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMudHlwZSgpO1xuICAgIHJldHVybiB0eXBlICE9PSB1bmRlZmluZWRcbiAgICAgID8gdGhpcy5hcGkuZmluZFN0cnVjdHVyZWRUeXBlRm9yVHlwZTxUPih0eXBlKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBhc0NvbGxlY3Rpb248TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4sIEMgZXh0ZW5kcyBPRGF0YUNvbGxlY3Rpb248VCwgTT4+KFxuICAgIGVudGl0aWVzOiBQYXJ0aWFsPFQ+W10gfCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfVtdLFxuICAgIHtcbiAgICAgIGFubm90cyxcbiAgICAgIHJlc2V0ID0gZmFsc2UsXG4gICAgfTogeyBhbm5vdHM/OiBPRGF0YUVudGl0aWVzQW5ub3RhdGlvbnM7IHJlc2V0PzogYm9vbGVhbiB9ID0ge31cbiAgKTogQyB7XG4gICAgY29uc3QgdHlwZSA9IGFubm90cz8udHlwZSB8fCB0aGlzLnR5cGUoKTtcbiAgICBjb25zdCBDb2xsZWN0aW9uID0gdGhpcy5hcGkuY29sbGVjdGlvbkZvclR5cGUodHlwZSk7XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKGVudGl0aWVzLCB7IHJlc291cmNlOiB0aGlzLCBhbm5vdHMsIHJlc2V0IH0pIGFzIEM7XG4gIH1cblxuICAvLyNyZWdpb24gSW5tdXRhYmxlIFJlc291cmNlXG4gIGVudGl0eShrZXk/OiBhbnkpIHtcbiAgICBjb25zdCBlbnRpdHkgPSBPRGF0YUVudGl0eVJlc291cmNlLmZhY3Rvcnk8VD4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgICAgdGhpcy5jbG9uZVF1ZXJ5KClcbiAgICApO1xuICAgIGlmIChrZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGVudGl0eS5rZXkoa2V5KTtcbiAgICB9XG4gICAgcmV0dXJuIGVudGl0eTtcbiAgfVxuXG4gIGNhc3Q8Qz4odHlwZTogc3RyaW5nKSB7XG4gICAgbGV0IHNlZ21lbnRzID0gdGhpcy5jbG9uZVNlZ21lbnRzKCk7XG4gICAgc2VnbWVudHMuYWRkKFBhdGhTZWdtZW50TmFtZXMudHlwZSwgdHlwZSkudHlwZSh0eXBlKTtcbiAgICByZXR1cm4gbmV3IE9EYXRhRW50aXR5U2V0UmVzb3VyY2U8Qz4odGhpcy5hcGksIHNlZ21lbnRzLCB0aGlzLmNsb25lUXVlcnkoKSk7XG4gIH1cblxuICBhY3Rpb248UCwgUj4ocGF0aDogc3RyaW5nKSB7XG4gICAgbGV0IHR5cGU7XG4gICAgY29uc3QgY2FsbGFibGUgPSB0aGlzLmFwaS5maW5kQ2FsbGFibGVGb3JUeXBlKHBhdGgsIHRoaXMudHlwZSgpKTtcbiAgICBpZiAoY2FsbGFibGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGF0aCA9IGNhbGxhYmxlLnBhdGgoKTtcbiAgICAgIHR5cGUgPSBjYWxsYWJsZS50eXBlKCk7XG4gICAgfVxuICAgIHJldHVybiBPRGF0YUFjdGlvblJlc291cmNlLmZhY3Rvcnk8UCwgUj4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHBhdGgsXG4gICAgICB0eXBlLFxuICAgICAgdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICB0aGlzLmNsb25lUXVlcnkoKVxuICAgICk7XG4gIH1cblxuICBmdW5jdGlvbjxQLCBSPihwYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgdHlwZTtcbiAgICBjb25zdCBjYWxsYWJsZSA9IHRoaXMuYXBpLmZpbmRDYWxsYWJsZUZvclR5cGUocGF0aCwgdGhpcy50eXBlKCkpO1xuICAgIGlmIChjYWxsYWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXRoID0gY2FsbGFibGUucGF0aCgpO1xuICAgICAgdHlwZSA9IGNhbGxhYmxlLnR5cGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIE9EYXRhRnVuY3Rpb25SZXNvdXJjZS5mYWN0b3J5PFAsIFI+KFxuICAgICAgdGhpcy5hcGksXG4gICAgICBwYXRoLFxuICAgICAgdHlwZSxcbiAgICAgIHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgICAgdGhpcy5jbG9uZVF1ZXJ5KClcbiAgICApO1xuICB9XG5cbiAgY291bnQoKSB7XG4gICAgcmV0dXJuIE9EYXRhQ291bnRSZXNvdXJjZS5mYWN0b3J5KFxuICAgICAgdGhpcy5hcGksXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdChvcHRzOiBTZWxlY3Q8VD4pIHtcbiAgICBjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcbiAgICBjbG9uZS5xdWVyeS5zZWxlY3Qob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgZXhwYW5kKG9wdHM6IEV4cGFuZDxUPikge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LmV4cGFuZChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICB0cmFuc2Zvcm0ob3B0czogVHJhbnNmb3JtPFQ+KSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkudHJhbnNmb3JtKG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIHNlYXJjaChvcHRzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcbiAgICBjbG9uZS5xdWVyeS5zZWFyY2gob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgZmlsdGVyKG9wdHM6IEZpbHRlcikge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LmZpbHRlcihvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBvcmRlckJ5KG9wdHM6IE9yZGVyQnk8VD4pIHtcbiAgICBjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcbiAgICBjbG9uZS5xdWVyeS5vcmRlckJ5KG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGZvcm1hdChvcHRzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcbiAgICBjbG9uZS5xdWVyeS5mb3JtYXQob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgdG9wKG9wdHM6IG51bWJlcikge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LnRvcChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBza2lwKG9wdHM6IG51bWJlcikge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LnNraXAob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgc2tpcHRva2VuKG9wdHM6IHN0cmluZykge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LnNraXB0b2tlbihvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIE11dGFibGUgUmVzb3VyY2VcbiAgZ2V0IHNlZ21lbnQoKSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnBhdGhTZWdtZW50cztcbiAgICByZXR1cm4ge1xuICAgICAgZW50aXR5U2V0KCkge1xuICAgICAgICByZXR1cm4gc2VnbWVudHMuZ2V0KFBhdGhTZWdtZW50TmFtZXMuZW50aXR5U2V0KTtcbiAgICAgIH0sXG4gICAgICBrZXlzKHZhbHVlcz86IChFbnRpdHlLZXk8VD4gfCB1bmRlZmluZWQpW10pIHtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnRzLmtleXModmFsdWVzKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldCBxdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdGllc1F1ZXJ5SGFuZGxlcigpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBSZXF1ZXN0c1xuICBwcm90ZWN0ZWQgcG9zdChcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHN1cGVyLnBvc3QoYXR0cnMsIHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQoXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zICYge1xuICAgICAgd2l0aENvdW50PzogYm9vbGVhbjtcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxUPj4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoeyByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsIC4uLm9wdGlvbnMgfSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIFNob3J0Y3V0c1xuICBjcmVhdGUoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMucG9zdChhdHRycywgb3B0aW9ucyk7XG4gIH1cblxuICBmZXRjaChcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYge1xuICAgICAgd2l0aENvdW50PzogYm9vbGVhbjtcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQob3B0aW9ucyk7XG4gIH1cblxuICBmZXRjaEVudGl0aWVzKFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICB3aXRoQ291bnQ/OiBib29sZWFuO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9XG4gICk6IE9ic2VydmFibGU8VFtdIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKG9wdGlvbnMpLnBpcGUobWFwKCh7IGVudGl0aWVzIH0pID0+IGVudGl0aWVzKSk7XG4gIH1cblxuICBmZXRjaENvbGxlY3Rpb248TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4sIEMgZXh0ZW5kcyBPRGF0YUNvbGxlY3Rpb248VCwgTT4+KFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICB3aXRoQ291bnQ/OiBib29sZWFuO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9XG4gICk6IE9ic2VydmFibGU8T0RhdGFDb2xsZWN0aW9uPFQsIE9EYXRhTW9kZWw8VD4+IHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKG9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXRpZXMsIGFubm90cyB9KSA9PlxuICAgICAgICBlbnRpdGllc1xuICAgICAgICAgID8gdGhpcy5hc0NvbGxlY3Rpb248TSwgQz4oZW50aXRpZXMsIHsgYW5ub3RzLCByZXNldDogdHJ1ZSB9KVxuICAgICAgICAgIDogbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBmZXRjaEFsbChcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYge1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9XG4gICk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgbGV0IHJlcyA9IHRoaXMuY2xvbmUoKTtcbiAgICAvLyBDbGVhbiBQYWdpbmdcbiAgICByZXMucXVlcnkuY2xlYXJQYWdpbmcoKTtcbiAgICBsZXQgZmV0Y2ggPSAob3B0cz86IHtcbiAgICAgIHNraXA/OiBudW1iZXI7XG4gICAgICBza2lwdG9rZW4/OiBzdHJpbmc7XG4gICAgICB0b3A/OiBudW1iZXI7XG4gICAgfSk6IE9ic2VydmFibGU8T0RhdGFFbnRpdGllczxUPj4gPT4ge1xuICAgICAgaWYgKG9wdHMpIHtcbiAgICAgICAgcmVzLnF1ZXJ5LnBhZ2luZyhvcHRzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXMuZmV0Y2gob3B0aW9ucyk7XG4gICAgfTtcbiAgICByZXR1cm4gZmV0Y2goKS5waXBlKFxuICAgICAgZXhwYW5kKCh7IGFubm90czogbWV0YSB9KSA9PlxuICAgICAgICBtZXRhLnNraXAgfHwgbWV0YS5za2lwdG9rZW4gPyBmZXRjaChtZXRhKSA6IEVNUFRZXG4gICAgICApLFxuICAgICAgY29uY2F0TWFwKCh7IGVudGl0aWVzIH0pID0+IGVudGl0aWVzIHx8IFtdKSxcbiAgICAgIHRvQXJyYXkoKVxuICAgICk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG59XG4iXX0=
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { ODataResource } from '../resource';
|
|
2
|
-
import { throwError } from 'rxjs';
|
|
3
|
-
import { PathSegmentNames, QueryOptionNames } from '../../types';
|
|
4
|
-
import { ODataActionResource } from './action';
|
|
5
|
-
import { ODataFunctionResource } from './function';
|
|
6
|
-
import { ODataMediaResource } from './media';
|
|
7
|
-
import { ODataNavigationPropertyResource } from './navigation-property';
|
|
8
|
-
import { ODataPropertyResource } from './property';
|
|
9
|
-
import { ODataStructuredTypeParser } from '../../parsers/structured-type';
|
|
10
|
-
import { map } from 'rxjs/operators';
|
|
11
|
-
export class ODataEntityResource extends ODataResource {
|
|
12
|
-
//#region Factory
|
|
13
|
-
static factory(api, segments, options) {
|
|
14
|
-
options.keep(QueryOptionNames.expand, QueryOptionNames.select, QueryOptionNames.format);
|
|
15
|
-
return new ODataEntityResource(api, segments, options);
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
|
-
clone() {
|
|
19
|
-
return new ODataEntityResource(this.api, this.cloneSegments(), this.cloneQuery());
|
|
20
|
-
}
|
|
21
|
-
schema() {
|
|
22
|
-
let type = this.type();
|
|
23
|
-
return type !== undefined
|
|
24
|
-
? this.api.findStructuredTypeForType(type)
|
|
25
|
-
: undefined;
|
|
26
|
-
}
|
|
27
|
-
asModel(entity, { annots, reset } = {}) {
|
|
28
|
-
const type = (annots === null || annots === void 0 ? void 0 : annots.type) || this.type();
|
|
29
|
-
const Model = this.api.modelForType(type);
|
|
30
|
-
return new Model(entity, { resource: this, annots, reset });
|
|
31
|
-
}
|
|
32
|
-
//#region Inmutable Resource
|
|
33
|
-
key(value) {
|
|
34
|
-
const entity = this.clone();
|
|
35
|
-
var key = this.resolveKey(value);
|
|
36
|
-
if (key !== undefined)
|
|
37
|
-
entity.segment.entitySet().key(key);
|
|
38
|
-
return entity;
|
|
39
|
-
}
|
|
40
|
-
keys(values) {
|
|
41
|
-
const entity = this.clone();
|
|
42
|
-
const types = this.pathSegments.types({ key: true });
|
|
43
|
-
const keys = values.map((value, index) => ODataResource.resolveKey(value, this.api.findStructuredTypeForType(types[index])));
|
|
44
|
-
entity.segment.keys(keys);
|
|
45
|
-
return entity;
|
|
46
|
-
}
|
|
47
|
-
media() {
|
|
48
|
-
return ODataMediaResource.factory(this.api, this.cloneSegments(), this.cloneQuery());
|
|
49
|
-
}
|
|
50
|
-
navigationProperty(path) {
|
|
51
|
-
let type = this.type();
|
|
52
|
-
if (type !== undefined) {
|
|
53
|
-
let parser = this.api.parserForType(type);
|
|
54
|
-
type =
|
|
55
|
-
parser instanceof ODataStructuredTypeParser
|
|
56
|
-
? parser.typeFor(path)
|
|
57
|
-
: undefined;
|
|
58
|
-
}
|
|
59
|
-
return ODataNavigationPropertyResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
60
|
-
}
|
|
61
|
-
property(path) {
|
|
62
|
-
let type = this.type();
|
|
63
|
-
if (type !== undefined) {
|
|
64
|
-
let parser = this.api.parserForType(type);
|
|
65
|
-
type =
|
|
66
|
-
parser instanceof ODataStructuredTypeParser
|
|
67
|
-
? parser.typeFor(path)
|
|
68
|
-
: undefined;
|
|
69
|
-
}
|
|
70
|
-
return ODataPropertyResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
71
|
-
}
|
|
72
|
-
action(path) {
|
|
73
|
-
let type;
|
|
74
|
-
const callable = this.api.findCallableForType(path, this.type());
|
|
75
|
-
if (callable !== undefined) {
|
|
76
|
-
path = callable.path();
|
|
77
|
-
type = callable.type();
|
|
78
|
-
}
|
|
79
|
-
return ODataActionResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
80
|
-
}
|
|
81
|
-
function(path) {
|
|
82
|
-
let type;
|
|
83
|
-
const callable = this.api.findCallableForType(path, this.type());
|
|
84
|
-
if (callable !== undefined) {
|
|
85
|
-
path = callable.path();
|
|
86
|
-
type = callable.type();
|
|
87
|
-
}
|
|
88
|
-
return ODataFunctionResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
89
|
-
}
|
|
90
|
-
//TODO: Check
|
|
91
|
-
cast(type) {
|
|
92
|
-
let segments = this.cloneSegments();
|
|
93
|
-
segments.add(PathSegmentNames.type, type).type(type);
|
|
94
|
-
return new ODataEntityResource(this.api, segments, this.cloneQuery());
|
|
95
|
-
}
|
|
96
|
-
select(opts) {
|
|
97
|
-
const clone = this.clone();
|
|
98
|
-
clone.query.select(opts);
|
|
99
|
-
return clone;
|
|
100
|
-
}
|
|
101
|
-
expand(opts) {
|
|
102
|
-
const clone = this.clone();
|
|
103
|
-
clone.query.expand(opts);
|
|
104
|
-
return clone;
|
|
105
|
-
}
|
|
106
|
-
format(opts) {
|
|
107
|
-
const clone = this.clone();
|
|
108
|
-
clone.query.format(opts);
|
|
109
|
-
return clone;
|
|
110
|
-
}
|
|
111
|
-
//#endregion
|
|
112
|
-
//#region Mutable Resource
|
|
113
|
-
get segment() {
|
|
114
|
-
const segments = this.pathSegments;
|
|
115
|
-
return {
|
|
116
|
-
entitySet() {
|
|
117
|
-
return segments.get(PathSegmentNames.entitySet);
|
|
118
|
-
},
|
|
119
|
-
keys(values) {
|
|
120
|
-
return segments.keys(values);
|
|
121
|
-
},
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
get query() {
|
|
125
|
-
return this.entityQueryHandler();
|
|
126
|
-
}
|
|
127
|
-
//#endregion
|
|
128
|
-
//#region Requests
|
|
129
|
-
post(attrs, options = {}) {
|
|
130
|
-
return super.post(attrs, Object.assign({ responseType: 'entity' }, options));
|
|
131
|
-
}
|
|
132
|
-
put(attrs, options = {}) {
|
|
133
|
-
return super.put(attrs, Object.assign({ responseType: 'entity' }, options));
|
|
134
|
-
}
|
|
135
|
-
patch(attrs, options = {}) {
|
|
136
|
-
return super.patch(attrs, Object.assign({ responseType: 'entity' }, options));
|
|
137
|
-
}
|
|
138
|
-
delete(options = {}) {
|
|
139
|
-
return super.delete(Object.assign({ responseType: 'entity' }, options));
|
|
140
|
-
}
|
|
141
|
-
get(options = {}) {
|
|
142
|
-
return super.get(Object.assign({ responseType: 'entity' }, options));
|
|
143
|
-
}
|
|
144
|
-
//#endregion
|
|
145
|
-
//#region Shortcuts
|
|
146
|
-
create(attrs, options) {
|
|
147
|
-
return this.post(attrs, options);
|
|
148
|
-
}
|
|
149
|
-
update(attrs, options) {
|
|
150
|
-
return this.put(attrs, options);
|
|
151
|
-
}
|
|
152
|
-
modify(attrs, options) {
|
|
153
|
-
return this.patch(attrs, options);
|
|
154
|
-
}
|
|
155
|
-
destroy(options) {
|
|
156
|
-
return this.delete(options);
|
|
157
|
-
}
|
|
158
|
-
fetch(options) {
|
|
159
|
-
if (!this.hasKey())
|
|
160
|
-
return throwError('Entity resource without key');
|
|
161
|
-
return this.get(options);
|
|
162
|
-
}
|
|
163
|
-
fetchEntity(options) {
|
|
164
|
-
return this.fetch(options).pipe(map(({ entity }) => entity));
|
|
165
|
-
}
|
|
166
|
-
fetchModel(options) {
|
|
167
|
-
return this.fetch(options).pipe(map(({ entity, annots }) => entity ? this.asModel(entity, { annots, reset: true }) : null));
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3Jlc291cmNlcy90eXBlcy9lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd2RCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUU3QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sT0FBTyxtQkFBdUIsU0FBUSxhQUFnQjtJQUMxRCxpQkFBaUI7SUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FDWixHQUFhLEVBQ2IsUUFBMkIsRUFDM0IsT0FBMEI7UUFFMUIsT0FBTyxDQUFDLElBQUksQ0FDVixnQkFBZ0IsQ0FBQyxNQUFNLEVBQ3ZCLGdCQUFnQixDQUFDLE1BQU0sRUFDdkIsZ0JBQWdCLENBQUMsTUFBTSxDQUN4QixDQUFDO1FBQ0YsT0FBTyxJQUFJLG1CQUFtQixDQUFJLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELFlBQVk7SUFFWixLQUFLO1FBQ0gs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SUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzdCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDekIsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFJLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqRSxDQUNGLENBQUM7SUFDSixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlLZXksIE9EYXRhUmVzb3VyY2UgfSBmcm9tICcuLi9yZXNvdXJjZSc7XG5pbXBvcnQgeyBFeHBhbmQsIFNlbGVjdCB9IGZyb20gJy4uL2J1aWxkZXInO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHksIE9EYXRhRW50aXR5QW5ub3RhdGlvbnMgfSBmcm9tICcuLi9yZXNwb25zZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGF0aFNlZ21lbnROYW1lcywgUXVlcnlPcHRpb25OYW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgT0RhdGFBY3Rpb25SZXNvdXJjZSB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IE9EYXRhQXBpIH0gZnJvbSAnLi4vLi4vYXBpJztcbmltcG9ydCB7IE9EYXRhRnVuY3Rpb25SZXNvdXJjZSB9IGZyb20gJy4vZnVuY3Rpb24nO1xuaW1wb3J0IHsgT0RhdGFNZWRpYVJlc291cmNlIH0gZnJvbSAnLi9tZWRpYSc7XG5pbXBvcnQgeyBPRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE9EYXRhTmF2aWdhdGlvblByb3BlcnR5UmVzb3VyY2UgfSBmcm9tICcuL25hdmlnYXRpb24tcHJvcGVydHknO1xuaW1wb3J0IHsgT0RhdGFPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IE9EYXRhUGF0aFNlZ21lbnRzIH0gZnJvbSAnLi4vcGF0aC1zZWdtZW50cyc7XG5pbXBvcnQgeyBPRGF0YVByb3BlcnR5UmVzb3VyY2UgfSBmcm9tICcuL3Byb3BlcnR5JztcbmltcG9ydCB7IE9EYXRhUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vcXVlcnktb3B0aW9ucyc7XG5pbXBvcnQgeyBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyIH0gZnJvbSAnLi4vLi4vcGFyc2Vycy9zdHJ1Y3R1cmVkLXR5cGUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFFbnRpdHlSZXNvdXJjZTxUPiBleHRlbmRzIE9EYXRhUmVzb3VyY2U8VD4ge1xuICAvLyNyZWdpb24gRmFjdG9yeVxuICBzdGF0aWMgZmFjdG9yeTxFPihcbiAgICBhcGk6IE9EYXRhQXBpLFxuICAgIHNlZ21lbnRzOiBPRGF0YVBhdGhTZWdtZW50cyxcbiAgICBvcHRpb25zOiBPRGF0YVF1ZXJ5T3B0aW9uc1xuICApIHtcbiAgICBvcHRpb25zLmtlZXAoXG4gICAgICBRdWVyeU9wdGlvbk5hbWVzLmV4cGFuZCxcbiAgICAgIFF1ZXJ5T3B0aW9uTmFtZXMuc2VsZWN0LFxuICAgICAgUXVlcnlPcHRpb25OYW1lcy5mb3JtYXRcbiAgICApO1xuICAgIHJldHVybiBuZXcgT0RhdGFFbnRpdHlSZXNvdXJjZTxFPihhcGksIHNlZ21lbnRzLCBvcHRpb25zKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gbmV3IE9EYXRhRW50aXR5UmVzb3VyY2U8VD4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHRoaXMuY2xvbmVTZWdtZW50cygpLFxuICAgICAgdGhpcy5jbG9uZVF1ZXJ5KClcbiAgICApO1xuICB9XG5cbiAgc2NoZW1hKCkge1xuICAgIGxldCB0eXBlID0gdGhpcy50eXBlKCk7XG4gICAgcmV0dXJuIHR5cGUgIT09IHVuZGVmaW5lZFxuICAgICAgPyB0aGlzLmFwaS5maW5kU3RydWN0dXJlZFR5cGVGb3JUeXBlPFQ+KHR5cGUpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuICBhc01vZGVsPE0gZXh0ZW5kcyBPRGF0YU1vZGVsPFQ+PihcbiAgICBlbnRpdHk6IFBhcnRpYWw8VD4gfCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSxcbiAgICB7IGFubm90cywgcmVzZXQgfTogeyBhbm5vdHM/OiBPRGF0YUVudGl0eUFubm90YXRpb25zOyByZXNldD86IGJvb2xlYW4gfSA9IHt9XG4gICk6IE0ge1xuICAgIGNvbnN0IHR5cGUgPSBhbm5vdHM/LnR5cGUgfHwgdGhpcy50eXBlKCk7XG4gICAgY29uc3QgTW9kZWwgPSB0aGlzLmFwaS5tb2RlbEZvclR5cGUodHlwZSk7XG4gICAgcmV0dXJuIG5ldyBNb2RlbChlbnRpdHksIHsgcmVzb3VyY2U6IHRoaXMsIGFubm90cywgcmVzZXQgfSkgYXMgTTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBJbm11dGFibGUgUmVzb3VyY2VcbiAga2V5KHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBlbnRpdHkgPSB0aGlzLmNsb25lKCk7XG4gICAgdmFyIGtleSA9IHRoaXMucmVzb2x2ZUtleSh2YWx1ZSk7XG4gICAgaWYgKGtleSAhPT0gdW5kZWZpbmVkKSBlbnRpdHkuc2VnbWVudC5lbnRpdHlTZXQoKS5rZXkoa2V5KTtcbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG5cbiAga2V5cyh2YWx1ZXM6IGFueVtdKSB7XG4gICAgY29uc3QgZW50aXR5ID0gdGhpcy5jbG9uZSgpO1xuICAgIGNvbnN0IHR5cGVzID0gdGhpcy5wYXRoU2VnbWVudHMudHlwZXMoeyBrZXk6IHRydWUgfSk7XG4gICAgY29uc3Qga2V5cyA9IHZhbHVlcy5tYXAoKHZhbHVlLCBpbmRleCkgPT5cbiAgICAgIE9EYXRhUmVzb3VyY2UucmVzb2x2ZUtleShcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGU8VD4odHlwZXNbaW5kZXhdKVxuICAgICAgKVxuICAgICk7XG4gICAgZW50aXR5LnNlZ21lbnQua2V5cyhrZXlzKTtcbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG5cbiAgbWVkaWEoKSB7XG4gICAgcmV0dXJuIE9EYXRhTWVkaWFSZXNvdXJjZS5mYWN0b3J5PFQ+KFxuICAgICAgdGhpcy5hcGksXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIG5hdmlnYXRpb25Qcm9wZXJ0eTxOPihwYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMudHlwZSgpO1xuICAgIGlmICh0eXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBwYXJzZXIgPSB0aGlzLmFwaS5wYXJzZXJGb3JUeXBlPE4+KHR5cGUpO1xuICAgICAgdHlwZSA9XG4gICAgICAgIHBhcnNlciBpbnN0YW5jZW9mIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXJcbiAgICAgICAgICA/IHBhcnNlci50eXBlRm9yKHBhdGgpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLmZhY3Rvcnk8Tj4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHBhdGgsXG4gICAgICB0eXBlLFxuICAgICAgdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICB0aGlzLmNsb25lUXVlcnkoKVxuICAgICk7XG4gIH1cblxuICBwcm9wZXJ0eTxQPihwYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMudHlwZSgpO1xuICAgIGlmICh0eXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBwYXJzZXIgPSB0aGlzLmFwaS5wYXJzZXJGb3JUeXBlPFA+KHR5cGUpO1xuICAgICAgdHlwZSA9XG4gICAgICAgIHBhcnNlciBpbnN0YW5jZW9mIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXJcbiAgICAgICAgICA/IHBhcnNlci50eXBlRm9yKHBhdGgpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBPRGF0YVByb3BlcnR5UmVzb3VyY2UuZmFjdG9yeTxQPihcbiAgICAgIHRoaXMuYXBpLFxuICAgICAgcGF0aCxcbiAgICAgIHR5cGUsXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIGFjdGlvbjxQLCBSPihwYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgdHlwZTtcbiAgICBjb25zdCBjYWxsYWJsZSA9IHRoaXMuYXBpLmZpbmRDYWxsYWJsZUZvclR5cGUocGF0aCwgdGhpcy50eXBlKCkpO1xuICAgIGlmIChjYWxsYWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXRoID0gY2FsbGFibGUucGF0aCgpO1xuICAgICAgdHlwZSA9IGNhbGxhYmxlLnR5cGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIE9EYXRhQWN0aW9uUmVzb3VyY2UuZmFjdG9yeTxQLCBSPihcbiAgICAgIHRoaXMuYXBpLFxuICAgICAgcGF0aCxcbiAgICAgIHR5cGUsXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uPFAsIFI+KHBhdGg6IHN0cmluZykge1xuICAgIGxldCB0eXBlO1xuICAgIGNvbnN0IGNhbGxhYmxlID0gdGhpcy5hcGkuZmluZENhbGxhYmxlRm9yVHlwZShwYXRoLCB0aGlzLnR5cGUoKSk7XG4gICAgaWYgKGNhbGxhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhdGggPSBjYWxsYWJsZS5wYXRoKCk7XG4gICAgICB0eXBlID0gY2FsbGFibGUudHlwZSgpO1xuICAgIH1cbiAgICByZXR1cm4gT0RhdGFGdW5jdGlvblJlc291cmNlLmZhY3Rvcnk8UCwgUj4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHBhdGgsXG4gICAgICB0eXBlLFxuICAgICAgdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICB0aGlzLmNsb25lUXVlcnkoKVxuICAgICk7XG4gIH1cblxuICAvL1RPRE86IENoZWNrXG4gIGNhc3Q8Qz4odHlwZTogc3RyaW5nKSB7XG4gICAgbGV0IHNlZ21lbnRzID0gdGhpcy5jbG9uZVNlZ21lbnRzKCk7XG4gICAgc2VnbWVudHMuYWRkKFBhdGhTZWdtZW50TmFtZXMudHlwZSwgdHlwZSkudHlwZSh0eXBlKTtcbiAgICByZXR1cm4gbmV3IE9EYXRhRW50aXR5UmVzb3VyY2U8Qz4odGhpcy5hcGksIHNlZ21lbnRzLCB0aGlzLmNsb25lUXVlcnkoKSk7XG4gIH1cblxuICBzZWxlY3Qob3B0czogU2VsZWN0PFQ+KSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkuc2VsZWN0KG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGV4cGFuZChvcHRzOiBFeHBhbmQ8VD4pIHtcbiAgICBjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcbiAgICBjbG9uZS5xdWVyeS5leHBhbmQob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgZm9ybWF0KG9wdHM6IHN0cmluZykge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LmZvcm1hdChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIE11dGFibGUgUmVzb3VyY2VcbiAgZ2V0IHNlZ21lbnQoKSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnBhdGhTZWdtZW50cztcbiAgICByZXR1cm4ge1xuICAgICAgZW50aXR5U2V0KCkge1xuICAgICAgICByZXR1cm4gc2VnbWVudHMuZ2V0KFBhdGhTZWdtZW50TmFtZXMuZW50aXR5U2V0KTtcbiAgICAgIH0sXG4gICAgICBrZXlzKHZhbHVlcz86IChFbnRpdHlLZXk8VD4gfCB1bmRlZmluZWQpW10pIHtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnRzLmtleXModmFsdWVzKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldCBxdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHlRdWVyeUhhbmRsZXIoKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gUmVxdWVzdHNcbiAgcHJvdGVjdGVkIHBvc3QoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiBzdXBlci5wb3N0KGF0dHJzLCB7IHJlc3BvbnNlVHlwZTogJ2VudGl0eScsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHV0KFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM6IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiBzdXBlci5wdXQoYXR0cnMsIHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwYXRjaChcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gc3VwZXIucGF0Y2goYXR0cnMsIHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWxldGUoXG4gICAgb3B0aW9uczogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBzdXBlci5kZWxldGUoeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldChcbiAgICBvcHRpb25zOiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiBzdXBlci5nZXQoeyByZXNwb25zZVR5cGU6ICdlbnRpdHknLCAuLi5vcHRpb25zIH0pO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBTaG9ydGN1dHNcbiAgY3JlYXRlKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLnBvc3QoYXR0cnMsIG9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMucHV0KGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIG1vZGlmeShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLnBhdGNoKGF0dHJzLCBvcHRpb25zKTtcbiAgfVxuXG4gIGRlc3Ryb3kob3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGUob3B0aW9ucyk7XG4gIH1cblxuICBmZXRjaChcbiAgICBvcHRpb25zPzogT0RhdGFPcHRpb25zICYge1xuICAgICAgZXRhZz86IHN0cmluZztcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgaWYgKCF0aGlzLmhhc0tleSgpKSByZXR1cm4gdGhyb3dFcnJvcignRW50aXR5IHJlc291cmNlIHdpdGhvdXQga2V5Jyk7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG9wdGlvbnMpO1xuICB9XG5cbiAgZmV0Y2hFbnRpdHkoXG4gICAgb3B0aW9ucz86IE9EYXRhT3B0aW9ucyAmIHtcbiAgICAgIGV0YWc/OiBzdHJpbmc7XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH1cbiAgKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKG9wdGlvbnMpLnBpcGUobWFwKCh7IGVudGl0eSB9KSA9PiBlbnRpdHkpKTtcbiAgfVxuXG4gIGZldGNoTW9kZWw8TSBleHRlbmRzIE9EYXRhTW9kZWw8VD4+KFxuICAgIG9wdGlvbnM/OiBPRGF0YU9wdGlvbnMgJiB7XG4gICAgICBldGFnPzogc3RyaW5nO1xuICAgICAgYm9keVF1ZXJ5T3B0aW9ucz86IFF1ZXJ5T3B0aW9uTmFtZXNbXTtcbiAgICB9XG4gICk6IE9ic2VydmFibGU8TSB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaChvcHRpb25zKS5waXBlKFxuICAgICAgbWFwKCh7IGVudGl0eSwgYW5ub3RzIH0pID0+XG4gICAgICAgIGVudGl0eSA/IHRoaXMuYXNNb2RlbDxNPihlbnRpdHksIHsgYW5ub3RzLCByZXNldDogdHJ1ZSB9KSA6IG51bGxcbiAgICAgIClcbiAgICApO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { __rest } from "tslib";
|
|
2
|
-
import { ODataResource } from '../resource';
|
|
3
|
-
import { PathSegmentNames } from '../../types';
|
|
4
|
-
import { alias as functionAlias } from '../builder';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
|
-
export class ODataFunctionResource extends ODataResource {
|
|
7
|
-
//#region Factory
|
|
8
|
-
static factory(api, path, type, segments, options) {
|
|
9
|
-
const segment = segments.add(PathSegmentNames.function, path);
|
|
10
|
-
if (type)
|
|
11
|
-
segment.type(type);
|
|
12
|
-
options.clear();
|
|
13
|
-
return new ODataFunctionResource(api, segments, options);
|
|
14
|
-
}
|
|
15
|
-
//#endregion
|
|
16
|
-
returnType() {
|
|
17
|
-
var _a, _b;
|
|
18
|
-
return (_b = (_a = this.schema()) === null || _a === void 0 ? void 0 : _a.parser.return) === null || _b === void 0 ? void 0 : _b.type;
|
|
19
|
-
}
|
|
20
|
-
clone() {
|
|
21
|
-
return new ODataFunctionResource(this.api, this.cloneSegments(), this.cloneQuery());
|
|
22
|
-
}
|
|
23
|
-
schema() {
|
|
24
|
-
//TODO: Binding Type
|
|
25
|
-
let type = this.type();
|
|
26
|
-
return type !== undefined
|
|
27
|
-
? this.api.findCallableForType(type)
|
|
28
|
-
: undefined;
|
|
29
|
-
}
|
|
30
|
-
asModel(entity, { annots, reset } = {}) {
|
|
31
|
-
let resource;
|
|
32
|
-
const type = (annots === null || annots === void 0 ? void 0 : annots.type) || this.returnType();
|
|
33
|
-
const Model = this.api.modelForType(type);
|
|
34
|
-
let path = annots === null || annots === void 0 ? void 0 : annots.entitySet;
|
|
35
|
-
if (path !== undefined) {
|
|
36
|
-
resource = this.api.entitySet(path).entity(entity);
|
|
37
|
-
resource.query.apply(this.queryOptions.toQueryArguments());
|
|
38
|
-
}
|
|
39
|
-
return new Model(entity, { resource, annots, reset });
|
|
40
|
-
}
|
|
41
|
-
asCollection(entities, { annots, reset, } = {}) {
|
|
42
|
-
let resource;
|
|
43
|
-
const type = (annots === null || annots === void 0 ? void 0 : annots.type) || this.returnType();
|
|
44
|
-
const Collection = this.api.collectionForType(type);
|
|
45
|
-
let path = annots === null || annots === void 0 ? void 0 : annots.entitySet;
|
|
46
|
-
if (path !== undefined) {
|
|
47
|
-
resource = this.api.entitySet(path);
|
|
48
|
-
resource.query.apply(this.queryOptions.toQueryArguments());
|
|
49
|
-
}
|
|
50
|
-
return new Collection(entities, { resource, annots, reset });
|
|
51
|
-
}
|
|
52
|
-
//#region Inmutable Resource
|
|
53
|
-
parameters(params, { alias } = {}) {
|
|
54
|
-
const segments = this.cloneSegments();
|
|
55
|
-
const segment = segments.get(PathSegmentNames.function);
|
|
56
|
-
let parameters = params !== null ? this.encode(params) : null;
|
|
57
|
-
if (alias && parameters !== null) {
|
|
58
|
-
parameters = Object.entries(parameters).reduce((acc, [name, param]) => {
|
|
59
|
-
return Object.assign(acc, { [name]: functionAlias(param, name) });
|
|
60
|
-
}, {});
|
|
61
|
-
}
|
|
62
|
-
segment.parameters(parameters);
|
|
63
|
-
return new ODataFunctionResource(this.api, segments, this.cloneQuery());
|
|
64
|
-
}
|
|
65
|
-
select(opts) {
|
|
66
|
-
const clone = this.clone();
|
|
67
|
-
clone.query.select(opts);
|
|
68
|
-
return clone;
|
|
69
|
-
}
|
|
70
|
-
expand(opts) {
|
|
71
|
-
const clone = this.clone();
|
|
72
|
-
clone.query.expand(opts);
|
|
73
|
-
return clone;
|
|
74
|
-
}
|
|
75
|
-
transform(opts) {
|
|
76
|
-
const clone = this.clone();
|
|
77
|
-
clone.query.transform(opts);
|
|
78
|
-
return clone;
|
|
79
|
-
}
|
|
80
|
-
search(opts) {
|
|
81
|
-
const clone = this.clone();
|
|
82
|
-
clone.query.search(opts);
|
|
83
|
-
return clone;
|
|
84
|
-
}
|
|
85
|
-
filter(opts) {
|
|
86
|
-
const clone = this.clone();
|
|
87
|
-
clone.query.filter(opts);
|
|
88
|
-
return clone;
|
|
89
|
-
}
|
|
90
|
-
orderBy(opts) {
|
|
91
|
-
const clone = this.clone();
|
|
92
|
-
clone.query.orderBy(opts);
|
|
93
|
-
return clone;
|
|
94
|
-
}
|
|
95
|
-
format(opts) {
|
|
96
|
-
const clone = this.clone();
|
|
97
|
-
clone.query.format(opts);
|
|
98
|
-
return clone;
|
|
99
|
-
}
|
|
100
|
-
top(opts) {
|
|
101
|
-
const clone = this.clone();
|
|
102
|
-
clone.query.top(opts);
|
|
103
|
-
return clone;
|
|
104
|
-
}
|
|
105
|
-
skip(opts) {
|
|
106
|
-
const clone = this.clone();
|
|
107
|
-
clone.query.skip(opts);
|
|
108
|
-
return clone;
|
|
109
|
-
}
|
|
110
|
-
skiptoken(opts) {
|
|
111
|
-
const clone = this.clone();
|
|
112
|
-
clone.query.skiptoken(opts);
|
|
113
|
-
return clone;
|
|
114
|
-
}
|
|
115
|
-
//#endregion
|
|
116
|
-
//#region Mutable Resource
|
|
117
|
-
get segment() {
|
|
118
|
-
const segments = this.pathSegments;
|
|
119
|
-
return {
|
|
120
|
-
entitySet() {
|
|
121
|
-
return segments.get(PathSegmentNames.entitySet);
|
|
122
|
-
},
|
|
123
|
-
singleton() {
|
|
124
|
-
return segments.get(PathSegmentNames.singleton);
|
|
125
|
-
},
|
|
126
|
-
function() {
|
|
127
|
-
return segments.get(PathSegmentNames.function);
|
|
128
|
-
},
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Handle query options of the function
|
|
133
|
-
* @returns Handler for mutate the query of the function
|
|
134
|
-
*/
|
|
135
|
-
get query() {
|
|
136
|
-
return this.entitiesQueryHandler();
|
|
137
|
-
}
|
|
138
|
-
//#endregion
|
|
139
|
-
//#region Requests
|
|
140
|
-
get(options) {
|
|
141
|
-
return super.get(options);
|
|
142
|
-
}
|
|
143
|
-
call(params, _a = {}) {
|
|
144
|
-
var { alias } = _a, options = __rest(_a, ["alias"]);
|
|
145
|
-
return this.parameters(params, { alias }).get(options);
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Execute the function with the given parameters and return the result as a property
|
|
149
|
-
* @param params Parameters to be sent to the function
|
|
150
|
-
* @param alias If true, the parameters will be send using aliases
|
|
151
|
-
* @param options Options for the request
|
|
152
|
-
* @returns Observable of the result of the function
|
|
153
|
-
*/
|
|
154
|
-
callProperty(params, _a = {}) {
|
|
155
|
-
var { alias } = _a, options = __rest(_a, ["alias"]);
|
|
156
|
-
return this.call(params, Object.assign({ responseType: 'property', alias }, options)).pipe(map(({ property }) => property));
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Execute the function with the given parameters and return the result as a entity
|
|
160
|
-
* @param params Parameters to be sent to the function
|
|
161
|
-
* @param alias If true, the parameters will be send using aliases
|
|
162
|
-
* @param options Options for the request
|
|
163
|
-
* @returns Observable of the result of the function
|
|
164
|
-
*/
|
|
165
|
-
callEntity(params, _a = {}) {
|
|
166
|
-
var { alias } = _a, options = __rest(_a, ["alias"]);
|
|
167
|
-
return this.call(params, Object.assign({ responseType: 'entity', alias }, options)).pipe(map(({ entity }) => entity));
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Execute the function with the given parameters and return the result as a model
|
|
171
|
-
* @param params Parameters to be sent to the function
|
|
172
|
-
* @param alias If true, the parameters will be send using aliases
|
|
173
|
-
* @param options Options for the request
|
|
174
|
-
* @returns Observable of the result of the function
|
|
175
|
-
*/
|
|
176
|
-
callModel(params, _a = {}) {
|
|
177
|
-
var { alias } = _a, options = __rest(_a, ["alias"]);
|
|
178
|
-
return this.call(params, Object.assign({ responseType: 'entity', alias }, options)).pipe(map(({ entity, annots }) => entity ? this.asModel(entity, { annots, reset: true }) : null));
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Execute the function with the given parameters and return the result as a entities
|
|
182
|
-
* @param params Parameters to be sent to the function
|
|
183
|
-
* @param alias If true, the parameters will be send using aliases
|
|
184
|
-
* @param options Options for the request
|
|
185
|
-
* @returns Observable of the result of the function
|
|
186
|
-
*/
|
|
187
|
-
callEntities(params, _a = {}) {
|
|
188
|
-
var { alias } = _a, options = __rest(_a, ["alias"]);
|
|
189
|
-
return this.call(params, Object.assign({ responseType: 'entities', alias }, options)).pipe(map(({ entities }) => entities));
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Execute the function with the given parameters and return the result as a collection
|
|
193
|
-
* @param params Parameters to be sent to the function
|
|
194
|
-
* @param alias If true, the parameters will be send using aliases
|
|
195
|
-
* @param options Options for the request
|
|
196
|
-
* @returns Observable of the result of the function
|
|
197
|
-
*/
|
|
198
|
-
callCollection(params, _a = {}) {
|
|
199
|
-
var { alias } = _a, options = __rest(_a, ["alias"]);
|
|
200
|
-
return this.call(params, Object.assign({ responseType: 'entities', alias }, options)).pipe(map(({ entities, annots }) => entities
|
|
201
|
-
? this.asCollection(entities, { annots, reset: true })
|
|
202
|
-
: null));
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3R5cGVzL2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUF1QkEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssSUFBSSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE1BQU0sT0FBTyxxQkFBNEIsU0FBUSxhQUFnQjtJQUMvRCxpQkFBaUI7SUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FDWixHQUFhLEVBQ2IsSUFBWSxFQUNaLElBQXdCLEVBQ3hCLFFBQTJCLEVBQzNCLE9BQTBCO1FBRTFCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksSUFBSTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxxQkFBcUIsQ0FBTyxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxZQUFZO0lBRVosVUFBVTs7UUFDUixPQUFPLE1BQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxFQUFFLDBDQUFFLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLElBQUksQ0FBQztJQUM1QyxDQUFDO0lBQ0QsS0FBSztRQUNILE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsYUFBYSxFQUFFLEVBQ3BCLElB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RUFBRSxVQUFVLEVBQ3hCLEtBQUssSUFDRixPQUFPLEVBQ1YsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsY0FBYyxDQUNaLE1BQWdCLEVBQ2hCLEtBQTRELEVBQUU7WUFBOUQsRUFBRSxLQUFLLE9BQXVELEVBQWxELE9BQU8sY0FBbkIsU0FBcUIsQ0FBRjtRQUVuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxrQkFDckIsWUFBWSxFQUFFLFVBQVUsRUFDeEIsS0FBSyxJQUNGLE9BQU8sRUFDVixDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQzNCLFFBQVE7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBTyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzVELENBQUMsQ0FBQyxJQUFJLENBQ1QsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwYW5kLCBGaWx0ZXIsIE9yZGVyQnksIFNlbGVjdCwgVHJhbnNmb3JtIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQge1xuICBPRGF0YUVudGl0aWVzLFxuICBPRGF0YUVudGl0aWVzQW5ub3RhdGlvbnMsXG4gIE9EYXRhRW50aXR5LFxuICBPRGF0YUVudGl0eUFubm90YXRpb25zLFxuICBPRGF0YVByb3BlcnR5LFxufSBmcm9tICcuLi9yZXNwb25zZXMnO1xuaW1wb3J0IHtcbiAgT0RhdGFFbnRpdGllc09wdGlvbnMsXG4gIE9EYXRhRW50aXR5T3B0aW9ucyxcbiAgT0RhdGFOb25lT3B0aW9ucyxcbiAgT0RhdGFPcHRpb25zLFxuICBPRGF0YVByb3BlcnR5T3B0aW9ucyxcbn0gZnJvbSAnLi9vcHRpb25zJztcblxuaW1wb3J0IHsgT0RhdGFBcGkgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgT0RhdGFDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbGxlY3Rpb24nO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHlSZXNvdXJjZSB9IGZyb20gJy4vZW50aXR5JztcbmltcG9ydCB7IE9EYXRhRW50aXR5U2V0UmVzb3VyY2UgfSBmcm9tICcuL2VudGl0eS1zZXQnO1xuaW1wb3J0IHsgT0RhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbCc7XG5pbXBvcnQgeyBPRGF0YVBhdGhTZWdtZW50cyB9IGZyb20gJy4uL3BhdGgtc2VnbWVudHMnO1xuaW1wb3J0IHsgT0RhdGFRdWVyeU9wdGlvbnMgfSBmcm9tICcuLi9xdWVyeS1vcHRpb25zJztcbmltcG9ydCB7IE9EYXRhUmVzb3VyY2UgfSBmcm9tICcuLi9yZXNvdXJjZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQYXRoU2VnbWVudE5hbWVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgYWxpYXMgYXMgZnVuY3Rpb25BbGlhcyB9IGZyb20gJy4uL2J1aWxkZXInO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+IGV4dGVuZHMgT0RhdGFSZXNvdXJjZTxSPiB7XG4gIC8vI3JlZ2lvbiBGYWN0b3J5XG4gIHN0YXRpYyBmYWN0b3J5PFAsIFI+KFxuICAgIGFwaTogT0RhdGFBcGksXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBzZWdtZW50czogT0RhdGFQYXRoU2VnbWVudHMsXG4gICAgb3B0aW9uczogT0RhdGFRdWVyeU9wdGlvbnNcbiAgKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzLmFkZChQYXRoU2VnbWVudE5hbWVzLmZ1bmN0aW9uLCBwYXRoKTtcbiAgICBpZiAodHlwZSkgc2VnbWVudC50eXBlKHR5cGUpO1xuICAgIG9wdGlvbnMuY2xlYXIoKTtcbiAgICByZXR1cm4gbmV3IE9EYXRhRnVuY3Rpb25SZXNvdXJjZTxQLCBSPihhcGksIHNlZ21lbnRzLCBvcHRpb25zKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICByZXR1cm5UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYSgpPy5wYXJzZXIucmV0dXJuPy50eXBlO1xuICB9XG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgT0RhdGFGdW5jdGlvblJlc291cmNlPFAsIFI+KFxuICAgICAgdGhpcy5hcGksXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIHNjaGVtYSgpIHtcbiAgICAvL1RPRE86IEJpbmRpbmcgVHlwZVxuICAgIGxldCB0eXBlID0gdGhpcy50eXBlKCk7XG4gICAgcmV0dXJuIHR5cGUgIT09IHVuZGVmaW5lZFxuICAgICAgPyB0aGlzLmFwaS5maW5kQ2FsbGFibGVGb3JUeXBlPFI+KHR5cGUpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuICBhc01vZGVsPE0gZXh0ZW5kcyBPRGF0YU1vZGVsPFI+PihcbiAgICBlbnRpdHk6IFBhcnRpYWw8Uj4gfCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSxcbiAgICB7IGFubm90cywgcmVzZXQgfTogeyBhbm5vdHM/OiBPRGF0YUVudGl0eUFubm90YXRpb25zOyByZXNldD86IGJvb2xlYW4gfSA9IHt9XG4gICk6IE0ge1xuICAgIGxldCByZXNvdXJjZTogT0RhdGFFbnRpdHlSZXNvdXJjZTxSPiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCB0eXBlID0gYW5ub3RzPy50eXBlIHx8IHRoaXMucmV0dXJuVHlwZSgpO1xuICAgIGNvbnN0IE1vZGVsID0gdGhpcy5hcGkubW9kZWxGb3JUeXBlKHR5cGUpO1xuICAgIGxldCBwYXRoID0gYW5ub3RzPy5lbnRpdHlTZXQ7XG4gICAgaWYgKHBhdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzb3VyY2UgPSB0aGlzLmFwaS5lbnRpdHlTZXQ8Uj4ocGF0aCkuZW50aXR5KGVudGl0eSBhcyBQYXJ0aWFsPFI+KTtcbiAgICAgIHJlc291cmNlLnF1ZXJ5LmFwcGx5KHRoaXMucXVlcnlPcHRpb25zLnRvUXVlcnlBcmd1bWVudHMoKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgTW9kZWwoZW50aXR5LCB7IHJlc291cmNlLCBhbm5vdHMsIHJlc2V0IH0pIGFzIE07XG4gIH1cblxuICBhc0NvbGxlY3Rpb248TSBleHRlbmRzIE9EYXRhTW9kZWw8Uj4sIEMgZXh0ZW5kcyBPRGF0YUNvbGxlY3Rpb248UiwgTT4+KFxuICAgIGVudGl0aWVzOiBQYXJ0aWFsPFI+W10gfCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfVtdLFxuICAgIHtcbiAgICAgIGFubm90cyxcbiAgICAgIHJlc2V0LFxuICAgIH06IHsgYW5ub3RzPzogT0RhdGFFbnRpdGllc0Fubm90YXRpb25zOyByZXNldD86IGJvb2xlYW4gfSA9IHt9XG4gICk6IEMge1xuICAgIGxldCByZXNvdXJjZTogT0RhdGFFbnRpdHlTZXRSZXNvdXJjZTxSPiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCB0eXBlID0gYW5ub3RzPy50eXBlIHx8IHRoaXMucmV0dXJuVHlwZSgpO1xuICAgIGNvbnN0IENvbGxlY3Rpb24gPSB0aGlzLmFwaS5jb2xsZWN0aW9uRm9yVHlwZSh0eXBlKTtcbiAgICBsZXQgcGF0aCA9IGFubm90cz8uZW50aXR5U2V0O1xuICAgIGlmIChwYXRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlc291cmNlID0gdGhpcy5hcGkuZW50aXR5U2V0PFI+KHBhdGgpO1xuICAgICAgcmVzb3VyY2UucXVlcnkuYXBwbHkodGhpcy5xdWVyeU9wdGlvbnMudG9RdWVyeUFyZ3VtZW50cygpKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKGVudGl0aWVzLCB7IHJlc291cmNlLCBhbm5vdHMsIHJlc2V0IH0pIGFzIEM7XG4gIH1cblxuICAvLyNyZWdpb24gSW5tdXRhYmxlIFJlc291cmNlXG4gIHBhcmFtZXRlcnMocGFyYW1zOiBQIHwgbnVsbCwgeyBhbGlhcyB9OiB7IGFsaWFzPzogYm9vbGVhbiB9ID0ge30pIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMuY2xvbmVTZWdtZW50cygpO1xuICAgIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50cy5nZXQoUGF0aFNlZ21lbnROYW1lcy5mdW5jdGlvbik7XG4gICAgbGV0IHBhcmFtZXRlcnMgPSBwYXJhbXMgIT09IG51bGwgPyB0aGlzLmVuY29kZShwYXJhbXMpIDogbnVsbDtcbiAgICBpZiAoYWxpYXMgJiYgcGFyYW1ldGVycyAhPT0gbnVsbCkge1xuICAgICAgcGFyYW1ldGVycyA9IE9iamVjdC5lbnRyaWVzKHBhcmFtZXRlcnMpLnJlZHVjZSgoYWNjLCBbbmFtZSwgcGFyYW1dKSA9PiB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGFjYywgeyBbbmFtZV06IGZ1bmN0aW9uQWxpYXMocGFyYW0sIG5hbWUpIH0pO1xuICAgICAgfSwge30pO1xuICAgIH1cbiAgICBzZWdtZW50LnBhcmFtZXRlcnMocGFyYW1ldGVycyk7XG4gICAgcmV0dXJuIG5ldyBPRGF0YUZ1bmN0aW9uUmVzb3VyY2U8UCwgUj4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHNlZ21lbnRzLFxuICAgICAgdGhpcy5jbG9uZVF1ZXJ5KClcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0KG9wdHM6IFNlbGVjdDxSPikge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LnNlbGVjdChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBleHBhbmQob3B0czogRXhwYW5kPFI+KSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkuZXhwYW5kKG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIHRyYW5zZm9ybShvcHRzOiBUcmFuc2Zvcm08Uj4pIHtcbiAgICBjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcbiAgICBjbG9uZS5xdWVyeS50cmFuc2Zvcm0ob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgc2VhcmNoKG9wdHM6IHN0cmluZykge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LnNlYXJjaChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBmaWx0ZXIob3B0czogRmlsdGVyKSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkuZmlsdGVyKG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIG9yZGVyQnkob3B0czogT3JkZXJCeTxSPikge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5Lm9yZGVyQnkob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgZm9ybWF0KG9wdHM6IHN0cmluZykge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LmZvcm1hdChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICB0b3Aob3B0czogbnVtYmVyKSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkudG9wKG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIHNraXAob3B0czogbnVtYmVyKSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkuc2tpcChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cblxuICBza2lwdG9rZW4ob3B0czogc3RyaW5nKSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkuc2tpcHRva2VuKG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gTXV0YWJsZSBSZXNvdXJjZVxuICBnZXQgc2VnbWVudCgpIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMucGF0aFNlZ21lbnRzO1xuICAgIHJldHVybiB7XG4gICAgICBlbnRpdHlTZXQoKSB7XG4gICAgICAgIHJldHVybiBzZWdtZW50cy5nZXQoUGF0aFNlZ21lbnROYW1lcy5lbnRpdHlTZXQpO1xuICAgICAgfSxcbiAgICAgIHNpbmdsZXRvbigpIHtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnRzLmdldChQYXRoU2VnbWVudE5hbWVzLnNpbmdsZXRvbik7XG4gICAgICB9LFxuICAgICAgZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzZWdtZW50cy5nZXQoUGF0aFNlZ21lbnROYW1lcy5mdW5jdGlvbik7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIHF1ZXJ5IG9wdGlvbnMgb2YgdGhlIGZ1bmN0aW9uXG4gICAqIEByZXR1cm5zIEhhbmRsZXIgZm9yIG11dGF0ZSB0aGUgcXVlcnkgb2YgdGhlIGZ1bmN0aW9uXG4gICAqL1xuICBnZXQgcXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXNRdWVyeUhhbmRsZXIoKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gUmVxdWVzdHNcbiAgcHJvdGVjdGVkIGdldChcbiAgICBvcHRpb25zPzogT0RhdGFFbnRpdHlPcHRpb25zICYgT0RhdGFFbnRpdGllc09wdGlvbnMgJiBPRGF0YVByb3BlcnR5T3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBzdXBlci5nZXQob3B0aW9ucyk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIFNob3J0Y3V0c1xuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgZnVuY3Rpb25cbiAgICogQHBhcmFtIHBhcmFtcyBQYXJhbWV0ZXJzIHRvIGJlIHNlbnQgdG8gdGhlIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSBhbGlhcyBJZiB0cnVlLCB0aGUgcGFyYW1ldGVycyB3aWxsIGJlIHNlbmQgdXNpbmcgYWxpYXNlc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKi9cbiAgY2FsbChcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIG9wdGlvbnM/OiB7IGFsaWFzPzogYm9vbGVhbiB9ICYgT0RhdGFFbnRpdHlPcHRpb25zXG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8Uj4+O1xuICBjYWxsKFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgb3B0aW9ucz86IHsgYWxpYXM/OiBib29sZWFuIH0gJiBPRGF0YUVudGl0aWVzT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXRpZXM8Uj4+O1xuICBjYWxsKFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgb3B0aW9ucz86IHsgYWxpYXM/OiBib29sZWFuIH0gJiBPRGF0YVByb3BlcnR5T3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPE9EYXRhUHJvcGVydHk8Uj4+O1xuICBjYWxsKFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgb3B0aW9ucz86IHsgYWxpYXM/OiBib29sZWFuIH0gJiBPRGF0YU5vbmVPcHRpb25zXG4gICk6IE9ic2VydmFibGU8bnVsbD47XG4gIGNhbGwoXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICB7XG4gICAgICBhbGlhcyxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9OiB7IGFsaWFzPzogYm9vbGVhbiB9ICYgT0RhdGFFbnRpdHlPcHRpb25zICZcbiAgICAgIE9EYXRhRW50aXRpZXNPcHRpb25zICZcbiAgICAgIE9EYXRhUHJvcGVydHlPcHRpb25zICZcbiAgICAgIE9EYXRhTm9uZU9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnMocGFyYW1zLCB7IGFsaWFzIH0pLmdldChvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBhIHByb3BlcnR5XG4gICAqIEBwYXJhbSBwYXJhbXMgUGFyYW1ldGVycyB0byBiZSBzZW50IHRvIHRoZSBmdW5jdGlvblxuICAgKiBAcGFyYW0gYWxpYXMgSWYgdHJ1ZSwgdGhlIHBhcmFtZXRlcnMgd2lsbCBiZSBzZW5kIHVzaW5nIGFsaWFzZXNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIHJlcXVlc3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvblxuICAgKi9cbiAgY2FsbFByb3BlcnR5KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgeyBhbGlhcywgLi4ub3B0aW9ucyB9OiB7IGFsaWFzPzogYm9vbGVhbiB9ICYgT0RhdGFPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxSIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmNhbGwocGFyYW1zLCB7XG4gICAgICByZXNwb25zZVR5cGU6ICdwcm9wZXJ0eScsXG4gICAgICBhbGlhcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSkucGlwZShtYXAoKHsgcHJvcGVydHkgfSkgPT4gcHJvcGVydHkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBhIGVudGl0eVxuICAgKiBAcGFyYW0gcGFyYW1zIFBhcmFtZXRlcnMgdG8gYmUgc2VudCB0byB0aGUgZnVuY3Rpb25cbiAgICogQHBhcmFtIGFsaWFzIElmIHRydWUsIHRoZSBwYXJhbWV0ZXJzIHdpbGwgYmUgc2VuZCB1c2luZyBhbGlhc2VzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb25cbiAgICovXG4gIGNhbGxFbnRpdHkoXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICB7IGFsaWFzLCAuLi5vcHRpb25zIH06IHsgYWxpYXM/OiBib29sZWFuIH0gJiBPRGF0YU9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPFIgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbChwYXJhbXMsIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0eScsXG4gICAgICBhbGlhcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSkucGlwZShtYXAoKHsgZW50aXR5IH0pID0+IGVudGl0eSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgdGhlIGZ1bmN0aW9uIHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMgYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIGEgbW9kZWxcbiAgICogQHBhcmFtIHBhcmFtcyBQYXJhbWV0ZXJzIHRvIGJlIHNlbnQgdG8gdGhlIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSBhbGlhcyBJZiB0cnVlLCB0aGUgcGFyYW1ldGVycyB3aWxsIGJlIHNlbmQgdXNpbmcgYWxpYXNlc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uXG4gICAqL1xuICBjYWxsTW9kZWw8TSBleHRlbmRzIE9EYXRhTW9kZWw8Uj4+KFxuICAgIHBhcmFtczogUCB8IG51bGwsXG4gICAgeyBhbGlhcywgLi4ub3B0aW9ucyB9OiB7IGFsaWFzPzogYm9vbGVhbiB9ICYgT0RhdGFPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxNIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmNhbGwocGFyYW1zLCB7XG4gICAgICByZXNwb25zZVR5cGU6ICdlbnRpdHknLFxuICAgICAgYWxpYXMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgZW50aXR5LCBhbm5vdHMgfSkgPT5cbiAgICAgICAgZW50aXR5ID8gdGhpcy5hc01vZGVsPE0+KGVudGl0eSwgeyBhbm5vdHMsIHJlc2V0OiB0cnVlIH0pIDogbnVsbFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgZnVuY3Rpb24gd2l0aCB0aGUgZ2l2ZW4gcGFyYW1ldGVycyBhbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgYSBlbnRpdGllc1xuICAgKiBAcGFyYW0gcGFyYW1zIFBhcmFtZXRlcnMgdG8gYmUgc2VudCB0byB0aGUgZnVuY3Rpb25cbiAgICogQHBhcmFtIGFsaWFzIElmIHRydWUsIHRoZSBwYXJhbWV0ZXJzIHdpbGwgYmUgc2VuZCB1c2luZyBhbGlhc2VzXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbnMgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb25cbiAgICovXG4gIGNhbGxFbnRpdGllcyhcbiAgICBwYXJhbXM6IFAgfCBudWxsLFxuICAgIHsgYWxpYXMsIC4uLm9wdGlvbnMgfTogeyBhbGlhcz86IGJvb2xlYW4gfSAmIE9EYXRhT3B0aW9ucyA9IHt9XG4gICk6IE9ic2VydmFibGU8UltdIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmNhbGwocGFyYW1zLCB7XG4gICAgICByZXNwb25zZVR5cGU6ICdlbnRpdGllcycsXG4gICAgICBhbGlhcyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSkucGlwZShtYXAoKHsgZW50aXRpZXMgfSkgPT4gZW50aXRpZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBwYXJhbWV0ZXJzIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBhIGNvbGxlY3Rpb25cbiAgICogQHBhcmFtIHBhcmFtcyBQYXJhbWV0ZXJzIHRvIGJlIHNlbnQgdG8gdGhlIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSBhbGlhcyBJZiB0cnVlLCB0aGUgcGFyYW1ldGVycyB3aWxsIGJlIHNlbmQgdXNpbmcgYWxpYXNlc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIHRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uXG4gICAqL1xuICBjYWxsQ29sbGVjdGlvbjxNIGV4dGVuZHMgT0RhdGFNb2RlbDxSPiwgQyBleHRlbmRzIE9EYXRhQ29sbGVjdGlvbjxSLCBNPj4oXG4gICAgcGFyYW1zOiBQIHwgbnVsbCxcbiAgICB7IGFsaWFzLCAuLi5vcHRpb25zIH06IHsgYWxpYXM/OiBib29sZWFuIH0gJiBPRGF0YU9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPEMgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbChwYXJhbXMsIHtcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2VudGl0aWVzJyxcbiAgICAgIGFsaWFzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KS5waXBlKFxuICAgICAgbWFwKCh7IGVudGl0aWVzLCBhbm5vdHMgfSkgPT5cbiAgICAgICAgZW50aXRpZXNcbiAgICAgICAgICA/IHRoaXMuYXNDb2xsZWN0aW9uPE0sIEM+KGVudGl0aWVzLCB7IGFubm90cywgcmVzZXQ6IHRydWUgfSlcbiAgICAgICAgICA6IG51bGxcbiAgICAgIClcbiAgICApO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
|