angular-odata 0.78.1 → 0.95.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 +133 -62
- 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} +12 -5
- package/{esm2015/lib/cache/index.js → esm2020/lib/cache/index.mjs} +0 -0
- package/{esm2015/lib/cache/memory.js → esm2020/lib/cache/memory.mjs} +0 -0
- package/{esm2015/lib/cache/storage.js → esm2020/lib/cache/storage.mjs} +1 -1
- package/esm2020/lib/client.mjs +271 -0
- package/{esm2015/lib/constants.js → esm2020/lib/constants.mjs} +9 -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} +6 -6
- 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.mjs +207 -0
- package/esm2020/lib/resources/query/handlers.mjs +186 -0
- package/esm2020/lib/resources/query/index.mjs +4 -0
- package/esm2020/lib/resources/query/options.mjs +103 -0
- package/esm2020/lib/resources/query/syntax.mjs +406 -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} +1 -1
- package/esm2020/lib/resources/responses/response.mjs +170 -0
- package/{esm2015/lib/resources/responses/types.js → esm2020/lib/resources/responses/types.mjs} +1 -1
- package/esm2020/lib/resources/types/action.mjs +101 -0
- package/esm2020/lib/resources/types/batch.mjs +288 -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} +5068 -3943
- package/fesm2015/angular-odata.mjs.map +1 -0
- package/fesm2020/angular-odata.mjs +10274 -0
- package/fesm2020/angular-odata.mjs.map +1 -0
- package/lib/api.d.ts +17 -16
- package/lib/cache/cache.d.ts +2 -2
- package/lib/client.d.ts +93 -18
- package/lib/constants.d.ts +6 -2
- package/lib/helper.d.ts +3 -3
- package/lib/index.d.ts +0 -1
- package/lib/models/collection.d.ts +36 -47
- package/lib/models/model.d.ts +47 -40
- package/lib/models/options.d.ts +53 -52
- package/lib/options.d.ts +50 -2
- 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.d.ts +63 -0
- package/lib/resources/query/handlers.d.ts +89 -0
- package/lib/resources/query/index.d.ts +3 -0
- package/lib/resources/query/options.d.ts +38 -0
- package/lib/resources/query/syntax.d.ts +175 -0
- package/lib/resources/request.d.ts +8 -6
- package/lib/resources/resource.d.ts +49 -55
- package/lib/resources/responses/metadata.d.ts +1 -1
- package/lib/resources/responses/types.d.ts +1 -1
- package/lib/resources/types/action.d.ts +55 -69
- package/lib/resources/types/batch.d.ts +13 -8
- package/lib/resources/types/count.d.ts +16 -19
- package/lib/resources/types/entity-set.d.ts +24 -62
- package/lib/resources/types/entity.d.ts +35 -43
- package/lib/resources/types/function.d.ts +63 -71
- package/lib/resources/types/media.d.ts +20 -22
- package/lib/resources/types/metadata.d.ts +5 -7
- package/lib/resources/types/navigation-property.d.ts +100 -85
- package/lib/resources/types/options.d.ts +8 -8
- package/lib/resources/types/property.d.ts +63 -73
- package/lib/resources/types/reference.d.ts +72 -16
- package/lib/resources/types/singleton.d.ts +75 -43
- package/lib/resources/types/value.d.ts +18 -9
- package/lib/schema/annotation.d.ts +18 -0
- package/lib/schema/callable.d.ts +27 -11
- package/lib/schema/element.d.ts +39 -0
- package/lib/schema/entity-container.d.ts +3 -8
- package/lib/schema/entity-set.d.ts +3 -9
- package/lib/schema/enum-type.d.ts +41 -14
- 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 +13 -7
- package/lib/{parsers → schema/parsers}/index.d.ts +0 -0
- package/lib/{parsers → schema/parsers}/structured-type.d.ts +14 -9
- package/lib/schema/schema.d.ts +6 -8
- package/lib/schema/structured-type.d.ts +97 -18
- package/lib/services/base.d.ts +12 -12
- package/lib/services/entity-set.d.ts +15 -12
- package/lib/services/entity.d.ts +4 -1
- package/lib/services/singleton.d.ts +6 -3
- package/lib/settings.d.ts +4 -4
- package/lib/types.d.ts +7 -3
- 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 +9 -0
- package/lib/utils/index.d.ts +5 -2
- package/lib/utils/objects.d.ts +1 -1
- package/lib/utils/strings.d.ts +4 -0
- package/lib/utils/types.d.ts +2 -0
- package/package.json +21 -8
- package/bundles/angular-odata.umd.js +0 -10756
- package/bundles/angular-odata.umd.js.map +0 -1
- package/esm2015/lib/api.js +0 -251
- package/esm2015/lib/client.js +0 -197
- package/esm2015/lib/helper.js +0 -269
- package/esm2015/lib/index.js +0 -21
- package/esm2015/lib/models/collection.js +0 -660
- package/esm2015/lib/models/model.js +0 -421
- package/esm2015/lib/models/options.js +0 -889
- package/esm2015/lib/options.js +0 -31
- package/esm2015/lib/parsers/callable.js +0 -110
- package/esm2015/lib/parsers/edm.js +0 -310
- package/esm2015/lib/parsers/enum-type.js +0 -97
- package/esm2015/lib/parsers/index.js +0 -5
- package/esm2015/lib/parsers/structured-type.js +0 -394
- 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 -141
- package/esm2015/lib/resources/resource.js +0 -328
- package/esm2015/lib/resources/responses/annotations.js +0 -121
- package/esm2015/lib/resources/responses/metadata.js +0 -548
- package/esm2015/lib/resources/responses/response.js +0 -170
- package/esm2015/lib/resources/types/action.js +0 -146
- package/esm2015/lib/resources/types/batch.js +0 -330
- package/esm2015/lib/resources/types/count.js +0 -50
- package/esm2015/lib/resources/types/entity-set.js +0 -164
- package/esm2015/lib/resources/types/entity.js +0 -158
- package/esm2015/lib/resources/types/function.js +0 -166
- package/esm2015/lib/resources/types/media.js +0 -46
- package/esm2015/lib/resources/types/metadata.js +0 -36
- package/esm2015/lib/resources/types/navigation-property.js +0 -214
- package/esm2015/lib/resources/types/options.js +0 -2
- package/esm2015/lib/resources/types/property.js +0 -190
- package/esm2015/lib/resources/types/reference.js +0 -50
- package/esm2015/lib/resources/types/singleton.js +0 -147
- package/esm2015/lib/resources/types/value.js +0 -30
- package/esm2015/lib/schema/annotation.js +0 -7
- package/esm2015/lib/schema/callable.js +0 -50
- package/esm2015/lib/schema/entity-container.js +0 -17
- package/esm2015/lib/schema/entity-set.js +0 -23
- package/esm2015/lib/schema/enum-type.js +0 -68
- package/esm2015/lib/schema/schema.js +0 -55
- package/esm2015/lib/schema/structured-type.js +0 -107
- 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 -59
- package/esm2015/lib/utils/index.js +0 -7
- package/esm2015/lib/utils/objects.js +0 -140
- package/esm2015/lib/utils/odata.js +0 -21
- 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,147 +0,0 @@
|
|
|
1
|
-
import { map } from 'rxjs/operators';
|
|
2
|
-
import { ODataResource } from '../resource';
|
|
3
|
-
import { ODataNavigationPropertyResource } from './navigation-property';
|
|
4
|
-
import { ODataPropertyResource } from './property';
|
|
5
|
-
import { ODataActionResource } from './action';
|
|
6
|
-
import { ODataFunctionResource } from './function';
|
|
7
|
-
import { ODataStructuredTypeParser } from '../../parsers/structured-type';
|
|
8
|
-
import { PathSegmentNames, QueryOptionNames } from '../../types';
|
|
9
|
-
export class ODataSingletonResource extends ODataResource {
|
|
10
|
-
//#region Factory
|
|
11
|
-
static factory(api, path, type, segments, options) {
|
|
12
|
-
const segment = segments.add(PathSegmentNames.singleton, path);
|
|
13
|
-
if (type !== undefined)
|
|
14
|
-
segment.type(type);
|
|
15
|
-
options.keep(QueryOptionNames.format);
|
|
16
|
-
return new ODataSingletonResource(api, segments, options);
|
|
17
|
-
}
|
|
18
|
-
//#endregion
|
|
19
|
-
clone() {
|
|
20
|
-
return new ODataSingletonResource(this.api, this.cloneSegments(), this.cloneQuery());
|
|
21
|
-
}
|
|
22
|
-
schema() {
|
|
23
|
-
let type = this.type();
|
|
24
|
-
return type !== undefined
|
|
25
|
-
? this.api.findStructuredTypeForType(type)
|
|
26
|
-
: undefined;
|
|
27
|
-
}
|
|
28
|
-
asModel(entity, { annots, reset } = {}) {
|
|
29
|
-
const Model = this.api.modelForType((annots === null || annots === void 0 ? void 0 : annots.type) || this.type());
|
|
30
|
-
return new Model(entity, { resource: this, annots, reset });
|
|
31
|
-
}
|
|
32
|
-
//#region Inmutable Resource
|
|
33
|
-
key(value) {
|
|
34
|
-
const singleton = this.clone();
|
|
35
|
-
var key = this.resolveKey(value);
|
|
36
|
-
if (key !== undefined)
|
|
37
|
-
singleton.segment.singleton().key(key);
|
|
38
|
-
return singleton;
|
|
39
|
-
}
|
|
40
|
-
keys(values) {
|
|
41
|
-
const singleton = 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
|
-
singleton.segment.keys(keys);
|
|
45
|
-
return singleton;
|
|
46
|
-
}
|
|
47
|
-
navigationProperty(path) {
|
|
48
|
-
let type = this.type();
|
|
49
|
-
if (type !== undefined) {
|
|
50
|
-
let parser = this.api.parserForType(type);
|
|
51
|
-
type =
|
|
52
|
-
parser instanceof ODataStructuredTypeParser
|
|
53
|
-
? parser.typeFor(path)
|
|
54
|
-
: undefined;
|
|
55
|
-
}
|
|
56
|
-
return ODataNavigationPropertyResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
57
|
-
}
|
|
58
|
-
property(path) {
|
|
59
|
-
let type = this.type();
|
|
60
|
-
if (type !== undefined) {
|
|
61
|
-
let parser = this.api.parserForType(type);
|
|
62
|
-
type =
|
|
63
|
-
parser instanceof ODataStructuredTypeParser
|
|
64
|
-
? parser.typeFor(path)
|
|
65
|
-
: undefined;
|
|
66
|
-
}
|
|
67
|
-
return ODataPropertyResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
68
|
-
}
|
|
69
|
-
action(path) {
|
|
70
|
-
let type;
|
|
71
|
-
const callable = this.api.findCallableForType(path, this.type());
|
|
72
|
-
if (callable !== undefined) {
|
|
73
|
-
path = callable.path();
|
|
74
|
-
type = callable.type();
|
|
75
|
-
}
|
|
76
|
-
return ODataActionResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
77
|
-
}
|
|
78
|
-
function(path) {
|
|
79
|
-
let type;
|
|
80
|
-
const callable = this.api.findCallableForType(path, this.type());
|
|
81
|
-
if (callable !== undefined) {
|
|
82
|
-
path = callable.path();
|
|
83
|
-
type = callable.type();
|
|
84
|
-
}
|
|
85
|
-
return ODataFunctionResource.factory(this.api, path, type, this.cloneSegments(), this.cloneQuery());
|
|
86
|
-
}
|
|
87
|
-
select(opts) {
|
|
88
|
-
const clone = this.clone();
|
|
89
|
-
clone.query.select(opts);
|
|
90
|
-
return clone;
|
|
91
|
-
}
|
|
92
|
-
expand(opts) {
|
|
93
|
-
const clone = this.clone();
|
|
94
|
-
clone.query.expand(opts);
|
|
95
|
-
return clone;
|
|
96
|
-
}
|
|
97
|
-
format(opts) {
|
|
98
|
-
const clone = this.clone();
|
|
99
|
-
clone.query.format(opts);
|
|
100
|
-
return clone;
|
|
101
|
-
}
|
|
102
|
-
//#endregion
|
|
103
|
-
//#region Mutable Resource
|
|
104
|
-
get segment() {
|
|
105
|
-
const segments = this.pathSegments;
|
|
106
|
-
return {
|
|
107
|
-
singleton() {
|
|
108
|
-
return segments.get(PathSegmentNames.singleton);
|
|
109
|
-
},
|
|
110
|
-
keys(values) {
|
|
111
|
-
return segments.keys(values);
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
get query() {
|
|
116
|
-
return this.entityQueryHandler();
|
|
117
|
-
}
|
|
118
|
-
//#endregion
|
|
119
|
-
//#region Requests
|
|
120
|
-
get(options = {}) {
|
|
121
|
-
return super.get(Object.assign({ responseType: 'entity' }, options));
|
|
122
|
-
}
|
|
123
|
-
post(attrs, options = {}) {
|
|
124
|
-
return super.post(attrs, Object.assign({ responseType: 'entity' }, options));
|
|
125
|
-
}
|
|
126
|
-
put(attrs, options = {}) {
|
|
127
|
-
return super.put(attrs, Object.assign({ responseType: 'entity' }, options));
|
|
128
|
-
}
|
|
129
|
-
patch(attrs, options = {}) {
|
|
130
|
-
return super.patch(attrs, Object.assign({ responseType: 'entity' }, options));
|
|
131
|
-
}
|
|
132
|
-
delete(options = {}) {
|
|
133
|
-
return super.delete(Object.assign({ responseType: 'entity' }, options));
|
|
134
|
-
}
|
|
135
|
-
//#endregion
|
|
136
|
-
//#region Shortcuts
|
|
137
|
-
fetch(options) {
|
|
138
|
-
return this.get(options);
|
|
139
|
-
}
|
|
140
|
-
fetchEntity(options) {
|
|
141
|
-
return this.fetch(options).pipe(map(({ entity }) => entity));
|
|
142
|
-
}
|
|
143
|
-
fetchModel(options) {
|
|
144
|
-
return this.fetch(options).pipe(map(({ entity, annots }) => entity ? this.asModel(entity, { annots, reset: true }) : null));
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3Jlc291cmNlcy90eXBlcy9zaW5nbGV0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3JDLE9BQU8sRUFBYSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpFLE1BQU0sT0FBTyxzQkFBMEIsU0FBUSxhQUFnQjtJQUM3RCxpQkFBaUI7SUFDakIsTUFBTSxDQUFDLE9BQU8sQ0FDWixHQUFhLEVBQ2IsSUFBWSxFQUNaLElBQXdCLEVBQ3hCLFFBQTJCLEVBQzNCLE9BQTBCO1FBRTFCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxLQUFLLFNBQVM7WUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLHNCQUFzQixDQUFJLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFD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RSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVUsQ0FDUixPQUdDO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0IsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUN6QixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlELENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXhwYW5kLCBTZWxlY3QgfSBmcm9tICcuLi9idWlsZGVyJztcbmltcG9ydCB7IE9EYXRhUGF0aFNlZ21lbnRzIH0gZnJvbSAnLi4vcGF0aC1zZWdtZW50cyc7XG5pbXBvcnQgeyBPRGF0YVF1ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3F1ZXJ5LW9wdGlvbnMnO1xuaW1wb3J0IHsgRW50aXR5S2V5LCBPRGF0YVJlc291cmNlIH0gZnJvbSAnLi4vcmVzb3VyY2UnO1xuXG5pbXBvcnQgeyBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXByb3BlcnR5JztcbmltcG9ydCB7IE9EYXRhUHJvcGVydHlSZXNvdXJjZSB9IGZyb20gJy4vcHJvcGVydHknO1xuaW1wb3J0IHsgT0RhdGFBY3Rpb25SZXNvdXJjZSB9IGZyb20gJy4vYWN0aW9uJztcbmltcG9ydCB7IE9EYXRhRnVuY3Rpb25SZXNvdXJjZSB9IGZyb20gJy4vZnVuY3Rpb24nO1xuaW1wb3J0IHsgSHR0cE9wdGlvbnMgfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgT0RhdGFTdHJ1Y3R1cmVkVHlwZVBhcnNlciB9IGZyb20gJy4uLy4uL3BhcnNlcnMvc3RydWN0dXJlZC10eXBlJztcbmltcG9ydCB7IE9EYXRhRW50aXR5LCBPRGF0YUVudGl0eUFubm90YXRpb25zIH0gZnJvbSAnLi4vcmVzcG9uc2VzJztcbmltcG9ydCB7IE9EYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgT0RhdGFBcGkgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgUGF0aFNlZ21lbnROYW1lcywgUXVlcnlPcHRpb25OYW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhU2luZ2xldG9uUmVzb3VyY2U8VD4gZXh0ZW5kcyBPRGF0YVJlc291cmNlPFQ+IHtcbiAgLy8jcmVnaW9uIEZhY3RvcnlcbiAgc3RhdGljIGZhY3Rvcnk8Uj4oXG4gICAgYXBpOiBPRGF0YUFwaSxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgdHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHNlZ21lbnRzOiBPRGF0YVBhdGhTZWdtZW50cyxcbiAgICBvcHRpb25zOiBPRGF0YVF1ZXJ5T3B0aW9uc1xuICApIHtcbiAgICBjb25zdCBzZWdtZW50ID0gc2VnbWVudHMuYWRkKFBhdGhTZWdtZW50TmFtZXMuc2luZ2xldG9uLCBwYXRoKTtcbiAgICBpZiAodHlwZSAhPT0gdW5kZWZpbmVkKSBzZWdtZW50LnR5cGUodHlwZSk7XG4gICAgb3B0aW9ucy5rZWVwKFF1ZXJ5T3B0aW9uTmFtZXMuZm9ybWF0KTtcbiAgICByZXR1cm4gbmV3IE9EYXRhU2luZ2xldG9uUmVzb3VyY2U8Uj4oYXBpLCBzZWdtZW50cywgb3B0aW9ucyk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgY2xvbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBPRGF0YVNpbmdsZXRvblJlc291cmNlPFQ+KFxuICAgICAgdGhpcy5hcGksXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIHNjaGVtYSgpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMudHlwZSgpO1xuICAgIHJldHVybiB0eXBlICE9PSB1bmRlZmluZWRcbiAgICAgID8gdGhpcy5hcGkuZmluZFN0cnVjdHVyZWRUeXBlRm9yVHlwZTxUPih0eXBlKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cbiAgYXNNb2RlbDxNIGV4dGVuZHMgT0RhdGFNb2RlbDxUPj4oXG4gICAgZW50aXR5OiBQYXJ0aWFsPFQ+IHwgeyBbbmFtZTogc3RyaW5nXTogYW55IH0sXG4gICAgeyBhbm5vdHMsIHJlc2V0IH06IHsgYW5ub3RzPzogT0RhdGFFbnRpdHlBbm5vdGF0aW9uczsgcmVzZXQ/OiBib29sZWFuIH0gPSB7fVxuICApOiBNIHtcbiAgICBjb25zdCBNb2RlbCA9IHRoaXMuYXBpLm1vZGVsRm9yVHlwZShhbm5vdHM/LnR5cGUgfHwgdGhpcy50eXBlKCkpO1xuICAgIHJldHVybiBuZXcgTW9kZWwoZW50aXR5LCB7IHJlc291cmNlOiB0aGlzLCBhbm5vdHMsIHJlc2V0IH0pIGFzIE07XG4gIH1cblxuICAvLyNyZWdpb24gSW5tdXRhYmxlIFJlc291cmNlXG4gIGtleSh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc2luZ2xldG9uID0gdGhpcy5jbG9uZSgpO1xuICAgIHZhciBrZXkgPSB0aGlzLnJlc29sdmVLZXkodmFsdWUpO1xuICAgIGlmIChrZXkgIT09IHVuZGVmaW5lZCkgc2luZ2xldG9uLnNlZ21lbnQuc2luZ2xldG9uKCkua2V5KGtleSk7XG4gICAgcmV0dXJuIHNpbmdsZXRvbjtcbiAgfVxuXG4gIGtleXModmFsdWVzOiBhbnlbXSkge1xuICAgIGNvbnN0IHNpbmdsZXRvbiA9IHRoaXMuY2xvbmUoKTtcbiAgICBjb25zdCB0eXBlcyA9IHRoaXMucGF0aFNlZ21lbnRzLnR5cGVzKHsga2V5OiB0cnVlIH0pO1xuICAgIGNvbnN0IGtleXMgPSB2YWx1ZXMubWFwKCh2YWx1ZSwgaW5kZXgpID0+XG4gICAgICBPRGF0YVJlc291cmNlLnJlc29sdmVLZXkoXG4gICAgICAgIHZhbHVlLFxuICAgICAgICB0aGlzLmFwaS5maW5kU3RydWN0dXJlZFR5cGVGb3JUeXBlPFQ+KHR5cGVzW2luZGV4XSlcbiAgICAgIClcbiAgICApO1xuICAgIHNpbmdsZXRvbi5zZWdtZW50LmtleXMoa2V5cyk7XG4gICAgcmV0dXJuIHNpbmdsZXRvbjtcbiAgfVxuXG4gIG5hdmlnYXRpb25Qcm9wZXJ0eTxOPihwYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMudHlwZSgpO1xuICAgIGlmICh0eXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBwYXJzZXIgPSB0aGlzLmFwaS5wYXJzZXJGb3JUeXBlPE4+KHR5cGUpO1xuICAgICAgdHlwZSA9XG4gICAgICAgIHBhcnNlciBpbnN0YW5jZW9mIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXJcbiAgICAgICAgICA/IHBhcnNlci50eXBlRm9yKHBhdGgpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBPRGF0YU5hdmlnYXRpb25Qcm9wZXJ0eVJlc291cmNlLmZhY3Rvcnk8Tj4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHBhdGgsXG4gICAgICB0eXBlLFxuICAgICAgdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICB0aGlzLmNsb25lUXVlcnkoKVxuICAgICk7XG4gIH1cblxuICBwcm9wZXJ0eTxQPihwYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgdHlwZSA9IHRoaXMudHlwZSgpO1xuICAgIGlmICh0eXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBwYXJzZXIgPSB0aGlzLmFwaS5wYXJzZXJGb3JUeXBlPFA+KHR5cGUpO1xuICAgICAgdHlwZSA9XG4gICAgICAgIHBhcnNlciBpbnN0YW5jZW9mIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXJcbiAgICAgICAgICA/IHBhcnNlci50eXBlRm9yKHBhdGgpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBPRGF0YVByb3BlcnR5UmVzb3VyY2UuZmFjdG9yeTxQPihcbiAgICAgIHRoaXMuYXBpLFxuICAgICAgcGF0aCxcbiAgICAgIHR5cGUsXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIGFjdGlvbjxQLCBSPihwYXRoOiBzdHJpbmcpIHtcbiAgICBsZXQgdHlwZTtcbiAgICBjb25zdCBjYWxsYWJsZSA9IHRoaXMuYXBpLmZpbmRDYWxsYWJsZUZvclR5cGUocGF0aCwgdGhpcy50eXBlKCkpO1xuICAgIGlmIChjYWxsYWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXRoID0gY2FsbGFibGUucGF0aCgpO1xuICAgICAgdHlwZSA9IGNhbGxhYmxlLnR5cGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIE9EYXRhQWN0aW9uUmVzb3VyY2UuZmFjdG9yeTxQLCBSPihcbiAgICAgIHRoaXMuYXBpLFxuICAgICAgcGF0aCxcbiAgICAgIHR5cGUsXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIGZ1bmN0aW9uPFAsIFI+KHBhdGg6IHN0cmluZykge1xuICAgIGxldCB0eXBlO1xuICAgIGNvbnN0IGNhbGxhYmxlID0gdGhpcy5hcGkuZmluZENhbGxhYmxlRm9yVHlwZShwYXRoLCB0aGlzLnR5cGUoKSk7XG4gICAgaWYgKGNhbGxhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhdGggPSBjYWxsYWJsZS5wYXRoKCk7XG4gICAgICB0eXBlID0gY2FsbGFibGUudHlwZSgpO1xuICAgIH1cbiAgICByZXR1cm4gT0RhdGFGdW5jdGlvblJlc291cmNlLmZhY3Rvcnk8UCwgUj4oXG4gICAgICB0aGlzLmFwaSxcbiAgICAgIHBhdGgsXG4gICAgICB0eXBlLFxuICAgICAgdGhpcy5jbG9uZVNlZ21lbnRzKCksXG4gICAgICB0aGlzLmNsb25lUXVlcnkoKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3Qob3B0czogU2VsZWN0PFQ+KSB7XG4gICAgY29uc3QgY2xvbmUgPSB0aGlzLmNsb25lKCk7XG4gICAgY2xvbmUucXVlcnkuc2VsZWN0KG9wdHMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGV4cGFuZChvcHRzOiBFeHBhbmQ8VD4pIHtcbiAgICBjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcbiAgICBjbG9uZS5xdWVyeS5leHBhbmQob3B0cyk7XG4gICAgcmV0dXJuIGNsb25lO1xuICB9XG5cbiAgZm9ybWF0KG9wdHM6IHN0cmluZykge1xuICAgIGNvbnN0IGNsb25lID0gdGhpcy5jbG9uZSgpO1xuICAgIGNsb25lLnF1ZXJ5LmZvcm1hdChvcHRzKTtcbiAgICByZXR1cm4gY2xvbmU7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIE11dGFibGUgUmVzb3VyY2VcbiAgZ2V0IHNlZ21lbnQoKSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnBhdGhTZWdtZW50cztcbiAgICByZXR1cm4ge1xuICAgICAgc2luZ2xldG9uKCkge1xuICAgICAgICByZXR1cm4gc2VnbWVudHMuZ2V0KFBhdGhTZWdtZW50TmFtZXMuc2luZ2xldG9uKTtcbiAgICAgIH0sXG4gICAgICBrZXlzKHZhbHVlcz86IChFbnRpdHlLZXk8VD4gfCB1bmRlZmluZWQpW10pIHtcbiAgICAgICAgcmV0dXJuIHNlZ21lbnRzLmtleXModmFsdWVzKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGdldCBxdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHlRdWVyeUhhbmRsZXIoKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gUmVxdWVzdHNcbiAgZ2V0KFxuICAgIG9wdGlvbnM6IEh0dHBPcHRpb25zICYge1xuICAgICAgZXRhZz86IHN0cmluZztcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfSA9IHt9XG4gICk6IE9ic2VydmFibGU8T0RhdGFFbnRpdHk8VD4+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHBvc3QoXG4gICAgYXR0cnM6IFBhcnRpYWw8VD4sXG4gICAgb3B0aW9uczogSHR0cE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHN1cGVyLnBvc3QoYXR0cnMsIHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHB1dChcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICBvcHRpb25zOiBIdHRwT3B0aW9ucyAmIHsgZXRhZz86IHN0cmluZyB9ID0ge31cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiBzdXBlci5wdXQoYXR0cnMsIHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIHBhdGNoKFxuICAgIGF0dHJzOiBQYXJ0aWFsPFQ+LFxuICAgIG9wdGlvbnM6IEh0dHBPcHRpb25zICYgeyBldGFnPzogc3RyaW5nIH0gPSB7fVxuICApOiBPYnNlcnZhYmxlPE9EYXRhRW50aXR5PFQ+PiB7XG4gICAgcmV0dXJuIHN1cGVyLnBhdGNoKGF0dHJzLCB7IHJlc3BvbnNlVHlwZTogJ2VudGl0eScsIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICBkZWxldGUob3B0aW9uczogSHR0cE9wdGlvbnMgJiB7IGV0YWc/OiBzdHJpbmcgfSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHsgcmVzcG9uc2VUeXBlOiAnZW50aXR5JywgLi4ub3B0aW9ucyB9KTtcbiAgfVxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gU2hvcnRjdXRzXG4gIGZldGNoKFxuICAgIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyAmIHtcbiAgICAgIGV0YWc/OiBzdHJpbmc7XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH1cbiAgKTogT2JzZXJ2YWJsZTxPRGF0YUVudGl0eTxUPj4ge1xuICAgIHJldHVybiB0aGlzLmdldChvcHRpb25zKTtcbiAgfVxuXG4gIGZldGNoRW50aXR5KFxuICAgIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyAmIHtcbiAgICAgIGV0YWc/OiBzdHJpbmc7XG4gICAgICBib2R5UXVlcnlPcHRpb25zPzogUXVlcnlPcHRpb25OYW1lc1tdO1xuICAgIH1cbiAgKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoKG9wdGlvbnMpLnBpcGUobWFwKCh7IGVudGl0eSB9KSA9PiBlbnRpdHkpKTtcbiAgfVxuXG4gIGZldGNoTW9kZWwoXG4gICAgb3B0aW9ucz86IEh0dHBPcHRpb25zICYge1xuICAgICAgZXRhZz86IHN0cmluZztcbiAgICAgIGJvZHlRdWVyeU9wdGlvbnM/OiBRdWVyeU9wdGlvbk5hbWVzW107XG4gICAgfVxuICApOiBPYnNlcnZhYmxlPE9EYXRhTW9kZWw8VD4gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2gob3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgoeyBlbnRpdHksIGFubm90cyB9KSA9PlxuICAgICAgICBlbnRpdHkgPyB0aGlzLmFzTW9kZWwoZW50aXR5LCB7IGFubm90cywgcmVzZXQ6IHRydWUgfSkgOiBudWxsXG4gICAgICApXG4gICAgKTtcbiAgfVxuICAvLyNlbmRyZWdpb25cbn1cbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ODataResource } from '../resource';
|
|
2
|
-
import { $VALUE } from '../../constants';
|
|
3
|
-
import { PathSegmentNames } from '../../types';
|
|
4
|
-
export class ODataValueResource extends ODataResource {
|
|
5
|
-
//#region Factory
|
|
6
|
-
static factory(api, type, segments, options) {
|
|
7
|
-
const segment = segments.add(PathSegmentNames.value, $VALUE);
|
|
8
|
-
if (type)
|
|
9
|
-
segment.type(type);
|
|
10
|
-
options.clear();
|
|
11
|
-
return new ODataValueResource(api, segments, options);
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
clone() {
|
|
15
|
-
return new ODataValueResource(this.api, this.cloneSegments(), this.cloneQuery());
|
|
16
|
-
}
|
|
17
|
-
schema() {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
//#region Requests
|
|
21
|
-
get(options) {
|
|
22
|
-
return super.get(Object.assign({ responseType: 'value' }, options));
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
//#region Shortcuts
|
|
26
|
-
fetch(options) {
|
|
27
|
-
return this.get(options);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3R5cGVzL3ZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxNQUFNLE9BQU8sa0JBQXNCLFNBQVEsYUFBZ0I7SUFDekQsaUJBQWlCO0lBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQ1osR0FBYSxFQUNiLElBQXdCLEVBQ3hCLFFBQTJCLEVBQzNCLE9BQTBCO1FBRTFCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxrQkFBa0IsQ0FBSSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxZQUFZO0lBRVosS0FBSztRQUNILE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsYUFBYSxFQUFFLEVBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixHQUFHLENBQUMsT0FBcUI7UUFDdkIsT0FBTyxLQUFLLENBQUMsR0FBRyxpQkFBRyxZQUFZLEVBQUUsT0FBTyxJQUFLLE9BQU8sRUFBRyxDQUFDO0lBQzFELENBQUM7SUFDRCxZQUFZO0lBRVosbUJBQW1CO0lBQ25CLEtBQUssQ0FBQyxPQUFxQjtRQUN6QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPRGF0YVJlc291cmNlIH0gZnJvbSAnLi4vcmVzb3VyY2UnO1xuaW1wb3J0IHsgT0RhdGFQYXRoU2VnbWVudHMgfSBmcm9tICcuLi9wYXRoLXNlZ21lbnRzJztcbmltcG9ydCB7IE9EYXRhUXVlcnlPcHRpb25zIH0gZnJvbSAnLi4vcXVlcnktb3B0aW9ucyc7XG5pbXBvcnQgeyBIdHRwT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyAkVkFMVUUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgT0RhdGFBcGkgfSBmcm9tICcuLi8uLi9hcGknO1xuaW1wb3J0IHsgUGF0aFNlZ21lbnROYW1lcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhVmFsdWVSZXNvdXJjZTxUPiBleHRlbmRzIE9EYXRhUmVzb3VyY2U8VD4ge1xuICAvLyNyZWdpb24gRmFjdG9yeVxuICBzdGF0aWMgZmFjdG9yeTxWPihcbiAgICBhcGk6IE9EYXRhQXBpLFxuICAgIHR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBzZWdtZW50czogT0RhdGFQYXRoU2VnbWVudHMsXG4gICAgb3B0aW9uczogT0RhdGFRdWVyeU9wdGlvbnNcbiAgKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHNlZ21lbnRzLmFkZChQYXRoU2VnbWVudE5hbWVzLnZhbHVlLCAkVkFMVUUpO1xuICAgIGlmICh0eXBlKSBzZWdtZW50LnR5cGUodHlwZSk7XG4gICAgb3B0aW9ucy5jbGVhcigpO1xuICAgIHJldHVybiBuZXcgT0RhdGFWYWx1ZVJlc291cmNlPFY+KGFwaSwgc2VnbWVudHMsIG9wdGlvbnMpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgT0RhdGFWYWx1ZVJlc291cmNlPFQ+KFxuICAgICAgdGhpcy5hcGksXG4gICAgICB0aGlzLmNsb25lU2VnbWVudHMoKSxcbiAgICAgIHRoaXMuY2xvbmVRdWVyeSgpXG4gICAgKTtcbiAgfVxuXG4gIHNjaGVtYSgpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8jcmVnaW9uIFJlcXVlc3RzXG4gIGdldChvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gc3VwZXIuZ2V0KHsgcmVzcG9uc2VUeXBlOiAndmFsdWUnLCAuLi5vcHRpb25zIH0pO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiBTaG9ydGN1dHNcbiAgZmV0Y2gob3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KG9wdGlvbnMpO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export class ODataAnnotation {
|
|
2
|
-
constructor(annot) {
|
|
3
|
-
this.term = annot.term;
|
|
4
|
-
Object.assign(this, annot);
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zY2hlbWEvYW5ub3RhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZUFBZTtJQU8xQixZQUFZLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbm5vdGF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgT0RhdGFBbm5vdGF0aW9uIHtcbiAgdGVybTogc3RyaW5nO1xuICBzdHJpbmc/OiBzdHJpbmc7XG4gIGJvb2w/OiBib29sZWFuO1xuICBpbnQ/OiBudW1iZXI7XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIHByb3BlcnRpZXM/OiBzdHJpbmdbXTtcbiAgY29uc3RydWN0b3IoYW5ub3Q6IEFubm90YXRpb25Db25maWcpIHtcbiAgICB0aGlzLnRlcm0gPSBhbm5vdC50ZXJtO1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywgYW5ub3QpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ODataCallableParser } from '../parsers';
|
|
2
|
-
export class ODataCallable {
|
|
3
|
-
constructor(config, schema) {
|
|
4
|
-
this.schema = schema;
|
|
5
|
-
this.name = config.name;
|
|
6
|
-
this.entitySetPath = config.entitySetPath;
|
|
7
|
-
this.bound = config.bound;
|
|
8
|
-
this.composable = config.composable;
|
|
9
|
-
this.parser = new ODataCallableParser(config, schema.namespace, schema.alias);
|
|
10
|
-
}
|
|
11
|
-
path() {
|
|
12
|
-
var _a;
|
|
13
|
-
let path;
|
|
14
|
-
if (this.entitySetPath)
|
|
15
|
-
path = this.entitySetPath;
|
|
16
|
-
else if (this.bound)
|
|
17
|
-
path = `${this.schema.namespace}.${this.name}`;
|
|
18
|
-
else
|
|
19
|
-
path = this.parser.return
|
|
20
|
-
? ((_a = this.api.findEntitySetForType(this.parser.return.type)) === null || _a === void 0 ? void 0 : _a.name) ||
|
|
21
|
-
this.name
|
|
22
|
-
: this.name;
|
|
23
|
-
return path;
|
|
24
|
-
}
|
|
25
|
-
type({ alias = false } = {}) {
|
|
26
|
-
return `${alias ? this.schema.alias : this.schema.namespace}.${this.name}`;
|
|
27
|
-
}
|
|
28
|
-
isTypeOf(type) {
|
|
29
|
-
return this.parser.isTypeOf(type);
|
|
30
|
-
}
|
|
31
|
-
get api() {
|
|
32
|
-
return this.schema.api;
|
|
33
|
-
}
|
|
34
|
-
configure({ parserForType, }) {
|
|
35
|
-
this.parser.configure({ options: this.api.options, parserForType });
|
|
36
|
-
}
|
|
37
|
-
deserialize(value, options) {
|
|
38
|
-
return this.parser.deserialize(value, options);
|
|
39
|
-
}
|
|
40
|
-
serialize(value, options) {
|
|
41
|
-
return this.parser.serialize(value, options);
|
|
42
|
-
}
|
|
43
|
-
encode(value, options) {
|
|
44
|
-
return this.parser.encode(value, options);
|
|
45
|
-
}
|
|
46
|
-
binding() {
|
|
47
|
-
return this.parser.binding();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvc2NoZW1hL2NhbGxhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRCxNQUFNLE9BQU8sYUFBYTtJQVF4QixZQUFZLE1BQXNCLEVBQUUsTUFBbUI7UUFDckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsQ0FDbkMsTUFBTSxFQUNOLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJOztRQUNGLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGFBQWE7WUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUM3QyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDOztZQUVsRSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2dCQUN2QixDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDBDQUFFLElBQUk7b0JBQzVELElBQUksQ0FBQyxJQUFJO2dCQUNYLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEtBQTBCLEVBQUU7UUFDOUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQ1IsYUFBYSxHQUdkO1FBQ0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVUsRUFBRSxPQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxPQUFpQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVUsRUFBRSxPQUFpQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZXIsIENhbGxhYmxlQ29uZmlnLCBPcHRpb25zSGVscGVyLCBPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5pbXBvcnQgeyBPRGF0YUNhbGxhYmxlUGFyc2VyIH0gZnJvbSAnLi4vcGFyc2Vycyc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUNhbGxhYmxlPFI+IHtcbiAgc2NoZW1hOiBPRGF0YVNjaGVtYTtcbiAgbmFtZTogc3RyaW5nO1xuICBlbnRpdHlTZXRQYXRoPzogc3RyaW5nO1xuICBib3VuZD86IGJvb2xlYW47XG4gIGNvbXBvc2FibGU/OiBib29sZWFuO1xuICBwYXJzZXI6IE9EYXRhQ2FsbGFibGVQYXJzZXI8Uj47XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBDYWxsYWJsZUNvbmZpZywgc2NoZW1hOiBPRGF0YVNjaGVtYSkge1xuICAgIHRoaXMuc2NoZW1hID0gc2NoZW1hO1xuICAgIHRoaXMubmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMuZW50aXR5U2V0UGF0aCA9IGNvbmZpZy5lbnRpdHlTZXRQYXRoO1xuICAgIHRoaXMuYm91bmQgPSBjb25maWcuYm91bmQ7XG4gICAgdGhpcy5jb21wb3NhYmxlID0gY29uZmlnLmNvbXBvc2FibGU7XG4gICAgdGhpcy5wYXJzZXIgPSBuZXcgT0RhdGFDYWxsYWJsZVBhcnNlcihcbiAgICAgIGNvbmZpZyxcbiAgICAgIHNjaGVtYS5uYW1lc3BhY2UsXG4gICAgICBzY2hlbWEuYWxpYXNcbiAgICApO1xuICB9XG5cbiAgcGF0aCgpIHtcbiAgICBsZXQgcGF0aDogc3RyaW5nO1xuICAgIGlmICh0aGlzLmVudGl0eVNldFBhdGgpIHBhdGggPSB0aGlzLmVudGl0eVNldFBhdGg7XG4gICAgZWxzZSBpZiAodGhpcy5ib3VuZCkgcGF0aCA9IGAke3RoaXMuc2NoZW1hLm5hbWVzcGFjZX0uJHt0aGlzLm5hbWV9YDtcbiAgICBlbHNlXG4gICAgICBwYXRoID0gdGhpcy5wYXJzZXIucmV0dXJuXG4gICAgICAgID8gdGhpcy5hcGkuZmluZEVudGl0eVNldEZvclR5cGUodGhpcy5wYXJzZXIucmV0dXJuLnR5cGUpPy5uYW1lIHx8XG4gICAgICAgICAgdGhpcy5uYW1lXG4gICAgICAgIDogdGhpcy5uYW1lO1xuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgdHlwZSh7IGFsaWFzID0gZmFsc2UgfTogeyBhbGlhcz86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgcmV0dXJuIGAke2FsaWFzID8gdGhpcy5zY2hlbWEuYWxpYXMgOiB0aGlzLnNjaGVtYS5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWA7XG4gIH1cblxuICBpc1R5cGVPZih0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuaXNUeXBlT2YodHlwZSk7XG4gIH1cblxuICBnZXQgYXBpKCkge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5hcGk7XG4gIH1cblxuICBjb25maWd1cmUoe1xuICAgIHBhcnNlckZvclR5cGUsXG4gIH06IHtcbiAgICBwYXJzZXJGb3JUeXBlOiAodHlwZTogc3RyaW5nKSA9PiBQYXJzZXI8YW55PjtcbiAgfSkge1xuICAgIHRoaXMucGFyc2VyLmNvbmZpZ3VyZSh7IG9wdGlvbnM6IHRoaXMuYXBpLm9wdGlvbnMsIHBhcnNlckZvclR5cGUgfSk7XG4gIH1cblxuICBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55LCBvcHRpb25zPzogT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSh2YWx1ZTogYW55LCBvcHRpb25zPzogT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnNlcmlhbGl6ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBlbmNvZGUodmFsdWU6IGFueSwgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5lbmNvZGUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG4gIGJpbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmJpbmRpbmcoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ODataEntitySet } from './entity-set';
|
|
2
|
-
import { ODataAnnotation } from './annotation';
|
|
3
|
-
export class ODataEntityContainer {
|
|
4
|
-
constructor(config, schema) {
|
|
5
|
-
this.schema = schema;
|
|
6
|
-
this.name = config.name;
|
|
7
|
-
this.entitySets = (config.entitySets || []).map((config) => new ODataEntitySet(config, schema));
|
|
8
|
-
this.annotations = (config.annotations || []).map((annot) => new ODataAnnotation(annot));
|
|
9
|
-
}
|
|
10
|
-
get api() {
|
|
11
|
-
return this.schema.api;
|
|
12
|
-
}
|
|
13
|
-
findAnnotation(predicate) {
|
|
14
|
-
return this.annotations.find(predicate);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zY2hlbWEvZW50aXR5LWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQixZQUFZLE1BQTZCLEVBQUUsTUFBbUI7UUFDNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDN0MsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FDL0MsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDL0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUE4QztRQUMzRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9EYXRhU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHsgRW50aXR5Q29udGFpbmVyQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHlTZXQgfSBmcm9tICcuL2VudGl0eS1zZXQnO1xuaW1wb3J0IHsgT0RhdGFBbm5vdGF0aW9uIH0gZnJvbSAnLi9hbm5vdGF0aW9uJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhRW50aXR5Q29udGFpbmVyIHtcbiAgc2NoZW1hOiBPRGF0YVNjaGVtYTtcbiAgbmFtZTogc3RyaW5nO1xuICBhbm5vdGF0aW9uczogT0RhdGFBbm5vdGF0aW9uW107XG4gIGVudGl0eVNldHM6IE9EYXRhRW50aXR5U2V0W107XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRW50aXR5Q29udGFpbmVyQ29uZmlnLCBzY2hlbWE6IE9EYXRhU2NoZW1hKSB7XG4gICAgdGhpcy5zY2hlbWEgPSBzY2hlbWE7XG4gICAgdGhpcy5uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgdGhpcy5lbnRpdHlTZXRzID0gKGNvbmZpZy5lbnRpdHlTZXRzIHx8IFtdKS5tYXAoXG4gICAgICAoY29uZmlnKSA9PiBuZXcgT0RhdGFFbnRpdHlTZXQoY29uZmlnLCBzY2hlbWEpXG4gICAgKTtcbiAgICB0aGlzLmFubm90YXRpb25zID0gKGNvbmZpZy5hbm5vdGF0aW9ucyB8fCBbXSkubWFwKFxuICAgICAgKGFubm90KSA9PiBuZXcgT0RhdGFBbm5vdGF0aW9uKGFubm90KVxuICAgICk7XG4gIH1cblxuICBnZXQgYXBpKCkge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5hcGk7XG4gIH1cblxuICBmaW5kQW5ub3RhdGlvbihwcmVkaWNhdGU6IChhbm5vdDogT0RhdGFBbm5vdGF0aW9uKSA9PiBib29sZWFuKSB7XG4gICAgcmV0dXJuIHRoaXMuYW5ub3RhdGlvbnMuZmluZChwcmVkaWNhdGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ODataAnnotation } from './annotation';
|
|
2
|
-
export class ODataEntitySet {
|
|
3
|
-
constructor(config, schema) {
|
|
4
|
-
this.schema = schema;
|
|
5
|
-
this.name = config.name;
|
|
6
|
-
this.entityType = config.entityType;
|
|
7
|
-
this.service = config.service;
|
|
8
|
-
this.annotations = (config.annotations || []).map((annot) => new ODataAnnotation(annot));
|
|
9
|
-
}
|
|
10
|
-
isTypeOf(type) {
|
|
11
|
-
var names = [`${this.schema.namespace}.${this.name}`];
|
|
12
|
-
if (this.schema.alias)
|
|
13
|
-
names.push(`${this.schema.alias}.${this.name}`);
|
|
14
|
-
return names.indexOf(type) !== -1;
|
|
15
|
-
}
|
|
16
|
-
get api() {
|
|
17
|
-
return this.schema.api;
|
|
18
|
-
}
|
|
19
|
-
findAnnotation(predicate) {
|
|
20
|
-
return this.annotations.find(predicate);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9zY2hlbWEvZW50aXR5LXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQVksTUFBdUIsRUFBRSxNQUFtQjtRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQy9DLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNuQixJQUFJLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBOEM7UUFDM0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YVNjaGVtYSB9IGZyb20gJy4vc2NoZW1hJztcbmltcG9ydCB7IEVudGl0eVNldENvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhQW5ub3RhdGlvbiB9IGZyb20gJy4vYW5ub3RhdGlvbic7XG5leHBvcnQgY2xhc3MgT0RhdGFFbnRpdHlTZXQge1xuICBzY2hlbWE6IE9EYXRhU2NoZW1hO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVudGl0eVR5cGU6IHN0cmluZztcbiAgc2VydmljZTogeyBuZXcgKC4uLnBhcmFtczogYW55W10pOiBhbnkgfTtcbiAgYW5ub3RhdGlvbnM6IE9EYXRhQW5ub3RhdGlvbltdO1xuICBjb25zdHJ1Y3Rvcihjb25maWc6IEVudGl0eVNldENvbmZpZywgc2NoZW1hOiBPRGF0YVNjaGVtYSkge1xuICAgIHRoaXMuc2NoZW1hID0gc2NoZW1hO1xuICAgIHRoaXMubmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMuZW50aXR5VHlwZSA9IGNvbmZpZy5lbnRpdHlUeXBlO1xuICAgIHRoaXMuc2VydmljZSA9IGNvbmZpZy5zZXJ2aWNlO1xuICAgIHRoaXMuYW5ub3RhdGlvbnMgPSAoY29uZmlnLmFubm90YXRpb25zIHx8IFtdKS5tYXAoXG4gICAgICAoYW5ub3QpID0+IG5ldyBPRGF0YUFubm90YXRpb24oYW5ub3QpXG4gICAgKTtcbiAgfVxuXG4gIGlzVHlwZU9mKHR5cGU6IHN0cmluZykge1xuICAgIHZhciBuYW1lcyA9IFtgJHt0aGlzLnNjaGVtYS5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWBdO1xuICAgIGlmICh0aGlzLnNjaGVtYS5hbGlhcykgbmFtZXMucHVzaChgJHt0aGlzLnNjaGVtYS5hbGlhc30uJHt0aGlzLm5hbWV9YCk7XG4gICAgcmV0dXJuIG5hbWVzLmluZGV4T2YodHlwZSkgIT09IC0xO1xuICB9XG5cbiAgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWEuYXBpO1xuICB9XG5cbiAgZmluZEFubm90YXRpb24ocHJlZGljYXRlOiAoYW5ub3Q6IE9EYXRhQW5ub3RhdGlvbikgPT4gYm9vbGVhbikge1xuICAgIHJldHVybiB0aGlzLmFubm90YXRpb25zLmZpbmQocHJlZGljYXRlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { ODataEnumTypeParser } from '../parsers';
|
|
2
|
-
import { ODataAnnotation } from './annotation';
|
|
3
|
-
export class ODataEnumType {
|
|
4
|
-
constructor(config, schema) {
|
|
5
|
-
this.schema = schema;
|
|
6
|
-
this.name = config.name;
|
|
7
|
-
this.members = config.members;
|
|
8
|
-
this.parser = new ODataEnumTypeParser(config, schema.namespace, schema.alias);
|
|
9
|
-
this.annotations = (config.annotations || []).map((annot) => new ODataAnnotation(annot));
|
|
10
|
-
}
|
|
11
|
-
type({ alias = false } = {}) {
|
|
12
|
-
return `${alias ? this.schema.alias : this.schema.namespace}.${this.name}`;
|
|
13
|
-
}
|
|
14
|
-
isTypeOf(type) {
|
|
15
|
-
return this.parser.isTypeOf(type);
|
|
16
|
-
}
|
|
17
|
-
get api() {
|
|
18
|
-
return this.schema.api;
|
|
19
|
-
}
|
|
20
|
-
configure() {
|
|
21
|
-
this.parser.configure({ options: this.api.options });
|
|
22
|
-
}
|
|
23
|
-
findAnnotation(predicate) {
|
|
24
|
-
return this.annotations.find(predicate);
|
|
25
|
-
}
|
|
26
|
-
fields() {
|
|
27
|
-
return this.parser.fields;
|
|
28
|
-
}
|
|
29
|
-
findFieldByName(name) {
|
|
30
|
-
return this.fields().find((f) => f.name === name);
|
|
31
|
-
}
|
|
32
|
-
findFieldByValue(value) {
|
|
33
|
-
return this.fields().find((f) => f.value === value);
|
|
34
|
-
}
|
|
35
|
-
fieldTitle(value, pattern) {
|
|
36
|
-
const resolveTitle = (field) => {
|
|
37
|
-
if (field !== undefined) {
|
|
38
|
-
if (pattern !== undefined) {
|
|
39
|
-
const annotation = field.findAnnotation((a) => pattern.test(a.term));
|
|
40
|
-
if (annotation !== undefined && annotation.string !== undefined) {
|
|
41
|
-
return annotation.string;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return field.name;
|
|
45
|
-
}
|
|
46
|
-
return '';
|
|
47
|
-
};
|
|
48
|
-
if (typeof value === 'number') {
|
|
49
|
-
return resolveTitle(this.findFieldByValue(value));
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return resolveTitle(this.findFieldByName(value));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
mapFields(mapper) {
|
|
56
|
-
return this.fields().map(mapper);
|
|
57
|
-
}
|
|
58
|
-
deserialize(value, options) {
|
|
59
|
-
return this.parser.deserialize(value, options);
|
|
60
|
-
}
|
|
61
|
-
serialize(value, options) {
|
|
62
|
-
return this.parser.serialize(value, options);
|
|
63
|
-
}
|
|
64
|
-
encode(value, options) {
|
|
65
|
-
return this.parser.encode(value, options);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9lbnVtLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUE0QixtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQVksTUFBeUIsRUFBRSxNQUFtQjtRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQkFBbUIsQ0FDbkMsTUFBTSxFQUNOLE1BQU0sQ0FBQyxTQUFTLEVBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDL0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEtBQTBCLEVBQUU7UUFDOUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsY0FBYyxDQUFDLFNBQThDO1FBQzNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBc0IsRUFBRSxPQUFnQjtRQUNqRCxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtZQUN4RCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3ZCLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtvQkFDekIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDckUsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO3dCQUMvRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUM7cUJBQzFCO2lCQUNGO2dCQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQzthQUNuQjtZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDO1FBQ0YsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbkQ7YUFBTTtZQUNMLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFRCxTQUFTLENBQUksTUFBOEM7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVSxFQUFFLE9BQWlCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBUSxFQUFFLE9BQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBUSxFQUFFLE9BQWlCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9EYXRhU2NoZW1hIH0gZnJvbSAnLi9zY2hlbWEnO1xuaW1wb3J0IHsgT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyLCBPRGF0YUVudW1UeXBlUGFyc2VyIH0gZnJvbSAnLi4vcGFyc2Vycyc7XG5pbXBvcnQgeyBFbnVtVHlwZUNvbmZpZywgT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhQW5ub3RhdGlvbiB9IGZyb20gJy4vYW5ub3RhdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YUVudW1UeXBlPEU+IHtcbiAgc2NoZW1hOiBPRGF0YVNjaGVtYTtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXJzZXI6IE9EYXRhRW51bVR5cGVQYXJzZXI8RT47XG4gIG1lbWJlcnM6IHsgW25hbWU6IHN0cmluZ106IG51bWJlciB9IHwgeyBbdmFsdWU6IG51bWJlcl06IHN0cmluZyB9O1xuICBhbm5vdGF0aW9uczogT0RhdGFBbm5vdGF0aW9uW107XG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogRW51bVR5cGVDb25maWc8RT4sIHNjaGVtYTogT0RhdGFTY2hlbWEpIHtcbiAgICB0aGlzLnNjaGVtYSA9IHNjaGVtYTtcbiAgICB0aGlzLm5hbWUgPSBjb25maWcubmFtZTtcbiAgICB0aGlzLm1lbWJlcnMgPSBjb25maWcubWVtYmVycztcbiAgICB0aGlzLnBhcnNlciA9IG5ldyBPRGF0YUVudW1UeXBlUGFyc2VyPEU+KFxuICAgICAgY29uZmlnLFxuICAgICAgc2NoZW1hLm5hbWVzcGFjZSxcbiAgICAgIHNjaGVtYS5hbGlhc1xuICAgICk7XG4gICAgdGhpcy5hbm5vdGF0aW9ucyA9IChjb25maWcuYW5ub3RhdGlvbnMgfHwgW10pLm1hcChcbiAgICAgIChhbm5vdCkgPT4gbmV3IE9EYXRhQW5ub3RhdGlvbihhbm5vdClcbiAgICApO1xuICB9XG5cbiAgdHlwZSh7IGFsaWFzID0gZmFsc2UgfTogeyBhbGlhcz86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgcmV0dXJuIGAke2FsaWFzID8gdGhpcy5zY2hlbWEuYWxpYXMgOiB0aGlzLnNjaGVtYS5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWA7XG4gIH1cblxuICBpc1R5cGVPZih0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuaXNUeXBlT2YodHlwZSk7XG4gIH1cblxuICBnZXQgYXBpKCkge1xuICAgIHJldHVybiB0aGlzLnNjaGVtYS5hcGk7XG4gIH1cblxuICBjb25maWd1cmUoKSB7XG4gICAgdGhpcy5wYXJzZXIuY29uZmlndXJlKHsgb3B0aW9uczogdGhpcy5hcGkub3B0aW9ucyB9KTtcbiAgfVxuXG4gIGZpbmRBbm5vdGF0aW9uKHByZWRpY2F0ZTogKGFubm90OiBPRGF0YUFubm90YXRpb24pID0+IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gdGhpcy5hbm5vdGF0aW9ucy5maW5kKHByZWRpY2F0ZSk7XG4gIH1cblxuICBmaWVsZHMoKTogT0RhdGFFbnVtVHlwZUZpZWxkUGFyc2VyW10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5maWVsZHM7XG4gIH1cblxuICBmaW5kRmllbGRCeU5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmluZCgoZikgPT4gZi5uYW1lID09PSBuYW1lKTtcbiAgfVxuXG4gIGZpbmRGaWVsZEJ5VmFsdWUodmFsdWU6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmZpZWxkcygpLmZpbmQoKGYpID0+IGYudmFsdWUgPT09IHZhbHVlKTtcbiAgfVxuXG4gIGZpZWxkVGl0bGUodmFsdWU6IG51bWJlciB8IHN0cmluZywgcGF0dGVybj86IFJlZ0V4cCkge1xuICAgIGNvbnN0IHJlc29sdmVUaXRsZSA9IChmaWVsZD86IE9EYXRhRW51bVR5cGVGaWVsZFBhcnNlcikgPT4ge1xuICAgICAgaWYgKGZpZWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHBhdHRlcm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnN0IGFubm90YXRpb24gPSBmaWVsZC5maW5kQW5ub3RhdGlvbigoYSkgPT4gcGF0dGVybi50ZXN0KGEudGVybSkpO1xuICAgICAgICAgIGlmIChhbm5vdGF0aW9uICE9PSB1bmRlZmluZWQgJiYgYW5ub3RhdGlvbi5zdHJpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGFubm90YXRpb24uc3RyaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmllbGQubmFtZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnJztcbiAgICB9O1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZVRpdGxlKHRoaXMuZmluZEZpZWxkQnlWYWx1ZSh2YWx1ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZVRpdGxlKHRoaXMuZmluZEZpZWxkQnlOYW1lKHZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgbWFwRmllbGRzPFQ+KG1hcHBlcjogKGZpZWxkOiBPRGF0YUVudW1UeXBlRmllbGRQYXJzZXIpID0+IFQpIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5tYXAobWFwcGVyKTtcbiAgfVxuXG4gIGRlc2VyaWFsaXplKHZhbHVlOiBhbnksIG9wdGlvbnM/OiBPcHRpb25zKTogRSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHNlcmlhbGl6ZSh2YWx1ZTogRSwgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5zZXJpYWxpemUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5jb2RlKHZhbHVlOiBFLCBvcHRpb25zPzogT3B0aW9ucyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmVuY29kZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { ODataStructuredType } from './structured-type';
|
|
2
|
-
import { ODataCallable } from './callable';
|
|
3
|
-
import { ODataEntityContainer } from './entity-container';
|
|
4
|
-
import { ODataEnumType } from './enum-type';
|
|
5
|
-
import { ODataAnnotation } from './annotation';
|
|
6
|
-
import { OData } from '../utils/odata';
|
|
7
|
-
export class ODataSchema {
|
|
8
|
-
constructor(config, api) {
|
|
9
|
-
this.api = api;
|
|
10
|
-
this.namespace = config.namespace;
|
|
11
|
-
this.alias = config.alias;
|
|
12
|
-
this.enums = (config.enums || []).map((config) => new ODataEnumType(config, this));
|
|
13
|
-
this.entities = (config.entities || []).map((config) => new ODataStructuredType(config, this));
|
|
14
|
-
this.callables = OData.mergeCallableParameters(config.callables || []).map((config) => new ODataCallable(config, this));
|
|
15
|
-
this.containers = (config.containers || []).map((config) => new ODataEntityContainer(config, this));
|
|
16
|
-
this.annotations = (config.annotations || []).map((config) => new ODataAnnotation(config));
|
|
17
|
-
}
|
|
18
|
-
isNamespaceOf(type) {
|
|
19
|
-
return (type.startsWith(this.namespace) ||
|
|
20
|
-
(this.alias && type.startsWith(this.alias)));
|
|
21
|
-
}
|
|
22
|
-
get entitySets() {
|
|
23
|
-
return this.containers.reduce((acc, container) => [...acc, ...container.entitySets], []);
|
|
24
|
-
}
|
|
25
|
-
findAnnotation(predicate) {
|
|
26
|
-
return this.annotations.find(predicate);
|
|
27
|
-
}
|
|
28
|
-
//#region Find for Type
|
|
29
|
-
findEnumTypeForType(type) {
|
|
30
|
-
return this.enums.find((e) => e.isTypeOf(type));
|
|
31
|
-
}
|
|
32
|
-
findStructuredTypeForType(type) {
|
|
33
|
-
return this.entities.find((e) => e.isTypeOf(type));
|
|
34
|
-
}
|
|
35
|
-
findCallableForType(type, bindingType) {
|
|
36
|
-
return this.callables.find((c) => {
|
|
37
|
-
var _a;
|
|
38
|
-
return c.isTypeOf(type) &&
|
|
39
|
-
(bindingType === undefined || bindingType === ((_a = c.binding()) === null || _a === void 0 ? void 0 : _a.type));
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
findEntitySetForType(type) {
|
|
43
|
-
return this.entitySets.find((e) => e.isTypeOf(type));
|
|
44
|
-
}
|
|
45
|
-
//#endregion
|
|
46
|
-
configure({ parserForType, findOptionsForType, }) {
|
|
47
|
-
// Configure Enums
|
|
48
|
-
this.enums.forEach((enu) => enu.configure());
|
|
49
|
-
// Configure Entities
|
|
50
|
-
this.entities.forEach((config) => config.configure({ parserForType, findOptionsForType }));
|
|
51
|
-
// Configure callables
|
|
52
|
-
this.callables.forEach((callable) => callable.configure({ parserForType }));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE1BQU0sT0FBTyxXQUFXO0lBVXRCLFlBQVksTUFBb0IsRUFBRSxHQUFhO1FBQzdDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ25DLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQzVDLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQ3pDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FDbEQsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcs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QUFDLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FDeEQsQ0FBQztRQUNGLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YVN0cnVjdHVyZWRUeXBlIH0gZnJvbSAnLi9zdHJ1Y3R1cmVkLXR5cGUnO1xuaW1wb3J0IHsgT0RhdGFDYWxsYWJsZSB9IGZyb20gJy4vY2FsbGFibGUnO1xuaW1wb3J0IHsgT0RhdGFFbnRpdHlDb250YWluZXIgfSBmcm9tICcuL2VudGl0eS1jb250YWluZXInO1xuaW1wb3J0IHsgT0RhdGFFbnVtVHlwZSB9IGZyb20gJy4vZW51bS10eXBlJztcbmltcG9ydCB7IE9EYXRhQXBpIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IFNjaGVtYUNvbmZpZywgUGFyc2VyLCBDYWxsYWJsZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9EYXRhRW50aXR5U2V0IH0gZnJvbSAnLi9lbnRpdHktc2V0JztcbmltcG9ydCB7IE9EYXRhQW5ub3RhdGlvbiB9IGZyb20gJy4vYW5ub3RhdGlvbic7XG5pbXBvcnQgeyBDQUxMQUJMRV9CSU5ESU5HX1BBUkFNRVRFUiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPYmplY3RzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgT0RhdGEgfSBmcm9tICcuLi91dGlscy9vZGF0YSc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YVNjaGVtYSB7XG4gIGFwaTogT0RhdGFBcGk7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBhbGlhcz86IHN0cmluZztcbiAgZW51bXM6IE9EYXRhRW51bVR5cGU8YW55PltdO1xuICBlbnRpdGllczogT0RhdGFTdHJ1Y3R1cmVkVHlwZTxhbnk+W107XG4gIGNhbGxhYmxlczogT0RhdGFDYWxsYWJsZTxhbnk+W107XG4gIGNvbnRhaW5lcnM6IE9EYXRhRW50aXR5Q29udGFpbmVyW107XG4gIGFubm90YXRpb25zOiBPRGF0YUFubm90YXRpb25bXTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IFNjaGVtYUNvbmZpZywgYXBpOiBPRGF0YUFwaSkge1xuICAgIHRoaXMuYXBpID0gYXBpO1xuICAgIHRoaXMubmFtZXNwYWNlID0gY29uZmlnLm5hbWVzcGFjZTtcbiAgICB0aGlzLmFsaWFzID0gY29uZmlnLmFsaWFzO1xuICAgIHRoaXMuZW51bXMgPSAoY29uZmlnLmVudW1zIHx8IFtdKS5tYXAoXG4gICAgICAoY29uZmlnKSA9PiBuZXcgT0RhdGFFbnVtVHlwZShjb25maWcsIHRoaXMpXG4gICAgKTtcbiAgICB0aGlzLmVudGl0aWVzID0gKGNvbmZpZy5lbnRpdGllcyB8fCBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhU3RydWN0dXJlZFR5cGUoY29uZmlnLCB0aGlzKVxuICAgICk7XG4gICAgdGhpcy5jYWxsYWJsZXMgPSBPRGF0YS5tZXJnZUNhbGxhYmxlUGFyYW1ldGVycyhjb25maWcuY2FsbGFibGVzIHx8IFtdKS5tYXAoXG4gICAgICAoY29uZmlnKSA9PiBuZXcgT0RhdGFDYWxsYWJsZShjb25maWcsIHRoaXMpXG4gICAgKTtcbiAgICB0aGlzLmNvbnRhaW5lcnMgPSAoY29uZmlnLmNvbnRhaW5lcnMgfHwgW10pLm1hcChcbiAgICAgIChjb25maWcpID0+IG5ldyBPRGF0YUVudGl0eUNvbnRhaW5lcihjb25maWcsIHRoaXMpXG4gICAgKTtcbiAgICB0aGlzLmFubm90YXRpb25zID0gKGNvbmZpZy5hbm5vdGF0aW9ucyB8fCBbXSkubWFwKFxuICAgICAgKGNvbmZpZykgPT4gbmV3IE9EYXRhQW5ub3RhdGlvbihjb25maWcpXG4gICAgKTtcbiAgfVxuXG4gIGlzTmFtZXNwYWNlT2YodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGUuc3RhcnRzV2l0aCh0aGlzLm5hbWVzcGFjZSkgfHxcbiAgICAgICh0aGlzLmFsaWFzICYmIHR5cGUuc3RhcnRzV2l0aCh0aGlzLmFsaWFzKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGVudGl0eVNldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVycy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjb250YWluZXIpID0+IFsuLi5hY2MsIC4uLmNvbnRhaW5lci5lbnRpdHlTZXRzXSxcbiAgICAgIFtdIGFzIE9EYXRhRW50aXR5U2V0W11cbiAgICApO1xuICB9XG5cbiAgZmluZEFubm90YXRpb24ocHJlZGljYXRlOiAoYW5ub3Q6IE9EYXRhQW5ub3RhdGlvbikgPT4gYm9vbGVhbikge1xuICAgIHJldHVybiB0aGlzLmFubm90YXRpb25zLmZpbmQocHJlZGljYXRlKTtcbiAgfVxuXG4gIC8vI3JlZ2lvbiBGaW5kIGZvciBUeXBlXG4gIHB1YmxpYyBmaW5kRW51bVR5cGVGb3JUeXBlPFQ+KHR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmVudW1zLmZpbmQoKGUpID0+IGUuaXNUeXBlT2YodHlwZSkpIGFzXG4gICAgICB8IE9EYXRhRW51bVR5cGU8VD5cbiAgICAgIHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGU8VD4odHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXRpZXMuZmluZCgoZSkgPT4gZS5pc1R5cGVPZih0eXBlKSkgYXNcbiAgICAgIHwgT0RhdGFTdHJ1Y3R1cmVkVHlwZTxUPlxuICAgICAgfCB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZmluZENhbGxhYmxlRm9yVHlwZTxUPih0eXBlOiBzdHJpbmcsIGJpbmRpbmdUeXBlPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbGFibGVzLmZpbmQoXG4gICAgICAoYykgPT5cbiAgICAgICAgYy5pc1R5cGVPZih0eXBlKSAmJlxuICAgICAgICAoYmluZGluZ1R5cGUgPT09IHVuZGVmaW5lZCB8fCBiaW5kaW5nVHlwZSA9PT0gYy5iaW5kaW5nKCk/LnR5cGUpXG4gICAgKSBhcyBPRGF0YUNhbGxhYmxlPFQ+IHwgdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGZpbmRFbnRpdHlTZXRGb3JUeXBlKHR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmVudGl0eVNldHMuZmluZCgoZSkgPT4gZS5pc1R5cGVPZih0eXBlKSk7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG5cbiAgY29uZmlndXJlKHtcbiAgICBwYXJzZXJGb3JUeXBlLFxuICAgIGZpbmRPcHRpb25zRm9yVHlwZSxcbiAgfToge1xuICAgIHBhcnNlckZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IFBhcnNlcjxhbnk+O1xuICAgIGZpbmRPcHRpb25zRm9yVHlwZTogKHR5cGU6IHN0cmluZykgPT4gYW55O1xuICB9KSB7XG4gICAgLy8gQ29uZmlndXJlIEVudW1zXG4gICAgdGhpcy5lbnVtcy5mb3JFYWNoKChlbnUpID0+IGVudS5jb25maWd1cmUoKSk7XG4gICAgLy8gQ29uZmlndXJlIEVudGl0aWVzXG4gICAgdGhpcy5lbnRpdGllcy5mb3JFYWNoKChjb25maWcpID0+XG4gICAgICBjb25maWcuY29uZmlndXJlKHsgcGFyc2VyRm9yVHlwZSwgZmluZE9wdGlvbnNGb3JUeXBlIH0pXG4gICAgKTtcbiAgICAvLyBDb25maWd1cmUgY2FsbGFibGVzXG4gICAgdGhpcy5jYWxsYWJsZXMuZm9yRWFjaCgoY2FsbGFibGUpID0+IGNhbGxhYmxlLmNvbmZpZ3VyZSh7IHBhcnNlckZvclR5cGUgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { ODataStructuredTypeParser, } from '../parsers';
|
|
2
|
-
import { ODataAnnotation } from './annotation';
|
|
3
|
-
export class ODataStructuredType {
|
|
4
|
-
constructor(config, schema) {
|
|
5
|
-
this.children = [];
|
|
6
|
-
this.schema = schema;
|
|
7
|
-
this.name = config.name;
|
|
8
|
-
this.base = config.base;
|
|
9
|
-
this.open = config.open || false;
|
|
10
|
-
this.parser = new ODataStructuredTypeParser(config, schema.namespace, schema.alias);
|
|
11
|
-
this.annotations = (config.annotations || []).map((annot) => new ODataAnnotation(annot));
|
|
12
|
-
this.model = config.model;
|
|
13
|
-
this.collection = config.collection;
|
|
14
|
-
if (this.model !== undefined) {
|
|
15
|
-
const options = this.model.hasOwnProperty('options')
|
|
16
|
-
? this.model.options
|
|
17
|
-
: { fields: {} };
|
|
18
|
-
this.model.buildMeta(options, this);
|
|
19
|
-
}
|
|
20
|
-
if (this.collection !== undefined) {
|
|
21
|
-
this.collection.model = this.model;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
get api() {
|
|
25
|
-
return this.schema.api;
|
|
26
|
-
}
|
|
27
|
-
configure({ parserForType, findOptionsForType, }) {
|
|
28
|
-
if (this.base) {
|
|
29
|
-
const parent = this.api.findStructuredTypeForType(this.base);
|
|
30
|
-
parent.children.push(this);
|
|
31
|
-
this.parent = parent;
|
|
32
|
-
}
|
|
33
|
-
this.parser.configure({ options: this.api.options, parserForType });
|
|
34
|
-
if (this.model !== undefined && this.model.options !== null) {
|
|
35
|
-
this.model.meta.configure({
|
|
36
|
-
findOptionsForType,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
type({ alias = false } = {}) {
|
|
41
|
-
return `${alias ? this.schema.alias : this.schema.namespace}.${this.name}`;
|
|
42
|
-
}
|
|
43
|
-
isTypeOf(type) {
|
|
44
|
-
return this.parser.isTypeOf(type);
|
|
45
|
-
}
|
|
46
|
-
isSimpleKey() {
|
|
47
|
-
return this.keys().length === 1;
|
|
48
|
-
}
|
|
49
|
-
isCompoundKey() {
|
|
50
|
-
return this.keys().length > 1;
|
|
51
|
-
}
|
|
52
|
-
findAnnotation(predicate) {
|
|
53
|
-
return this.annotations.find(predicate);
|
|
54
|
-
}
|
|
55
|
-
field(name) {
|
|
56
|
-
return this.fields().find((f) => f.name === name);
|
|
57
|
-
}
|
|
58
|
-
fields({ include_navigation = false, include_parents = true, } = {}) {
|
|
59
|
-
return [
|
|
60
|
-
...(include_parents && this.parent !== undefined
|
|
61
|
-
? this.parent.fields({ include_parents, include_navigation })
|
|
62
|
-
: []),
|
|
63
|
-
...this.parser.fields.filter((field) => include_navigation || !field.navigation),
|
|
64
|
-
];
|
|
65
|
-
}
|
|
66
|
-
keys({ include_parents = true, } = {}) {
|
|
67
|
-
return [
|
|
68
|
-
...(include_parents && this.parent !== undefined
|
|
69
|
-
? this.parent.keys({ include_parents })
|
|
70
|
-
: []),
|
|
71
|
-
...(this.parser.keys || []),
|
|
72
|
-
];
|
|
73
|
-
}
|
|
74
|
-
pick(value, { include_parents = true, include_navigation = false, include_etag = true, } = {}) {
|
|
75
|
-
const names = this.fields({ include_parents, include_navigation }).map((f) => f.name);
|
|
76
|
-
let attrs = Object.keys(value)
|
|
77
|
-
.filter((k) => names.indexOf(k) !== -1)
|
|
78
|
-
.reduce((acc, k) => Object.assign(acc, { [k]: value[k] }), {});
|
|
79
|
-
if (include_etag) {
|
|
80
|
-
const etag = this.api.options.helper.etag(value);
|
|
81
|
-
this.api.options.helper.etag(attrs, etag);
|
|
82
|
-
}
|
|
83
|
-
return attrs;
|
|
84
|
-
}
|
|
85
|
-
deserialize(value, options) {
|
|
86
|
-
return this.parser.deserialize(value, options);
|
|
87
|
-
}
|
|
88
|
-
serialize(value, options) {
|
|
89
|
-
return this.parser.serialize(value, options);
|
|
90
|
-
}
|
|
91
|
-
encode(value, options) {
|
|
92
|
-
return this.parser.encode(value, options);
|
|
93
|
-
}
|
|
94
|
-
resolveKey(attrs) {
|
|
95
|
-
return this.parser.resolveKey(attrs);
|
|
96
|
-
}
|
|
97
|
-
defaults() {
|
|
98
|
-
return this.parser.defaults();
|
|
99
|
-
}
|
|
100
|
-
toJsonSchema(options = {}) {
|
|
101
|
-
return this.parser.toJsonSchema(options);
|
|
102
|
-
}
|
|
103
|
-
validate(attrs, { method, navigation = false, } = {}) {
|
|
104
|
-
return this.parser.validate(attrs, { method, navigation });
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0dXJlZC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3NjaGVtYS9zdHJ1Y3R1cmVkLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUlMLHlCQUF5QixHQUMxQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFBWSxNQUErQixFQUFFLE1BQW1CO1FBTmhFLGFBQVEsR0FBK0IsRUFBRSxDQUFDO1FBT3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUkseUJBQXlCLENBQ3pDLE1BQU0sRUFDTixNQUFNLENBQUMsU0FBUyxFQUNoQixNQUFNLENBQUMsS0FBSyxDQUNiLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQy9DLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FDdEMsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQTBCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBb0MsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVCLE1BQU0sT0FBTyxH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TyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPRGF0YUNvbGxlY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgT0RhdGFNb2RlbCB9IGZyb20gJy4uL21vZGVscy9tb2RlbCc7XG5pbXBvcnQge1xuICBKc29uU2NoZW1hT3B0aW9ucyxcbiAgT0RhdGFFbnRpdHlUeXBlS2V5LFxuICBPRGF0YVN0cnVjdHVyZWRUeXBlRmllbGRQYXJzZXIsXG4gIE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIsXG59IGZyb20gJy4uL3BhcnNlcnMnO1xuaW1wb3J0IHsgT3B0aW9ucywgU3RydWN0dXJlZFR5cGVDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPRGF0YUFubm90YXRpb24gfSBmcm9tICcuL2Fubm90YXRpb24nO1xuaW1wb3J0IHsgT0RhdGFTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBjbGFzcyBPRGF0YVN0cnVjdHVyZWRUeXBlPFQ+IHtcbiAgbmFtZTogc3RyaW5nO1xuICBzY2hlbWE6IE9EYXRhU2NoZW1hO1xuICBiYXNlPzogc3RyaW5nO1xuICBvcGVuOiBib29sZWFuO1xuICBwYXJlbnQ/OiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gIGNoaWxkcmVuOiBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT5bXSA9IFtdO1xuICBtb2RlbD86IHR5cGVvZiBPRGF0YU1vZGVsO1xuICBjb2xsZWN0aW9uPzogdHlwZW9mIE9EYXRhQ29sbGVjdGlvbjtcbiAgcGFyc2VyOiBPRGF0YVN0cnVjdHVyZWRUeXBlUGFyc2VyPFQ+O1xuICBhbm5vdGF0aW9uczogT0RhdGFBbm5vdGF0aW9uW107XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBTdHJ1Y3R1cmVkVHlwZUNvbmZpZzxUPiwgc2NoZW1hOiBPRGF0YVNjaGVtYSkge1xuICAgIHRoaXMuc2NoZW1hID0gc2NoZW1hO1xuICAgIHRoaXMubmFtZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMuYmFzZSA9IGNvbmZpZy5iYXNlO1xuICAgIHRoaXMub3BlbiA9IGNvbmZpZy5vcGVuIHx8IGZhbHNlO1xuICAgIHRoaXMucGFyc2VyID0gbmV3IE9EYXRhU3RydWN0dXJlZFR5cGVQYXJzZXIoXG4gICAgICBjb25maWcsXG4gICAgICBzY2hlbWEubmFtZXNwYWNlLFxuICAgICAgc2NoZW1hLmFsaWFzXG4gICAgKTtcbiAgICB0aGlzLmFubm90YXRpb25zID0gKGNvbmZpZy5hbm5vdGF0aW9ucyB8fCBbXSkubWFwKFxuICAgICAgKGFubm90KSA9PiBuZXcgT0RhdGFBbm5vdGF0aW9uKGFubm90KVxuICAgICk7XG4gICAgdGhpcy5tb2RlbCA9IGNvbmZpZy5tb2RlbCBhcyB0eXBlb2YgT0RhdGFNb2RlbDtcbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25maWcuY29sbGVjdGlvbiBhcyB0eXBlb2YgT0RhdGFDb2xsZWN0aW9uO1xuICAgIGlmICh0aGlzLm1vZGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm1vZGVsLmhhc093blByb3BlcnR5KCdvcHRpb25zJylcbiAgICAgICAgPyB0aGlzLm1vZGVsLm9wdGlvbnNcbiAgICAgICAgOiB7IGZpZWxkczoge30gfTtcbiAgICAgIHRoaXMubW9kZWwuYnVpbGRNZXRhPFQ+KG9wdGlvbnMsIHRoaXMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb2xsZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbi5tb2RlbCA9IHRoaXMubW9kZWw7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGFwaSgpIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWEuYXBpO1xuICB9XG5cbiAgY29uZmlndXJlKHtcbiAgICBwYXJzZXJGb3JUeXBlLFxuICAgIGZpbmRPcHRpb25zRm9yVHlwZSxcbiAgfToge1xuICAgIHBhcnNlckZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IGFueTtcbiAgICBmaW5kT3B0aW9uc0ZvclR5cGU6ICh0eXBlOiBzdHJpbmcpID0+IGFueTtcbiAgfSkge1xuICAgIGlmICh0aGlzLmJhc2UpIHtcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuYXBpLmZpbmRTdHJ1Y3R1cmVkVHlwZUZvclR5cGUoXG4gICAgICAgIHRoaXMuYmFzZVxuICAgICAgKSBhcyBPRGF0YVN0cnVjdHVyZWRUeXBlPGFueT47XG4gICAgICBwYXJlbnQuY2hpbGRyZW4ucHVzaCh0aGlzKTtcbiAgICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICAgIH1cbiAgICB0aGlzLnBhcnNlci5jb25maWd1cmUoeyBvcHRpb25zOiB0aGlzLmFwaS5vcHRpb25zLCBwYXJzZXJGb3JUeXBlIH0pO1xuICAgIGlmICh0aGlzLm1vZGVsICE9PSB1bmRlZmluZWQgJiYgdGhpcy5tb2RlbC5vcHRpb25zICE9PSBudWxsKSB7XG4gICAgICB0aGlzLm1vZGVsLm1ldGEuY29uZmlndXJlKHtcbiAgICAgICAgZmluZE9wdGlvbnNGb3JUeXBlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdHlwZSh7IGFsaWFzID0gZmFsc2UgfTogeyBhbGlhcz86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgcmV0dXJuIGAke2FsaWFzID8gdGhpcy5zY2hlbWEuYWxpYXMgOiB0aGlzLnNjaGVtYS5uYW1lc3BhY2V9LiR7dGhpcy5uYW1lfWA7XG4gIH1cblxuICBpc1R5cGVPZih0eXBlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuaXNUeXBlT2YodHlwZSk7XG4gIH1cblxuICBpc1NpbXBsZUtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoID09PSAxO1xuICB9XG5cbiAgaXNDb21wb3VuZEtleSgpIHtcbiAgICByZXR1cm4gdGhpcy5rZXlzKCkubGVuZ3RoID4gMTtcbiAgfVxuXG4gIGZpbmRBbm5vdGF0aW9uKHByZWRpY2F0ZTogKGFubm90OiBPRGF0YUFubm90YXRpb24pID0+IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gdGhpcy5hbm5vdGF0aW9ucy5maW5kKHByZWRpY2F0ZSk7XG4gIH1cblxuICBmaWVsZChuYW1lOiBrZXlvZiBUKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmluZCgoZikgPT4gZi5uYW1lID09PSBuYW1lKTtcbiAgfVxuXG4gIGZpZWxkcyh7XG4gICAgaW5jbHVkZV9uYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgaW5jbHVkZV9wYXJlbnRzID0gdHJ1ZSxcbiAgfToge1xuICAgIGluY2x1ZGVfcGFyZW50cz86IGJvb2xlYW47XG4gICAgaW5jbHVkZV9uYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgfSA9IHt9KTogT0RhdGFTdHJ1Y3R1cmVkVHlwZUZpZWxkUGFyc2VyPGFueT5bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLihpbmNsdWRlX3BhcmVudHMgJiYgdGhpcy5wYXJlbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHRoaXMucGFyZW50LmZpZWxkcyh7IGluY2x1ZGVfcGFyZW50cywgaW5jbHVkZV9uYXZpZ2F0aW9uIH0pXG4gICAgICAgIDogW10pLFxuICAgICAgLi4udGhpcy5wYXJzZXIuZmllbGRzLmZpbHRlcihcbiAgICAgICAgKGZpZWxkKSA9PiBpbmNsdWRlX25hdmlnYXRpb24gfHwgIWZpZWxkLm5hdmlnYXRpb25cbiAgICAgICksXG4gICAgXTtcbiAgfVxuXG4gIGtleXMoe1xuICAgIGluY2x1ZGVfcGFyZW50cyA9IHRydWUsXG4gIH06IHtcbiAgICBpbmNsdWRlX3BhcmVudHM/OiBib29sZWFuO1xuICB9ID0ge30pOiBPRGF0YUVudGl0eVR5cGVLZXlbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLihpbmNsdWRlX3BhcmVudHMgJiYgdGhpcy5wYXJlbnQgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHRoaXMucGFyZW50LmtleXMoeyBpbmNsdWRlX3BhcmVudHMgfSlcbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4odGhpcy5wYXJzZXIua2V5cyB8fCBbXSksXG4gICAgXTtcbiAgfVxuXG4gIHBpY2soXG4gICAgdmFsdWU6IHsgW25hbWU6IHN0cmluZ106IGFueSB9LFxuICAgIHtcbiAgICAgIGluY2x1ZGVfcGFyZW50cyA9IHRydWUsXG4gICAgICBpbmNsdWRlX25hdmlnYXRpb24gPSBmYWxzZSxcbiAgICAgIGluY2x1ZGVfZXRhZyA9IHRydWUsXG4gICAgfToge1xuICAgICAgaW5jbHVkZV9wYXJlbnRzPzogYm9vbGVhbjtcbiAgICAgIGluY2x1ZGVfbmF2aWdhdGlvbj86IGJvb2xlYW47XG4gICAgICBpbmNsdWRlX2V0YWc/OiBib29sZWFuO1xuICAgIH0gPSB7fVxuICApOiBQYXJ0aWFsPFQ+IHtcbiAgICBjb25zdCBuYW1lcyA9IHRoaXMuZmllbGRzKHsgaW5jbHVkZV9wYXJlbnRzLCBpbmNsdWRlX25hdmlnYXRpb24gfSkubWFwKFxuICAgICAgKGYpID0+IGYubmFtZVxuICAgICk7XG4gICAgbGV0IGF0dHJzID0gT2JqZWN0LmtleXModmFsdWUpXG4gICAgICAuZmlsdGVyKChrKSA9PiBuYW1lcy5pbmRleE9mKGspICE9PSAtMSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgaykgPT4gT2JqZWN0LmFzc2lnbihhY2MsIHsgW2tdOiB2YWx1ZVtrXSB9KSwge30pO1xuICAgIGlmIChpbmNsdWRlX2V0YWcpIHtcbiAgICAgIGNvbnN0IGV0YWcgPSB0aGlzLmFwaS5vcHRpb25zLmhlbHBlci5ldGFnKHZhbHVlKTtcbiAgICAgIHRoaXMuYXBpLm9wdGlvbnMuaGVscGVyLmV0YWcoYXR0cnMsIGV0YWcpO1xuICAgIH1cbiAgICByZXR1cm4gYXR0cnM7XG4gIH1cblxuICBkZXNlcmlhbGl6ZSh2YWx1ZTogYW55LCBvcHRpb25zPzogT3B0aW9ucyk6IFQge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5kZXNlcmlhbGl6ZSh2YWx1ZSwgb3B0aW9ucyk7XG4gIH1cblxuICBzZXJpYWxpemUodmFsdWU6IFQsIG9wdGlvbnM/OiBPcHRpb25zKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIuc2VyaWFsaXplKHZhbHVlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuY29kZSh2YWx1ZTogVCwgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5lbmNvZGUodmFsdWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcmVzb2x2ZUtleShhdHRyczogVCB8IHsgW25hbWU6IHN0cmluZ106IGFueSB9KSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnJlc29sdmVLZXkoYXR0cnMpO1xuICB9XG5cbiAgZGVmYXVsdHMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLmRlZmF1bHRzKCk7XG4gIH1cblxuICB0b0pzb25TY2hlbWEob3B0aW9uczogSnNvblNjaGVtYU9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci50b0pzb25TY2hlbWEob3B0aW9ucyk7XG4gIH1cblxuICB2YWxpZGF0ZShcbiAgICBhdHRyczogUGFydGlhbDxUPixcbiAgICB7XG4gICAgICBtZXRob2QsXG4gICAgICBuYXZpZ2F0aW9uID0gZmFsc2UsXG4gICAgfToge1xuICAgICAgbWV0aG9kPzogJ2NyZWF0ZScgfCAndXBkYXRlJyB8ICdwYXRjaCc7XG4gICAgICBuYXZpZ2F0aW9uPzogYm9vbGVhbjtcbiAgICB9ID0ge31cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VyLnZhbGlkYXRlKGF0dHJzLCB7IG1ldGhvZCwgbmF2aWdhdGlvbiB9KTtcbiAgfVxufVxuIl19
|