quetch 0.29.1 → 0.31.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/comparatorFieldValues.d.ts +8 -0
- package/dist/tools/comparatorFieldValues.js +26 -0
- package/dist/tools/comparatorFieldValues.js.map +1 -0
- package/dist/tools/get.d.ts +4 -4
- package/dist/tools/get.js +6 -2
- package/dist/tools/get.js.map +1 -1
- package/dist/tools/intrinsicFilter.d.ts +1 -1
- package/dist/tools/intrinsicFilter.js +2 -2
- package/dist/tools/intrinsicFilter.js.map +1 -1
- package/dist/tools/queryItemList.js +2 -2
- package/dist/tools/queryItemList.js.map +1 -1
- package/dist/tools/querySettings.d.ts +8 -0
- package/dist/tools/querySettings.js +16 -0
- package/dist/tools/querySettings.js.map +1 -0
- package/dist/tools/sortItemList.d.ts +4 -4
- package/dist/tools/sortItemList.js +17 -24
- package/dist/tools/sortItemList.js.map +1 -1
- package/dist/tools/testFilter.d.ts +1 -1
- package/dist/tools/testFilter.js +6 -9
- package/dist/tools/testFilter.js.map +1 -1
- package/dist/tools/transformerFilterChildren.d.ts +8 -0
- package/dist/tools/transformerFilterChildren.js +17 -0
- package/dist/tools/transformerFilterChildren.js.map +1 -0
- package/dist/tools.d.ts +3 -0
- package/dist/tools.js +3 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/AggregateFunction.d.ts +1 -1
- package/dist/types/CombineUnion.d.ts +1 -1
- package/dist/types/Context.d.ts +8 -0
- package/dist/types/Decrement.d.ts +4 -0
- package/dist/types/Decrement.js +1 -0
- package/dist/types/Decrement.js.map +1 -0
- package/dist/types/DepthLimit.d.ts +1 -0
- package/dist/types/DepthLimit.js +1 -0
- package/dist/types/DepthLimit.js.map +1 -0
- package/dist/types/FieldKey.d.ts +2 -1
- package/dist/types/FilterChildren.d.ts +1 -2
- package/dist/types/FilterGroup.d.ts +2 -2
- package/dist/types/Get.d.ts +3 -1
- package/dist/types/KeyFiltered.d.ts +1 -1
- package/dist/types/NormalizedPathFieldSettings.d.ts +24 -0
- package/dist/types/NormalizedPathFieldSettings.js +1 -0
- package/dist/types/NormalizedPathFieldSettings.js.map +1 -0
- package/dist/types/Path.d.ts +4 -3
- package/dist/types/PathFiltered.d.ts +4 -3
- package/dist/types/QuerySettings.d.ts +12 -17
- package/dist/types.d.ts +3 -1
- package/doc/README.md +6 -1
- package/doc/classes/RequestError.md +5 -5
- package/doc/functions/aggregate.md +1 -1
- package/doc/functions/branch.md +1 -1
- package/doc/functions/cache.md +1 -1
- package/doc/functions/combine.md +1 -1
- package/doc/functions/comparatorFieldValues.md +33 -0
- package/doc/functions/cork.md +1 -1
- package/doc/functions/defineCheckQuery.md +1 -1
- package/doc/functions/defineCustomFetch.md +1 -1
- package/doc/functions/defineGenericFetch.md +1 -1
- package/doc/functions/escapeRegex.md +1 -1
- package/doc/functions/fetchExternal.md +1 -1
- package/doc/functions/fetchLocal.md +1 -1
- package/doc/functions/fieldListFromFilter.md +1 -1
- package/doc/functions/filterChildren.md +1 -1
- package/doc/functions/filterFromValue.md +1 -1
- package/doc/functions/get.md +2 -2
- package/doc/functions/groupFilters.md +1 -1
- package/doc/functions/identity.md +1 -1
- package/doc/functions/intrinsicFilter.md +8 -8
- package/doc/functions/isFilterGroup.md +1 -1
- package/doc/functions/log.md +1 -1
- package/doc/functions/normalizeOrder.md +1 -1
- package/doc/functions/queryItemList.md +1 -1
- package/doc/functions/querySettings.md +33 -0
- package/doc/functions/retry.md +1 -1
- package/doc/functions/reverseOrder.md +1 -1
- package/doc/functions/sameField.md +1 -1
- package/doc/functions/sortItemList.md +2 -2
- package/doc/functions/splitPath.md +2 -2
- package/doc/functions/testFilter.md +2 -2
- package/doc/functions/transformerFilterChildren.md +43 -0
- package/doc/interfaces/CustomFetch.md +1 -1
- package/doc/type-aliases/AggregateFunction.md +2 -2
- package/doc/type-aliases/AggregateFunctionOperator.md +1 -1
- package/doc/type-aliases/CombineUnion.md +2 -2
- package/doc/type-aliases/Context.md +8 -1
- package/doc/type-aliases/CustomFieldAggregateMap.md +1 -1
- package/doc/type-aliases/CustomFieldMap.md +1 -1
- package/doc/type-aliases/Decrement.md +17 -0
- package/doc/type-aliases/DepthLimit.md +13 -0
- package/doc/type-aliases/Field.md +1 -1
- package/doc/type-aliases/FieldFiltered.md +1 -1
- package/doc/type-aliases/FieldFunction.md +1 -1
- package/doc/type-aliases/FieldFunctionCustom.md +1 -1
- package/doc/type-aliases/FieldFunctionFormatDate.md +1 -1
- package/doc/type-aliases/FieldFunctionReturn.md +1 -1
- package/doc/type-aliases/FieldKey.md +2 -2
- package/doc/type-aliases/FieldMap.md +1 -1
- package/doc/type-aliases/Filter.md +1 -1
- package/doc/type-aliases/FilterArray.md +1 -1
- package/doc/type-aliases/FilterBoolean.md +1 -1
- package/doc/type-aliases/FilterChildren.md +2 -2
- package/doc/type-aliases/FilterCustom.md +1 -1
- package/doc/type-aliases/FilterField.md +1 -1
- package/doc/type-aliases/FilterGroup.md +7 -7
- package/doc/type-aliases/FilterNumber.md +1 -1
- package/doc/type-aliases/FilterOperator.md +1 -1
- package/doc/type-aliases/FilterString.md +1 -1
- package/doc/type-aliases/FilterStringIntersect.md +1 -1
- package/doc/type-aliases/FilterStringMatch.md +1 -1
- package/doc/type-aliases/Get.md +5 -3
- package/doc/type-aliases/Group.md +1 -1
- package/doc/type-aliases/Handler.md +1 -1
- package/doc/type-aliases/Immutable.md +1 -1
- package/doc/type-aliases/InjectCustomFields.md +1 -1
- package/doc/type-aliases/IntersectUnion.md +1 -1
- package/doc/type-aliases/IntrinsicFilter.md +1 -1
- package/doc/type-aliases/Item.md +1 -1
- package/doc/type-aliases/Join.md +1 -1
- package/doc/type-aliases/Key.md +1 -1
- package/doc/type-aliases/KeyFiltered.md +2 -2
- package/doc/type-aliases/KeyFromUnion.md +1 -1
- package/doc/type-aliases/Locale.md +1 -1
- package/doc/type-aliases/NextHandler.md +1 -1
- package/doc/type-aliases/NormalizedPathFieldSettings.md +57 -0
- package/doc/type-aliases/Order.md +1 -1
- package/doc/type-aliases/OrderNormalized.md +1 -1
- package/doc/type-aliases/Parameters.md +1 -1
- package/doc/type-aliases/Path.md +3 -3
- package/doc/type-aliases/PathFiltered.md +3 -3
- package/doc/type-aliases/Primitive.md +1 -1
- package/doc/type-aliases/PrimitiveObject.md +1 -1
- package/doc/type-aliases/Query.md +1 -1
- package/doc/type-aliases/QueryAggregate.md +1 -1
- package/doc/type-aliases/QueryCreate.md +1 -1
- package/doc/type-aliases/QueryCreateMultiple.md +1 -1
- package/doc/type-aliases/QueryDelete.md +1 -1
- package/doc/type-aliases/QueryDeleteMultiple.md +1 -1
- package/doc/type-aliases/QueryMethod.md +1 -1
- package/doc/type-aliases/QueryRead.md +1 -1
- package/doc/type-aliases/QueryReadMultiple.md +1 -1
- package/doc/type-aliases/QuerySettings.md +36 -30
- package/doc/type-aliases/QueryUpdate.md +1 -1
- package/doc/type-aliases/QueryUpdateMultiple.md +1 -1
- package/doc/type-aliases/Result.md +1 -1
- package/doc/type-aliases/Store.md +1 -1
- package/doc/type-aliases/Value.md +1 -1
- package/doc/type-aliases/ValueMap.md +1 -1
- package/doc/variables/CACHE.md +1 -1
- package/doc/variables/FILTER_ANY.md +1 -1
- package/doc/variables/FILTER_NONE.md +1 -1
- package/doc/variables/SELF.md +1 -1
- package/lib/tools/comparatorFieldValues.ts +46 -0
- package/lib/tools/get.ts +9 -4
- package/lib/tools/intrinsicFilter.ts +2 -2
- package/lib/tools/queryItemList.ts +2 -2
- package/lib/tools/querySettings.ts +20 -0
- package/lib/tools/sortItemList.test.ts +31 -8
- package/lib/tools/sortItemList.ts +21 -41
- package/lib/tools/testFilter.test.ts +40 -17
- package/lib/tools/testFilter.ts +8 -25
- package/lib/tools/transformerFilterChildren.ts +34 -0
- package/lib/tools.ts +3 -0
- package/lib/types/AggregateFunction.ts +2 -2
- package/lib/types/CombineUnion.ts +12 -10
- package/lib/types/Context.ts +8 -0
- package/lib/types/Decrement.ts +5 -0
- package/lib/types/DepthLimit.ts +1 -0
- package/lib/types/FieldKey.ts +6 -1
- package/lib/types/FilterChildren.ts +1 -2
- package/lib/types/FilterGroup.ts +2 -2
- package/lib/types/Get.ts +17 -9
- package/lib/types/KeyFiltered.ts +14 -10
- package/lib/types/NormalizedPathFieldSettings.ts +25 -0
- package/lib/types/Path.ts +18 -15
- package/lib/types/PathFiltered.ts +20 -17
- package/lib/types/QuerySettings.ts +16 -17
- package/lib/types.ts +3 -1
- package/package.json +2 -2
- package/dist/types/Increment.d.ts +0 -4
- package/dist/types/Increment.js +0 -1
- package/dist/types/Increment.js.map +0 -1
- package/doc/type-aliases/Increment.md +0 -17
- package/lib/types/Increment.ts +0 -5
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NormalizedPathFieldSettings, QuerySettings } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Returns a function that transforms a `FilterChildren` into a `FilterStringMatch`.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Options for the transformer.
|
|
6
|
+
* @returns A function that takes a `FilterChildren` and returns a `FilterStringMatch` that matches the paths of the children of the item specified in the `FilterChildren`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function comparatorFieldValues<T>({ pathField, pathFieldSeparator, pathFieldSeparatorEscape, }?: NormalizedPathFieldSettings<T>): QuerySettings<T>["compareFieldValues"];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EMPTY_OBJECT } from "unchangeable";
|
|
2
|
+
import { escapeRegex } from "./escapeRegex.js";
|
|
3
|
+
import { sameField } from "./sameField.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns a function that transforms a `FilterChildren` into a `FilterStringMatch`.
|
|
6
|
+
*
|
|
7
|
+
* @param options - Options for the transformer.
|
|
8
|
+
* @returns A function that takes a `FilterChildren` and returns a `FilterStringMatch` that matches the paths of the children of the item specified in the `FilterChildren`.
|
|
9
|
+
*/
|
|
10
|
+
export function comparatorFieldValues({ pathField = "path", pathFieldSeparator = "/", pathFieldSeparatorEscape = "\\", } = EMPTY_OBJECT) {
|
|
11
|
+
const fieldSeparatorRegexp = new RegExp(!pathFieldSeparatorEscape
|
|
12
|
+
? escapeRegex(pathFieldSeparator)
|
|
13
|
+
: `(?<!${escapeRegex(pathFieldSeparatorEscape)})${escapeRegex(pathFieldSeparator)}`, "g");
|
|
14
|
+
return (field, a, b) => {
|
|
15
|
+
if (!sameField(field, pathField)) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const normalizedA = a.replaceAll?.(fieldSeparatorRegexp, "\x00");
|
|
19
|
+
const normalizedB = b.replaceAll?.(fieldSeparatorRegexp, "\x00");
|
|
20
|
+
if (normalizedA > normalizedB) {
|
|
21
|
+
return 1;
|
|
22
|
+
}
|
|
23
|
+
return -1;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=comparatorFieldValues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparatorFieldValues.js","sourceRoot":"","sources":["../../lib/tools/comparatorFieldValues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAQ5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAI,EACvC,SAAS,GAAG,MAAkC,EAC9C,kBAAkB,GAAG,GAAG,EACxB,wBAAwB,GAAG,IAAI,MACG,YAAY;IAC9C,MAAM,oBAAoB,GAAG,IAAI,MAAM,CACrC,CAAC,wBAAwB;QACvB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;QACjC,CAAC,CAAC,OAAO,WAAW,CAAC,wBAAwB,CAAC,IAAI,WAAW,CAAC,kBAAkB,CAAC,EAAE,EACrF,GAAG,CACJ,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,WAAW,GAAI,CAAY,CAAC,UAAU,EAAE,CAC5C,oBAAoB,EACpB,MAAM,CACP,CAAC;QACF,MAAM,WAAW,GAAI,CAAY,CAAC,UAAU,EAAE,CAC5C,oBAAoB,EACpB,MAAM,CACP,CAAC;QACF,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/tools/get.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Field, Get } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* Gets the property value of the given `value` at the specified `path` (an array of object property names or array indexes).
|
|
4
4
|
* If the `path` is undefined, returns the `value` itself.
|
|
5
5
|
* If the `path` is a string, it is considered as a path with one item.
|
|
6
6
|
* If the `path` leads to an unknown property, returns `undefined`.
|
|
7
7
|
*
|
|
8
|
-
* @param value The value from which to get the property value.
|
|
9
|
-
* @param path The path leading to the property value or a property name or `undefined`.
|
|
8
|
+
* @param value - The value from which to get the property value.
|
|
9
|
+
* @param path - The path leading to the property value or a property name or `undefined`.
|
|
10
10
|
* @returns The property value found at the given path, or `undefined` if it cannot be found.
|
|
11
11
|
*/
|
|
12
|
-
export declare function get<const T, const P extends
|
|
12
|
+
export declare function get<const T, const P extends Field<T>>(value: T, path?: P): Get<T, P>;
|
package/dist/tools/get.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { SELF } from "../constants/SELF.js";
|
|
2
|
+
const { isArray } = Array;
|
|
2
3
|
/**
|
|
3
4
|
* Gets the property value of the given `value` at the specified `path` (an array of object property names or array indexes).
|
|
4
5
|
* If the `path` is undefined, returns the `value` itself.
|
|
5
6
|
* If the `path` is a string, it is considered as a path with one item.
|
|
6
7
|
* If the `path` leads to an unknown property, returns `undefined`.
|
|
7
8
|
*
|
|
8
|
-
* @param value The value from which to get the property value.
|
|
9
|
-
* @param path The path leading to the property value or a property name or `undefined`.
|
|
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`.
|
|
10
11
|
* @returns The property value found at the given path, or `undefined` if it cannot be found.
|
|
11
12
|
*/
|
|
12
13
|
export function get(value, path) {
|
|
@@ -19,6 +20,9 @@ export function get(value, path) {
|
|
|
19
20
|
case "symbol":
|
|
20
21
|
return value?.[path];
|
|
21
22
|
default: {
|
|
23
|
+
if (!isArray(path)) {
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
22
26
|
switch (path.length) {
|
|
23
27
|
case 0:
|
|
24
28
|
return value;
|
package/dist/tools/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../lib/tools/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CACjB,KAAQ,EACR,IAAQ;IAER,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACxC,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,MAAgB,EAAE,CAAC;gBAC9B,KAAK,CAAC;oBACJ,OAAO,KAAY,CAAC;gBACtB,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,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,CAAC;gBACrE,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,EAAE,CACjE,IAAY,CAAC,CAAC,CAAQ,CACxB,CAAC;gBACJ,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,EAAE,CACjE,IAAY,CAAC,CAAC,CAAQ,CACxB,EAAE,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,CAAC;gBAC/B;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"}
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../lib/tools/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG5C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,UAAU,GAAG,CACjB,KAAQ,EACR,IAAQ;IAER,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACxC,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,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAY,CAAC;YACtB,CAAC;YACD,QAAQ,IAAI,CAAC,MAAgB,EAAE,CAAC;gBAC9B,KAAK,CAAC;oBACJ,OAAO,KAAY,CAAC;gBACtB,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,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,CAAC;gBACrE,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,EAAE,CACjE,IAAY,CAAC,CAAC,CAAQ,CACxB,CAAC;gBACJ,KAAK,CAAC;oBACJ,OAAQ,KAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAQ,CAAC,EAAE,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,EAAE,CACjE,IAAY,CAAC,CAAC,CAAQ,CACxB,EAAE,CAAE,IAAY,CAAC,CAAC,CAAQ,CAAC,CAAC;gBAC/B;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"}
|
|
@@ -6,4 +6,4 @@ import type { Filter, IntrinsicFilter, QuerySettings } from "../types";
|
|
|
6
6
|
* @param settings - The query settings that may contain a `transformFilterChildren` function to transform `children` and `notChildren` filters.
|
|
7
7
|
* @returns The transformed intrinsic filter.
|
|
8
8
|
*/
|
|
9
|
-
export declare function intrinsicFilter<T>(
|
|
9
|
+
export declare function intrinsicFilter<T>(settings: Required<Pick<QuerySettings<T>, "transformFilterChildren">>, filter: Filter<T>): IntrinsicFilter<T>;
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
* @param settings - The query settings that may contain a `transformFilterChildren` function to transform `children` and `notChildren` filters.
|
|
6
6
|
* @returns The transformed intrinsic filter.
|
|
7
7
|
*/
|
|
8
|
-
export function intrinsicFilter(
|
|
8
|
+
export function intrinsicFilter(settings, filter) {
|
|
9
9
|
switch (filter.operator) {
|
|
10
10
|
case "any":
|
|
11
11
|
case "all":
|
|
12
12
|
case "none":
|
|
13
13
|
return {
|
|
14
14
|
...filter,
|
|
15
|
-
value: filter.value?.map((filter) => intrinsicFilter(
|
|
15
|
+
value: filter.value?.map((filter) => intrinsicFilter(settings, filter)),
|
|
16
16
|
};
|
|
17
17
|
case "children":
|
|
18
18
|
case "notChildren":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intrinsicFilter.js","sourceRoot":"","sources":["../../lib/tools/intrinsicFilter.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,
|
|
1
|
+
{"version":3,"file":"intrinsicFilter.js","sourceRoot":"","sources":["../../lib/tools/intrinsicFilter.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAqE,EACrE,MAAiB;IAEjB,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO;gBACL,GAAG,MAAM;gBACT,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAClC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CACV;aAC1B,CAAC;QACJ,KAAK,UAAU,CAAC;QAChB,KAAK,aAAa;YAChB,OAAO,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAE,CAAC;QACnD;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -52,7 +52,7 @@ export function queryItemList(query) {
|
|
|
52
52
|
result = data.filter((item) => testFilter(normalizedFilter, item, settings));
|
|
53
53
|
}
|
|
54
54
|
// Sort
|
|
55
|
-
result = sortItemList(order, result,
|
|
55
|
+
result = sortItemList(order, result, settings);
|
|
56
56
|
// Slice
|
|
57
57
|
if (offset !== 0 || limit !== Infinity) {
|
|
58
58
|
result = result.slice(offset, offset + limit);
|
|
@@ -92,7 +92,7 @@ export function queryItemList(query) {
|
|
|
92
92
|
result = data.filter((item) => testFilter(normalizedFilter, item, settings));
|
|
93
93
|
}
|
|
94
94
|
// Sort
|
|
95
|
-
result = sortItemList(order, result,
|
|
95
|
+
result = sortItemList(order, result, settings);
|
|
96
96
|
// Slice
|
|
97
97
|
if (offset !== 0 || limit !== Infinity) {
|
|
98
98
|
result = result.slice(offset, offset + limit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryItemList.js","sourceRoot":"","sources":["../../lib/tools/queryItemList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAS5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,SAAS,qBAAqB,CAC5B,OAAoB,EACpB,MAAkB;IAElB,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,MAAM,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,OAAY,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,CAAC,eAAe,CAAC,OAAY,CAAC,EAAE,MAAM,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAgC;IAEhC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAiC;IAEjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,EACJ,MAAM,EACN,OAAO,EACP,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,QAAQ,EAChB,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,QAAQ,GACT,GAAG,KAAK,CAAC;YACV,SAAS;YACT,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACrD,MAAM,IAAI,GACR,gBAAgB,KAAK,SAAS;oBAC5B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAC7C,CAAC;gBACR,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE,KAAmB,CAAC,CAAC;gBAChE,CAAC;gBACD,OAAO,IAAoB,CAAC;YAC9B,CAAC;YACD,SAAS;YACT,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAC7C,CAAC;YACJ,CAAC;YACD,OAAO;YACP,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"queryItemList.js","sourceRoot":"","sources":["../../lib/tools/queryItemList.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NormalizedPathFieldSettings, QuerySettings } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Returns query settings for path fields.
|
|
4
|
+
*
|
|
5
|
+
* @param settings - Settings for normalizing path fields.
|
|
6
|
+
* @returns Query settings for path fields.
|
|
7
|
+
*/
|
|
8
|
+
export declare function querySettings<T>(settings?: NormalizedPathFieldSettings<T>): QuerySettings<T>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EMPTY_OBJECT } from "unchangeable";
|
|
2
|
+
import { comparatorFieldValues } from "./comparatorFieldValues.js";
|
|
3
|
+
import { transformerFilterChildren } from "./transformerFilterChildren.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns query settings for path fields.
|
|
6
|
+
*
|
|
7
|
+
* @param settings - Settings for normalizing path fields.
|
|
8
|
+
* @returns Query settings for path fields.
|
|
9
|
+
*/
|
|
10
|
+
export function querySettings(settings = EMPTY_OBJECT) {
|
|
11
|
+
return {
|
|
12
|
+
compareFieldValues: comparatorFieldValues(settings),
|
|
13
|
+
transformFilterChildren: transformerFilterChildren(settings),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=querySettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"querySettings.js","sourceRoot":"","sources":["../../lib/tools/querySettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,WAA2C,YAAY;IAEvD,OAAO;QACL,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,CAAC;QACnD,uBAAuB,EAAE,yBAAyB,CAAC,QAAQ,CAAC;KAC7D,CAAC;AACJ,CAAC"}
|
|
@@ -2,9 +2,9 @@ import type { Order, QuerySettings } from "../types";
|
|
|
2
2
|
/**
|
|
3
3
|
* Sorts provided `value` array according to the `orderList`.
|
|
4
4
|
*
|
|
5
|
-
* @param orderList The order to use for sorting.
|
|
6
|
-
* @param value The array to sort.
|
|
7
|
-
* @param settings Optional query settings.
|
|
5
|
+
* @param orderList - The order to use for sorting.
|
|
6
|
+
* @param value - The array to sort.
|
|
7
|
+
* @param settings - Optional query settings.
|
|
8
8
|
* @returns A new sorted array.
|
|
9
9
|
*/
|
|
10
|
-
export declare function sortItemList<T>(orderList: readonly Order<T>[] | undefined, value: readonly T[], settings?: QuerySettings<T>): readonly T[];
|
|
10
|
+
export declare function sortItemList<T>(orderList: NoInfer<readonly Order<T>[]> | undefined, value: readonly T[], settings?: QuerySettings<T>): readonly T[];
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EMPTY_OBJECT } from "unchangeable";
|
|
2
2
|
import { get } from "./get.js";
|
|
3
3
|
import { normalizeOrder } from "./normalizeOrder.js";
|
|
4
|
-
import { sameField } from "./sameField.js";
|
|
5
4
|
/**
|
|
6
5
|
* Sorts provided `value` array according to the `orderList`.
|
|
7
6
|
*
|
|
8
|
-
* @param orderList The order to use for sorting.
|
|
9
|
-
* @param value The array to sort.
|
|
10
|
-
* @param settings Optional query settings.
|
|
7
|
+
* @param orderList - The order to use for sorting.
|
|
8
|
+
* @param value - The array to sort.
|
|
9
|
+
* @param settings - Optional query settings.
|
|
11
10
|
* @returns A new sorted array.
|
|
12
11
|
*/
|
|
13
12
|
export function sortItemList(orderList, value, settings) {
|
|
14
|
-
const { pathField, pathFieldSeparator = "/", pathFieldSeparatorEscape, } = settings ?? {};
|
|
15
13
|
if (orderList === undefined || orderList.length === 0) {
|
|
16
14
|
return value;
|
|
17
15
|
}
|
|
16
|
+
const { compareFieldValues } = settings ?? EMPTY_OBJECT;
|
|
18
17
|
const normalizedOrder = orderList.map(normalizeOrder);
|
|
19
|
-
const fieldSeparatorRegexp = pathField == null || pathFieldSeparator == null
|
|
20
|
-
? null
|
|
21
|
-
: new RegExp(!pathFieldSeparatorEscape
|
|
22
|
-
? escapeRegex(pathFieldSeparator)
|
|
23
|
-
: `(?<!${escapeRegex(pathFieldSeparatorEscape)})${escapeRegex(pathFieldSeparator)}`, "g");
|
|
24
18
|
return value.toSorted((a, b) => {
|
|
25
19
|
for (let index = 0; index < normalizedOrder.length; index++) {
|
|
26
20
|
const { field, descending } = normalizedOrder[index];
|
|
@@ -29,24 +23,23 @@ export function sortItemList(orderList, value, settings) {
|
|
|
29
23
|
if (valueA === valueB) {
|
|
30
24
|
continue;
|
|
31
25
|
}
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (normalizedA > normalizedB) {
|
|
26
|
+
if (valueA == null) {
|
|
27
|
+
return valueB == null ? 0 : descending ? 1 : -1;
|
|
28
|
+
}
|
|
29
|
+
if (valueB == null) {
|
|
30
|
+
return descending ? -1 : 1;
|
|
31
|
+
}
|
|
32
|
+
const comparison = compareFieldValues?.(field, valueA, valueB);
|
|
33
|
+
if (comparison === undefined) {
|
|
34
|
+
if (valueA > valueB) {
|
|
42
35
|
return descending ? -1 : 1;
|
|
43
36
|
}
|
|
44
37
|
return descending ? 1 : -1;
|
|
45
38
|
}
|
|
46
|
-
if (
|
|
47
|
-
|
|
39
|
+
if (comparison === 0) {
|
|
40
|
+
continue;
|
|
48
41
|
}
|
|
49
|
-
return descending ?
|
|
42
|
+
return descending ? -comparison : comparison;
|
|
50
43
|
}
|
|
51
44
|
return 0;
|
|
52
45
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortItemList.js","sourceRoot":"","sources":["../../lib/tools/sortItemList.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sortItemList.js","sourceRoot":"","sources":["../../lib/tools/sortItemList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAmD,EACnD,KAAmB,EACnB,QAA2B;IAE3B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,QAAQ,IAAI,YAAY,CAAC;IACxD,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,eAAe,CAAC,KAAK,CAAE,CAAC;YACtD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;oBACpB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -8,4 +8,4 @@ import type { Filter } from "../types.js";
|
|
|
8
8
|
* @param settings Optional query settings.
|
|
9
9
|
* @returns `true` if the `value` matches the `filter` and `false` otherwise.
|
|
10
10
|
*/
|
|
11
|
-
export declare function testFilter<T>(filter: Filter<T
|
|
11
|
+
export declare function testFilter<T>(filter: NoInfer<Filter<T>> | undefined, value: T | undefined, settings?: QuerySettings<T>): boolean;
|
package/dist/tools/testFilter.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { EMPTY_OBJECT } from "unchangeable";
|
|
2
1
|
import { CACHE } from "../constants/CACHE.js";
|
|
3
|
-
import { filterChildren } from "./filterChildren.js";
|
|
4
2
|
import { get } from "./get.js";
|
|
5
3
|
const { isArray } = Array;
|
|
6
4
|
function valueFromFilter(value, filter) {
|
|
@@ -30,16 +28,16 @@ export function testFilter(filter, value, settings) {
|
|
|
30
28
|
return filter.value.every((filter) => testFilter(filter, value, settings));
|
|
31
29
|
case "any": {
|
|
32
30
|
const length = filter.value?.length ?? 0;
|
|
33
|
-
const
|
|
34
|
-
const
|
|
31
|
+
const min = filter.min ?? (length > 0 ? 1 : 0);
|
|
32
|
+
const max = filter.max ?? Infinity;
|
|
35
33
|
if (filter.value === undefined || filter.value.length === 0) {
|
|
36
34
|
return true;
|
|
37
35
|
}
|
|
38
|
-
if (
|
|
36
|
+
if (min === 1 && max >= length) {
|
|
39
37
|
return filter.value.some((filter) => testFilter(filter, value, settings));
|
|
40
38
|
}
|
|
41
39
|
const matched = filter.value.reduce((count, filter) => count + (testFilter(filter, value, settings) ? 1 : 0), 0);
|
|
42
|
-
return matched >=
|
|
40
|
+
return matched >= min && matched <= max;
|
|
43
41
|
}
|
|
44
42
|
case "none": {
|
|
45
43
|
if (filter.value === undefined || filter.value.length === 0) {
|
|
@@ -94,9 +92,8 @@ export function testFilter(filter, value, settings) {
|
|
|
94
92
|
filter[CACHE] = settings.transformFilterChildren(filter);
|
|
95
93
|
break;
|
|
96
94
|
default: {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
filter[CACHE] = filterChildren(get(filter.value, pathField) ?? "", pathField, filter.minDepth, filter.maxDepth, pathFieldSeparator);
|
|
95
|
+
// Opt-out if no filter transformation is provided
|
|
96
|
+
return true;
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testFilter.js","sourceRoot":"","sources":["../../lib/tools/testFilter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testFilter.js","sourceRoot":"","sources":["../../lib/tools/testFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FilterChildren, FilterStringMatch, NormalizedPathFieldSettings } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Returns a function that transforms a `FilterChildren` into a `FilterStringMatch`.
|
|
4
|
+
*
|
|
5
|
+
* @param options - Options for the transformer.
|
|
6
|
+
* @returns A function that takes a `FilterChildren` and returns a `FilterStringMatch` that matches the paths of the children of the item specified in the `FilterChildren`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function transformerFilterChildren<T>({ pathField, pathFieldSeparator, }?: NormalizedPathFieldSettings<T>): (filter: FilterChildren<T>) => FilterStringMatch<T>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EMPTY_OBJECT } from "unchangeable";
|
|
2
|
+
import { filterChildren } from "./filterChildren.js";
|
|
3
|
+
import { get } from "./get.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns a function that transforms a `FilterChildren` into a `FilterStringMatch`.
|
|
6
|
+
*
|
|
7
|
+
* @param options - Options for the transformer.
|
|
8
|
+
* @returns A function that takes a `FilterChildren` and returns a `FilterStringMatch` that matches the paths of the children of the item specified in the `FilterChildren`.
|
|
9
|
+
*/
|
|
10
|
+
export function transformerFilterChildren({ pathField = "path", pathFieldSeparator = "/", } = EMPTY_OBJECT) {
|
|
11
|
+
return (filter) => {
|
|
12
|
+
const { value, minDepth = 1, maxDepth = Infinity } = filter;
|
|
13
|
+
const parentPath = (get(value, pathField) ?? "");
|
|
14
|
+
return filterChildren(parentPath, pathField, minDepth, maxDepth, pathFieldSeparator);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=transformerFilterChildren.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformerFilterChildren.js","sourceRoot":"","sources":["../../lib/tools/transformerFilterChildren.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAS5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAI,EAC3C,SAAS,GAAG,MAAkC,EAC9C,kBAAkB,GAAG,GAAG,MACU,YAAY;IAC9C,OAAO,CAAC,MAAyB,EAAwB,EAAE;QACzD,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5D,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,SAAgB,CAAC,IAAI,EAAE,CAAW,CAAC;QAClE,OAAO,cAAc,CACnB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,kBAAkB,CACnB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { comparatorFieldValues } from "./tools/comparatorFieldValues.js";
|
|
1
2
|
export { cork } from "./tools/cork.js";
|
|
2
3
|
export { defineCheckQuery } from "./tools/defineCheckQuery.js";
|
|
3
4
|
export { defineCustomFetch } from "./tools/defineCustomFetch.js";
|
|
@@ -12,8 +13,10 @@ export { intrinsicFilter } from "./tools/intrinsicFilter.js";
|
|
|
12
13
|
export { isFilterGroup } from "./tools/isFilterGroup.js";
|
|
13
14
|
export { normalizeOrder } from "./tools/normalizeOrder.js";
|
|
14
15
|
export { queryItemList } from "./tools/queryItemList.js";
|
|
16
|
+
export { querySettings } from "./tools/querySettings.js";
|
|
15
17
|
export { reverseOrder } from "./tools/reverseOrder.js";
|
|
16
18
|
export { sameField } from "./tools/sameField.js";
|
|
17
19
|
export { sortItemList } from "./tools/sortItemList.js";
|
|
18
20
|
export { splitPath } from "./tools/splitPath.js";
|
|
19
21
|
export { testFilter } from "./tools/testFilter.js";
|
|
22
|
+
export { transformerFilterChildren } from "./tools/transformerFilterChildren.js";
|
package/dist/tools.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// File automatically generated by `vite-plugin-module-list`
|
|
2
|
+
export { comparatorFieldValues } from "./tools/comparatorFieldValues.js";
|
|
2
3
|
export { cork } from "./tools/cork.js";
|
|
3
4
|
export { defineCheckQuery } from "./tools/defineCheckQuery.js";
|
|
4
5
|
export { defineCustomFetch } from "./tools/defineCustomFetch.js";
|
|
@@ -13,9 +14,11 @@ export { intrinsicFilter } from "./tools/intrinsicFilter.js";
|
|
|
13
14
|
export { isFilterGroup } from "./tools/isFilterGroup.js";
|
|
14
15
|
export { normalizeOrder } from "./tools/normalizeOrder.js";
|
|
15
16
|
export { queryItemList } from "./tools/queryItemList.js";
|
|
17
|
+
export { querySettings } from "./tools/querySettings.js";
|
|
16
18
|
export { reverseOrder } from "./tools/reverseOrder.js";
|
|
17
19
|
export { sameField } from "./tools/sameField.js";
|
|
18
20
|
export { sortItemList } from "./tools/sortItemList.js";
|
|
19
21
|
export { splitPath } from "./tools/splitPath.js";
|
|
20
22
|
export { testFilter } from "./tools/testFilter.js";
|
|
23
|
+
export { transformerFilterChildren } from "./tools/transformerFilterChildren.js";
|
|
21
24
|
//# sourceMappingURL=tools.js.map
|
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,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,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;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../lib/tools.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,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,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,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,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -10,6 +10,6 @@ export type AggregateFunction<T> = "length" | {
|
|
|
10
10
|
filter?: Filter<T>;
|
|
11
11
|
last?: boolean;
|
|
12
12
|
} | {
|
|
13
|
-
operator: "median" | "standardDeviation" | "mean" | "
|
|
13
|
+
operator: "median" | "standardDeviation" | "mean" | "min" | "max" | "variance" | "mode";
|
|
14
14
|
field: Field<T>;
|
|
15
15
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { KeyFromUnion } from "./KeyFromUnion";
|
|
2
2
|
import type { Primitive } from "./Primitive";
|
|
3
|
-
export type CombineUnion<U> = [0] extends [1 & U] ? any : [U] extends [Function | readonly Function[]] ? undefined : [U] extends [Primitive] ? U : [U] extends readonly [Array<any>] ? U : {
|
|
3
|
+
export type CombineUnion<U> = [unknown] extends [U] ? unknown : [0] extends [1 & U] ? any : [U] extends [Function | readonly Function[]] ? undefined : [U] extends [Primitive] ? U : [U] extends readonly [Array<any>] ? U : {
|
|
4
4
|
[K in KeyFromUnion<U>]: Continue<Combine<U, K>>;
|
|
5
5
|
};
|
|
6
6
|
type Combine<U, K extends string | number | symbol> = Exclude<Extract<U, {
|
package/dist/types/Context.d.ts
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { SELF } from "../constants/SELF.js";
|
|
2
2
|
import type { Primitive } from "./Primitive.js";
|
|
3
|
+
/**
|
|
4
|
+
* Describes the entity so that it can be identified or selected in a filter.
|
|
5
|
+
*
|
|
6
|
+
* The context of a single item (`query.multiple` is `false`) is typically its identifier.
|
|
7
|
+
* The context of a list of items (`query.multiple` is `true`) typically consists of common properties that reference the parent entity.
|
|
8
|
+
*
|
|
9
|
+
* It can be a partial object of the type `T` or a primitive value wrapped in an object with the `SELF` key.
|
|
10
|
+
*/
|
|
3
11
|
export type Context<T> = [0] extends [1 & T] ? any : T extends Primitive ? {
|
|
4
12
|
[SELF]: T;
|
|
5
13
|
} : {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=Decrement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Decrement.js","sourceRoot":"","sources":["../../lib/types/Decrement.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type DepthLimit = 4;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=DepthLimit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DepthLimit.js","sourceRoot":"","sources":["../../lib/types/DepthLimit.ts"],"names":[],"mappings":""}
|
package/dist/types/FieldKey.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { SELF } from "../constants/SELF.ts";
|
|
2
|
+
import type { Key } from "./Key.ts";
|
|
2
3
|
import type { Primitive } from "./Primitive";
|
|
3
|
-
export type FieldKey<T> = T extends Primitive ? typeof SELF : keyof T;
|
|
4
|
+
export type FieldKey<T> = T extends Primitive ? typeof SELF : [unknown] extends [T] ? Key : keyof T;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import type { CACHE } from "../constants/CACHE.js";
|
|
2
|
-
import type { Context } from "./Context";
|
|
3
2
|
import type { IntrinsicFilter } from "./IntrinsicFilter.js";
|
|
4
3
|
/**
|
|
5
4
|
* Matches the direct children of a specified `value` item.
|
|
6
5
|
*/
|
|
7
6
|
export type FilterChildren<T> = {
|
|
8
7
|
operator: "children" | "notChildren";
|
|
9
|
-
value?:
|
|
8
|
+
value?: T;
|
|
10
9
|
/**
|
|
11
10
|
* Minimum depth of the children to match. If `0`, matches the parent. If `1`, matches the direct children, if `2`, the grandchildren, and so on.
|
|
12
11
|
*
|
|
@@ -26,13 +26,13 @@ export type FilterGroup<T> = {
|
|
|
26
26
|
*
|
|
27
27
|
* @default `1` if filters are provided, `0` otherwise
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
min?: number;
|
|
30
30
|
/**
|
|
31
31
|
* Maximum number of filters that can match.
|
|
32
32
|
*
|
|
33
33
|
* @default Infinity
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
max?: number;
|
|
36
36
|
} | {
|
|
37
37
|
/**
|
|
38
38
|
* Checks if none of the filters match.
|
package/dist/types/Get.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { Decrement } from "./Decrement";
|
|
2
|
+
import type { DepthLimit } from "./DepthLimit";
|
|
1
3
|
import type { Path } from "./Path";
|
|
2
4
|
/**
|
|
3
5
|
* Returns the type of the property at the specified `P` path.
|
|
4
6
|
*/
|
|
5
|
-
export type Get<T, P> = [P] extends [readonly [infer K, ...infer R]] ? K extends keyof T ? R extends Path<T[K]> ? Get<T[K], R
|
|
7
|
+
export type Get<T, P, D = DepthLimit> = [unknown] extends [T] ? unknown : [0] extends [1 & T] ? any : D extends -1 ? any : [P] extends [readonly [infer K, ...infer R]] ? K extends keyof T ? R extends Path<T[K]> ? Get<T[K], R, Decrement<D>> : T[K] : never : [P] extends [keyof T] ? T[P] : T;
|
|
@@ -4,7 +4,7 @@ type SymbolSelf = typeof SELF;
|
|
|
4
4
|
/**
|
|
5
5
|
* Returns union of keys whose mapped value extend the provided `P` type.
|
|
6
6
|
*/
|
|
7
|
-
export type KeyFiltered<T, P> = [0] extends [1 & T] ? Key | SymbolSelf : T extends string | number | boolean | bigint | symbol ? T extends P ? SymbolSelf : never : T extends object ? keyof {
|
|
7
|
+
export type KeyFiltered<T, P> = [unknown] extends [T] ? Key | SymbolSelf : [0] extends [1 & T] ? Key | SymbolSelf : T extends string | number | boolean | bigint | symbol ? T extends P ? SymbolSelf : never : T extends object ? keyof {
|
|
8
8
|
[K in keyof T as Extract<T[K], P> extends never ? never : K]-?: T[K];
|
|
9
9
|
} : never;
|
|
10
10
|
export {};
|