angular-odata 0.124.0 → 0.126.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 +2 -2
- package/esm2022/lib/api.mjs +3 -2
- package/esm2022/lib/cache/storage.mjs +3 -3
- package/esm2022/lib/client.mjs +3 -3
- package/esm2022/lib/constants.mjs +2 -1
- package/esm2022/lib/helper.mjs +2 -2
- package/esm2022/lib/models/collection.mjs +147 -193
- package/esm2022/lib/models/model.mjs +141 -119
- package/esm2022/lib/models/options.mjs +115 -88
- package/esm2022/lib/resources/path/segments.mjs +13 -7
- package/esm2022/lib/resources/query/expressions/base.mjs +8 -3
- package/esm2022/lib/resources/query/expressions/compute.mjs +19 -4
- package/esm2022/lib/resources/query/expressions/count.mjs +24 -7
- package/esm2022/lib/resources/query/expressions/expand.mjs +30 -8
- package/esm2022/lib/resources/query/expressions/filter.mjs +29 -12
- package/esm2022/lib/resources/query/expressions/orderby.mjs +31 -8
- package/esm2022/lib/resources/query/expressions/search.mjs +30 -11
- package/esm2022/lib/resources/query/expressions/select.mjs +16 -4
- package/esm2022/lib/resources/query/expressions/syntax.mjs +185 -31
- package/esm2022/lib/resources/query/handlers.mjs +2 -2
- package/esm2022/lib/resources/query/index.mjs +2 -1
- package/esm2022/lib/resources/query/options.mjs +22 -12
- package/esm2022/lib/resources/request.mjs +4 -3
- package/esm2022/lib/resources/resource.mjs +39 -15
- package/esm2022/lib/resources/responses/annotations.mjs +1 -1
- package/esm2022/lib/resources/responses/response.mjs +3 -3
- package/esm2022/lib/resources/types/batch.mjs +2 -2
- package/esm2022/lib/resources/types/count.mjs +7 -4
- package/esm2022/lib/resources/types/entity-set.mjs +2 -1
- package/esm2022/lib/resources/types/entity.mjs +5 -5
- package/esm2022/lib/resources/types/function.mjs +1 -9
- package/esm2022/lib/resources/types/navigation-property.mjs +3 -2
- package/esm2022/lib/resources/types/options.mjs +1 -1
- package/esm2022/lib/resources/types/property.mjs +11 -3
- package/esm2022/lib/schema/parsers/structured-type.mjs +5 -4
- package/esm2022/lib/schema/structured-type.mjs +13 -2
- package/esm2022/lib/utils/enums.mjs +1 -1
- package/fesm2022/angular-odata.mjs +3873 -3536
- package/fesm2022/angular-odata.mjs.map +1 -1
- package/lib/api.d.ts +2 -2
- package/lib/client.d.ts +1 -1
- package/lib/constants.d.ts +1 -0
- package/lib/helper.d.ts +10 -10
- package/lib/models/collection.d.ts +18 -20
- package/lib/models/model.d.ts +14 -13
- package/lib/models/options.d.ts +38 -13
- package/lib/resources/path/segments.d.ts +8 -11
- package/lib/resources/query/expressions/base.d.ts +6 -3
- package/lib/resources/query/expressions/compute.d.ts +13 -2
- package/lib/resources/query/expressions/count.d.ts +15 -4
- package/lib/resources/query/expressions/expand.d.ts +15 -4
- package/lib/resources/query/expressions/filter.d.ts +15 -4
- package/lib/resources/query/expressions/orderby.d.ts +16 -4
- package/lib/resources/query/expressions/search.d.ts +14 -5
- package/lib/resources/query/expressions/select.d.ts +11 -2
- package/lib/resources/query/expressions/syntax.d.ts +65 -16
- package/lib/resources/query/handlers.d.ts +1 -1
- package/lib/resources/query/index.d.ts +1 -0
- package/lib/resources/query/options.d.ts +4 -3
- package/lib/resources/request.d.ts +3 -2
- package/lib/resources/resource.d.ts +10 -5
- package/lib/resources/responses/annotations.d.ts +9 -9
- package/lib/resources/responses/response.d.ts +2 -2
- package/lib/resources/types/count.d.ts +5 -1
- package/lib/resources/types/function.d.ts +0 -3
- package/lib/resources/types/options.d.ts +2 -1
- package/lib/resources/types/property.d.ts +2 -0
- package/lib/schema/parsers/structured-type.d.ts +1 -0
- package/lib/schema/structured-type.d.ts +2 -1
- package/lib/utils/enums.d.ts +7 -7
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { PathSegment } from '../../types';
|
|
|
3
3
|
import { Objects } from '../../utils';
|
|
4
4
|
import { buildPathAndQuery, raw } from '../query';
|
|
5
5
|
import { SegmentHandler } from './handlers';
|
|
6
|
-
function pathSegmentsBuilder(segment, escape = false, parser) {
|
|
6
|
+
function pathSegmentsBuilder(segment, escape = false, parser, options) {
|
|
7
7
|
if (segment.name === PathSegment.function) {
|
|
8
8
|
let [path, params] = segment.parameters
|
|
9
9
|
? buildPathAndQuery({
|
|
@@ -14,9 +14,15 @@ function pathSegmentsBuilder(segment, escape = false, parser) {
|
|
|
14
14
|
if (path.startsWith(PATH_SEPARATOR)) {
|
|
15
15
|
path = path.slice(1);
|
|
16
16
|
}
|
|
17
|
+
// HACK: Remove parenthesis
|
|
18
|
+
if (path.endsWith('()') &&
|
|
19
|
+
options?.nonParenthesisForEmptyParameterFunction) {
|
|
20
|
+
path = path.substring(0, path.length - 2);
|
|
21
|
+
}
|
|
17
22
|
return [path, params];
|
|
18
23
|
}
|
|
19
24
|
else {
|
|
25
|
+
//TODO: Parser key
|
|
20
26
|
let key = segment.key;
|
|
21
27
|
// HACK: Check guid string
|
|
22
28
|
if (typeof key === 'string' &&
|
|
@@ -31,9 +37,9 @@ export class ODataPathSegments {
|
|
|
31
37
|
constructor(segments) {
|
|
32
38
|
this._segments = segments || [];
|
|
33
39
|
}
|
|
34
|
-
pathAndParams({ escape, parser, } = {}) {
|
|
40
|
+
pathAndParams({ escape, parser, options, } = {}) {
|
|
35
41
|
const result = this._segments.reduce((acc, segment) => {
|
|
36
|
-
const [path, params] = pathSegmentsBuilder(segment, escape, parser);
|
|
42
|
+
const [path, params] = pathSegmentsBuilder(segment, escape, parser, options);
|
|
37
43
|
acc.paths.push(path);
|
|
38
44
|
acc.params = Object.assign(acc.params, params);
|
|
39
45
|
return acc;
|
|
@@ -60,15 +66,15 @@ export class ODataPathSegments {
|
|
|
60
66
|
}
|
|
61
67
|
return segments.map((s) => s.key());
|
|
62
68
|
}
|
|
63
|
-
toString({ escape
|
|
64
|
-
const [path, params] = this.pathAndParams({ escape
|
|
69
|
+
toString({ escape } = {}) {
|
|
70
|
+
const [path, params] = this.pathAndParams({ escape });
|
|
65
71
|
return (path +
|
|
66
72
|
Object.entries(params)
|
|
67
73
|
.filter(([, value]) => value)
|
|
68
74
|
.map(([key, value]) => `${key}=${value}`)
|
|
69
75
|
.join('&'));
|
|
70
76
|
}
|
|
71
|
-
|
|
77
|
+
toJson() {
|
|
72
78
|
return this._segments.map((s) => {
|
|
73
79
|
let json = {
|
|
74
80
|
name: s.name,
|
|
@@ -121,4 +127,4 @@ export class ODataPathSegments {
|
|
|
121
127
|
return new SegmentHandler(segment);
|
|
122
128
|
}
|
|
123
129
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3BhdGgvc2VnbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBVSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFVNUMsU0FBUyxtQkFBbUIsQ0FDMUIsT0FBcUIsRUFDckIsU0FBa0IsS0FBSyxFQUN2QixNQUFvQjtJQUVwQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLFFBQVEsRUFBRTtRQUN6QyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVO1lBQ3JDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDaEIsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDNUMsTUFBTTthQUNQLENBQUM7WUFDSixDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNuQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDdkI7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QUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDekUsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUM1QixNQUFNLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQWtCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksT0FBTyxLQUFLLFNBQVM7WUFDdkIsTUFBTSxLQUFLLENBQUMsdUJBQXVCLElBQUksWUFBWSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQQVRIX1NFUEFSQVRPUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQYXJzZXIsIFBhdGhTZWdtZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT2JqZWN0cyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGJ1aWxkUGF0aEFuZFF1ZXJ5LCByYXcgfSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBFbnRpdHlLZXkgfSBmcm9tICcuLi9yZXNvdXJjZSc7XG5pbXBvcnQgeyBTZWdtZW50SGFuZGxlciB9IGZyb20gJy4vaGFuZGxlcnMnO1xuXG5leHBvcnQgdHlwZSBPRGF0YVNlZ21lbnQgPSB7XG4gIG5hbWU6IFBhdGhTZWdtZW50O1xuICBwYXRoOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGtleT86IGFueTtcbiAgcGFyYW1ldGVycz86IGFueTtcbn07XG5cbmZ1bmN0aW9uIHBhdGhTZWdtZW50c0J1aWxkZXIoXG4gIHNlZ21lbnQ6IE9EYXRhU2VnbWVudCxcbiAgZXNjYXBlOiBib29sZWFuID0gZmFsc2UsXG4gIHBhcnNlcj86IFBhcnNlcjxhbnk+LFxuKTogW3N0cmluZywgeyBbbmFtZTogc3RyaW5nXTogYW55IH1dIHtcbiAgaWYgKHNlZ21lbnQubmFtZSA9PT0gUGF0aFNlZ21lbnQuZnVuY3Rpb24pIHtcbiAgICBsZXQgW3BhdGgsIHBhcmFtc10gPSBzZWdtZW50LnBhcmFtZXRlcnNcbiAgICAgID8gYnVpbGRQYXRoQW5kUXVlcnkoe1xuICAgICAgICAgIGZ1bmM6IHsgW3NlZ21lbnQucGF0aF06IHNlZ21lbnQucGFyYW1ldGVycyB9LFxuICAgICAgICAgIGVzY2FwZSxcbiAgICAgICAgfSlcbiAgICAgIDogYnVpbGRQYXRoQW5kUXVlcnkoeyBmdW5jOiBzZWdtZW50LnBhdGgsIGVzY2FwZSB9KTtcbiAgICBpZiAocGF0aC5zdGFydHNXaXRoKFBBVEhfU0VQQVJBVE9SKSkge1xuICAgICAgcGF0aCA9IHBhdGguc2xpY2UoMSk7XG4gICAgfVxuICAgIHJldHVybiBbcGF0aCwgcGFyYW1zXTtcbiAgfSBlbHNlIHtcbiAgICBsZXQga2V5ID0gc2VnbWVudC5rZXk7XG4gICAgLy8gSEFDSzogQ2hlY2sgZ3VpZCBzdHJpbmdcbiAgICBpZiAoXG4gICAgICB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgL15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kLy50ZXN0KFxuICAgICAgICBrZXksXG4gICAgICApXG4gICAgKSB7XG4gICAgICBrZXkgPSByYXcoa2V5KTtcbiAgICB9XG4gICAgbGV0IFtwYXRoLCBwYXJhbXNdID0ga2V5ID8gYnVpbGRQYXRoQW5kUXVlcnkoeyBrZXksIGVzY2FwZSB9KSA6IFsnJywge31dO1xuICAgIHJldHVybiBbc2VnbWVudC5wYXRoICsgcGF0aCwgcGFyYW1zXTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT0RhdGFQYXRoU2VnbWVudHMge1xuICBwcml2YXRlIF9zZWdtZW50czogT0RhdGFTZWdtZW50W107XG5cbiAgY29uc3RydWN0b3Ioc2VnbWVudHM/OiBPRGF0YVNlZ21lbnRbXSkge1xuICAgIHRoaXMuX3NlZ21lbnRzID0gc2VnbWVudHMgfHwgW107XG4gIH1cblxuICBwYXRoQW5kUGFyYW1zKHtcbiAgICBlc2NhcGUsXG4gICAgcGFyc2VyLFxuICB9OiB7IGVzY2FwZT86IGJvb2xlYW47IHBhcnNlcj86IFBhcnNlcjxhbnk+IH0gPSB7fSk6IFtcbiAgICBzdHJpbmcsXG4gICAgeyBbbmFtZTogc3RyaW5nXTogYW55IH0sXG4gIF0ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3NlZ21lbnRzLnJlZHVjZShcbiAgICAgIChhY2MsIHNlZ21lbnQpID0+IHtcbiAgICAgICAgY29uc3QgW3BhdGgsIHBhcmFtc10gPSBwYXRoU2VnbWVudHNCdWlsZGVyKHNlZ21lbnQsIGVzY2FwZSwgcGFyc2VyKTtcbiAgICAgICAgYWNjLnBhdGhzLnB1c2gocGF0aCk7XG4gICAgICAgIGFjYy5wYXJhbXMgPSBPYmplY3QuYXNzaWduKGFjYy5wYXJhbXMsIHBhcmFtcyk7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAgeyBwYXRoczogW10gYXMgc3RyaW5nW10sIHBhcmFtczoge30gYXMgeyBbbmFtZTogc3RyaW5nXTogYW55IH0gfSxcbiAgICApO1xuICAgIHJldHVybiBbcmVzdWx0LnBhdGhzLmpvaW4oUEFUSF9TRVBBUkFUT1IpLCByZXN1bHQucGFyYW1zXTtcbiAgfVxuXG4gIHR5cGVzKHsga2V5ID0gZmFsc2UgfTogeyBrZXk/OiBib29sZWFuIH0gPSB7fSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5zZWdtZW50cyh7IGtleSB9KVxuICAgICAgLm1hcCgocykgPT4gcy50eXBlKCkpXG4gICAgICAuZmlsdGVyKCh0KSA9PiB0ICE9PSB1bmRlZmluZWQpIGFzIHN0cmluZ1tdO1xuICB9XG5cbiAga2V5cyh2YWx1ZXM/OiAoRW50aXR5S2V5PGFueT4gfCB1bmRlZmluZWQpW10pIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMuc2VnbWVudHMoeyBrZXk6IHRydWUgfSk7XG4gICAgaWYgKHZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzZWdtZW50cy5mb3JFYWNoKChzZWdtZW50LCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSB2YWx1ZXNbaW5kZXhdO1xuICAgICAgICBpZiAoa2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzZWdtZW50LmNsZWFyS2V5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2VnbWVudC5rZXkoa2V5KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBzZWdtZW50cy5tYXAoKHMpID0+IHMua2V5KCkgYXMgRW50aXR5S2V5PGFueT4gfCB1bmRlZmluZWQpO1xuICB9XG5cbiAgdG9TdHJpbmcoe1xuICAgIGVzY2FwZSxcbiAgICBwYXJzZXIsXG4gIH06IHsgZXNjYXBlPzogYm9vbGVhbjsgcGFyc2VyPzogUGFyc2VyPGFueT4gfSA9IHt9KTogc3RyaW5nIHtcbiAgICBjb25zdCBbcGF0aCwgcGFyYW1zXSA9IHRoaXMucGF0aEFuZFBhcmFtcyh7IGVzY2FwZSwgcGFyc2VyIH0pO1xuICAgIHJldHVybiAoXG4gICAgICBwYXRoICtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcylcbiAgICAgICAgLmZpbHRlcigoWywgdmFsdWVdKSA9PiB2YWx1ZSlcbiAgICAgICAgLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgJHtrZXl9PSR7dmFsdWV9YClcbiAgICAgICAgLmpvaW4oJyYnKVxuICAgICk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlZ21lbnRzLm1hcCgocykgPT4ge1xuICAgICAgbGV0IGpzb24gPSB7XG4gICAgICAgIG5hbWU6IHMubmFtZSBhcyBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHMucGF0aCxcbiAgICAgIH0gYXMgYW55O1xuICAgICAgaWYgKHMudHlwZSAhPT0gdW5kZWZpbmVkKSBqc29uLnR5cGUgPSBzLnR5cGU7XG4gICAgICBpZiAocy5rZXkgIT09IHVuZGVmaW5lZCkganNvbi5rZXkgPSBzLmtleTtcbiAgICAgIGlmIChzLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkganNvbi5wYXJhbWV0ZXJzID0gcy5wYXJhbWV0ZXJzO1xuICAgICAgcmV0dXJuIGpzb247XG4gICAgfSk7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IE9iamVjdHMuY2xvbmUodGhpcy5fc2VnbWVudHMpO1xuICAgIHJldHVybiBuZXcgT0RhdGFQYXRoU2VnbWVudHMoc2VnbWVudHMpO1xuICB9XG5cbiAgZmluZChwcmVkaWNhdGU6IChzZWdtZW50OiBPRGF0YVNlZ21lbnQpID0+IGJvb2xlYW4pIHtcbiAgICAvL0JhY2t3YXJkIEZpbmRcbiAgICByZXR1cm4gWy4uLnRoaXMuX3NlZ21lbnRzXS5yZXZlcnNlKCkuZmluZChwcmVkaWNhdGUpO1xuICB9XG5cbiAgc2VnbWVudHMoeyBrZXkgPSBmYWxzZSB9OiB7IGtleT86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgbGV0IHNlZ21lbnRzID0gWy4uLnRoaXMuX3NlZ21lbnRzXTtcbiAgICBpZiAoa2V5KVxuICAgICAgc2VnbWVudHMgPSBzZWdtZW50cy5maWx0ZXIoXG4gICAgICAgIChzKSA9PlxuICAgICAgICAgIFtcbiAgICAgICAgICAgIFBhdGhTZWdtZW50LmVudGl0eVNldCxcbiAgICAgICAgICAgIFBhdGhTZWdtZW50Lm5hdmlnYXRpb25Qcm9wZXJ0eSxcbiAgICAgICAgICAgIFBhdGhTZWdtZW50LnByb3BlcnR5LFxuICAgICAgICAgIF0uaW5kZXhPZihzLm5hbWUpICE9PSAtMSxcbiAgICAgICk7XG4gICAgcmV0dXJuIHNlZ21lbnRzLm1hcCgocykgPT4gbmV3IFNlZ21lbnRIYW5kbGVyKHMpKTtcbiAgfVxuXG4gIGZpcnN0KHsga2V5ID0gZmFsc2UgfTogeyBrZXk/OiBib29sZWFuIH0gPSB7fSkge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5zZWdtZW50cyh7IGtleSB9KTtcbiAgICByZXR1cm4gc2VnbWVudHMubGVuZ3RoID4gMCA/IHNlZ21lbnRzWzBdIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgbGFzdCh7IGtleSA9IGZhbHNlIH06IHsga2V5PzogYm9vbGVhbiB9ID0ge30pIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMuc2VnbWVudHMoeyBrZXkgfSk7XG4gICAgcmV0dXJuIHNlZ21lbnRzLmxlbmd0aCA+IDAgPyBzZWdtZW50c1tzZWdtZW50cy5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGFkZChuYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHNlZ21lbnQgPSB7IG5hbWUsIHBhdGggfSBhcyBPRGF0YVNlZ21lbnQ7XG4gICAgdGhpcy5fc2VnbWVudHMucHVzaChzZWdtZW50KTtcbiAgICByZXR1cm4gbmV3IFNlZ21lbnRIYW5kbGVyKHNlZ21lbnQpO1xuICB9XG5cbiAgZ2V0KG5hbWU6IHN0cmluZykge1xuICAgIGxldCBzZWdtZW50ID0gdGhpcy5maW5kKChzKSA9PiBzLm5hbWUgPT09IG5hbWUpO1xuICAgIGlmIChzZWdtZW50ID09PSB1bmRlZmluZWQpXG4gICAgICB0aHJvdyBFcnJvcihgTm8gU2VnbWVudCBmb3IgbmFtZSAke25hbWV9IHdhcyBmb3VuZGApO1xuICAgIHJldHVybiBuZXcgU2VnbWVudEhhbmRsZXIoc2VnbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3BhdGgvc2VnbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBeUIsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBVTVDLFNBQVMsbUJBQW1CLENBQzFCLE9BQXFCLEVBQ3JCLFNBQWtCLEtBQUssRUFDdkIsTUFBb0IsRUFDcEIsT0FBdUI7SUFFdkIsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxRQUFRLEVBQUU7UUFDekMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVTtZQUNyQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hCLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQzVDLE1BQU07YUFDUCxDQUFDO1lBQ0osQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEI7UUFDRCwyQkFBMkI7UUFDM0IsSUFDRSxJQUFJLENBQUMs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QU8sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsS0FBSyxLQUF3QixFQUFFO1FBQzFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDekUsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUM1QixNQUFNLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQWtCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksT0FBTyxLQUFLLFNBQVM7WUFDdkIsTUFBTSxLQUFLLENBQUMsdUJBQXVCLElBQUksWUFBWSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQQVRIX1NFUEFSQVRPUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck9wdGlvbnMsIFBhdGhTZWdtZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT2JqZWN0cyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGJ1aWxkUGF0aEFuZFF1ZXJ5LCByYXcgfSBmcm9tICcuLi9xdWVyeSc7XG5pbXBvcnQgeyBFbnRpdHlLZXkgfSBmcm9tICcuLi9yZXNvdXJjZSc7XG5pbXBvcnQgeyBTZWdtZW50SGFuZGxlciB9IGZyb20gJy4vaGFuZGxlcnMnO1xuXG5leHBvcnQgdHlwZSBPRGF0YVNlZ21lbnQgPSB7XG4gIG5hbWU6IFBhdGhTZWdtZW50O1xuICBwYXRoOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGtleT86IGFueTtcbiAgcGFyYW1ldGVycz86IGFueTtcbn07XG5cbmZ1bmN0aW9uIHBhdGhTZWdtZW50c0J1aWxkZXIoXG4gIHNlZ21lbnQ6IE9EYXRhU2VnbWVudCxcbiAgZXNjYXBlOiBib29sZWFuID0gZmFsc2UsXG4gIHBhcnNlcj86IFBhcnNlcjxhbnk+LFxuICBvcHRpb25zPzogUGFyc2VyT3B0aW9ucyxcbik6IFtzdHJpbmcsIHsgW25hbWU6IHN0cmluZ106IGFueSB9XSB7XG4gIGlmIChzZWdtZW50Lm5hbWUgPT09IFBhdGhTZWdtZW50LmZ1bmN0aW9uKSB7XG4gICAgbGV0IFtwYXRoLCBwYXJhbXNdID0gc2VnbWVudC5wYXJhbWV0ZXJzXG4gICAgICA/IGJ1aWxkUGF0aEFuZFF1ZXJ5KHtcbiAgICAgICAgICBmdW5jOiB7IFtzZWdtZW50LnBhdGhdOiBzZWdtZW50LnBhcmFtZXRlcnMgfSxcbiAgICAgICAgICBlc2NhcGUsXG4gICAgICAgIH0pXG4gICAgICA6IGJ1aWxkUGF0aEFuZFF1ZXJ5KHsgZnVuYzogc2VnbWVudC5wYXRoLCBlc2NhcGUgfSk7XG4gICAgaWYgKHBhdGguc3RhcnRzV2l0aChQQVRIX1NFUEFSQVRPUikpIHtcbiAgICAgIHBhdGggPSBwYXRoLnNsaWNlKDEpO1xuICAgIH1cbiAgICAvLyBIQUNLOiBSZW1vdmUgcGFyZW50aGVzaXNcbiAgICBpZiAoXG4gICAgICBwYXRoLmVuZHNXaXRoKCcoKScpICYmXG4gICAgICBvcHRpb25zPy5ub25QYXJlbnRoZXNpc0ZvckVtcHR5UGFyYW1ldGVyRnVuY3Rpb25cbiAgICApIHtcbiAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDIpO1xuICAgIH1cblxuICAgIHJldHVybiBbcGF0aCwgcGFyYW1zXTtcbiAgfSBlbHNlIHtcbiAgICAvL1RPRE86IFBhcnNlciBrZXlcbiAgICBsZXQga2V5ID0gc2VnbWVudC5rZXk7XG4gICAgLy8gSEFDSzogQ2hlY2sgZ3VpZCBzdHJpbmdcbiAgICBpZiAoXG4gICAgICB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgL15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kLy50ZXN0KFxuICAgICAgICBrZXksXG4gICAgICApXG4gICAgKSB7XG4gICAgICBrZXkgPSByYXcoa2V5KTtcbiAgICB9XG4gICAgbGV0IFtwYXRoLCBwYXJhbXNdID0ga2V5ID8gYnVpbGRQYXRoQW5kUXVlcnkoeyBrZXksIGVzY2FwZSB9KSA6IFsnJywge31dO1xuICAgIHJldHVybiBbc2VnbWVudC5wYXRoICsgcGF0aCwgcGFyYW1zXTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT0RhdGFQYXRoU2VnbWVudHMge1xuICBwcml2YXRlIF9zZWdtZW50czogT0RhdGFTZWdtZW50W107XG5cbiAgY29uc3RydWN0b3Ioc2VnbWVudHM/OiBPRGF0YVNlZ21lbnRbXSkge1xuICAgIHRoaXMuX3NlZ21lbnRzID0gc2VnbWVudHMgfHwgW107XG4gIH1cblxuICBwYXRoQW5kUGFyYW1zKHtcbiAgICBlc2NhcGUsXG4gICAgcGFyc2VyLFxuICAgIG9wdGlvbnMsXG4gIH06IHtcbiAgICBlc2NhcGU/OiBib29sZWFuO1xuICAgIHBhcnNlcj86IFBhcnNlcjxhbnk+O1xuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuICB9ID0ge30pOiBbc3RyaW5nLCB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfV0ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3NlZ21lbnRzLnJlZHVjZShcbiAgICAgIChhY2MsIHNlZ21lbnQpID0+IHtcbiAgICAgICAgY29uc3QgW3BhdGgsIHBhcmFtc10gPSBwYXRoU2VnbWVudHNCdWlsZGVyKFxuICAgICAgICAgIHNlZ21lbnQsXG4gICAgICAgICAgZXNjYXBlLFxuICAgICAgICAgIHBhcnNlcixcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICApO1xuICAgICAgICBhY2MucGF0aHMucHVzaChwYXRoKTtcbiAgICAgICAgYWNjLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24oYWNjLnBhcmFtcywgcGFyYW1zKTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICB7IHBhdGhzOiBbXSBhcyBzdHJpbmdbXSwgcGFyYW1zOiB7fSBhcyB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB9LFxuICAgICk7XG4gICAgcmV0dXJuIFtyZXN1bHQucGF0aHMuam9pbihQQVRIX1NFUEFSQVRPUiksIHJlc3VsdC5wYXJhbXNdO1xuICB9XG5cbiAgdHlwZXMoeyBrZXkgPSBmYWxzZSB9OiB7IGtleT86IGJvb2xlYW4gfSA9IHt9KTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLnNlZ21lbnRzKHsga2V5IH0pXG4gICAgICAubWFwKChzKSA9PiBzLnR5cGUoKSlcbiAgICAgIC5maWx0ZXIoKHQpID0+IHQgIT09IHVuZGVmaW5lZCkgYXMgc3RyaW5nW107XG4gIH1cblxuICBrZXlzKHZhbHVlcz86IChFbnRpdHlLZXk8YW55PiB8IHVuZGVmaW5lZClbXSkge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5zZWdtZW50cyh7IGtleTogdHJ1ZSB9KTtcbiAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHNlZ21lbnRzLmZvckVhY2goKHNlZ21lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IHZhbHVlc1tpbmRleF07XG4gICAgICAgIGlmIChrZXkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHNlZ21lbnQuY2xlYXJLZXkoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZWdtZW50LmtleShrZXkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNlZ21lbnRzLm1hcCgocykgPT4gcy5rZXkoKSBhcyBFbnRpdHlLZXk8YW55PiB8IHVuZGVmaW5lZCk7XG4gIH1cblxuICB0b1N0cmluZyh7IGVzY2FwZSB9OiB7IGVzY2FwZT86IGJvb2xlYW4gfSA9IHt9KTogc3RyaW5nIHtcbiAgICBjb25zdCBbcGF0aCwgcGFyYW1zXSA9IHRoaXMucGF0aEFuZFBhcmFtcyh7IGVzY2FwZSB9KTtcbiAgICByZXR1cm4gKFxuICAgICAgcGF0aCArXG4gICAgICBPYmplY3QuZW50cmllcyhwYXJhbXMpXG4gICAgICAgIC5maWx0ZXIoKFssIHZhbHVlXSkgPT4gdmFsdWUpXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlfWApXG4gICAgICAgIC5qb2luKCcmJylcbiAgICApO1xuICB9XG5cbiAgdG9Kc29uKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWdtZW50cy5tYXAoKHMpID0+IHtcbiAgICAgIGxldCBqc29uID0ge1xuICAgICAgICBuYW1lOiBzLm5hbWUgYXMgc3RyaW5nLFxuICAgICAgICBwYXRoOiBzLnBhdGgsXG4gICAgICB9IGFzIGFueTtcbiAgICAgIGlmIChzLnR5cGUgIT09IHVuZGVmaW5lZCkganNvbi50eXBlID0gcy50eXBlO1xuICAgICAgaWYgKHMua2V5ICE9PSB1bmRlZmluZWQpIGpzb24ua2V5ID0gcy5rZXk7XG4gICAgICBpZiAocy5wYXJhbWV0ZXJzICE9PSB1bmRlZmluZWQpIGpzb24ucGFyYW1ldGVycyA9IHMucGFyYW1ldGVycztcbiAgICAgIHJldHVybiBqc29uO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSBPYmplY3RzLmNsb25lKHRoaXMuX3NlZ21lbnRzKTtcbiAgICByZXR1cm4gbmV3IE9EYXRhUGF0aFNlZ21lbnRzKHNlZ21lbnRzKTtcbiAgfVxuXG4gIGZpbmQocHJlZGljYXRlOiAoc2VnbWVudDogT0RhdGFTZWdtZW50KSA9PiBib29sZWFuKSB7XG4gICAgLy9CYWNrd2FyZCBGaW5kXG4gICAgcmV0dXJuIFsuLi50aGlzLl9zZWdtZW50c10ucmV2ZXJzZSgpLmZpbmQocHJlZGljYXRlKTtcbiAgfVxuXG4gIHNlZ21lbnRzKHsga2V5ID0gZmFsc2UgfTogeyBrZXk/OiBib29sZWFuIH0gPSB7fSkge1xuICAgIGxldCBzZWdtZW50cyA9IFsuLi50aGlzLl9zZWdtZW50c107XG4gICAgaWYgKGtleSlcbiAgICAgIHNlZ21lbnRzID0gc2VnbWVudHMuZmlsdGVyKFxuICAgICAgICAocykgPT5cbiAgICAgICAgICBbXG4gICAgICAgICAgICBQYXRoU2VnbWVudC5lbnRpdHlTZXQsXG4gICAgICAgICAgICBQYXRoU2VnbWVudC5uYXZpZ2F0aW9uUHJvcGVydHksXG4gICAgICAgICAgICBQYXRoU2VnbWVudC5wcm9wZXJ0eSxcbiAgICAgICAgICBdLmluZGV4T2Yocy5uYW1lKSAhPT0gLTEsXG4gICAgICApO1xuICAgIHJldHVybiBzZWdtZW50cy5tYXAoKHMpID0+IG5ldyBTZWdtZW50SGFuZGxlcihzKSk7XG4gIH1cblxuICBmaXJzdCh7IGtleSA9IGZhbHNlIH06IHsga2V5PzogYm9vbGVhbiB9ID0ge30pIHtcbiAgICBjb25zdCBzZWdtZW50cyA9IHRoaXMuc2VnbWVudHMoeyBrZXkgfSk7XG4gICAgcmV0dXJuIHNlZ21lbnRzLmxlbmd0aCA+IDAgPyBzZWdtZW50c1swXSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGxhc3QoeyBrZXkgPSBmYWxzZSB9OiB7IGtleT86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgY29uc3Qgc2VnbWVudHMgPSB0aGlzLnNlZ21lbnRzKHsga2V5IH0pO1xuICAgIHJldHVybiBzZWdtZW50cy5sZW5ndGggPiAwID8gc2VnbWVudHNbc2VnbWVudHMubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBhZGQobmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWdtZW50ID0geyBuYW1lLCBwYXRoIH0gYXMgT0RhdGFTZWdtZW50O1xuICAgIHRoaXMuX3NlZ21lbnRzLnB1c2goc2VnbWVudCk7XG4gICAgcmV0dXJuIG5ldyBTZWdtZW50SGFuZGxlcihzZWdtZW50KTtcbiAgfVxuXG4gIGdldChuYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgc2VnbWVudCA9IHRoaXMuZmluZCgocykgPT4gcy5uYW1lID09PSBuYW1lKTtcbiAgICBpZiAoc2VnbWVudCA9PT0gdW5kZWZpbmVkKVxuICAgICAgdGhyb3cgRXJyb3IoYE5vIFNlZ21lbnQgZm9yIG5hbWUgJHtuYW1lfSB3YXMgZm91bmRgKTtcbiAgICByZXR1cm4gbmV3IFNlZ21lbnRIYW5kbGVyKHNlZ21lbnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Types } from '../../../utils';
|
|
1
2
|
export class Expression {
|
|
2
3
|
constructor({ children, } = {}) {
|
|
3
4
|
this._children = children || [];
|
|
@@ -11,10 +12,14 @@ export class Expression {
|
|
|
11
12
|
length() {
|
|
12
13
|
return this._children.length;
|
|
13
14
|
}
|
|
14
|
-
|
|
15
|
+
toJson() {
|
|
15
16
|
return {
|
|
16
|
-
|
|
17
|
+
$type: Types.rawType(this),
|
|
18
|
+
children: this._children.map((c) => c.toJson()),
|
|
17
19
|
};
|
|
18
20
|
}
|
|
21
|
+
resolve(parser) {
|
|
22
|
+
return parser;
|
|
23
|
+
}
|
|
19
24
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9yZXNvdXJjZXMvcXVlcnkvZXhwcmVzc2lvbnMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdkMsTUFBTSxPQUFnQixVQUFVO0lBRTlCLFlBQVksRUFDVixRQUFRLE1BR04sRUFBRTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEIsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQWtCRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDMUIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBVztRQUNqQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZXIsIFBhcnNlck9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUXVlcnlDdXN0b21UeXBlIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBSZW5kZXJhYmxlIH0gZnJvbSAnLi9zeW50YXgnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXhwcmVzc2lvbjxUPiBpbXBsZW1lbnRzIFJlbmRlcmFibGUge1xuICBwcm90ZWN0ZWQgX2NoaWxkcmVuOiBSZW5kZXJhYmxlW107XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBjaGlsZHJlbixcbiAgfToge1xuICAgIGNoaWxkcmVuPzogUmVuZGVyYWJsZVtdO1xuICB9ID0ge30pIHtcbiAgICB0aGlzLl9jaGlsZHJlbiA9IGNoaWxkcmVuIHx8IFtdO1xuICB9XG5cbiAgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCkge1xuICAgIHJldHVybiAnRXhwcmVzc2lvbic7XG4gIH1cblxuICBhYnN0cmFjdCByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gICAgb3B0aW9ucyxcbiAgfToge1xuICAgIGFsaWFzZXM/OiBRdWVyeUN1c3RvbVR5cGVbXTtcbiAgICBlc2NhcGU/OiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICBwYXJzZXI/OiBQYXJzZXI8VD47XG4gICAgb3B0aW9ucz86IFBhcnNlck9wdGlvbnM7XG4gIH0pOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgY2xvbmUoKTogRXhwcmVzc2lvbjxUPjtcblxuICBjaGlsZHJlbigpIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW47XG4gIH1cblxuICBsZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NoaWxkcmVuLmxlbmd0aDtcbiAgfVxuXG4gIHRvSnNvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJHR5cGU6IFR5cGVzLnJhd1R5cGUodGhpcyksXG4gICAgICBjaGlsZHJlbjogdGhpcy5fY2hpbGRyZW4ubWFwKChjKSA9PiBjLnRvSnNvbigpKSxcbiAgICB9O1xuICB9XG5cbiAgcmVzb2x2ZShwYXJzZXI6IGFueSkge1xuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,18 +1,33 @@
|
|
|
1
1
|
import { Expression } from './base';
|
|
2
|
-
import { FieldFactory, functions, operators, } from './syntax';
|
|
2
|
+
import { FieldFactory, functions, operators, RenderableFactory, } from './syntax';
|
|
3
3
|
export class ComputeExpression extends Expression {
|
|
4
4
|
constructor({ children, names, } = {}) {
|
|
5
5
|
super({ children });
|
|
6
6
|
this.names = names || [];
|
|
7
7
|
}
|
|
8
|
+
get [Symbol.toStringTag]() {
|
|
9
|
+
return 'ComputeExpression';
|
|
10
|
+
}
|
|
8
11
|
static compute(opts, current) {
|
|
9
12
|
return opts({
|
|
10
13
|
t: FieldFactory(),
|
|
11
14
|
e: () => new ComputeExpression(),
|
|
12
15
|
}, current);
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
toJson() {
|
|
18
|
+
const json = super.toJson();
|
|
19
|
+
return Object.assign(json, {
|
|
20
|
+
names: this.names,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static fromJson(json) {
|
|
24
|
+
return new ComputeExpression({
|
|
25
|
+
children: json['children'].map((c) => RenderableFactory(c)),
|
|
26
|
+
names: json['names'],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
render({ aliases, escape, prefix, parser, options, } = {}) {
|
|
30
|
+
let children = this._children.map((n) => n.render({ aliases, escape, prefix, parser, options }));
|
|
16
31
|
return this.names
|
|
17
32
|
.map((name, index) => `${children[index]} as ${name}`)
|
|
18
33
|
.join(',');
|
|
@@ -36,4 +51,4 @@ export class ComputeExpression extends Expression {
|
|
|
36
51
|
return this._add(name, node);
|
|
37
52
|
}
|
|
38
53
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9yZXNvdXJjZXMvcXVlcnkvZXhwcmVzc2lvbnMvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUdULFNBQVMsRUFFVCxpQkFBaUIsR0FDbEIsTUFBTSxVQUFVLENBQUM7QUFNbEIsTUFBTSxPQUFPLGlCQUFxQixTQUFRLFVBQWE7SUFFckQsWUFBWSxFQUNWLFFBQVEsRUFDUixLQUFLLE1BSUgsRUFBRTtRQUNKLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QixPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUNaLElBR3lCLEVBQ3pCLE9BQThCO1FBRTlCLE9BQU8sSUFBSSxDQUNUO1lBQ0UsQ0FBQyxFQUFFLFlBQVksRUFBeUI7WUFDeEMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksaUJBQWlCLEVBQUs7U0FDcEMsRUFDRCxPQUFPLENBQ2dCLENBQUM7SUFDNUIsQ0FBQztJQUVRLE1BQU07UUFDYixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtZQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUksSUFBNkI7UUFDOUMsT0FBTyxJQUFJLGlCQUFpQixDQUFJO1lBQzlCLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLE9BQU8sTUFPTCxFQUFFO1FBQ0osSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQ3ZELENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7YUFDckQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksaUJBQWlCLENBQUk7WUFDOUIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUMsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxJQUFJLENBQUMsSUFBWSxFQUFFLElBQWdCO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FDSCxJQUFZLEVBQ1osSUFBdUU7UUFFdkUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLENBQUMsRUFBRSxTQUE4QjtZQUNqQyxDQUFDLEVBQUUsU0FBOEI7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZXIsIFBhcnNlck9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUXVlcnlDdXN0b21UeXBlIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBFeHByZXNzaW9uIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7XG4gIEZpZWxkRmFjdG9yeSxcbiAgZnVuY3Rpb25zLFxuICBPRGF0YUZ1bmN0aW9ucyxcbiAgT0RhdGFPcGVyYXRvcnMsXG4gIG9wZXJhdG9ycyxcbiAgUmVuZGVyYWJsZSxcbiAgUmVuZGVyYWJsZUZhY3RvcnksXG59IGZyb20gJy4vc3ludGF4JztcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZUV4cHJlc3Npb25CdWlsZGVyPFQ+ID0ge1xuICB0OiBSZXF1aXJlZDxSZWFkb25seTxUPj47XG4gIGU6ICgpID0+IENvbXB1dGVFeHByZXNzaW9uPFQ+O1xufTtcbmV4cG9ydCBjbGFzcyBDb21wdXRlRXhwcmVzc2lvbjxUPiBleHRlbmRzIEV4cHJlc3Npb248VD4ge1xuICBuYW1lczogc3RyaW5nW107XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBjaGlsZHJlbixcbiAgICBuYW1lcyxcbiAgfToge1xuICAgIGNoaWxkcmVuPzogUmVuZGVyYWJsZVtdO1xuICAgIG5hbWVzPzogc3RyaW5nW107XG4gIH0gPSB7fSkge1xuICAgIHN1cGVyKHsgY2hpbGRyZW4gfSk7XG4gICAgdGhpcy5uYW1lcyA9IG5hbWVzIHx8IFtdO1xuICB9XG5cbiAgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCkge1xuICAgIHJldHVybiAnQ29tcHV0ZUV4cHJlc3Npb24nO1xuICB9XG5cbiAgc3RhdGljIGNvbXB1dGU8VD4oXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogQ29tcHV0ZUV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IENvbXB1dGVFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gQ29tcHV0ZUV4cHJlc3Npb248VD4sXG4gICAgY3VycmVudD86IENvbXB1dGVFeHByZXNzaW9uPFQ+LFxuICApOiBDb21wdXRlRXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG9wdHMoXG4gICAgICB7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZWFkb25seTxSZXF1aXJlZDxUPj4+KCksXG4gICAgICAgIGU6ICgpID0+IG5ldyBDb21wdXRlRXhwcmVzc2lvbjxUPigpLFxuICAgICAgfSxcbiAgICAgIGN1cnJlbnQsXG4gICAgKSBhcyBDb21wdXRlRXhwcmVzc2lvbjxUPjtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSnNvbigpIHtcbiAgICBjb25zdCBqc29uID0gc3VwZXIudG9Kc29uKCk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oanNvbiwge1xuICAgICAgbmFtZXM6IHRoaXMubmFtZXMsXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpzb248VD4oanNvbjogeyBbbmFtZTogc3RyaW5nXTogYW55IH0pOiBDb21wdXRlRXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG5ldyBDb21wdXRlRXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjoganNvblsnY2hpbGRyZW4nXS5tYXAoKGM6IGFueSkgPT4gUmVuZGVyYWJsZUZhY3RvcnkoYykpLFxuICAgICAgbmFtZXM6IGpzb25bJ25hbWVzJ10sXG4gICAgfSk7XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gICAgb3B0aW9ucyxcbiAgfToge1xuICAgIGFsaWFzZXM/OiBRdWVyeUN1c3RvbVR5cGVbXTtcbiAgICBlc2NhcGU/OiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICBwYXJzZXI/OiBQYXJzZXI8VD47XG4gICAgb3B0aW9ucz86IFBhcnNlck9wdGlvbnM7XG4gIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgbGV0IGNoaWxkcmVuID0gdGhpcy5fY2hpbGRyZW4ubWFwKChuKSA9PlxuICAgICAgbi5yZW5kZXIoeyBhbGlhc2VzLCBlc2NhcGUsIHByZWZpeCwgcGFyc2VyLCBvcHRpb25zIH0pLFxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMubmFtZXNcbiAgICAgIC5tYXAoKG5hbWUsIGluZGV4KSA9PiBgJHtjaGlsZHJlbltpbmRleF19IGFzICR7bmFtZX1gKVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgQ29tcHV0ZUV4cHJlc3Npb248VD4oe1xuICAgICAgY2hpbGRyZW46IHRoaXMuX2NoaWxkcmVuLm1hcCgoYykgPT4gYy5jbG9uZSgpKSxcbiAgICAgIG5hbWVzOiBbLi4udGhpcy5uYW1lc10sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hZGQobmFtZTogc3RyaW5nLCBub2RlOiBSZW5kZXJhYmxlKTogQ29tcHV0ZUV4cHJlc3Npb248YW55PiB7XG4gICAgdGhpcy5uYW1lcy5wdXNoKG5hbWUpO1xuICAgIHRoaXMuX2NoaWxkcmVuLnB1c2gobm9kZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmaWVsZDxUPihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb3B0czogKGU6IHsgbzogT0RhdGFPcGVyYXRvcnM8VD47IGY6IE9EYXRhRnVuY3Rpb25zPFQ+IH0pID0+IFJlbmRlcmFibGUsXG4gICk6IENvbXB1dGVFeHByZXNzaW9uPFQ+IHtcbiAgICBjb25zdCBub2RlID0gb3B0cyh7XG4gICAgICBvOiBvcGVyYXRvcnMgYXMgT0RhdGFPcGVyYXRvcnM8VD4sXG4gICAgICBmOiBmdW5jdGlvbnMgYXMgT0RhdGFGdW5jdGlvbnM8VD4sXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChuYW1lLCBub2RlKTtcbiAgfVxufVxuIl19
|
|
@@ -2,7 +2,7 @@ import { QueryOption } from '../../../types';
|
|
|
2
2
|
import { Objects, Types } from '../../../utils';
|
|
3
3
|
import { Expression } from './base';
|
|
4
4
|
import { FilterExpression } from './filter';
|
|
5
|
-
import { render, FieldFactory } from './syntax';
|
|
5
|
+
import { render, FieldFactory, RenderableFactory } from './syntax';
|
|
6
6
|
export class CountField {
|
|
7
7
|
constructor(field, values = {}) {
|
|
8
8
|
this.field = field;
|
|
@@ -11,12 +11,12 @@ export class CountField {
|
|
|
11
11
|
get [Symbol.toStringTag]() {
|
|
12
12
|
return 'CountField';
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
toJson() {
|
|
15
15
|
return {
|
|
16
|
-
field: this.field.
|
|
16
|
+
field: this.field.toJson(),
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
render({ aliases, escape, prefix, parser, }) {
|
|
19
|
+
render({ aliases, escape, prefix, parser, options, }) {
|
|
20
20
|
const params = [
|
|
21
21
|
QueryOption.filter,
|
|
22
22
|
QueryOption.search,
|
|
@@ -30,6 +30,7 @@ export class CountField {
|
|
|
30
30
|
prefix,
|
|
31
31
|
escape,
|
|
32
32
|
parser,
|
|
33
|
+
options,
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
36
|
return Object.assign(acc, { [key]: value });
|
|
@@ -39,6 +40,7 @@ export class CountField {
|
|
|
39
40
|
escape,
|
|
40
41
|
prefix,
|
|
41
42
|
parser,
|
|
43
|
+
options,
|
|
42
44
|
})}/$count`;
|
|
43
45
|
if (!Types.isEmpty(params)) {
|
|
44
46
|
count = `${count}(${Object.keys(params)
|
|
@@ -54,6 +56,9 @@ export class CountField {
|
|
|
54
56
|
const values = Object.keys(this.values).reduce((acc, key) => Object.assign(acc, { [key]: Objects.clone(this.values[key]) }), {});
|
|
55
57
|
return new CountField(this.field.clone(), values);
|
|
56
58
|
}
|
|
59
|
+
resolve(parser) {
|
|
60
|
+
return parser;
|
|
61
|
+
}
|
|
57
62
|
// Option Handler
|
|
58
63
|
option(name, opts) {
|
|
59
64
|
if (opts !== undefined)
|
|
@@ -65,6 +70,9 @@ export class CountExpression extends Expression {
|
|
|
65
70
|
constructor({ children, } = {}) {
|
|
66
71
|
super({ children });
|
|
67
72
|
}
|
|
73
|
+
get [Symbol.toStringTag]() {
|
|
74
|
+
return 'CountExpression';
|
|
75
|
+
}
|
|
68
76
|
static count(opts, current) {
|
|
69
77
|
return opts({
|
|
70
78
|
t: FieldFactory(),
|
|
@@ -75,9 +83,18 @@ export class CountExpression extends Expression {
|
|
|
75
83
|
this._children.push(node);
|
|
76
84
|
return this;
|
|
77
85
|
}
|
|
78
|
-
|
|
86
|
+
toJson() {
|
|
87
|
+
const json = super.toJson();
|
|
88
|
+
return Object.assign(json, {});
|
|
89
|
+
}
|
|
90
|
+
static fromJson(json) {
|
|
91
|
+
return new CountExpression({
|
|
92
|
+
children: json['children'].map((c) => RenderableFactory(c)),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
render({ aliases, escape, prefix, parser, options, } = {}) {
|
|
79
96
|
let content = this._children
|
|
80
|
-
.map((n) => n.render({ aliases, escape, prefix, parser }))
|
|
97
|
+
.map((n) => n.render({ aliases, escape, prefix, parser, options }))
|
|
81
98
|
.join(`,`);
|
|
82
99
|
return content;
|
|
83
100
|
}
|
|
@@ -96,4 +113,4 @@ export class CountExpression extends Expression {
|
|
|
96
113
|
return this._add(countField);
|
|
97
114
|
}
|
|
98
115
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3F1ZXJ5L2V4cHJlc3Npb25zL2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUU1RCxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNZLEtBQVUsRUFDWixTQUFrQyxFQUFFO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUE4QjtJQUMzQyxDQUFDO0lBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEIsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxHQU1QO1FBQ0MsTUFBTSxNQUFNLEdBQThCO1lBQ3hDLFdBQVcsQ0FBQyxNQUFNO1lBQ2xCLFdBQVcsQ0FBQyxNQUFNO1NBQ25CO2FBQ0UsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FB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LElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sTUFNSixFQUFFO1FBQ0osSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxlQUFlLENBQUk7WUFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FDSCxLQUFVLEVBQ1YsSUFBNEQ7UUFFNUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUksS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLEtBQUssU0FBUztZQUNwQixJQUFJLENBQUM7Z0JBQ0gsQ0FBQyxFQUFFLFlBQVksRUFBeUI7Z0JBQ3hDLENBQUMsRUFBRSxVQUFVO2FBQ2QsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlciwgUXVlcnlPcHRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBPYmplY3RzLCBUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUXVlcnlDdXN0b21UeXBlIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBFeHByZXNzaW9uIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb24sIEZpbHRlckV4cHJlc3Npb25CdWlsZGVyIH0gZnJvbSAnLi9maWx0ZXInO1xuaW1wb3J0IHsgcmVuZGVyLCBGaWVsZEZhY3RvcnksIFJlbmRlcmFibGUgfSBmcm9tICcuL3N5bnRheCc7XG5cbmV4cG9ydCBjbGFzcyBDb3VudEZpZWxkPFQ+IGltcGxlbWVudHMgUmVuZGVyYWJsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmaWVsZDogYW55LFxuICAgIHByaXZhdGUgdmFsdWVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9LFxuICApIHt9XG5cbiAgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCkge1xuICAgIHJldHVybiAnQ291bnRGaWVsZCc7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLnRvSlNPTigpLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSBbXG4gICAgICBRdWVyeU9wdGlvbi5maWx0ZXIsXG4gICAgICBRdWVyeU9wdGlvbi5zZWFyY2gsXG4gICAgXVxuICAgICAgLmZpbHRlcigoa2V5KSA9PiAhVHlwZXMuaXNFbXB0eSh0aGlzLnZhbHVlc1trZXldKSlcbiAgICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGxldCB2YWx1ZTogYW55ID0gdGhpcy52YWx1ZXNba2V5XTtcbiAgICAgICAgaWYgKFR5cGVzLnJhd1R5cGUodmFsdWUpLmVuZHNXaXRoKCdFeHByZXNzaW9uJykpIHtcbiAgICAgICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyBFeHByZXNzaW9uPFQ+KS5yZW5kZXIoe1xuICAgICAgICAgICAgYWxpYXNlcyxcbiAgICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgICAgIGVzY2FwZSxcbiAgICAgICAgICAgIHBhcnNlcixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihhY2MsIHsgW2tleV06IHZhbHVlIH0pO1xuICAgICAgfSwge30pO1xuICAgIGxldCBjb3VudCA9IGAke3JlbmRlcih0aGlzLmZpZWxkLCB7XG4gICAgICBhbGlhc2VzLFxuICAgICAgZXNjYXBlLFxuICAgICAgcHJlZml4LFxuICAgICAgcGFyc2VyLFxuICAgIH0pfS8kY291bnRgO1xuICAgIGlmICghVHlwZXMuaXNFbXB0eShwYXJhbXMpKSB7XG4gICAgICBjb3VudCA9IGAke2NvdW50fSgke09iamVjdC5rZXlzKHBhcmFtcylcbiAgICAgICAgLm1hcCgoa2V5KSA9PiBgJCR7a2V5fT0ke3BhcmFtc1trZXldfWApXG4gICAgICAgIC5qb2luKCc7Jyl9KWA7XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbiAgfVxuXG4gIGZpbHRlcihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBGaWx0ZXJFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gRmlsdGVyRXhwcmVzc2lvbjxUPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uZmlsdGVyLFxuICAgICAgRmlsdGVyRXhwcmVzc2lvbi5maWx0ZXI8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uZmlsdGVyXSksXG4gICAgKTtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMudmFsdWVzKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBrZXkpID0+XG4gICAgICAgIE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiBPYmplY3RzLmNsb25lKHRoaXMudmFsdWVzW2tleV0pIH0pLFxuICAgICAge30sXG4gICAgKTtcbiAgICByZXR1cm4gbmV3IENvdW50RmllbGQ8VD4odGhpcy5maWVsZC5jbG9uZSgpLCB2YWx1ZXMpO1xuICB9XG5cbiAgLy8gT3B0aW9uIEhhbmRsZXJcbiAgcHJpdmF0ZSBvcHRpb248Tz4obmFtZTogUXVlcnlPcHRpb24sIG9wdHM/OiBPKSB7XG4gICAgaWYgKG9wdHMgIT09IHVuZGVmaW5lZCkgdGhpcy52YWx1ZXNbbmFtZV0gPSBvcHRzO1xuICAgIHJldHVybiB0aGlzLnZhbHVlc1tuYW1lXTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBDb3VudEV4cHJlc3Npb25CdWlsZGVyPFQ+ID0ge1xuICB0OiBSZWFkb25seTxSZXF1aXJlZDxUPj47XG4gIGU6ICgpID0+IENvdW50RXhwcmVzc2lvbjxUPjtcbn07XG5leHBvcnQgY2xhc3MgQ291bnRFeHByZXNzaW9uPFQ+IGV4dGVuZHMgRXhwcmVzc2lvbjxUPiB7XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBjaGlsZHJlbixcbiAgfToge1xuICAgIGNoaWxkcmVuPzogUmVuZGVyYWJsZVtdO1xuICB9ID0ge30pIHtcbiAgICBzdXBlcih7IGNoaWxkcmVuIH0pO1xuICB9XG5cbiAgc3RhdGljIGNvdW50PFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IENvdW50RXhwcmVzc2lvbkJ1aWxkZXI8VD4sXG4gICAgICBjdXJyZW50PzogQ291bnRFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gQ291bnRFeHByZXNzaW9uPFQ+LFxuICAgIGN1cnJlbnQ/OiBDb3VudEV4cHJlc3Npb248VD4sXG4gICk6IENvdW50RXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG9wdHMoXG4gICAgICB7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZWFkb25seTxSZXF1aXJlZDxUPj4+KCksXG4gICAgICAgIGU6ICgpID0+IG5ldyBDb3VudEV4cHJlc3Npb248VD4oKSxcbiAgICAgIH0sXG4gICAgICBjdXJyZW50LFxuICAgICkgYXMgQ291bnRFeHByZXNzaW9uPFQ+O1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkKG5vZGU6IFJlbmRlcmFibGUpOiBDb3VudEV4cHJlc3Npb248YW55PiB7XG4gICAgdGhpcy5fY2hpbGRyZW4ucHVzaChub2RlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlbmRlcih7XG4gICAgYWxpYXNlcyxcbiAgICBlc2NhcGUsXG4gICAgcHJlZml4LFxuICAgIHBhcnNlcixcbiAgfToge1xuICAgIGFsaWFzZXM/OiBRdWVyeUN1c3RvbVR5cGVbXTtcbiAgICBlc2NhcGU/OiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICBwYXJzZXI/OiBQYXJzZXI8VD47XG4gIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgbGV0IGNvbnRlbnQgPSB0aGlzLl9jaGlsZHJlblxuICAgICAgLm1hcCgobikgPT4gbi5yZW5kZXIoeyBhbGlhc2VzLCBlc2NhcGUsIHByZWZpeCwgcGFyc2VyIH0pKVxuICAgICAgLmpvaW4oYCxgKTtcbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgQ291bnRFeHByZXNzaW9uPFQ+KHtcbiAgICAgIGNoaWxkcmVuOiB0aGlzLl9jaGlsZHJlbi5tYXAoKGMpID0+IGMuY2xvbmUoKSksXG4gICAgfSk7XG4gIH1cblxuICBmaWVsZDxGPihcbiAgICBmaWVsZDogRltdLFxuICAgIG9wdHM/OiAoZTogeyB0OiBGOyBmOiBDb3VudEZpZWxkPEY+IH0pID0+IENvdW50RXhwcmVzc2lvbjxGPixcbiAgKTogQ291bnRFeHByZXNzaW9uPEY+IHtcbiAgICBsZXQgY291bnRGaWVsZCA9IG5ldyBDb3VudEZpZWxkPEY+KGZpZWxkKTtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKVxuICAgICAgb3B0cyh7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZWFkb25seTxSZXF1aXJlZDxGPj4+KCksXG4gICAgICAgIGY6IGNvdW50RmllbGQsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fYWRkKGNvdW50RmllbGQpO1xuICB9XG59XG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3F1ZXJ5L2V4cHJlc3Npb25zL2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMkIsTUFBTSxVQUFVLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWMsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0UsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFDWSxLQUFVLEVBQ1osU0FBa0MsRUFBRTtRQURsQyxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FBOEI7SUFDM0MsQ0FBQztJQUVKLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtTQUMzQixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEdBT1I7UUFDQyxNQUFNLE1BQU0sR0FBK0I7WUFDekMsV0FBVyxDQUFDLE1BQU07WUFDbEIsV0FBVyxDQUFDLE1BQU07U0FDbkI7YUFDRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMs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QUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQy9DLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQ0gsS0FBVSxFQUNWLElBQTREO1FBRTVELElBQUksVUFBVSxHQUFHLElBQUksVUFBVSxDQUFJLEtBQUssQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxLQUFLLFNBQVM7WUFDcEIsSUFBSSxDQUFDO2dCQUNILENBQUMsRUFBRSxZQUFZLEVBQXlCO2dCQUN4QyxDQUFDLEVBQUUsVUFBVTthQUNkLENBQUMsQ0FBQztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZXIsIFBhcnNlck9wdGlvbnMsIFF1ZXJ5T3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT2JqZWN0cywgVHlwZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFF1ZXJ5Q3VzdG9tVHlwZSB9IGZyb20gJy4uL2J1aWxkZXInO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uLCBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJy4vZmlsdGVyJztcbmltcG9ydCB7IHJlbmRlciwgRmllbGRGYWN0b3J5LCBSZW5kZXJhYmxlLCBSZW5kZXJhYmxlRmFjdG9yeSB9IGZyb20gJy4vc3ludGF4JztcblxuZXhwb3J0IGNsYXNzIENvdW50RmllbGQ8VD4gaW1wbGVtZW50cyBSZW5kZXJhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZpZWxkOiBhbnksXG4gICAgcHJpdmF0ZSB2YWx1ZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge31cbiAgKSB7fVxuXG4gIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gJ0NvdW50RmllbGQnO1xuICB9XG5cbiAgdG9Kc29uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBmaWVsZDogdGhpcy5maWVsZC50b0pzb24oKSxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKHtcbiAgICBhbGlhc2VzLFxuICAgIGVzY2FwZSxcbiAgICBwcmVmaXgsXG4gICAgcGFyc2VyLFxuICAgIG9wdGlvbnMsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuICB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9ID0gW1xuICAgICAgUXVlcnlPcHRpb24uZmlsdGVyLFxuICAgICAgUXVlcnlPcHRpb24uc2VhcmNoLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gIVR5cGVzLmlzRW1wdHkodGhpcy52YWx1ZXNba2V5XSkpXG4gICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWU6IGFueSA9IHRoaXMudmFsdWVzW2tleV07XG4gICAgICAgIGlmIChUeXBlcy5yYXdUeXBlKHZhbHVlKS5lbmRzV2l0aCgnRXhwcmVzc2lvbicpKSB7XG4gICAgICAgICAgdmFsdWUgPSAodmFsdWUgYXMgRXhwcmVzc2lvbjxUPikucmVuZGVyKHtcbiAgICAgICAgICAgIGFsaWFzZXMsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBlc2NhcGUsXG4gICAgICAgICAgICBwYXJzZXIsXG4gICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGFjYywgeyBba2V5XTogdmFsdWUgfSk7XG4gICAgICB9LCB7fSk7XG4gICAgbGV0IGNvdW50ID0gYCR7cmVuZGVyKHRoaXMuZmllbGQsIHtcbiAgICAgIGFsaWFzZXMsXG4gICAgICBlc2NhcGUsXG4gICAgICBwcmVmaXgsXG4gICAgICBwYXJzZXIsXG4gICAgICBvcHRpb25zLFxuICAgIH0pfS8kY291bnRgO1xuICAgIGlmICghVHlwZXMuaXNFbXB0eShwYXJhbXMpKSB7XG4gICAgICBjb3VudCA9IGAke2NvdW50fSgke09iamVjdC5rZXlzKHBhcmFtcylcbiAgICAgICAgLm1hcCgoa2V5KSA9PiBgJCR7a2V5fT0ke3BhcmFtc1trZXldfWApXG4gICAgICAgIC5qb2luKCc7Jyl9KWA7XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbiAgfVxuXG4gIGZpbHRlcihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBGaWx0ZXJFeHByZXNzaW9uPFQ+XG4gICAgKSA9PiBGaWx0ZXJFeHByZXNzaW9uPFQ+XG4gICkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbihcbiAgICAgIFF1ZXJ5T3B0aW9uLmZpbHRlcixcbiAgICAgIEZpbHRlckV4cHJlc3Npb24uZmlsdGVyPFQ+KG9wdHMsIHRoaXMudmFsdWVzW1F1ZXJ5T3B0aW9uLmZpbHRlcl0pXG4gICAgKTtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMudmFsdWVzKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBrZXkpID0+XG4gICAgICAgIE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiBPYmplY3RzLmNsb25lKHRoaXMudmFsdWVzW2tleV0pIH0pLFxuICAgICAge31cbiAgICApO1xuICAgIHJldHVybiBuZXcgQ291bnRGaWVsZDxUPih0aGlzLmZpZWxkLmNsb25lKCksIHZhbHVlcyk7XG4gIH1cblxuICByZXNvbHZlKHBhcnNlcjogYW55KSB7XG4gICAgcmV0dXJuIHBhcnNlcjtcbiAgfVxuXG4gIC8vIE9wdGlvbiBIYW5kbGVyXG4gIHByaXZhdGUgb3B0aW9uPE8+KG5hbWU6IFF1ZXJ5T3B0aW9uLCBvcHRzPzogTykge1xuICAgIGlmIChvcHRzICE9PSB1bmRlZmluZWQpIHRoaXMudmFsdWVzW25hbWVdID0gb3B0cztcbiAgICByZXR1cm4gdGhpcy52YWx1ZXNbbmFtZV07XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ291bnRFeHByZXNzaW9uQnVpbGRlcjxUPiA9IHtcbiAgdDogUmVhZG9ubHk8UmVxdWlyZWQ8VD4+O1xuICBlOiAoKSA9PiBDb3VudEV4cHJlc3Npb248VD47XG59O1xuZXhwb3J0IGNsYXNzIENvdW50RXhwcmVzc2lvbjxUPiBleHRlbmRzIEV4cHJlc3Npb248VD4ge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgY2hpbGRyZW4sXG4gIH06IHtcbiAgICBjaGlsZHJlbj86IFJlbmRlcmFibGVbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoeyBjaGlsZHJlbiB9KTtcbiAgfVxuXG4gIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gJ0NvdW50RXhwcmVzc2lvbic7XG4gIH1cblxuICBzdGF0aWMgY291bnQ8VD4oXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogQ291bnRFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBDb3VudEV4cHJlc3Npb248VD5cbiAgICApID0+IENvdW50RXhwcmVzc2lvbjxUPixcbiAgICBjdXJyZW50PzogQ291bnRFeHByZXNzaW9uPFQ+XG4gICk6IENvdW50RXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG9wdHMoXG4gICAgICB7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZWFkb25seTxSZXF1aXJlZDxUPj4+KCksXG4gICAgICAgIGU6ICgpID0+IG5ldyBDb3VudEV4cHJlc3Npb248VD4oKSxcbiAgICAgIH0sXG4gICAgICBjdXJyZW50XG4gICAgKSBhcyBDb3VudEV4cHJlc3Npb248VD47XG4gIH1cblxuICBwcml2YXRlIF9hZGQobm9kZTogUmVuZGVyYWJsZSk6IENvdW50RXhwcmVzc2lvbjxhbnk+IHtcbiAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKG5vZGUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Kc29uKCkge1xuICAgIGNvbnN0IGpzb24gPSBzdXBlci50b0pzb24oKTtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihqc29uLCB7fSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpzb248VD4oanNvbjogeyBbbmFtZTogc3RyaW5nXTogYW55IH0pOiBDb3VudEV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBuZXcgQ291bnRFeHByZXNzaW9uPFQ+KHtcbiAgICAgIGNoaWxkcmVuOiBqc29uWydjaGlsZHJlbiddLm1hcCgoYzogYW55KSA9PiBSZW5kZXJhYmxlRmFjdG9yeShjKSksXG4gICAgfSk7XG4gIH1cbiAgcmVuZGVyKHtcbiAgICBhbGlhc2VzLFxuICAgIGVzY2FwZSxcbiAgICBwcmVmaXgsXG4gICAgcGFyc2VyLFxuICAgIG9wdGlvbnMsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIGxldCBjb250ZW50ID0gdGhpcy5fY2hpbGRyZW5cbiAgICAgIC5tYXAoKG4pID0+IG4ucmVuZGVyKHsgYWxpYXNlcywgZXNjYXBlLCBwcmVmaXgsIHBhcnNlciwgb3B0aW9ucyB9KSlcbiAgICAgIC5qb2luKGAsYCk7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gbmV3IENvdW50RXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjogdGhpcy5fY2hpbGRyZW4ubWFwKChjKSA9PiBjLmNsb25lKCkpLFxuICAgIH0pO1xuICB9XG5cbiAgZmllbGQ8Rj4oXG4gICAgZmllbGQ6IEZbXSxcbiAgICBvcHRzPzogKGU6IHsgdDogRjsgZjogQ291bnRGaWVsZDxGPiB9KSA9PiBDb3VudEV4cHJlc3Npb248Rj5cbiAgKTogQ291bnRFeHByZXNzaW9uPEY+IHtcbiAgICBsZXQgY291bnRGaWVsZCA9IG5ldyBDb3VudEZpZWxkPEY+KGZpZWxkKTtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKVxuICAgICAgb3B0cyh7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZWFkb25seTxSZXF1aXJlZDxGPj4+KCksXG4gICAgICAgIGY6IGNvdW50RmllbGQsXG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fYWRkKGNvdW50RmllbGQpO1xuICB9XG59XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { FilterExpression } from './filter';
|
|
|
5
5
|
import { OrderByExpression } from './orderby';
|
|
6
6
|
import { SearchExpression } from './search';
|
|
7
7
|
import { SelectExpression } from './select';
|
|
8
|
-
import { FieldFactory, render, resolve } from './syntax';
|
|
8
|
+
import { FieldFactory, render, RenderableFactory, resolve, } from './syntax';
|
|
9
9
|
export class ExpandField {
|
|
10
10
|
constructor(field, values = {}) {
|
|
11
11
|
this.field = field;
|
|
@@ -14,12 +14,12 @@ export class ExpandField {
|
|
|
14
14
|
get [Symbol.toStringTag]() {
|
|
15
15
|
return 'ExpandField';
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
toJson() {
|
|
18
18
|
return {
|
|
19
|
-
field: this.field.
|
|
19
|
+
field: this.field.toJson(),
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
render({ aliases, escape, prefix, parser, }) {
|
|
22
|
+
render({ aliases, escape, prefix, parser, options, }) {
|
|
23
23
|
parser = resolve([this.field], parser);
|
|
24
24
|
const params = [
|
|
25
25
|
QueryOption.select,
|
|
@@ -41,11 +41,18 @@ export class ExpandField {
|
|
|
41
41
|
prefix,
|
|
42
42
|
escape,
|
|
43
43
|
parser,
|
|
44
|
+
options,
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
47
|
return Object.assign(acc, { [key]: value });
|
|
47
48
|
}, {});
|
|
48
|
-
let expand = `${render(this.field, {
|
|
49
|
+
let expand = `${render(this.field, {
|
|
50
|
+
aliases,
|
|
51
|
+
escape,
|
|
52
|
+
prefix,
|
|
53
|
+
parser,
|
|
54
|
+
options,
|
|
55
|
+
})}`;
|
|
49
56
|
if (!Types.isEmpty(params)) {
|
|
50
57
|
expand = `${expand}(${Object.keys(params)
|
|
51
58
|
.map((key) => `$${key}=${params[key]}`)
|
|
@@ -57,6 +64,9 @@ export class ExpandField {
|
|
|
57
64
|
const values = Object.keys(this.values).reduce((acc, key) => Object.assign(acc, { [key]: Objects.clone(this.values[key]) }), {});
|
|
58
65
|
return new ExpandField(typeof this.field === 'string' ? this.field : this.field.clone(), values);
|
|
59
66
|
}
|
|
67
|
+
resolve(parser) {
|
|
68
|
+
return parser;
|
|
69
|
+
}
|
|
60
70
|
select(opts) {
|
|
61
71
|
return this.option(QueryOption.select, SelectExpression.select(opts, this.values[QueryOption.select]));
|
|
62
72
|
}
|
|
@@ -95,15 +105,27 @@ export class ExpandExpression extends Expression {
|
|
|
95
105
|
constructor({ children, } = {}) {
|
|
96
106
|
super({ children });
|
|
97
107
|
}
|
|
108
|
+
get [Symbol.toStringTag]() {
|
|
109
|
+
return 'ExpandExpression';
|
|
110
|
+
}
|
|
98
111
|
static expand(opts, current) {
|
|
99
112
|
return opts({
|
|
100
113
|
t: FieldFactory(),
|
|
101
114
|
e: () => new ExpandExpression(),
|
|
102
115
|
}, current);
|
|
103
116
|
}
|
|
104
|
-
|
|
117
|
+
toJson() {
|
|
118
|
+
const json = super.toJson();
|
|
119
|
+
return Object.assign(json, {});
|
|
120
|
+
}
|
|
121
|
+
static fromJson(json) {
|
|
122
|
+
return new ExpandExpression({
|
|
123
|
+
children: json['children'].map((c) => RenderableFactory(c)),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
render({ aliases, escape, prefix, parser, options, } = {}) {
|
|
105
127
|
return this._children
|
|
106
|
-
.map((n) => n.render({ aliases, escape, prefix, parser }))
|
|
128
|
+
.map((n) => n.render({ aliases, escape, prefix, parser, options }))
|
|
107
129
|
.join(',');
|
|
108
130
|
}
|
|
109
131
|
clone() {
|
|
@@ -122,4 +144,4 @@ export class ExpandExpression extends Expression {
|
|
|
122
144
|
return this._add(node);
|
|
123
145
|
}
|
|
124
146
|
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3Jlc291cmNlcy9xdWVyeS9leHByZXNzaW9ucy9leHBhbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLE1BQU0sVUFBVSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBNEIsTUFBTSxXQUFXLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLE1BQU0sVUFBVSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVyRSxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNZLEtBQVUsRUFDWixTQUFrQyxFQUFFO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUE4QjtJQUMzQyxDQUFDO0lBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEIsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxHQU1QO1FBQ0MsTUFBTSxHQUFHLE9BQU8sQ0FB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R0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLElBQUksQ0FBQyxJQUFnQjtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQ0gsS0FBUSxFQUNSLElBQTRDO1FBRTVDLElBQUksSUFBSSxHQUFHLElBQUksV0FBVyxDQUFjLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksSUFBSSxLQUFLLFNBQVM7WUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlciwgUXVlcnlPcHRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBPYmplY3RzLCBUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUXVlcnlDdXN0b21UeXBlLCBVbnBhY2tlZCB9IGZyb20gJy4uL2J1aWxkZXInO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uLCBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJy4vZmlsdGVyJztcbmltcG9ydCB7IE9yZGVyQnlFeHByZXNzaW9uLCBPcmRlckJ5RXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICcuL29yZGVyYnknO1xuaW1wb3J0IHsgU2VhcmNoRXhwcmVzc2lvbiwgU2VhcmNoRXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICcuL3NlYXJjaCc7XG5pbXBvcnQgeyBTZWxlY3RFeHByZXNzaW9uLCBTZWxlY3RFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJy4vc2VsZWN0JztcbmltcG9ydCB7IEZpZWxkRmFjdG9yeSwgcmVuZGVyLCBSZW5kZXJhYmxlLCByZXNvbHZlIH0gZnJvbSAnLi9zeW50YXgnO1xuXG5leHBvcnQgY2xhc3MgRXhwYW5kRmllbGQ8VD4gaW1wbGVtZW50cyBSZW5kZXJhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZpZWxkOiBhbnksXG4gICAgcHJpdmF0ZSB2YWx1ZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge30sXG4gICkge31cblxuICBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKSB7XG4gICAgcmV0dXJuICdFeHBhbmRGaWVsZCc7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLnRvSlNPTigpLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICB9KTogc3RyaW5nIHtcbiAgICBwYXJzZXIgPSByZXNvbHZlKFt0aGlzLmZpZWxkXSwgcGFyc2VyKTtcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSBbXG4gICAgICBRdWVyeU9wdGlvbi5zZWxlY3QsXG4gICAgICBRdWVyeU9wdGlvbi5leHBhbmQsXG4gICAgICBRdWVyeU9wdGlvbi5maWx0ZXIsXG4gICAgICBRdWVyeU9wdGlvbi5zZWFyY2gsXG4gICAgICBRdWVyeU9wdGlvbi5vcmRlckJ5LFxuICAgICAgUXVlcnlPcHRpb24uc2tpcCxcbiAgICAgIFF1ZXJ5T3B0aW9uLnRvcCxcbiAgICAgIFF1ZXJ5T3B0aW9uLmNvdW50LFxuICAgICAgUXVlcnlPcHRpb24ubGV2ZWxzLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gIVR5cGVzLmlzRW1wdHkodGhpcy52YWx1ZXNba2V5XSkpXG4gICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWU6IGFueSA9IHRoaXMudmFsdWVzW2tleV07XG4gICAgICAgIGlmIChUeXBlcy5yYXdUeXBlKHZhbHVlKS5lbmRzV2l0aCgnRXhwcmVzc2lvbicpKSB7XG4gICAgICAgICAgdmFsdWUgPSAodmFsdWUgYXMgRXhwcmVzc2lvbjxUPikucmVuZGVyKHtcbiAgICAgICAgICAgIGFsaWFzZXMsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBlc2NhcGUsXG4gICAgICAgICAgICBwYXJzZXIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiB2YWx1ZSB9KTtcbiAgICAgIH0sIHt9KTtcbiAgICBsZXQgZXhwYW5kID0gYCR7cmVuZGVyKHRoaXMuZmllbGQsIHsgYWxpYXNlcywgZXNjYXBlLCBwcmVmaXgsIHBhcnNlciB9KX1gO1xuICAgIGlmICghVHlwZXMuaXNFbXB0eShwYXJhbXMpKSB7XG4gICAgICBleHBhbmQgPSBgJHtleHBhbmR9KCR7T2JqZWN0LmtleXMocGFyYW1zKVxuICAgICAgICAubWFwKChrZXkpID0+IGAkJHtrZXl9PSR7cGFyYW1zW2tleV19YClcbiAgICAgICAgLmpvaW4oJzsnKX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIGV4cGFuZDtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMudmFsdWVzKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBrZXkpID0+XG4gICAgICAgIE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiBPYmplY3RzLmNsb25lKHRoaXMudmFsdWVzW2tleV0pIH0pLFxuICAgICAge30sXG4gICAgKTtcbiAgICByZXR1cm4gbmV3IEV4cGFuZEZpZWxkPFQ+KFxuICAgICAgdHlwZW9mIHRoaXMuZmllbGQgPT09ICdzdHJpbmcnID8gdGhpcy5maWVsZCA6IHRoaXMuZmllbGQuY2xvbmUoKSxcbiAgICAgIHZhbHVlcyxcbiAgICApO1xuICB9XG5cbiAgc2VsZWN0PFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IFNlbGVjdEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IFNlbGVjdEV4cHJlc3Npb248VD4sXG4gICAgKSA9PiBTZWxlY3RFeHByZXNzaW9uPFQ+LFxuICApOiBTZWxlY3RFeHByZXNzaW9uPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5zZWxlY3QsXG4gICAgICBTZWxlY3RFeHByZXNzaW9uLnNlbGVjdDxUPihvcHRzLCB0aGlzLnZhbHVlc1tRdWVyeU9wdGlvbi5zZWxlY3RdKSxcbiAgICApO1xuICB9XG5cbiAgZXhwYW5kPFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IEV4cGFuZEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IEV4cGFuZEV4cHJlc3Npb248VD4sXG4gICAgKSA9PiBFeHBhbmRFeHByZXNzaW9uPFQ+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5leHBhbmQsXG4gICAgICBFeHBhbmRFeHByZXNzaW9uLmV4cGFuZDxUPihvcHRzLCB0aGlzLnZhbHVlc1tRdWVyeU9wdGlvbi5leHBhbmRdKSxcbiAgICApO1xuICB9XG5cbiAgZmlsdGVyPFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IEZpbHRlckV4cHJlc3Npb248VD4sXG4gICAgKSA9PiBGaWx0ZXJFeHByZXNzaW9uPFQ+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5maWx0ZXIsXG4gICAgICBGaWx0ZXJFeHByZXNzaW9uLmZpbHRlcjxUPihvcHRzLCB0aGlzLnZhbHVlc1tRdWVyeU9wdGlvbi5maWx0ZXJdKSxcbiAgICApO1xuICB9XG5cbiAgc2VhcmNoPFQ+KFxuICAgIG9wdHM6IChidWlsZGVyOiBTZWFyY2hFeHByZXNzaW9uQnVpbGRlcjxUPikgPT4gU2VhcmNoRXhwcmVzc2lvbjxUPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uc2VhcmNoLFxuICAgICAgU2VhcmNoRXhwcmVzc2lvbi5zZWFyY2g8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uc2VhcmNoXSksXG4gICAgKTtcbiAgfVxuXG4gIG9yZGVyQnk8VD4oXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogT3JkZXJCeUV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IE9yZGVyQnlFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gT3JkZXJCeUV4cHJlc3Npb248VD4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbihcbiAgICAgIFF1ZXJ5T3B0aW9uLm9yZGVyQnksXG4gICAgICBPcmRlckJ5RXhwcmVzc2lvbi5vcmRlckJ5PFQ+KG9wdHMsIHRoaXMudmFsdWVzW1F1ZXJ5T3B0aW9uLm9yZGVyQnldKSxcbiAgICApO1xuICB9XG5cbiAgc2tpcChuOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb248bnVtYmVyPihRdWVyeU9wdGlvbi5za2lwLCBuKTtcbiAgfVxuXG4gIHRvcChuOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb248bnVtYmVyPihRdWVyeU9wdGlvbi50b3AsIG4pO1xuICB9XG5cbiAgbGV2ZWxzKG46IG51bWJlciB8ICdtYXgnKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPG51bWJlciB8ICdtYXgnPihRdWVyeU9wdGlvbi5sZXZlbHMsIG4pO1xuICB9XG5cbiAgY291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPGJvb2xlYW4+KFF1ZXJ5T3B0aW9uLmNvdW50LCB0cnVlKTtcbiAgfVxuXG4gIC8vIE9wdGlvbiBIYW5kbGVyXG4gIHByaXZhdGUgb3B0aW9uPE8+KG5hbWU6IFF1ZXJ5T3B0aW9uLCBvcHRzPzogTykge1xuICAgIGlmIChvcHRzICE9PSB1bmRlZmluZWQpIHRoaXMudmFsdWVzW25hbWVdID0gb3B0cztcbiAgICByZXR1cm4gdGhpcy52YWx1ZXNbbmFtZV0gYXMgTztcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBFeHBhbmRFeHByZXNzaW9uQnVpbGRlcjxUPiA9IHtcbiAgdDogUmVhZG9ubHk8UmVxdWlyZWQ8VD4+O1xuICBlOiAoKSA9PiBFeHBhbmRFeHByZXNzaW9uPFQ+O1xufTtcbmV4cG9ydCBjbGFzcyBFeHBhbmRFeHByZXNzaW9uPFQ+IGV4dGVuZHMgRXhwcmVzc2lvbjxUPiB7XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBjaGlsZHJlbixcbiAgfToge1xuICAgIGNoaWxkcmVuPzogUmVuZGVyYWJsZVtdO1xuICB9ID0ge30pIHtcbiAgICBzdXBlcih7IGNoaWxkcmVuIH0pO1xuICB9XG5cbiAgc3RhdGljIGV4cGFuZDxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBFeHBhbmRFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBFeHBhbmRFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gRXhwYW5kRXhwcmVzc2lvbjxUPixcbiAgICBjdXJyZW50PzogRXhwYW5kRXhwcmVzc2lvbjxUPixcbiAgKTogRXhwYW5kRXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG9wdHMoXG4gICAgICB7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZWFkb25seTxSZXF1aXJlZDxUPj4+KCksXG4gICAgICAgIGU6ICgpID0+IG5ldyBFeHBhbmRFeHByZXNzaW9uPFQ+KCksXG4gICAgICB9LFxuICAgICAgY3VycmVudCxcbiAgICApIGFzIEV4cGFuZEV4cHJlc3Npb248VD47XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlblxuICAgICAgLm1hcCgobikgPT4gbi5yZW5kZXIoeyBhbGlhc2VzLCBlc2NhcGUsIHByZWZpeCwgcGFyc2VyIH0pKVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgRXhwYW5kRXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjogdGhpcy5fY2hpbGRyZW4ubWFwKChjKSA9PiBjLmNsb25lKCkpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkKG5vZGU6IFJlbmRlcmFibGUpOiBFeHBhbmRFeHByZXNzaW9uPFQ+IHtcbiAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKG5vZGUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZmllbGQ8Rj4oXG4gICAgZmllbGQ6IEYsXG4gICAgb3B0cz86IChlOiBFeHBhbmRGaWVsZDxVbnBhY2tlZDxGPj4pID0+IHZvaWQsXG4gICk6IEV4cGFuZEV4cHJlc3Npb248VD4ge1xuICAgIGxldCBub2RlID0gbmV3IEV4cGFuZEZpZWxkPFVucGFja2VkPEY+PihmaWVsZCk7XG4gICAgaWYgKG9wdHMgIT09IHVuZGVmaW5lZCkgb3B0cyhub2RlKTtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG5vZGUpO1xuICB9XG59XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3Jlc291cmNlcy9xdWVyeS9leHByZXNzaW9ucy9leHBhbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQTRCLE1BQU0sV0FBVyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMkIsTUFBTSxVQUFVLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsT0FBTyxHQUNSLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1ksS0FBVSxFQUNaLFNBQWtDLEVBQUU7UUFEbEMsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNaLFdBQU0sR0FBTixNQUFNLENBQThCO0lBQzNDLENBQUM7SUFFSixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7U0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxHQU9S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dCI6WyJpbXBvcnQgeyBQYXJzZXIsIFBhcnNlck9wdGlvbnMsIFF1ZXJ5T3B0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgT2JqZWN0cywgVHlwZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFF1ZXJ5Q3VzdG9tVHlwZSwgVW5wYWNrZWQgfSBmcm9tICcuLi9idWlsZGVyJztcbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbiwgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICcuL2ZpbHRlcic7XG5pbXBvcnQgeyBPcmRlckJ5RXhwcmVzc2lvbiwgT3JkZXJCeUV4cHJlc3Npb25CdWlsZGVyIH0gZnJvbSAnLi9vcmRlcmJ5JztcbmltcG9ydCB7IFNlYXJjaEV4cHJlc3Npb24sIFNlYXJjaEV4cHJlc3Npb25CdWlsZGVyIH0gZnJvbSAnLi9zZWFyY2gnO1xuaW1wb3J0IHsgU2VsZWN0RXhwcmVzc2lvbiwgU2VsZWN0RXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICcuL3NlbGVjdCc7XG5pbXBvcnQge1xuICBGaWVsZEZhY3RvcnksXG4gIHJlbmRlcixcbiAgUmVuZGVyYWJsZSxcbiAgUmVuZGVyYWJsZUZhY3RvcnksXG4gIHJlc29sdmUsXG59IGZyb20gJy4vc3ludGF4JztcblxuZXhwb3J0IGNsYXNzIEV4cGFuZEZpZWxkPFQ+IGltcGxlbWVudHMgUmVuZGVyYWJsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmaWVsZDogYW55LFxuICAgIHByaXZhdGUgdmFsdWVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9XG4gICkge31cblxuICBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKSB7XG4gICAgcmV0dXJuICdFeHBhbmRGaWVsZCc7XG4gIH1cblxuICB0b0pzb24oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLnRvSnNvbigpLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gICAgb3B0aW9ucyxcbiAgfToge1xuICAgIGFsaWFzZXM/OiBRdWVyeUN1c3RvbVR5cGVbXTtcbiAgICBlc2NhcGU/OiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICBwYXJzZXI/OiBQYXJzZXI8VD47XG4gICAgb3B0aW9ucz86IFBhcnNlck9wdGlvbnM7XG4gIH0pOiBzdHJpbmcge1xuICAgIHBhcnNlciA9IHJlc29sdmUoW3RoaXMuZmllbGRdLCBwYXJzZXIpO1xuICAgIGNvbnN0IHBhcmFtczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0gPSBbXG4gICAgICBRdWVyeU9wdGlvbi5zZWxlY3QsXG4gICAgICBRdWVyeU9wdGlvbi5leHBhbmQsXG4gICAgICBRdWVyeU9wdGlvbi5maWx0ZXIsXG4gICAgICBRdWVyeU9wdGlvbi5zZWFyY2gsXG4gICAgICBRdWVyeU9wdGlvbi5vcmRlckJ5LFxuICAgICAgUXVlcnlPcHRpb24uc2tpcCxcbiAgICAgIFF1ZXJ5T3B0aW9uLnRvcCxcbiAgICAgIFF1ZXJ5T3B0aW9uLmNvdW50LFxuICAgICAgUXVlcnlPcHRpb24ubGV2ZWxzLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gIVR5cGVzLmlzRW1wdHkodGhpcy52YWx1ZXNba2V5XSkpXG4gICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWU6IGFueSA9IHRoaXMudmFsdWVzW2tleV07XG4gICAgICAgIGlmIChUeXBlcy5yYXdUeXBlKHZhbHVlKS5lbmRzV2l0aCgnRXhwcmVzc2lvbicpKSB7XG4gICAgICAgICAgdmFsdWUgPSAodmFsdWUgYXMgRXhwcmVzc2lvbjxUPikucmVuZGVyKHtcbiAgICAgICAgICAgIGFsaWFzZXMsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBlc2NhcGUsXG4gICAgICAgICAgICBwYXJzZXIsXG4gICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGFjYywgeyBba2V5XTogdmFsdWUgfSk7XG4gICAgICB9LCB7fSk7XG4gICAgbGV0IGV4cGFuZCA9IGAke3JlbmRlcih0aGlzLmZpZWxkLCB7XG4gICAgICBhbGlhc2VzLFxuICAgICAgZXNjYXBlLFxuICAgICAgcHJlZml4LFxuICAgICAgcGFyc2VyLFxuICAgICAgb3B0aW9ucyxcbiAgICB9KX1gO1xuICAgIGlmICghVHlwZXMuaXNFbXB0eShwYXJhbXMpKSB7XG4gICAgICBleHBhbmQgPSBgJHtleHBhbmR9KCR7T2JqZWN0LmtleXMocGFyYW1zKVxuICAgICAgICAubWFwKChrZXkpID0+IGAkJHtrZXl9PSR7cGFyYW1zW2tleV19YClcbiAgICAgICAgLmpvaW4oJzsnKX0pYDtcbiAgICB9XG4gICAgcmV0dXJuIGV4cGFuZDtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMudmFsdWVzKS5yZWR1Y2UoXG4gICAgICAoYWNjLCBrZXkpID0+XG4gICAgICAgIE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiBPYmplY3RzLmNsb25lKHRoaXMudmFsdWVzW2tleV0pIH0pLFxuICAgICAge31cbiAgICApO1xuICAgIHJldHVybiBuZXcgRXhwYW5kRmllbGQ8VD4oXG4gICAgICB0eXBlb2YgdGhpcy5maWVsZCA9PT0gJ3N0cmluZycgPyB0aGlzLmZpZWxkIDogdGhpcy5maWVsZC5jbG9uZSgpLFxuICAgICAgdmFsdWVzXG4gICAgKTtcbiAgfVxuXG4gIHJlc29sdmUocGFyc2VyOiBhbnkpIHtcbiAgICByZXR1cm4gcGFyc2VyO1xuICB9XG5cbiAgc2VsZWN0PFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IFNlbGVjdEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IFNlbGVjdEV4cHJlc3Npb248VD5cbiAgICApID0+IFNlbGVjdEV4cHJlc3Npb248VD5cbiAgKTogU2VsZWN0RXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uc2VsZWN0LFxuICAgICAgU2VsZWN0RXhwcmVzc2lvbi5zZWxlY3Q8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uc2VsZWN0XSlcbiAgICApO1xuICB9XG5cbiAgZXhwYW5kPFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IEV4cGFuZEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IEV4cGFuZEV4cHJlc3Npb248VD5cbiAgICApID0+IEV4cGFuZEV4cHJlc3Npb248VD5cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uZXhwYW5kLFxuICAgICAgRXhwYW5kRXhwcmVzc2lvbi5leHBhbmQ8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uZXhwYW5kXSlcbiAgICApO1xuICB9XG5cbiAgZmlsdGVyPFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IEZpbHRlckV4cHJlc3Npb248VD5cbiAgICApID0+IEZpbHRlckV4cHJlc3Npb248VD5cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uZmlsdGVyLFxuICAgICAgRmlsdGVyRXhwcmVzc2lvbi5maWx0ZXI8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uZmlsdGVyXSlcbiAgICApO1xuICB9XG5cbiAgc2VhcmNoPFQ+KFxuICAgIG9wdHM6IChidWlsZGVyOiBTZWFyY2hFeHByZXNzaW9uQnVpbGRlcjxUPikgPT4gU2VhcmNoRXhwcmVzc2lvbjxUPlxuICApIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5zZWFyY2gsXG4gICAgICBTZWFyY2hFeHByZXNzaW9uLnNlYXJjaDxUPihvcHRzLCB0aGlzLnZhbHVlc1tRdWVyeU9wdGlvbi5zZWFyY2hdKVxuICAgICk7XG4gIH1cblxuICBvcmRlckJ5PFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IE9yZGVyQnlFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBPcmRlckJ5RXhwcmVzc2lvbjxUPlxuICAgICkgPT4gT3JkZXJCeUV4cHJlc3Npb248VD5cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24ub3JkZXJCeSxcbiAgICAgIE9yZGVyQnlFeHByZXNzaW9uLm9yZGVyQnk8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24ub3JkZXJCeV0pXG4gICAgKTtcbiAgfVxuXG4gIHNraXAobjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPG51bWJlcj4oUXVlcnlPcHRpb24uc2tpcCwgbik7XG4gIH1cblxuICB0b3AobjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPG51bWJlcj4oUXVlcnlPcHRpb24udG9wLCBuKTtcbiAgfVxuXG4gIGxldmVscyhuOiBudW1iZXIgfCAnbWF4Jykge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbjxudW1iZXIgfCAnbWF4Jz4oUXVlcnlPcHRpb24ubGV2ZWxzLCBuKTtcbiAgfVxuXG4gIGNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbjxib29sZWFuPihRdWVyeU9wdGlvbi5jb3VudCwgdHJ1ZSk7XG4gIH1cblxuICAvLyBPcHRpb24gSGFuZGxlclxuICBwcml2YXRlIG9wdGlvbjxPPihuYW1lOiBRdWVyeU9wdGlvbiwgb3B0cz86IE8pIHtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSB0aGlzLnZhbHVlc1tuYW1lXSA9IG9wdHM7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzW25hbWVdIGFzIE87XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgRXhwYW5kRXhwcmVzc2lvbkJ1aWxkZXI8VD4gPSB7XG4gIHQ6IFJlYWRvbmx5PFJlcXVpcmVkPFQ+PjtcbiAgZTogKCkgPT4gRXhwYW5kRXhwcmVzc2lvbjxUPjtcbn07XG5leHBvcnQgY2xhc3MgRXhwYW5kRXhwcmVzc2lvbjxUPiBleHRlbmRzIEV4cHJlc3Npb248VD4ge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgY2hpbGRyZW4sXG4gIH06IHtcbiAgICBjaGlsZHJlbj86IFJlbmRlcmFibGVbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoeyBjaGlsZHJlbiB9KTtcbiAgfVxuXG4gIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gJ0V4cGFuZEV4cHJlc3Npb24nO1xuICB9XG5cbiAgc3RhdGljIGV4cGFuZDxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBFeHBhbmRFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBFeHBhbmRFeHByZXNzaW9uPFQ+XG4gICAgKSA9PiBFeHBhbmRFeHByZXNzaW9uPFQ+LFxuICAgIGN1cnJlbnQ/OiBFeHBhbmRFeHByZXNzaW9uPFQ+XG4gICk6IEV4cGFuZEV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBvcHRzKFxuICAgICAge1xuICAgICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVhZG9ubHk8UmVxdWlyZWQ8VD4+PigpLFxuICAgICAgICBlOiAoKSA9PiBuZXcgRXhwYW5kRXhwcmVzc2lvbjxUPigpLFxuICAgICAgfSxcbiAgICAgIGN1cnJlbnRcbiAgICApIGFzIEV4cGFuZEV4cHJlc3Npb248VD47XG4gIH1cblxuICBvdmVycmlkZSB0b0pzb24oKSB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnRvSnNvbigpO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGpzb24sIHt9KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSnNvbjxUPihqc29uOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSk6IEV4cGFuZEV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBuZXcgRXhwYW5kRXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjoganNvblsnY2hpbGRyZW4nXS5tYXAoKGM6IGFueSkgPT4gUmVuZGVyYWJsZUZhY3RvcnkoYykpLFxuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyKHtcbiAgICBhbGlhc2VzLFxuICAgIGVzY2FwZSxcbiAgICBwcmVmaXgsXG4gICAgcGFyc2VyLFxuICAgIG9wdGlvbnMsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlblxuICAgICAgLm1hcCgobikgPT4gbi5yZW5kZXIoeyBhbGlhc2VzLCBlc2NhcGUsIHByZWZpeCwgcGFyc2VyLCBvcHRpb25zIH0pKVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgRXhwYW5kRXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjogdGhpcy5fY2hpbGRyZW4ubWFwKChjKSA9PiBjLmNsb25lKCkpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkKG5vZGU6IFJlbmRlcmFibGUpOiBFeHBhbmRFeHByZXNzaW9uPFQ+IHtcbiAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKG5vZGUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZmllbGQ8Rj4oXG4gICAgZmllbGQ6IEYsXG4gICAgb3B0cz86IChlOiBFeHBhbmRGaWVsZDxVbnBhY2tlZDxGPj4pID0+IHZvaWRcbiAgKTogRXhwYW5kRXhwcmVzc2lvbjxUPiB7XG4gICAgbGV0IG5vZGUgPSBuZXcgRXhwYW5kRmllbGQ8VW5wYWNrZWQ8Rj4+KGZpZWxkKTtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSBvcHRzKG5vZGUpO1xuICAgIHJldHVybiB0aGlzLl9hZGQobm9kZSk7XG4gIH1cbn1cbiJdfQ==
|