quetch 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tools/filterChildren.d.ts +2 -2
- package/dist/tools/filterChildren.js.map +1 -1
- package/dist/tools/filterItem.js +15 -15
- package/dist/tools/filterItem.js.map +1 -1
- package/dist/tools/get.d.ts +14 -0
- package/dist/tools/get.js +36 -0
- package/dist/tools/get.js.map +1 -0
- package/dist/tools.d.ts +1 -0
- package/dist/tools.js +1 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/Field.d.ts +2 -0
- package/dist/types/Field.js +2 -0
- package/dist/types/Field.js.map +1 -0
- package/dist/types/FieldFiltered.d.ts +3 -0
- package/dist/types/FieldFiltered.js +2 -0
- package/dist/types/FieldFiltered.js.map +1 -0
- package/dist/types/FieldFunctionFormatDate.d.ts +2 -2
- package/dist/types/FilterArray.d.ts +2 -2
- package/dist/types/FilterBoolean.d.ts +2 -2
- package/dist/types/FilterChildren.d.ts +1 -1
- package/dist/types/FilterField.d.ts +2 -1
- package/dist/types/FilterNumber.d.ts +2 -2
- package/dist/types/FilterString.d.ts +2 -2
- package/dist/types/FilterStringIntersect.d.ts +2 -2
- package/dist/types/FilterStringMatch.d.ts +2 -2
- package/dist/types/Get.d.ts +2 -3
- package/dist/types/{FilterKeys.d.ts → KeyFiltered.d.ts} +1 -1
- package/dist/types/KeyFiltered.js +2 -0
- package/dist/types/KeyFiltered.js.map +1 -0
- package/dist/types/Path.d.ts +3 -0
- package/dist/types/Path.js +2 -0
- package/dist/types/Path.js.map +1 -0
- package/dist/types/PathFiltered.d.ts +3 -0
- package/dist/types/PathFiltered.js +2 -0
- package/dist/types/PathFiltered.js.map +1 -0
- package/dist/types/QuerySettings.d.ts +6 -2
- package/dist/types.d.ts +5 -1
- package/doc/README.md +396 -290
- package/doc/classes/RequestError.md +12 -8
- package/doc/interfaces/CustomFetch.md +5 -5
- package/lib/tools/filterChildren.ts +2 -2
- package/lib/tools/filterItem.ts +18 -18
- package/lib/tools/get.test.ts +23 -0
- package/lib/tools/get.ts +57 -0
- package/lib/tools.ts +1 -0
- package/lib/types/Field.ts +3 -0
- package/lib/types/FieldFiltered.ts +6 -0
- package/lib/types/FieldFunctionFormatDate.ts +2 -2
- package/lib/types/FilterArray.ts +2 -2
- package/lib/types/FilterBoolean.ts +2 -2
- package/lib/types/FilterChildren.ts +1 -1
- package/lib/types/FilterField.ts +3 -1
- package/lib/types/FilterNumber.ts +2 -2
- package/lib/types/FilterString.ts +2 -2
- package/lib/types/FilterStringIntersect.ts +2 -2
- package/lib/types/FilterStringMatch.ts +2 -2
- package/lib/types/Get.ts +9 -5
- package/lib/types/{FilterKeys.ts → KeyFiltered.ts} +1 -1
- package/lib/types/Path.ts +7 -0
- package/lib/types/PathFiltered.ts +9 -0
- package/lib/types/QuerySettings.ts +6 -2
- package/lib/types.ts +5 -1
- package/package.json +9 -7
- package/dist/types/FilterKeys.js +0 -2
- package/dist/types/FilterKeys.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function filterChildren<T extends object>(parentPath: string, pathFieldKey:
|
|
1
|
+
import type { FieldFiltered, Filter } from "../types.ts";
|
|
2
|
+
export declare function filterChildren<T extends object>(parentPath: string, pathFieldKey: FieldFiltered<T, string>, deep?: boolean, pathSeparator?: string): Filter<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterChildren.js","sourceRoot":"","sources":["../../lib/tools/filterChildren.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"filterChildren.js","sourceRoot":"","sources":["../../lib/tools/filterChildren.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,YAAsC,EACtC,IAAI,GAAG,KAAK,EACZ,aAAa,GAAG,GAAG;IAEnB,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,UAAkB,EAClB,IAAI,GAAG,KAAK,EACZ,aAAa,GAAG,GAAG;IAEnB,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,GAChC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAC3B,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,gBAAgB,QAAQ,EAAE,CAAC;AACjD,CAAC"}
|
package/dist/tools/filterItem.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SymbolCache } from "../constants/SymbolCache.js";
|
|
2
2
|
import { filterChildren } from "./filterChildren.js";
|
|
3
|
+
import { get } from "./get.js";
|
|
3
4
|
const { isArray } = Array;
|
|
4
5
|
/**
|
|
5
6
|
* Checks wether the provided `value` matches the `filter` or not.
|
|
@@ -32,11 +33,10 @@ export function filterItem(filter, value, settings) {
|
|
|
32
33
|
return filter.value.every((filter) => !filterItem(filter, value));
|
|
33
34
|
}
|
|
34
35
|
case "exist":
|
|
35
|
-
|
|
36
|
-
return filter.value in value;
|
|
36
|
+
return get(value, filter.value) !== undefined;
|
|
37
37
|
case "equal": {
|
|
38
38
|
if (isArray(filter.value)) {
|
|
39
|
-
const item = value
|
|
39
|
+
const item = get(value, filter.field);
|
|
40
40
|
if (!isArray(item)) {
|
|
41
41
|
return false;
|
|
42
42
|
}
|
|
@@ -45,7 +45,7 @@ export function filterItem(filter, value, settings) {
|
|
|
45
45
|
}
|
|
46
46
|
return filter.value.every((value) => item.includes(value));
|
|
47
47
|
}
|
|
48
|
-
const item = value
|
|
48
|
+
const item = get(value, filter.field);
|
|
49
49
|
if (item === filter.value) {
|
|
50
50
|
return true;
|
|
51
51
|
}
|
|
@@ -57,13 +57,13 @@ export function filterItem(filter, value, settings) {
|
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
59
59
|
case "notEqual": {
|
|
60
|
-
const item = value
|
|
60
|
+
const item = get(value, filter.field);
|
|
61
61
|
if (item === filter.value) {
|
|
62
62
|
return false;
|
|
63
63
|
}
|
|
64
64
|
if (("options" in filter && filter.options) ||
|
|
65
65
|
("locale" in filter && filter.locale)) {
|
|
66
|
-
return (filter.value.localeCompare(value
|
|
66
|
+
return (filter.value.localeCompare(get(value, filter.field), filter.locale, filter.options) !== 0);
|
|
67
67
|
}
|
|
68
68
|
return true;
|
|
69
69
|
}
|
|
@@ -85,7 +85,7 @@ export function filterItem(filter, value, settings) {
|
|
|
85
85
|
return filter.value(value);
|
|
86
86
|
}
|
|
87
87
|
case "startWith": {
|
|
88
|
-
const item = value
|
|
88
|
+
const item = get(value, filter.field);
|
|
89
89
|
if (item === undefined || item.length < filter.value.length) {
|
|
90
90
|
return false;
|
|
91
91
|
}
|
|
@@ -95,7 +95,7 @@ export function filterItem(filter, value, settings) {
|
|
|
95
95
|
return item.startsWith(filter.value) ?? false;
|
|
96
96
|
}
|
|
97
97
|
case "endWith": {
|
|
98
|
-
const item = value
|
|
98
|
+
const item = get(value, filter.field);
|
|
99
99
|
if (item === undefined || item.length < filter.value.length) {
|
|
100
100
|
return false;
|
|
101
101
|
}
|
|
@@ -105,7 +105,7 @@ export function filterItem(filter, value, settings) {
|
|
|
105
105
|
return item.endsWith(filter.value) ?? false;
|
|
106
106
|
}
|
|
107
107
|
case "include": {
|
|
108
|
-
const item = value
|
|
108
|
+
const item = get(value, filter.field);
|
|
109
109
|
if (item == null) {
|
|
110
110
|
return false;
|
|
111
111
|
}
|
|
@@ -133,7 +133,7 @@ export function filterItem(filter, value, settings) {
|
|
|
133
133
|
return item.includes?.(filter.value) ?? false;
|
|
134
134
|
}
|
|
135
135
|
case "greaterThan": {
|
|
136
|
-
const item = value
|
|
136
|
+
const item = get(value, filter.field);
|
|
137
137
|
if (("options" in filter && filter.options) ||
|
|
138
138
|
("locale" in filter && filter.locale)) {
|
|
139
139
|
return (filter.value.localeCompare(item, filter.locale, filter.options) < 0);
|
|
@@ -141,7 +141,7 @@ export function filterItem(filter, value, settings) {
|
|
|
141
141
|
return item > filter.value;
|
|
142
142
|
}
|
|
143
143
|
case "greaterThanOrEqual": {
|
|
144
|
-
const item = value
|
|
144
|
+
const item = get(value, filter.field);
|
|
145
145
|
if (("options" in filter && filter.options) ||
|
|
146
146
|
("locale" in filter && filter.locale)) {
|
|
147
147
|
return (filter.value.localeCompare(item, filter.locale, filter.options) <= 0);
|
|
@@ -149,7 +149,7 @@ export function filterItem(filter, value, settings) {
|
|
|
149
149
|
return item >= filter.value;
|
|
150
150
|
}
|
|
151
151
|
case "lowerThan": {
|
|
152
|
-
const item = value
|
|
152
|
+
const item = get(value, filter.field);
|
|
153
153
|
if (("options" in filter && filter.options) ||
|
|
154
154
|
("locale" in filter && filter.locale)) {
|
|
155
155
|
return (filter.value.localeCompare(item, filter.locale, filter.options) > 0);
|
|
@@ -157,7 +157,7 @@ export function filterItem(filter, value, settings) {
|
|
|
157
157
|
return item < filter.value;
|
|
158
158
|
}
|
|
159
159
|
case "lowerThanOrEqual": {
|
|
160
|
-
const item = value
|
|
160
|
+
const item = get(value, filter.field);
|
|
161
161
|
if (("options" in filter && filter.options) ||
|
|
162
162
|
("locale" in filter && filter.locale)) {
|
|
163
163
|
return (filter.value.localeCompare(item, filter.locale, filter.options) >= 0);
|
|
@@ -165,7 +165,7 @@ export function filterItem(filter, value, settings) {
|
|
|
165
165
|
return item <= filter.value;
|
|
166
166
|
}
|
|
167
167
|
case "match": {
|
|
168
|
-
const item = value
|
|
168
|
+
const item = get(value, filter.field);
|
|
169
169
|
if (item === undefined) {
|
|
170
170
|
return false;
|
|
171
171
|
}
|
|
@@ -175,7 +175,7 @@ export function filterItem(filter, value, settings) {
|
|
|
175
175
|
return filter[SymbolCache].test(item);
|
|
176
176
|
}
|
|
177
177
|
case "intersect": {
|
|
178
|
-
const item = value
|
|
178
|
+
const item = get(value, filter.field);
|
|
179
179
|
if (item == null) {
|
|
180
180
|
return false;
|
|
181
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterItem.js","sourceRoot":"","sources":["../../lib/tools/filterItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"filterItem.js","sourceRoot":"","sources":["../../lib/tools/filterItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Path } from "../types";
|
|
2
|
+
type Get<T, P> = [P] extends [[infer K, ...infer R]] ? K extends keyof T ? R extends Path<T[K]> ? Get<T[K], R> : T[K] : never : [P] extends [keyof T] ? T[P] : T;
|
|
3
|
+
/**
|
|
4
|
+
* Gets the property value of the given `value` at the specified `path` (an array of object property names or array indexes).
|
|
5
|
+
* If the `path` is undefined, returns the `value` itself.
|
|
6
|
+
* If the `path` is a string, it is considered as a path with one item.
|
|
7
|
+
* If the `path` leads to an unknown property, returns `undefined`.
|
|
8
|
+
*
|
|
9
|
+
* @param value The value from which to get the property value.
|
|
10
|
+
* @param path The path leading to the property value or a property name or `undefined`.
|
|
11
|
+
* @returns The property value found at the given path, or `undefined` if it cannot be found.
|
|
12
|
+
*/
|
|
13
|
+
export declare function get<T, P extends keyof T | Path<T>>(value: T, path?: P): Get<T, P>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gets the property value of the given `value` at the specified `path` (an array of object property names or array indexes).
|
|
3
|
+
* If the `path` is undefined, returns the `value` itself.
|
|
4
|
+
* If the `path` is a string, it is considered as a path with one item.
|
|
5
|
+
* If the `path` leads to an unknown property, returns `undefined`.
|
|
6
|
+
*
|
|
7
|
+
* @param value The value from which to get the property value.
|
|
8
|
+
* @param path The path leading to the property value or a property name or `undefined`.
|
|
9
|
+
* @returns The property value found at the given path, or `undefined` if it cannot be found.
|
|
10
|
+
*/
|
|
11
|
+
export function get(value, path) {
|
|
12
|
+
if (path === undefined) {
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
switch (typeof path) {
|
|
16
|
+
case "string":
|
|
17
|
+
case "number":
|
|
18
|
+
case "symbol":
|
|
19
|
+
return value?.[path];
|
|
20
|
+
default: {
|
|
21
|
+
switch (path.length) {
|
|
22
|
+
case 1:
|
|
23
|
+
return value?.[path[0]];
|
|
24
|
+
case 2:
|
|
25
|
+
return value?.[path[0]]?.[path[1]];
|
|
26
|
+
case 3:
|
|
27
|
+
return value?.[path[0]]?.[path[1]]?.[path[2]];
|
|
28
|
+
case 4:
|
|
29
|
+
return value?.[path[0]]?.[path[1]]?.[path[2]]?.[path[3]];
|
|
30
|
+
default:
|
|
31
|
+
return path.reduce((value, key) => value?.[key], value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../lib/tools/get.ts"],"names":[],"mappings":"AAYA;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CACjB,KAAQ,EACR,IAAQ;IAER,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,KAAY,CAAC;IACtB,CAAC;IACD,QAAQ,OAAO,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC,CAAC;YACR,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAC;gBAC1C,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAC;gBAC5D,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CACzD,IAAI,CAAC,CAAC,CAAQ,CACf,CAAC;gBACJ,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CACzD,IAAI,CAAC,CAAC,CAAQ,CACf,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,CAAC;gBACtB;oBACE,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAE,KAAa,EAAE,CAAC,GAAG,CAAC,EACrC,KAAK,CACC,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { escapeRegex } from "./tools/escapeRegex.js";
|
|
|
6
6
|
export { filterChildren } from "./tools/filterChildren.js";
|
|
7
7
|
export { filterFromContext } from "./tools/filterFromContext.js";
|
|
8
8
|
export { filterItem } from "./tools/filterItem.js";
|
|
9
|
+
export { get } from "./tools/get.js";
|
|
9
10
|
export { isFilterGroup } from "./tools/isFilterGroup.js";
|
|
10
11
|
export { normalizeOrder } from "./tools/normalizeOrder.js";
|
|
11
12
|
export { queryItemList } from "./tools/queryItemList.js";
|
package/dist/tools.js
CHANGED
|
@@ -7,6 +7,7 @@ export { escapeRegex } from "./tools/escapeRegex.js";
|
|
|
7
7
|
export { filterChildren } from "./tools/filterChildren.js";
|
|
8
8
|
export { filterFromContext } from "./tools/filterFromContext.js";
|
|
9
9
|
export { filterItem } from "./tools/filterItem.js";
|
|
10
|
+
export { get } from "./tools/get.js";
|
|
10
11
|
export { isFilterGroup } from "./tools/isFilterGroup.js";
|
|
11
12
|
export { normalizeOrder } from "./tools/normalizeOrder.js";
|
|
12
13
|
export { queryItemList } from "./tools/queryItemList.js";
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../lib/tools.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../lib/tools.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../lib/types/Field.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldFiltered.js","sourceRoot":"","sources":["../../lib/types/FieldFiltered.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
2
2
|
/**
|
|
3
3
|
* Formats the date found in a given field, which can be an ISO string date or a timestamp.
|
|
4
4
|
*/
|
|
5
5
|
export type FieldFunctionFormatDate<T extends object> = {
|
|
6
6
|
operator: "formatDate";
|
|
7
|
-
field:
|
|
7
|
+
field: FieldFiltered<T, string | number>;
|
|
8
8
|
format: string;
|
|
9
9
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Any } from "./Any";
|
|
2
|
-
import type {
|
|
2
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
3
3
|
/**
|
|
4
4
|
* Checks if a given array field matches a given array value according to a given operator.
|
|
5
5
|
*/
|
|
6
6
|
export type FilterArray<T extends object, P = Any> = {
|
|
7
7
|
operator: "equal" | "include" | "intersect";
|
|
8
|
-
field:
|
|
8
|
+
field: FieldFiltered<T, P[]>;
|
|
9
9
|
value: P[];
|
|
10
10
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
2
2
|
/**
|
|
3
3
|
* Checks if a given boolean field is `true` or `false`.
|
|
4
4
|
*/
|
|
5
5
|
export type FilterBoolean<T extends object> = {
|
|
6
6
|
operator: "equal" | "notEqual";
|
|
7
|
-
field:
|
|
7
|
+
field: FieldFiltered<T, boolean>;
|
|
8
8
|
value: boolean;
|
|
9
9
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
2
2
|
/**
|
|
3
3
|
* Checks if a given number field matches a given number value according to a given operator.
|
|
4
4
|
*/
|
|
5
5
|
export type FilterNumber<T extends object> = {
|
|
6
6
|
operator: "equal" | "notEqual" | "greaterThan" | "greaterThanOrEqual" | "lowerThan" | "lowerThanOrEqual";
|
|
7
|
-
field:
|
|
7
|
+
field: FieldFiltered<T, number>;
|
|
8
8
|
value: number;
|
|
9
9
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
2
2
|
import type { Locale } from "./Locale";
|
|
3
3
|
/**
|
|
4
4
|
* Checks if a given string field matches a given string value according to a given operator.
|
|
5
5
|
*/
|
|
6
6
|
export type FilterString<T extends object> = {
|
|
7
7
|
operator: "equal" | "notEqual" | "startWith" | "endWith" | "include" | "greaterThan" | "greaterThanOrEqual" | "lowerThan" | "lowerThanOrEqual";
|
|
8
|
-
field:
|
|
8
|
+
field: FieldFiltered<T, string>;
|
|
9
9
|
value: string;
|
|
10
10
|
options?: Intl.CollatorOptions;
|
|
11
11
|
locale?: Locale;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
2
2
|
import type { Locale } from "./Locale";
|
|
3
3
|
/**
|
|
4
4
|
* Checks if a given string field has any of the provided values.
|
|
5
5
|
*/
|
|
6
6
|
export type FilterStringIntersect<T extends object> = {
|
|
7
7
|
operator: "intersect";
|
|
8
|
-
field:
|
|
8
|
+
field: FieldFiltered<T, string>;
|
|
9
9
|
value: string[];
|
|
10
10
|
options?: Intl.CollatorOptions;
|
|
11
11
|
locale?: Locale;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { SymbolCache } from "../constants/SymbolCache";
|
|
2
|
-
import type {
|
|
2
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
3
3
|
/**
|
|
4
4
|
* Checks if a given string field matches a given regular expression.
|
|
5
5
|
*/
|
|
6
6
|
export type FilterStringMatch<T extends object> = {
|
|
7
7
|
operator: "match";
|
|
8
|
-
field:
|
|
8
|
+
field: FieldFiltered<T, string>;
|
|
9
9
|
/**
|
|
10
10
|
* Raw regular expression string.
|
|
11
11
|
*/
|
package/dist/types/Get.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import type { Path } from "./Path";
|
|
1
2
|
/**
|
|
2
3
|
* Returns the type of the property at the specified `K` key.
|
|
3
4
|
*/
|
|
4
|
-
export type Get<T extends
|
|
5
|
-
[key in K]: any;
|
|
6
|
-
} ? T[K] : D;
|
|
5
|
+
export type Get<T, P> = [P] extends [[infer K, ...infer R]] ? K extends keyof T ? R extends Path<T[K]> ? Get<T[K], R> : T[K] : never : never;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Returns object type with field extending the provided `P` type.
|
|
3
3
|
*/
|
|
4
|
-
export type
|
|
4
|
+
export type KeyFiltered<T extends object, P> = keyof T & keyof {
|
|
5
5
|
[K in keyof T as T[K] extends P ? K : never]-?: T[K];
|
|
6
6
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyFiltered.js","sourceRoot":"","sources":["../../lib/types/KeyFiltered.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path.js","sourceRoot":"","sources":["../../lib/types/Path.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathFiltered.js","sourceRoot":"","sources":["../../lib/types/PathFiltered.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { FieldFiltered } from "./FieldFiltered";
|
|
1
2
|
import type { Filter } from "./Filter";
|
|
2
3
|
import type { FilterChildren } from "./FilterChildren";
|
|
3
|
-
import type { FilterKeys } from "./FilterKeys";
|
|
4
4
|
/**
|
|
5
5
|
* Settings to use when doing a query.
|
|
6
6
|
*/
|
|
@@ -12,7 +12,7 @@ export type QuerySettings<T extends object> = {
|
|
|
12
12
|
/**
|
|
13
13
|
* Field key to that contains the path value of an item.
|
|
14
14
|
*/
|
|
15
|
-
pathFieldKey?:
|
|
15
|
+
pathFieldKey?: FieldFiltered<T, string>;
|
|
16
16
|
/**
|
|
17
17
|
* Returns a filter that captures the items expressed by the provided `FilterChildren`. The return filter cannot use filters of type `FilterChildren`.
|
|
18
18
|
*
|
|
@@ -26,4 +26,8 @@ export type QuerySettings<T extends object> = {
|
|
|
26
26
|
* Abort signal to abort the query.
|
|
27
27
|
*/
|
|
28
28
|
signal?: AbortSignal;
|
|
29
|
+
/**
|
|
30
|
+
* Abort controller to abort the query.
|
|
31
|
+
*/
|
|
32
|
+
abortController?: AbortController;
|
|
29
33
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export type { Context } from "./types/Context";
|
|
|
5
5
|
export type { CustomFetch } from "./types/CustomFetch";
|
|
6
6
|
export type { CustomFieldAggregateMap } from "./types/CustomFieldAggregateMap";
|
|
7
7
|
export type { CustomFieldMap } from "./types/CustomFieldMap";
|
|
8
|
+
export type { Field } from "./types/Field";
|
|
9
|
+
export type { FieldFiltered } from "./types/FieldFiltered";
|
|
8
10
|
export type { FieldFunction } from "./types/FieldFunction";
|
|
9
11
|
export type { FieldFunctionCustom } from "./types/FieldFunctionCustom";
|
|
10
12
|
export type { FieldFunctionFormatDate } from "./types/FieldFunctionFormatDate";
|
|
@@ -16,7 +18,6 @@ export type { FilterChildren } from "./types/FilterChildren";
|
|
|
16
18
|
export type { FilterCustom } from "./types/FilterCustom";
|
|
17
19
|
export type { FilterField } from "./types/FilterField";
|
|
18
20
|
export type { FilterGroup } from "./types/FilterGroup";
|
|
19
|
-
export type { FilterKeys } from "./types/FilterKeys";
|
|
20
21
|
export type { FilterNumber } from "./types/FilterNumber";
|
|
21
22
|
export type { FilterOperator } from "./types/FilterOperator";
|
|
22
23
|
export type { FilterString } from "./types/FilterString";
|
|
@@ -29,11 +30,14 @@ export type { Immutable } from "./types/Immutable";
|
|
|
29
30
|
export type { InjectCustomFields } from "./types/InjectCustomFields";
|
|
30
31
|
export type { Item } from "./types/Item";
|
|
31
32
|
export type { Key } from "./types/Key";
|
|
33
|
+
export type { KeyFiltered } from "./types/KeyFiltered";
|
|
32
34
|
export type { Locale } from "./types/Locale";
|
|
33
35
|
export type { Mutable } from "./types/Mutable";
|
|
34
36
|
export type { NextHandler } from "./types/NextHandler";
|
|
35
37
|
export type { Order } from "./types/Order";
|
|
36
38
|
export type { Parameters } from "./types/Parameters";
|
|
39
|
+
export type { Path } from "./types/Path";
|
|
40
|
+
export type { PathFiltered } from "./types/PathFiltered";
|
|
37
41
|
export type { Query } from "./types/Query";
|
|
38
42
|
export type { QueryAggregate } from "./types/QueryAggregate";
|
|
39
43
|
export type { QueryCreate } from "./types/QueryCreate";
|