@plumile/filter-query 0.1.200 → 0.1.205
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 +20 -7
- package/lib/esm/mutate.d.ts +2 -3
- package/lib/esm/mutate.d.ts.map +1 -1
- package/lib/esm/mutate.js +3 -4
- package/lib/esm/parse.d.ts.map +1 -1
- package/lib/esm/parse.js +1 -1
- package/lib/esm/stringify.d.ts +1 -1
- package/lib/esm/stringify.d.ts.map +1 -1
- package/lib/esm/stringify.js +30 -6
- package/lib/esm/types.d.ts +4 -10
- package/lib/esm/types.d.ts.map +1 -1
- package/lib/esm/types.js +1 -1
- package/lib/mutate.d.ts +2 -3
- package/lib/mutate.d.ts.map +1 -1
- package/lib/mutate.js +3 -4
- package/lib/parse.d.ts.map +1 -1
- package/lib/parse.js +1 -1
- package/lib/stringify.d.ts +1 -1
- package/lib/stringify.d.ts.map +1 -1
- package/lib/stringify.js +30 -6
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/mutate.d.ts +2 -3
- package/lib/types/mutate.d.ts.map +1 -1
- package/lib/types/parse.d.ts.map +1 -1
- package/lib/types/stringify.d.ts +1 -1
- package/lib/types/stringify.d.ts.map +1 -1
- package/lib/types/types.d.ts +4 -10
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types.d.ts +4 -10
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,8 +27,10 @@ npm install @plumile/filter-query
|
|
|
27
27
|
## Module Entry Points
|
|
28
28
|
|
|
29
29
|
- `@plumile/filter-query`: ESM bundle exporting parsing, serialization, and helpers.
|
|
30
|
-
- `@plumile/filter-query/
|
|
31
|
-
|
|
30
|
+
- `@plumile/filter-query/parse.js`, `@plumile/filter-query/stringify.js`, and
|
|
31
|
+
the other subpaths declared in `exports`: public entry points for focused imports.
|
|
32
|
+
|
|
33
|
+
TypeScript declarations are selected automatically by the package `exports` map.
|
|
32
34
|
|
|
33
35
|
The package is ESM-only; ensure your bundler supports native ESM (Vite, Next.js, webpack 5+ with `type: 'module'`, etc.).
|
|
34
36
|
|
|
@@ -92,7 +94,7 @@ const { filters, diagnostics } = parse(
|
|
|
92
94
|
// diagnostics: []
|
|
93
95
|
|
|
94
96
|
// Apply immutable mutation
|
|
95
|
-
const updated = setFilter(filters,
|
|
97
|
+
const updated = setFilter(filters, 'price', 'between', [10, 100]);
|
|
96
98
|
|
|
97
99
|
// Serialize back (canonical ordering: schema field order, then operator order)
|
|
98
100
|
const qs = stringify(updated, schema);
|
|
@@ -199,6 +201,15 @@ The inferred `filters` type is roughly:
|
|
|
199
201
|
|
|
200
202
|
Everything is optional so you can build partial filters progressively.
|
|
201
203
|
|
|
204
|
+
TypeScript infers each field's value type and the value shape required by the
|
|
205
|
+
fixed operator vocabulary (scalar, tuple, or list). A descriptor's custom
|
|
206
|
+
operator whitelist is a runtime parsing/serialization boundary: it is not
|
|
207
|
+
encoded as a narrower TypeScript type. For example, `numberField(['gt'])`
|
|
208
|
+
still types `price.in` as `readonly number[]`, while parsing `price.in=1,2`
|
|
209
|
+
reports `UnknownOperator` and discards it. This keeps descriptors assignable to
|
|
210
|
+
the public `Schema` contract without pretending that their literal whitelist is
|
|
211
|
+
preserved by the type system.
|
|
212
|
+
|
|
202
213
|
## Custom Field Parsing
|
|
203
214
|
|
|
204
215
|
You can enforce custom parsing/serialisation rules via `customField`:
|
|
@@ -226,8 +237,8 @@ const schema = defineSchema({
|
|
|
226
237
|
## Mutation Helpers
|
|
227
238
|
|
|
228
239
|
```ts
|
|
229
|
-
setFilter(filters,
|
|
230
|
-
setFilter(filters,
|
|
240
|
+
setFilter(filters, 'price', 'gt', 10); // add/update value
|
|
241
|
+
setFilter(filters, 'price', 'gt', undefined); // remove operator key
|
|
231
242
|
removeFilter(filters, 'price'); // drop entire field
|
|
232
243
|
removeFilter(filters, 'price', 'gt'); // drop one operator
|
|
233
244
|
mergeFilters(base, patch); // shallow merge per field
|
|
@@ -275,7 +286,9 @@ const minimal = defineSchema({ price: numberField(['gt', 'lt']) });
|
|
|
275
286
|
## FAQ
|
|
276
287
|
|
|
277
288
|
**Q: Why not support arbitrary operator names?**
|
|
278
|
-
|
|
289
|
+
The fixed operator vocabulary keeps value shapes predictable. Per-field
|
|
290
|
+
whitelists select allowed operators at runtime; add a new core operator only
|
|
291
|
+
when its value semantics are broadly useful.
|
|
279
292
|
|
|
280
293
|
**Q: How does implicit equality work?**
|
|
281
294
|
Supplying `field=value` without an explicit operator is parsed as `field.eq=value` internally. Serialization emits the implicit short form again for stability.
|
|
@@ -296,7 +309,7 @@ Yes, items are appended in encounter order, preserving user intent (e.g. priorit
|
|
|
296
309
|
|
|
297
310
|
## Limitations
|
|
298
311
|
|
|
299
|
-
- operator vocabulary is
|
|
312
|
+
- operator vocabulary is fixed; per-field operator whitelists are enforced at runtime, not narrowed in `InferFilters`
|
|
300
313
|
- schema-driven design is mandatory; arbitrary untyped filters are not the goal
|
|
301
314
|
- package is ESM-only
|
|
302
315
|
|
package/lib/esm/mutate.d.ts
CHANGED
|
@@ -4,9 +4,8 @@ export type EqInput<S extends Schema> = Partial<{
|
|
|
4
4
|
eq?: infer V;
|
|
5
5
|
} ? V : never;
|
|
6
6
|
}>;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare
|
|
9
|
-
export declare function setFilter<S extends Schema, F extends keyof S, O extends keyof NonNullable<InferFilters<S>[F]>>(filters: Readonly<InferFilters<S>>, _schema: S, field: F, operator: O, value: NonNullable<InferFilters<S>[F]>[O] | undefined): InferFilters<S>;
|
|
7
|
+
export declare function buildEqFilters<S extends Schema>(input: EqInput<S>): InferFilters<S>;
|
|
8
|
+
export declare function setFilter<S extends Schema, F extends keyof S, O extends keyof NonNullable<InferFilters<S>[F]>>(filters: Readonly<InferFilters<S>>, field: F, operator: O, value: NonNullable<InferFilters<S>[F]>[O] | undefined): InferFilters<S>;
|
|
10
9
|
export declare function removeFilter<S extends Schema, F extends keyof S>(filters: Readonly<InferFilters<S>>, field: F, operator?: keyof NonNullable<InferFilters<S>[F]>): InferFilters<S>;
|
|
11
10
|
export declare function mergeFilters<S extends Schema>(base: Readonly<InferFilters<S>>, patch: Readonly<InferFilters<S>>): InferFilters<S>;
|
|
12
11
|
export declare function isEmpty<S extends Schema>(filters: Readonly<InferFilters<S>>): boolean;
|
package/lib/esm/mutate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../../src/mutate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgCvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC;KAE5C,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9D,CAAC,GACD,KAAK,GACR,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACxE,CAAC,CAAC;AAOH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../../src/mutate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgCvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC;KAE5C,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9D,CAAC,GACD,KAAK,GACR,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACxE,CAAC,CAAC;AAOH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAChB,YAAY,CAAC,CAAC,CAAC,CAQjB;AAWD,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAE/C,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACpD,YAAY,CAAC,CAAC,CAAC,CAwBjB;AASD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAC9D,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,YAAY,CAAC,CAAC,CAAC,CAkBjB;AASD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,CAAC,CAoBjB;AAOD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EACtC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjC,OAAO,CAET"}
|
package/lib/esm/mutate.js
CHANGED
|
@@ -22,7 +22,7 @@ function shallowEqual(a, b) {
|
|
|
22
22
|
}
|
|
23
23
|
return true;
|
|
24
24
|
}
|
|
25
|
-
export function
|
|
25
|
+
export function buildEqFilters(input) {
|
|
26
26
|
const filters = {};
|
|
27
27
|
for (const [key, value] of Object.entries(input)) {
|
|
28
28
|
if (value !== undefined) {
|
|
@@ -31,8 +31,7 @@ export function eq(input) {
|
|
|
31
31
|
}
|
|
32
32
|
return filters;
|
|
33
33
|
}
|
|
34
|
-
export
|
|
35
|
-
export function setFilter(filters, _schema, field, operator, value) {
|
|
34
|
+
export function setFilter(filters, field, operator, value) {
|
|
36
35
|
const currentField = filters[field];
|
|
37
36
|
if (value === undefined) {
|
|
38
37
|
if (currentField === undefined) {
|
|
@@ -95,4 +94,4 @@ export function mergeFilters(base, patch) {
|
|
|
95
94
|
export function isEmpty(filters) {
|
|
96
95
|
return Object.keys(filters).length === 0;
|
|
97
96
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL211dGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxTQUFTLFlBQVksQ0FBQyxDQUFVLEVBQUUsQ0FBVTtJQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixDQUFDLEtBQUssSUFBSTtRQUNWLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLElBQUksRUFDVixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBNEIsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxDQUE0QixDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWVELE1BQU0sVUFBVSxFQUFFLENBQW1CLEtBQWlCO0lBQ3BELE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDNUMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQTBCLENBQUM7QUFDcEMsQ0FBQztBQUtELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFZakMsTUFBTSxVQUFVLFNBQVMsQ0FLdkIsT0FBa0MsRUFDbEMsT0FBVSxFQUNWLEtBQVEsRUFDUixRQUFXLEVBQ1gsS0FBcUQ7SUFFckQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxZQUd6QyxDQUFDO1FBQ0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxPQUFrQyxDQUFDO1lBQ3JFLE9BQU8sS0FBd0IsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHO1FBQ2YsR0FBSSxZQUFvRDtRQUN4RCxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUs7S0FDbEIsQ0FBQztJQUNGLElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdkUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFTRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixPQUFrQyxFQUNsQyxLQUFRLEVBQ1IsUUFBZ0Q7SUFFaEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzQixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxPQUFrQyxDQUFDO1FBQzNFLE9BQU8sS0FBd0IsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsWUFHM0MsQ0FBQztJQUNGLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsT0FBa0MsQ0FBQztRQUNyRSxPQUFPLEtBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFTRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUErQixFQUMvQixLQUFnQztJQUVoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxNQUFNLEdBQTZCLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFnQixFQUFFLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUU3QixDQUFDO2FBQU0sSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLENBQUM7YUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBT0QsTUFBTSxVQUFVLE9BQU8sQ0FDckIsT0FBa0M7SUFFbEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5mZXJGaWx0ZXJzLCBTY2hlbWEgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBDaGVja3Mgc2hhbGxvdyBlcXVhbGl0eSBiZXR3ZWVuIHR3byBwbGFpbiBvYmplY3RzIChvd24gZW51bWVyYWJsZSBzdHJpbmcga2V5cyBvbmx5KS5cbiAqL1xuZnVuY3Rpb24gc2hhbGxvd0VxdWFsKGE6IHVua25vd24sIGI6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKGEgPT09IGIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoXG4gICAgdHlwZW9mIGEgIT09ICdvYmplY3QnIHx8XG4gICAgYSA9PT0gbnVsbCB8fFxuICAgIHR5cGVvZiBiICE9PSAnb2JqZWN0JyB8fFxuICAgIGIgPT09IG51bGxcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGFPYmogPSBhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCBiT2JqID0gYiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYUtleXMgPSBPYmplY3Qua2V5cyhhT2JqKTtcbiAgY29uc3QgYktleXMgPSBPYmplY3Qua2V5cyhiT2JqKTtcbiAgaWYgKGFLZXlzLmxlbmd0aCAhPT0gYktleXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAoY29uc3QgayBvZiBhS2V5cykge1xuICAgIGlmIChhT2JqW2tdICE9PSBiT2JqW2tdKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgdHlwZSBFcUlucHV0PFMgZXh0ZW5kcyBTY2hlbWE+ID0gUGFydGlhbDx7XG4gIFtcbiAgICBLIGluIGtleW9mIFMgYXMgJ2VxJyBleHRlbmRzIGtleW9mIE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltLXT5cbiAgICAgID8gS1xuICAgICAgOiBuZXZlclxuICBdOiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bS10+IGV4dGVuZHMgeyBlcT86IGluZmVyIFYgfSA/IFYgOiBuZXZlcjtcbn0+O1xuXG4vKipcbiAqIEJ1aWxkcyBhIGZpbHRlcnMgb2JqZWN0IHVzaW5nIGltcGxpY2l0IGVxdWFsaXR5IGZvciBlYWNoIHByb3ZpZGVkIGZpZWxkLlxuICpcbiAqIEBwYXJhbSBpbnB1dCAtIFJlY29yZCBvZiBmaWVsZCB2YWx1ZXMgdG8gZW5jb2RlIGFzIGB7IGVxOiB2YWx1ZSB9YC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVxPFMgZXh0ZW5kcyBTY2hlbWE+KGlucHV0OiBFcUlucHV0PFM+KTogSW5mZXJGaWx0ZXJzPFM+IHtcbiAgY29uc3QgZmlsdGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaW5wdXQpKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZpbHRlcnNba2V5XSA9IHsgZXE6IHZhbHVlIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBmaWx0ZXJzIGFzIEluZmVyRmlsdGVyczxTPjtcbn1cblxuLyoqXG4gKiBBbGlhcyBmb3Ige0BsaW5rIGVxfSBmb3IgY2FsbGVycyB3aG8gcHJlZmVyIGEgbW9yZSBkZXNjcmlwdGl2ZSBuYW1lLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFcUZpbHRlcnMgPSBlcTtcblxuLyoqXG4gKiBTZXRzIG9yIHVuc2V0cyBhIHNwZWNpZmljIG9wZXJhdG9yIHZhbHVlIG9uIGEgZmllbGQgd2hpbGUgcHJlc2VydmluZyByZWZlcmVuY2VcbiAqIGVxdWFsaXR5IHdoZW4gbm90aGluZyBjaGFuZ2VzLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gQ3VycmVudCBmaWx0ZXJzIG9iamVjdCB0aGF0IHdpbGwgYmUgdHJlYXRlZCBhcyBpbW11dGFibGUgaW5wdXQuXG4gKiBAcGFyYW0gX3NjaGVtYSAtIFNjaGVtYSByZWZlcmVuY2UgKHJlc2VydmVkIGZvciBmdXR1cmUgdmFsaWRhdGlvbiBob29rcykuXG4gKiBAcGFyYW0gZmllbGQgLSBGaWVsZCBrZXkgdG8gdXBkYXRlLlxuICogQHBhcmFtIG9wZXJhdG9yIC0gT3BlcmF0b3IgbmFtZSB0byBzZXQgb3IgcmVtb3ZlLlxuICogQHBhcmFtIHZhbHVlIC0gTmV3IG9wZXJhdG9yIHZhbHVlOyBwYXNzIGB1bmRlZmluZWRgIHRvIHJlbW92ZSBpdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEZpbHRlcjxcbiAgUyBleHRlbmRzIFNjaGVtYSxcbiAgRiBleHRlbmRzIGtleW9mIFMsXG4gIE8gZXh0ZW5kcyBrZXlvZiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bRl0+LFxuPihcbiAgZmlsdGVyczogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+PixcbiAgX3NjaGVtYTogUywgLy8gcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB2YWxpZGF0aW9uIGhvb2tzXG4gIGZpZWxkOiBGLFxuICBvcGVyYXRvcjogTyxcbiAgdmFsdWU6IE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltGXT5bT10gfCB1bmRlZmluZWQsXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBjb25zdCBjdXJyZW50RmllbGQgPSBmaWx0ZXJzW2ZpZWxkXTtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoY3VycmVudEZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgIH1cbiAgICBjb25zdCB7IFtvcGVyYXRvcl06IF9yZW1vdmVkLCAuLi5yZXN0IH0gPSBjdXJyZW50RmllbGQgYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgdW5rbm93blxuICAgID47XG4gICAgaWYgKE9iamVjdC5rZXlzKHJlc3QpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgeyBbZmllbGRdOiBfZiwgLi4uY2xvbmUgfSA9IGZpbHRlcnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICByZXR1cm4gY2xvbmUgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICAgIH1cbiAgICByZXR1cm4geyAuLi5maWx0ZXJzLCBbZmllbGRdOiByZXN0IH07XG4gIH1cbiAgY29uc3QgbmV3RmllbGQgPSB7XG4gICAgLi4uKGN1cnJlbnRGaWVsZCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCksXG4gICAgW29wZXJhdG9yXTogdmFsdWUsXG4gIH07XG4gIGlmIChjdXJyZW50RmllbGQgIT09IHVuZGVmaW5lZCAmJiBzaGFsbG93RXF1YWwoY3VycmVudEZpZWxkLCBuZXdGaWVsZCkpIHtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxuICByZXR1cm4geyAuLi5maWx0ZXJzLCBbZmllbGRdOiBuZXdGaWVsZCB9O1xufVxuXG4vKipcbiAqIFJlbW92ZXMgZWl0aGVyIGFuIGVudGlyZSBmaWVsZCBvciBhIHNwZWNpZmljIG9wZXJhdG9yIGZyb20gdGhlIGZpbHRlcnMgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gQ3VycmVudCBmaWx0ZXJzIG9iamVjdCAodHJlYXRlZCBpbW11dGFibHkpLlxuICogQHBhcmFtIGZpZWxkIC0gRmllbGQgbmFtZSB0byBhbHRlci5cbiAqIEBwYXJhbSBvcGVyYXRvciAtIE9wdGlvbmFsIG9wZXJhdG9yIHRvIHJlbW92ZTsgb21pdCB0byBkcm9wIHRoZSB3aG9sZSBmaWVsZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUZpbHRlcjxTIGV4dGVuZHMgU2NoZW1hLCBGIGV4dGVuZHMga2V5b2YgUz4oXG4gIGZpbHRlcnM6IFJlYWRvbmx5PEluZmVyRmlsdGVyczxTPj4sXG4gIGZpZWxkOiBGLFxuICBvcGVyYXRvcj86IGtleW9mIE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltGXT4sXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBjb25zdCBjdXJyZW50RmllbGQgPSBmaWx0ZXJzW2ZpZWxkXTtcbiAgaWYgKGN1cnJlbnRGaWVsZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH1cbiAgaWYgKG9wZXJhdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCB7IFtmaWVsZF06IF9yZW1vdmVkLCAuLi5jbG9uZSB9ID0gZmlsdGVycyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICByZXR1cm4gY2xvbmUgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICB9XG4gIGNvbnN0IHsgW29wZXJhdG9yXTogX29wUmVtb3ZlZCwgLi4ucmVzdCB9ID0gY3VycmVudEZpZWxkIGFzIFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgdW5rbm93blxuICA+O1xuICBpZiAoT2JqZWN0LmtleXMocmVzdCkubGVuZ3RoID09PSAwKSB7XG4gICAgY29uc3QgeyBbZmllbGRdOiBfZiwgLi4uY2xvbmUgfSA9IGZpbHRlcnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgcmV0dXJuIGNsb25lIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgfVxuICByZXR1cm4geyAuLi5maWx0ZXJzLCBbZmllbGRdOiByZXN0IH07XG59XG5cbi8qKlxuICogTWVyZ2VzIGEgcGF0Y2ggb2YgZmlsdGVycyBpbnRvIGFuIGV4aXN0aW5nIGZpbHRlcnMgb2JqZWN0IHdoaWxlIHByZXNlcnZpbmcgcmVmZXJlbmNlXG4gKiBpZGVudGl0eSBmb3IgdW5jaGFuZ2VkIGZpZWxkcy5cbiAqXG4gKiBAcGFyYW0gYmFzZSAtIE9yaWdpbmFsIGZpbHRlcnMuXG4gKiBAcGFyYW0gcGF0Y2ggLSBGaWx0ZXJzIHRvIG92ZXJsYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZpbHRlcnM8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGJhc2U6IFJlYWRvbmx5PEluZmVyRmlsdGVyczxTPj4sXG4gIHBhdGNoOiBSZWFkb25seTxJbmZlckZpbHRlcnM8Uz4+LFxuKTogSW5mZXJGaWx0ZXJzPFM+IHtcbiAgbGV0IGNoYW5nZWQgPSBmYWxzZTtcbiAgY29uc3QgcmVzdWx0OiBQYXJ0aWFsPEluZmVyRmlsdGVyczxTPj4gPSB7IC4uLmJhc2UgfTtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGF0Y2gpIGFzIChrZXlvZiBTKVtdKSB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBiYXNlW2tleV07XG4gICAgY29uc3QgaW5jb21pbmcgPSBwYXRjaFtrZXldO1xuICAgIGlmIChpbmNvbWluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBza2lwIHVuZGVmaW5lZCBpbmNvbWluZ1xuICAgIH0gZWxzZSBpZiAoZXhpc3RpbmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0W2tleV0gPSBpbmNvbWluZztcbiAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoIXNoYWxsb3dFcXVhbChleGlzdGluZywgaW5jb21pbmcpKSB7XG4gICAgICByZXN1bHRba2V5XSA9IGluY29taW5nO1xuICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgfVxuICB9XG4gIGlmIChjaGFuZ2VkKSB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gYmFzZTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBmaWx0ZXJzIG9iamVjdCBpcyBlbXB0eSAobm8gZmllbGRzIHByZXNlbnQpLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gRmlsdGVycyB0byBpbnNwZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+Pixcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZmlsdGVycykubGVuZ3RoID09PSAwO1xufVxuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL211dGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxTQUFTLFlBQVksQ0FBQyxDQUFVLEVBQUUsQ0FBVTtJQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixDQUFDLEtBQUssSUFBSTtRQUNWLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLElBQUksRUFDVixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBNEIsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxDQUE0QixDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEtBQWlCO0lBRWpCLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDNUMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FB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Q0FBZ0IsRUFBRSxDQUFDO1FBQ3BELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFFN0IsQ0FBQzthQUFNLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixDQUFDO2FBQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM3QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU9ELE1BQU0sVUFBVSxPQUFPLENBQ3JCLE9BQWtDO0lBRWxDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEluZmVyRmlsdGVycywgU2NoZW1hIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8qKlxuICogQ2hlY2tzIHNoYWxsb3cgZXF1YWxpdHkgYmV0d2VlbiB0d28gcGxhaW4gb2JqZWN0cyAob3duIGVudW1lcmFibGUgc3RyaW5nIGtleXMgb25seSkuXG4gKi9cbmZ1bmN0aW9uIHNoYWxsb3dFcXVhbChhOiB1bmtub3duLCBiOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKFxuICAgIHR5cGVvZiBhICE9PSAnb2JqZWN0JyB8fFxuICAgIGEgPT09IG51bGwgfHxcbiAgICB0eXBlb2YgYiAhPT0gJ29iamVjdCcgfHxcbiAgICBiID09PSBudWxsXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBhT2JqID0gYSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYk9iaiA9IGIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IGFLZXlzID0gT2JqZWN0LmtleXMoYU9iaik7XG4gIGNvbnN0IGJLZXlzID0gT2JqZWN0LmtleXMoYk9iaik7XG4gIGlmIChhS2V5cy5sZW5ndGggIT09IGJLZXlzLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBmb3IgKGNvbnN0IGsgb2YgYUtleXMpIHtcbiAgICBpZiAoYU9ialtrXSAhPT0gYk9ialtrXSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IHR5cGUgRXFJbnB1dDxTIGV4dGVuZHMgU2NoZW1hPiA9IFBhcnRpYWw8e1xuICBbXG4gICAgSyBpbiBrZXlvZiBTIGFzICdlcScgZXh0ZW5kcyBrZXlvZiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bS10+XG4gICAgICA/IEtcbiAgICAgIDogbmV2ZXJcbiAgXTogTm9uTnVsbGFibGU8SW5mZXJGaWx0ZXJzPFM+W0tdPiBleHRlbmRzIHsgZXE/OiBpbmZlciBWIH0gPyBWIDogbmV2ZXI7XG59PjtcblxuLyoqXG4gKiBCdWlsZHMgYSBmaWx0ZXJzIG9iamVjdCB1c2luZyBpbXBsaWNpdCBlcXVhbGl0eSBmb3IgZWFjaCBwcm92aWRlZCBmaWVsZC5cbiAqXG4gKiBAcGFyYW0gaW5wdXQgLSBSZWNvcmQgb2YgZmllbGQgdmFsdWVzIHRvIGVuY29kZSBhcyBgeyBlcTogdmFsdWUgfWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVxRmlsdGVyczxTIGV4dGVuZHMgU2NoZW1hPihcbiAgaW5wdXQ6IEVxSW5wdXQ8Uz4sXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBjb25zdCBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhpbnB1dCkpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZmlsdGVyc1trZXldID0geyBlcTogdmFsdWUgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZpbHRlcnMgYXMgSW5mZXJGaWx0ZXJzPFM+O1xufVxuXG4vKipcbiAqIFNldHMgb3IgdW5zZXRzIGEgc3BlY2lmaWMgb3BlcmF0b3IgdmFsdWUgb24gYSBmaWVsZCB3aGlsZSBwcmVzZXJ2aW5nIHJlZmVyZW5jZVxuICogZXF1YWxpdHkgd2hlbiBub3RoaW5nIGNoYW5nZXMuXG4gKlxuICogQHBhcmFtIGZpbHRlcnMgLSBDdXJyZW50IGZpbHRlcnMgb2JqZWN0IHRoYXQgd2lsbCBiZSB0cmVhdGVkIGFzIGltbXV0YWJsZSBpbnB1dC5cbiAqIEBwYXJhbSBmaWVsZCAtIEZpZWxkIGtleSB0byB1cGRhdGUuXG4gKiBAcGFyYW0gb3BlcmF0b3IgLSBPcGVyYXRvciBuYW1lIHRvIHNldCBvciByZW1vdmUuXG4gKiBAcGFyYW0gdmFsdWUgLSBOZXcgb3BlcmF0b3IgdmFsdWU7IHBhc3MgYHVuZGVmaW5lZGAgdG8gcmVtb3ZlIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RmlsdGVyPFxuICBTIGV4dGVuZHMgU2NoZW1hLFxuICBGIGV4dGVuZHMga2V5b2YgUyxcbiAgTyBleHRlbmRzIGtleW9mIE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltGXT4sXG4+KFxuICBmaWx0ZXJzOiBSZWFkb25seTxJbmZlckZpbHRlcnM8Uz4+LFxuICBmaWVsZDogRixcbiAgb3BlcmF0b3I6IE8sXG4gIHZhbHVlOiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bRl0+W09dIHwgdW5kZWZpbmVkLFxuKTogSW5mZXJGaWx0ZXJzPFM+IHtcbiAgY29uc3QgY3VycmVudEZpZWxkID0gZmlsdGVyc1tmaWVsZF07XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKGN1cnJlbnRGaWVsZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmlsdGVycztcbiAgICB9XG4gICAgY29uc3QgeyBbb3BlcmF0b3JdOiBfcmVtb3ZlZCwgLi4ucmVzdCB9ID0gY3VycmVudEZpZWxkIGFzIFJlY29yZDxcbiAgICAgIHN0cmluZyxcbiAgICAgIHVua25vd25cbiAgICA+O1xuICAgIGlmIChPYmplY3Qua2V5cyhyZXN0KS5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHsgW2ZpZWxkXTogX2YsIC4uLmNsb25lIH0gPSBmaWx0ZXJzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgcmV0dXJuIGNsb25lIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgICB9XG4gICAgcmV0dXJuIHsgLi4uZmlsdGVycywgW2ZpZWxkXTogcmVzdCB9O1xuICB9XG4gIGNvbnN0IG5ld0ZpZWxkID0ge1xuICAgIC4uLmN1cnJlbnRGaWVsZCxcbiAgICBbb3BlcmF0b3JdOiB2YWx1ZSxcbiAgfTtcbiAgaWYgKGN1cnJlbnRGaWVsZCAhPT0gdW5kZWZpbmVkICYmIHNoYWxsb3dFcXVhbChjdXJyZW50RmllbGQsIG5ld0ZpZWxkKSkge1xuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG4gIHJldHVybiB7IC4uLmZpbHRlcnMsIFtmaWVsZF06IG5ld0ZpZWxkIH07XG59XG5cbi8qKlxuICogUmVtb3ZlcyBlaXRoZXIgYW4gZW50aXJlIGZpZWxkIG9yIGEgc3BlY2lmaWMgb3BlcmF0b3IgZnJvbSB0aGUgZmlsdGVycyBvYmplY3QuXG4gKlxuICogQHBhcmFtIGZpbHRlcnMgLSBDdXJyZW50IGZpbHRlcnMgb2JqZWN0ICh0cmVhdGVkIGltbXV0YWJseSkuXG4gKiBAcGFyYW0gZmllbGQgLSBGaWVsZCBuYW1lIHRvIGFsdGVyLlxuICogQHBhcmFtIG9wZXJhdG9yIC0gT3B0aW9uYWwgb3BlcmF0b3IgdG8gcmVtb3ZlOyBvbWl0IHRvIGRyb3AgdGhlIHdob2xlIGZpZWxkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRmlsdGVyPFMgZXh0ZW5kcyBTY2hlbWEsIEYgZXh0ZW5kcyBrZXlvZiBTPihcbiAgZmlsdGVyczogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+PixcbiAgZmllbGQ6IEYsXG4gIG9wZXJhdG9yPzoga2V5b2YgTm9uTnVsbGFibGU8SW5mZXJGaWx0ZXJzPFM+W0ZdPixcbik6IEluZmVyRmlsdGVyczxTPiB7XG4gIGNvbnN0IGN1cnJlbnRGaWVsZCA9IGZpbHRlcnNbZmllbGRdO1xuICBpZiAoY3VycmVudEZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxuICBpZiAob3BlcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IHsgW2ZpZWxkXTogX3JlbW92ZWQsIC4uLmNsb25lIH0gPSBmaWx0ZXJzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHJldHVybiBjbG9uZSBhcyBJbmZlckZpbHRlcnM8Uz47XG4gIH1cbiAgY29uc3QgeyBbb3BlcmF0b3JdOiBfb3BSZW1vdmVkLCAuLi5yZXN0IH0gPSBjdXJyZW50RmllbGQgYXMgUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICB1bmtub3duXG4gID47XG4gIGlmIChPYmplY3Qua2V5cyhyZXN0KS5sZW5ndGggPT09IDApIHtcbiAgICBjb25zdCB7IFtmaWVsZF06IF9mLCAuLi5jbG9uZSB9ID0gZmlsdGVycyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICByZXR1cm4gY2xvbmUgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICB9XG4gIHJldHVybiB7IC4uLmZpbHRlcnMsIFtmaWVsZF06IHJlc3QgfTtcbn1cblxuLyoqXG4gKiBNZXJnZXMgYSBwYXRjaCBvZiBmaWx0ZXJzIGludG8gYW4gZXhpc3RpbmcgZmlsdGVycyBvYmplY3Qgd2hpbGUgcHJlc2VydmluZyByZWZlcmVuY2VcbiAqIGlkZW50aXR5IGZvciB1bmNoYW5nZWQgZmllbGRzLlxuICpcbiAqIEBwYXJhbSBiYXNlIC0gT3JpZ2luYWwgZmlsdGVycy5cbiAqIEBwYXJhbSBwYXRjaCAtIEZpbHRlcnMgdG8gb3ZlcmxheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRmlsdGVyczxTIGV4dGVuZHMgU2NoZW1hPihcbiAgYmFzZTogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+PixcbiAgcGF0Y2g6IFJlYWRvbmx5PEluZmVyRmlsdGVyczxTPj4sXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuICBjb25zdCByZXN1bHQ6IFBhcnRpYWw8SW5mZXJGaWx0ZXJzPFM+PiA9IHsgLi4uYmFzZSB9O1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXRjaCkgYXMgKGtleW9mIFMpW10pIHtcbiAgICBjb25zdCBleGlzdGluZyA9IGJhc2Vba2V5XTtcbiAgICBjb25zdCBpbmNvbWluZyA9IHBhdGNoW2tleV07XG4gICAgaWYgKGluY29taW5nID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIHNraXAgdW5kZWZpbmVkIGluY29taW5nXG4gICAgfSBlbHNlIGlmIChleGlzdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHRba2V5XSA9IGluY29taW5nO1xuICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghc2hhbGxvd0VxdWFsKGV4aXN0aW5nLCBpbmNvbWluZykpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gaW5jb21pbmc7XG4gICAgICBjaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgaWYgKGNoYW5nZWQpIHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHJldHVybiBiYXNlO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgdGhlIGZpbHRlcnMgb2JqZWN0IGlzIGVtcHR5IChubyBmaWVsZHMgcHJlc2VudCkuXG4gKlxuICogQHBhcmFtIGZpbHRlcnMgLSBGaWx0ZXJzIHRvIGluc3BlY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5PFMgZXh0ZW5kcyBTY2hlbWE+KFxuICBmaWx0ZXJzOiBSZWFkb25seTxJbmZlckZpbHRlcnM8Uz4+LFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhmaWx0ZXJzKS5sZW5ndGggPT09IDA7XG59XG4iXX0=
|
package/lib/esm/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAwKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8DhB"}
|
package/lib/esm/parse.js
CHANGED
|
@@ -181,4 +181,4 @@ export function parse(rawSearch, schema) {
|
|
|
181
181
|
}
|
|
182
182
|
return acc;
|
|
183
183
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUNKLENBQUM7SUFDdEMsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxVQUEyQixFQUFFLEdBQVc7SUFDaEUs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QUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0RSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDMUIsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIE9wZXJhdG9yLFxuICBMaXN0T3BlcmF0b3IsXG4gIEJldHdlZW5PcGVyYXRvcixcbiAgSW5mZXJGaWx0ZXJzLFxuICBGaWVsZERlc2NyaXB0b3IsXG4gIFBhcnNlUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcblxuY29uc3QgQkVUV0VFTjogQmV0d2Vlbk9wZXJhdG9yID0gJ2JldHdlZW4nO1xuY29uc3QgTElTVF9PUFM6IHJlYWRvbmx5IExpc3RPcGVyYXRvcltdID0gWydpbicsICduaW4nXTtcblxuaW50ZXJmYWNlIEludGVybmFsQWNjdW11bGF0b3I8UyBleHRlbmRzIFNjaGVtYT4ge1xuICBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG5cbi8qKiBTaGFsbG93IGNsb25lIHBsdXMgZW5zdXJlIGZpZWxkIG9iamVjdCBoZWxwZXIgKGltbXV0YWJsZSB1cGRhdGUpLiAqL1xuZnVuY3Rpb24gZW5zdXJlRmllbGRPYmplY3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgZmllbGQ6IHN0cmluZyxcbik6IHsgY29udGFpbmVyOiBJbmZlckZpbHRlcnM8Uz47IHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXSBhc1xuICAgIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICBpZiAoZXhpc3RpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IGNvbnRhaW5lcjogZmlsdGVycywgdGFyZ2V0OiBleGlzdGluZyB9O1xuICB9XG4gIGNvbnN0IGNsb25lOiBJbmZlckZpbHRlcnM8Uz4gPSB7IC4uLmZpbHRlcnMgfTtcbiAgY29uc3QgY3JlYXRlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgKGNsb25lIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtmaWVsZF0gPSBjcmVhdGVkO1xuICByZXR1cm4geyBjb250YWluZXI6IGNsb25lLCB0YXJnZXQ6IGNyZWF0ZWQgfTtcbn1cblxuLyoqIERlY29kZSBjb21wb25lbnQsIHJlY29yZGluZyBhIGRpYWdub3N0aWMgb24gZmFpbHVyZS4gKi9cbmZ1bmN0aW9uIGRlY29kZVZhbHVlKFxuICB2YWx1ZTogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY1tdLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcbiAgfSBjYXRjaCB7XG4gICAgZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnRGVjb2RlRXJyb3InLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ0ZhaWxlZCB0byBkZWNvZGUnLFxuICAgIH0pO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqIFBhcnNlIGEgc2luZ2xlIHJhdyB2YWx1ZSBhY2NvcmRpbmcgdG8gZmllbGQga2luZC4gKi9cbmZ1bmN0aW9uIHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLCByYXc6IHN0cmluZyk6IHVua25vd24ge1xuICBpZiAoZGVzY3JpcHRvci5wYXJzZSAhPSBudWxsKSB7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3IucGFyc2UocmF3KTtcbiAgfVxuICBpZiAoZGVzY3JpcHRvci5raW5kID09PSAnbnVtYmVyJykge1xuICAgIGlmIChyYXcgPT09ICcnKSB7XG4gICAgICAvLyBUcmVhdCBlbXB0eSBzdHJpbmcgYXMgaW52YWxpZCBmb3IgbnVtZXJpYyBmaWVsZHMgKHJlamVjdCBpbnN0ZWFkIG9mIGNvZXJjaW5nIHRvIDApXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBuID0gTnVtYmVyKHJhdyk7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobikpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBuO1xuICB9XG4gIHJldHVybiByYXc7XG59XG5cbi8qKiBIYW5kbGUgYSBiZXR3ZWVuIG9wZXJhdG9yIHZhbHVlLiAqL1xuZnVuY3Rpb24gaGFuZGxlQmV0d2VlbjxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBkZWNvZGVkLnNwbGl0KCcsJyk7XG4gIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZEFyaXR5JyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdFeHBlY3RlZCBleGFjdGx5IDIgdmFsdWVzJyxcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgW2FSYXcsIGJSYXddID0gcGFydHMgYXMgW3N0cmluZywgc3RyaW5nXTtcbiAgY29uc3QgYSA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgYVJhdyk7XG4gIGNvbnN0IGIgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGJSYXcpO1xuICBpZiAoYSA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IHVuZGVmaW5lZCkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgIGtpbmQ6ICdJbnZhbGlkVmFsdWUnLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ09uZSBvZiB0aGUgYmV0d2VlbiB2YWx1ZXMgaW52YWxpZCcsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVuc3VyZWQudGFyZ2V0LCAnYmV0d2VlbicpKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnRHVwbGljYXRlQmV0d2VlbicsIGZpZWxkIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBlbnN1cmVkLnRhcmdldC5iZXR3ZWVuID0gW2EsIGJdIGFzIHVua25vd247XG59XG5cbi8qKiBIYW5kbGUgbGlzdCBvcGVyYXRvcnMgKGluLCBuaW4pLiAqL1xuZnVuY3Rpb24gaGFuZGxlTGlzdDxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBsaXN0UmF3ID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBjb25zdCBwYXJzZWRMaXN0OiB1bmtub3duW10gPSBbXTtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGxpc3RSYXcpIHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGl0ZW0pO1xuICAgIGlmIChwYXJzZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goe1xuICAgICAgICBraW5kOiAnSW52YWxpZFZhbHVlJyxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIG9wZXJhdG9yLFxuICAgICAgICBkZXRhaWw6ICdMaXN0IGl0ZW0gaW52YWxpZCcsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VkTGlzdC5wdXNoKHBhcnNlZCk7XG4gICAgfVxuICB9XG4gIGlmIChwYXJzZWRMaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgY29uc3QgdGFyZ2V0T2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGVuc3VyZWQudGFyZ2V0O1xuICBjb25zdCBleGlzdGluZyA9IHRhcmdldE9ialtvcGVyYXRvcl07XG4gIGlmIChBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgIHRhcmdldE9ialtvcGVyYXRvcl0gPSBbLi4uZXhpc3RpbmcsIC4uLnBhcnNlZExpc3RdO1xuICB9IGVsc2Uge1xuICAgIHRhcmdldE9ialtvcGVyYXRvcl0gPSBwYXJzZWRMaXN0O1xuICB9XG59XG5cbi8qKiBIYW5kbGUgc2NhbGFyIG9wZXJhdG9yIHZhbHVlcy4gKi9cbmZ1bmN0aW9uIGhhbmRsZVNjYWxhcjxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBzY2FsYXIgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGRlY29kZWQpO1xuICBpZiAoc2NhbGFyID09PSB1bmRlZmluZWQpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdJbnZhbGlkVmFsdWUnLCBmaWVsZCwgb3BlcmF0b3IgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBjb25zdCBzY2FsYXJUYXJnZXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gZW5zdXJlZC50YXJnZXQ7XG4gIHNjYWxhclRhcmdldFtvcGVyYXRvcl0gPSBzY2FsYXI7XG59XG5cbi8qKlxuICogUGFyc2VzIGEgcmF3IHNlYXJjaCBzdHJpbmcgKGxlYWRpbmcgYD9gIG9wdGlvbmFsKSBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIHNjaGVtYVxuICogYW5kIHJldHVybnMgdGhlIGZpbHRlcnMgcGx1cyBkaWFnbm9zdGljcy5cbiAqXG4gKiBAcGFyYW0gcmF3U2VhcmNoIC0gUXVlcnkgc3RyaW5nIHRvIHBhcnNlICh3aXRoIG9yIHdpdGhvdXQgdGhlIGxlYWRpbmcgcXVlc3Rpb24gbWFyaykuXG4gKiBAcGFyYW0gc2NoZW1hIC0gU2NoZW1hIGRlc2NyaWJpbmcgYWxsb3dlZCBmaWVsZHMgYW5kIG9wZXJhdG9ycy5cbiAqIEByZXR1cm5zIFBhcnNlZCBmaWx0ZXJzIGFsb25nc2lkZSBub24tYmxvY2tpbmcgZGlhZ25vc3RpY3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgcmF3U2VhcmNoOiBzdHJpbmcsXG4gIHNjaGVtYTogUyxcbik6IFBhcnNlUmVzdWx0PFM+IHtcbiAgY29uc3QgYWNjOiBJbnRlcm5hbEFjY3VtdWxhdG9yPFM+ID0geyBmaWx0ZXJzOiB7fSwgZGlhZ25vc3RpY3M6IFtdIH07XG4gIGxldCBzZWFyY2ggPSByYXdTZWFyY2g7XG4gIGlmIChzZWFyY2guc3RhcnRzV2l0aCgnPycpKSB7XG4gICAgc2VhcmNoID0gc2VhcmNoLnNsaWNlKDEpO1xuICB9XG4gIGlmIChzZWFyY2gudHJpbSgpID09PSAnJykge1xuICAgIHJldHVybiBhY2M7XG4gIH1cbiAgY29uc3Qgc2VnbWVudHMgPSBzZWFyY2guc3BsaXQoJyYnKTtcbiAgZm9yIChjb25zdCBzZWcgb2Ygc2VnbWVudHMpIHtcbiAgICBjb25zdCBlcUlkeCA9IHNlZy5pbmRleE9mKCc9Jyk7XG4gICAgY29uc3QgdmFsaWRCYXNpYyA9IHNlZyAhPT0gJycgJiYgZXFJZHggIT09IC0xO1xuICAgIGlmICh2YWxpZEJhc2ljKSB7XG4gICAgICBjb25zdCByYXdLZXkgPSBzZWcuc2xpY2UoMCwgZXFJZHgpO1xuICAgICAgY29uc3QgcmF3VmFsID0gc2VnLnNsaWNlKGVxSWR4ICsgMSk7XG4gICAgICBjb25zdCBsYXN0RG90ID0gcmF3S2V5Lmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAvLyBDYXNlIDE6IGtleSB3aXRoIGV4cGxpY2l0IG9wZXJhdG9yIChmaWVsZC5vcClcbiAgICAgIGNvbnN0IGV4cGxpY2l0U2hhcGUgPSAhKGxhc3REb3QgPD0gMCB8fCBsYXN0RG90ID09PSByYXdLZXkubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoZXhwbGljaXRTaGFwZSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHJhd0tleS5zbGljZSgwLCBsYXN0RG90KTtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSByYXdLZXkuc2xpY2UobGFzdERvdCArIDEpIGFzIE9wZXJhdG9yO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICAgICAgY29uc3QgZGVzY09rID0gZGVzY3JpcHRvcj8ub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSA9PT0gdHJ1ZTtcbiAgICAgICAgaWYgKCFkZXNjT2spIHtcbiAgICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duRmllbGQnLCBmaWVsZCB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bk9wZXJhdG9yJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgaXNMaXN0ID0gKExJU1RfT1BTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhvcGVyYXRvcik7XG4gICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09IEJFVFdFRU4pIHtcbiAgICAgICAgICAgICAgaGFuZGxlQmV0d2VlbihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzTGlzdCkge1xuICAgICAgICAgICAgICBoYW5kbGVMaXN0KGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNjYWxhcihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGxhc3REb3QgPT09IC0xKSB7XG4gICAgICAgIC8vIGltcGxpY2l0IGVxdWFsaXR5IChubyBkb3QpID0+IG9wZXJhdG9yICdlcSdcbiAgICAgICAgY29uc3QgZmllbGQgPSByYXdLZXk7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yOiBPcGVyYXRvciA9ICdlcSc7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bkZpZWxkJywgZmllbGQgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWRlc2NyaXB0b3Iub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSkge1xuICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25PcGVyYXRvcicsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGFuZGxlU2NhbGFyKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn1cbiJdfQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUFDLENBQUM7SUFDM0MsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxVQUEyQixFQUFFLEdBQVc7SUFDaEUs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QUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0RSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDMUIsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIE9wZXJhdG9yLFxuICBMaXN0T3BlcmF0b3IsXG4gIEJldHdlZW5PcGVyYXRvcixcbiAgSW5mZXJGaWx0ZXJzLFxuICBGaWVsZERlc2NyaXB0b3IsXG4gIFBhcnNlUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcblxuY29uc3QgQkVUV0VFTjogQmV0d2Vlbk9wZXJhdG9yID0gJ2JldHdlZW4nO1xuY29uc3QgTElTVF9PUFM6IHJlYWRvbmx5IExpc3RPcGVyYXRvcltdID0gWydpbicsICduaW4nXTtcblxuaW50ZXJmYWNlIEludGVybmFsQWNjdW11bGF0b3I8UyBleHRlbmRzIFNjaGVtYT4ge1xuICBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG5cbi8qKiBTaGFsbG93IGNsb25lIHBsdXMgZW5zdXJlIGZpZWxkIG9iamVjdCBoZWxwZXIgKGltbXV0YWJsZSB1cGRhdGUpLiAqL1xuZnVuY3Rpb24gZW5zdXJlRmllbGRPYmplY3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgZmllbGQ6IHN0cmluZyxcbik6IHsgY29udGFpbmVyOiBJbmZlckZpbHRlcnM8Uz47IHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXTtcbiAgaWYgKGV4aXN0aW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBjb250YWluZXI6IGZpbHRlcnMsIHRhcmdldDogZXhpc3RpbmcgfTtcbiAgfVxuICBjb25zdCBjbG9uZTogSW5mZXJGaWx0ZXJzPFM+ID0geyAuLi5maWx0ZXJzIH07XG4gIGNvbnN0IGNyZWF0ZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIChjbG9uZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbZmllbGRdID0gY3JlYXRlZDtcbiAgcmV0dXJuIHsgY29udGFpbmVyOiBjbG9uZSwgdGFyZ2V0OiBjcmVhdGVkIH07XG59XG5cbi8qKiBEZWNvZGUgY29tcG9uZW50LCByZWNvcmRpbmcgYSBkaWFnbm9zdGljIG9uIGZhaWx1cmUuICovXG5mdW5jdGlvbiBkZWNvZGVWYWx1ZShcbiAgdmFsdWU6IHN0cmluZyxcbiAgZmllbGQ6IHN0cmluZyxcbiAgb3BlcmF0b3I6IHN0cmluZyxcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNbXSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gIH0gY2F0Y2gge1xuICAgIGRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0RlY29kZUVycm9yJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdGYWlsZWQgdG8gZGVjb2RlJyxcbiAgICB9KTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBQYXJzZSBhIHNpbmdsZSByYXcgdmFsdWUgYWNjb3JkaW5nIHRvIGZpZWxkIGtpbmQuICovXG5mdW5jdGlvbiBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvciwgcmF3OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgaWYgKGRlc2NyaXB0b3IucGFyc2UgIT0gbnVsbCkge1xuICAgIHJldHVybiBkZXNjcmlwdG9yLnBhcnNlKHJhdyk7XG4gIH1cbiAgaWYgKGRlc2NyaXB0b3Iua2luZCA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAocmF3ID09PSAnJykge1xuICAgICAgLy8gVHJlYXQgZW1wdHkgc3RyaW5nIGFzIGludmFsaWQgZm9yIG51bWVyaWMgZmllbGRzIChyZWplY3QgaW5zdGVhZCBvZiBjb2VyY2luZyB0byAwKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbiA9IE51bWJlcihyYXcpO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG4pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gbjtcbiAgfVxuICByZXR1cm4gcmF3O1xufVxuXG4vKiogSGFuZGxlIGEgYmV0d2VlbiBvcGVyYXRvciB2YWx1ZS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUJldHdlZW48UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBpZiAocGFydHMubGVuZ3RoICE9PSAyKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0ludmFsaWRBcml0eScsXG4gICAgICBmaWVsZCxcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgZGV0YWlsOiAnRXhwZWN0ZWQgZXhhY3RseSAyIHZhbHVlcycsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IFthUmF3LCBiUmF3XSA9IHBhcnRzIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gIGNvbnN0IGEgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGFSYXcpO1xuICBjb25zdCBiID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBiUmF3KTtcbiAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZFZhbHVlJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdPbmUgb2YgdGhlIGJldHdlZW4gdmFsdWVzIGludmFsaWQnLFxuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnN1cmVkLnRhcmdldCwgJ2JldHdlZW4nKSkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ0R1cGxpY2F0ZUJldHdlZW4nLCBmaWVsZCB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgZW5zdXJlZC50YXJnZXQuYmV0d2VlbiA9IFthLCBiXSBhcyB1bmtub3duO1xufVxuXG4vKiogSGFuZGxlIGxpc3Qgb3BlcmF0b3JzIChpbiwgbmluKS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUxpc3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgbGlzdFJhdyA9IGRlY29kZWQuc3BsaXQoJywnKTtcbiAgY29uc3QgcGFyc2VkTGlzdDogdW5rbm93bltdID0gW107XG4gIGZvciAoY29uc3QgaXRlbSBvZiBsaXN0UmF3KSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBpdGVtKTtcbiAgICBpZiAocGFyc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgICAga2luZDogJ0ludmFsaWRWYWx1ZScsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgZGV0YWlsOiAnTGlzdCBpdGVtIGludmFsaWQnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlZExpc3QucHVzaChwYXJzZWQpO1xuICAgIH1cbiAgfVxuICBpZiAocGFyc2VkTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZW5zdXJlZCA9IGVuc3VyZUZpZWxkT2JqZWN0KGFjYy5maWx0ZXJzLCBmaWVsZCk7XG4gIGFjYy5maWx0ZXJzID0gZW5zdXJlZC5jb250YWluZXI7XG4gIGNvbnN0IHRhcmdldE9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBlbnN1cmVkLnRhcmdldDtcbiAgY29uc3QgZXhpc3RpbmcgPSB0YXJnZXRPYmpbb3BlcmF0b3JdO1xuICBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gWy4uLmV4aXN0aW5nLCAuLi5wYXJzZWRMaXN0XTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gcGFyc2VkTGlzdDtcbiAgfVxufVxuXG4vKiogSGFuZGxlIHNjYWxhciBvcGVyYXRvciB2YWx1ZXMuICovXG5mdW5jdGlvbiBoYW5kbGVTY2FsYXI8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3Qgc2NhbGFyID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBkZWNvZGVkKTtcbiAgaWYgKHNjYWxhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnSW52YWxpZFZhbHVlJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgY29uc3Qgc2NhbGFyVGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGVuc3VyZWQudGFyZ2V0O1xuICBzY2FsYXJUYXJnZXRbb3BlcmF0b3JdID0gc2NhbGFyO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIHJhdyBzZWFyY2ggc3RyaW5nIChsZWFkaW5nIGA/YCBvcHRpb25hbCkgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBzY2hlbWFcbiAqIGFuZCByZXR1cm5zIHRoZSBmaWx0ZXJzIHBsdXMgZGlhZ25vc3RpY3MuXG4gKlxuICogQHBhcmFtIHJhd1NlYXJjaCAtIFF1ZXJ5IHN0cmluZyB0byBwYXJzZSAod2l0aCBvciB3aXRob3V0IHRoZSBsZWFkaW5nIHF1ZXN0aW9uIG1hcmspLlxuICogQHBhcmFtIHNjaGVtYSAtIFNjaGVtYSBkZXNjcmliaW5nIGFsbG93ZWQgZmllbGRzIGFuZCBvcGVyYXRvcnMuXG4gKiBAcmV0dXJucyBQYXJzZWQgZmlsdGVycyBhbG9uZ3NpZGUgbm9uLWJsb2NraW5nIGRpYWdub3N0aWNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2U8UyBleHRlbmRzIFNjaGVtYT4oXG4gIHJhd1NlYXJjaDogc3RyaW5nLFxuICBzY2hlbWE6IFMsXG4pOiBQYXJzZVJlc3VsdDxTPiB7XG4gIGNvbnN0IGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPiA9IHsgZmlsdGVyczoge30sIGRpYWdub3N0aWNzOiBbXSB9O1xuICBsZXQgc2VhcmNoID0gcmF3U2VhcmNoO1xuICBpZiAoc2VhcmNoLnN0YXJ0c1dpdGgoJz8nKSkge1xuICAgIHNlYXJjaCA9IHNlYXJjaC5zbGljZSgxKTtcbiAgfVxuICBpZiAoc2VhcmNoLnRyaW0oKSA9PT0gJycpIHtcbiAgICByZXR1cm4gYWNjO1xuICB9XG4gIGNvbnN0IHNlZ21lbnRzID0gc2VhcmNoLnNwbGl0KCcmJyk7XG4gIGZvciAoY29uc3Qgc2VnIG9mIHNlZ21lbnRzKSB7XG4gICAgY29uc3QgZXFJZHggPSBzZWcuaW5kZXhPZignPScpO1xuICAgIGNvbnN0IHZhbGlkQmFzaWMgPSBzZWcgIT09ICcnICYmIGVxSWR4ICE9PSAtMTtcbiAgICBpZiAodmFsaWRCYXNpYykge1xuICAgICAgY29uc3QgcmF3S2V5ID0gc2VnLnNsaWNlKDAsIGVxSWR4KTtcbiAgICAgIGNvbnN0IHJhd1ZhbCA9IHNlZy5zbGljZShlcUlkeCArIDEpO1xuICAgICAgY29uc3QgbGFzdERvdCA9IHJhd0tleS5sYXN0SW5kZXhPZignLicpO1xuICAgICAgLy8gQ2FzZSAxOiBrZXkgd2l0aCBleHBsaWNpdCBvcGVyYXRvciAoZmllbGQub3ApXG4gICAgICBjb25zdCBleHBsaWNpdFNoYXBlID0gIShsYXN0RG90IDw9IDAgfHwgbGFzdERvdCA9PT0gcmF3S2V5Lmxlbmd0aCAtIDEpO1xuICAgICAgaWYgKGV4cGxpY2l0U2hhcGUpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSByYXdLZXkuc2xpY2UoMCwgbGFzdERvdCk7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yID0gcmF3S2V5LnNsaWNlKGxhc3REb3QgKyAxKSBhcyBPcGVyYXRvcjtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYVtmaWVsZF07XG4gICAgICAgIGNvbnN0IGRlc2NPayA9IGRlc2NyaXB0b3I/Lm9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvcikgPT09IHRydWU7XG4gICAgICAgIGlmICghZGVzY09rKSB7XG4gICAgICAgICAgaWYgKGRlc2NyaXB0b3IgPT0gbnVsbCkge1xuICAgICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bkZpZWxkJywgZmllbGQgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25PcGVyYXRvcicsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVZhbHVlKHJhd1ZhbCwgZmllbGQsIG9wZXJhdG9yLCBhY2MuZGlhZ25vc3RpY3MpO1xuICAgICAgICAgIGlmIChkZWNvZGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdCA9IChMSVNUX09QUyBhcyByZWFkb25seSBzdHJpbmdbXSkuaW5jbHVkZXMob3BlcmF0b3IpO1xuICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSBCRVRXRUVOKSB7XG4gICAgICAgICAgICAgIGhhbmRsZUJldHdlZW4oZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0xpc3QpIHtcbiAgICAgICAgICAgICAgaGFuZGxlTGlzdChkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBoYW5kbGVTY2FsYXIoZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChsYXN0RG90ID09PSAtMSkge1xuICAgICAgICAvLyBpbXBsaWNpdCBlcXVhbGl0eSAobm8gZG90KSA9PiBvcGVyYXRvciAnZXEnXG4gICAgICAgIGNvbnN0IGZpZWxkID0gcmF3S2V5O1xuICAgICAgICBjb25zdCBvcGVyYXRvcjogT3BlcmF0b3IgPSAnZXEnO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IgPT0gbnVsbCkge1xuICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25GaWVsZCcsIGZpZWxkIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKCFkZXNjcmlwdG9yLm9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvcikpIHtcbiAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duT3BlcmF0b3InLCBmaWVsZCwgb3BlcmF0b3IgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVZhbHVlKHJhd1ZhbCwgZmllbGQsIG9wZXJhdG9yLCBhY2MuZGlhZ25vc3RpY3MpO1xuICAgICAgICAgIGlmIChkZWNvZGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhhbmRsZVNjYWxhcihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBhY2M7XG59XG4iXX0=
|
package/lib/esm/stringify.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { InferFilters, Schema } from './types.js';
|
|
2
|
-
export declare function stringify<S extends Schema>(filters: InferFilters<S
|
|
2
|
+
export declare function stringify<S extends Schema>(filters: InferFilters<S> | Readonly<Record<string, unknown>>, schema: S): string;
|
|
3
3
|
//# sourceMappingURL=stringify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAGP,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAGP,MAAM,YAAY,CAAC;AAwEpB,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC5D,MAAM,EAAE,CAAC,GACR,MAAM,CAmER"}
|
package/lib/esm/stringify.js
CHANGED
|
@@ -13,7 +13,28 @@ function serializeScalar(descriptor, value) {
|
|
|
13
13
|
if (isPrimitive) {
|
|
14
14
|
if (descriptor.serialize != null) {
|
|
15
15
|
try {
|
|
16
|
-
|
|
16
|
+
switch (descriptor.kind) {
|
|
17
|
+
case 'number':
|
|
18
|
+
if (typeof value === 'number') {
|
|
19
|
+
return descriptor.serialize(value);
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
case 'string':
|
|
23
|
+
case 'enum':
|
|
24
|
+
if (typeof value === 'string') {
|
|
25
|
+
return descriptor.serialize(value);
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
case 'boolean':
|
|
29
|
+
if (typeof value === 'boolean') {
|
|
30
|
+
return descriptor.serialize(value);
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
case 'custom':
|
|
34
|
+
return descriptor.serialize(value);
|
|
35
|
+
default:
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
17
38
|
}
|
|
18
39
|
catch {
|
|
19
40
|
return undefined;
|
|
@@ -36,19 +57,22 @@ export function stringify(filters, schema) {
|
|
|
36
57
|
for (const field of Object.keys(schema)) {
|
|
37
58
|
const value = filters[field];
|
|
38
59
|
const descriptor = schema[field];
|
|
39
|
-
if (value === undefined ||
|
|
60
|
+
if (value === undefined ||
|
|
61
|
+
descriptor === undefined ||
|
|
62
|
+
value === null ||
|
|
63
|
+
typeof value !== 'object') {
|
|
40
64
|
}
|
|
41
65
|
else {
|
|
42
66
|
for (const op of descriptor.operators) {
|
|
43
67
|
if (op === 'eq') {
|
|
44
|
-
const scalar = value
|
|
68
|
+
const scalar = Reflect.get(value, op);
|
|
45
69
|
const printable = serializeScalar(descriptor, scalar);
|
|
46
70
|
if (printable !== undefined) {
|
|
47
71
|
parts.push(`${encodeKey(field, op)}=${encodeURIComponent(printable)}`);
|
|
48
72
|
}
|
|
49
73
|
}
|
|
50
74
|
else if (op === 'between') {
|
|
51
|
-
const tuple = value
|
|
75
|
+
const tuple = Reflect.get(value, 'between');
|
|
52
76
|
if (Array.isArray(tuple) && tuple.length === 2) {
|
|
53
77
|
const first = serializeScalar(descriptor, tuple[0]);
|
|
54
78
|
const second = serializeScalar(descriptor, tuple[1]);
|
|
@@ -58,7 +82,7 @@ export function stringify(filters, schema) {
|
|
|
58
82
|
}
|
|
59
83
|
}
|
|
60
84
|
else if (op === 'in' || op === 'nin') {
|
|
61
|
-
const list = value
|
|
85
|
+
const list = Reflect.get(value, op);
|
|
62
86
|
if (Array.isArray(list) && list.length > 0) {
|
|
63
87
|
const encodedItems = list
|
|
64
88
|
.map((v) => {
|
|
@@ -89,4 +113,4 @@ export function stringify(filters, schema) {
|
|
|
89
113
|
}
|
|
90
114
|
return parts.join('&');
|
|
91
115
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxJQUFJLEVBQUUsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBS0QsU0FBUyxlQUFlLENBQ3RCLFVBQTJCLEVBQzNCLEtBQWM7SUFFZCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQ2YsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUM3QixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQWMsQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxVQUFVLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFD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Q2IsSUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFLENBQUM7NEJBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7d0JBQ3hELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxNQUFNLEdBQUksS0FBaUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEQsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDdEQsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQzVCLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQzNELENBQUM7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEluZmVyRmlsdGVycyxcbiAgU2NoZW1hLFxuICBPcGVyYXRvcixcbiAgRmllbGREZXNjcmlwdG9yLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGVuY29kZWQga2V5IHBvcnRpb24gZm9yIGEgZmllbGQvb3BlcmF0b3IgcGFpciAoaW1wbGljaXQgYGVxYCBoYXMgbm8gZG90IHN1ZmZpeCkuXG4gKi9cbmZ1bmN0aW9uIGVuY29kZUtleShmaWVsZDogc3RyaW5nLCBvcDogT3BlcmF0b3IpOiBzdHJpbmcge1xuICBpZiAob3AgPT09ICdlcScpIHJldHVybiBmaWVsZDsgLy8gaW1wbGljaXQgZXF1YWxpdHkgZm9ybVxuICByZXR1cm4gYCR7ZmllbGR9LiR7b3B9YDtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgc2NhbGFyIHZhbHVlIHVzaW5nIHRoZSBmaWVsZCBkZXNjcmlwdG9yIHdoZW4gcG9zc2libGUuXG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZVNjYWxhcihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICB2YWx1ZTogdW5rbm93bixcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBpc1ByaW1pdGl2ZSA9XG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcbiAgaWYgKGlzUHJpbWl0aXZlKSB7XG4gICAgaWYgKGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yLnNlcmlhbGl6ZSh2YWx1ZSBhcyBuZXZlcik7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cbiAgaWYgKGRlc2NyaXB0b3Iua2luZCA9PT0gJ2N1c3RvbScgJiYgZGVzY3JpcHRvci5zZXJpYWxpemUgIT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgZmlsdGVycyBvYmplY3QgaW50byBhIGNhbm9uaWNhbCBxdWVyeSBzdHJpbmcgcmVzcGVjdGluZyB0aGUgc2NoZW1hIG9wZXJhdG9yIG9yZGVyaW5nLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gUGFyc2VkIGZpbHRlcnMgdG8gZW5jb2RlLlxuICogQHBhcmFtIHNjaGVtYSAtIFNjaGVtYSB1c2VkIHRvIGRldGVybWluZSBvcGVyYXRvciBvcmRlcmluZyBhbmQgZm9ybWF0dGluZy5cbiAqIEByZXR1cm5zIFF1ZXJ5IHN0cmluZyB3aXRob3V0IGxlYWRpbmcgcXVlc3Rpb24gbWFyay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogSW5mZXJGaWx0ZXJzPFM+LFxuICBzY2hlbWE6IFMsXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3Qua2V5cyhzY2hlbWEpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJzW2ZpZWxkIGFzIGtleW9mIFNdO1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGRlc2NyaXB0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gc2tpcCBhYnNlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcCBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBpZiAob3AgPT09ICdlcScpIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXTtcbiAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgc2NhbGFyKTtcbiAgICAgICAgICBpZiAocHJpbnRhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgIGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZVVSSUNvbXBvbmVudChwcmludGFibGUpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gJ2JldHdlZW4nKSB7XG4gICAgICAgICAgY29uc3QgdHVwbGUgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmJldHdlZW4gYXNcbiAgICAgICAgICAgIHVua25vd25bXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0dXBsZSkgJiYgdHVwbGUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdCA9IHNlcmlhbGl6ZVNjYWxhcihkZXNjcmlwdG9yLCB0dXBsZVswXSk7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmQgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdHVwbGVbMV0pO1xuICAgICAgICAgICAgaWYgKGZpcnN0ICE9PSB1bmRlZmluZWQgJiYgc2Vjb25kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICBmaXJzdCxcbiAgICAgICAgICAgICAgICApfSwke2VuY29kZVVSSUNvbXBvbmVudChzZWNvbmQpfWAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXSBhc1xuICAgICAgICAgICAgdW5rbm93bltdIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3QpICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZEl0ZW1zID0gbGlzdFxuICAgICAgICAgICAgICAubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJpbnRhYmxlID0gc2VyaWFsaXplU2NhbGFyKGRlc2NyaXB0b3IsIHYpO1xuICAgICAgICAgICAgICAgIGlmIChwcmludGFibGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChwcmludGFibGUpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZmlsdGVyKChpdGVtKTogaXRlbSBpcyBzdHJpbmcgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtICE9PSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5qb2luKCcsJyk7XG4gICAgICAgICAgICBpZiAoZW5jb2RlZEl0ZW1zICE9PSAnJykge1xuICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZWRJdGVtc31gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc2NhbGFyID0gKHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtvcF07XG4gICAgICAgICAgY29uc3QgcHJpbnRhYmxlID0gc2VyaWFsaXplU2NhbGFyKGRlc2NyaXB0b3IsIHNjYWxhcik7XG4gICAgICAgICAgaWYgKHByaW50YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQocHJpbnRhYmxlKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJyYnKTtcbn1cbiJdfQ==
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxJQUFJLEVBQUUsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBS0QsU0FBUyxlQUFlLENBQ3RCLFVBQTJCLEVBQzNCLEtBQWM7SUFFZCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQ2YsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUM3QixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3hCLEtBQUssUUFBUTt3QkFDWCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM5QixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsT0FBTyxTQUFTLENBQUM7b0JBQ25CLEtBQUssUUFBUSxDQUFDO29CQUNkLEtBQUssTUFBTTt3QkFDVCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM5QixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsT0FBTyxTQUFTLENBQUM7b0JBQ25CLEtBQUssU0FBUzt3QkFDWixJQUFJLE9BQU8s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QztvQkFDdEQsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQzVCLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQzNELENBQUM7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEluZmVyRmlsdGVycyxcbiAgU2NoZW1hLFxuICBPcGVyYXRvcixcbiAgRmllbGREZXNjcmlwdG9yLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGVuY29kZWQga2V5IHBvcnRpb24gZm9yIGEgZmllbGQvb3BlcmF0b3IgcGFpciAoaW1wbGljaXQgYGVxYCBoYXMgbm8gZG90IHN1ZmZpeCkuXG4gKi9cbmZ1bmN0aW9uIGVuY29kZUtleShmaWVsZDogc3RyaW5nLCBvcDogT3BlcmF0b3IpOiBzdHJpbmcge1xuICBpZiAob3AgPT09ICdlcScpIHJldHVybiBmaWVsZDsgLy8gaW1wbGljaXQgZXF1YWxpdHkgZm9ybVxuICByZXR1cm4gYCR7ZmllbGR9LiR7b3B9YDtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgc2NhbGFyIHZhbHVlIHVzaW5nIHRoZSBmaWVsZCBkZXNjcmlwdG9yIHdoZW4gcG9zc2libGUuXG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZVNjYWxhcihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICB2YWx1ZTogdW5rbm93bixcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBpc1ByaW1pdGl2ZSA9XG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcbiAgaWYgKGlzUHJpbWl0aXZlKSB7XG4gICAgaWYgKGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoZGVzY3JpcHRvci5raW5kKSB7XG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yLnNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgY2FzZSAnZW51bSc6XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3Iuc2VyaWFsaXplKHZhbHVlKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG4gIGlmIChkZXNjcmlwdG9yLmtpbmQgPT09ICdjdXN0b20nICYmIGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3Iuc2VyaWFsaXplKHZhbHVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBhIGZpbHRlcnMgb2JqZWN0IGludG8gYSBjYW5vbmljYWwgcXVlcnkgc3RyaW5nIHJlc3BlY3RpbmcgdGhlIHNjaGVtYSBvcGVyYXRvciBvcmRlcmluZy5cbiAqXG4gKiBAcGFyYW0gZmlsdGVycyAtIFBhcnNlZCBmaWx0ZXJzIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBzY2hlbWEgLSBTY2hlbWEgdXNlZCB0byBkZXRlcm1pbmUgb3BlcmF0b3Igb3JkZXJpbmcgYW5kIGZvcm1hdHRpbmcuXG4gKiBAcmV0dXJucyBRdWVyeSBzdHJpbmcgd2l0aG91dCBsZWFkaW5nIHF1ZXN0aW9uIG1hcmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnk8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPiB8IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgc2NoZW1hOiBTLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgZmllbGQgb2YgT2JqZWN0LmtleXMoc2NoZW1hKSkge1xuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyc1tmaWVsZF07XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYVtmaWVsZF07XG4gICAgaWYgKFxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgZGVzY3JpcHRvciA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0J1xuICAgICkge1xuICAgICAgLy8gc2tpcCBhYnNlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcCBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBpZiAob3AgPT09ICdlcScpIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSBSZWZsZWN0LmdldCh2YWx1ZSwgb3ApIGFzIHVua25vd247XG4gICAgICAgICAgY29uc3QgcHJpbnRhYmxlID0gc2VyaWFsaXplU2NhbGFyKGRlc2NyaXB0b3IsIHNjYWxhcik7XG4gICAgICAgICAgaWYgKHByaW50YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQocHJpbnRhYmxlKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAob3AgPT09ICdiZXR3ZWVuJykge1xuICAgICAgICAgIGNvbnN0IHR1cGxlID0gUmVmbGVjdC5nZXQodmFsdWUsICdiZXR3ZWVuJykgYXMgdW5rbm93bjtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0dXBsZSkgJiYgdHVwbGUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdCA9IHNlcmlhbGl6ZVNjYWxhcihkZXNjcmlwdG9yLCB0dXBsZVswXSk7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmQgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdHVwbGVbMV0pO1xuICAgICAgICAgICAgaWYgKGZpcnN0ICE9PSB1bmRlZmluZWQgJiYgc2Vjb25kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICBmaXJzdCxcbiAgICAgICAgICAgICAgICApfSwke2VuY29kZVVSSUNvbXBvbmVudChzZWNvbmQpfWAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSBSZWZsZWN0LmdldCh2YWx1ZSwgb3ApIGFzIHVua25vd247XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdCkgJiYgbGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVkSXRlbXMgPSBsaXN0XG4gICAgICAgICAgICAgIC5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdik7XG4gICAgICAgICAgICAgICAgaWYgKHByaW50YWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHByaW50YWJsZSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pOiBpdGVtIGlzIHN0cmluZyA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0gIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmpvaW4oJywnKTtcbiAgICAgICAgICAgIGlmIChlbmNvZGVkSXRlbXMgIT09ICcnKSB7XG4gICAgICAgICAgICAgIHBhcnRzLnB1c2goYCR7ZW5jb2RlS2V5KGZpZWxkLCBvcCl9PSR7ZW5jb2RlZEl0ZW1zfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXTtcbiAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgc2NhbGFyKTtcbiAgICAgICAgICBpZiAocHJpbnRhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgIGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZVVSSUNvbXBvbmVudChwcmludGFibGUpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcGFydHMuam9pbignJicpO1xufVxuIl19
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -21,18 +21,12 @@ export type EnumFieldDescriptor<T extends string> = FieldDescriptorBase<'enum',
|
|
|
21
21
|
export type CustomFieldDescriptor<T> = FieldDescriptorBase<'custom', T>;
|
|
22
22
|
export type FieldDescriptor = NumberFieldDescriptor | StringFieldDescriptor | BooleanFieldDescriptor | EnumFieldDescriptor<string> | CustomFieldDescriptor<unknown>;
|
|
23
23
|
export type Schema = Readonly<Record<string, FieldDescriptor>>;
|
|
24
|
-
type OperatorKeys<D extends FieldDescriptor> = Extract<D['operators'][number], ScalarOperator>;
|
|
25
24
|
type FieldValue<D extends FieldDescriptor> = D extends FieldDescriptorBase<PrimitiveKind, infer TValue> ? TValue : never;
|
|
26
|
-
type ScalarMap<D extends FieldDescriptor> = Record<
|
|
27
|
-
type BetweenMap<D extends FieldDescriptor> =
|
|
25
|
+
type ScalarMap<D extends FieldDescriptor> = Record<ScalarOperator, FieldValue<D> | undefined>;
|
|
26
|
+
type BetweenMap<D extends FieldDescriptor> = {
|
|
28
27
|
between?: readonly [FieldValue<D>, FieldValue<D>];
|
|
29
|
-
}
|
|
30
|
-
type
|
|
31
|
-
type ListMap<D extends FieldDescriptor> = ('in' extends ListOps<D> ? {
|
|
32
|
-
in?: readonly FieldValue<D>[];
|
|
33
|
-
} : Record<never, never>) & ('nin' extends ListOps<D> ? {
|
|
34
|
-
nin?: readonly FieldValue<D>[];
|
|
35
|
-
} : Record<never, never>);
|
|
28
|
+
};
|
|
29
|
+
type ListMap<D extends FieldDescriptor> = Record<ListOperator, readonly FieldValue<D>[] | undefined>;
|
|
36
30
|
export type InferField<D extends FieldDescriptor> = Partial<ScalarMap<D> & BetweenMap<D> & ListMap<D>>;
|
|
37
31
|
export type InferFilters<S extends Schema> = {
|
|
38
32
|
[K in keyof S]?: InferField<S[K]>;
|
package/lib/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAG3C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhF,KAAK,mBAAmB,CAAC,MAAM,IAAI;IAGjC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC,CAAC,gBAAgB,CAAC,CAAC;AAKpB,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,aAAa,EAAE,MAAM;IACtE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAErD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CAClD;AAGD,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAAI,mBAAmB,CACrE,MAAM,EACN,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAGxE,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,CAAC,MAAM,CAAC,GAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAGnC,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWUsXG4gIEZpbHRlckxpc3RPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJTY2FsYXJPcGVyYXRvclZhbHVlLFxufSBmcm9tICcuL3ZhbHVlcy5qcyc7XG5cbi8qKlxuICogT3BlcmF0b3JzIHRoYXQgdGFrZSBhIHNpbmdsZSBzY2FsYXIgdmFsdWUgKG51bWJlcnMgb3Igc3RyaW5ncykgaW4gdGhlIGZpbHRlciBzY2hlbWEuXG4gKi9cbmV4cG9ydCB0eXBlIFNjYWxhck9wZXJhdG9yID0gRmlsdGVyU2NhbGFyT3BlcmF0b3JWYWx1ZTtcbi8qKiBPcGVyYXRvciByZXByZXNlbnRpbmcgYSByYW5nZSBvZiB0d28gdmFsdWVzLiAqL1xuZXhwb3J0IHR5cGUgQmV0d2Vlbk9wZXJhdG9yID0gRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWU7XG4vKiogT3BlcmF0b3JzIHdob3NlIHZhbHVlcyBhcmUgbGlzdHMuICovXG5leHBvcnQgdHlwZSBMaXN0T3BlcmF0b3IgPSBGaWx0ZXJMaXN0T3BlcmF0b3JWYWx1ZTtcbi8qKiBBbGwgc3VwcG9ydGVkIG9wZXJhdG9yIGtpbmRzLiAqL1xuZXhwb3J0IHR5cGUgT3BlcmF0b3IgPSBGaWx0ZXJPcGVyYXRvclZhbHVlO1xuXG4vKiogUHJpbWl0aXZlIGZpZWxkIGtpbmRzIHN1cHBvcnRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlS2luZCA9ICdudW1iZXInIHwgJ3N0cmluZycgfCAnYm9vbGVhbicgfCAnZW51bScgfCAnY3VzdG9tJztcblxudHlwZSBCaXZhcmlhbnRTZXJpYWxpemVyPFRWYWx1ZT4gPSB7XG4gIC8vIFRoZSBwdWJsaWMgY2FsbGJhY2sgbXVzdCBhY2NlcHQgdGhlIHNwZWNpYWxpemVkIHZhbHVlIGluZmVycmVkIGJ5IGl0cyBmaWVsZC5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGJpdmFyaWFuY2VIYWNrKHZhbHVlOiBUVmFsdWUpOiBzdHJpbmc7XG59WydiaXZhcmlhbmNlSGFjayddO1xuXG4vKipcbiAqIEJhc2UgZGVzY3JpcHRvciBzaGFyZWQgYnkgbnVtYmVyIGFuZCBzdHJpbmcgZmllbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVzY3JpcHRvckJhc2U8VEtpbmQgZXh0ZW5kcyBQcmltaXRpdmVLaW5kLCBUVmFsdWU+IHtcbiAgcmVhZG9ubHkga2luZDogVEtpbmQ7XG4gIHJlYWRvbmx5IG9wZXJhdG9yczogcmVhZG9ubHkgT3BlcmF0b3JbXTtcbiAgcmVhZG9ubHkgcGFyc2U/OiAocmF3OiBzdHJpbmcpID0+IFRWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgLyoqIEJpdmFyaWFuY2Uga2VlcHMgc3BlY2lhbGl6ZWQgZGVzY3JpcHRvcnMgYXNzaWduYWJsZSB0byBTY2hlbWEuICovXG4gIHJlYWRvbmx5IHNlcmlhbGl6ZT86IEJpdmFyaWFudFNlcmlhbGl6ZXI8VFZhbHVlPjtcbn1cblxuLyoqIERlc2NyaXB0b3IgZm9yIG51bWVyaWMgZmllbGRzLiBQcm92aWRlcyBudW1lcmljIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J251bWJlcicsIG51bWJlcj47XG4vKiogRGVzY3JpcHRvciBmb3Igc3RyaW5nIGZpZWxkcy4gUHJvdmlkZXMgc3RyaW5nIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIFN0cmluZ0ZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J3N0cmluZycsIHN0cmluZz47XG4vKiogRGVzY3JpcHRvciBmb3IgYm9vbGVhbiBmaWVsZHMuICovXG5leHBvcnQgdHlwZSBCb29sZWFuRmllbGREZXNjcmlwdG9yID0gRmllbGREZXNjcmlwdG9yQmFzZTwnYm9vbGVhbicsIGJvb2xlYW4+O1xuLyoqIERlc2NyaXB0b3IgZm9yIGVudW0gc3RyaW5nIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEVudW1GaWVsZERlc2NyaXB0b3I8VCBleHRlbmRzIHN0cmluZz4gPSBGaWVsZERlc2NyaXB0b3JCYXNlPFxuICAnZW51bScsXG4gIFRcbj47XG4vKiogRGVzY3JpcHRvciBmb3IgY3VzdG9tIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkRGVzY3JpcHRvcjxUPiA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J2N1c3RvbScsIFQ+O1xuXG4vKiogRGVzY3JpcHRvciBhY2NlcHRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgRmllbGREZXNjcmlwdG9yID1cbiAgfCBOdW1iZXJGaWVsZERlc2NyaXB0b3JcbiAgfCBTdHJpbmdGaWVsZERlc2NyaXB0b3JcbiAgfCBCb29sZWFuRmllbGREZXNjcmlwdG9yXG4gIHwgRW51bUZpZWxkRGVzY3JpcHRvcjxzdHJpbmc+XG4gIHwgQ3VzdG9tRmllbGREZXNjcmlwdG9yPHVua25vd24+O1xuXG4vKiogSW1tdXRhYmxlIG1hcHBpbmcgYmV0d2VlbiBmaWVsZCBrZXlzIGFuZCB0aGVpciBkZXNjcmlwdG9ycy4gKi9cbmV4cG9ydCB0eXBlIFNjaGVtYSA9IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIEZpZWxkRGVzY3JpcHRvcj4+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWUsXG4gIEZpbHRlckxpc3RPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJTY2FsYXJPcGVyYXRvclZhbHVlLFxufSBmcm9tICcuL3ZhbHVlcy5qcyc7XG5cbi8qKlxuICogT3BlcmF0b3JzIHRoYXQgdGFrZSBhIHNpbmdsZSBzY2FsYXIgdmFsdWUgKG51bWJlcnMgb3Igc3RyaW5ncykgaW4gdGhlIGZpbHRlciBzY2hlbWEuXG4gKi9cbmV4cG9ydCB0eXBlIFNjYWxhck9wZXJhdG9yID0gRmlsdGVyU2NhbGFyT3BlcmF0b3JWYWx1ZTtcbi8qKiBPcGVyYXRvciByZXByZXNlbnRpbmcgYSByYW5nZSBvZiB0d28gdmFsdWVzLiAqL1xuZXhwb3J0IHR5cGUgQmV0d2Vlbk9wZXJhdG9yID0gRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWU7XG4vKiogT3BlcmF0b3JzIHdob3NlIHZhbHVlcyBhcmUgbGlzdHMuICovXG5leHBvcnQgdHlwZSBMaXN0T3BlcmF0b3IgPSBGaWx0ZXJMaXN0T3BlcmF0b3JWYWx1ZTtcbi8qKiBBbGwgc3VwcG9ydGVkIG9wZXJhdG9yIGtpbmRzLiAqL1xuZXhwb3J0IHR5cGUgT3BlcmF0b3IgPSBGaWx0ZXJPcGVyYXRvclZhbHVlO1xuXG4vKiogUHJpbWl0aXZlIGZpZWxkIGtpbmRzIHN1cHBvcnRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlS2luZCA9ICdudW1iZXInIHwgJ3N0cmluZycgfCAnYm9vbGVhbicgfCAnZW51bScgfCAnY3VzdG9tJztcblxudHlwZSBCaXZhcmlhbnRTZXJpYWxpemVyPFRWYWx1ZT4gPSB7XG4gIC8vIFRoZSBwdWJsaWMgY2FsbGJhY2sgbXVzdCBhY2NlcHQgdGhlIHNwZWNpYWxpemVkIHZhbHVlIGluZmVycmVkIGJ5IGl0cyBmaWVsZC5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGJpdmFyaWFuY2VIYWNrKHZhbHVlOiBUVmFsdWUpOiBzdHJpbmc7XG59WydiaXZhcmlhbmNlSGFjayddO1xuXG4vKipcbiAqIEJhc2UgZGVzY3JpcHRvciBzaGFyZWQgYnkgbnVtYmVyIGFuZCBzdHJpbmcgZmllbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVzY3JpcHRvckJhc2U8VEtpbmQgZXh0ZW5kcyBQcmltaXRpdmVLaW5kLCBUVmFsdWU+IHtcbiAgcmVhZG9ubHkga2luZDogVEtpbmQ7XG4gIHJlYWRvbmx5IG9wZXJhdG9yczogcmVhZG9ubHkgT3BlcmF0b3JbXTtcbiAgcmVhZG9ubHkgcGFyc2U/OiAocmF3OiBzdHJpbmcpID0+IFRWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgLyoqIEJpdmFyaWFuY2Uga2VlcHMgc3BlY2lhbGl6ZWQgZGVzY3JpcHRvcnMgYXNzaWduYWJsZSB0byBTY2hlbWEuICovXG4gIHJlYWRvbmx5IHNlcmlhbGl6ZT86IEJpdmFyaWFudFNlcmlhbGl6ZXI8VFZhbHVlPjtcbn1cblxuLyoqIERlc2NyaXB0b3IgZm9yIG51bWVyaWMgZmllbGRzLiBQcm92aWRlcyBudW1lcmljIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J251bWJlcicsIG51bWJlcj47XG4vKiogRGVzY3JpcHRvciBmb3Igc3RyaW5nIGZpZWxkcy4gUHJvdmlkZXMgc3RyaW5nIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIFN0cmluZ0ZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J3N0cmluZycsIHN0cmluZz47XG4vKiogRGVzY3JpcHRvciBmb3IgYm9vbGVhbiBmaWVsZHMuICovXG5leHBvcnQgdHlwZSBCb29sZWFuRmllbGREZXNjcmlwdG9yID0gRmllbGREZXNjcmlwdG9yQmFzZTwnYm9vbGVhbicsIGJvb2xlYW4+O1xuLyoqIERlc2NyaXB0b3IgZm9yIGVudW0gc3RyaW5nIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEVudW1GaWVsZERlc2NyaXB0b3I8VCBleHRlbmRzIHN0cmluZz4gPSBGaWVsZERlc2NyaXB0b3JCYXNlPFxuICAnZW51bScsXG4gIFRcbj47XG4vKiogRGVzY3JpcHRvciBmb3IgY3VzdG9tIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkRGVzY3JpcHRvcjxUPiA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J2N1c3RvbScsIFQ+O1xuXG4vKiogRGVzY3JpcHRvciBhY2NlcHRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgRmllbGREZXNjcmlwdG9yID1cbiAgfCBOdW1iZXJGaWVsZERlc2NyaXB0b3JcbiAgfCBTdHJpbmdGaWVsZERlc2NyaXB0b3JcbiAgfCBCb29sZWFuRmllbGREZXNjcmlwdG9yXG4gIHwgRW51bUZpZWxkRGVzY3JpcHRvcjxzdHJpbmc+XG4gIHwgQ3VzdG9tRmllbGREZXNjcmlwdG9yPHVua25vd24+O1xuXG4vKiogSW1tdXRhYmxlIG1hcHBpbmcgYmV0d2VlbiBmaWVsZCBrZXlzIGFuZCB0aGVpciBkZXNjcmlwdG9ycy4gKi9cbmV4cG9ydCB0eXBlIFNjaGVtYSA9IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIEZpZWxkRGVzY3JpcHRvcj4+O1xuXG50eXBlIEZpZWxkVmFsdWU8RCBleHRlbmRzIEZpZWxkRGVzY3JpcHRvcj4gPVxuICBEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yQmFzZTxQcmltaXRpdmVLaW5kLCBpbmZlciBUVmFsdWU+ID8gVFZhbHVlIDogbmV2ZXI7XG50eXBlIFNjYWxhck1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IFJlY29yZDxcbiAgU2NhbGFyT3BlcmF0b3IsXG4gIEZpZWxkVmFsdWU8RD4gfCB1bmRlZmluZWRcbj47XG5cbnR5cGUgQmV0d2Vlbk1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IHtcbiAgYmV0d2Vlbj86IHJlYWRvbmx5IFtGaWVsZFZhbHVlPEQ+LCBGaWVsZFZhbHVlPEQ+XTtcbn07XG5cbnR5cGUgTGlzdE1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IFJlY29yZDxcbiAgTGlzdE9wZXJhdG9yLFxuICByZWFkb25seSBGaWVsZFZhbHVlPEQ+W10gfCB1bmRlZmluZWRcbj47XG5cbi8qKlxuICogSW5mZXJzIG9wZXJhdG9yIHZhbHVlIHNoYXBlcyBmcm9tIGEgZGVzY3JpcHRvcidzIGZpZWxkIHZhbHVlIHR5cGUuXG4gKiBUaGUgZGVzY3JpcHRvcidzIHJ1bnRpbWUgb3BlcmF0b3Igd2hpdGVsaXN0IGlzIGludGVudGlvbmFsbHkgbm90IGVuY29kZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEluZmVyRmllbGQ8RCBleHRlbmRzIEZpZWxkRGVzY3JpcHRvcj4gPSBQYXJ0aWFsPFxuICBTY2FsYXJNYXA8RD4gJiBCZXR3ZWVuTWFwPEQ+ICYgTGlzdE1hcDxEPlxuPjtcblxuLyoqIEZpbHRlcnMgbWFwIGluZmVycmVkIGZyb20gYSBzY2hlbWEgZGVmaW5pdGlvbi4gKi9cbmV4cG9ydCB0eXBlIEluZmVyRmlsdGVyczxTIGV4dGVuZHMgU2NoZW1hPiA9IHtcbiAgW0sgaW4ga2V5b2YgU10/OiBJbmZlckZpZWxkPFNbS10+O1xufTtcblxuLyoqIFJlc3VsdCByZXR1cm5lZCBieSB0aGUgYHBhcnNlYCBmdW5jdGlvbjogcGFyc2VkIGZpbHRlcnMgcGx1cyBkaWFnbm9zdGljcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VSZXN1bHQ8UyBleHRlbmRzIFNjaGVtYT4ge1xuICByZWFkb25seSBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIHJlYWRvbmx5IGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG4iXX0=
|
package/lib/mutate.d.ts
CHANGED
|
@@ -4,9 +4,8 @@ export type EqInput<S extends Schema> = Partial<{
|
|
|
4
4
|
eq?: infer V;
|
|
5
5
|
} ? V : never;
|
|
6
6
|
}>;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare
|
|
9
|
-
export declare function setFilter<S extends Schema, F extends keyof S, O extends keyof NonNullable<InferFilters<S>[F]>>(filters: Readonly<InferFilters<S>>, _schema: S, field: F, operator: O, value: NonNullable<InferFilters<S>[F]>[O] | undefined): InferFilters<S>;
|
|
7
|
+
export declare function buildEqFilters<S extends Schema>(input: EqInput<S>): InferFilters<S>;
|
|
8
|
+
export declare function setFilter<S extends Schema, F extends keyof S, O extends keyof NonNullable<InferFilters<S>[F]>>(filters: Readonly<InferFilters<S>>, field: F, operator: O, value: NonNullable<InferFilters<S>[F]>[O] | undefined): InferFilters<S>;
|
|
10
9
|
export declare function removeFilter<S extends Schema, F extends keyof S>(filters: Readonly<InferFilters<S>>, field: F, operator?: keyof NonNullable<InferFilters<S>[F]>): InferFilters<S>;
|
|
11
10
|
export declare function mergeFilters<S extends Schema>(base: Readonly<InferFilters<S>>, patch: Readonly<InferFilters<S>>): InferFilters<S>;
|
|
12
11
|
export declare function isEmpty<S extends Schema>(filters: Readonly<InferFilters<S>>): boolean;
|
package/lib/mutate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgCvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC;KAE5C,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9D,CAAC,GACD,KAAK,GACR,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACxE,CAAC,CAAC;AAOH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../src/mutate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgCvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC;KAE5C,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9D,CAAC,GACD,KAAK,GACR,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACxE,CAAC,CAAC;AAOH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAChB,YAAY,CAAC,CAAC,CAAC,CAQjB;AAWD,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAE/C,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACpD,YAAY,CAAC,CAAC,CAAC,CAwBjB;AASD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAC9D,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,YAAY,CAAC,CAAC,CAAC,CAkBjB;AASD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,CAAC,CAoBjB;AAOD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EACtC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjC,OAAO,CAET"}
|
package/lib/mutate.js
CHANGED
|
@@ -22,7 +22,7 @@ function shallowEqual(a, b) {
|
|
|
22
22
|
}
|
|
23
23
|
return true;
|
|
24
24
|
}
|
|
25
|
-
export function
|
|
25
|
+
export function buildEqFilters(input) {
|
|
26
26
|
const filters = {};
|
|
27
27
|
for (const [key, value] of Object.entries(input)) {
|
|
28
28
|
if (value !== undefined) {
|
|
@@ -31,8 +31,7 @@ export function eq(input) {
|
|
|
31
31
|
}
|
|
32
32
|
return filters;
|
|
33
33
|
}
|
|
34
|
-
export
|
|
35
|
-
export function setFilter(filters, _schema, field, operator, value) {
|
|
34
|
+
export function setFilter(filters, field, operator, value) {
|
|
36
35
|
const currentField = filters[field];
|
|
37
36
|
if (value === undefined) {
|
|
38
37
|
if (currentField === undefined) {
|
|
@@ -95,4 +94,4 @@ export function mergeFilters(base, patch) {
|
|
|
95
94
|
export function isEmpty(filters) {
|
|
96
95
|
return Object.keys(filters).length === 0;
|
|
97
96
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL211dGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxTQUFTLFlBQVksQ0FBQyxDQUFVLEVBQUUsQ0FBVTtJQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixDQUFDLEtBQUssSUFBSTtRQUNWLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLElBQUksRUFDVixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBNEIsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxDQUE0QixDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWVELE1BQU0sVUFBVSxFQUFFLENBQW1CLEtBQWlCO0lBQ3BELE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDNUMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE9BQTBCLENBQUM7QUFDcEMsQ0FBQztBQUtELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7QUFZakMsTUFBTSxVQUFVLFNBQVMsQ0FLdkIsT0FBa0MsRUFDbEMsT0FBVSxFQUNWLEtBQVEsRUFDUixRQUFXLEVBQ1gsS0FBcUQ7SUFFckQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxZQUd6QyxDQUFDO1FBQ0YsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxPQUFrQyxDQUFDO1lBQ3JFLE9BQU8sS0FBd0IsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHO1FBQ2YsR0FBSSxZQUFvRDtRQUN4RCxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUs7S0FDbEIsQ0FBQztJQUNGLElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdkUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFTRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixPQUFrQyxFQUNsQyxLQUFRLEVBQ1IsUUFBZ0Q7SUFFaEQsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMzQixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxPQUFrQyxDQUFDO1FBQzNFLE9BQU8sS0FBd0IsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsWUFHM0MsQ0FBQztJQUNGLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsT0FBa0MsQ0FBQztRQUNyRSxPQUFPLEtBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFTRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixJQUErQixFQUMvQixLQUFnQztJQUVoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxNQUFNLEdBQTZCLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFnQixFQUFFLENBQUM7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUU3QixDQUFDO2FBQU0sSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztZQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLENBQUM7YUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBT0QsTUFBTSxVQUFVLE9BQU8sQ0FDckIsT0FBa0M7SUFFbEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5mZXJGaWx0ZXJzLCBTY2hlbWEgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBDaGVja3Mgc2hhbGxvdyBlcXVhbGl0eSBiZXR3ZWVuIHR3byBwbGFpbiBvYmplY3RzIChvd24gZW51bWVyYWJsZSBzdHJpbmcga2V5cyBvbmx5KS5cbiAqL1xuZnVuY3Rpb24gc2hhbGxvd0VxdWFsKGE6IHVua25vd24sIGI6IHVua25vd24pOiBib29sZWFuIHtcbiAgaWYgKGEgPT09IGIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoXG4gICAgdHlwZW9mIGEgIT09ICdvYmplY3QnIHx8XG4gICAgYSA9PT0gbnVsbCB8fFxuICAgIHR5cGVvZiBiICE9PSAnb2JqZWN0JyB8fFxuICAgIGIgPT09IG51bGxcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGFPYmogPSBhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCBiT2JqID0gYiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYUtleXMgPSBPYmplY3Qua2V5cyhhT2JqKTtcbiAgY29uc3QgYktleXMgPSBPYmplY3Qua2V5cyhiT2JqKTtcbiAgaWYgKGFLZXlzLmxlbmd0aCAhPT0gYktleXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvciAoY29uc3QgayBvZiBhS2V5cykge1xuICAgIGlmIChhT2JqW2tdICE9PSBiT2JqW2tdKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgdHlwZSBFcUlucHV0PFMgZXh0ZW5kcyBTY2hlbWE+ID0gUGFydGlhbDx7XG4gIFtcbiAgICBLIGluIGtleW9mIFMgYXMgJ2VxJyBleHRlbmRzIGtleW9mIE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltLXT5cbiAgICAgID8gS1xuICAgICAgOiBuZXZlclxuICBdOiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bS10+IGV4dGVuZHMgeyBlcT86IGluZmVyIFYgfSA/IFYgOiBuZXZlcjtcbn0+O1xuXG4vKipcbiAqIEJ1aWxkcyBhIGZpbHRlcnMgb2JqZWN0IHVzaW5nIGltcGxpY2l0IGVxdWFsaXR5IGZvciBlYWNoIHByb3ZpZGVkIGZpZWxkLlxuICpcbiAqIEBwYXJhbSBpbnB1dCAtIFJlY29yZCBvZiBmaWVsZCB2YWx1ZXMgdG8gZW5jb2RlIGFzIGB7IGVxOiB2YWx1ZSB9YC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVxPFMgZXh0ZW5kcyBTY2hlbWE+KGlucHV0OiBFcUlucHV0PFM+KTogSW5mZXJGaWx0ZXJzPFM+IHtcbiAgY29uc3QgZmlsdGVyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaW5wdXQpKSB7XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZpbHRlcnNba2V5XSA9IHsgZXE6IHZhbHVlIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBmaWx0ZXJzIGFzIEluZmVyRmlsdGVyczxTPjtcbn1cblxuLyoqXG4gKiBBbGlhcyBmb3Ige0BsaW5rIGVxfSBmb3IgY2FsbGVycyB3aG8gcHJlZmVyIGEgbW9yZSBkZXNjcmlwdGl2ZSBuYW1lLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFcUZpbHRlcnMgPSBlcTtcblxuLyoqXG4gKiBTZXRzIG9yIHVuc2V0cyBhIHNwZWNpZmljIG9wZXJhdG9yIHZhbHVlIG9uIGEgZmllbGQgd2hpbGUgcHJlc2VydmluZyByZWZlcmVuY2VcbiAqIGVxdWFsaXR5IHdoZW4gbm90aGluZyBjaGFuZ2VzLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gQ3VycmVudCBmaWx0ZXJzIG9iamVjdCB0aGF0IHdpbGwgYmUgdHJlYXRlZCBhcyBpbW11dGFibGUgaW5wdXQuXG4gKiBAcGFyYW0gX3NjaGVtYSAtIFNjaGVtYSByZWZlcmVuY2UgKHJlc2VydmVkIGZvciBmdXR1cmUgdmFsaWRhdGlvbiBob29rcykuXG4gKiBAcGFyYW0gZmllbGQgLSBGaWVsZCBrZXkgdG8gdXBkYXRlLlxuICogQHBhcmFtIG9wZXJhdG9yIC0gT3BlcmF0b3IgbmFtZSB0byBzZXQgb3IgcmVtb3ZlLlxuICogQHBhcmFtIHZhbHVlIC0gTmV3IG9wZXJhdG9yIHZhbHVlOyBwYXNzIGB1bmRlZmluZWRgIHRvIHJlbW92ZSBpdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldEZpbHRlcjxcbiAgUyBleHRlbmRzIFNjaGVtYSxcbiAgRiBleHRlbmRzIGtleW9mIFMsXG4gIE8gZXh0ZW5kcyBrZXlvZiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bRl0+LFxuPihcbiAgZmlsdGVyczogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+PixcbiAgX3NjaGVtYTogUywgLy8gcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB2YWxpZGF0aW9uIGhvb2tzXG4gIGZpZWxkOiBGLFxuICBvcGVyYXRvcjogTyxcbiAgdmFsdWU6IE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltGXT5bT10gfCB1bmRlZmluZWQsXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBjb25zdCBjdXJyZW50RmllbGQgPSBmaWx0ZXJzW2ZpZWxkXTtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoY3VycmVudEZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgIH1cbiAgICBjb25zdCB7IFtvcGVyYXRvcl06IF9yZW1vdmVkLCAuLi5yZXN0IH0gPSBjdXJyZW50RmllbGQgYXMgUmVjb3JkPFxuICAgICAgc3RyaW5nLFxuICAgICAgdW5rbm93blxuICAgID47XG4gICAgaWYgKE9iamVjdC5rZXlzKHJlc3QpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgeyBbZmllbGRdOiBfZiwgLi4uY2xvbmUgfSA9IGZpbHRlcnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICByZXR1cm4gY2xvbmUgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICAgIH1cbiAgICByZXR1cm4geyAuLi5maWx0ZXJzLCBbZmllbGRdOiByZXN0IH07XG4gIH1cbiAgY29uc3QgbmV3RmllbGQgPSB7XG4gICAgLi4uKGN1cnJlbnRGaWVsZCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCksXG4gICAgW29wZXJhdG9yXTogdmFsdWUsXG4gIH07XG4gIGlmIChjdXJyZW50RmllbGQgIT09IHVuZGVmaW5lZCAmJiBzaGFsbG93RXF1YWwoY3VycmVudEZpZWxkLCBuZXdGaWVsZCkpIHtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxuICByZXR1cm4geyAuLi5maWx0ZXJzLCBbZmllbGRdOiBuZXdGaWVsZCB9O1xufVxuXG4vKipcbiAqIFJlbW92ZXMgZWl0aGVyIGFuIGVudGlyZSBmaWVsZCBvciBhIHNwZWNpZmljIG9wZXJhdG9yIGZyb20gdGhlIGZpbHRlcnMgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gQ3VycmVudCBmaWx0ZXJzIG9iamVjdCAodHJlYXRlZCBpbW11dGFibHkpLlxuICogQHBhcmFtIGZpZWxkIC0gRmllbGQgbmFtZSB0byBhbHRlci5cbiAqIEBwYXJhbSBvcGVyYXRvciAtIE9wdGlvbmFsIG9wZXJhdG9yIHRvIHJlbW92ZTsgb21pdCB0byBkcm9wIHRoZSB3aG9sZSBmaWVsZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUZpbHRlcjxTIGV4dGVuZHMgU2NoZW1hLCBGIGV4dGVuZHMga2V5b2YgUz4oXG4gIGZpbHRlcnM6IFJlYWRvbmx5PEluZmVyRmlsdGVyczxTPj4sXG4gIGZpZWxkOiBGLFxuICBvcGVyYXRvcj86IGtleW9mIE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltGXT4sXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBjb25zdCBjdXJyZW50RmllbGQgPSBmaWx0ZXJzW2ZpZWxkXTtcbiAgaWYgKGN1cnJlbnRGaWVsZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH1cbiAgaWYgKG9wZXJhdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCB7IFtmaWVsZF06IF9yZW1vdmVkLCAuLi5jbG9uZSB9ID0gZmlsdGVycyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICByZXR1cm4gY2xvbmUgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICB9XG4gIGNvbnN0IHsgW29wZXJhdG9yXTogX29wUmVtb3ZlZCwgLi4ucmVzdCB9ID0gY3VycmVudEZpZWxkIGFzIFJlY29yZDxcbiAgICBzdHJpbmcsXG4gICAgdW5rbm93blxuICA+O1xuICBpZiAoT2JqZWN0LmtleXMocmVzdCkubGVuZ3RoID09PSAwKSB7XG4gICAgY29uc3QgeyBbZmllbGRdOiBfZiwgLi4uY2xvbmUgfSA9IGZpbHRlcnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgcmV0dXJuIGNsb25lIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgfVxuICByZXR1cm4geyAuLi5maWx0ZXJzLCBbZmllbGRdOiByZXN0IH07XG59XG5cbi8qKlxuICogTWVyZ2VzIGEgcGF0Y2ggb2YgZmlsdGVycyBpbnRvIGFuIGV4aXN0aW5nIGZpbHRlcnMgb2JqZWN0IHdoaWxlIHByZXNlcnZpbmcgcmVmZXJlbmNlXG4gKiBpZGVudGl0eSBmb3IgdW5jaGFuZ2VkIGZpZWxkcy5cbiAqXG4gKiBAcGFyYW0gYmFzZSAtIE9yaWdpbmFsIGZpbHRlcnMuXG4gKiBAcGFyYW0gcGF0Y2ggLSBGaWx0ZXJzIHRvIG92ZXJsYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZpbHRlcnM8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGJhc2U6IFJlYWRvbmx5PEluZmVyRmlsdGVyczxTPj4sXG4gIHBhdGNoOiBSZWFkb25seTxJbmZlckZpbHRlcnM8Uz4+LFxuKTogSW5mZXJGaWx0ZXJzPFM+IHtcbiAgbGV0IGNoYW5nZWQgPSBmYWxzZTtcbiAgY29uc3QgcmVzdWx0OiBQYXJ0aWFsPEluZmVyRmlsdGVyczxTPj4gPSB7IC4uLmJhc2UgfTtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGF0Y2gpIGFzIChrZXlvZiBTKVtdKSB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBiYXNlW2tleV07XG4gICAgY29uc3QgaW5jb21pbmcgPSBwYXRjaFtrZXldO1xuICAgIGlmIChpbmNvbWluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBza2lwIHVuZGVmaW5lZCBpbmNvbWluZ1xuICAgIH0gZWxzZSBpZiAoZXhpc3RpbmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0W2tleV0gPSBpbmNvbWluZztcbiAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAoIXNoYWxsb3dFcXVhbChleGlzdGluZywgaW5jb21pbmcpKSB7XG4gICAgICByZXN1bHRba2V5XSA9IGluY29taW5nO1xuICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgfVxuICB9XG4gIGlmIChjaGFuZ2VkKSB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICByZXR1cm4gYmFzZTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBmaWx0ZXJzIG9iamVjdCBpcyBlbXB0eSAobm8gZmllbGRzIHByZXNlbnQpLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gRmlsdGVycyB0byBpbnNwZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+Pixcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZmlsdGVycykubGVuZ3RoID09PSAwO1xufVxuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL211dGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxTQUFTLFlBQVksQ0FBQyxDQUFVLEVBQUUsQ0FBVTtJQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixDQUFDLEtBQUssSUFBSTtRQUNWLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLElBQUksRUFDVixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBNEIsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxDQUE0QixDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQWVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEtBQWlCO0lBRWpCLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDNUMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxP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Z0IsRUFBRSxDQUFDO1FBQ3BELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFFN0IsQ0FBQzthQUFNLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUM7WUFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQixDQUFDO2FBQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM3QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDO1lBQ3ZCLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU9ELE1BQU0sVUFBVSxPQUFPLENBQ3JCLE9BQWtDO0lBRWxDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEluZmVyRmlsdGVycywgU2NoZW1hIH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8qKlxuICogQ2hlY2tzIHNoYWxsb3cgZXF1YWxpdHkgYmV0d2VlbiB0d28gcGxhaW4gb2JqZWN0cyAob3duIGVudW1lcmFibGUgc3RyaW5nIGtleXMgb25seSkuXG4gKi9cbmZ1bmN0aW9uIHNoYWxsb3dFcXVhbChhOiB1bmtub3duLCBiOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKFxuICAgIHR5cGVvZiBhICE9PSAnb2JqZWN0JyB8fFxuICAgIGEgPT09IG51bGwgfHxcbiAgICB0eXBlb2YgYiAhPT0gJ29iamVjdCcgfHxcbiAgICBiID09PSBudWxsXG4gICkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBhT2JqID0gYSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgYk9iaiA9IGIgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IGFLZXlzID0gT2JqZWN0LmtleXMoYU9iaik7XG4gIGNvbnN0IGJLZXlzID0gT2JqZWN0LmtleXMoYk9iaik7XG4gIGlmIChhS2V5cy5sZW5ndGggIT09IGJLZXlzLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBmb3IgKGNvbnN0IGsgb2YgYUtleXMpIHtcbiAgICBpZiAoYU9ialtrXSAhPT0gYk9ialtrXSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IHR5cGUgRXFJbnB1dDxTIGV4dGVuZHMgU2NoZW1hPiA9IFBhcnRpYWw8e1xuICBbXG4gICAgSyBpbiBrZXlvZiBTIGFzICdlcScgZXh0ZW5kcyBrZXlvZiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bS10+XG4gICAgICA/IEtcbiAgICAgIDogbmV2ZXJcbiAgXTogTm9uTnVsbGFibGU8SW5mZXJGaWx0ZXJzPFM+W0tdPiBleHRlbmRzIHsgZXE/OiBpbmZlciBWIH0gPyBWIDogbmV2ZXI7XG59PjtcblxuLyoqXG4gKiBCdWlsZHMgYSBmaWx0ZXJzIG9iamVjdCB1c2luZyBpbXBsaWNpdCBlcXVhbGl0eSBmb3IgZWFjaCBwcm92aWRlZCBmaWVsZC5cbiAqXG4gKiBAcGFyYW0gaW5wdXQgLSBSZWNvcmQgb2YgZmllbGQgdmFsdWVzIHRvIGVuY29kZSBhcyBgeyBlcTogdmFsdWUgfWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVxRmlsdGVyczxTIGV4dGVuZHMgU2NoZW1hPihcbiAgaW5wdXQ6IEVxSW5wdXQ8Uz4sXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBjb25zdCBmaWx0ZXJzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhpbnB1dCkpIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZmlsdGVyc1trZXldID0geyBlcTogdmFsdWUgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZpbHRlcnMgYXMgSW5mZXJGaWx0ZXJzPFM+O1xufVxuXG4vKipcbiAqIFNldHMgb3IgdW5zZXRzIGEgc3BlY2lmaWMgb3BlcmF0b3IgdmFsdWUgb24gYSBmaWVsZCB3aGlsZSBwcmVzZXJ2aW5nIHJlZmVyZW5jZVxuICogZXF1YWxpdHkgd2hlbiBub3RoaW5nIGNoYW5nZXMuXG4gKlxuICogQHBhcmFtIGZpbHRlcnMgLSBDdXJyZW50IGZpbHRlcnMgb2JqZWN0IHRoYXQgd2lsbCBiZSB0cmVhdGVkIGFzIGltbXV0YWJsZSBpbnB1dC5cbiAqIEBwYXJhbSBmaWVsZCAtIEZpZWxkIGtleSB0byB1cGRhdGUuXG4gKiBAcGFyYW0gb3BlcmF0b3IgLSBPcGVyYXRvciBuYW1lIHRvIHNldCBvciByZW1vdmUuXG4gKiBAcGFyYW0gdmFsdWUgLSBOZXcgb3BlcmF0b3IgdmFsdWU7IHBhc3MgYHVuZGVmaW5lZGAgdG8gcmVtb3ZlIGl0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RmlsdGVyPFxuICBTIGV4dGVuZHMgU2NoZW1hLFxuICBGIGV4dGVuZHMga2V5b2YgUyxcbiAgTyBleHRlbmRzIGtleW9mIE5vbk51bGxhYmxlPEluZmVyRmlsdGVyczxTPltGXT4sXG4+KFxuICBmaWx0ZXJzOiBSZWFkb25seTxJbmZlckZpbHRlcnM8Uz4+LFxuICBmaWVsZDogRixcbiAgb3BlcmF0b3I6IE8sXG4gIHZhbHVlOiBOb25OdWxsYWJsZTxJbmZlckZpbHRlcnM8Uz5bRl0+W09dIHwgdW5kZWZpbmVkLFxuKTogSW5mZXJGaWx0ZXJzPFM+IHtcbiAgY29uc3QgY3VycmVudEZpZWxkID0gZmlsdGVyc1tmaWVsZF07XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKGN1cnJlbnRGaWVsZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmlsdGVycztcbiAgICB9XG4gICAgY29uc3QgeyBbb3BlcmF0b3JdOiBfcmVtb3ZlZCwgLi4ucmVzdCB9ID0gY3VycmVudEZpZWxkIGFzIFJlY29yZDxcbiAgICAgIHN0cmluZyxcbiAgICAgIHVua25vd25cbiAgICA+O1xuICAgIGlmIChPYmplY3Qua2V5cyhyZXN0KS5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHsgW2ZpZWxkXTogX2YsIC4uLmNsb25lIH0gPSBmaWx0ZXJzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgICAgcmV0dXJuIGNsb25lIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgICB9XG4gICAgcmV0dXJuIHsgLi4uZmlsdGVycywgW2ZpZWxkXTogcmVzdCB9O1xuICB9XG4gIGNvbnN0IG5ld0ZpZWxkID0ge1xuICAgIC4uLmN1cnJlbnRGaWVsZCxcbiAgICBbb3BlcmF0b3JdOiB2YWx1ZSxcbiAgfTtcbiAgaWYgKGN1cnJlbnRGaWVsZCAhPT0gdW5kZWZpbmVkICYmIHNoYWxsb3dFcXVhbChjdXJyZW50RmllbGQsIG5ld0ZpZWxkKSkge1xuICAgIHJldHVybiBmaWx0ZXJzO1xuICB9XG4gIHJldHVybiB7IC4uLmZpbHRlcnMsIFtmaWVsZF06IG5ld0ZpZWxkIH07XG59XG5cbi8qKlxuICogUmVtb3ZlcyBlaXRoZXIgYW4gZW50aXJlIGZpZWxkIG9yIGEgc3BlY2lmaWMgb3BlcmF0b3IgZnJvbSB0aGUgZmlsdGVycyBvYmplY3QuXG4gKlxuICogQHBhcmFtIGZpbHRlcnMgLSBDdXJyZW50IGZpbHRlcnMgb2JqZWN0ICh0cmVhdGVkIGltbXV0YWJseSkuXG4gKiBAcGFyYW0gZmllbGQgLSBGaWVsZCBuYW1lIHRvIGFsdGVyLlxuICogQHBhcmFtIG9wZXJhdG9yIC0gT3B0aW9uYWwgb3BlcmF0b3IgdG8gcmVtb3ZlOyBvbWl0IHRvIGRyb3AgdGhlIHdob2xlIGZpZWxkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRmlsdGVyPFMgZXh0ZW5kcyBTY2hlbWEsIEYgZXh0ZW5kcyBrZXlvZiBTPihcbiAgZmlsdGVyczogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+PixcbiAgZmllbGQ6IEYsXG4gIG9wZXJhdG9yPzoga2V5b2YgTm9uTnVsbGFibGU8SW5mZXJGaWx0ZXJzPFM+W0ZdPixcbik6IEluZmVyRmlsdGVyczxTPiB7XG4gIGNvbnN0IGN1cnJlbnRGaWVsZCA9IGZpbHRlcnNbZmllbGRdO1xuICBpZiAoY3VycmVudEZpZWxkID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmlsdGVycztcbiAgfVxuICBpZiAob3BlcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IHsgW2ZpZWxkXTogX3JlbW92ZWQsIC4uLmNsb25lIH0gPSBmaWx0ZXJzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIHJldHVybiBjbG9uZSBhcyBJbmZlckZpbHRlcnM8Uz47XG4gIH1cbiAgY29uc3QgeyBbb3BlcmF0b3JdOiBfb3BSZW1vdmVkLCAuLi5yZXN0IH0gPSBjdXJyZW50RmllbGQgYXMgUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICB1bmtub3duXG4gID47XG4gIGlmIChPYmplY3Qua2V5cyhyZXN0KS5sZW5ndGggPT09IDApIHtcbiAgICBjb25zdCB7IFtmaWVsZF06IF9mLCAuLi5jbG9uZSB9ID0gZmlsdGVycyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICByZXR1cm4gY2xvbmUgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICB9XG4gIHJldHVybiB7IC4uLmZpbHRlcnMsIFtmaWVsZF06IHJlc3QgfTtcbn1cblxuLyoqXG4gKiBNZXJnZXMgYSBwYXRjaCBvZiBmaWx0ZXJzIGludG8gYW4gZXhpc3RpbmcgZmlsdGVycyBvYmplY3Qgd2hpbGUgcHJlc2VydmluZyByZWZlcmVuY2VcbiAqIGlkZW50aXR5IGZvciB1bmNoYW5nZWQgZmllbGRzLlxuICpcbiAqIEBwYXJhbSBiYXNlIC0gT3JpZ2luYWwgZmlsdGVycy5cbiAqIEBwYXJhbSBwYXRjaCAtIEZpbHRlcnMgdG8gb3ZlcmxheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRmlsdGVyczxTIGV4dGVuZHMgU2NoZW1hPihcbiAgYmFzZTogUmVhZG9ubHk8SW5mZXJGaWx0ZXJzPFM+PixcbiAgcGF0Y2g6IFJlYWRvbmx5PEluZmVyRmlsdGVyczxTPj4sXG4pOiBJbmZlckZpbHRlcnM8Uz4ge1xuICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuICBjb25zdCByZXN1bHQ6IFBhcnRpYWw8SW5mZXJGaWx0ZXJzPFM+PiA9IHsgLi4uYmFzZSB9O1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXRjaCkgYXMgKGtleW9mIFMpW10pIHtcbiAgICBjb25zdCBleGlzdGluZyA9IGJhc2Vba2V5XTtcbiAgICBjb25zdCBpbmNvbWluZyA9IHBhdGNoW2tleV07XG4gICAgaWYgKGluY29taW5nID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIHNraXAgdW5kZWZpbmVkIGluY29taW5nXG4gICAgfSBlbHNlIGlmIChleGlzdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHRba2V5XSA9IGluY29taW5nO1xuICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmICghc2hhbGxvd0VxdWFsKGV4aXN0aW5nLCBpbmNvbWluZykpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gaW5jb21pbmc7XG4gICAgICBjaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgaWYgKGNoYW5nZWQpIHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHJldHVybiBiYXNlO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgdGhlIGZpbHRlcnMgb2JqZWN0IGlzIGVtcHR5IChubyBmaWVsZHMgcHJlc2VudCkuXG4gKlxuICogQHBhcmFtIGZpbHRlcnMgLSBGaWx0ZXJzIHRvIGluc3BlY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5PFMgZXh0ZW5kcyBTY2hlbWE+KFxuICBmaWx0ZXJzOiBSZWFkb25seTxJbmZlckZpbHRlcnM8Uz4+LFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhmaWx0ZXJzKS5sZW5ndGggPT09IDA7XG59XG4iXX0=
|
package/lib/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAwKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8DhB"}
|
package/lib/parse.js
CHANGED
|
@@ -181,4 +181,4 @@ export function parse(rawSearch, schema) {
|
|
|
181
181
|
}
|
|
182
182
|
return acc;
|
|
183
183
|
}
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUNKLENBQUM7SUFDdEMsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxVQUEyQixFQUFFLEdBQVc7SUFDaEUsSUFB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RUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0RSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDMUIsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIE9wZXJhdG9yLFxuICBMaXN0T3BlcmF0b3IsXG4gIEJldHdlZW5PcGVyYXRvcixcbiAgSW5mZXJGaWx0ZXJzLFxuICBGaWVsZERlc2NyaXB0b3IsXG4gIFBhcnNlUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcblxuY29uc3QgQkVUV0VFTjogQmV0d2Vlbk9wZXJhdG9yID0gJ2JldHdlZW4nO1xuY29uc3QgTElTVF9PUFM6IHJlYWRvbmx5IExpc3RPcGVyYXRvcltdID0gWydpbicsICduaW4nXTtcblxuaW50ZXJmYWNlIEludGVybmFsQWNjdW11bGF0b3I8UyBleHRlbmRzIFNjaGVtYT4ge1xuICBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG5cbi8qKiBTaGFsbG93IGNsb25lIHBsdXMgZW5zdXJlIGZpZWxkIG9iamVjdCBoZWxwZXIgKGltbXV0YWJsZSB1cGRhdGUpLiAqL1xuZnVuY3Rpb24gZW5zdXJlRmllbGRPYmplY3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgZmllbGQ6IHN0cmluZyxcbik6IHsgY29udGFpbmVyOiBJbmZlckZpbHRlcnM8Uz47IHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXSBhc1xuICAgIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICBpZiAoZXhpc3RpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7IGNvbnRhaW5lcjogZmlsdGVycywgdGFyZ2V0OiBleGlzdGluZyB9O1xuICB9XG4gIGNvbnN0IGNsb25lOiBJbmZlckZpbHRlcnM8Uz4gPSB7IC4uLmZpbHRlcnMgfTtcbiAgY29uc3QgY3JlYXRlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgKGNsb25lIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtmaWVsZF0gPSBjcmVhdGVkO1xuICByZXR1cm4geyBjb250YWluZXI6IGNsb25lLCB0YXJnZXQ6IGNyZWF0ZWQgfTtcbn1cblxuLyoqIERlY29kZSBjb21wb25lbnQsIHJlY29yZGluZyBhIGRpYWdub3N0aWMgb24gZmFpbHVyZS4gKi9cbmZ1bmN0aW9uIGRlY29kZVZhbHVlKFxuICB2YWx1ZTogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBkaWFnbm9zdGljczogRGlhZ25vc3RpY1tdLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcbiAgfSBjYXRjaCB7XG4gICAgZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnRGVjb2RlRXJyb3InLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ0ZhaWxlZCB0byBkZWNvZGUnLFxuICAgIH0pO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqIFBhcnNlIGEgc2luZ2xlIHJhdyB2YWx1ZSBhY2NvcmRpbmcgdG8gZmllbGQga2luZC4gKi9cbmZ1bmN0aW9uIHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLCByYXc6IHN0cmluZyk6IHVua25vd24ge1xuICBpZiAoZGVzY3JpcHRvci5wYXJzZSAhPSBudWxsKSB7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3IucGFyc2UocmF3KTtcbiAgfVxuICBpZiAoZGVzY3JpcHRvci5raW5kID09PSAnbnVtYmVyJykge1xuICAgIGlmIChyYXcgPT09ICcnKSB7XG4gICAgICAvLyBUcmVhdCBlbXB0eSBzdHJpbmcgYXMgaW52YWxpZCBmb3IgbnVtZXJpYyBmaWVsZHMgKHJlamVjdCBpbnN0ZWFkIG9mIGNvZXJjaW5nIHRvIDApXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBuID0gTnVtYmVyKHJhdyk7XG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUobikpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBuO1xuICB9XG4gIHJldHVybiByYXc7XG59XG5cbi8qKiBIYW5kbGUgYSBiZXR3ZWVuIG9wZXJhdG9yIHZhbHVlLiAqL1xuZnVuY3Rpb24gaGFuZGxlQmV0d2VlbjxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBkZWNvZGVkLnNwbGl0KCcsJyk7XG4gIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZEFyaXR5JyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdFeHBlY3RlZCBleGFjdGx5IDIgdmFsdWVzJyxcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgW2FSYXcsIGJSYXddID0gcGFydHMgYXMgW3N0cmluZywgc3RyaW5nXTtcbiAgY29uc3QgYSA9IHBhcnNlU2luZ2xlVmFsdWUoZGVzY3JpcHRvciwgYVJhdyk7XG4gIGNvbnN0IGIgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGJSYXcpO1xuICBpZiAoYSA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IHVuZGVmaW5lZCkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgIGtpbmQ6ICdJbnZhbGlkVmFsdWUnLFxuICAgICAgZmllbGQsXG4gICAgICBvcGVyYXRvcixcbiAgICAgIGRldGFpbDogJ09uZSBvZiB0aGUgYmV0d2VlbiB2YWx1ZXMgaW52YWxpZCcsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVuc3VyZWQudGFyZ2V0LCAnYmV0d2VlbicpKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnRHVwbGljYXRlQmV0d2VlbicsIGZpZWxkIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBlbnN1cmVkLnRhcmdldC5iZXR3ZWVuID0gW2EsIGJdIGFzIHVua25vd247XG59XG5cbi8qKiBIYW5kbGUgbGlzdCBvcGVyYXRvcnMgKGluLCBuaW4pLiAqL1xuZnVuY3Rpb24gaGFuZGxlTGlzdDxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBsaXN0UmF3ID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBjb25zdCBwYXJzZWRMaXN0OiB1bmtub3duW10gPSBbXTtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGxpc3RSYXcpIHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGl0ZW0pO1xuICAgIGlmIChwYXJzZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goe1xuICAgICAgICBraW5kOiAnSW52YWxpZFZhbHVlJyxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIG9wZXJhdG9yLFxuICAgICAgICBkZXRhaWw6ICdMaXN0IGl0ZW0gaW52YWxpZCcsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VkTGlzdC5wdXNoKHBhcnNlZCk7XG4gICAgfVxuICB9XG4gIGlmIChwYXJzZWRMaXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgY29uc3QgdGFyZ2V0T2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGVuc3VyZWQudGFyZ2V0O1xuICBjb25zdCBleGlzdGluZyA9IHRhcmdldE9ialtvcGVyYXRvcl07XG4gIGlmIChBcnJheS5pc0FycmF5KGV4aXN0aW5nKSkge1xuICAgIHRhcmdldE9ialtvcGVyYXRvcl0gPSBbLi4uZXhpc3RpbmcsIC4uLnBhcnNlZExpc3RdO1xuICB9IGVsc2Uge1xuICAgIHRhcmdldE9ialtvcGVyYXRvcl0gPSBwYXJzZWRMaXN0O1xuICB9XG59XG5cbi8qKiBIYW5kbGUgc2NhbGFyIG9wZXJhdG9yIHZhbHVlcy4gKi9cbmZ1bmN0aW9uIGhhbmRsZVNjYWxhcjxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICBkZWNvZGVkOiBzdHJpbmcsXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPixcbik6IHZvaWQge1xuICBjb25zdCBzY2FsYXIgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGRlY29kZWQpO1xuICBpZiAoc2NhbGFyID09PSB1bmRlZmluZWQpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdJbnZhbGlkVmFsdWUnLCBmaWVsZCwgb3BlcmF0b3IgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGVuc3VyZWQgPSBlbnN1cmVGaWVsZE9iamVjdChhY2MuZmlsdGVycywgZmllbGQpO1xuICBhY2MuZmlsdGVycyA9IGVuc3VyZWQuY29udGFpbmVyO1xuICBjb25zdCBzY2FsYXJUYXJnZXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gZW5zdXJlZC50YXJnZXQ7XG4gIHNjYWxhclRhcmdldFtvcGVyYXRvcl0gPSBzY2FsYXI7XG59XG5cbi8qKlxuICogUGFyc2VzIGEgcmF3IHNlYXJjaCBzdHJpbmcgKGxlYWRpbmcgYD9gIG9wdGlvbmFsKSBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIHNjaGVtYVxuICogYW5kIHJldHVybnMgdGhlIGZpbHRlcnMgcGx1cyBkaWFnbm9zdGljcy5cbiAqXG4gKiBAcGFyYW0gcmF3U2VhcmNoIC0gUXVlcnkgc3RyaW5nIHRvIHBhcnNlICh3aXRoIG9yIHdpdGhvdXQgdGhlIGxlYWRpbmcgcXVlc3Rpb24gbWFyaykuXG4gKiBAcGFyYW0gc2NoZW1hIC0gU2NoZW1hIGRlc2NyaWJpbmcgYWxsb3dlZCBmaWVsZHMgYW5kIG9wZXJhdG9ycy5cbiAqIEByZXR1cm5zIFBhcnNlZCBmaWx0ZXJzIGFsb25nc2lkZSBub24tYmxvY2tpbmcgZGlhZ25vc3RpY3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgcmF3U2VhcmNoOiBzdHJpbmcsXG4gIHNjaGVtYTogUyxcbik6IFBhcnNlUmVzdWx0PFM+IHtcbiAgY29uc3QgYWNjOiBJbnRlcm5hbEFjY3VtdWxhdG9yPFM+ID0geyBmaWx0ZXJzOiB7fSwgZGlhZ25vc3RpY3M6IFtdIH07XG4gIGxldCBzZWFyY2ggPSByYXdTZWFyY2g7XG4gIGlmIChzZWFyY2guc3RhcnRzV2l0aCgnPycpKSB7XG4gICAgc2VhcmNoID0gc2VhcmNoLnNsaWNlKDEpO1xuICB9XG4gIGlmIChzZWFyY2gudHJpbSgpID09PSAnJykge1xuICAgIHJldHVybiBhY2M7XG4gIH1cbiAgY29uc3Qgc2VnbWVudHMgPSBzZWFyY2guc3BsaXQoJyYnKTtcbiAgZm9yIChjb25zdCBzZWcgb2Ygc2VnbWVudHMpIHtcbiAgICBjb25zdCBlcUlkeCA9IHNlZy5pbmRleE9mKCc9Jyk7XG4gICAgY29uc3QgdmFsaWRCYXNpYyA9IHNlZyAhPT0gJycgJiYgZXFJZHggIT09IC0xO1xuICAgIGlmICh2YWxpZEJhc2ljKSB7XG4gICAgICBjb25zdCByYXdLZXkgPSBzZWcuc2xpY2UoMCwgZXFJZHgpO1xuICAgICAgY29uc3QgcmF3VmFsID0gc2VnLnNsaWNlKGVxSWR4ICsgMSk7XG4gICAgICBjb25zdCBsYXN0RG90ID0gcmF3S2V5Lmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAvLyBDYXNlIDE6IGtleSB3aXRoIGV4cGxpY2l0IG9wZXJhdG9yIChmaWVsZC5vcClcbiAgICAgIGNvbnN0IGV4cGxpY2l0U2hhcGUgPSAhKGxhc3REb3QgPD0gMCB8fCBsYXN0RG90ID09PSByYXdLZXkubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoZXhwbGljaXRTaGFwZSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IHJhd0tleS5zbGljZSgwLCBsYXN0RG90KTtcbiAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSByYXdLZXkuc2xpY2UobGFzdERvdCArIDEpIGFzIE9wZXJhdG9yO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICAgICAgY29uc3QgZGVzY09rID0gZGVzY3JpcHRvcj8ub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSA9PT0gdHJ1ZTtcbiAgICAgICAgaWYgKCFkZXNjT2spIHtcbiAgICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duRmllbGQnLCBmaWVsZCB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bk9wZXJhdG9yJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgaXNMaXN0ID0gKExJU1RfT1BTIGFzIHJlYWRvbmx5IHN0cmluZ1tdKS5pbmNsdWRlcyhvcGVyYXRvcik7XG4gICAgICAgICAgICBpZiAob3BlcmF0b3IgPT09IEJFVFdFRU4pIHtcbiAgICAgICAgICAgICAgaGFuZGxlQmV0d2VlbihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzTGlzdCkge1xuICAgICAgICAgICAgICBoYW5kbGVMaXN0KGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNjYWxhcihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGxhc3REb3QgPT09IC0xKSB7XG4gICAgICAgIC8vIGltcGxpY2l0IGVxdWFsaXR5IChubyBkb3QpID0+IG9wZXJhdG9yICdlcSdcbiAgICAgICAgY29uc3QgZmllbGQgPSByYXdLZXk7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yOiBPcGVyYXRvciA9ICdlcSc7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgICAgICBpZiAoZGVzY3JpcHRvciA9PSBudWxsKSB7XG4gICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bkZpZWxkJywgZmllbGQgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWRlc2NyaXB0b3Iub3BlcmF0b3JzLmluY2x1ZGVzKG9wZXJhdG9yKSkge1xuICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25PcGVyYXRvcicsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVmFsdWUocmF3VmFsLCBmaWVsZCwgb3BlcmF0b3IsIGFjYy5kaWFnbm9zdGljcyk7XG4gICAgICAgICAgaWYgKGRlY29kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGFuZGxlU2NhbGFyKGRlc2NyaXB0b3IsIGRlY29kZWQsIGZpZWxkLCBvcGVyYXRvciwgYWNjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGFjYztcbn1cbiJdfQ==
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUFDLENBQUM7SUFDM0MsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxVQUEyQixFQUFFLEdBQVc7SUFDaEUsSUFB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RUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0RSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDMUIsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIE9wZXJhdG9yLFxuICBMaXN0T3BlcmF0b3IsXG4gIEJldHdlZW5PcGVyYXRvcixcbiAgSW5mZXJGaWx0ZXJzLFxuICBGaWVsZERlc2NyaXB0b3IsXG4gIFBhcnNlUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcblxuY29uc3QgQkVUV0VFTjogQmV0d2Vlbk9wZXJhdG9yID0gJ2JldHdlZW4nO1xuY29uc3QgTElTVF9PUFM6IHJlYWRvbmx5IExpc3RPcGVyYXRvcltdID0gWydpbicsICduaW4nXTtcblxuaW50ZXJmYWNlIEludGVybmFsQWNjdW11bGF0b3I8UyBleHRlbmRzIFNjaGVtYT4ge1xuICBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG5cbi8qKiBTaGFsbG93IGNsb25lIHBsdXMgZW5zdXJlIGZpZWxkIG9iamVjdCBoZWxwZXIgKGltbXV0YWJsZSB1cGRhdGUpLiAqL1xuZnVuY3Rpb24gZW5zdXJlRmllbGRPYmplY3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgZmllbGQ6IHN0cmluZyxcbik6IHsgY29udGFpbmVyOiBJbmZlckZpbHRlcnM8Uz47IHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXTtcbiAgaWYgKGV4aXN0aW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBjb250YWluZXI6IGZpbHRlcnMsIHRhcmdldDogZXhpc3RpbmcgfTtcbiAgfVxuICBjb25zdCBjbG9uZTogSW5mZXJGaWx0ZXJzPFM+ID0geyAuLi5maWx0ZXJzIH07XG4gIGNvbnN0IGNyZWF0ZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIChjbG9uZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbZmllbGRdID0gY3JlYXRlZDtcbiAgcmV0dXJuIHsgY29udGFpbmVyOiBjbG9uZSwgdGFyZ2V0OiBjcmVhdGVkIH07XG59XG5cbi8qKiBEZWNvZGUgY29tcG9uZW50LCByZWNvcmRpbmcgYSBkaWFnbm9zdGljIG9uIGZhaWx1cmUuICovXG5mdW5jdGlvbiBkZWNvZGVWYWx1ZShcbiAgdmFsdWU6IHN0cmluZyxcbiAgZmllbGQ6IHN0cmluZyxcbiAgb3BlcmF0b3I6IHN0cmluZyxcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNbXSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gIH0gY2F0Y2gge1xuICAgIGRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0RlY29kZUVycm9yJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdGYWlsZWQgdG8gZGVjb2RlJyxcbiAgICB9KTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBQYXJzZSBhIHNpbmdsZSByYXcgdmFsdWUgYWNjb3JkaW5nIHRvIGZpZWxkIGtpbmQuICovXG5mdW5jdGlvbiBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvciwgcmF3OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgaWYgKGRlc2NyaXB0b3IucGFyc2UgIT0gbnVsbCkge1xuICAgIHJldHVybiBkZXNjcmlwdG9yLnBhcnNlKHJhdyk7XG4gIH1cbiAgaWYgKGRlc2NyaXB0b3Iua2luZCA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAocmF3ID09PSAnJykge1xuICAgICAgLy8gVHJlYXQgZW1wdHkgc3RyaW5nIGFzIGludmFsaWQgZm9yIG51bWVyaWMgZmllbGRzIChyZWplY3QgaW5zdGVhZCBvZiBjb2VyY2luZyB0byAwKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbiA9IE51bWJlcihyYXcpO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG4pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gbjtcbiAgfVxuICByZXR1cm4gcmF3O1xufVxuXG4vKiogSGFuZGxlIGEgYmV0d2VlbiBvcGVyYXRvciB2YWx1ZS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUJldHdlZW48UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBpZiAocGFydHMubGVuZ3RoICE9PSAyKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0ludmFsaWRBcml0eScsXG4gICAgICBmaWVsZCxcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgZGV0YWlsOiAnRXhwZWN0ZWQgZXhhY3RseSAyIHZhbHVlcycsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IFthUmF3LCBiUmF3XSA9IHBhcnRzIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gIGNvbnN0IGEgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGFSYXcpO1xuICBjb25zdCBiID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBiUmF3KTtcbiAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZFZhbHVlJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdPbmUgb2YgdGhlIGJldHdlZW4gdmFsdWVzIGludmFsaWQnLFxuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnN1cmVkLnRhcmdldCwgJ2JldHdlZW4nKSkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ0R1cGxpY2F0ZUJldHdlZW4nLCBmaWVsZCB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgZW5zdXJlZC50YXJnZXQuYmV0d2VlbiA9IFthLCBiXSBhcyB1bmtub3duO1xufVxuXG4vKiogSGFuZGxlIGxpc3Qgb3BlcmF0b3JzIChpbiwgbmluKS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUxpc3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgbGlzdFJhdyA9IGRlY29kZWQuc3BsaXQoJywnKTtcbiAgY29uc3QgcGFyc2VkTGlzdDogdW5rbm93bltdID0gW107XG4gIGZvciAoY29uc3QgaXRlbSBvZiBsaXN0UmF3KSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBpdGVtKTtcbiAgICBpZiAocGFyc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgICAga2luZDogJ0ludmFsaWRWYWx1ZScsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgZGV0YWlsOiAnTGlzdCBpdGVtIGludmFsaWQnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlZExpc3QucHVzaChwYXJzZWQpO1xuICAgIH1cbiAgfVxuICBpZiAocGFyc2VkTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZW5zdXJlZCA9IGVuc3VyZUZpZWxkT2JqZWN0KGFjYy5maWx0ZXJzLCBmaWVsZCk7XG4gIGFjYy5maWx0ZXJzID0gZW5zdXJlZC5jb250YWluZXI7XG4gIGNvbnN0IHRhcmdldE9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBlbnN1cmVkLnRhcmdldDtcbiAgY29uc3QgZXhpc3RpbmcgPSB0YXJnZXRPYmpbb3BlcmF0b3JdO1xuICBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gWy4uLmV4aXN0aW5nLCAuLi5wYXJzZWRMaXN0XTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gcGFyc2VkTGlzdDtcbiAgfVxufVxuXG4vKiogSGFuZGxlIHNjYWxhciBvcGVyYXRvciB2YWx1ZXMuICovXG5mdW5jdGlvbiBoYW5kbGVTY2FsYXI8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3Qgc2NhbGFyID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBkZWNvZGVkKTtcbiAgaWYgKHNjYWxhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnSW52YWxpZFZhbHVlJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgY29uc3Qgc2NhbGFyVGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGVuc3VyZWQudGFyZ2V0O1xuICBzY2FsYXJUYXJnZXRbb3BlcmF0b3JdID0gc2NhbGFyO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIHJhdyBzZWFyY2ggc3RyaW5nIChsZWFkaW5nIGA/YCBvcHRpb25hbCkgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBzY2hlbWFcbiAqIGFuZCByZXR1cm5zIHRoZSBmaWx0ZXJzIHBsdXMgZGlhZ25vc3RpY3MuXG4gKlxuICogQHBhcmFtIHJhd1NlYXJjaCAtIFF1ZXJ5IHN0cmluZyB0byBwYXJzZSAod2l0aCBvciB3aXRob3V0IHRoZSBsZWFkaW5nIHF1ZXN0aW9uIG1hcmspLlxuICogQHBhcmFtIHNjaGVtYSAtIFNjaGVtYSBkZXNjcmliaW5nIGFsbG93ZWQgZmllbGRzIGFuZCBvcGVyYXRvcnMuXG4gKiBAcmV0dXJucyBQYXJzZWQgZmlsdGVycyBhbG9uZ3NpZGUgbm9uLWJsb2NraW5nIGRpYWdub3N0aWNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2U8UyBleHRlbmRzIFNjaGVtYT4oXG4gIHJhd1NlYXJjaDogc3RyaW5nLFxuICBzY2hlbWE6IFMsXG4pOiBQYXJzZVJlc3VsdDxTPiB7XG4gIGNvbnN0IGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPiA9IHsgZmlsdGVyczoge30sIGRpYWdub3N0aWNzOiBbXSB9O1xuICBsZXQgc2VhcmNoID0gcmF3U2VhcmNoO1xuICBpZiAoc2VhcmNoLnN0YXJ0c1dpdGgoJz8nKSkge1xuICAgIHNlYXJjaCA9IHNlYXJjaC5zbGljZSgxKTtcbiAgfVxuICBpZiAoc2VhcmNoLnRyaW0oKSA9PT0gJycpIHtcbiAgICByZXR1cm4gYWNjO1xuICB9XG4gIGNvbnN0IHNlZ21lbnRzID0gc2VhcmNoLnNwbGl0KCcmJyk7XG4gIGZvciAoY29uc3Qgc2VnIG9mIHNlZ21lbnRzKSB7XG4gICAgY29uc3QgZXFJZHggPSBzZWcuaW5kZXhPZignPScpO1xuICAgIGNvbnN0IHZhbGlkQmFzaWMgPSBzZWcgIT09ICcnICYmIGVxSWR4ICE9PSAtMTtcbiAgICBpZiAodmFsaWRCYXNpYykge1xuICAgICAgY29uc3QgcmF3S2V5ID0gc2VnLnNsaWNlKDAsIGVxSWR4KTtcbiAgICAgIGNvbnN0IHJhd1ZhbCA9IHNlZy5zbGljZShlcUlkeCArIDEpO1xuICAgICAgY29uc3QgbGFzdERvdCA9IHJhd0tleS5sYXN0SW5kZXhPZignLicpO1xuICAgICAgLy8gQ2FzZSAxOiBrZXkgd2l0aCBleHBsaWNpdCBvcGVyYXRvciAoZmllbGQub3ApXG4gICAgICBjb25zdCBleHBsaWNpdFNoYXBlID0gIShsYXN0RG90IDw9IDAgfHwgbGFzdERvdCA9PT0gcmF3S2V5Lmxlbmd0aCAtIDEpO1xuICAgICAgaWYgKGV4cGxpY2l0U2hhcGUpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSByYXdLZXkuc2xpY2UoMCwgbGFzdERvdCk7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yID0gcmF3S2V5LnNsaWNlKGxhc3REb3QgKyAxKSBhcyBPcGVyYXRvcjtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYVtmaWVsZF07XG4gICAgICAgIGNvbnN0IGRlc2NPayA9IGRlc2NyaXB0b3I/Lm9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvcikgPT09IHRydWU7XG4gICAgICAgIGlmICghZGVzY09rKSB7XG4gICAgICAgICAgaWYgKGRlc2NyaXB0b3IgPT0gbnVsbCkge1xuICAgICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bkZpZWxkJywgZmllbGQgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25PcGVyYXRvcicsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVZhbHVlKHJhd1ZhbCwgZmllbGQsIG9wZXJhdG9yLCBhY2MuZGlhZ25vc3RpY3MpO1xuICAgICAgICAgIGlmIChkZWNvZGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdCA9IChMSVNUX09QUyBhcyByZWFkb25seSBzdHJpbmdbXSkuaW5jbHVkZXMob3BlcmF0b3IpO1xuICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSBCRVRXRUVOKSB7XG4gICAgICAgICAgICAgIGhhbmRsZUJldHdlZW4oZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0xpc3QpIHtcbiAgICAgICAgICAgICAgaGFuZGxlTGlzdChkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBoYW5kbGVTY2FsYXIoZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChsYXN0RG90ID09PSAtMSkge1xuICAgICAgICAvLyBpbXBsaWNpdCBlcXVhbGl0eSAobm8gZG90KSA9PiBvcGVyYXRvciAnZXEnXG4gICAgICAgIGNvbnN0IGZpZWxkID0gcmF3S2V5O1xuICAgICAgICBjb25zdCBvcGVyYXRvcjogT3BlcmF0b3IgPSAnZXEnO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IgPT0gbnVsbCkge1xuICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25GaWVsZCcsIGZpZWxkIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKCFkZXNjcmlwdG9yLm9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvcikpIHtcbiAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duT3BlcmF0b3InLCBmaWVsZCwgb3BlcmF0b3IgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVZhbHVlKHJhd1ZhbCwgZmllbGQsIG9wZXJhdG9yLCBhY2MuZGlhZ25vc3RpY3MpO1xuICAgICAgICAgIGlmIChkZWNvZGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhhbmRsZVNjYWxhcihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBhY2M7XG59XG4iXX0=
|
package/lib/stringify.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { InferFilters, Schema } from './types.js';
|
|
2
|
-
export declare function stringify<S extends Schema>(filters: InferFilters<S
|
|
2
|
+
export declare function stringify<S extends Schema>(filters: InferFilters<S> | Readonly<Record<string, unknown>>, schema: S): string;
|
|
3
3
|
//# sourceMappingURL=stringify.d.ts.map
|
package/lib/stringify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAGP,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAGP,MAAM,YAAY,CAAC;AAwEpB,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC5D,MAAM,EAAE,CAAC,GACR,MAAM,CAmER"}
|
package/lib/stringify.js
CHANGED
|
@@ -13,7 +13,28 @@ function serializeScalar(descriptor, value) {
|
|
|
13
13
|
if (isPrimitive) {
|
|
14
14
|
if (descriptor.serialize != null) {
|
|
15
15
|
try {
|
|
16
|
-
|
|
16
|
+
switch (descriptor.kind) {
|
|
17
|
+
case 'number':
|
|
18
|
+
if (typeof value === 'number') {
|
|
19
|
+
return descriptor.serialize(value);
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
case 'string':
|
|
23
|
+
case 'enum':
|
|
24
|
+
if (typeof value === 'string') {
|
|
25
|
+
return descriptor.serialize(value);
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
case 'boolean':
|
|
29
|
+
if (typeof value === 'boolean') {
|
|
30
|
+
return descriptor.serialize(value);
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
case 'custom':
|
|
34
|
+
return descriptor.serialize(value);
|
|
35
|
+
default:
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
17
38
|
}
|
|
18
39
|
catch {
|
|
19
40
|
return undefined;
|
|
@@ -36,19 +57,22 @@ export function stringify(filters, schema) {
|
|
|
36
57
|
for (const field of Object.keys(schema)) {
|
|
37
58
|
const value = filters[field];
|
|
38
59
|
const descriptor = schema[field];
|
|
39
|
-
if (value === undefined ||
|
|
60
|
+
if (value === undefined ||
|
|
61
|
+
descriptor === undefined ||
|
|
62
|
+
value === null ||
|
|
63
|
+
typeof value !== 'object') {
|
|
40
64
|
}
|
|
41
65
|
else {
|
|
42
66
|
for (const op of descriptor.operators) {
|
|
43
67
|
if (op === 'eq') {
|
|
44
|
-
const scalar = value
|
|
68
|
+
const scalar = Reflect.get(value, op);
|
|
45
69
|
const printable = serializeScalar(descriptor, scalar);
|
|
46
70
|
if (printable !== undefined) {
|
|
47
71
|
parts.push(`${encodeKey(field, op)}=${encodeURIComponent(printable)}`);
|
|
48
72
|
}
|
|
49
73
|
}
|
|
50
74
|
else if (op === 'between') {
|
|
51
|
-
const tuple = value
|
|
75
|
+
const tuple = Reflect.get(value, 'between');
|
|
52
76
|
if (Array.isArray(tuple) && tuple.length === 2) {
|
|
53
77
|
const first = serializeScalar(descriptor, tuple[0]);
|
|
54
78
|
const second = serializeScalar(descriptor, tuple[1]);
|
|
@@ -58,7 +82,7 @@ export function stringify(filters, schema) {
|
|
|
58
82
|
}
|
|
59
83
|
}
|
|
60
84
|
else if (op === 'in' || op === 'nin') {
|
|
61
|
-
const list = value
|
|
85
|
+
const list = Reflect.get(value, op);
|
|
62
86
|
if (Array.isArray(list) && list.length > 0) {
|
|
63
87
|
const encodedItems = list
|
|
64
88
|
.map((v) => {
|
|
@@ -89,4 +113,4 @@ export function stringify(filters, schema) {
|
|
|
89
113
|
}
|
|
90
114
|
return parts.join('&');
|
|
91
115
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxJQUFJLEVBQUUsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBS0QsU0FBUyxlQUFlLENBQ3RCLFVBQTJCLEVBQzNCLEtBQWM7SUFFZCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQ2YsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUM3QixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQWMsQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxVQUFVLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2pFLElBQUksQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFDRCxP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SUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFLENBQUM7NEJBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7d0JBQ3hELENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxNQUFNLEdBQUksS0FBaUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEQsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDdEQsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQzVCLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQzNELENBQUM7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEluZmVyRmlsdGVycyxcbiAgU2NoZW1hLFxuICBPcGVyYXRvcixcbiAgRmllbGREZXNjcmlwdG9yLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGVuY29kZWQga2V5IHBvcnRpb24gZm9yIGEgZmllbGQvb3BlcmF0b3IgcGFpciAoaW1wbGljaXQgYGVxYCBoYXMgbm8gZG90IHN1ZmZpeCkuXG4gKi9cbmZ1bmN0aW9uIGVuY29kZUtleShmaWVsZDogc3RyaW5nLCBvcDogT3BlcmF0b3IpOiBzdHJpbmcge1xuICBpZiAob3AgPT09ICdlcScpIHJldHVybiBmaWVsZDsgLy8gaW1wbGljaXQgZXF1YWxpdHkgZm9ybVxuICByZXR1cm4gYCR7ZmllbGR9LiR7b3B9YDtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgc2NhbGFyIHZhbHVlIHVzaW5nIHRoZSBmaWVsZCBkZXNjcmlwdG9yIHdoZW4gcG9zc2libGUuXG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZVNjYWxhcihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICB2YWx1ZTogdW5rbm93bixcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBpc1ByaW1pdGl2ZSA9XG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcbiAgaWYgKGlzUHJpbWl0aXZlKSB7XG4gICAgaWYgKGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yLnNlcmlhbGl6ZSh2YWx1ZSBhcyBuZXZlcik7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cbiAgaWYgKGRlc2NyaXB0b3Iua2luZCA9PT0gJ2N1c3RvbScgJiYgZGVzY3JpcHRvci5zZXJpYWxpemUgIT0gbnVsbCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgZmlsdGVycyBvYmplY3QgaW50byBhIGNhbm9uaWNhbCBxdWVyeSBzdHJpbmcgcmVzcGVjdGluZyB0aGUgc2NoZW1hIG9wZXJhdG9yIG9yZGVyaW5nLlxuICpcbiAqIEBwYXJhbSBmaWx0ZXJzIC0gUGFyc2VkIGZpbHRlcnMgdG8gZW5jb2RlLlxuICogQHBhcmFtIHNjaGVtYSAtIFNjaGVtYSB1c2VkIHRvIGRldGVybWluZSBvcGVyYXRvciBvcmRlcmluZyBhbmQgZm9ybWF0dGluZy5cbiAqIEByZXR1cm5zIFF1ZXJ5IHN0cmluZyB3aXRob3V0IGxlYWRpbmcgcXVlc3Rpb24gbWFyay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ2lmeTxTIGV4dGVuZHMgU2NoZW1hPihcbiAgZmlsdGVyczogSW5mZXJGaWx0ZXJzPFM+LFxuICBzY2hlbWE6IFMsXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaWVsZCBvZiBPYmplY3Qua2V5cyhzY2hlbWEpKSB7XG4gICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJzW2ZpZWxkIGFzIGtleW9mIFNdO1xuICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBzY2hlbWFbZmllbGRdO1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGRlc2NyaXB0b3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gc2tpcCBhYnNlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcCBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBpZiAob3AgPT09ICdlcScpIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXTtcbiAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgc2NhbGFyKTtcbiAgICAgICAgICBpZiAocHJpbnRhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgIGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZVVSSUNvbXBvbmVudChwcmludGFibGUpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChvcCA9PT0gJ2JldHdlZW4nKSB7XG4gICAgICAgICAgY29uc3QgdHVwbGUgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmJldHdlZW4gYXNcbiAgICAgICAgICAgIHVua25vd25bXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0dXBsZSkgJiYgdHVwbGUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdCA9IHNlcmlhbGl6ZVNjYWxhcihkZXNjcmlwdG9yLCB0dXBsZVswXSk7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmQgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdHVwbGVbMV0pO1xuICAgICAgICAgICAgaWYgKGZpcnN0ICE9PSB1bmRlZmluZWQgJiYgc2Vjb25kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICBmaXJzdCxcbiAgICAgICAgICAgICAgICApfSwke2VuY29kZVVSSUNvbXBvbmVudChzZWNvbmQpfWAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXSBhc1xuICAgICAgICAgICAgdW5rbm93bltdIHwgdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3QpICYmIGxpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZEl0ZW1zID0gbGlzdFxuICAgICAgICAgICAgICAubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJpbnRhYmxlID0gc2VyaWFsaXplU2NhbGFyKGRlc2NyaXB0b3IsIHYpO1xuICAgICAgICAgICAgICAgIGlmIChwcmludGFibGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChwcmludGFibGUpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAuZmlsdGVyKChpdGVtKTogaXRlbSBpcyBzdHJpbmcgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtICE9PSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5qb2luKCcsJyk7XG4gICAgICAgICAgICBpZiAoZW5jb2RlZEl0ZW1zICE9PSAnJykge1xuICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZWRJdGVtc31gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc2NhbGFyID0gKHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVtvcF07XG4gICAgICAgICAgY29uc3QgcHJpbnRhYmxlID0gc2VyaWFsaXplU2NhbGFyKGRlc2NyaXB0b3IsIHNjYWxhcik7XG4gICAgICAgICAgaWYgKHByaW50YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQocHJpbnRhYmxlKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJyYnKTtcbn1cbiJdfQ==
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxJQUFJLEVBQUUsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBS0QsU0FBUyxlQUFlLENBQ3RCLFVBQTJCLEVBQzNCLEtBQWM7SUFFZCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQ2YsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUM3QixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3hCLEtBQUssUUFBUTt3QkFDWCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM5QixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsT0FBTyxTQUFTLENBQUM7b0JBQ25CLEtBQUssUUFBUSxDQUFDO29CQUNkLEtBQUssTUFBTTt3QkFDVCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM5QixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsT0FBTyxTQUFTLENBQUM7b0JBQ25CLEtBQUssU0FBUzt3QkFDWixJQUFJLE9BQU8sS0FB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QkFDdEQsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQzVCLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQzNELENBQUM7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEluZmVyRmlsdGVycyxcbiAgU2NoZW1hLFxuICBPcGVyYXRvcixcbiAgRmllbGREZXNjcmlwdG9yLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGVuY29kZWQga2V5IHBvcnRpb24gZm9yIGEgZmllbGQvb3BlcmF0b3IgcGFpciAoaW1wbGljaXQgYGVxYCBoYXMgbm8gZG90IHN1ZmZpeCkuXG4gKi9cbmZ1bmN0aW9uIGVuY29kZUtleShmaWVsZDogc3RyaW5nLCBvcDogT3BlcmF0b3IpOiBzdHJpbmcge1xuICBpZiAob3AgPT09ICdlcScpIHJldHVybiBmaWVsZDsgLy8gaW1wbGljaXQgZXF1YWxpdHkgZm9ybVxuICByZXR1cm4gYCR7ZmllbGR9LiR7b3B9YDtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgc2NhbGFyIHZhbHVlIHVzaW5nIHRoZSBmaWVsZCBkZXNjcmlwdG9yIHdoZW4gcG9zc2libGUuXG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZVNjYWxhcihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICB2YWx1ZTogdW5rbm93bixcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBpc1ByaW1pdGl2ZSA9XG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcbiAgaWYgKGlzUHJpbWl0aXZlKSB7XG4gICAgaWYgKGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoZGVzY3JpcHRvci5raW5kKSB7XG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yLnNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgY2FzZSAnZW51bSc6XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3Iuc2VyaWFsaXplKHZhbHVlKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG4gIGlmIChkZXNjcmlwdG9yLmtpbmQgPT09ICdjdXN0b20nICYmIGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3Iuc2VyaWFsaXplKHZhbHVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBhIGZpbHRlcnMgb2JqZWN0IGludG8gYSBjYW5vbmljYWwgcXVlcnkgc3RyaW5nIHJlc3BlY3RpbmcgdGhlIHNjaGVtYSBvcGVyYXRvciBvcmRlcmluZy5cbiAqXG4gKiBAcGFyYW0gZmlsdGVycyAtIFBhcnNlZCBmaWx0ZXJzIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBzY2hlbWEgLSBTY2hlbWEgdXNlZCB0byBkZXRlcm1pbmUgb3BlcmF0b3Igb3JkZXJpbmcgYW5kIGZvcm1hdHRpbmcuXG4gKiBAcmV0dXJucyBRdWVyeSBzdHJpbmcgd2l0aG91dCBsZWFkaW5nIHF1ZXN0aW9uIG1hcmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnk8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPiB8IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgc2NoZW1hOiBTLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgZmllbGQgb2YgT2JqZWN0LmtleXMoc2NoZW1hKSkge1xuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyc1tmaWVsZF07XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYVtmaWVsZF07XG4gICAgaWYgKFxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgZGVzY3JpcHRvciA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0J1xuICAgICkge1xuICAgICAgLy8gc2tpcCBhYnNlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcCBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBpZiAob3AgPT09ICdlcScpIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSBSZWZsZWN0LmdldCh2YWx1ZSwgb3ApIGFzIHVua25vd247XG4gICAgICAgICAgY29uc3QgcHJpbnRhYmxlID0gc2VyaWFsaXplU2NhbGFyKGRlc2NyaXB0b3IsIHNjYWxhcik7XG4gICAgICAgICAgaWYgKHByaW50YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQocHJpbnRhYmxlKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAob3AgPT09ICdiZXR3ZWVuJykge1xuICAgICAgICAgIGNvbnN0IHR1cGxlID0gUmVmbGVjdC5nZXQodmFsdWUsICdiZXR3ZWVuJykgYXMgdW5rbm93bjtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0dXBsZSkgJiYgdHVwbGUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdCA9IHNlcmlhbGl6ZVNjYWxhcihkZXNjcmlwdG9yLCB0dXBsZVswXSk7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmQgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdHVwbGVbMV0pO1xuICAgICAgICAgICAgaWYgKGZpcnN0ICE9PSB1bmRlZmluZWQgJiYgc2Vjb25kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICBmaXJzdCxcbiAgICAgICAgICAgICAgICApfSwke2VuY29kZVVSSUNvbXBvbmVudChzZWNvbmQpfWAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSBSZWZsZWN0LmdldCh2YWx1ZSwgb3ApIGFzIHVua25vd247XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdCkgJiYgbGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVkSXRlbXMgPSBsaXN0XG4gICAgICAgICAgICAgIC5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdik7XG4gICAgICAgICAgICAgICAgaWYgKHByaW50YWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHByaW50YWJsZSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pOiBpdGVtIGlzIHN0cmluZyA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0gIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmpvaW4oJywnKTtcbiAgICAgICAgICAgIGlmIChlbmNvZGVkSXRlbXMgIT09ICcnKSB7XG4gICAgICAgICAgICAgIHBhcnRzLnB1c2goYCR7ZW5jb2RlS2V5KGZpZWxkLCBvcCl9PSR7ZW5jb2RlZEl0ZW1zfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXTtcbiAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgc2NhbGFyKTtcbiAgICAgICAgICBpZiAocHJpbnRhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgIGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZVVSSUNvbXBvbmVudChwcmludGFibGUpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcGFydHMuam9pbignJicpO1xufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"7.0.2","root":[[96,103]],"packageJsons":["../../../node_modules/tslib/modules/package.json","../../../node_modules/tslib/package.json","../package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.es2023.d.ts","lib.es2024.d.ts","lib.es2025.d.ts","lib.esnext.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.dom.asynciterable.d.ts","lib.webworker.importscripts.d.ts","lib.scripthost.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.es2023.array.d.ts","lib.es2023.collection.d.ts","lib.es2023.intl.d.ts","lib.es2024.arraybuffer.d.ts","lib.es2024.collection.d.ts","lib.es2024.object.d.ts","lib.es2024.promise.d.ts","lib.es2024.regexp.d.ts","lib.es2024.sharedmemory.d.ts","lib.es2024.string.d.ts","lib.es2025.collection.d.ts","lib.es2025.float16.d.ts","lib.es2025.intl.d.ts","lib.es2025.iterator.d.ts","lib.es2025.promise.d.ts","lib.es2025.regexp.d.ts","lib.esnext.array.d.ts","lib.esnext.collection.d.ts","lib.esnext.date.d.ts","lib.esnext.decorators.d.ts","lib.esnext.disposable.d.ts","lib.esnext.error.d.ts","lib.esnext.intl.d.ts","lib.esnext.sharedmemory.d.ts","lib.esnext.temporal.d.ts","lib.esnext.typedarrays.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","lib.esnext.full.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../src/errors.ts","../src/values.ts","../src/types.ts","../src/schema.ts","../src/parse.ts","../src/stringify.ts","../src/mutate.ts","../src/index.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7","9443a7f109277ffaa79d893ed2549995","793cee405385076e27c24f409659dccd","09f69c6610266eaee1ac9e3e30df2c71","62bad718844246b8e17547f37bad6085",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},"abad6dd56cc8caf095c165df8124d237","abad6dd56cc8caf095c165df8124d237",{"version":"2a9941db0809c9ad0e8837ed629b1dcc","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d051b93324f36bcc68d152a5ca0988cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8cf777fe00349b71ee9c4b6f3fe7fd19","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"74f96bc192530c9723f572bfff3d3078","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1df91c56b25955c56387426f378173c5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"38856f70edcd2115c355d96ec77cc09e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"de8700156c1275465bcd473c28b359aa","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d47cfdb6ede40518357bb5a4cd7cd9fb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6e5773860cd9e5b15e683113f642ab47","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"30ff5fe1682f7fcd629880476ca3c2e0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"bf23d7d1b40b9015b694ddc2f011752f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2cc585d42e2c548f9f24a30a1989fd33","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"713906ce9d332d2242b7f05ed9304be3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0219894bfe5042c7e1aa2d22e4a91ed0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6009ffff7e43c93318804d2d28e37fe3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"03be89b227587594fbb50509fc1c2e45","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b30df52dc24740c0bad7c55c3511df7d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ab8d3c9b5ed5c2ab8f383607eef439f0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d950ec671d0a8e07f3c1a31e94abed86","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1abef2ace5eccb02d60dd73cd5a5ee4c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5f0a3044029d1cc081b5887eb4deb07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d57c697f1446940ec4bfe669c962e2c4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"be41035d7b941482a1e1ae6a5c5dcca5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"10f7d9da7564f27f8ddf4a162b6da6d3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1d0520af549e0c3581f15173cc713ca1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d65083f97fd741cff028472563eddb79","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"da7f24f00653ebac660ac1c0821ed33d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7cb5ae9e65516ea2235f0721f6aac43c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},"2bccd8eaa1dc27e6e29feb6b1baad635","68565f078f6cbaa18bac7ac1aee706a4",{"version":"6df9988546b1b8e15cb137c4ed46c629","impliedNodeFormat":99},{"version":"eb42a73efaccd216bd5f434b5905955e","signature":"5791f085276d068c6cc30afe792015e9","impliedNodeFormat":1},{"version":"1ae9a1294128daad53ec3785e35d3654","signature":"4c279c57032ca8ffc386f0aa36de61f1","impliedNodeFormat":1},{"version":"099b91e27fedd795a8af254258ecfcef","signature":"5c83720281e4235adee50e9db3d6c85d","impliedNodeFormat":1},{"version":"77da3b1741325eb78b45cbbae713612a","signature":"f262ed74888633aaa8b4031506499568","impliedNodeFormat":1},{"version":"128c17e09d4af8d86f78a09719a50a96","signature":"9e714dd69382ef834359c37ad89238a1","impliedNodeFormat":1},{"version":"ce43ac14f105a801773992f238d148e9","signature":"d98b613183d0087e813d0f3bef937480","impliedNodeFormat":1},{"version":"5a62605230defcee354ff500e72057cf","signature":"884c96c64d813b26bbad8c4ba4e01da1","impliedNodeFormat":1},"200ecefc51f0177c4f63c7c1f5abddf9"],"fileIdsList":[[94],[96,97,98,99,100,101,102],[98],[96,98],[97,98],[96,97]],"options":{"allowJs":true,"composite":true,"declaration":true,"declarationMap":true,"importHelpers":true,"inlineSourceMap":true,"inlineSources":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitThis":true,"noImplicitReturns":true,"noEmitHelpers":true,"noUncheckedIndexedAccess":true,"noEmitOnError":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./esm","removeComments":true,"rootDir":"../src","skipLibCheck":true,"strict":true,"strictNullChecks":true,"target":99},"referencedMap":[[95,1],[103,2],[102,3],[100,4],[99,5],[101,3],[98,6]],"latestChangedDtsFile":"./esm/index.d.ts"}
|
|
1
|
+
{"version":"7.0.2","root":[[96,103]],"packageJsons":["../../../node_modules/tslib/modules/package.json","../../../node_modules/tslib/package.json","../package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.es2023.d.ts","lib.es2024.d.ts","lib.es2025.d.ts","lib.esnext.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.dom.asynciterable.d.ts","lib.webworker.importscripts.d.ts","lib.scripthost.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.es2023.array.d.ts","lib.es2023.collection.d.ts","lib.es2023.intl.d.ts","lib.es2024.arraybuffer.d.ts","lib.es2024.collection.d.ts","lib.es2024.object.d.ts","lib.es2024.promise.d.ts","lib.es2024.regexp.d.ts","lib.es2024.sharedmemory.d.ts","lib.es2024.string.d.ts","lib.es2025.collection.d.ts","lib.es2025.float16.d.ts","lib.es2025.intl.d.ts","lib.es2025.iterator.d.ts","lib.es2025.promise.d.ts","lib.es2025.regexp.d.ts","lib.esnext.array.d.ts","lib.esnext.collection.d.ts","lib.esnext.date.d.ts","lib.esnext.decorators.d.ts","lib.esnext.disposable.d.ts","lib.esnext.error.d.ts","lib.esnext.intl.d.ts","lib.esnext.sharedmemory.d.ts","lib.esnext.temporal.d.ts","lib.esnext.typedarrays.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","lib.esnext.full.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../src/errors.ts","../src/values.ts","../src/types.ts","../src/schema.ts","../src/parse.ts","../src/stringify.ts","../src/mutate.ts","../src/index.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7","9443a7f109277ffaa79d893ed2549995","793cee405385076e27c24f409659dccd","09f69c6610266eaee1ac9e3e30df2c71","62bad718844246b8e17547f37bad6085",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},"abad6dd56cc8caf095c165df8124d237","abad6dd56cc8caf095c165df8124d237",{"version":"2a9941db0809c9ad0e8837ed629b1dcc","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d051b93324f36bcc68d152a5ca0988cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8cf777fe00349b71ee9c4b6f3fe7fd19","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"74f96bc192530c9723f572bfff3d3078","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1df91c56b25955c56387426f378173c5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"38856f70edcd2115c355d96ec77cc09e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"de8700156c1275465bcd473c28b359aa","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d47cfdb6ede40518357bb5a4cd7cd9fb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6e5773860cd9e5b15e683113f642ab47","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"30ff5fe1682f7fcd629880476ca3c2e0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"bf23d7d1b40b9015b694ddc2f011752f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2cc585d42e2c548f9f24a30a1989fd33","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"713906ce9d332d2242b7f05ed9304be3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0219894bfe5042c7e1aa2d22e4a91ed0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6009ffff7e43c93318804d2d28e37fe3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"03be89b227587594fbb50509fc1c2e45","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b30df52dc24740c0bad7c55c3511df7d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ab8d3c9b5ed5c2ab8f383607eef439f0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d950ec671d0a8e07f3c1a31e94abed86","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1abef2ace5eccb02d60dd73cd5a5ee4c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5f0a3044029d1cc081b5887eb4deb07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d57c697f1446940ec4bfe669c962e2c4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"be41035d7b941482a1e1ae6a5c5dcca5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"10f7d9da7564f27f8ddf4a162b6da6d3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1d0520af549e0c3581f15173cc713ca1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d65083f97fd741cff028472563eddb79","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"da7f24f00653ebac660ac1c0821ed33d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7cb5ae9e65516ea2235f0721f6aac43c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},"2bccd8eaa1dc27e6e29feb6b1baad635","68565f078f6cbaa18bac7ac1aee706a4",{"version":"6df9988546b1b8e15cb137c4ed46c629","impliedNodeFormat":99},{"version":"eb42a73efaccd216bd5f434b5905955e","signature":"5791f085276d068c6cc30afe792015e9","impliedNodeFormat":1},{"version":"1ae9a1294128daad53ec3785e35d3654","signature":"4c279c57032ca8ffc386f0aa36de61f1","impliedNodeFormat":1},{"version":"e22f29c561fef59536ebfdaa9f6ea064","signature":"15835c09d6801a2a479498f7d5aa2401","impliedNodeFormat":1},{"version":"77da3b1741325eb78b45cbbae713612a","signature":"f262ed74888633aaa8b4031506499568","impliedNodeFormat":1},{"version":"c9d897ba3ef96539dee742314db275a6","signature":"9e714dd69382ef834359c37ad89238a1","impliedNodeFormat":1},{"version":"917b94d30851559e13967fab27368fb8","signature":"e8539b4e7170f1f89d8284381fd579a9","impliedNodeFormat":1},{"version":"20a10892b7d0bd4c22c6b6d1ff86c388","signature":"0fec486a29073da6469f4956509dc793","impliedNodeFormat":1},"200ecefc51f0177c4f63c7c1f5abddf9"],"fileIdsList":[[94],[96,97,98,99,100,101,102],[98],[96,98],[97,98],[96,97]],"options":{"allowJs":true,"composite":true,"declaration":true,"declarationMap":true,"importHelpers":true,"inlineSourceMap":true,"inlineSources":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitThis":true,"noImplicitReturns":true,"noEmitHelpers":true,"noUncheckedIndexedAccess":true,"noEmitOnError":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./esm","removeComments":true,"rootDir":"../src","skipLibCheck":true,"strict":true,"strictNullChecks":true,"target":99},"referencedMap":[[95,1],[103,2],[102,3],[100,4],[99,5],[101,3],[98,6]],"latestChangedDtsFile":"./esm/index.d.ts"}
|
package/lib/types/mutate.d.ts
CHANGED
|
@@ -4,9 +4,8 @@ export type EqInput<S extends Schema> = Partial<{
|
|
|
4
4
|
eq?: infer V;
|
|
5
5
|
} ? V : never;
|
|
6
6
|
}>;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare
|
|
9
|
-
export declare function setFilter<S extends Schema, F extends keyof S, O extends keyof NonNullable<InferFilters<S>[F]>>(filters: Readonly<InferFilters<S>>, _schema: S, field: F, operator: O, value: NonNullable<InferFilters<S>[F]>[O] | undefined): InferFilters<S>;
|
|
7
|
+
export declare function buildEqFilters<S extends Schema>(input: EqInput<S>): InferFilters<S>;
|
|
8
|
+
export declare function setFilter<S extends Schema, F extends keyof S, O extends keyof NonNullable<InferFilters<S>[F]>>(filters: Readonly<InferFilters<S>>, field: F, operator: O, value: NonNullable<InferFilters<S>[F]>[O] | undefined): InferFilters<S>;
|
|
10
9
|
export declare function removeFilter<S extends Schema, F extends keyof S>(filters: Readonly<InferFilters<S>>, field: F, operator?: keyof NonNullable<InferFilters<S>[F]>): InferFilters<S>;
|
|
11
10
|
export declare function mergeFilters<S extends Schema>(base: Readonly<InferFilters<S>>, patch: Readonly<InferFilters<S>>): InferFilters<S>;
|
|
12
11
|
export declare function isEmpty<S extends Schema>(filters: Readonly<InferFilters<S>>): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../../src/mutate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgCvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC;KAE5C,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9D,CAAC,GACD,KAAK,GACR,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACxE,CAAC,CAAC;AAOH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"mutate.d.ts","sourceRoot":"","sources":["../../src/mutate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgCvD,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC;KAE5C,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9D,CAAC,GACD,KAAK,GACR,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CACxE,CAAC,CAAC;AAOH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAChB,YAAY,CAAC,CAAC,CAAC,CAQjB;AAWD,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,SAAS,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAE/C,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACpD,YAAY,CAAC,CAAC,CAAC,CAwBjB;AASD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAC9D,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC/C,YAAY,CAAC,CAAC,CAAC,CAkBjB;AASD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAC3C,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,CAAC,CAoBjB;AAOD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EACtC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACjC,OAAO,CAET"}
|
package/lib/types/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAMN,WAAW,EACZ,MAAM,YAAY,CAAC;AAwKpB,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,GACR,WAAW,CAAC,CAAC,CAAC,CA8DhB"}
|
package/lib/types/stringify.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { InferFilters, Schema } from './types.js';
|
|
2
|
-
export declare function stringify<S extends Schema>(filters: InferFilters<S
|
|
2
|
+
export declare function stringify<S extends Schema>(filters: InferFilters<S> | Readonly<Record<string, unknown>>, schema: S): string;
|
|
3
3
|
//# sourceMappingURL=stringify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAGP,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAGP,MAAM,YAAY,CAAC;AAwEpB,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACxC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC5D,MAAM,EAAE,CAAC,GACR,MAAM,CAmER"}
|
package/lib/types/types.d.ts
CHANGED
|
@@ -21,18 +21,12 @@ export type EnumFieldDescriptor<T extends string> = FieldDescriptorBase<'enum',
|
|
|
21
21
|
export type CustomFieldDescriptor<T> = FieldDescriptorBase<'custom', T>;
|
|
22
22
|
export type FieldDescriptor = NumberFieldDescriptor | StringFieldDescriptor | BooleanFieldDescriptor | EnumFieldDescriptor<string> | CustomFieldDescriptor<unknown>;
|
|
23
23
|
export type Schema = Readonly<Record<string, FieldDescriptor>>;
|
|
24
|
-
type OperatorKeys<D extends FieldDescriptor> = Extract<D['operators'][number], ScalarOperator>;
|
|
25
24
|
type FieldValue<D extends FieldDescriptor> = D extends FieldDescriptorBase<PrimitiveKind, infer TValue> ? TValue : never;
|
|
26
|
-
type ScalarMap<D extends FieldDescriptor> = Record<
|
|
27
|
-
type BetweenMap<D extends FieldDescriptor> =
|
|
25
|
+
type ScalarMap<D extends FieldDescriptor> = Record<ScalarOperator, FieldValue<D> | undefined>;
|
|
26
|
+
type BetweenMap<D extends FieldDescriptor> = {
|
|
28
27
|
between?: readonly [FieldValue<D>, FieldValue<D>];
|
|
29
|
-
}
|
|
30
|
-
type
|
|
31
|
-
type ListMap<D extends FieldDescriptor> = ('in' extends ListOps<D> ? {
|
|
32
|
-
in?: readonly FieldValue<D>[];
|
|
33
|
-
} : Record<never, never>) & ('nin' extends ListOps<D> ? {
|
|
34
|
-
nin?: readonly FieldValue<D>[];
|
|
35
|
-
} : Record<never, never>);
|
|
28
|
+
};
|
|
29
|
+
type ListMap<D extends FieldDescriptor> = Record<ListOperator, readonly FieldValue<D>[] | undefined>;
|
|
36
30
|
export type InferField<D extends FieldDescriptor> = Partial<ScalarMap<D> & BetweenMap<D> & ListMap<D>>;
|
|
37
31
|
export type InferFilters<S extends Schema> = {
|
|
38
32
|
[K in keyof S]?: InferField<S[K]>;
|
package/lib/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAG3C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhF,KAAK,mBAAmB,CAAC,MAAM,IAAI;IAGjC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC,CAAC,gBAAgB,CAAC,CAAC;AAKpB,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,aAAa,EAAE,MAAM;IACtE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAErD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CAClD;AAGD,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAAI,mBAAmB,CACrE,MAAM,EACN,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAGxE,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,CAAC,MAAM,CAAC,GAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAGnC,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -21,18 +21,12 @@ export type EnumFieldDescriptor<T extends string> = FieldDescriptorBase<'enum',
|
|
|
21
21
|
export type CustomFieldDescriptor<T> = FieldDescriptorBase<'custom', T>;
|
|
22
22
|
export type FieldDescriptor = NumberFieldDescriptor | StringFieldDescriptor | BooleanFieldDescriptor | EnumFieldDescriptor<string> | CustomFieldDescriptor<unknown>;
|
|
23
23
|
export type Schema = Readonly<Record<string, FieldDescriptor>>;
|
|
24
|
-
type OperatorKeys<D extends FieldDescriptor> = Extract<D['operators'][number], ScalarOperator>;
|
|
25
24
|
type FieldValue<D extends FieldDescriptor> = D extends FieldDescriptorBase<PrimitiveKind, infer TValue> ? TValue : never;
|
|
26
|
-
type ScalarMap<D extends FieldDescriptor> = Record<
|
|
27
|
-
type BetweenMap<D extends FieldDescriptor> =
|
|
25
|
+
type ScalarMap<D extends FieldDescriptor> = Record<ScalarOperator, FieldValue<D> | undefined>;
|
|
26
|
+
type BetweenMap<D extends FieldDescriptor> = {
|
|
28
27
|
between?: readonly [FieldValue<D>, FieldValue<D>];
|
|
29
|
-
}
|
|
30
|
-
type
|
|
31
|
-
type ListMap<D extends FieldDescriptor> = ('in' extends ListOps<D> ? {
|
|
32
|
-
in?: readonly FieldValue<D>[];
|
|
33
|
-
} : Record<never, never>) & ('nin' extends ListOps<D> ? {
|
|
34
|
-
nin?: readonly FieldValue<D>[];
|
|
35
|
-
} : Record<never, never>);
|
|
28
|
+
};
|
|
29
|
+
type ListMap<D extends FieldDescriptor> = Record<ListOperator, readonly FieldValue<D>[] | undefined>;
|
|
36
30
|
export type InferField<D extends FieldDescriptor> = Partial<ScalarMap<D> & BetweenMap<D> & ListMap<D>>;
|
|
37
31
|
export type InferFilters<S extends Schema> = {
|
|
38
32
|
[K in keyof S]?: InferField<S[K]>;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAEzD,MAAM,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAG3C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhF,KAAK,mBAAmB,CAAC,MAAM,IAAI;IAGjC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvC,CAAC,gBAAgB,CAAC,CAAC;AAKpB,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,aAAa,EAAE,MAAM;IACtE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAErD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;CAClD;AAGD,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAAI,mBAAmB,CACrE,MAAM,EACN,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAGxE,MAAM,MAAM,eAAe,GACvB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,mBAAmB,CAAC,MAAM,CAAC,GAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAGnC,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWUsXG4gIEZpbHRlckxpc3RPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJTY2FsYXJPcGVyYXRvclZhbHVlLFxufSBmcm9tICcuL3ZhbHVlcy5qcyc7XG5cbi8qKlxuICogT3BlcmF0b3JzIHRoYXQgdGFrZSBhIHNpbmdsZSBzY2FsYXIgdmFsdWUgKG51bWJlcnMgb3Igc3RyaW5ncykgaW4gdGhlIGZpbHRlciBzY2hlbWEuXG4gKi9cbmV4cG9ydCB0eXBlIFNjYWxhck9wZXJhdG9yID0gRmlsdGVyU2NhbGFyT3BlcmF0b3JWYWx1ZTtcbi8qKiBPcGVyYXRvciByZXByZXNlbnRpbmcgYSByYW5nZSBvZiB0d28gdmFsdWVzLiAqL1xuZXhwb3J0IHR5cGUgQmV0d2Vlbk9wZXJhdG9yID0gRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWU7XG4vKiogT3BlcmF0b3JzIHdob3NlIHZhbHVlcyBhcmUgbGlzdHMuICovXG5leHBvcnQgdHlwZSBMaXN0T3BlcmF0b3IgPSBGaWx0ZXJMaXN0T3BlcmF0b3JWYWx1ZTtcbi8qKiBBbGwgc3VwcG9ydGVkIG9wZXJhdG9yIGtpbmRzLiAqL1xuZXhwb3J0IHR5cGUgT3BlcmF0b3IgPSBGaWx0ZXJPcGVyYXRvclZhbHVlO1xuXG4vKiogUHJpbWl0aXZlIGZpZWxkIGtpbmRzIHN1cHBvcnRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlS2luZCA9ICdudW1iZXInIHwgJ3N0cmluZycgfCAnYm9vbGVhbicgfCAnZW51bScgfCAnY3VzdG9tJztcblxudHlwZSBCaXZhcmlhbnRTZXJpYWxpemVyPFRWYWx1ZT4gPSB7XG4gIC8vIFRoZSBwdWJsaWMgY2FsbGJhY2sgbXVzdCBhY2NlcHQgdGhlIHNwZWNpYWxpemVkIHZhbHVlIGluZmVycmVkIGJ5IGl0cyBmaWVsZC5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGJpdmFyaWFuY2VIYWNrKHZhbHVlOiBUVmFsdWUpOiBzdHJpbmc7XG59WydiaXZhcmlhbmNlSGFjayddO1xuXG4vKipcbiAqIEJhc2UgZGVzY3JpcHRvciBzaGFyZWQgYnkgbnVtYmVyIGFuZCBzdHJpbmcgZmllbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVzY3JpcHRvckJhc2U8VEtpbmQgZXh0ZW5kcyBQcmltaXRpdmVLaW5kLCBUVmFsdWU+IHtcbiAgcmVhZG9ubHkga2luZDogVEtpbmQ7XG4gIHJlYWRvbmx5IG9wZXJhdG9yczogcmVhZG9ubHkgT3BlcmF0b3JbXTtcbiAgcmVhZG9ubHkgcGFyc2U/OiAocmF3OiBzdHJpbmcpID0+IFRWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgLyoqIEJpdmFyaWFuY2Uga2VlcHMgc3BlY2lhbGl6ZWQgZGVzY3JpcHRvcnMgYXNzaWduYWJsZSB0byBTY2hlbWEuICovXG4gIHJlYWRvbmx5IHNlcmlhbGl6ZT86IEJpdmFyaWFudFNlcmlhbGl6ZXI8VFZhbHVlPjtcbn1cblxuLyoqIERlc2NyaXB0b3IgZm9yIG51bWVyaWMgZmllbGRzLiBQcm92aWRlcyBudW1lcmljIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J251bWJlcicsIG51bWJlcj47XG4vKiogRGVzY3JpcHRvciBmb3Igc3RyaW5nIGZpZWxkcy4gUHJvdmlkZXMgc3RyaW5nIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIFN0cmluZ0ZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J3N0cmluZycsIHN0cmluZz47XG4vKiogRGVzY3JpcHRvciBmb3IgYm9vbGVhbiBmaWVsZHMuICovXG5leHBvcnQgdHlwZSBCb29sZWFuRmllbGREZXNjcmlwdG9yID0gRmllbGREZXNjcmlwdG9yQmFzZTwnYm9vbGVhbicsIGJvb2xlYW4+O1xuLyoqIERlc2NyaXB0b3IgZm9yIGVudW0gc3RyaW5nIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEVudW1GaWVsZERlc2NyaXB0b3I8VCBleHRlbmRzIHN0cmluZz4gPSBGaWVsZERlc2NyaXB0b3JCYXNlPFxuICAnZW51bScsXG4gIFRcbj47XG4vKiogRGVzY3JpcHRvciBmb3IgY3VzdG9tIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkRGVzY3JpcHRvcjxUPiA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J2N1c3RvbScsIFQ+O1xuXG4vKiogRGVzY3JpcHRvciBhY2NlcHRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgRmllbGREZXNjcmlwdG9yID1cbiAgfCBOdW1iZXJGaWVsZERlc2NyaXB0b3JcbiAgfCBTdHJpbmdGaWVsZERlc2NyaXB0b3JcbiAgfCBCb29sZWFuRmllbGREZXNjcmlwdG9yXG4gIHwgRW51bUZpZWxkRGVzY3JpcHRvcjxzdHJpbmc+XG4gIHwgQ3VzdG9tRmllbGREZXNjcmlwdG9yPHVua25vd24+O1xuXG4vKiogSW1tdXRhYmxlIG1hcHBpbmcgYmV0d2VlbiBmaWVsZCBrZXlzIGFuZCB0aGVpciBkZXNjcmlwdG9ycy4gKi9cbmV4cG9ydCB0eXBlIFNjaGVtYSA9IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIEZpZWxkRGVzY3JpcHRvcj4+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWUsXG4gIEZpbHRlckxpc3RPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJTY2FsYXJPcGVyYXRvclZhbHVlLFxufSBmcm9tICcuL3ZhbHVlcy5qcyc7XG5cbi8qKlxuICogT3BlcmF0b3JzIHRoYXQgdGFrZSBhIHNpbmdsZSBzY2FsYXIgdmFsdWUgKG51bWJlcnMgb3Igc3RyaW5ncykgaW4gdGhlIGZpbHRlciBzY2hlbWEuXG4gKi9cbmV4cG9ydCB0eXBlIFNjYWxhck9wZXJhdG9yID0gRmlsdGVyU2NhbGFyT3BlcmF0b3JWYWx1ZTtcbi8qKiBPcGVyYXRvciByZXByZXNlbnRpbmcgYSByYW5nZSBvZiB0d28gdmFsdWVzLiAqL1xuZXhwb3J0IHR5cGUgQmV0d2Vlbk9wZXJhdG9yID0gRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWU7XG4vKiogT3BlcmF0b3JzIHdob3NlIHZhbHVlcyBhcmUgbGlzdHMuICovXG5leHBvcnQgdHlwZSBMaXN0T3BlcmF0b3IgPSBGaWx0ZXJMaXN0T3BlcmF0b3JWYWx1ZTtcbi8qKiBBbGwgc3VwcG9ydGVkIG9wZXJhdG9yIGtpbmRzLiAqL1xuZXhwb3J0IHR5cGUgT3BlcmF0b3IgPSBGaWx0ZXJPcGVyYXRvclZhbHVlO1xuXG4vKiogUHJpbWl0aXZlIGZpZWxkIGtpbmRzIHN1cHBvcnRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlS2luZCA9ICdudW1iZXInIHwgJ3N0cmluZycgfCAnYm9vbGVhbicgfCAnZW51bScgfCAnY3VzdG9tJztcblxudHlwZSBCaXZhcmlhbnRTZXJpYWxpemVyPFRWYWx1ZT4gPSB7XG4gIC8vIFRoZSBwdWJsaWMgY2FsbGJhY2sgbXVzdCBhY2NlcHQgdGhlIHNwZWNpYWxpemVkIHZhbHVlIGluZmVycmVkIGJ5IGl0cyBmaWVsZC5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGJpdmFyaWFuY2VIYWNrKHZhbHVlOiBUVmFsdWUpOiBzdHJpbmc7XG59WydiaXZhcmlhbmNlSGFjayddO1xuXG4vKipcbiAqIEJhc2UgZGVzY3JpcHRvciBzaGFyZWQgYnkgbnVtYmVyIGFuZCBzdHJpbmcgZmllbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVzY3JpcHRvckJhc2U8VEtpbmQgZXh0ZW5kcyBQcmltaXRpdmVLaW5kLCBUVmFsdWU+IHtcbiAgcmVhZG9ubHkga2luZDogVEtpbmQ7XG4gIHJlYWRvbmx5IG9wZXJhdG9yczogcmVhZG9ubHkgT3BlcmF0b3JbXTtcbiAgcmVhZG9ubHkgcGFyc2U/OiAocmF3OiBzdHJpbmcpID0+IFRWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgLyoqIEJpdmFyaWFuY2Uga2VlcHMgc3BlY2lhbGl6ZWQgZGVzY3JpcHRvcnMgYXNzaWduYWJsZSB0byBTY2hlbWEuICovXG4gIHJlYWRvbmx5IHNlcmlhbGl6ZT86IEJpdmFyaWFudFNlcmlhbGl6ZXI8VFZhbHVlPjtcbn1cblxuLyoqIERlc2NyaXB0b3IgZm9yIG51bWVyaWMgZmllbGRzLiBQcm92aWRlcyBudW1lcmljIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J251bWJlcicsIG51bWJlcj47XG4vKiogRGVzY3JpcHRvciBmb3Igc3RyaW5nIGZpZWxkcy4gUHJvdmlkZXMgc3RyaW5nIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIFN0cmluZ0ZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J3N0cmluZycsIHN0cmluZz47XG4vKiogRGVzY3JpcHRvciBmb3IgYm9vbGVhbiBmaWVsZHMuICovXG5leHBvcnQgdHlwZSBCb29sZWFuRmllbGREZXNjcmlwdG9yID0gRmllbGREZXNjcmlwdG9yQmFzZTwnYm9vbGVhbicsIGJvb2xlYW4+O1xuLyoqIERlc2NyaXB0b3IgZm9yIGVudW0gc3RyaW5nIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEVudW1GaWVsZERlc2NyaXB0b3I8VCBleHRlbmRzIHN0cmluZz4gPSBGaWVsZERlc2NyaXB0b3JCYXNlPFxuICAnZW51bScsXG4gIFRcbj47XG4vKiogRGVzY3JpcHRvciBmb3IgY3VzdG9tIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkRGVzY3JpcHRvcjxUPiA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J2N1c3RvbScsIFQ+O1xuXG4vKiogRGVzY3JpcHRvciBhY2NlcHRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgRmllbGREZXNjcmlwdG9yID1cbiAgfCBOdW1iZXJGaWVsZERlc2NyaXB0b3JcbiAgfCBTdHJpbmdGaWVsZERlc2NyaXB0b3JcbiAgfCBCb29sZWFuRmllbGREZXNjcmlwdG9yXG4gIHwgRW51bUZpZWxkRGVzY3JpcHRvcjxzdHJpbmc+XG4gIHwgQ3VzdG9tRmllbGREZXNjcmlwdG9yPHVua25vd24+O1xuXG4vKiogSW1tdXRhYmxlIG1hcHBpbmcgYmV0d2VlbiBmaWVsZCBrZXlzIGFuZCB0aGVpciBkZXNjcmlwdG9ycy4gKi9cbmV4cG9ydCB0eXBlIFNjaGVtYSA9IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIEZpZWxkRGVzY3JpcHRvcj4+O1xuXG50eXBlIEZpZWxkVmFsdWU8RCBleHRlbmRzIEZpZWxkRGVzY3JpcHRvcj4gPVxuICBEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yQmFzZTxQcmltaXRpdmVLaW5kLCBpbmZlciBUVmFsdWU+ID8gVFZhbHVlIDogbmV2ZXI7XG50eXBlIFNjYWxhck1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IFJlY29yZDxcbiAgU2NhbGFyT3BlcmF0b3IsXG4gIEZpZWxkVmFsdWU8RD4gfCB1bmRlZmluZWRcbj47XG5cbnR5cGUgQmV0d2Vlbk1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IHtcbiAgYmV0d2Vlbj86IHJlYWRvbmx5IFtGaWVsZFZhbHVlPEQ+LCBGaWVsZFZhbHVlPEQ+XTtcbn07XG5cbnR5cGUgTGlzdE1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IFJlY29yZDxcbiAgTGlzdE9wZXJhdG9yLFxuICByZWFkb25seSBGaWVsZFZhbHVlPEQ+W10gfCB1bmRlZmluZWRcbj47XG5cbi8qKlxuICogSW5mZXJzIG9wZXJhdG9yIHZhbHVlIHNoYXBlcyBmcm9tIGEgZGVzY3JpcHRvcidzIGZpZWxkIHZhbHVlIHR5cGUuXG4gKiBUaGUgZGVzY3JpcHRvcidzIHJ1bnRpbWUgb3BlcmF0b3Igd2hpdGVsaXN0IGlzIGludGVudGlvbmFsbHkgbm90IGVuY29kZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEluZmVyRmllbGQ8RCBleHRlbmRzIEZpZWxkRGVzY3JpcHRvcj4gPSBQYXJ0aWFsPFxuICBTY2FsYXJNYXA8RD4gJiBCZXR3ZWVuTWFwPEQ+ICYgTGlzdE1hcDxEPlxuPjtcblxuLyoqIEZpbHRlcnMgbWFwIGluZmVycmVkIGZyb20gYSBzY2hlbWEgZGVmaW5pdGlvbi4gKi9cbmV4cG9ydCB0eXBlIEluZmVyRmlsdGVyczxTIGV4dGVuZHMgU2NoZW1hPiA9IHtcbiAgW0sgaW4ga2V5b2YgU10/OiBJbmZlckZpZWxkPFNbS10+O1xufTtcblxuLyoqIFJlc3VsdCByZXR1cm5lZCBieSB0aGUgYHBhcnNlYCBmdW5jdGlvbjogcGFyc2VkIGZpbHRlcnMgcGx1cyBkaWFnbm9zdGljcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VSZXN1bHQ8UyBleHRlbmRzIFNjaGVtYT4ge1xuICByZWFkb25seSBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIHJlYWRvbmx5IGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG4iXX0=
|