angular-odata 0.125.0 → 0.127.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 +5 -4
- package/esm2022/lib/cache/storage.mjs +3 -3
- package/esm2022/lib/client.mjs +7 -7
- package/esm2022/lib/loaders.mjs +1 -1
- package/esm2022/lib/models/collection.mjs +220 -216
- package/esm2022/lib/models/model.mjs +49 -50
- package/esm2022/lib/models/options.mjs +149 -117
- package/esm2022/lib/module.mjs +20 -7
- package/esm2022/lib/options.mjs +2 -1
- package/esm2022/lib/resources/path/segments.mjs +35 -13
- package/esm2022/lib/resources/query/builder.mjs +17 -5
- package/esm2022/lib/resources/query/expressions/apply.mjs +169 -0
- package/esm2022/lib/resources/query/expressions/base.mjs +8 -3
- package/esm2022/lib/resources/query/expressions/compute.mjs +20 -5
- package/esm2022/lib/resources/query/expressions/count.mjs +27 -10
- package/esm2022/lib/resources/query/expressions/expand.mjs +36 -14
- package/esm2022/lib/resources/query/expressions/filter.mjs +33 -16
- package/esm2022/lib/resources/query/expressions/index.mjs +2 -1
- package/esm2022/lib/resources/query/expressions/orderby.mjs +32 -9
- package/esm2022/lib/resources/query/expressions/search.mjs +34 -15
- package/esm2022/lib/resources/query/expressions/select.mjs +17 -5
- package/esm2022/lib/resources/query/expressions/syntax.mjs +319 -32
- package/esm2022/lib/resources/query/handlers.mjs +90 -55
- package/esm2022/lib/resources/query/index.mjs +2 -1
- package/esm2022/lib/resources/query/options.mjs +95 -71
- package/esm2022/lib/resources/request.mjs +4 -3
- package/esm2022/lib/resources/resource.mjs +53 -24
- package/esm2022/lib/resources/responses/annotations.mjs +4 -1
- package/esm2022/lib/resources/responses/response.mjs +3 -3
- package/esm2022/lib/resources/types/batch.mjs +19 -17
- package/esm2022/lib/resources/types/count.mjs +7 -4
- package/esm2022/lib/resources/types/entity-set.mjs +3 -2
- 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 +4 -3
- package/esm2022/lib/resources/types/options.mjs +1 -1
- package/esm2022/lib/resources/types/property.mjs +12 -4
- package/esm2022/lib/resources/types/reference.mjs +4 -4
- package/esm2022/lib/schema/parsers/enum-type.mjs +14 -7
- package/esm2022/lib/schema/parsers/structured-type.mjs +56 -44
- package/esm2022/lib/schema/structured-type.mjs +13 -2
- package/esm2022/lib/services/base.mjs +4 -4
- package/esm2022/lib/services/factory.mjs +4 -4
- package/esm2022/lib/types.mjs +12 -1
- package/esm2022/lib/utils/http.mjs +8 -6
- package/fesm2022/angular-odata.mjs +8885 -8094
- package/fesm2022/angular-odata.mjs.map +1 -1
- package/lib/api.d.ts +2 -2
- package/lib/client.d.ts +1 -1
- package/lib/models/collection.d.ts +33 -24
- package/lib/models/model.d.ts +18 -9
- package/lib/models/options.d.ts +22 -17
- package/lib/module.d.ts +2 -1
- package/lib/options.d.ts +5 -0
- package/lib/resources/path/segments.d.ts +18 -11
- package/lib/resources/query/builder.d.ts +6 -5
- package/lib/resources/query/expressions/apply.d.ts +103 -0
- package/lib/resources/query/expressions/base.d.ts +6 -3
- package/lib/resources/query/expressions/compute.d.ts +15 -4
- package/lib/resources/query/expressions/count.d.ts +17 -6
- package/lib/resources/query/expressions/expand.d.ts +22 -11
- package/lib/resources/query/expressions/filter.d.ts +17 -6
- package/lib/resources/query/expressions/index.d.ts +1 -0
- package/lib/resources/query/expressions/orderby.d.ts +18 -6
- package/lib/resources/query/expressions/search.d.ts +15 -6
- package/lib/resources/query/expressions/select.d.ts +13 -4
- package/lib/resources/query/expressions/syntax.d.ts +138 -19
- package/lib/resources/query/handlers.d.ts +33 -10
- package/lib/resources/query/index.d.ts +1 -0
- package/lib/resources/query/options.d.ts +24 -13
- package/lib/resources/request.d.ts +3 -2
- package/lib/resources/resource.d.ts +15 -6
- package/lib/resources/responses/annotations.d.ts +1 -0
- package/lib/resources/responses/response.d.ts +2 -2
- package/lib/resources/types/batch.d.ts +9 -4
- 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/enum-type.d.ts +14 -2
- package/lib/schema/parsers/structured-type.d.ts +1 -0
- package/lib/schema/structured-type.d.ts +2 -1
- package/lib/types.d.ts +11 -0
- package/lib/utils/http.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
8
|
+
get [Symbol.toStringTag]() {
|
|
9
|
+
return 'ComputeExpression';
|
|
10
|
+
}
|
|
11
|
+
static factory(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9yZXNvdXJjZXMvcXVlcnkvZXhwcmVzc2lvbnMvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUdULFNBQVMsRUFFVCxpQkFBaUIsR0FDbEIsTUFBTSxVQUFVLENBQUM7QUFNbEIsTUFBTSxPQUFPLGlCQUFxQixTQUFRLFVBQWE7SUFFckQsWUFBWSxFQUNWLFFBQVEsRUFDUixLQUFLLE1BSUgsRUFBRTtRQUNKLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QixPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUNaLElBR3lCLEVBQ3pCLE9BQThCO1FBRTlCLE9BQU8sSUFBSSxDQUNUO1lBQ0UsQ0FBQyxFQUFFLFlBQVksRUFBZTtZQUM5QixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxpQkFBaUIsRUFBSztTQUNwQyxFQUNELE9BQU8sQ0FDZ0IsQ0FBQztJQUM1QixDQUFDO0lBRVEsTUFBTTtRQUNiLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBSSxJQUE2QjtRQUM5QyxPQUFPLElBQUksaUJBQWlCLENBQUk7WUFDOUIsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxNQU9MLEVBQUU7UUFDSixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3RDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FDdkQsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQzthQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxpQkFBaUIsQ0FBSTtZQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBZ0I7UUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUNILElBQVksRUFDWixJQUF1RTtRQUV2RSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxFQUFFLFNBQThCO1lBQ2pDLENBQUMsRUFBRSxTQUE4QjtTQUNsQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlciwgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgUXVlcnlDdXN0b21UeXBlIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBFeHByZXNzaW9uIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7XG4gIEZpZWxkRmFjdG9yeSxcbiAgZnVuY3Rpb25zLFxuICBPRGF0YUZ1bmN0aW9ucyxcbiAgT0RhdGFPcGVyYXRvcnMsXG4gIG9wZXJhdG9ycyxcbiAgUmVuZGVyYWJsZSxcbiAgUmVuZGVyYWJsZUZhY3RvcnksXG59IGZyb20gJy4vc3ludGF4JztcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZUV4cHJlc3Npb25CdWlsZGVyPFQ+ID0ge1xuICB0OiBSZXF1aXJlZDxUPjtcbiAgZTogKCkgPT4gQ29tcHV0ZUV4cHJlc3Npb248VD47XG59O1xuZXhwb3J0IGNsYXNzIENvbXB1dGVFeHByZXNzaW9uPFQ+IGV4dGVuZHMgRXhwcmVzc2lvbjxUPiB7XG4gIG5hbWVzOiBzdHJpbmdbXTtcbiAgY29uc3RydWN0b3Ioe1xuICAgIGNoaWxkcmVuLFxuICAgIG5hbWVzLFxuICB9OiB7XG4gICAgY2hpbGRyZW4/OiBSZW5kZXJhYmxlW107XG4gICAgbmFtZXM/OiBzdHJpbmdbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoeyBjaGlsZHJlbiB9KTtcbiAgICB0aGlzLm5hbWVzID0gbmFtZXMgfHwgW107XG4gIH1cblxuICBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKSB7XG4gICAgcmV0dXJuICdDb21wdXRlRXhwcmVzc2lvbic7XG4gIH1cblxuICBzdGF0aWMgZmFjdG9yeTxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBDb21wdXRlRXhwcmVzc2lvbkJ1aWxkZXI8VD4sXG4gICAgICBjdXJyZW50PzogQ29tcHV0ZUV4cHJlc3Npb248VD5cbiAgICApID0+IENvbXB1dGVFeHByZXNzaW9uPFQ+LFxuICAgIGN1cnJlbnQ/OiBDb21wdXRlRXhwcmVzc2lvbjxUPlxuICApOiBDb21wdXRlRXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG9wdHMoXG4gICAgICB7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZXF1aXJlZDxUPj4oKSxcbiAgICAgICAgZTogKCkgPT4gbmV3IENvbXB1dGVFeHByZXNzaW9uPFQ+KCksXG4gICAgICB9LFxuICAgICAgY3VycmVudFxuICAgICkgYXMgQ29tcHV0ZUV4cHJlc3Npb248VD47XG4gIH1cblxuICBvdmVycmlkZSB0b0pzb24oKSB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnRvSnNvbigpO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGpzb24sIHtcbiAgICAgIG5hbWVzOiB0aGlzLm5hbWVzLFxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGZyb21Kc29uPFQ+KGpzb246IHsgW25hbWU6IHN0cmluZ106IGFueSB9KTogQ29tcHV0ZUV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBuZXcgQ29tcHV0ZUV4cHJlc3Npb248VD4oe1xuICAgICAgY2hpbGRyZW46IGpzb25bJ2NoaWxkcmVuJ10ubWFwKChjOiBhbnkpID0+IFJlbmRlcmFibGVGYWN0b3J5KGMpKSxcbiAgICAgIG5hbWVzOiBqc29uWyduYW1lcyddLFxuICAgIH0pO1xuICB9XG5cbiAgcmVuZGVyKHtcbiAgICBhbGlhc2VzLFxuICAgIGVzY2FwZSxcbiAgICBwcmVmaXgsXG4gICAgcGFyc2VyLFxuICAgIG9wdGlvbnMsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIGxldCBjaGlsZHJlbiA9IHRoaXMuX2NoaWxkcmVuLm1hcCgobikgPT5cbiAgICAgIG4ucmVuZGVyKHsgYWxpYXNlcywgZXNjYXBlLCBwcmVmaXgsIHBhcnNlciwgb3B0aW9ucyB9KVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXMubmFtZXNcbiAgICAgIC5tYXAoKG5hbWUsIGluZGV4KSA9PiBgJHtjaGlsZHJlbltpbmRleF19IGFzICR7bmFtZX1gKVxuICAgICAgLmpvaW4oJywnKTtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgQ29tcHV0ZUV4cHJlc3Npb248VD4oe1xuICAgICAgY2hpbGRyZW46IHRoaXMuX2NoaWxkcmVuLm1hcCgoYykgPT4gYy5jbG9uZSgpKSxcbiAgICAgIG5hbWVzOiBbLi4udGhpcy5uYW1lc10sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hZGQobmFtZTogc3RyaW5nLCBub2RlOiBSZW5kZXJhYmxlKTogQ29tcHV0ZUV4cHJlc3Npb248YW55PiB7XG4gICAgdGhpcy5uYW1lcy5wdXNoKG5hbWUpO1xuICAgIHRoaXMuX2NoaWxkcmVuLnB1c2gobm9kZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmaWVsZDxUPihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb3B0czogKGU6IHsgbzogT0RhdGFPcGVyYXRvcnM8VD47IGY6IE9EYXRhRnVuY3Rpb25zPFQ+IH0pID0+IFJlbmRlcmFibGVcbiAgKTogQ29tcHV0ZUV4cHJlc3Npb248VD4ge1xuICAgIGNvbnN0IG5vZGUgPSBvcHRzKHtcbiAgICAgIG86IG9wZXJhdG9ycyBhcyBPRGF0YU9wZXJhdG9yczxUPixcbiAgICAgIGY6IGZ1bmN0aW9ucyBhcyBPRGF0YUZ1bmN0aW9uczxUPixcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG5hbWUsIG5vZGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -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, resolve, } 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,
|
|
@@ -29,7 +29,8 @@ export class CountField {
|
|
|
29
29
|
aliases,
|
|
30
30
|
prefix,
|
|
31
31
|
escape,
|
|
32
|
-
parser,
|
|
32
|
+
parser: resolve([this.field], 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)
|
|
@@ -48,12 +50,15 @@ export class CountField {
|
|
|
48
50
|
return count;
|
|
49
51
|
}
|
|
50
52
|
filter(opts) {
|
|
51
|
-
return this.option(QueryOption.filter, FilterExpression.
|
|
53
|
+
return this.option(QueryOption.filter, FilterExpression.factory(opts, this.values[QueryOption.filter]));
|
|
52
54
|
}
|
|
53
55
|
clone() {
|
|
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 this.field.resolve(parser);
|
|
61
|
+
}
|
|
57
62
|
// Option Handler
|
|
58
63
|
option(name, opts) {
|
|
59
64
|
if (opts !== undefined)
|
|
@@ -65,7 +70,10 @@ export class CountExpression extends Expression {
|
|
|
65
70
|
constructor({ children, } = {}) {
|
|
66
71
|
super({ children });
|
|
67
72
|
}
|
|
68
|
-
|
|
73
|
+
get [Symbol.toStringTag]() {
|
|
74
|
+
return 'CountExpression';
|
|
75
|
+
}
|
|
76
|
+
static factory(opts, current) {
|
|
69
77
|
return opts({
|
|
70
78
|
t: FieldFactory(),
|
|
71
79
|
e: () => new CountExpression(),
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3F1ZXJ5L2V4cHJlc3Npb25zL2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBYyxNQUFNLFVBQVUsQ0FBQztBQUU1RCxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNZLEtBQVUsRUFDWixTQUFrQyxFQUFFO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUE4QjtJQUMzQyxDQUFDO0lBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEIsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxHQU1QO1FBQ0MsTUFBTSxNQUFNLEdBQStCO1lBQ3pDLFdBQVcsQ0FBQyxNQUFNO1lBQ2xCLFdBQVcsQ0FBQyxNQUFNO1NBQ25CO2FBQ0UsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FB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LElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sTUFNSixFQUFFO1FBQ0osSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQzthQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxlQUFlLENBQUk7WUFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FDSCxLQUFVLEVBQ1YsSUFBNEQ7UUFFNUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUksS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLEtBQUssU0FBUztZQUNwQixJQUFJLENBQUM7Z0JBQ0gsQ0FBQyxFQUFFLFlBQVksRUFBeUI7Z0JBQ3hDLENBQUMsRUFBRSxVQUFVO2FBQ2QsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlciwgUXVlcnlPcHRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBPYmplY3RzLCBUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUXVlcnlDdXN0b21UeXBlIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBFeHByZXNzaW9uIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb24sIEZpbHRlckV4cHJlc3Npb25CdWlsZGVyIH0gZnJvbSAnLi9maWx0ZXInO1xuaW1wb3J0IHsgcmVuZGVyLCBGaWVsZEZhY3RvcnksIFJlbmRlcmFibGUgfSBmcm9tICcuL3N5bnRheCc7XG5cbmV4cG9ydCBjbGFzcyBDb3VudEZpZWxkPFQ+IGltcGxlbWVudHMgUmVuZGVyYWJsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBmaWVsZDogYW55LFxuICAgIHByaXZhdGUgdmFsdWVzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHt9LFxuICApIHt9XG5cbiAgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCkge1xuICAgIHJldHVybiAnQ291bnRGaWVsZCc7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLnRvSlNPTigpLFxuICAgIH07XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9ID0gW1xuICAgICAgUXVlcnlPcHRpb24uZmlsdGVyLFxuICAgICAgUXVlcnlPcHRpb24uc2VhcmNoLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gIVR5cGVzLmlzRW1wdHkodGhpcy52YWx1ZXNba2V5XSkpXG4gICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWU6IGFueSA9IHRoaXMudmFsdWVzW2tleV07XG4gICAgICAgIGlmIChUeXBlcy5yYXdUeXBlKHZhbHVlKS5lbmRzV2l0aCgnRXhwcmVzc2lvbicpKSB7XG4gICAgICAgICAgdmFsdWUgPSAodmFsdWUgYXMgRXhwcmVzc2lvbjxUPikucmVuZGVyKHtcbiAgICAgICAgICAgIGFsaWFzZXMsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBlc2NhcGUsXG4gICAgICAgICAgICBwYXJzZXIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiB2YWx1ZSB9KTtcbiAgICAgIH0sIHt9KTtcbiAgICBsZXQgY291bnQgPSBgJHtyZW5kZXIodGhpcy5maWVsZCwge1xuICAgICAgYWxpYXNlcyxcbiAgICAgIGVzY2FwZSxcbiAgICAgIHByZWZpeCxcbiAgICAgIHBhcnNlcixcbiAgICB9KX0vJGNvdW50YDtcbiAgICBpZiAoIVR5cGVzLmlzRW1wdHkocGFyYW1zKSkge1xuICAgICAgY291bnQgPSBgJHtjb3VudH0oJHtPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gYCQke2tleX09JHtwYXJhbXNba2V5XX1gKVxuICAgICAgICAuam9pbignOycpfSlgO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICBmaWx0ZXIoXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXI8VD4sXG4gICAgICBjdXJyZW50PzogRmlsdGVyRXhwcmVzc2lvbjxUPixcbiAgICApID0+IEZpbHRlckV4cHJlc3Npb248VD4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbihcbiAgICAgIFF1ZXJ5T3B0aW9uLmZpbHRlcixcbiAgICAgIEZpbHRlckV4cHJlc3Npb24uZmlsdGVyPFQ+KG9wdHMsIHRoaXMudmFsdWVzW1F1ZXJ5T3B0aW9uLmZpbHRlcl0pLFxuICAgICk7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykucmVkdWNlKFxuICAgICAgKGFjYywga2V5KSA9PlxuICAgICAgICBPYmplY3QuYXNzaWduKGFjYywgeyBba2V5XTogT2JqZWN0cy5jbG9uZSh0aGlzLnZhbHVlc1trZXldKSB9KSxcbiAgICAgIHt9LFxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBDb3VudEZpZWxkPFQ+KHRoaXMuZmllbGQuY2xvbmUoKSwgdmFsdWVzKTtcbiAgfVxuXG4gIC8vIE9wdGlvbiBIYW5kbGVyXG4gIHByaXZhdGUgb3B0aW9uPE8+KG5hbWU6IFF1ZXJ5T3B0aW9uLCBvcHRzPzogTykge1xuICAgIGlmIChvcHRzICE9PSB1bmRlZmluZWQpIHRoaXMudmFsdWVzW25hbWVdID0gb3B0cztcbiAgICByZXR1cm4gdGhpcy52YWx1ZXNbbmFtZV07XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ291bnRFeHByZXNzaW9uQnVpbGRlcjxUPiA9IHtcbiAgdDogUmVhZG9ubHk8UmVxdWlyZWQ8VD4+O1xuICBlOiAoKSA9PiBDb3VudEV4cHJlc3Npb248VD47XG59O1xuZXhwb3J0IGNsYXNzIENvdW50RXhwcmVzc2lvbjxUPiBleHRlbmRzIEV4cHJlc3Npb248VD4ge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgY2hpbGRyZW4sXG4gIH06IHtcbiAgICBjaGlsZHJlbj86IFJlbmRlcmFibGVbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoeyBjaGlsZHJlbiB9KTtcbiAgfVxuXG4gIHN0YXRpYyBjb3VudDxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBDb3VudEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IENvdW50RXhwcmVzc2lvbjxUPixcbiAgICApID0+IENvdW50RXhwcmVzc2lvbjxUPixcbiAgICBjdXJyZW50PzogQ291bnRFeHByZXNzaW9uPFQ+LFxuICApOiBDb3VudEV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBvcHRzKFxuICAgICAge1xuICAgICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVhZG9ubHk8UmVxdWlyZWQ8VD4+PigpLFxuICAgICAgICBlOiAoKSA9PiBuZXcgQ291bnRFeHByZXNzaW9uPFQ+KCksXG4gICAgICB9LFxuICAgICAgY3VycmVudCxcbiAgICApIGFzIENvdW50RXhwcmVzc2lvbjxUPjtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZChub2RlOiBSZW5kZXJhYmxlKTogQ291bnRFeHByZXNzaW9uPGFueT4ge1xuICAgIHRoaXMuX2NoaWxkcmVuLnB1c2gobm9kZSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIGxldCBjb250ZW50ID0gdGhpcy5fY2hpbGRyZW5cbiAgICAgIC5tYXAoKG4pID0+IG4ucmVuZGVyKHsgYWxpYXNlcywgZXNjYXBlLCBwcmVmaXgsIHBhcnNlciB9KSlcbiAgICAgIC5qb2luKGAsYCk7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gbmV3IENvdW50RXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjogdGhpcy5fY2hpbGRyZW4ubWFwKChjKSA9PiBjLmNsb25lKCkpLFxuICAgIH0pO1xuICB9XG5cbiAgZmllbGQ8Rj4oXG4gICAgZmllbGQ6IEZbXSxcbiAgICBvcHRzPzogKGU6IHsgdDogRjsgZjogQ291bnRGaWVsZDxGPiB9KSA9PiBDb3VudEV4cHJlc3Npb248Rj4sXG4gICk6IENvdW50RXhwcmVzc2lvbjxGPiB7XG4gICAgbGV0IGNvdW50RmllbGQgPSBuZXcgQ291bnRGaWVsZDxGPihmaWVsZCk7XG4gICAgaWYgKG9wdHMgIT09IHVuZGVmaW5lZClcbiAgICAgIG9wdHMoe1xuICAgICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVhZG9ubHk8UmVxdWlyZWQ8Rj4+PigpLFxuICAgICAgICBmOiBjb3VudEZpZWxkLFxuICAgICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChjb3VudEZpZWxkKTtcbiAgfVxufVxuIl19
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3F1ZXJ5L2V4cHJlc3Npb25zL2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMkIsTUFBTSxVQUFVLENBQUM7QUFDckUsT0FBTyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBRVosaUJBQWlCLEVBQ2pCLE9BQU8sR0FDUixNQUFNLFVBQVUsQ0FBQztBQUVsQixNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNZLEtBQVUsRUFDWixTQUFrQyxFQUFFO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQUs7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUE4QjtJQUMzQyxDQUFDO0lBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDdEIsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLE9BQU8sR0FPUjtRQUNDLE1BQU0sTUFBTSxHQUErQjtZQUN6QyxXQUFXLENBQUMsTUFBTTtZQUNsQixXQUFXLENBQUMsTUFBTTtTQUNuQjthQUNFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNqRCxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxLQUFLLEdBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUMvQyxLQUFLLEdBQUksS0FBdUIsQ0FBQyxNQUFNLENBQUM7b0JBQ3RDLE9BQU87b0JBQ1AsTUFBTTtvQkFDTixNQUFNO29CQUNOLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO29CQUNyQyxPQUFPO2lCQUNSLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxJQUFJLEtBQUssR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2hDLE9BQU87WUFDUCxNQUFNO1lBQ04sTUFBTTtZQUNOLE1BQU07WUFDTixPQUFPO1NBQ1IsQ0FBQyxTQUFTLENBQUM7UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQixLQUFLLEdBQUcsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7aUJBQ3BDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7aUJBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUNKLElBR3dCO1FBRXhCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsV0FBVyxDQUFDLE1BQU0sRUFDbEIsZ0JBQWdCLENBQUMsT0FBTyxDQUFJLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQzVDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQ1gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDaEUsRUFBRSxDQUNILENBQUM7UUFDRixPQUFPLElBQUksVUFBVSxDQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGlCQUFpQjtJQUNULE1BQU0sQ0FBSSxJQUFpQixFQUFFLElBQVE7UUFDM0MsSUFBSSxJQUFJLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFNRCxNQUFNLE9BQU8sZUFBbUIsU0FBUSxVQUFhO0lBQ25ELFlBQVksRUFDVixRQUFRLE1BR04sRUFBRTtRQUNKLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3RCLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQ1osSUFHdUIsRUFDdkIsT0FBNEI7UUFFNUIsT0FBTyxJQUFJLENBQ1Q7WUFDRSxDQUFDLEVBQUUsWUFBWSxFQUFlO1lBQzlCLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGVBQWUsRUFBSztTQUNsQyxFQUNELE9BQU8sQ0FDYyxDQUFDO0lBQzFCLENBQUM7SUFFTyxJQUFJLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRVEsTUFBTTtRQUNiLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFJLElBQTZCO1FBQzlDLE9BQU8sSUFBSSxlQUFlLENBQUk7WUFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxNQU9MLEVBQUU7UUFDSixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUzthQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxlQUFlLENBQUk7WUFDNUIsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FDSCxLQUFVLEVBQ1YsSUFBNEQ7UUFFNUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUksS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLEtBQUssU0FBUztZQUNwQixJQUFJLENBQUM7Z0JBQ0gsQ0FBQyxFQUFFLFlBQVksRUFBZTtnQkFDOUIsQ0FBQyxFQUFFLFVBQVU7YUFDZCxDQUFDLENBQUM7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyc2VyLCBQYXJzZXJPcHRpb25zLCBRdWVyeU9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IE9iamVjdHMsIFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBRdWVyeUN1c3RvbVR5cGUgfSBmcm9tICcuLi9idWlsZGVyJztcbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbiwgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICcuL2ZpbHRlcic7XG5pbXBvcnQge1xuICByZW5kZXIsXG4gIEZpZWxkRmFjdG9yeSxcbiAgUmVuZGVyYWJsZSxcbiAgUmVuZGVyYWJsZUZhY3RvcnksXG4gIHJlc29sdmUsXG59IGZyb20gJy4vc3ludGF4JztcblxuZXhwb3J0IGNsYXNzIENvdW50RmllbGQ8VD4gaW1wbGVtZW50cyBSZW5kZXJhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZpZWxkOiBhbnksXG4gICAgcHJpdmF0ZSB2YWx1ZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge31cbiAgKSB7fVxuXG4gIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gJ0NvdW50RmllbGQnO1xuICB9XG5cbiAgdG9Kc29uKCkge1xuICAgIHJldHVybiB7XG4gICAgICBmaWVsZDogdGhpcy5maWVsZC50b0pzb24oKSxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKHtcbiAgICBhbGlhc2VzLFxuICAgIGVzY2FwZSxcbiAgICBwcmVmaXgsXG4gICAgcGFyc2VyLFxuICAgIG9wdGlvbnMsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPFQ+O1xuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuICB9KTogc3RyaW5nIHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9ID0gW1xuICAgICAgUXVlcnlPcHRpb24uZmlsdGVyLFxuICAgICAgUXVlcnlPcHRpb24uc2VhcmNoLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGtleSkgPT4gIVR5cGVzLmlzRW1wdHkodGhpcy52YWx1ZXNba2V5XSkpXG4gICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICBsZXQgdmFsdWU6IGFueSA9IHRoaXMudmFsdWVzW2tleV07XG4gICAgICAgIGlmIChUeXBlcy5yYXdUeXBlKHZhbHVlKS5lbmRzV2l0aCgnRXhwcmVzc2lvbicpKSB7XG4gICAgICAgICAgdmFsdWUgPSAodmFsdWUgYXMgRXhwcmVzc2lvbjxUPikucmVuZGVyKHtcbiAgICAgICAgICAgIGFsaWFzZXMsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBlc2NhcGUsXG4gICAgICAgICAgICBwYXJzZXI6IHJlc29sdmUoW3RoaXMuZmllbGRdLCBwYXJzZXIpLFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihhY2MsIHsgW2tleV06IHZhbHVlIH0pO1xuICAgICAgfSwge30pO1xuICAgIGxldCBjb3VudCA9IGAke3JlbmRlcih0aGlzLmZpZWxkLCB7XG4gICAgICBhbGlhc2VzLFxuICAgICAgZXNjYXBlLFxuICAgICAgcHJlZml4LFxuICAgICAgcGFyc2VyLFxuICAgICAgb3B0aW9ucyxcbiAgICB9KX0vJGNvdW50YDtcbiAgICBpZiAoIVR5cGVzLmlzRW1wdHkocGFyYW1zKSkge1xuICAgICAgY291bnQgPSBgJHtjb3VudH0oJHtPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gYCQke2tleX09JHtwYXJhbXNba2V5XX1gKVxuICAgICAgICAuam9pbignOycpfSlgO1xuICAgIH1cbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICBmaWx0ZXIoXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXI8VD4sXG4gICAgICBjdXJyZW50PzogRmlsdGVyRXhwcmVzc2lvbjxUPlxuICAgICkgPT4gRmlsdGVyRXhwcmVzc2lvbjxUPlxuICApIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5maWx0ZXIsXG4gICAgICBGaWx0ZXJFeHByZXNzaW9uLmZhY3Rvcnk8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uZmlsdGVyXSlcbiAgICApO1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgY29uc3QgdmFsdWVzID0gT2JqZWN0LmtleXModGhpcy52YWx1ZXMpLnJlZHVjZShcbiAgICAgIChhY2MsIGtleSkgPT5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihhY2MsIHsgW2tleV06IE9iamVjdHMuY2xvbmUodGhpcy52YWx1ZXNba2V5XSkgfSksXG4gICAgICB7fVxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBDb3VudEZpZWxkPFQ+KHRoaXMuZmllbGQuY2xvbmUoKSwgdmFsdWVzKTtcbiAgfVxuXG4gIHJlc29sdmUocGFyc2VyOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5yZXNvbHZlKHBhcnNlcik7XG4gIH1cblxuICAvLyBPcHRpb24gSGFuZGxlclxuICBwcml2YXRlIG9wdGlvbjxPPihuYW1lOiBRdWVyeU9wdGlvbiwgb3B0cz86IE8pIHtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSB0aGlzLnZhbHVlc1tuYW1lXSA9IG9wdHM7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzW25hbWVdO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvdW50RXhwcmVzc2lvbkJ1aWxkZXI8VD4gPSB7XG4gIHQ6IFJlcXVpcmVkPFQ+O1xuICBlOiAoKSA9PiBDb3VudEV4cHJlc3Npb248VD47XG59O1xuZXhwb3J0IGNsYXNzIENvdW50RXhwcmVzc2lvbjxUPiBleHRlbmRzIEV4cHJlc3Npb248VD4ge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgY2hpbGRyZW4sXG4gIH06IHtcbiAgICBjaGlsZHJlbj86IFJlbmRlcmFibGVbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoeyBjaGlsZHJlbiB9KTtcbiAgfVxuXG4gIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gJ0NvdW50RXhwcmVzc2lvbic7XG4gIH1cblxuICBzdGF0aWMgZmFjdG9yeTxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBDb3VudEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IENvdW50RXhwcmVzc2lvbjxUPlxuICAgICkgPT4gQ291bnRFeHByZXNzaW9uPFQ+LFxuICAgIGN1cnJlbnQ/OiBDb3VudEV4cHJlc3Npb248VD5cbiAgKTogQ291bnRFeHByZXNzaW9uPFQ+IHtcbiAgICByZXR1cm4gb3B0cyhcbiAgICAgIHtcbiAgICAgICAgdDogRmllbGRGYWN0b3J5PFJlcXVpcmVkPFQ+PigpLFxuICAgICAgICBlOiAoKSA9PiBuZXcgQ291bnRFeHByZXNzaW9uPFQ+KCksXG4gICAgICB9LFxuICAgICAgY3VycmVudFxuICAgICkgYXMgQ291bnRFeHByZXNzaW9uPFQ+O1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkKG5vZGU6IFJlbmRlcmFibGUpOiBDb3VudEV4cHJlc3Npb248YW55PiB7XG4gICAgdGhpcy5fY2hpbGRyZW4ucHVzaChub2RlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSnNvbigpIHtcbiAgICBjb25zdCBqc29uID0gc3VwZXIudG9Kc29uKCk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oanNvbiwge30pO1xuICB9XG5cbiAgc3RhdGljIGZyb21Kc29uPFQ+KGpzb246IHsgW25hbWU6IHN0cmluZ106IGFueSB9KTogQ291bnRFeHByZXNzaW9uPFQ+IHtcbiAgICByZXR1cm4gbmV3IENvdW50RXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjoganNvblsnY2hpbGRyZW4nXS5tYXAoKGM6IGFueSkgPT4gUmVuZGVyYWJsZUZhY3RvcnkoYykpLFxuICAgIH0pO1xuICB9XG4gIHJlbmRlcih7XG4gICAgYWxpYXNlcyxcbiAgICBlc2NhcGUsXG4gICAgcHJlZml4LFxuICAgIHBhcnNlcixcbiAgICBvcHRpb25zLFxuICB9OiB7XG4gICAgYWxpYXNlcz86IFF1ZXJ5Q3VzdG9tVHlwZVtdO1xuICAgIGVzY2FwZT86IGJvb2xlYW47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIHBhcnNlcj86IFBhcnNlcjxUPjtcbiAgICBvcHRpb25zPzogUGFyc2VyT3B0aW9ucztcbiAgfSA9IHt9KTogc3RyaW5nIHtcbiAgICBsZXQgY29udGVudCA9IHRoaXMuX2NoaWxkcmVuXG4gICAgICAubWFwKChuKSA9PiBuLnJlbmRlcih7IGFsaWFzZXMsIGVzY2FwZSwgcHJlZml4LCBwYXJzZXIsIG9wdGlvbnMgfSkpXG4gICAgICAuam9pbihgLGApO1xuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBDb3VudEV4cHJlc3Npb248VD4oe1xuICAgICAgY2hpbGRyZW46IHRoaXMuX2NoaWxkcmVuLm1hcCgoYykgPT4gYy5jbG9uZSgpKSxcbiAgICB9KTtcbiAgfVxuXG4gIGZpZWxkPEY+KFxuICAgIGZpZWxkOiBGW10sXG4gICAgb3B0cz86IChlOiB7IHQ6IEY7IGY6IENvdW50RmllbGQ8Rj4gfSkgPT4gQ291bnRFeHByZXNzaW9uPEY+XG4gICk6IENvdW50RXhwcmVzc2lvbjxGPiB7XG4gICAgbGV0IGNvdW50RmllbGQgPSBuZXcgQ291bnRGaWVsZDxGPihmaWVsZCk7XG4gICAgaWYgKG9wdHMgIT09IHVuZGVmaW5lZClcbiAgICAgIG9wdHMoe1xuICAgICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVxdWlyZWQ8Rj4+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,20 +64,23 @@ 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
|
-
return this.option(QueryOption.select, SelectExpression.
|
|
71
|
+
return this.option(QueryOption.select, SelectExpression.factory(opts, this.values[QueryOption.select]));
|
|
62
72
|
}
|
|
63
73
|
expand(opts) {
|
|
64
|
-
return this.option(QueryOption.expand, ExpandExpression.
|
|
74
|
+
return this.option(QueryOption.expand, ExpandExpression.factory(opts, this.values[QueryOption.expand]));
|
|
65
75
|
}
|
|
66
76
|
filter(opts) {
|
|
67
|
-
return this.option(QueryOption.filter, FilterExpression.
|
|
77
|
+
return this.option(QueryOption.filter, FilterExpression.factory(opts, this.values[QueryOption.filter]));
|
|
68
78
|
}
|
|
69
79
|
search(opts) {
|
|
70
|
-
return this.option(QueryOption.search, SearchExpression.
|
|
80
|
+
return this.option(QueryOption.search, SearchExpression.factory(opts, this.values[QueryOption.search]));
|
|
71
81
|
}
|
|
72
82
|
orderBy(opts) {
|
|
73
|
-
return this.option(QueryOption.orderBy, OrderByExpression.
|
|
83
|
+
return this.option(QueryOption.orderBy, OrderByExpression.factory(opts, this.values[QueryOption.orderBy]));
|
|
74
84
|
}
|
|
75
85
|
skip(n) {
|
|
76
86
|
return this.option(QueryOption.skip, n);
|
|
@@ -95,15 +105,27 @@ export class ExpandExpression extends Expression {
|
|
|
95
105
|
constructor({ children, } = {}) {
|
|
96
106
|
super({ children });
|
|
97
107
|
}
|
|
98
|
-
|
|
108
|
+
get [Symbol.toStringTag]() {
|
|
109
|
+
return 'ExpandExpression';
|
|
110
|
+
}
|
|
111
|
+
static factory(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+O1xuICB9KTogc3RyaW5nIHtcbiAgICBwYXJzZXIgPSByZXNvbHZlKFt0aGlzLmZpZWxkXSwgcGFyc2VyKTtcbiAgICBjb25zdCBwYXJhbXM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9ID0gW1xuICAgICAgUXVlcnlPcHRpb24uc2VsZWN0LFxuICAgICAgUXVlcnlPcHRpb24uZXhwYW5kLFxuICAgICAgUXVlcnlPcHRpb24uZmlsdGVyLFxuICAgICAgUXVlcnlPcHRpb24uc2VhcmNoLFxuICAgICAgUXVlcnlPcHRpb24ub3JkZXJCeSxcbiAgICAgIFF1ZXJ5T3B0aW9uLnNraXAsXG4gICAgICBRdWVyeU9wdGlvbi50b3AsXG4gICAgICBRdWVyeU9wdGlvbi5jb3VudCxcbiAgICAgIFF1ZXJ5T3B0aW9uLmxldmVscyxcbiAgICBdXG4gICAgICAuZmlsdGVyKChrZXkpID0+ICFUeXBlcy5pc0VtcHR5KHRoaXMudmFsdWVzW2tleV0pKVxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgICAgbGV0IHZhbHVlOiBhbnkgPSB0aGlzLnZhbHVlc1trZXldO1xuICAgICAgICBpZiAoVHlwZXMucmF3VHlwZSh2YWx1ZSkuZW5kc1dpdGgoJ0V4cHJlc3Npb24nKSkge1xuICAgICAgICAgIHZhbHVlID0gKHZhbHVlIGFzIEV4cHJlc3Npb248VD4pLnJlbmRlcih7XG4gICAgICAgICAgICBhbGlhc2VzLFxuICAgICAgICAgICAgcHJlZml4LFxuICAgICAgICAgICAgZXNjYXBlLFxuICAgICAgICAgICAgcGFyc2VyLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGFjYywgeyBba2V5XTogdmFsdWUgfSk7XG4gICAgICB9LCB7fSk7XG4gICAgbGV0IGV4cGFuZCA9IGAke3JlbmRlcih0aGlzLmZpZWxkLCB7IGFsaWFzZXMsIGVzY2FwZSwgcHJlZml4LCBwYXJzZXIgfSl9YDtcbiAgICBpZiAoIVR5cGVzLmlzRW1wdHkocGFyYW1zKSkge1xuICAgICAgZXhwYW5kID0gYCR7ZXhwYW5kfSgke09iamVjdC5rZXlzKHBhcmFtcylcbiAgICAgICAgLm1hcCgoa2V5KSA9PiBgJCR7a2V5fT0ke3BhcmFtc1trZXldfWApXG4gICAgICAgIC5qb2luKCc7Jyl9KWA7XG4gICAgfVxuICAgIHJldHVybiBleHBhbmQ7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3Qua2V5cyh0aGlzLnZhbHVlcykucmVkdWNlKFxuICAgICAgKGFjYywga2V5KSA9PlxuICAgICAgICBPYmplY3QuYXNzaWduKGFjYywgeyBba2V5XTogT2JqZWN0cy5jbG9uZSh0aGlzLnZhbHVlc1trZXldKSB9KSxcbiAgICAgIHt9LFxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBFeHBhbmRGaWVsZDxUPihcbiAgICAgIHR5cGVvZiB0aGlzLmZpZWxkID09PSAnc3RyaW5nJyA/IHRoaXMuZmllbGQgOiB0aGlzLmZpZWxkLmNsb25lKCksXG4gICAgICB2YWx1ZXMsXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdDxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBTZWxlY3RFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBTZWxlY3RFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gU2VsZWN0RXhwcmVzc2lvbjxUPixcbiAgKTogU2VsZWN0RXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uc2VsZWN0LFxuICAgICAgU2VsZWN0RXhwcmVzc2lvbi5zZWxlY3Q8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uc2VsZWN0XSksXG4gICAgKTtcbiAgfVxuXG4gIGV4cGFuZDxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBFeHBhbmRFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBFeHBhbmRFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gRXhwYW5kRXhwcmVzc2lvbjxUPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uZXhwYW5kLFxuICAgICAgRXhwYW5kRXhwcmVzc2lvbi5leHBhbmQ8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uZXhwYW5kXSksXG4gICAgKTtcbiAgfVxuXG4gIGZpbHRlcjxUPihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBGaWx0ZXJFeHByZXNzaW9uPFQ+LFxuICAgICkgPT4gRmlsdGVyRXhwcmVzc2lvbjxUPixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uZmlsdGVyLFxuICAgICAgRmlsdGVyRXhwcmVzc2lvbi5maWx0ZXI8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uZmlsdGVyXSksXG4gICAgKTtcbiAgfVxuXG4gIHNlYXJjaDxUPihcbiAgICBvcHRzOiAoYnVpbGRlcjogU2VhcmNoRXhwcmVzc2lvbkJ1aWxkZXI8VD4pID0+IFNlYXJjaEV4cHJlc3Npb248VD4sXG4gICkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbihcbiAgICAgIFF1ZXJ5T3B0aW9uLnNlYXJjaCxcbiAgICAgIFNlYXJjaEV4cHJlc3Npb24uc2VhcmNoPFQ+KG9wdHMsIHRoaXMudmFsdWVzW1F1ZXJ5T3B0aW9uLnNlYXJjaF0pLFxuICAgICk7XG4gIH1cblxuICBvcmRlckJ5PFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IE9yZGVyQnlFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBPcmRlckJ5RXhwcmVzc2lvbjxUPixcbiAgICApID0+IE9yZGVyQnlFeHByZXNzaW9uPFQ+LFxuICApIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5vcmRlckJ5LFxuICAgICAgT3JkZXJCeUV4cHJlc3Npb24ub3JkZXJCeTxUPihvcHRzLCB0aGlzLnZhbHVlc1tRdWVyeU9wdGlvbi5vcmRlckJ5XSksXG4gICAgKTtcbiAgfVxuXG4gIHNraXAobjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPG51bWJlcj4oUXVlcnlPcHRpb24uc2tpcCwgbik7XG4gIH1cblxuICB0b3AobjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPG51bWJlcj4oUXVlcnlPcHRpb24udG9wLCBuKTtcbiAgfVxuXG4gIGxldmVscyhuOiBudW1iZXIgfCAnbWF4Jykge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbjxudW1iZXIgfCAnbWF4Jz4oUXVlcnlPcHRpb24ubGV2ZWxzLCBuKTtcbiAgfVxuXG4gIGNvdW50KCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbjxib29sZWFuPihRdWVyeU9wdGlvbi5jb3VudCwgdHJ1ZSk7XG4gIH1cblxuICAvLyBPcHRpb24gSGFuZGxlclxuICBwcml2YXRlIG9wdGlvbjxPPihuYW1lOiBRdWVyeU9wdGlvbiwgb3B0cz86IE8pIHtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSB0aGlzLnZhbHVlc1tuYW1lXSA9IG9wdHM7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzW25hbWVdIGFzIE87XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgRXhwYW5kRXhwcmVzc2lvbkJ1aWxkZXI8VD4gPSB7XG4gIHQ6IFJlYWRvbmx5PFJlcXVpcmVkPFQ+PjtcbiAgZTogKCkgPT4gRXhwYW5kRXhwcmVzc2lvbjxUPjtcbn07XG5leHBvcnQgY2xhc3MgRXhwYW5kRXhwcmVzc2lvbjxUPiBleHRlbmRzIEV4cHJlc3Npb248VD4ge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgY2hpbGRyZW4sXG4gIH06IHtcbiAgICBjaGlsZHJlbj86IFJlbmRlcmFibGVbXTtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoeyBjaGlsZHJlbiB9KTtcbiAgfVxuXG4gIHN0YXRpYyBleHBhbmQ8VD4oXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogRXhwYW5kRXhwcmVzc2lvbkJ1aWxkZXI8VD4sXG4gICAgICBjdXJyZW50PzogRXhwYW5kRXhwcmVzc2lvbjxUPixcbiAgICApID0+IEV4cGFuZEV4cHJlc3Npb248VD4sXG4gICAgY3VycmVudD86IEV4cGFuZEV4cHJlc3Npb248VD4sXG4gICk6IEV4cGFuZEV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBvcHRzKFxuICAgICAge1xuICAgICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVhZG9ubHk8UmVxdWlyZWQ8VD4+PigpLFxuICAgICAgICBlOiAoKSA9PiBuZXcgRXhwYW5kRXhwcmVzc2lvbjxUPigpLFxuICAgICAgfSxcbiAgICAgIGN1cnJlbnQsXG4gICAgKSBhcyBFeHBhbmRFeHByZXNzaW9uPFQ+O1xuICB9XG5cbiAgcmVuZGVyKHtcbiAgICBhbGlhc2VzLFxuICAgIGVzY2FwZSxcbiAgICBwcmVmaXgsXG4gICAgcGFyc2VyLFxuICB9OiB7XG4gICAgYWxpYXNlcz86IFF1ZXJ5Q3VzdG9tVHlwZVtdO1xuICAgIGVzY2FwZT86IGJvb2xlYW47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIHBhcnNlcj86IFBhcnNlcjxUPjtcbiAgfSA9IHt9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW5cbiAgICAgIC5tYXAoKG4pID0+IG4ucmVuZGVyKHsgYWxpYXNlcywgZXNjYXBlLCBwcmVmaXgsIHBhcnNlciB9KSlcbiAgICAgIC5qb2luKCcsJyk7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gbmV3IEV4cGFuZEV4cHJlc3Npb248VD4oe1xuICAgICAgY2hpbGRyZW46IHRoaXMuX2NoaWxkcmVuLm1hcCgoYykgPT4gYy5jbG9uZSgpKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZChub2RlOiBSZW5kZXJhYmxlKTogRXhwYW5kRXhwcmVzc2lvbjxUPiB7XG4gICAgdGhpcy5fY2hpbGRyZW4ucHVzaChub2RlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGZpZWxkPEY+KFxuICAgIGZpZWxkOiBGLFxuICAgIG9wdHM/OiAoZTogRXhwYW5kRmllbGQ8VW5wYWNrZWQ8Rj4+KSA9PiB2b2lkLFxuICApOiBFeHBhbmRFeHByZXNzaW9uPFQ+IHtcbiAgICBsZXQgbm9kZSA9IG5ldyBFeHBhbmRGaWVsZDxVbnBhY2tlZDxGPj4oZmllbGQpO1xuICAgIGlmIChvcHRzICE9PSB1bmRlZmluZWQpIG9wdHMobm9kZSk7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChub2RlKTtcbiAgfVxufVxuIl19
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3Jlc291cmNlcy9xdWVyeS9leHByZXNzaW9ucy9leHBhbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQTRCLE1BQU0sV0FBVyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMkIsTUFBTSxVQUFVLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUEyQixNQUFNLFVBQVUsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFFTixpQkFBaUIsRUFDakIsT0FBTyxHQUNSLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ1ksS0FBVSxFQUNaLFNBQWtDLEVBQUU7UUFEbEMsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNaLFdBQU0sR0FBTixNQUFNLENBQThCO0lBQzNDLENBQUM7SUFFSixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7U0FDM0IsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxHQU9S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IjpbImltcG9ydCB7IFBhcnNlciwgUGFyc2VyT3B0aW9ucywgUXVlcnlPcHRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBPYmplY3RzLCBUeXBlcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUXVlcnlDdXN0b21UeXBlLCBVbnBhY2tlZCB9IGZyb20gJy4uL2J1aWxkZXInO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uLCBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJy4vZmlsdGVyJztcbmltcG9ydCB7IE9yZGVyQnlFeHByZXNzaW9uLCBPcmRlckJ5RXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICcuL29yZGVyYnknO1xuaW1wb3J0IHsgU2VhcmNoRXhwcmVzc2lvbiwgU2VhcmNoRXhwcmVzc2lvbkJ1aWxkZXIgfSBmcm9tICcuL3NlYXJjaCc7XG5pbXBvcnQgeyBTZWxlY3RFeHByZXNzaW9uLCBTZWxlY3RFeHByZXNzaW9uQnVpbGRlciB9IGZyb20gJy4vc2VsZWN0JztcbmltcG9ydCB7XG4gIEZpZWxkRmFjdG9yeSxcbiAgcmVuZGVyLFxuICBSZW5kZXJhYmxlLFxuICBSZW5kZXJhYmxlRmFjdG9yeSxcbiAgcmVzb2x2ZSxcbn0gZnJvbSAnLi9zeW50YXgnO1xuXG5leHBvcnQgY2xhc3MgRXhwYW5kRmllbGQ8VD4gaW1wbGVtZW50cyBSZW5kZXJhYmxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGZpZWxkOiBhbnksXG4gICAgcHJpdmF0ZSB2YWx1ZXM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge31cbiAgKSB7fVxuXG4gIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICByZXR1cm4gJ0V4cGFuZEZpZWxkJztcbiAgfVxuXG4gIHRvSnNvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgZmllbGQ6IHRoaXMuZmllbGQudG9Kc29uKCksXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcih7XG4gICAgYWxpYXNlcyxcbiAgICBlc2NhcGUsXG4gICAgcHJlZml4LFxuICAgIHBhcnNlcixcbiAgICBvcHRpb25zLFxuICB9OiB7XG4gICAgYWxpYXNlcz86IFF1ZXJ5Q3VzdG9tVHlwZVtdO1xuICAgIGVzY2FwZT86IGJvb2xlYW47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIHBhcnNlcj86IFBhcnNlcjxUPjtcbiAgICBvcHRpb25zPzogUGFyc2VyT3B0aW9ucztcbiAgfSk6IHN0cmluZyB7XG4gICAgcGFyc2VyID0gcmVzb2x2ZShbdGhpcy5maWVsZF0sIHBhcnNlcik7XG4gICAgY29uc3QgcGFyYW1zOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IFtcbiAgICAgIFF1ZXJ5T3B0aW9uLnNlbGVjdCxcbiAgICAgIFF1ZXJ5T3B0aW9uLmV4cGFuZCxcbiAgICAgIFF1ZXJ5T3B0aW9uLmZpbHRlcixcbiAgICAgIFF1ZXJ5T3B0aW9uLnNlYXJjaCxcbiAgICAgIFF1ZXJ5T3B0aW9uLm9yZGVyQnksXG4gICAgICBRdWVyeU9wdGlvbi5za2lwLFxuICAgICAgUXVlcnlPcHRpb24udG9wLFxuICAgICAgUXVlcnlPcHRpb24uY291bnQsXG4gICAgICBRdWVyeU9wdGlvbi5sZXZlbHMsXG4gICAgXVxuICAgICAgLmZpbHRlcigoa2V5KSA9PiAhVHlwZXMuaXNFbXB0eSh0aGlzLnZhbHVlc1trZXldKSlcbiAgICAgIC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgIGxldCB2YWx1ZTogYW55ID0gdGhpcy52YWx1ZXNba2V5XTtcbiAgICAgICAgaWYgKFR5cGVzLnJhd1R5cGUodmFsdWUpLmVuZHNXaXRoKCdFeHByZXNzaW9uJykpIHtcbiAgICAgICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyBFeHByZXNzaW9uPFQ+KS5yZW5kZXIoe1xuICAgICAgICAgICAgYWxpYXNlcyxcbiAgICAgICAgICAgIHByZWZpeCxcbiAgICAgICAgICAgIGVzY2FwZSxcbiAgICAgICAgICAgIHBhcnNlcixcbiAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjLCB7IFtrZXldOiB2YWx1ZSB9KTtcbiAgICAgIH0sIHt9KTtcbiAgICBsZXQgZXhwYW5kID0gYCR7cmVuZGVyKHRoaXMuZmllbGQsIHtcbiAgICAgIGFsaWFzZXMsXG4gICAgICBlc2NhcGUsXG4gICAgICBwcmVmaXgsXG4gICAgICBwYXJzZXIsXG4gICAgICBvcHRpb25zLFxuICAgIH0pfWA7XG4gICAgaWYgKCFUeXBlcy5pc0VtcHR5KHBhcmFtcykpIHtcbiAgICAgIGV4cGFuZCA9IGAke2V4cGFuZH0oJHtPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gYCQke2tleX09JHtwYXJhbXNba2V5XX1gKVxuICAgICAgICAuam9pbignOycpfSlgO1xuICAgIH1cbiAgICByZXR1cm4gZXhwYW5kO1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgY29uc3QgdmFsdWVzID0gT2JqZWN0LmtleXModGhpcy52YWx1ZXMpLnJlZHVjZShcbiAgICAgIChhY2MsIGtleSkgPT5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihhY2MsIHsgW2tleV06IE9iamVjdHMuY2xvbmUodGhpcy52YWx1ZXNba2V5XSkgfSksXG4gICAgICB7fVxuICAgICk7XG4gICAgcmV0dXJuIG5ldyBFeHBhbmRGaWVsZDxUPihcbiAgICAgIHR5cGVvZiB0aGlzLmZpZWxkID09PSAnc3RyaW5nJyA/IHRoaXMuZmllbGQgOiB0aGlzLmZpZWxkLmNsb25lKCksXG4gICAgICB2YWx1ZXNcbiAgICApO1xuICB9XG5cbiAgcmVzb2x2ZShwYXJzZXI6IGFueSkge1xuICAgIHJldHVybiBwYXJzZXI7XG4gIH1cblxuICBzZWxlY3QoXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogU2VsZWN0RXhwcmVzc2lvbkJ1aWxkZXI8VD4sXG4gICAgICBjdXJyZW50PzogU2VsZWN0RXhwcmVzc2lvbjxUPlxuICAgICkgPT4gU2VsZWN0RXhwcmVzc2lvbjxUPlxuICApOiBTZWxlY3RFeHByZXNzaW9uPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5zZWxlY3QsXG4gICAgICBTZWxlY3RFeHByZXNzaW9uLmZhY3Rvcnk8VD4ob3B0cywgdGhpcy52YWx1ZXNbUXVlcnlPcHRpb24uc2VsZWN0XSlcbiAgICApO1xuICB9XG5cbiAgZXhwYW5kKFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IEV4cGFuZEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IEV4cGFuZEV4cHJlc3Npb248VD5cbiAgICApID0+IEV4cGFuZEV4cHJlc3Npb248VD5cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uZXhwYW5kLFxuICAgICAgRXhwYW5kRXhwcmVzc2lvbi5mYWN0b3J5PFQ+KG9wdHMsIHRoaXMudmFsdWVzW1F1ZXJ5T3B0aW9uLmV4cGFuZF0pXG4gICAgKTtcbiAgfVxuXG4gIGZpbHRlcihcbiAgICBvcHRzOiAoXG4gICAgICBidWlsZGVyOiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlcjxUPixcbiAgICAgIGN1cnJlbnQ/OiBGaWx0ZXJFeHByZXNzaW9uPFQ+XG4gICAgKSA9PiBGaWx0ZXJFeHByZXNzaW9uPFQ+XG4gICkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbihcbiAgICAgIFF1ZXJ5T3B0aW9uLmZpbHRlcixcbiAgICAgIEZpbHRlckV4cHJlc3Npb24uZmFjdG9yeTxUPihvcHRzLCB0aGlzLnZhbHVlc1tRdWVyeU9wdGlvbi5maWx0ZXJdKVxuICAgICk7XG4gIH1cblxuICBzZWFyY2gob3B0czogKGJ1aWxkZXI6IFNlYXJjaEV4cHJlc3Npb25CdWlsZGVyPFQ+KSA9PiBTZWFyY2hFeHByZXNzaW9uPFQ+KSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uKFxuICAgICAgUXVlcnlPcHRpb24uc2VhcmNoLFxuICAgICAgU2VhcmNoRXhwcmVzc2lvbi5mYWN0b3J5PFQ+KG9wdHMsIHRoaXMudmFsdWVzW1F1ZXJ5T3B0aW9uLnNlYXJjaF0pXG4gICAgKTtcbiAgfVxuXG4gIG9yZGVyQnkoXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogT3JkZXJCeUV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IE9yZGVyQnlFeHByZXNzaW9uPFQ+XG4gICAgKSA9PiBPcmRlckJ5RXhwcmVzc2lvbjxUPlxuICApIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb24oXG4gICAgICBRdWVyeU9wdGlvbi5vcmRlckJ5LFxuICAgICAgT3JkZXJCeUV4cHJlc3Npb24uZmFjdG9yeTxUPihvcHRzLCB0aGlzLnZhbHVlc1tRdWVyeU9wdGlvbi5vcmRlckJ5XSlcbiAgICApO1xuICB9XG5cbiAgc2tpcChuOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb248bnVtYmVyPihRdWVyeU9wdGlvbi5za2lwLCBuKTtcbiAgfVxuXG4gIHRvcChuOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb248bnVtYmVyPihRdWVyeU9wdGlvbi50b3AsIG4pO1xuICB9XG5cbiAgbGV2ZWxzKG46IG51bWJlciB8ICdtYXgnKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPG51bWJlciB8ICdtYXgnPihRdWVyeU9wdGlvbi5sZXZlbHMsIG4pO1xuICB9XG5cbiAgY291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9uPGJvb2xlYW4+KFF1ZXJ5T3B0aW9uLmNvdW50LCB0cnVlKTtcbiAgfVxuXG4gIC8vIE9wdGlvbiBIYW5kbGVyXG4gIHByaXZhdGUgb3B0aW9uPE8+KG5hbWU6IFF1ZXJ5T3B0aW9uLCBvcHRzPzogTykge1xuICAgIGlmIChvcHRzICE9PSB1bmRlZmluZWQpIHRoaXMudmFsdWVzW25hbWVdID0gb3B0cztcbiAgICByZXR1cm4gdGhpcy52YWx1ZXNbbmFtZV0gYXMgTztcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBFeHBhbmRFeHByZXNzaW9uQnVpbGRlcjxUPiA9IHtcbiAgdDogUmVxdWlyZWQ8VD47XG4gIGU6ICgpID0+IEV4cGFuZEV4cHJlc3Npb248VD47XG59O1xuZXhwb3J0IGNsYXNzIEV4cGFuZEV4cHJlc3Npb248VD4gZXh0ZW5kcyBFeHByZXNzaW9uPFQ+IHtcbiAgY29uc3RydWN0b3Ioe1xuICAgIGNoaWxkcmVuLFxuICB9OiB7XG4gICAgY2hpbGRyZW4/OiBSZW5kZXJhYmxlW107XG4gIH0gPSB7fSkge1xuICAgIHN1cGVyKHsgY2hpbGRyZW4gfSk7XG4gIH1cblxuICBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKSB7XG4gICAgcmV0dXJuICdFeHBhbmRFeHByZXNzaW9uJztcbiAgfVxuXG4gIHN0YXRpYyBmYWN0b3J5PFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IEV4cGFuZEV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IEV4cGFuZEV4cHJlc3Npb248VD5cbiAgICApID0+IEV4cGFuZEV4cHJlc3Npb248VD4sXG4gICAgY3VycmVudD86IEV4cGFuZEV4cHJlc3Npb248VD5cbiAgKTogRXhwYW5kRXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG9wdHMoXG4gICAgICB7XG4gICAgICAgIHQ6IEZpZWxkRmFjdG9yeTxSZXF1aXJlZDxUPj4oKSxcbiAgICAgICAgZTogKCkgPT4gbmV3IEV4cGFuZEV4cHJlc3Npb248VD4oKSxcbiAgICAgIH0sXG4gICAgICBjdXJyZW50XG4gICAgKSBhcyBFeHBhbmRFeHByZXNzaW9uPFQ+O1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Kc29uKCkge1xuICAgIGNvbnN0IGpzb24gPSBzdXBlci50b0pzb24oKTtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihqc29uLCB7fSk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpzb248VD4oanNvbjogeyBbbmFtZTogc3RyaW5nXTogYW55IH0pOiBFeHBhbmRFeHByZXNzaW9uPFQ+IHtcbiAgICByZXR1cm4gbmV3IEV4cGFuZEV4cHJlc3Npb248VD4oe1xuICAgICAgY2hpbGRyZW46IGpzb25bJ2NoaWxkcmVuJ10ubWFwKChjOiBhbnkpID0+IFJlbmRlcmFibGVGYWN0b3J5KGMpKSxcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlcih7XG4gICAgYWxpYXNlcyxcbiAgICBlc2NhcGUsXG4gICAgcHJlZml4LFxuICAgIHBhcnNlcixcbiAgICBvcHRpb25zLFxuICB9OiB7XG4gICAgYWxpYXNlcz86IFF1ZXJ5Q3VzdG9tVHlwZVtdO1xuICAgIGVzY2FwZT86IGJvb2xlYW47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIHBhcnNlcj86IFBhcnNlcjxUPjtcbiAgICBvcHRpb25zPzogUGFyc2VyT3B0aW9ucztcbiAgfSA9IHt9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW5cbiAgICAgIC5tYXAoKG4pID0+IG4ucmVuZGVyKHsgYWxpYXNlcywgZXNjYXBlLCBwcmVmaXgsIHBhcnNlciwgb3B0aW9ucyB9KSlcbiAgICAgIC5qb2luKCcsJyk7XG4gIH1cblxuICBjbG9uZSgpIHtcbiAgICByZXR1cm4gbmV3IEV4cGFuZEV4cHJlc3Npb248VD4oe1xuICAgICAgY2hpbGRyZW46IHRoaXMuX2NoaWxkcmVuLm1hcCgoYykgPT4gYy5jbG9uZSgpKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZChub2RlOiBSZW5kZXJhYmxlKTogRXhwYW5kRXhwcmVzc2lvbjxUPiB7XG4gICAgdGhpcy5fY2hpbGRyZW4ucHVzaChub2RlKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGZpZWxkPEY+KFxuICAgIGZpZWxkOiBGLFxuICAgIG9wdHM/OiAoZTogRXhwYW5kRmllbGQ8VW5wYWNrZWQ8Rj4+KSA9PiB2b2lkXG4gICk6IEV4cGFuZEV4cHJlc3Npb248VD4ge1xuICAgIGxldCBub2RlID0gbmV3IEV4cGFuZEZpZWxkPFVucGFja2VkPEY+PihmaWVsZCk7XG4gICAgaWYgKG9wdHMgIT09IHVuZGVmaW5lZCkgb3B0cyhub2RlKTtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG5vZGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { Expression } from './base';
|
|
2
2
|
import { CountExpression } from './count';
|
|
3
|
-
import { FieldFactory, functions,
|
|
3
|
+
import { FieldFactory, functions, operators, RenderableFactory, syntax, } from './syntax';
|
|
4
4
|
export class FilterExpression extends Expression {
|
|
5
5
|
constructor({ children, connector, negated, } = {}) {
|
|
6
6
|
super({ children });
|
|
7
7
|
this._connector = connector || 'and';
|
|
8
8
|
this._negated = negated || false;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
get [Symbol.toStringTag]() {
|
|
11
|
+
return 'FilterExpression';
|
|
12
|
+
}
|
|
13
|
+
static factory(opts, current) {
|
|
11
14
|
return opts({
|
|
12
15
|
e: (connector = 'and') => new FilterExpression({ connector }),
|
|
13
16
|
t: FieldFactory(),
|
|
@@ -15,12 +18,19 @@ export class FilterExpression extends Expression {
|
|
|
15
18
|
f: functions,
|
|
16
19
|
}, current);
|
|
17
20
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
toJson() {
|
|
22
|
+
const json = super.toJson();
|
|
23
|
+
return Object.assign(json, {
|
|
21
24
|
connector: this._connector,
|
|
22
25
|
negated: this._negated,
|
|
23
|
-
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
static fromJson(json) {
|
|
29
|
+
return new FilterExpression({
|
|
30
|
+
children: json['children'].map((c) => RenderableFactory(c)),
|
|
31
|
+
connector: json['connector'],
|
|
32
|
+
negated: json['negated'],
|
|
33
|
+
});
|
|
24
34
|
}
|
|
25
35
|
connector() {
|
|
26
36
|
return this._connector;
|
|
@@ -28,9 +38,9 @@ export class FilterExpression extends Expression {
|
|
|
28
38
|
negated() {
|
|
29
39
|
return this._negated;
|
|
30
40
|
}
|
|
31
|
-
render({ aliases, escape, prefix, parser, } = {}) {
|
|
41
|
+
render({ aliases, escape, prefix, parser, options, } = {}) {
|
|
32
42
|
let content = this._children
|
|
33
|
-
.map((n) => n.render({ aliases, escape, prefix, parser }))
|
|
43
|
+
.map((n) => n.render({ aliases, escape, prefix, parser, options }))
|
|
34
44
|
.join(` ${this._connector} `);
|
|
35
45
|
if (this._negated) {
|
|
36
46
|
content = `not (${content})`;
|
|
@@ -58,7 +68,7 @@ export class FilterExpression extends Expression {
|
|
|
58
68
|
negated: this._negated,
|
|
59
69
|
});
|
|
60
70
|
if (exp.length() > 1) {
|
|
61
|
-
children.push(
|
|
71
|
+
children.push(syntax.group(exp));
|
|
62
72
|
}
|
|
63
73
|
else {
|
|
64
74
|
children.push(exp);
|
|
@@ -70,7 +80,7 @@ export class FilterExpression extends Expression {
|
|
|
70
80
|
children = [...children, ...node.children()];
|
|
71
81
|
}
|
|
72
82
|
else {
|
|
73
|
-
children.push(
|
|
83
|
+
children.push(syntax.group(node));
|
|
74
84
|
}
|
|
75
85
|
this._connector = connector;
|
|
76
86
|
this._children = children;
|
|
@@ -82,7 +92,7 @@ export class FilterExpression extends Expression {
|
|
|
82
92
|
}
|
|
83
93
|
else {
|
|
84
94
|
this._children.push(node instanceof FilterExpression && !node.negated()
|
|
85
|
-
?
|
|
95
|
+
? syntax.group(node)
|
|
86
96
|
: node);
|
|
87
97
|
}
|
|
88
98
|
return this;
|
|
@@ -139,16 +149,23 @@ export class FilterExpression extends Expression {
|
|
|
139
149
|
if (opts !== undefined) {
|
|
140
150
|
exp = opts({
|
|
141
151
|
t: FieldFactory(),
|
|
152
|
+
o: operators,
|
|
153
|
+
f: functions,
|
|
142
154
|
e: (connector = 'and') => new FilterExpression({ connector }),
|
|
143
155
|
});
|
|
144
156
|
}
|
|
145
157
|
return this._add(syntax.any(left, exp, alias));
|
|
146
158
|
}
|
|
147
159
|
all(left, opts, alias) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
160
|
+
let exp = undefined;
|
|
161
|
+
if (opts !== undefined) {
|
|
162
|
+
exp = opts({
|
|
163
|
+
t: FieldFactory(),
|
|
164
|
+
o: operators,
|
|
165
|
+
f: functions,
|
|
166
|
+
e: (connector = 'and') => new FilterExpression({ connector }),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
152
169
|
return this._add(syntax.all(left, exp, alias));
|
|
153
170
|
}
|
|
154
171
|
count(left, opts) {
|
|
@@ -158,4 +175,4 @@ export class FilterExpression extends Expression {
|
|
|
158
175
|
return this._add(syntax.isof(left, type));
|
|
159
176
|
}
|
|
160
177
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3Jlc291cmNlcy9xdWVyeS9leHByZXNzaW9ucy9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sU0FBUyxDQUFDO0FBQ3RELE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUNULFFBQVEsRUFJUixTQUFTLEVBRVQsTUFBTSxHQUNQLE1BQU0sVUFBVSxDQUFDO0FBVWxCLE1BQU0sT0FBTyxnQkFBb0IsU0FBUSxVQUFhO0lBR3BELFlBQVksRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sTUFLTCxFQUFFO1FBQ0osS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUNYLElBR3dCLEVBQ3hCLE9BQTZCO1FBRTdCLE9BQU8sSUFBSSxDQUNUO1lBQ0UsQ0FBQyxFQUFFLENBQUMsWUFBNkIsS0FBSyxFQUFFLEVBQUUsQ0FDeEMsSUFBSSxnQkFBZ0IsQ0FBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLENBQUMsRUFBRSxZQUFZLEVBQXlCO1lBQ3hDLENBQUMsRUFBRSxTQUE4QjtZQUNqQyxDQUFDLEVBQUUsU0FBOEI7U0FDbEMsRUFDRCxPQUFPLENBQ2UsQ0FBQztJQUMzQixDQUFDO0lBRVEsTUFBTTtRQUNiLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUs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Q0FBQzthQUN6QyxDQUF3QixDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxHQUFHLENBQ0QsSUFBUyxFQUNULElBR3lCLEVBQ3pCLEtBQWM7UUFFZCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDZixDQUFDLEVBQUUsWUFBWSxFQUF5QjtZQUN4QyxDQUFDLEVBQUUsQ0FBQyxZQUE2QixLQUFLLEVBQUUsRUFBRSxDQUN4QyxJQUFJLGdCQUFnQixDQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDekMsQ0FBd0IsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELEtBQUssQ0FDSCxJQUFTLEVBQ1QsSUFBNEQ7UUFFNUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxFQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFJRCxJQUFJLENBQUMsSUFBUyxFQUFFLElBQWE7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBRdWVyeUN1c3RvbVR5cGUgfSBmcm9tICcuLi9idWlsZGVyJztcbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgQ291bnRFeHByZXNzaW9uLCBDb3VudEZpZWxkIH0gZnJvbSAnLi9jb3VudCc7XG5pbXBvcnQge1xuICBGaWVsZEZhY3RvcnksXG4gIGZ1bmN0aW9ucyxcbiAgR3JvdXBpbmcsXG4gIE5vcm1hbGl6ZSxcbiAgT0RhdGFGdW5jdGlvbnMsXG4gIE9EYXRhT3BlcmF0b3JzLFxuICBvcGVyYXRvcnMsXG4gIFJlbmRlcmFibGUsXG4gIHN5bnRheCxcbn0gZnJvbSAnLi9zeW50YXgnO1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJDb25uZWN0b3IgPSAnYW5kJyB8ICdvcic7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckV4cHJlc3Npb25CdWlsZGVyPFQ+ID0ge1xuICB0OiBSZWFkb25seTxSZXF1aXJlZDxUPj47XG4gIGU6IChjb25uZWN0b3I/OiBGaWx0ZXJDb25uZWN0b3IpID0+IEZpbHRlckV4cHJlc3Npb248VD47XG4gIG86IE9EYXRhT3BlcmF0b3JzPFQ+O1xuICBmOiBPRGF0YUZ1bmN0aW9uczxUPjtcbn07XG5leHBvcnQgY2xhc3MgRmlsdGVyRXhwcmVzc2lvbjxGPiBleHRlbmRzIEV4cHJlc3Npb248Rj4ge1xuICBwcml2YXRlIF9jb25uZWN0b3I6IEZpbHRlckNvbm5lY3RvcjtcbiAgcHJpdmF0ZSBfbmVnYXRlZDogYm9vbGVhbjtcbiAgY29uc3RydWN0b3Ioe1xuICAgIGNoaWxkcmVuLFxuICAgIGNvbm5lY3RvcixcbiAgICBuZWdhdGVkLFxuICB9OiB7XG4gICAgY2hpbGRyZW4/OiBSZW5kZXJhYmxlW107XG4gICAgY29ubmVjdG9yPzogRmlsdGVyQ29ubmVjdG9yO1xuICAgIG5lZ2F0ZWQ/OiBib29sZWFuO1xuICB9ID0ge30pIHtcbiAgICBzdXBlcih7IGNoaWxkcmVuIH0pO1xuICAgIHRoaXMuX2Nvbm5lY3RvciA9IGNvbm5lY3RvciB8fCAnYW5kJztcbiAgICB0aGlzLl9uZWdhdGVkID0gbmVnYXRlZCB8fCBmYWxzZTtcbiAgfVxuXG4gIHN0YXRpYyBmaWx0ZXI8VD4oXG4gICAgb3B0czogKFxuICAgICAgYnVpbGRlcjogRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXI8VD4sXG4gICAgICBjdXJyZW50PzogRmlsdGVyRXhwcmVzc2lvbjxUPixcbiAgICApID0+IEZpbHRlckV4cHJlc3Npb248VD4sXG4gICAgY3VycmVudD86IEZpbHRlckV4cHJlc3Npb248VD4sXG4gICk6IEZpbHRlckV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBvcHRzKFxuICAgICAge1xuICAgICAgICBlOiAoY29ubmVjdG9yOiBGaWx0ZXJDb25uZWN0b3IgPSAnYW5kJykgPT5cbiAgICAgICAgICBuZXcgRmlsdGVyRXhwcmVzc2lvbjxUPih7IGNvbm5lY3RvciB9KSxcbiAgICAgICAgdDogRmllbGRGYWN0b3J5PFJlYWRvbmx5PFJlcXVpcmVkPFQ+Pj4oKSxcbiAgICAgICAgbzogb3BlcmF0b3JzIGFzIE9EYXRhT3BlcmF0b3JzPFQ+LFxuICAgICAgICBmOiBmdW5jdGlvbnMgYXMgT0RhdGFGdW5jdGlvbnM8VD4sXG4gICAgICB9LFxuICAgICAgY3VycmVudCxcbiAgICApIGFzIEZpbHRlckV4cHJlc3Npb248VD47XG4gIH1cblxuICBvdmVycmlkZSB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNoaWxkcmVuOiB0aGlzLl9jaGlsZHJlbi5tYXAoKGMpID0+IGMudG9KU09OKCkpLFxuICAgICAgY29ubmVjdG9yOiB0aGlzLl9jb25uZWN0b3IsXG4gICAgICBuZWdhdGVkOiB0aGlzLl9uZWdhdGVkLFxuICAgIH07XG4gIH1cblxuICBjb25uZWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3RvcjtcbiAgfVxuXG4gIG5lZ2F0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25lZ2F0ZWQ7XG4gIH1cblxuICByZW5kZXIoe1xuICAgIGFsaWFzZXMsXG4gICAgZXNjYXBlLFxuICAgIHByZWZpeCxcbiAgICBwYXJzZXIsXG4gIH06IHtcbiAgICBhbGlhc2VzPzogUXVlcnlDdXN0b21UeXBlW107XG4gICAgZXNjYXBlPzogYm9vbGVhbjtcbiAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgcGFyc2VyPzogUGFyc2VyPGFueT47XG4gIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgbGV0IGNvbnRlbnQgPSB0aGlzLl9jaGlsZHJlblxuICAgICAgLm1hcCgobikgPT4gbi5yZW5kZXIoeyBhbGlhc2VzLCBlc2NhcGUsIHByZWZpeCwgcGFyc2VyIH0pKVxuICAgICAgLmpvaW4oYCAke3RoaXMuX2Nvbm5lY3Rvcn0gYCk7XG4gICAgaWYgKHRoaXMuX25lZ2F0ZWQpIHtcbiAgICAgIGNvbnRlbnQgPSBgbm90ICgke2NvbnRlbnR9KWA7XG4gICAgfVxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgY2xvbmUoKSB7XG4gICAgcmV0dXJuIG5ldyBGaWx0ZXJFeHByZXNzaW9uPEY+KHtcbiAgICAgIGNoaWxkcmVuOiB0aGlzLl9jaGlsZHJlbi5tYXAoKGMpID0+IGMuY2xvbmUoKSksXG4gICAgICBjb25uZWN0b3I6IHRoaXMuX2Nvbm5lY3RvcixcbiAgICAgIG5lZ2F0ZWQ6IHRoaXMuX25lZ2F0ZWQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hZGQoXG4gICAgbm9kZTogUmVuZGVyYWJsZSxcbiAgICBjb25uZWN0b3I/OiBGaWx0ZXJDb25uZWN0b3IsXG4gICk6IEZpbHRlckV4cHJlc3Npb248Rj4ge1xuICAgIGlmIChjb25uZWN0b3IgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9jb25uZWN0b3IgIT09IGNvbm5lY3Rvcikge1xuICAgICAgbGV0IGNoaWxkcmVuOiBSZW5kZXJhYmxlW10gPSBbXTtcbiAgICAgIGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICBjaGlsZHJlbiA9IFsuLi50aGlzLl9jaGlsZHJlbl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGV4cCA9IG5ldyBGaWx0ZXJFeHByZXNzaW9uPEY+KHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLl9jaGlsZHJlbixcbiAgICAgICAgICAgIGNvbm5lY3RvcjogdGhpcy5fY29ubmVjdG9yLFxuICAgICAgICAgICAgbmVnYXRlZDogdGhpcy5fbmVnYXRlZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoZXhwLmxlbmd0aCgpID4gMSkge1xuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChuZXcgR3JvdXBpbmcoZXhwKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goZXhwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIEZpbHRlckV4cHJlc3Npb24gJiZcbiAgICAgICAgKG5vZGUuY29ubmVjdG9yKCkgPT09IGNvbm5lY3RvciB8fCBub2RlLmxlbmd0aCgpID09PSAxKVxuICAgICAgKSB7XG4gICAgICAgIGNoaWxkcmVuID0gWy4uLmNoaWxkcmVuLCAuLi5ub2RlLmNoaWxkcmVuKCldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGRyZW4ucHVzaChuZXcgR3JvdXBpbmcobm9kZSkpO1xuICAgICAgfVxuICAgICAgdGhpcy5fY29ubmVjdG9yID0gY29ubmVjdG9yO1xuICAgICAgdGhpcy5fY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbm9kZSBpbnN0YW5jZW9mIEZpbHRlckV4cHJlc3Npb24gJiZcbiAgICAgICFub2RlLm5lZ2F0ZWQoKSAmJlxuICAgICAgKG5vZGUuY29ubmVjdG9yKCkgPT09IGNvbm5lY3RvciB8fCBub2RlLmxlbmd0aCgpID09PSAxKVxuICAgICkge1xuICAgICAgdGhpcy5fY2hpbGRyZW4gPSBbLi4udGhpcy5fY2hpbGRyZW4sIC4uLm5vZGUuY2hpbGRyZW4oKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goXG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBGaWx0ZXJFeHByZXNzaW9uICYmICFub2RlLm5lZ2F0ZWQoKVxuICAgICAgICAgID8gbmV3IEdyb3VwaW5nKG5vZGUpXG4gICAgICAgICAgOiBub2RlLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBvcihleHA6IEZpbHRlckV4cHJlc3Npb248Rj4pOiBGaWx0ZXJFeHByZXNzaW9uPEY+IHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKGV4cCwgJ29yJyk7XG4gIH1cblxuICBhbmQoZXhwOiBGaWx0ZXJFeHByZXNzaW9uPEY+KTogRmlsdGVyRXhwcmVzc2lvbjxGPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChleHAsICdhbmQnKTtcbiAgfVxuXG4gIG5vdChleHA6IEZpbHRlckV4cHJlc3Npb248Rj4pOiBGaWx0ZXJFeHByZXNzaW9uPEY+IHtcbiAgICBjb25zdCBub3RFeHAgPSBuZXcgRmlsdGVyRXhwcmVzc2lvbjxGPih7XG4gICAgICBjaGlsZHJlbjogZXhwLmNoaWxkcmVuKCksXG4gICAgICBjb25uZWN0b3I6IGV4cC5jb25uZWN0b3IoKSxcbiAgICAgIG5lZ2F0ZWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkKG5vdEV4cCwgdGhpcy5fY29ubmVjdG9yKTtcbiAgfVxuXG4gIGVxKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChvcGVyYXRvcnMuZXEobGVmdCwgcmlnaHQsIG5vcm1hbGl6ZSkpO1xuICB9XG5cbiAgbmUobGVmdDogYW55LCByaWdodDogYW55LCBub3JtYWxpemU6IE5vcm1hbGl6ZSA9ICdyaWdodCcpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG9wZXJhdG9ycy5uZShsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBndChsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQob3BlcmF0b3JzLmd0KGxlZnQsIHJpZ2h0LCBub3JtYWxpemUpKTtcbiAgfVxuXG4gIGdlKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChvcGVyYXRvcnMuZ2UobGVmdCwgcmlnaHQsIG5vcm1hbGl6ZSkpO1xuICB9XG5cbiAgbHQobGVmdDogYW55LCByaWdodDogYW55LCBub3JtYWxpemU6IE5vcm1hbGl6ZSA9ICdyaWdodCcpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG9wZXJhdG9ycy5sdChsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBsZShsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQob3BlcmF0b3JzLmxlKGxlZnQsIHJpZ2h0LCBub3JtYWxpemUpKTtcbiAgfVxuXG4gIGhhcyhsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQob3BlcmF0b3JzLmhhcyhsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBpbihsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQob3BlcmF0b3JzLmluKGxlZnQsIHJpZ2h0LCBub3JtYWxpemUpKTtcbiAgfVxuXG4gIGNvbnRhaW5zKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChmdW5jdGlvbnMuY29udGFpbnMobGVmdCwgcmlnaHQsIG5vcm1hbGl6ZSkpO1xuICB9XG5cbiAgc3RhcnRzV2l0aChsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQoZnVuY3Rpb25zLnN0YXJ0c1dpdGgobGVmdCwgcmlnaHQsIG5vcm1hbGl6ZSkpO1xuICB9XG5cbiAgZW5kc1dpdGgobGVmdDogYW55LCByaWdodDogYW55LCBub3JtYWxpemU6IE5vcm1hbGl6ZSA9ICdyaWdodCcpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKGZ1bmN0aW9ucy5lbmRzV2l0aChsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBhbnk8Tj4oXG4gICAgbGVmdDogTltdLFxuICAgIG9wdHM/OiAoZToge1xuICAgICAgZTogKGNvbm5lY3Rvcj86IEZpbHRlckNvbm5lY3RvcikgPT4gRmlsdGVyRXhwcmVzc2lvbjxOPjtcbiAgICAgIHQ6IE47XG4gICAgfSkgPT4gRmlsdGVyRXhwcmVzc2lvbjxOPixcbiAgICBhbGlhcz86IHN0cmluZyxcbiAgKTogRmlsdGVyRXhwcmVzc2lvbjxGPiB7XG4gICAgbGV0IGV4cCA9IHVuZGVmaW5lZDtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBleHAgPSBvcHRzKHtcbiAgICAgICAgdDogRmllbGRGYWN0b3J5PFJlYWRvbmx5PFJlcXVpcmVkPE4+Pj4oKSxcbiAgICAgICAgZTogKGNvbm5lY3RvcjogRmlsdGVyQ29ubmVjdG9yID0gJ2FuZCcpID0+XG4gICAgICAgICAgbmV3IEZpbHRlckV4cHJlc3Npb248Tj4oeyBjb25uZWN0b3IgfSksXG4gICAgICB9KSBhcyBGaWx0ZXJFeHByZXNzaW9uPE4+O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYWRkKHN5bnRheC5hbnkobGVmdCwgZXhwLCBhbGlhcykpO1xuICB9XG5cbiAgYWxsPE4+KFxuICAgIGxlZnQ6IE5bXSxcbiAgICBvcHRzOiAoZToge1xuICAgICAgdDogTjtcbiAgICAgIGU6IChjb25uZWN0b3I/OiBGaWx0ZXJDb25uZWN0b3IpID0+IEZpbHRlckV4cHJlc3Npb248Tj47XG4gICAgfSkgPT4gRmlsdGVyRXhwcmVzc2lvbjxOPixcbiAgICBhbGlhcz86IHN0cmluZyxcbiAgKTogRmlsdGVyRXhwcmVzc2lvbjxGPiB7XG4gICAgY29uc3QgZXhwID0gb3B0cyh7XG4gICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVhZG9ubHk8UmVxdWlyZWQ8Tj4+PigpLFxuICAgICAgZTogKGNvbm5lY3RvcjogRmlsdGVyQ29ubmVjdG9yID0gJ2FuZCcpID0+XG4gICAgICAgIG5ldyBGaWx0ZXJFeHByZXNzaW9uPE4+KHsgY29ubmVjdG9yIH0pLFxuICAgIH0pIGFzIEZpbHRlckV4cHJlc3Npb248Tj47XG4gICAgcmV0dXJuIHRoaXMuX2FkZChzeW50YXguYWxsKGxlZnQsIGV4cCwgYWxpYXMpKTtcbiAgfVxuXG4gIGNvdW50PE4+KFxuICAgIGxlZnQ6IE5bXSxcbiAgICBvcHRzPzogKGU6IHsgdDogTjsgZjogQ291bnRGaWVsZDxOPiB9KSA9PiBDb3VudEV4cHJlc3Npb248Tj4sXG4gICk6IEZpbHRlckV4cHJlc3Npb248Rj4ge1xuICAgIHJldHVybiB0aGlzLl9hZGQobmV3IENvdW50RXhwcmVzc2lvbjxOPigpLmZpZWxkKGxlZnQsIG9wdHMpKTtcbiAgfVxuXG4gIGlzb2YodHlwZTogc3RyaW5nKTogRmlsdGVyRXhwcmVzc2lvbjxGPjtcbiAgaXNvZihsZWZ0OiBGLCB0eXBlOiBzdHJpbmcpOiBGaWx0ZXJFeHByZXNzaW9uPEY+O1xuICBpc29mKGxlZnQ6IGFueSwgdHlwZT86IHN0cmluZyk6IEZpbHRlckV4cHJlc3Npb248Rj4ge1xuICAgIHJldHVybiB0aGlzLl9hZGQoc3ludGF4Lmlzb2YobGVmdCwgdHlwZSkpO1xuICB9XG59XG4iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL3Jlc291cmNlcy9xdWVyeS9leHByZXNzaW9ucy9maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sU0FBUyxDQUFDO0FBQ3RELE9BQU8sRUFDTCxZQUFZLEVBQ1osU0FBUyxFQUlULFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsTUFBTSxHQUNQLE1BQU0sVUFBVSxDQUFDO0FBVWxCLE1BQU0sT0FBTyxnQkFBb0IsU0FBUSxVQUFhO0lBR3BELFlBQVksRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNULE9BQU8sTUFLTCxFQUFFO1FBQ0osS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN0QixPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUNaLElBR3dCLEVBQ3hCLE9BQTZCO1FBRTdCLE9BQU8sSUFBSSxDQUNUO1lBQ0UsQ0FBQyxFQUFFLENBQUMsWUFBNkIsS0FBSyxFQUFFLEVBQUUsQ0FDeEMsSUFBSSxnQkFBZ0IsQ0FBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLENBQUMsRUFBRSxZQUFZLEVBQWU7WUFDOUIsQ0FBQyxFQUFFLFNBQThCO1lBQ2pDLENBQUMsRUFBRSxTQUE4QjtTQUNsQyxFQUNELE9BQU8sQ0FDZSxDQUFDO0lBQzNCLENBQUM7SUFFUSxNQUFNO1FBQ2IsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBSSxJQUE2QjtRQUM5QyxPQUFPLElBQUksZ0JBQWdCLENBQUk7WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzVCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxNQU9MLEVBQUU7UUFDSixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUzthQUN6QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUNsRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxHQUFHLFFBQVEsT0FBTyxHQUFHLENBQUM7U0FDOUI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxnQkFBZ0IsQ0FBSTtZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxJQUFJLENBQ1YsSUFBZ0IsRUFDaEIsU0FBMkI7UUFFM0IsSUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQzVELElBQUksUUFBUSxHQUFpQixFQUFFLENBQUM7WUFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUMvQixRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDaEM7cUJBQU07b0JBQ0wsSUFBSSxHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBSTt3QkFDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO3dCQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7d0JBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtxQkFDdkIsQ0FBQyxDQUFDO29CQUNILElBQUksR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRTt3QkFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQ2xDO3lCQUFNO3dCQUNMLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3BCO2lCQUNGO2FBQ0Y7WUFDRCxJQUNFLElBQUksWUFBWSxnQkFBZ0I7Z0JBQ2hDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQ3ZEO2dCQUNBLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDOUM7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDbkM7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztTQUMzQjthQUFNLElBQ0wsSUFBSSxZQUFZLGdCQUFnQjtZQUNoQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUN2RDtZQUNBLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLElBQUksWUFBWSxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pELENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLElBQUksQ0FDVCxDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxFQUFFLENBQUMsR0FBd0I7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUF3QjtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLGdCQUFnQixDQUFJO1lBQ3JDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3hCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFO1lBQzFCLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLFlBQXVCLE9BQU87UUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxZQUF1QixPQUFPO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsWUFBdUIsT0FBTztRQUN0RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELEVBQUUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLFlBQXVCLE9BQU87UUFDdEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxZQUF1QixPQUFPO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsRUFBRSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsWUFBdUIsT0FBTztRQUN0RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLFlBQXVCLE9BQU87UUFDdkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxFQUFFLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxZQUF1QixPQUFPO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVMsRUFBRSxLQUFVLEVBQUUsWUFBdUIsT0FBTztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTLEVBQUUsS0FBVSxFQUFFLFlBQXVCLE9BQU87UUFDOUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBUyxFQUFFLEtBQVUsRUFBRSxZQUF1QixPQUFPO1FBQzVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsR0FBRyxDQUNELElBQVMsRUFDVCxJQUt5QixFQUN6QixLQUFjO1FBRWQsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixHQUFHLEdBQUcsSUFBSSxDQUFDO2dCQUNULENBQUMsRUFBRSxZQUFZLEVBQWU7Z0JBQzlCLENBQUMsRUFBRSxTQUE4QjtnQkFDakMsQ0FBQyxFQUFFLFNBQThCO2dCQUNqQyxDQUFDLEVBQUUsQ0FBQyxZQUE2QixLQUFLLEVBQUUsRUFBRSxDQUN4QyxJQUFJLGdCQUFnQixDQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7YUFDekMsQ0FBd0IsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsR0FBRyxDQUNELElBQVMsRUFDVCxJQUt5QixFQUN6QixLQUFjO1FBRWQsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixHQUFHLEdBQUcsSUFBSSxDQUFDO2dCQUNULENBQUMsRUFBRSxZQUFZLEVBQWU7Z0JBQzlCLENBQUMsRUFBRSxTQUE4QjtnQkFDakMsQ0FBQyxFQUFFLFNBQThCO2dCQUNqQyxDQUFDLEVBQUUsQ0FBQyxZQUE2QixLQUFLLEVBQUUsRUFBRSxDQUN4QyxJQUFJLGdCQUFnQixDQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7YUFDekMsQ0FBd0IsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUNILElBQVMsRUFDVCxJQUE0RDtRQUU1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxlQUFlLEVBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUlELElBQUksQ0FBQyxJQUFTLEVBQUUsSUFBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZXIsIFBhcnNlck9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFF1ZXJ5Q3VzdG9tVHlwZSB9IGZyb20gJy4uL2J1aWxkZXInO1xuaW1wb3J0IHsgRXhwcmVzc2lvbiB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBDb3VudEV4cHJlc3Npb24sIENvdW50RmllbGQgfSBmcm9tICcuL2NvdW50JztcbmltcG9ydCB7XG4gIEZpZWxkRmFjdG9yeSxcbiAgZnVuY3Rpb25zLFxuICBOb3JtYWxpemUsXG4gIE9EYXRhRnVuY3Rpb25zLFxuICBPRGF0YU9wZXJhdG9ycyxcbiAgb3BlcmF0b3JzLFxuICBSZW5kZXJhYmxlLFxuICBSZW5kZXJhYmxlRmFjdG9yeSxcbiAgc3ludGF4LFxufSBmcm9tICcuL3N5bnRheCc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckNvbm5lY3RvciA9ICdhbmQnIHwgJ29yJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyRXhwcmVzc2lvbkJ1aWxkZXI8VD4gPSB7XG4gIHQ6IFJlcXVpcmVkPFQ+O1xuICBlOiAoY29ubmVjdG9yPzogRmlsdGVyQ29ubmVjdG9yKSA9PiBGaWx0ZXJFeHByZXNzaW9uPFQ+O1xuICBvOiBPRGF0YU9wZXJhdG9yczxUPjtcbiAgZjogT0RhdGFGdW5jdGlvbnM8VD47XG59O1xuZXhwb3J0IGNsYXNzIEZpbHRlckV4cHJlc3Npb248Rj4gZXh0ZW5kcyBFeHByZXNzaW9uPEY+IHtcbiAgcHJpdmF0ZSBfY29ubmVjdG9yOiBGaWx0ZXJDb25uZWN0b3I7XG4gIHByaXZhdGUgX25lZ2F0ZWQ6IGJvb2xlYW47XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBjaGlsZHJlbixcbiAgICBjb25uZWN0b3IsXG4gICAgbmVnYXRlZCxcbiAgfToge1xuICAgIGNoaWxkcmVuPzogUmVuZGVyYWJsZVtdO1xuICAgIGNvbm5lY3Rvcj86IEZpbHRlckNvbm5lY3RvcjtcbiAgICBuZWdhdGVkPzogYm9vbGVhbjtcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIoeyBjaGlsZHJlbiB9KTtcbiAgICB0aGlzLl9jb25uZWN0b3IgPSBjb25uZWN0b3IgfHwgJ2FuZCc7XG4gICAgdGhpcy5fbmVnYXRlZCA9IG5lZ2F0ZWQgfHwgZmFsc2U7XG4gIH1cblxuICBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKSB7XG4gICAgcmV0dXJuICdGaWx0ZXJFeHByZXNzaW9uJztcbiAgfVxuXG4gIHN0YXRpYyBmYWN0b3J5PFQ+KFxuICAgIG9wdHM6IChcbiAgICAgIGJ1aWxkZXI6IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyPFQ+LFxuICAgICAgY3VycmVudD86IEZpbHRlckV4cHJlc3Npb248VD5cbiAgICApID0+IEZpbHRlckV4cHJlc3Npb248VD4sXG4gICAgY3VycmVudD86IEZpbHRlckV4cHJlc3Npb248VD5cbiAgKTogRmlsdGVyRXhwcmVzc2lvbjxUPiB7XG4gICAgcmV0dXJuIG9wdHMoXG4gICAgICB7XG4gICAgICAgIGU6IChjb25uZWN0b3I6IEZpbHRlckNvbm5lY3RvciA9ICdhbmQnKSA9PlxuICAgICAgICAgIG5ldyBGaWx0ZXJFeHByZXNzaW9uPFQ+KHsgY29ubmVjdG9yIH0pLFxuICAgICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVxdWlyZWQ8VD4+KCksXG4gICAgICAgIG86IG9wZXJhdG9ycyBhcyBPRGF0YU9wZXJhdG9yczxUPixcbiAgICAgICAgZjogZnVuY3Rpb25zIGFzIE9EYXRhRnVuY3Rpb25zPFQ+LFxuICAgICAgfSxcbiAgICAgIGN1cnJlbnRcbiAgICApIGFzIEZpbHRlckV4cHJlc3Npb248VD47XG4gIH1cblxuICBvdmVycmlkZSB0b0pzb24oKSB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnRvSnNvbigpO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGpzb24sIHtcbiAgICAgIGNvbm5lY3RvcjogdGhpcy5fY29ubmVjdG9yLFxuICAgICAgbmVnYXRlZDogdGhpcy5fbmVnYXRlZCxcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSnNvbjxUPihqc29uOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSk6IEZpbHRlckV4cHJlc3Npb248VD4ge1xuICAgIHJldHVybiBuZXcgRmlsdGVyRXhwcmVzc2lvbjxUPih7XG4gICAgICBjaGlsZHJlbjoganNvblsnY2hpbGRyZW4nXS5tYXAoKGM6IGFueSkgPT4gUmVuZGVyYWJsZUZhY3RvcnkoYykpLFxuICAgICAgY29ubmVjdG9yOiBqc29uWydjb25uZWN0b3InXSxcbiAgICAgIG5lZ2F0ZWQ6IGpzb25bJ25lZ2F0ZWQnXSxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbm5lY3RvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdG9yO1xuICB9XG5cbiAgbmVnYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbmVnYXRlZDtcbiAgfVxuXG4gIHJlbmRlcih7XG4gICAgYWxpYXNlcyxcbiAgICBlc2NhcGUsXG4gICAgcHJlZml4LFxuICAgIHBhcnNlcixcbiAgICBvcHRpb25zLFxuICB9OiB7XG4gICAgYWxpYXNlcz86IFF1ZXJ5Q3VzdG9tVHlwZVtdO1xuICAgIGVzY2FwZT86IGJvb2xlYW47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIHBhcnNlcj86IFBhcnNlcjxhbnk+O1xuICAgIG9wdGlvbnM/OiBQYXJzZXJPcHRpb25zO1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIGxldCBjb250ZW50ID0gdGhpcy5fY2hpbGRyZW5cbiAgICAgIC5tYXAoKG4pID0+IG4ucmVuZGVyKHsgYWxpYXNlcywgZXNjYXBlLCBwcmVmaXgsIHBhcnNlciwgb3B0aW9ucyB9KSlcbiAgICAgIC5qb2luKGAgJHt0aGlzLl9jb25uZWN0b3J9IGApO1xuICAgIGlmICh0aGlzLl9uZWdhdGVkKSB7XG4gICAgICBjb250ZW50ID0gYG5vdCAoJHtjb250ZW50fSlgO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGNsb25lKCkge1xuICAgIHJldHVybiBuZXcgRmlsdGVyRXhwcmVzc2lvbjxGPih7XG4gICAgICBjaGlsZHJlbjogdGhpcy5fY2hpbGRyZW4ubWFwKChjKSA9PiBjLmNsb25lKCkpLFxuICAgICAgY29ubmVjdG9yOiB0aGlzLl9jb25uZWN0b3IsXG4gICAgICBuZWdhdGVkOiB0aGlzLl9uZWdhdGVkLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkKFxuICAgIG5vZGU6IFJlbmRlcmFibGUsXG4gICAgY29ubmVjdG9yPzogRmlsdGVyQ29ubmVjdG9yXG4gICk6IEZpbHRlckV4cHJlc3Npb248Rj4ge1xuICAgIGlmIChjb25uZWN0b3IgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9jb25uZWN0b3IgIT09IGNvbm5lY3Rvcikge1xuICAgICAgbGV0IGNoaWxkcmVuOiBSZW5kZXJhYmxlW10gPSBbXTtcbiAgICAgIGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICh0aGlzLl9jaGlsZHJlbi5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICBjaGlsZHJlbiA9IFsuLi50aGlzLl9jaGlsZHJlbl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGV4cCA9IG5ldyBGaWx0ZXJFeHByZXNzaW9uPEY+KHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLl9jaGlsZHJlbixcbiAgICAgICAgICAgIGNvbm5lY3RvcjogdGhpcy5fY29ubmVjdG9yLFxuICAgICAgICAgICAgbmVnYXRlZDogdGhpcy5fbmVnYXRlZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoZXhwLmxlbmd0aCgpID4gMSkge1xuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChzeW50YXguZ3JvdXAoZXhwKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goZXhwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIEZpbHRlckV4cHJlc3Npb24gJiZcbiAgICAgICAgKG5vZGUuY29ubmVjdG9yKCkgPT09IGNvbm5lY3RvciB8fCBub2RlLmxlbmd0aCgpID09PSAxKVxuICAgICAgKSB7XG4gICAgICAgIGNoaWxkcmVuID0gWy4uLmNoaWxkcmVuLCAuLi5ub2RlLmNoaWxkcmVuKCldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGRyZW4ucHVzaChzeW50YXguZ3JvdXAobm9kZSkpO1xuICAgICAgfVxuICAgICAgdGhpcy5fY29ubmVjdG9yID0gY29ubmVjdG9yO1xuICAgICAgdGhpcy5fY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbm9kZSBpbnN0YW5jZW9mIEZpbHRlckV4cHJlc3Npb24gJiZcbiAgICAgICFub2RlLm5lZ2F0ZWQoKSAmJlxuICAgICAgKG5vZGUuY29ubmVjdG9yKCkgPT09IGNvbm5lY3RvciB8fCBub2RlLmxlbmd0aCgpID09PSAxKVxuICAgICkge1xuICAgICAgdGhpcy5fY2hpbGRyZW4gPSBbLi4udGhpcy5fY2hpbGRyZW4sIC4uLm5vZGUuY2hpbGRyZW4oKV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goXG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBGaWx0ZXJFeHByZXNzaW9uICYmICFub2RlLm5lZ2F0ZWQoKVxuICAgICAgICAgID8gc3ludGF4Lmdyb3VwKG5vZGUpXG4gICAgICAgICAgOiBub2RlXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIG9yKGV4cDogRmlsdGVyRXhwcmVzc2lvbjxGPik6IEZpbHRlckV4cHJlc3Npb248Rj4ge1xuICAgIHJldHVybiB0aGlzLl9hZGQoZXhwLCAnb3InKTtcbiAgfVxuXG4gIGFuZChleHA6IEZpbHRlckV4cHJlc3Npb248Rj4pOiBGaWx0ZXJFeHByZXNzaW9uPEY+IHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKGV4cCwgJ2FuZCcpO1xuICB9XG5cbiAgbm90KGV4cDogRmlsdGVyRXhwcmVzc2lvbjxGPik6IEZpbHRlckV4cHJlc3Npb248Rj4ge1xuICAgIGNvbnN0IG5vdEV4cCA9IG5ldyBGaWx0ZXJFeHByZXNzaW9uPEY+KHtcbiAgICAgIGNoaWxkcmVuOiBleHAuY2hpbGRyZW4oKSxcbiAgICAgIGNvbm5lY3RvcjogZXhwLmNvbm5lY3RvcigpLFxuICAgICAgbmVnYXRlZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLl9hZGQobm90RXhwLCB0aGlzLl9jb25uZWN0b3IpO1xuICB9XG5cbiAgZXEobGVmdDogYW55LCByaWdodDogYW55LCBub3JtYWxpemU6IE5vcm1hbGl6ZSA9ICdyaWdodCcpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG9wZXJhdG9ycy5lcShsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBuZShsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQob3BlcmF0b3JzLm5lKGxlZnQsIHJpZ2h0LCBub3JtYWxpemUpKTtcbiAgfVxuXG4gIGd0KGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChvcGVyYXRvcnMuZ3QobGVmdCwgcmlnaHQsIG5vcm1hbGl6ZSkpO1xuICB9XG5cbiAgZ2UobGVmdDogYW55LCByaWdodDogYW55LCBub3JtYWxpemU6IE5vcm1hbGl6ZSA9ICdyaWdodCcpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG9wZXJhdG9ycy5nZShsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBsdChsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQob3BlcmF0b3JzLmx0KGxlZnQsIHJpZ2h0LCBub3JtYWxpemUpKTtcbiAgfVxuXG4gIGxlKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChvcGVyYXRvcnMubGUobGVmdCwgcmlnaHQsIG5vcm1hbGl6ZSkpO1xuICB9XG5cbiAgaGFzKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChvcGVyYXRvcnMuaGFzKGxlZnQsIHJpZ2h0LCBub3JtYWxpemUpKTtcbiAgfVxuXG4gIGluKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChvcGVyYXRvcnMuaW4obGVmdCwgcmlnaHQsIG5vcm1hbGl6ZSkpO1xuICB9XG5cbiAgY29udGFpbnMobGVmdDogYW55LCByaWdodDogYW55LCBub3JtYWxpemU6IE5vcm1hbGl6ZSA9ICdyaWdodCcpIHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKGZ1bmN0aW9ucy5jb250YWlucyhsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBzdGFydHNXaXRoKGxlZnQ6IGFueSwgcmlnaHQ6IGFueSwgbm9ybWFsaXplOiBOb3JtYWxpemUgPSAncmlnaHQnKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChmdW5jdGlvbnMuc3RhcnRzV2l0aChsZWZ0LCByaWdodCwgbm9ybWFsaXplKSk7XG4gIH1cblxuICBlbmRzV2l0aChsZWZ0OiBhbnksIHJpZ2h0OiBhbnksIG5vcm1hbGl6ZTogTm9ybWFsaXplID0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0aGlzLl9hZGQoZnVuY3Rpb25zLmVuZHNXaXRoKGxlZnQsIHJpZ2h0LCBub3JtYWxpemUpKTtcbiAgfVxuXG4gIGFueTxOPihcbiAgICBsZWZ0OiBOW10sXG4gICAgb3B0cz86IChlOiB7XG4gICAgICBlOiAoY29ubmVjdG9yPzogRmlsdGVyQ29ubmVjdG9yKSA9PiBGaWx0ZXJFeHByZXNzaW9uPE4+O1xuICAgICAgdDogTjtcbiAgICAgIG86IE9EYXRhT3BlcmF0b3JzPE4+O1xuICAgICAgZjogT0RhdGFGdW5jdGlvbnM8Tj47XG4gICAgfSkgPT4gRmlsdGVyRXhwcmVzc2lvbjxOPixcbiAgICBhbGlhcz86IHN0cmluZ1xuICApOiBGaWx0ZXJFeHByZXNzaW9uPEY+IHtcbiAgICBsZXQgZXhwID0gdW5kZWZpbmVkO1xuICAgIGlmIChvcHRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGV4cCA9IG9wdHMoe1xuICAgICAgICB0OiBGaWVsZEZhY3Rvcnk8UmVxdWlyZWQ8Tj4+KCksXG4gICAgICAgIG86IG9wZXJhdG9ycyBhcyBPRGF0YU9wZXJhdG9yczxOPixcbiAgICAgICAgZjogZnVuY3Rpb25zIGFzIE9EYXRhRnVuY3Rpb25zPE4+LFxuICAgICAgICBlOiAoY29ubmVjdG9yOiBGaWx0ZXJDb25uZWN0b3IgPSAnYW5kJykgPT5cbiAgICAgICAgICBuZXcgRmlsdGVyRXhwcmVzc2lvbjxOPih7IGNvbm5lY3RvciB9KSxcbiAgICAgIH0pIGFzIEZpbHRlckV4cHJlc3Npb248Tj47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hZGQoc3ludGF4LmFueShsZWZ0LCBleHAsIGFsaWFzKSk7XG4gIH1cblxuICBhbGw8Tj4oXG4gICAgbGVmdDogTltdLFxuICAgIG9wdHM/OiAoZToge1xuICAgICAgdDogTjtcbiAgICAgIGU6IChjb25uZWN0b3I/OiBGaWx0ZXJDb25uZWN0b3IpID0+IEZpbHRlckV4cHJlc3Npb248Tj47XG4gICAgICBvOiBPRGF0YU9wZXJhdG9yczxOPjtcbiAgICAgIGY6IE9EYXRhRnVuY3Rpb25zPE4+O1xuICAgIH0pID0+IEZpbHRlckV4cHJlc3Npb248Tj4sXG4gICAgYWxpYXM/OiBzdHJpbmdcbiAgKTogRmlsdGVyRXhwcmVzc2lvbjxGPiB7XG4gICAgbGV0IGV4cCA9IHVuZGVmaW5lZDtcbiAgICBpZiAob3B0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBleHAgPSBvcHRzKHtcbiAgICAgICAgdDogRmllbGRGYWN0b3J5PFJlcXVpcmVkPE4+PigpLFxuICAgICAgICBvOiBvcGVyYXRvcnMgYXMgT0RhdGFPcGVyYXRvcnM8Tj4sXG4gICAgICAgIGY6IGZ1bmN0aW9ucyBhcyBPRGF0YUZ1bmN0aW9uczxOPixcbiAgICAgICAgZTogKGNvbm5lY3RvcjogRmlsdGVyQ29ubmVjdG9yID0gJ2FuZCcpID0+XG4gICAgICAgICAgbmV3IEZpbHRlckV4cHJlc3Npb248Tj4oeyBjb25uZWN0b3IgfSksXG4gICAgICB9KSBhcyBGaWx0ZXJFeHByZXNzaW9uPE4+O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYWRkKHN5bnRheC5hbGwobGVmdCwgZXhwLCBhbGlhcykpO1xuICB9XG5cbiAgY291bnQ8Tj4oXG4gICAgbGVmdDogTltdLFxuICAgIG9wdHM/OiAoZTogeyB0OiBOOyBmOiBDb3VudEZpZWxkPE4+IH0pID0+IENvdW50RXhwcmVzc2lvbjxOPlxuICApOiBGaWx0ZXJFeHByZXNzaW9uPEY+IHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKG5ldyBDb3VudEV4cHJlc3Npb248Tj4oKS5maWVsZChsZWZ0LCBvcHRzKSk7XG4gIH1cblxuICBpc29mKHR5cGU6IHN0cmluZyk6IEZpbHRlckV4cHJlc3Npb248Rj47XG4gIGlzb2YobGVmdDogRiwgdHlwZTogc3RyaW5nKTogRmlsdGVyRXhwcmVzc2lvbjxGPjtcbiAgaXNvZihsZWZ0OiBhbnksIHR5cGU/OiBzdHJpbmcpOiBGaWx0ZXJFeHByZXNzaW9uPEY+IHtcbiAgICByZXR1cm4gdGhpcy5fYWRkKHN5bnRheC5pc29mKGxlZnQsIHR5cGUpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export * from './base';
|
|
2
2
|
export * from './compute';
|
|
3
|
+
export * from './apply';
|
|
3
4
|
export * from './filter';
|
|
4
5
|
export * from './orderby';
|
|
5
6
|
export * from './search';
|
|
6
7
|
export * from './select';
|
|
7
8
|
export * from './syntax';
|
|
8
9
|
export * from './expand';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvcmVzb3VyY2VzL3F1ZXJ5L2V4cHJlc3Npb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcHV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwcGx5JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXJieSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3N5bnRheCc7XG5leHBvcnQgKiBmcm9tICcuL2V4cGFuZCc7XG4iXX0=
|