@plumile/filter-query 0.1.206 → 0.2.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumile/filter-query",
3
- "version": "0.1.206",
3
+ "version": "0.2.2",
4
4
  "description": "Typed filter query string parser and serializer for Kronex ecosystem",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/lib/errors.d.ts DELETED
@@ -1,39 +0,0 @@
1
- export type Diagnostic = UnknownFieldDiagnostic | UnknownOperatorDiagnostic | InvalidValueDiagnostic | InvalidArityDiagnostic | DuplicateBetweenDiagnostic | DecodeErrorDiagnostic;
2
- export interface BaseDiagnostic {
3
- readonly kind: string;
4
- readonly field?: string;
5
- readonly operator?: string;
6
- readonly detail?: string;
7
- }
8
- export interface UnknownFieldDiagnostic extends BaseDiagnostic {
9
- kind: 'UnknownField';
10
- field: string;
11
- }
12
- export interface UnknownOperatorDiagnostic extends BaseDiagnostic {
13
- kind: 'UnknownOperator';
14
- field: string;
15
- operator: string;
16
- }
17
- export interface InvalidValueDiagnostic extends BaseDiagnostic {
18
- kind: 'InvalidValue';
19
- field: string;
20
- operator: string;
21
- detail?: string;
22
- }
23
- export interface InvalidArityDiagnostic extends BaseDiagnostic {
24
- kind: 'InvalidArity';
25
- field: string;
26
- operator: string;
27
- detail: string;
28
- }
29
- export interface DuplicateBetweenDiagnostic extends BaseDiagnostic {
30
- kind: 'DuplicateBetween';
31
- field: string;
32
- }
33
- export interface DecodeErrorDiagnostic extends BaseDiagnostic {
34
- kind: 'DecodeError';
35
- field: string;
36
- operator: string;
37
- detail: string;
38
- }
39
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAClB,sBAAsB,GACtB,yBAAyB,GACzB,sBAAsB,GACtB,sBAAsB,GACtB,0BAA0B,GAC1B,qBAAqB,CAAC;AAM1B,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAKD,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAKD,MAAM,WAAW,yBAA0B,SAAQ,cAAc;IAC/D,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAID,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/lib/errors.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVbmlvbiBvZiBhbGwgZGlhZ25vc3RpYyB2YXJpYW50cyB0aGF0IGNhbiBiZSBwcm9kdWNlZCB3aGlsZSBwYXJzaW5nIGEgZmlsdGVyIHF1ZXJ5IHN0cmluZy5cbiAqL1xuZXhwb3J0IHR5cGUgRGlhZ25vc3RpYyA9XG4gIHwgVW5rbm93bkZpZWxkRGlhZ25vc3RpY1xuICB8IFVua25vd25PcGVyYXRvckRpYWdub3N0aWNcbiAgfCBJbnZhbGlkVmFsdWVEaWFnbm9zdGljXG4gIHwgSW52YWxpZEFyaXR5RGlhZ25vc3RpY1xuICB8IER1cGxpY2F0ZUJldHdlZW5EaWFnbm9zdGljXG4gIHwgRGVjb2RlRXJyb3JEaWFnbm9zdGljO1xuXG4vKipcbiAqIENvbW1vbiBkaWFnbm9zdGljIHNoYXBlLlxuICogQ29uc3VtZXJzIHNob3VsZCByZWZpbmUgdmlhIHRoZSBga2luZGAgZGlzY3JpbWluYW50IGJlZm9yZSByZWFkaW5nIGFkZGl0aW9uYWwgZmllbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VEaWFnbm9zdGljIHtcbiAgcmVhZG9ubHkga2luZDogc3RyaW5nO1xuICByZWFkb25seSBmaWVsZD86IHN0cmluZztcbiAgcmVhZG9ubHkgb3BlcmF0b3I/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRldGFpbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSYWlzZWQgd2hlbiB0aGUgcXVlcnkgcmVmZXJlbmNlcyBhIGZpZWxkIHRoYXQgaXMgbm90IHByZXNlbnQgaW4gdGhlIHNjaGVtYSBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVua25vd25GaWVsZERpYWdub3N0aWMgZXh0ZW5kcyBCYXNlRGlhZ25vc3RpYyB7XG4gIGtpbmQ6ICdVbmtub3duRmllbGQnO1xuICBmaWVsZDogc3RyaW5nO1xufVxuLyoqXG4gKiBSYWlzZWQgd2hlbiBhIGZpZWxkIGlzIGtub3duIGJ1dCBhbiBvcGVyYXRvciB0aGF0IGlzIG5vdCB3aGl0ZWxpc3RlZCBvbiB0aGUgc2NoZW1hXG4gKiBpcyBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmtub3duT3BlcmF0b3JEaWFnbm9zdGljIGV4dGVuZHMgQmFzZURpYWdub3N0aWMge1xuICBraW5kOiAnVW5rbm93bk9wZXJhdG9yJztcbiAgZmllbGQ6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbn1cbi8qKlxuICogU2lnbmFscyB0aGF0IGEgdmFsdWUgY291bGQgbm90IGJlIHBhcnNlZCBhY2NvcmRpbmcgdG8gdGhlIGZpZWxkIGRlc2NyaXB0b3JcbiAqIChlLmcuIG1hbGZvcm1lZCBudW1iZXIpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludmFsaWRWYWx1ZURpYWdub3N0aWMgZXh0ZW5kcyBCYXNlRGlhZ25vc3RpYyB7XG4gIGtpbmQ6ICdJbnZhbGlkVmFsdWUnO1xuICBmaWVsZDogc3RyaW5nO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICBkZXRhaWw/OiBzdHJpbmc7XG59XG4vKipcbiAqIEVtaXR0ZWQgd2hlbiBhbiBvcGVyYXRvciByZWNlaXZlcyBhbiB1bmV4cGVjdGVkIG51bWJlciBvZiB2YWx1ZXNcbiAqIChlLmcuIGBiZXR3ZWVuYCB3aXRob3V0IGV4YWN0bHkgdHdvIGl0ZW1zKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkQXJpdHlEaWFnbm9zdGljIGV4dGVuZHMgQmFzZURpYWdub3N0aWMge1xuICBraW5kOiAnSW52YWxpZEFyaXR5JztcbiAgZmllbGQ6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgZGV0YWlsOiBzdHJpbmc7IC8vIGV4cGVjdGVkIGFyaXR5IGluZm9cbn1cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgbXVsdGlwbGUgYGJldHdlZW5gIGRlY2xhcmF0aW9ucyB3ZXJlIGVuY291bnRlcmVkIGZvciB0aGUgc2FtZSBmaWVsZDtcbiAqIG9ubHkgdGhlIGZpcnN0IGlzIGtlcHQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHVwbGljYXRlQmV0d2VlbkRpYWdub3N0aWMgZXh0ZW5kcyBCYXNlRGlhZ25vc3RpYyB7XG4gIGtpbmQ6ICdEdXBsaWNhdGVCZXR3ZWVuJztcbiAgZmllbGQ6IHN0cmluZztcbn1cbi8qKlxuICogUmFpc2VkIHdoZW4gYSB2YWx1ZSBjYW5ub3QgYmUgZGVjb2RlZCBmcm9tIHRoZSBVUkwgcXVlcnkgc3RyaW5nIChpbnZhbGlkIHBlcmNlbnQtZW5jb2RpbmcpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlY29kZUVycm9yRGlhZ25vc3RpYyBleHRlbmRzIEJhc2VEaWFnbm9zdGljIHtcbiAga2luZDogJ0RlY29kZUVycm9yJztcbiAgZmllbGQ6IHN0cmluZztcbiAgb3BlcmF0b3I6IHN0cmluZztcbiAgZGV0YWlsOiBzdHJpbmc7XG59XG4iXX0=
package/lib/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export type * from './types.js';
2
- export * from './schema.js';
3
- export type * from './errors.js';
4
- export * from './parse.js';
5
- export * from './stringify.js';
6
- export * from './mutate.js';
7
- export * from './values.js';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,mBAAmB,aAAa,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
package/lib/index.js DELETED
@@ -1,6 +0,0 @@
1
- export * from './schema.js';
2
- export * from './parse.js';
3
- export * from './stringify.js';
4
- export * from './mutate.js';
5
- export * from './values.js';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlICogZnJvbSAnLi90eXBlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS5qcyc7XG5leHBvcnQgdHlwZSAqIGZyb20gJy4vZXJyb3JzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGFyc2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmdpZnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tdXRhdGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi92YWx1ZXMuanMnO1xuIl19
package/lib/mutate.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import type { InferFilters, Schema } from './types.js';
2
- export type EqInput<S extends Schema> = Partial<{
3
- [K in keyof S as 'eq' extends keyof NonNullable<InferFilters<S>[K]> ? K : never]: NonNullable<InferFilters<S>[K]> extends {
4
- eq?: infer V;
5
- } ? V : never;
6
- }>;
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>;
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>;
10
- export declare function mergeFilters<S extends Schema>(base: Readonly<InferFilters<S>>, patch: Readonly<InferFilters<S>>): InferFilters<S>;
11
- export declare function isEmpty<S extends Schema>(filters: Readonly<InferFilters<S>>): boolean;
12
- //# sourceMappingURL=mutate.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,97 +0,0 @@
1
- function shallowEqual(a, b) {
2
- if (a === b) {
3
- return true;
4
- }
5
- if (typeof a !== 'object' ||
6
- a === null ||
7
- typeof b !== 'object' ||
8
- b === null) {
9
- return false;
10
- }
11
- const aObj = a;
12
- const bObj = b;
13
- const aKeys = Object.keys(aObj);
14
- const bKeys = Object.keys(bObj);
15
- if (aKeys.length !== bKeys.length) {
16
- return false;
17
- }
18
- for (const k of aKeys) {
19
- if (aObj[k] !== bObj[k]) {
20
- return false;
21
- }
22
- }
23
- return true;
24
- }
25
- export function buildEqFilters(input) {
26
- const filters = {};
27
- for (const [key, value] of Object.entries(input)) {
28
- if (value !== undefined) {
29
- filters[key] = { eq: value };
30
- }
31
- }
32
- return filters;
33
- }
34
- export function setFilter(filters, field, operator, value) {
35
- const currentField = filters[field];
36
- if (value === undefined) {
37
- if (currentField === undefined) {
38
- return filters;
39
- }
40
- const { [operator]: _removed, ...rest } = currentField;
41
- if (Object.keys(rest).length === 0) {
42
- const { [field]: _f, ...clone } = filters;
43
- return clone;
44
- }
45
- return { ...filters, [field]: rest };
46
- }
47
- const newField = {
48
- ...currentField,
49
- [operator]: value,
50
- };
51
- if (currentField !== undefined && shallowEqual(currentField, newField)) {
52
- return filters;
53
- }
54
- return { ...filters, [field]: newField };
55
- }
56
- export function removeFilter(filters, field, operator) {
57
- const currentField = filters[field];
58
- if (currentField === undefined) {
59
- return filters;
60
- }
61
- if (operator === undefined) {
62
- const { [field]: _removed, ...clone } = filters;
63
- return clone;
64
- }
65
- const { [operator]: _opRemoved, ...rest } = currentField;
66
- if (Object.keys(rest).length === 0) {
67
- const { [field]: _f, ...clone } = filters;
68
- return clone;
69
- }
70
- return { ...filters, [field]: rest };
71
- }
72
- export function mergeFilters(base, patch) {
73
- let changed = false;
74
- const result = { ...base };
75
- for (const key of Object.keys(patch)) {
76
- const existing = base[key];
77
- const incoming = patch[key];
78
- if (incoming === undefined) {
79
- }
80
- else if (existing === undefined) {
81
- result[key] = incoming;
82
- changed = true;
83
- }
84
- else if (!shallowEqual(existing, incoming)) {
85
- result[key] = incoming;
86
- changed = true;
87
- }
88
- }
89
- if (changed) {
90
- return result;
91
- }
92
- return base;
93
- }
94
- export function isEmpty(filters) {
95
- return Object.keys(filters).length === 0;
96
- }
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 DELETED
@@ -1,3 +0,0 @@
1
- import type { Schema, ParseResult } from './types.js';
2
- export declare function parse<S extends Schema>(rawSearch: string, schema: S): ParseResult<S>;
3
- //# sourceMappingURL=parse.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,184 +0,0 @@
1
- const BETWEEN = 'between';
2
- const LIST_OPS = ['in', 'nin'];
3
- function ensureFieldObject(filters, field) {
4
- const existing = filters[field];
5
- if (existing !== undefined) {
6
- return { container: filters, target: existing };
7
- }
8
- const clone = { ...filters };
9
- const created = {};
10
- clone[field] = created;
11
- return { container: clone, target: created };
12
- }
13
- function decodeValue(value, field, operator, diagnostics) {
14
- try {
15
- return decodeURIComponent(value);
16
- }
17
- catch {
18
- diagnostics.push({
19
- kind: 'DecodeError',
20
- field,
21
- operator,
22
- detail: 'Failed to decode',
23
- });
24
- return undefined;
25
- }
26
- }
27
- function parseSingleValue(descriptor, raw) {
28
- if (descriptor.parse != null) {
29
- return descriptor.parse(raw);
30
- }
31
- if (descriptor.kind === 'number') {
32
- if (raw === '') {
33
- return undefined;
34
- }
35
- const n = Number(raw);
36
- if (!Number.isFinite(n)) {
37
- return undefined;
38
- }
39
- return n;
40
- }
41
- return raw;
42
- }
43
- function handleBetween(descriptor, decoded, field, operator, acc) {
44
- const parts = decoded.split(',');
45
- if (parts.length !== 2) {
46
- acc.diagnostics.push({
47
- kind: 'InvalidArity',
48
- field,
49
- operator,
50
- detail: 'Expected exactly 2 values',
51
- });
52
- return;
53
- }
54
- const [aRaw, bRaw] = parts;
55
- const a = parseSingleValue(descriptor, aRaw);
56
- const b = parseSingleValue(descriptor, bRaw);
57
- if (a === undefined || b === undefined) {
58
- acc.diagnostics.push({
59
- kind: 'InvalidValue',
60
- field,
61
- operator,
62
- detail: 'One of the between values invalid',
63
- });
64
- return;
65
- }
66
- const ensured = ensureFieldObject(acc.filters, field);
67
- acc.filters = ensured.container;
68
- if (Object.prototype.hasOwnProperty.call(ensured.target, 'between')) {
69
- acc.diagnostics.push({ kind: 'DuplicateBetween', field });
70
- return;
71
- }
72
- ensured.target.between = [a, b];
73
- }
74
- function handleList(descriptor, decoded, field, operator, acc) {
75
- const listRaw = decoded.split(',');
76
- const parsedList = [];
77
- for (const item of listRaw) {
78
- const parsed = parseSingleValue(descriptor, item);
79
- if (parsed === undefined) {
80
- acc.diagnostics.push({
81
- kind: 'InvalidValue',
82
- field,
83
- operator,
84
- detail: 'List item invalid',
85
- });
86
- }
87
- else {
88
- parsedList.push(parsed);
89
- }
90
- }
91
- if (parsedList.length === 0) {
92
- return;
93
- }
94
- const ensured = ensureFieldObject(acc.filters, field);
95
- acc.filters = ensured.container;
96
- const targetObj = ensured.target;
97
- const existing = targetObj[operator];
98
- if (Array.isArray(existing)) {
99
- targetObj[operator] = [...existing, ...parsedList];
100
- }
101
- else {
102
- targetObj[operator] = parsedList;
103
- }
104
- }
105
- function handleScalar(descriptor, decoded, field, operator, acc) {
106
- const scalar = parseSingleValue(descriptor, decoded);
107
- if (scalar === undefined) {
108
- acc.diagnostics.push({ kind: 'InvalidValue', field, operator });
109
- return;
110
- }
111
- const ensured = ensureFieldObject(acc.filters, field);
112
- acc.filters = ensured.container;
113
- const scalarTarget = ensured.target;
114
- scalarTarget[operator] = scalar;
115
- }
116
- export function parse(rawSearch, schema) {
117
- const acc = { filters: {}, diagnostics: [] };
118
- let search = rawSearch;
119
- if (search.startsWith('?')) {
120
- search = search.slice(1);
121
- }
122
- if (search.trim() === '') {
123
- return acc;
124
- }
125
- const segments = search.split('&');
126
- for (const seg of segments) {
127
- const eqIdx = seg.indexOf('=');
128
- const validBasic = seg !== '' && eqIdx !== -1;
129
- if (validBasic) {
130
- const rawKey = seg.slice(0, eqIdx);
131
- const rawVal = seg.slice(eqIdx + 1);
132
- const lastDot = rawKey.lastIndexOf('.');
133
- const explicitShape = !(lastDot <= 0 || lastDot === rawKey.length - 1);
134
- if (explicitShape) {
135
- const field = rawKey.slice(0, lastDot);
136
- const operator = rawKey.slice(lastDot + 1);
137
- const descriptor = schema[field];
138
- const descOk = descriptor?.operators.includes(operator) === true;
139
- if (!descOk) {
140
- if (descriptor == null) {
141
- acc.diagnostics.push({ kind: 'UnknownField', field });
142
- }
143
- else {
144
- acc.diagnostics.push({ kind: 'UnknownOperator', field, operator });
145
- }
146
- }
147
- else {
148
- const decoded = decodeValue(rawVal, field, operator, acc.diagnostics);
149
- if (decoded !== undefined) {
150
- const isList = LIST_OPS.includes(operator);
151
- if (operator === BETWEEN) {
152
- handleBetween(descriptor, decoded, field, operator, acc);
153
- }
154
- else if (isList) {
155
- handleList(descriptor, decoded, field, operator, acc);
156
- }
157
- else {
158
- handleScalar(descriptor, decoded, field, operator, acc);
159
- }
160
- }
161
- }
162
- }
163
- else if (lastDot === -1) {
164
- const field = rawKey;
165
- const operator = 'eq';
166
- const descriptor = schema[field];
167
- if (descriptor == null) {
168
- acc.diagnostics.push({ kind: 'UnknownField', field });
169
- }
170
- else if (!descriptor.operators.includes(operator)) {
171
- acc.diagnostics.push({ kind: 'UnknownOperator', field, operator });
172
- }
173
- else {
174
- const decoded = decodeValue(rawVal, field, operator, acc.diagnostics);
175
- if (decoded !== undefined) {
176
- handleScalar(descriptor, decoded, field, operator, acc);
177
- }
178
- }
179
- }
180
- }
181
- }
182
- return acc;
183
- }
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsTUFBTSxPQUFPLEdBQW9CLFNBQVMsQ0FBQztBQUMzQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFReEQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBd0IsRUFDeEIsS0FBYTtJQUViLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFnQixDQUFDLENBQUM7SUFDM0MsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFDRCxNQUFNLEtBQUssR0FBb0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQy9DLENBQUM7QUFHRCxTQUFTLFdBQVcsQ0FDbEIsS0FBYSxFQUNiLEtBQWEsRUFDYixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLENBQUM7UUFDSCxPQUFPLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSztZQUNMLFFBQVE7WUFDUixNQUFNLEVBQUUsa0JBQWtCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDO0FBR0QsU0FBUyxnQkFBZ0IsQ0FBQyxVQUEyQixFQUFFLEdBQVc7SUFDaEUsSUFB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RUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN0RSxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDMUIsWUFBWSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDMUQsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBTY2hlbWEsXG4gIE9wZXJhdG9yLFxuICBMaXN0T3BlcmF0b3IsXG4gIEJldHdlZW5PcGVyYXRvcixcbiAgSW5mZXJGaWx0ZXJzLFxuICBGaWVsZERlc2NyaXB0b3IsXG4gIFBhcnNlUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcblxuY29uc3QgQkVUV0VFTjogQmV0d2Vlbk9wZXJhdG9yID0gJ2JldHdlZW4nO1xuY29uc3QgTElTVF9PUFM6IHJlYWRvbmx5IExpc3RPcGVyYXRvcltdID0gWydpbicsICduaW4nXTtcblxuaW50ZXJmYWNlIEludGVybmFsQWNjdW11bGF0b3I8UyBleHRlbmRzIFNjaGVtYT4ge1xuICBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG5cbi8qKiBTaGFsbG93IGNsb25lIHBsdXMgZW5zdXJlIGZpZWxkIG9iamVjdCBoZWxwZXIgKGltbXV0YWJsZSB1cGRhdGUpLiAqL1xuZnVuY3Rpb24gZW5zdXJlRmllbGRPYmplY3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPixcbiAgZmllbGQ6IHN0cmluZyxcbik6IHsgY29udGFpbmVyOiBJbmZlckZpbHRlcnM8Uz47IHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gZmlsdGVyc1tmaWVsZCBhcyBrZXlvZiBTXTtcbiAgaWYgKGV4aXN0aW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4geyBjb250YWluZXI6IGZpbHRlcnMsIHRhcmdldDogZXhpc3RpbmcgfTtcbiAgfVxuICBjb25zdCBjbG9uZTogSW5mZXJGaWx0ZXJzPFM+ID0geyAuLi5maWx0ZXJzIH07XG4gIGNvbnN0IGNyZWF0ZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIChjbG9uZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbZmllbGRdID0gY3JlYXRlZDtcbiAgcmV0dXJuIHsgY29udGFpbmVyOiBjbG9uZSwgdGFyZ2V0OiBjcmVhdGVkIH07XG59XG5cbi8qKiBEZWNvZGUgY29tcG9uZW50LCByZWNvcmRpbmcgYSBkaWFnbm9zdGljIG9uIGZhaWx1cmUuICovXG5mdW5jdGlvbiBkZWNvZGVWYWx1ZShcbiAgdmFsdWU6IHN0cmluZyxcbiAgZmllbGQ6IHN0cmluZyxcbiAgb3BlcmF0b3I6IHN0cmluZyxcbiAgZGlhZ25vc3RpY3M6IERpYWdub3N0aWNbXSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gIH0gY2F0Y2gge1xuICAgIGRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0RlY29kZUVycm9yJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdGYWlsZWQgdG8gZGVjb2RlJyxcbiAgICB9KTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBQYXJzZSBhIHNpbmdsZSByYXcgdmFsdWUgYWNjb3JkaW5nIHRvIGZpZWxkIGtpbmQuICovXG5mdW5jdGlvbiBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvciwgcmF3OiBzdHJpbmcpOiB1bmtub3duIHtcbiAgaWYgKGRlc2NyaXB0b3IucGFyc2UgIT0gbnVsbCkge1xuICAgIHJldHVybiBkZXNjcmlwdG9yLnBhcnNlKHJhdyk7XG4gIH1cbiAgaWYgKGRlc2NyaXB0b3Iua2luZCA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAocmF3ID09PSAnJykge1xuICAgICAgLy8gVHJlYXQgZW1wdHkgc3RyaW5nIGFzIGludmFsaWQgZm9yIG51bWVyaWMgZmllbGRzIChyZWplY3QgaW5zdGVhZCBvZiBjb2VyY2luZyB0byAwKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgbiA9IE51bWJlcihyYXcpO1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG4pKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gbjtcbiAgfVxuICByZXR1cm4gcmF3O1xufVxuXG4vKiogSGFuZGxlIGEgYmV0d2VlbiBvcGVyYXRvciB2YWx1ZS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUJldHdlZW48UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gZGVjb2RlZC5zcGxpdCgnLCcpO1xuICBpZiAocGFydHMubGVuZ3RoICE9PSAyKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goe1xuICAgICAga2luZDogJ0ludmFsaWRBcml0eScsXG4gICAgICBmaWVsZCxcbiAgICAgIG9wZXJhdG9yLFxuICAgICAgZGV0YWlsOiAnRXhwZWN0ZWQgZXhhY3RseSAyIHZhbHVlcycsXG4gICAgfSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IFthUmF3LCBiUmF3XSA9IHBhcnRzIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gIGNvbnN0IGEgPSBwYXJzZVNpbmdsZVZhbHVlKGRlc2NyaXB0b3IsIGFSYXcpO1xuICBjb25zdCBiID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBiUmF3KTtcbiAgaWYgKGEgPT09IHVuZGVmaW5lZCB8fCBiID09PSB1bmRlZmluZWQpIHtcbiAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7XG4gICAgICBraW5kOiAnSW52YWxpZFZhbHVlJyxcbiAgICAgIGZpZWxkLFxuICAgICAgb3BlcmF0b3IsXG4gICAgICBkZXRhaWw6ICdPbmUgb2YgdGhlIGJldHdlZW4gdmFsdWVzIGludmFsaWQnLFxuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnN1cmVkLnRhcmdldCwgJ2JldHdlZW4nKSkge1xuICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ0R1cGxpY2F0ZUJldHdlZW4nLCBmaWVsZCB9KTtcbiAgICByZXR1cm47XG4gIH1cbiAgZW5zdXJlZC50YXJnZXQuYmV0d2VlbiA9IFthLCBiXSBhcyB1bmtub3duO1xufVxuXG4vKiogSGFuZGxlIGxpc3Qgb3BlcmF0b3JzIChpbiwgbmluKS4gKi9cbmZ1bmN0aW9uIGhhbmRsZUxpc3Q8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3QgbGlzdFJhdyA9IGRlY29kZWQuc3BsaXQoJywnKTtcbiAgY29uc3QgcGFyc2VkTGlzdDogdW5rbm93bltdID0gW107XG4gIGZvciAoY29uc3QgaXRlbSBvZiBsaXN0UmF3KSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBpdGVtKTtcbiAgICBpZiAocGFyc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHtcbiAgICAgICAga2luZDogJ0ludmFsaWRWYWx1ZScsXG4gICAgICAgIGZpZWxkLFxuICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgZGV0YWlsOiAnTGlzdCBpdGVtIGludmFsaWQnLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlZExpc3QucHVzaChwYXJzZWQpO1xuICAgIH1cbiAgfVxuICBpZiAocGFyc2VkTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZW5zdXJlZCA9IGVuc3VyZUZpZWxkT2JqZWN0KGFjYy5maWx0ZXJzLCBmaWVsZCk7XG4gIGFjYy5maWx0ZXJzID0gZW5zdXJlZC5jb250YWluZXI7XG4gIGNvbnN0IHRhcmdldE9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBlbnN1cmVkLnRhcmdldDtcbiAgY29uc3QgZXhpc3RpbmcgPSB0YXJnZXRPYmpbb3BlcmF0b3JdO1xuICBpZiAoQXJyYXkuaXNBcnJheShleGlzdGluZykpIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gWy4uLmV4aXN0aW5nLCAuLi5wYXJzZWRMaXN0XTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXRPYmpbb3BlcmF0b3JdID0gcGFyc2VkTGlzdDtcbiAgfVxufVxuXG4vKiogSGFuZGxlIHNjYWxhciBvcGVyYXRvciB2YWx1ZXMuICovXG5mdW5jdGlvbiBoYW5kbGVTY2FsYXI8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGRlc2NyaXB0b3I6IEZpZWxkRGVzY3JpcHRvcixcbiAgZGVjb2RlZDogc3RyaW5nLFxuICBmaWVsZDogc3RyaW5nLFxuICBvcGVyYXRvcjogc3RyaW5nLFxuICBhY2M6IEludGVybmFsQWNjdW11bGF0b3I8Uz4sXG4pOiB2b2lkIHtcbiAgY29uc3Qgc2NhbGFyID0gcGFyc2VTaW5nbGVWYWx1ZShkZXNjcmlwdG9yLCBkZWNvZGVkKTtcbiAgaWYgKHNjYWxhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnSW52YWxpZFZhbHVlJywgZmllbGQsIG9wZXJhdG9yIH0pO1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBlbnN1cmVkID0gZW5zdXJlRmllbGRPYmplY3QoYWNjLmZpbHRlcnMsIGZpZWxkKTtcbiAgYWNjLmZpbHRlcnMgPSBlbnN1cmVkLmNvbnRhaW5lcjtcbiAgY29uc3Qgc2NhbGFyVGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGVuc3VyZWQudGFyZ2V0O1xuICBzY2FsYXJUYXJnZXRbb3BlcmF0b3JdID0gc2NhbGFyO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhIHJhdyBzZWFyY2ggc3RyaW5nIChsZWFkaW5nIGA/YCBvcHRpb25hbCkgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBzY2hlbWFcbiAqIGFuZCByZXR1cm5zIHRoZSBmaWx0ZXJzIHBsdXMgZGlhZ25vc3RpY3MuXG4gKlxuICogQHBhcmFtIHJhd1NlYXJjaCAtIFF1ZXJ5IHN0cmluZyB0byBwYXJzZSAod2l0aCBvciB3aXRob3V0IHRoZSBsZWFkaW5nIHF1ZXN0aW9uIG1hcmspLlxuICogQHBhcmFtIHNjaGVtYSAtIFNjaGVtYSBkZXNjcmliaW5nIGFsbG93ZWQgZmllbGRzIGFuZCBvcGVyYXRvcnMuXG4gKiBAcmV0dXJucyBQYXJzZWQgZmlsdGVycyBhbG9uZ3NpZGUgbm9uLWJsb2NraW5nIGRpYWdub3N0aWNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2U8UyBleHRlbmRzIFNjaGVtYT4oXG4gIHJhd1NlYXJjaDogc3RyaW5nLFxuICBzY2hlbWE6IFMsXG4pOiBQYXJzZVJlc3VsdDxTPiB7XG4gIGNvbnN0IGFjYzogSW50ZXJuYWxBY2N1bXVsYXRvcjxTPiA9IHsgZmlsdGVyczoge30sIGRpYWdub3N0aWNzOiBbXSB9O1xuICBsZXQgc2VhcmNoID0gcmF3U2VhcmNoO1xuICBpZiAoc2VhcmNoLnN0YXJ0c1dpdGgoJz8nKSkge1xuICAgIHNlYXJjaCA9IHNlYXJjaC5zbGljZSgxKTtcbiAgfVxuICBpZiAoc2VhcmNoLnRyaW0oKSA9PT0gJycpIHtcbiAgICByZXR1cm4gYWNjO1xuICB9XG4gIGNvbnN0IHNlZ21lbnRzID0gc2VhcmNoLnNwbGl0KCcmJyk7XG4gIGZvciAoY29uc3Qgc2VnIG9mIHNlZ21lbnRzKSB7XG4gICAgY29uc3QgZXFJZHggPSBzZWcuaW5kZXhPZignPScpO1xuICAgIGNvbnN0IHZhbGlkQmFzaWMgPSBzZWcgIT09ICcnICYmIGVxSWR4ICE9PSAtMTtcbiAgICBpZiAodmFsaWRCYXNpYykge1xuICAgICAgY29uc3QgcmF3S2V5ID0gc2VnLnNsaWNlKDAsIGVxSWR4KTtcbiAgICAgIGNvbnN0IHJhd1ZhbCA9IHNlZy5zbGljZShlcUlkeCArIDEpO1xuICAgICAgY29uc3QgbGFzdERvdCA9IHJhd0tleS5sYXN0SW5kZXhPZignLicpO1xuICAgICAgLy8gQ2FzZSAxOiBrZXkgd2l0aCBleHBsaWNpdCBvcGVyYXRvciAoZmllbGQub3ApXG4gICAgICBjb25zdCBleHBsaWNpdFNoYXBlID0gIShsYXN0RG90IDw9IDAgfHwgbGFzdERvdCA9PT0gcmF3S2V5Lmxlbmd0aCAtIDEpO1xuICAgICAgaWYgKGV4cGxpY2l0U2hhcGUpIHtcbiAgICAgICAgY29uc3QgZmllbGQgPSByYXdLZXkuc2xpY2UoMCwgbGFzdERvdCk7XG4gICAgICAgIGNvbnN0IG9wZXJhdG9yID0gcmF3S2V5LnNsaWNlKGxhc3REb3QgKyAxKSBhcyBPcGVyYXRvcjtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYVtmaWVsZF07XG4gICAgICAgIGNvbnN0IGRlc2NPayA9IGRlc2NyaXB0b3I/Lm9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvcikgPT09IHRydWU7XG4gICAgICAgIGlmICghZGVzY09rKSB7XG4gICAgICAgICAgaWYgKGRlc2NyaXB0b3IgPT0gbnVsbCkge1xuICAgICAgICAgICAgYWNjLmRpYWdub3N0aWNzLnB1c2goeyBraW5kOiAnVW5rbm93bkZpZWxkJywgZmllbGQgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25PcGVyYXRvcicsIGZpZWxkLCBvcGVyYXRvciB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVZhbHVlKHJhd1ZhbCwgZmllbGQsIG9wZXJhdG9yLCBhY2MuZGlhZ25vc3RpY3MpO1xuICAgICAgICAgIGlmIChkZWNvZGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdCA9IChMSVNUX09QUyBhcyByZWFkb25seSBzdHJpbmdbXSkuaW5jbHVkZXMob3BlcmF0b3IpO1xuICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSBCRVRXRUVOKSB7XG4gICAgICAgICAgICAgIGhhbmRsZUJldHdlZW4oZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0xpc3QpIHtcbiAgICAgICAgICAgICAgaGFuZGxlTGlzdChkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBoYW5kbGVTY2FsYXIoZGVzY3JpcHRvciwgZGVjb2RlZCwgZmllbGQsIG9wZXJhdG9yLCBhY2MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChsYXN0RG90ID09PSAtMSkge1xuICAgICAgICAvLyBpbXBsaWNpdCBlcXVhbGl0eSAobm8gZG90KSA9PiBvcGVyYXRvciAnZXEnXG4gICAgICAgIGNvbnN0IGZpZWxkID0gcmF3S2V5O1xuICAgICAgICBjb25zdCBvcGVyYXRvcjogT3BlcmF0b3IgPSAnZXEnO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gc2NoZW1hW2ZpZWxkXTtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IgPT0gbnVsbCkge1xuICAgICAgICAgIGFjYy5kaWFnbm9zdGljcy5wdXNoKHsga2luZDogJ1Vua25vd25GaWVsZCcsIGZpZWxkIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKCFkZXNjcmlwdG9yLm9wZXJhdG9ycy5pbmNsdWRlcyhvcGVyYXRvcikpIHtcbiAgICAgICAgICBhY2MuZGlhZ25vc3RpY3MucHVzaCh7IGtpbmQ6ICdVbmtub3duT3BlcmF0b3InLCBmaWVsZCwgb3BlcmF0b3IgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVZhbHVlKHJhd1ZhbCwgZmllbGQsIG9wZXJhdG9yLCBhY2MuZGlhZ25vc3RpY3MpO1xuICAgICAgICAgIGlmIChkZWNvZGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhhbmRsZVNjYWxhcihkZXNjcmlwdG9yLCBkZWNvZGVkLCBmaWVsZCwgb3BlcmF0b3IsIGFjYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBhY2M7XG59XG4iXX0=
package/lib/schema.d.ts DELETED
@@ -1,14 +0,0 @@
1
- import type { FieldDescriptor, NumberFieldDescriptor, StringFieldDescriptor, BooleanFieldDescriptor, EnumFieldDescriptor, CustomFieldDescriptor, Operator } from './types.js';
2
- export declare function numberField(ops?: readonly Operator[]): NumberFieldDescriptor;
3
- export declare function stringField(ops?: readonly Operator[]): StringFieldDescriptor;
4
- export declare function booleanField(ops?: readonly Operator[]): BooleanFieldDescriptor;
5
- export declare function enumField<const T extends string>(values: readonly T[], ops?: readonly Operator[]): EnumFieldDescriptor<T>;
6
- type CustomFieldOptions<T> = {
7
- operators: readonly Operator[];
8
- parse: (raw: string) => T | undefined;
9
- serialize?: (value: T) => string;
10
- };
11
- export declare function customField<T>(options: CustomFieldOptions<T>): CustomFieldDescriptor<T>;
12
- export declare function defineSchema<S extends Record<string, FieldDescriptor>>(schema: S): S;
13
- export {};
14
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACT,MAAM,YAAY,CAAC;AA8BpB,wBAAgB,WAAW,CACzB,GAAG,GAAE,SAAS,QAAQ,EAA6B,GAClD,qBAAqB,CAmBvB;AAKD,wBAAgB,WAAW,CACzB,GAAG,GAAE,SAAS,QAAQ,EAA6B,GAClD,qBAAqB,CAWvB;AAKD,wBAAgB,YAAY,CAC1B,GAAG,GAAE,SAAS,QAAQ,EAA8B,GACnD,sBAAsB,CAqBxB;AAKD,wBAAgB,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAC9C,MAAM,EAAE,SAAS,CAAC,EAAE,EACpB,GAAG,GAAE,SAAS,QAAQ,EAA2B,GAChD,mBAAmB,CAAC,CAAC,CAAC,CAexB;AAED,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;CAClC,CAAC;AAKF,wBAAgB,WAAW,CAAC,CAAC,EAC3B,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,qBAAqB,CAAC,CAAC,CAAC,CAO1B;AAKD,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACpE,MAAM,EAAE,CAAC,GACR,CAAC,CAEH"}
package/lib/schema.js DELETED
@@ -1,105 +0,0 @@
1
- import { FILTER_LIST_OPERATORS, FILTER_OPERATORS } from './values.js';
2
- const DEFAULT_NUMBER_OPERATORS = [
3
- ...FILTER_OPERATORS.filter((operator) => {
4
- return operator !== 'contains' && operator !== 'sw' && operator !== 'ew';
5
- }),
6
- ];
7
- const DEFAULT_STRING_OPERATORS = [
8
- 'eq',
9
- 'neq',
10
- 'contains',
11
- 'sw',
12
- 'ew',
13
- ...FILTER_LIST_OPERATORS,
14
- ];
15
- const DEFAULT_BOOLEAN_OPERATORS = [
16
- 'eq',
17
- 'neq',
18
- ...FILTER_LIST_OPERATORS,
19
- ];
20
- const DEFAULT_ENUM_OPERATORS = [
21
- 'eq',
22
- 'neq',
23
- ...FILTER_LIST_OPERATORS,
24
- ];
25
- export function numberField(ops = DEFAULT_NUMBER_OPERATORS) {
26
- return {
27
- kind: 'number',
28
- operators: ops,
29
- parse(raw) {
30
- if (raw === '') {
31
- return undefined;
32
- }
33
- const n = Number(raw);
34
- if (Number.isFinite(n)) {
35
- return n;
36
- }
37
- return undefined;
38
- },
39
- serialize(value) {
40
- return String(value);
41
- },
42
- };
43
- }
44
- export function stringField(ops = DEFAULT_STRING_OPERATORS) {
45
- return {
46
- kind: 'string',
47
- operators: ops,
48
- parse(raw) {
49
- return raw;
50
- },
51
- serialize(value) {
52
- return String(value);
53
- },
54
- };
55
- }
56
- export function booleanField(ops = DEFAULT_BOOLEAN_OPERATORS) {
57
- return {
58
- kind: 'boolean',
59
- operators: ops,
60
- parse(raw) {
61
- const normalized = raw.trim().toLowerCase();
62
- if (normalized === 'true' || normalized === '1') {
63
- return true;
64
- }
65
- if (normalized === 'false' || normalized === '0') {
66
- return false;
67
- }
68
- return undefined;
69
- },
70
- serialize(value) {
71
- if (value === true) {
72
- return 'true';
73
- }
74
- return 'false';
75
- },
76
- };
77
- }
78
- export function enumField(values, ops = DEFAULT_ENUM_OPERATORS) {
79
- const valueSet = new Set(values);
80
- return {
81
- kind: 'enum',
82
- operators: ops,
83
- parse(raw) {
84
- if (valueSet.has(raw)) {
85
- return raw;
86
- }
87
- return undefined;
88
- },
89
- serialize(value) {
90
- return String(value);
91
- },
92
- };
93
- }
94
- export function customField(options) {
95
- return {
96
- kind: 'custom',
97
- operators: options.operators,
98
- parse: options.parse,
99
- serialize: options.serialize,
100
- };
101
- }
102
- export function defineSchema(schema) {
103
- return Object.freeze({ ...schema });
104
- }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdEUsTUFBTSx3QkFBd0IsR0FBd0I7SUFDcEQsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUN0QyxPQUFPLFFBQVEsS0FBSyxVQUFVLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDO0lBQzNFLENBQUMsQ0FBQztDQUNILENBQUM7QUFDRixNQUFNLHdCQUF3QixHQUF3QjtJQUNwRCxJQUFJO0lBQ0osS0FBSztJQUNMLFVBQVU7SUFDVixJQUFJO0lBQ0osSUFBSTtJQUNKLEdBQUcscUJBQXFCO0NBQ3pCLENBQUM7QUFDRixNQUFNLHlCQUF5QixHQUF3QjtJQUNyRCxJQUFJO0lBQ0osS0FBSztJQUNMLEdBQUcscUJBQXFCO0NBQ3pCLENBQUM7QUFDRixNQUFNLHNCQUFzQixHQUF3QjtJQUNsRCxJQUFJO0lBQ0osS0FBSztJQUNMLEdBQUcscUJBQXFCO0NBQ3pCLENBQUM7QUFLRixNQUFNLFVBQVUsV0FBVyxDQUN6QixHQUFHLEdBQXdCLHdCQUF3QjtJQUVuRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxTQUFTLEVBQUUsR0FBRztRQUNkLEtBQUssQ0FBQyxHQUFXO1lBQ2YsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUNELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLENBQUM7WUFDWCxDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELFNBQVMsQ0FBQyxLQUFjO1lBQ3RCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUtELE1BQU0sVUFBVSxXQUFXLENBQ3pCLEdBQUcsR0FBd0Isd0JBQXdCO0lBRW5ELE9BQU87UUFDTCxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSxHQUFHO1FBQ2QsS0FBSyxDQUFDLEdBQVc7WUFDZixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxTQUFTLENBQUMsS0FBYztZQUN0QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFLRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixHQUFHLEdBQXdCLHlCQUF5QjtJQUVwRCxPQUFPO1FBQ0wsSUFBSSxFQUFFLFNBQVM7UUFDZixTQUFTLEVBQUUsR0FBRztRQUNkLEtBQUssQ0FBQyxHQUFXO1lBQ2YsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVDLElBQUksVUFBVSxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElBQUksVUFBVSxLQUFLLE9BQU8sSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxTQUFTLENBQUMsS0FBYztZQUN0QixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUtELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLE1BQW9CLEVBQ3BCLEdBQUcsR0FBd0Isc0JBQXNCO0lBRWpELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLE9BQU87UUFDTCxJQUFJLEVBQUUsTUFBTTtRQUNaLFNBQVMsRUFBRSxHQUFHO1FBQ2QsS0FBSyxDQUFDLEdBQVc7WUFDZixJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBUSxDQUFDLEVBQUUsQ0FBQztnQkFDM0IsT0FBTyxHQUFRLENBQUM7WUFDbEIsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxTQUFTLENBQUMsS0FBYztZQUN0QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFXRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixPQUE4QjtJQUU5QixPQUFPO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7UUFDNUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztLQUM3QixDQUFDO0FBQ0osQ0FBQztBQUtELE1BQU0sVUFBVSxZQUFZLENBQzFCLE1BQVM7SUFFVCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRmllbGREZXNjcmlwdG9yLFxuICBOdW1iZXJGaWVsZERlc2NyaXB0b3IsXG4gIFN0cmluZ0ZpZWxkRGVzY3JpcHRvcixcbiAgQm9vbGVhbkZpZWxkRGVzY3JpcHRvcixcbiAgRW51bUZpZWxkRGVzY3JpcHRvcixcbiAgQ3VzdG9tRmllbGREZXNjcmlwdG9yLFxuICBPcGVyYXRvcixcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBGSUxURVJfTElTVF9PUEVSQVRPUlMsIEZJTFRFUl9PUEVSQVRPUlMgfSBmcm9tICcuL3ZhbHVlcy5qcyc7XG5cbmNvbnN0IERFRkFVTFRfTlVNQkVSX09QRVJBVE9SUzogcmVhZG9ubHkgT3BlcmF0b3JbXSA9IFtcbiAgLi4uRklMVEVSX09QRVJBVE9SUy5maWx0ZXIoKG9wZXJhdG9yKSA9PiB7XG4gICAgcmV0dXJuIG9wZXJhdG9yICE9PSAnY29udGFpbnMnICYmIG9wZXJhdG9yICE9PSAnc3cnICYmIG9wZXJhdG9yICE9PSAnZXcnO1xuICB9KSxcbl07XG5jb25zdCBERUZBVUxUX1NUUklOR19PUEVSQVRPUlM6IHJlYWRvbmx5IE9wZXJhdG9yW10gPSBbXG4gICdlcScsXG4gICduZXEnLFxuICAnY29udGFpbnMnLFxuICAnc3cnLFxuICAnZXcnLFxuICAuLi5GSUxURVJfTElTVF9PUEVSQVRPUlMsXG5dO1xuY29uc3QgREVGQVVMVF9CT09MRUFOX09QRVJBVE9SUzogcmVhZG9ubHkgT3BlcmF0b3JbXSA9IFtcbiAgJ2VxJyxcbiAgJ25lcScsXG4gIC4uLkZJTFRFUl9MSVNUX09QRVJBVE9SUyxcbl07XG5jb25zdCBERUZBVUxUX0VOVU1fT1BFUkFUT1JTOiByZWFkb25seSBPcGVyYXRvcltdID0gW1xuICAnZXEnLFxuICAnbmVxJyxcbiAgLi4uRklMVEVSX0xJU1RfT1BFUkFUT1JTLFxuXTtcblxuLyoqXG4gKiBDcmVhdGUgYSBudW1lcmljIGZpZWxkIGRlc2NyaXB0b3Igd2l0aCBhIGdpdmVuIG9wZXJhdG9yIHdoaXRlbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG51bWJlckZpZWxkKFxuICBvcHM6IHJlYWRvbmx5IE9wZXJhdG9yW10gPSBERUZBVUxUX05VTUJFUl9PUEVSQVRPUlMsXG4pOiBOdW1iZXJGaWVsZERlc2NyaXB0b3Ige1xuICByZXR1cm4ge1xuICAgIGtpbmQ6ICdudW1iZXInLFxuICAgIG9wZXJhdG9yczogb3BzLFxuICAgIHBhcnNlKHJhdzogc3RyaW5nKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmIChyYXcgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBjb25zdCBuID0gTnVtYmVyKHJhdyk7XG4gICAgICBpZiAoTnVtYmVyLmlzRmluaXRlKG4pKSB7XG4gICAgICAgIHJldHVybiBuO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIC8vIEFjY2VwdCB1bmtub3duIHRvIHNhdGlzZnkgYmFzZSBpbnRlcmZhY2UgaW50ZXJzZWN0aW9uOyBjYWxsZXIgZW5zdXJlcyB0eXBlIGNvcnJlY3RuZXNzXG4gICAgc2VyaWFsaXplKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgIH0sXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgc3RyaW5nIGZpZWxkIGRlc2NyaXB0b3Igd2l0aCBhIGdpdmVuIG9wZXJhdG9yIHdoaXRlbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0cmluZ0ZpZWxkKFxuICBvcHM6IHJlYWRvbmx5IE9wZXJhdG9yW10gPSBERUZBVUxUX1NUUklOR19PUEVSQVRPUlMsXG4pOiBTdHJpbmdGaWVsZERlc2NyaXB0b3Ige1xuICByZXR1cm4ge1xuICAgIGtpbmQ6ICdzdHJpbmcnLFxuICAgIG9wZXJhdG9yczogb3BzLFxuICAgIHBhcnNlKHJhdzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgIHJldHVybiByYXc7XG4gICAgfSxcbiAgICBzZXJpYWxpemUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBib29sZWFuIGZpZWxkIGRlc2NyaXB0b3Igd2l0aCBhIGdpdmVuIG9wZXJhdG9yIHdoaXRlbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb2xlYW5GaWVsZChcbiAgb3BzOiByZWFkb25seSBPcGVyYXRvcltdID0gREVGQVVMVF9CT09MRUFOX09QRVJBVE9SUyxcbik6IEJvb2xlYW5GaWVsZERlc2NyaXB0b3Ige1xuICByZXR1cm4ge1xuICAgIGtpbmQ6ICdib29sZWFuJyxcbiAgICBvcGVyYXRvcnM6IG9wcyxcbiAgICBwYXJzZShyYXc6IHN0cmluZyk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZCA9IHJhdy50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChub3JtYWxpemVkID09PSAndHJ1ZScgfHwgbm9ybWFsaXplZCA9PT0gJzEnKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKG5vcm1hbGl6ZWQgPT09ICdmYWxzZScgfHwgbm9ybWFsaXplZCA9PT0gJzAnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBzZXJpYWxpemUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiAndHJ1ZSc7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ2ZhbHNlJztcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhbiBlbnVtIGZpZWxkIGRlc2NyaXB0b3Igd2l0aCBhIGdpdmVuIG9wZXJhdG9yIHdoaXRlbGlzdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVudW1GaWVsZDxjb25zdCBUIGV4dGVuZHMgc3RyaW5nPihcbiAgdmFsdWVzOiByZWFkb25seSBUW10sXG4gIG9wczogcmVhZG9ubHkgT3BlcmF0b3JbXSA9IERFRkFVTFRfRU5VTV9PUEVSQVRPUlMsXG4pOiBFbnVtRmllbGREZXNjcmlwdG9yPFQ+IHtcbiAgY29uc3QgdmFsdWVTZXQgPSBuZXcgU2V0KHZhbHVlcyk7XG4gIHJldHVybiB7XG4gICAga2luZDogJ2VudW0nLFxuICAgIG9wZXJhdG9yczogb3BzLFxuICAgIHBhcnNlKHJhdzogc3RyaW5nKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICBpZiAodmFsdWVTZXQuaGFzKHJhdyBhcyBUKSkge1xuICAgICAgICByZXR1cm4gcmF3IGFzIFQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgc2VyaWFsaXplKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgIH0sXG4gIH07XG59XG5cbnR5cGUgQ3VzdG9tRmllbGRPcHRpb25zPFQ+ID0ge1xuICBvcGVyYXRvcnM6IHJlYWRvbmx5IE9wZXJhdG9yW107XG4gIHBhcnNlOiAocmF3OiBzdHJpbmcpID0+IFQgfCB1bmRlZmluZWQ7XG4gIHNlcmlhbGl6ZT86ICh2YWx1ZTogVCkgPT4gc3RyaW5nO1xufTtcblxuLyoqXG4gKiBDcmVhdGUgYSBjdXN0b20gZmllbGQgZGVzY3JpcHRvciB3aXRoIGV4cGxpY2l0IHBhcnNlL3NlcmlhbGl6ZSBmdW5jdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21GaWVsZDxUPihcbiAgb3B0aW9uczogQ3VzdG9tRmllbGRPcHRpb25zPFQ+LFxuKTogQ3VzdG9tRmllbGREZXNjcmlwdG9yPFQ+IHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiAnY3VzdG9tJyxcbiAgICBvcGVyYXRvcnM6IG9wdGlvbnMub3BlcmF0b3JzLFxuICAgIHBhcnNlOiBvcHRpb25zLnBhcnNlLFxuICAgIHNlcmlhbGl6ZTogb3B0aW9ucy5zZXJpYWxpemUsXG4gIH07XG59XG5cbi8qKlxuICogRnJlZXplIGFuZCByZXR1cm4gdGhlIHNjaGVtYSAoaW1tdXRhYmlsaXR5IGd1YXJkIGZvciBjb25zdW1lcnMpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lU2NoZW1hPFMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBGaWVsZERlc2NyaXB0b3I+PihcbiAgc2NoZW1hOiBTLFxuKTogUyB7XG4gIHJldHVybiBPYmplY3QuZnJlZXplKHsgLi4uc2NoZW1hIH0pO1xufVxuIl19
@@ -1,3 +0,0 @@
1
- import type { InferFilters, Schema } from './types.js';
2
- export declare function stringify<S extends Schema>(filters: InferFilters<S> | Readonly<Record<string, unknown>>, schema: S): string;
3
- //# sourceMappingURL=stringify.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,116 +0,0 @@
1
- function encodeKey(field, op) {
2
- if (op === 'eq')
3
- return field;
4
- return `${field}.${op}`;
5
- }
6
- function serializeScalar(descriptor, value) {
7
- if (value === undefined) {
8
- return undefined;
9
- }
10
- const isPrimitive = typeof value === 'string' ||
11
- typeof value === 'number' ||
12
- typeof value === 'boolean';
13
- if (isPrimitive) {
14
- if (descriptor.serialize != null) {
15
- try {
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
- }
38
- }
39
- catch {
40
- return undefined;
41
- }
42
- }
43
- return String(value);
44
- }
45
- if (descriptor.kind === 'custom' && descriptor.serialize != null) {
46
- try {
47
- return descriptor.serialize(value);
48
- }
49
- catch {
50
- return undefined;
51
- }
52
- }
53
- return JSON.stringify(value);
54
- }
55
- export function stringify(filters, schema) {
56
- const parts = [];
57
- for (const field of Object.keys(schema)) {
58
- const value = filters[field];
59
- const descriptor = schema[field];
60
- if (value === undefined ||
61
- descriptor === undefined ||
62
- value === null ||
63
- typeof value !== 'object') {
64
- }
65
- else {
66
- for (const op of descriptor.operators) {
67
- if (op === 'eq') {
68
- const scalar = Reflect.get(value, op);
69
- const printable = serializeScalar(descriptor, scalar);
70
- if (printable !== undefined) {
71
- parts.push(`${encodeKey(field, op)}=${encodeURIComponent(printable)}`);
72
- }
73
- }
74
- else if (op === 'between') {
75
- const tuple = Reflect.get(value, 'between');
76
- if (Array.isArray(tuple) && tuple.length === 2) {
77
- const first = serializeScalar(descriptor, tuple[0]);
78
- const second = serializeScalar(descriptor, tuple[1]);
79
- if (first !== undefined && second !== undefined) {
80
- parts.push(`${encodeKey(field, op)}=${encodeURIComponent(first)},${encodeURIComponent(second)}`);
81
- }
82
- }
83
- }
84
- else if (op === 'in' || op === 'nin') {
85
- const list = Reflect.get(value, op);
86
- if (Array.isArray(list) && list.length > 0) {
87
- const encodedItems = list
88
- .map((v) => {
89
- const printable = serializeScalar(descriptor, v);
90
- if (printable === undefined) {
91
- return undefined;
92
- }
93
- return encodeURIComponent(printable);
94
- })
95
- .filter((item) => {
96
- return item !== undefined;
97
- })
98
- .join(',');
99
- if (encodedItems !== '') {
100
- parts.push(`${encodeKey(field, op)}=${encodedItems}`);
101
- }
102
- }
103
- }
104
- else {
105
- const scalar = value[op];
106
- const printable = serializeScalar(descriptor, scalar);
107
- if (printable !== undefined) {
108
- parts.push(`${encodeKey(field, op)}=${encodeURIComponent(printable)}`);
109
- }
110
- }
111
- }
112
- }
113
- }
114
- return parts.join('&');
115
- }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N0cmluZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxTQUFTLFNBQVMsQ0FBQyxLQUFhLEVBQUUsRUFBWTtJQUM1QyxJQUFJLEVBQUUsS0FBSyxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDOUIsT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBS0QsU0FBUyxlQUFlLENBQ3RCLFVBQTJCLEVBQzNCLEtBQWM7SUFFZCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQ2YsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztJQUM3QixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLElBQUksVUFBVSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3hCLEtBQUssUUFBUTt3QkFDWCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM5QixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsT0FBTyxTQUFTLENBQUM7b0JBQ25CLEtBQUssUUFBUSxDQUFDO29CQUNkLEtBQUssTUFBTTt3QkFDVCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUM5QixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JDLENBQUM7d0JBQ0QsT0FBTyxTQUFTLENBQUM7b0JBQ25CLEtBQUssU0FBUzt3QkFDWixJQUFJLE9BQU8sS0FB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QkFDdEQsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQzVCLEtBQUssQ0FBQyxJQUFJLENBQ1IsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQzNELENBQUM7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEluZmVyRmlsdGVycyxcbiAgU2NoZW1hLFxuICBPcGVyYXRvcixcbiAgRmllbGREZXNjcmlwdG9yLFxufSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGVuY29kZWQga2V5IHBvcnRpb24gZm9yIGEgZmllbGQvb3BlcmF0b3IgcGFpciAoaW1wbGljaXQgYGVxYCBoYXMgbm8gZG90IHN1ZmZpeCkuXG4gKi9cbmZ1bmN0aW9uIGVuY29kZUtleShmaWVsZDogc3RyaW5nLCBvcDogT3BlcmF0b3IpOiBzdHJpbmcge1xuICBpZiAob3AgPT09ICdlcScpIHJldHVybiBmaWVsZDsgLy8gaW1wbGljaXQgZXF1YWxpdHkgZm9ybVxuICByZXR1cm4gYCR7ZmllbGR9LiR7b3B9YDtcbn1cblxuLyoqXG4gKiBTZXJpYWxpemVzIGEgc2NhbGFyIHZhbHVlIHVzaW5nIHRoZSBmaWVsZCBkZXNjcmlwdG9yIHdoZW4gcG9zc2libGUuXG4gKi9cbmZ1bmN0aW9uIHNlcmlhbGl6ZVNjYWxhcihcbiAgZGVzY3JpcHRvcjogRmllbGREZXNjcmlwdG9yLFxuICB2YWx1ZTogdW5rbm93bixcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCBpc1ByaW1pdGl2ZSA9XG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHxcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcbiAgaWYgKGlzUHJpbWl0aXZlKSB7XG4gICAgaWYgKGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoZGVzY3JpcHRvci5raW5kKSB7XG4gICAgICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHJldHVybiBkZXNjcmlwdG9yLnNlcmlhbGl6ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgY2FzZSAnZW51bSc6XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5zZXJpYWxpemUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3Iuc2VyaWFsaXplKHZhbHVlKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICB9XG4gIGlmIChkZXNjcmlwdG9yLmtpbmQgPT09ICdjdXN0b20nICYmIGRlc2NyaXB0b3Iuc2VyaWFsaXplICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRlc2NyaXB0b3Iuc2VyaWFsaXplKHZhbHVlKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG59XG5cbi8qKlxuICogU2VyaWFsaXplcyBhIGZpbHRlcnMgb2JqZWN0IGludG8gYSBjYW5vbmljYWwgcXVlcnkgc3RyaW5nIHJlc3BlY3RpbmcgdGhlIHNjaGVtYSBvcGVyYXRvciBvcmRlcmluZy5cbiAqXG4gKiBAcGFyYW0gZmlsdGVycyAtIFBhcnNlZCBmaWx0ZXJzIHRvIGVuY29kZS5cbiAqIEBwYXJhbSBzY2hlbWEgLSBTY2hlbWEgdXNlZCB0byBkZXRlcm1pbmUgb3BlcmF0b3Igb3JkZXJpbmcgYW5kIGZvcm1hdHRpbmcuXG4gKiBAcmV0dXJucyBRdWVyeSBzdHJpbmcgd2l0aG91dCBsZWFkaW5nIHF1ZXN0aW9uIG1hcmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnk8UyBleHRlbmRzIFNjaGVtYT4oXG4gIGZpbHRlcnM6IEluZmVyRmlsdGVyczxTPiB8IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHVua25vd24+PixcbiAgc2NoZW1hOiBTLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gW107XG4gIGZvciAoY29uc3QgZmllbGQgb2YgT2JqZWN0LmtleXMoc2NoZW1hKSkge1xuICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyc1tmaWVsZF07XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IHNjaGVtYVtmaWVsZF07XG4gICAgaWYgKFxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgZGVzY3JpcHRvciA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0J1xuICAgICkge1xuICAgICAgLy8gc2tpcCBhYnNlbnRcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBvcCBvZiBkZXNjcmlwdG9yLm9wZXJhdG9ycykge1xuICAgICAgICBpZiAob3AgPT09ICdlcScpIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSBSZWZsZWN0LmdldCh2YWx1ZSwgb3ApIGFzIHVua25vd247XG4gICAgICAgICAgY29uc3QgcHJpbnRhYmxlID0gc2VyaWFsaXplU2NhbGFyKGRlc2NyaXB0b3IsIHNjYWxhcik7XG4gICAgICAgICAgaWYgKHByaW50YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFxuICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQocHJpbnRhYmxlKX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAob3AgPT09ICdiZXR3ZWVuJykge1xuICAgICAgICAgIGNvbnN0IHR1cGxlID0gUmVmbGVjdC5nZXQodmFsdWUsICdiZXR3ZWVuJykgYXMgdW5rbm93bjtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0dXBsZSkgJiYgdHVwbGUubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdCA9IHNlcmlhbGl6ZVNjYWxhcihkZXNjcmlwdG9yLCB0dXBsZVswXSk7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmQgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdHVwbGVbMV0pO1xuICAgICAgICAgICAgaWYgKGZpcnN0ICE9PSB1bmRlZmluZWQgJiYgc2Vjb25kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICAgICAgICBgJHtlbmNvZGVLZXkoZmllbGQsIG9wKX09JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICBmaXJzdCxcbiAgICAgICAgICAgICAgICApfSwke2VuY29kZVVSSUNvbXBvbmVudChzZWNvbmQpfWAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9wID09PSAnaW4nIHx8IG9wID09PSAnbmluJykge1xuICAgICAgICAgIGNvbnN0IGxpc3QgPSBSZWZsZWN0LmdldCh2YWx1ZSwgb3ApIGFzIHVua25vd247XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdCkgJiYgbGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBlbmNvZGVkSXRlbXMgPSBsaXN0XG4gICAgICAgICAgICAgIC5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgdik7XG4gICAgICAgICAgICAgICAgaWYgKHByaW50YWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHByaW50YWJsZSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pOiBpdGVtIGlzIHN0cmluZyA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0gIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmpvaW4oJywnKTtcbiAgICAgICAgICAgIGlmIChlbmNvZGVkSXRlbXMgIT09ICcnKSB7XG4gICAgICAgICAgICAgIHBhcnRzLnB1c2goYCR7ZW5jb2RlS2V5KGZpZWxkLCBvcCl9PSR7ZW5jb2RlZEl0ZW1zfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBzY2FsYXIgPSAodmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW29wXTtcbiAgICAgICAgICBjb25zdCBwcmludGFibGUgPSBzZXJpYWxpemVTY2FsYXIoZGVzY3JpcHRvciwgc2NhbGFyKTtcbiAgICAgICAgICBpZiAocHJpbnRhYmxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgICAgIGAke2VuY29kZUtleShmaWVsZCwgb3ApfT0ke2VuY29kZVVSSUNvbXBvbmVudChwcmludGFibGUpfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcGFydHMuam9pbignJicpO1xufVxuIl19
package/lib/types.d.ts DELETED
@@ -1,39 +0,0 @@
1
- import type { Diagnostic } from './errors.js';
2
- import type { FilterBetweenOperatorValue, FilterListOperatorValue, FilterOperatorValue, FilterScalarOperatorValue } from './values.js';
3
- export type ScalarOperator = FilterScalarOperatorValue;
4
- export type BetweenOperator = FilterBetweenOperatorValue;
5
- export type ListOperator = FilterListOperatorValue;
6
- export type Operator = FilterOperatorValue;
7
- export type PrimitiveKind = 'number' | 'string' | 'boolean' | 'enum' | 'custom';
8
- type BivariantSerializer<TValue> = {
9
- bivarianceHack(value: TValue): string;
10
- }['bivarianceHack'];
11
- export interface FieldDescriptorBase<TKind extends PrimitiveKind, TValue> {
12
- readonly kind: TKind;
13
- readonly operators: readonly Operator[];
14
- readonly parse?: (raw: string) => TValue | undefined;
15
- readonly serialize?: BivariantSerializer<TValue>;
16
- }
17
- export type NumberFieldDescriptor = FieldDescriptorBase<'number', number>;
18
- export type StringFieldDescriptor = FieldDescriptorBase<'string', string>;
19
- export type BooleanFieldDescriptor = FieldDescriptorBase<'boolean', boolean>;
20
- export type EnumFieldDescriptor<T extends string> = FieldDescriptorBase<'enum', T>;
21
- export type CustomFieldDescriptor<T> = FieldDescriptorBase<'custom', T>;
22
- export type FieldDescriptor = NumberFieldDescriptor | StringFieldDescriptor | BooleanFieldDescriptor | EnumFieldDescriptor<string> | CustomFieldDescriptor<unknown>;
23
- export type Schema = Readonly<Record<string, FieldDescriptor>>;
24
- type FieldValue<D extends FieldDescriptor> = D extends FieldDescriptorBase<PrimitiveKind, infer TValue> ? TValue : never;
25
- type ScalarMap<D extends FieldDescriptor> = Record<ScalarOperator, FieldValue<D> | undefined>;
26
- type BetweenMap<D extends FieldDescriptor> = {
27
- between?: readonly [FieldValue<D>, FieldValue<D>];
28
- };
29
- type ListMap<D extends FieldDescriptor> = Record<ListOperator, readonly FieldValue<D>[] | undefined>;
30
- export type InferField<D extends FieldDescriptor> = Partial<ScalarMap<D> & BetweenMap<D> & ListMap<D>>;
31
- export type InferFilters<S extends Schema> = {
32
- [K in keyof S]?: InferField<S[K]>;
33
- };
34
- export interface ParseResult<S extends Schema> {
35
- readonly filters: InferFilters<S>;
36
- readonly diagnostics: Diagnostic[];
37
- }
38
- export {};
39
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlhZ25vc3RpYyB9IGZyb20gJy4vZXJyb3JzLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWUsXG4gIEZpbHRlckxpc3RPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJPcGVyYXRvclZhbHVlLFxuICBGaWx0ZXJTY2FsYXJPcGVyYXRvclZhbHVlLFxufSBmcm9tICcuL3ZhbHVlcy5qcyc7XG5cbi8qKlxuICogT3BlcmF0b3JzIHRoYXQgdGFrZSBhIHNpbmdsZSBzY2FsYXIgdmFsdWUgKG51bWJlcnMgb3Igc3RyaW5ncykgaW4gdGhlIGZpbHRlciBzY2hlbWEuXG4gKi9cbmV4cG9ydCB0eXBlIFNjYWxhck9wZXJhdG9yID0gRmlsdGVyU2NhbGFyT3BlcmF0b3JWYWx1ZTtcbi8qKiBPcGVyYXRvciByZXByZXNlbnRpbmcgYSByYW5nZSBvZiB0d28gdmFsdWVzLiAqL1xuZXhwb3J0IHR5cGUgQmV0d2Vlbk9wZXJhdG9yID0gRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWU7XG4vKiogT3BlcmF0b3JzIHdob3NlIHZhbHVlcyBhcmUgbGlzdHMuICovXG5leHBvcnQgdHlwZSBMaXN0T3BlcmF0b3IgPSBGaWx0ZXJMaXN0T3BlcmF0b3JWYWx1ZTtcbi8qKiBBbGwgc3VwcG9ydGVkIG9wZXJhdG9yIGtpbmRzLiAqL1xuZXhwb3J0IHR5cGUgT3BlcmF0b3IgPSBGaWx0ZXJPcGVyYXRvclZhbHVlO1xuXG4vKiogUHJpbWl0aXZlIGZpZWxkIGtpbmRzIHN1cHBvcnRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlS2luZCA9ICdudW1iZXInIHwgJ3N0cmluZycgfCAnYm9vbGVhbicgfCAnZW51bScgfCAnY3VzdG9tJztcblxudHlwZSBCaXZhcmlhbnRTZXJpYWxpemVyPFRWYWx1ZT4gPSB7XG4gIC8vIFRoZSBwdWJsaWMgY2FsbGJhY2sgbXVzdCBhY2NlcHQgdGhlIHNwZWNpYWxpemVkIHZhbHVlIGluZmVycmVkIGJ5IGl0cyBmaWVsZC5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZXRob2Qtc2lnbmF0dXJlLXN0eWxlXG4gIGJpdmFyaWFuY2VIYWNrKHZhbHVlOiBUVmFsdWUpOiBzdHJpbmc7XG59WydiaXZhcmlhbmNlSGFjayddO1xuXG4vKipcbiAqIEJhc2UgZGVzY3JpcHRvciBzaGFyZWQgYnkgbnVtYmVyIGFuZCBzdHJpbmcgZmllbGRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVzY3JpcHRvckJhc2U8VEtpbmQgZXh0ZW5kcyBQcmltaXRpdmVLaW5kLCBUVmFsdWU+IHtcbiAgcmVhZG9ubHkga2luZDogVEtpbmQ7XG4gIHJlYWRvbmx5IG9wZXJhdG9yczogcmVhZG9ubHkgT3BlcmF0b3JbXTtcbiAgcmVhZG9ubHkgcGFyc2U/OiAocmF3OiBzdHJpbmcpID0+IFRWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgLyoqIEJpdmFyaWFuY2Uga2VlcHMgc3BlY2lhbGl6ZWQgZGVzY3JpcHRvcnMgYXNzaWduYWJsZSB0byBTY2hlbWEuICovXG4gIHJlYWRvbmx5IHNlcmlhbGl6ZT86IEJpdmFyaWFudFNlcmlhbGl6ZXI8VFZhbHVlPjtcbn1cblxuLyoqIERlc2NyaXB0b3IgZm9yIG51bWVyaWMgZmllbGRzLiBQcm92aWRlcyBudW1lcmljIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIE51bWJlckZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J251bWJlcicsIG51bWJlcj47XG4vKiogRGVzY3JpcHRvciBmb3Igc3RyaW5nIGZpZWxkcy4gUHJvdmlkZXMgc3RyaW5nIHBhcnNpbmcvc2VyaWFsaXNhdGlvbiBob29rcy4gKi9cbmV4cG9ydCB0eXBlIFN0cmluZ0ZpZWxkRGVzY3JpcHRvciA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J3N0cmluZycsIHN0cmluZz47XG4vKiogRGVzY3JpcHRvciBmb3IgYm9vbGVhbiBmaWVsZHMuICovXG5leHBvcnQgdHlwZSBCb29sZWFuRmllbGREZXNjcmlwdG9yID0gRmllbGREZXNjcmlwdG9yQmFzZTwnYm9vbGVhbicsIGJvb2xlYW4+O1xuLyoqIERlc2NyaXB0b3IgZm9yIGVudW0gc3RyaW5nIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEVudW1GaWVsZERlc2NyaXB0b3I8VCBleHRlbmRzIHN0cmluZz4gPSBGaWVsZERlc2NyaXB0b3JCYXNlPFxuICAnZW51bScsXG4gIFRcbj47XG4vKiogRGVzY3JpcHRvciBmb3IgY3VzdG9tIGZpZWxkcy4gKi9cbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkRGVzY3JpcHRvcjxUPiA9IEZpZWxkRGVzY3JpcHRvckJhc2U8J2N1c3RvbScsIFQ+O1xuXG4vKiogRGVzY3JpcHRvciBhY2NlcHRlZCBieSB0aGUgc2NoZW1hLiAqL1xuZXhwb3J0IHR5cGUgRmllbGREZXNjcmlwdG9yID1cbiAgfCBOdW1iZXJGaWVsZERlc2NyaXB0b3JcbiAgfCBTdHJpbmdGaWVsZERlc2NyaXB0b3JcbiAgfCBCb29sZWFuRmllbGREZXNjcmlwdG9yXG4gIHwgRW51bUZpZWxkRGVzY3JpcHRvcjxzdHJpbmc+XG4gIHwgQ3VzdG9tRmllbGREZXNjcmlwdG9yPHVua25vd24+O1xuXG4vKiogSW1tdXRhYmxlIG1hcHBpbmcgYmV0d2VlbiBmaWVsZCBrZXlzIGFuZCB0aGVpciBkZXNjcmlwdG9ycy4gKi9cbmV4cG9ydCB0eXBlIFNjaGVtYSA9IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIEZpZWxkRGVzY3JpcHRvcj4+O1xuXG50eXBlIEZpZWxkVmFsdWU8RCBleHRlbmRzIEZpZWxkRGVzY3JpcHRvcj4gPVxuICBEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yQmFzZTxQcmltaXRpdmVLaW5kLCBpbmZlciBUVmFsdWU+ID8gVFZhbHVlIDogbmV2ZXI7XG50eXBlIFNjYWxhck1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IFJlY29yZDxcbiAgU2NhbGFyT3BlcmF0b3IsXG4gIEZpZWxkVmFsdWU8RD4gfCB1bmRlZmluZWRcbj47XG5cbnR5cGUgQmV0d2Vlbk1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IHtcbiAgYmV0d2Vlbj86IHJlYWRvbmx5IFtGaWVsZFZhbHVlPEQ+LCBGaWVsZFZhbHVlPEQ+XTtcbn07XG5cbnR5cGUgTGlzdE1hcDxEIGV4dGVuZHMgRmllbGREZXNjcmlwdG9yPiA9IFJlY29yZDxcbiAgTGlzdE9wZXJhdG9yLFxuICByZWFkb25seSBGaWVsZFZhbHVlPEQ+W10gfCB1bmRlZmluZWRcbj47XG5cbi8qKlxuICogSW5mZXJzIG9wZXJhdG9yIHZhbHVlIHNoYXBlcyBmcm9tIGEgZGVzY3JpcHRvcidzIGZpZWxkIHZhbHVlIHR5cGUuXG4gKiBUaGUgZGVzY3JpcHRvcidzIHJ1bnRpbWUgb3BlcmF0b3Igd2hpdGVsaXN0IGlzIGludGVudGlvbmFsbHkgbm90IGVuY29kZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEluZmVyRmllbGQ8RCBleHRlbmRzIEZpZWxkRGVzY3JpcHRvcj4gPSBQYXJ0aWFsPFxuICBTY2FsYXJNYXA8RD4gJiBCZXR3ZWVuTWFwPEQ+ICYgTGlzdE1hcDxEPlxuPjtcblxuLyoqIEZpbHRlcnMgbWFwIGluZmVycmVkIGZyb20gYSBzY2hlbWEgZGVmaW5pdGlvbi4gKi9cbmV4cG9ydCB0eXBlIEluZmVyRmlsdGVyczxTIGV4dGVuZHMgU2NoZW1hPiA9IHtcbiAgW0sgaW4ga2V5b2YgU10/OiBJbmZlckZpZWxkPFNbS10+O1xufTtcblxuLyoqIFJlc3VsdCByZXR1cm5lZCBieSB0aGUgYHBhcnNlYCBmdW5jdGlvbjogcGFyc2VkIGZpbHRlcnMgcGx1cyBkaWFnbm9zdGljcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VSZXN1bHQ8UyBleHRlbmRzIFNjaGVtYT4ge1xuICByZWFkb25seSBmaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz47XG4gIHJlYWRvbmx5IGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG59XG4iXX0=
package/lib/values.d.ts DELETED
@@ -1,13 +0,0 @@
1
- export declare const FILTER_OPERATORS: readonly ['gt', 'gte', 'lt', 'lte', 'eq', 'neq', 'contains', 'sw', 'ew', 'between', 'in', 'nin'];
2
- export type FilterOperatorValue = (typeof FILTER_OPERATORS)[number];
3
- export declare const FILTER_SCALAR_OPERATORS: readonly ['gt', 'gte', 'lt', 'lte', 'eq', 'neq', 'contains', 'sw', 'ew'];
4
- export type FilterScalarOperatorValue = (typeof FILTER_SCALAR_OPERATORS)[number];
5
- export declare const FILTER_LIST_OPERATORS: readonly ['in', 'nin'];
6
- export type FilterListOperatorValue = (typeof FILTER_LIST_OPERATORS)[number];
7
- export declare const FILTER_BETWEEN_OPERATORS: readonly ['between'];
8
- export type FilterBetweenOperatorValue = (typeof FILTER_BETWEEN_OPERATORS)[number];
9
- export declare function isFilterOperator(value: unknown): value is FilterOperatorValue;
10
- export declare function isFilterScalarOperator(value: unknown): value is FilterScalarOperatorValue;
11
- export declare function isFilterListOperator(value: unknown): value is FilterListOperatorValue;
12
- export declare function isFilterBetweenOperator(value: unknown): value is FilterBetweenOperatorValue;
13
- //# sourceMappingURL=values.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,YAC3B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAK,CACG,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,uBAAuB,YAClC,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,EACJ,IAAI,CACI,CAAC;AAEX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C,eAAO,MAAM,qBAAqB,YAAI,IAAI,EAAE,KAAK,CAAU,CAAC;AAE5D,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E,eAAO,MAAM,wBAAwB,YAAI,SAAS,CAAU,CAAC;AAE7D,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAoB5C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAE7E;AAOD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,yBAAyB,CAEpC;AAOD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,uBAAuB,CAElC;AAOD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,0BAA0B,CAErC"}
package/lib/values.js DELETED
@@ -1,43 +0,0 @@
1
- export const FILTER_OPERATORS = [
2
- 'gt',
3
- 'gte',
4
- 'lt',
5
- 'lte',
6
- 'eq',
7
- 'neq',
8
- 'contains',
9
- 'sw',
10
- 'ew',
11
- 'between',
12
- 'in',
13
- 'nin',
14
- ];
15
- export const FILTER_SCALAR_OPERATORS = [
16
- 'gt',
17
- 'gte',
18
- 'lt',
19
- 'lte',
20
- 'eq',
21
- 'neq',
22
- 'contains',
23
- 'sw',
24
- 'ew',
25
- ];
26
- export const FILTER_LIST_OPERATORS = ['in', 'nin'];
27
- export const FILTER_BETWEEN_OPERATORS = ['between'];
28
- function includesValue(values, value) {
29
- return typeof value === 'string' && values.includes(value);
30
- }
31
- export function isFilterOperator(value) {
32
- return includesValue(FILTER_OPERATORS, value);
33
- }
34
- export function isFilterScalarOperator(value) {
35
- return includesValue(FILTER_SCALAR_OPERATORS, value);
36
- }
37
- export function isFilterListOperator(value) {
38
- return includesValue(FILTER_LIST_OPERATORS, value);
39
- }
40
- export function isFilterBetweenOperator(value) {
41
- return includesValue(FILTER_BETWEEN_OPERATORS, value);
42
- }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3ZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixJQUFJO0lBQ0osS0FBSztJQUNMLElBQUk7SUFDSixLQUFLO0lBQ0wsSUFBSTtJQUNKLEtBQUs7SUFDTCxVQUFVO0lBQ1YsSUFBSTtJQUNKLElBQUk7SUFDSixTQUFTO0lBQ1QsSUFBSTtJQUNKLEtBQUs7Q0FDRyxDQUFDO0FBSVgsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsSUFBSTtJQUNKLEtBQUs7SUFDTCxJQUFJO0lBQ0osS0FBSztJQUNMLElBQUk7SUFDSixLQUFLO0lBQ0wsVUFBVTtJQUNWLElBQUk7SUFDSixJQUFJO0NBQ0ksQ0FBQztBQUtYLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBSTVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsU0FBUyxDQUFVLENBQUM7QUFXN0QsU0FBUyxhQUFhLENBQ3BCLE1BQW9CLEVBQ3BCLEtBQWM7SUFFZCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQVUsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFPRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYztJQUM3QyxPQUFPLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBT0QsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxLQUFjO0lBRWQsT0FBTyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQU9ELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsS0FBYztJQUVkLE9BQU8sYUFBYSxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFPRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQWM7SUFFZCxPQUFPLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEZJTFRFUl9PUEVSQVRPUlMgPSBbXG4gICdndCcsXG4gICdndGUnLFxuICAnbHQnLFxuICAnbHRlJyxcbiAgJ2VxJyxcbiAgJ25lcScsXG4gICdjb250YWlucycsXG4gICdzdycsXG4gICdldycsXG4gICdiZXR3ZWVuJyxcbiAgJ2luJyxcbiAgJ25pbicsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJPcGVyYXRvclZhbHVlID0gKHR5cGVvZiBGSUxURVJfT1BFUkFUT1JTKVtudW1iZXJdO1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1NDQUxBUl9PUEVSQVRPUlMgPSBbXG4gICdndCcsXG4gICdndGUnLFxuICAnbHQnLFxuICAnbHRlJyxcbiAgJ2VxJyxcbiAgJ25lcScsXG4gICdjb250YWlucycsXG4gICdzdycsXG4gICdldycsXG5dIGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJTY2FsYXJPcGVyYXRvclZhbHVlID1cbiAgKHR5cGVvZiBGSUxURVJfU0NBTEFSX09QRVJBVE9SUylbbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IEZJTFRFUl9MSVNUX09QRVJBVE9SUyA9IFsnaW4nLCAnbmluJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckxpc3RPcGVyYXRvclZhbHVlID0gKHR5cGVvZiBGSUxURVJfTElTVF9PUEVSQVRPUlMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBGSUxURVJfQkVUV0VFTl9PUEVSQVRPUlMgPSBbJ2JldHdlZW4nXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWUgPVxuICAodHlwZW9mIEZJTFRFUl9CRVRXRUVOX09QRVJBVE9SUylbbnVtYmVyXTtcblxuLyoqXG4gKiBSZXVzYWJsZSBpbmNsdXNpb24gaGVscGVyIGZvciBydW50aW1lIGVudW0tbGlrZSBhcnJheXMuXG4gKlxuICogQHBhcmFtIHZhbHVlcyAtIEFsbG93ZWQgdmFsdWVzLlxuICogQHBhcmFtIHZhbHVlIC0gUnVudGltZSB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAqL1xuZnVuY3Rpb24gaW5jbHVkZXNWYWx1ZTxUIGV4dGVuZHMgc3RyaW5nPihcbiAgdmFsdWVzOiByZWFkb25seSBUW10sXG4gIHZhbHVlOiB1bmtub3duLFxuKTogdmFsdWUgaXMgVCB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlcy5pbmNsdWRlcyh2YWx1ZSBhcyBUKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHdoZXRoZXIgYSBydW50aW1lIHZhbHVlIGlzIGEgc3VwcG9ydGVkIGZpbHRlciBvcGVyYXRvci5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBSdW50aW1lIHZhbHVlIHRvIHZhbGlkYXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGaWx0ZXJPcGVyYXRvcih2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEZpbHRlck9wZXJhdG9yVmFsdWUge1xuICByZXR1cm4gaW5jbHVkZXNWYWx1ZShGSUxURVJfT1BFUkFUT1JTLCB2YWx1ZSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIGEgcnVudGltZSB2YWx1ZSBpcyBhIHN1cHBvcnRlZCBzY2FsYXIgb3BlcmF0b3IuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gUnVudGltZSB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRmlsdGVyU2NhbGFyT3BlcmF0b3IoXG4gIHZhbHVlOiB1bmtub3duLFxuKTogdmFsdWUgaXMgRmlsdGVyU2NhbGFyT3BlcmF0b3JWYWx1ZSB7XG4gIHJldHVybiBpbmNsdWRlc1ZhbHVlKEZJTFRFUl9TQ0FMQVJfT1BFUkFUT1JTLCB2YWx1ZSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB3aGV0aGVyIGEgcnVudGltZSB2YWx1ZSBpcyBhIHN1cHBvcnRlZCBsaXN0IG9wZXJhdG9yLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFJ1bnRpbWUgdmFsdWUgdG8gdmFsaWRhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0ZpbHRlckxpc3RPcGVyYXRvcihcbiAgdmFsdWU6IHVua25vd24sXG4pOiB2YWx1ZSBpcyBGaWx0ZXJMaXN0T3BlcmF0b3JWYWx1ZSB7XG4gIHJldHVybiBpbmNsdWRlc1ZhbHVlKEZJTFRFUl9MSVNUX09QRVJBVE9SUywgdmFsdWUpO1xufVxuXG4vKipcbiAqIFJldHVybnMgd2hldGhlciBhIHJ1bnRpbWUgdmFsdWUgaXMgYSBzdXBwb3J0ZWQgYmV0d2VlbiBvcGVyYXRvci5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBSdW50aW1lIHZhbHVlIHRvIHZhbGlkYXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGaWx0ZXJCZXR3ZWVuT3BlcmF0b3IoXG4gIHZhbHVlOiB1bmtub3duLFxuKTogdmFsdWUgaXMgRmlsdGVyQmV0d2Vlbk9wZXJhdG9yVmFsdWUge1xuICByZXR1cm4gaW5jbHVkZXNWYWx1ZShGSUxURVJfQkVUV0VFTl9PUEVSQVRPUlMsIHZhbHVlKTtcbn1cbiJdfQ==