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.
Files changed (183) hide show
  1. package/dist/tools/comparatorFieldValues.d.ts +8 -0
  2. package/dist/tools/comparatorFieldValues.js +26 -0
  3. package/dist/tools/comparatorFieldValues.js.map +1 -0
  4. package/dist/tools/get.d.ts +4 -4
  5. package/dist/tools/get.js +6 -2
  6. package/dist/tools/get.js.map +1 -1
  7. package/dist/tools/intrinsicFilter.d.ts +1 -1
  8. package/dist/tools/intrinsicFilter.js +2 -2
  9. package/dist/tools/intrinsicFilter.js.map +1 -1
  10. package/dist/tools/queryItemList.js +2 -2
  11. package/dist/tools/queryItemList.js.map +1 -1
  12. package/dist/tools/querySettings.d.ts +8 -0
  13. package/dist/tools/querySettings.js +16 -0
  14. package/dist/tools/querySettings.js.map +1 -0
  15. package/dist/tools/sortItemList.d.ts +4 -4
  16. package/dist/tools/sortItemList.js +17 -24
  17. package/dist/tools/sortItemList.js.map +1 -1
  18. package/dist/tools/testFilter.d.ts +1 -1
  19. package/dist/tools/testFilter.js +6 -9
  20. package/dist/tools/testFilter.js.map +1 -1
  21. package/dist/tools/transformerFilterChildren.d.ts +8 -0
  22. package/dist/tools/transformerFilterChildren.js +17 -0
  23. package/dist/tools/transformerFilterChildren.js.map +1 -0
  24. package/dist/tools.d.ts +3 -0
  25. package/dist/tools.js +3 -0
  26. package/dist/tools.js.map +1 -1
  27. package/dist/types/AggregateFunction.d.ts +1 -1
  28. package/dist/types/CombineUnion.d.ts +1 -1
  29. package/dist/types/Context.d.ts +8 -0
  30. package/dist/types/Decrement.d.ts +4 -0
  31. package/dist/types/Decrement.js +1 -0
  32. package/dist/types/Decrement.js.map +1 -0
  33. package/dist/types/DepthLimit.d.ts +1 -0
  34. package/dist/types/DepthLimit.js +1 -0
  35. package/dist/types/DepthLimit.js.map +1 -0
  36. package/dist/types/FieldKey.d.ts +2 -1
  37. package/dist/types/FilterChildren.d.ts +1 -2
  38. package/dist/types/FilterGroup.d.ts +2 -2
  39. package/dist/types/Get.d.ts +3 -1
  40. package/dist/types/KeyFiltered.d.ts +1 -1
  41. package/dist/types/NormalizedPathFieldSettings.d.ts +24 -0
  42. package/dist/types/NormalizedPathFieldSettings.js +1 -0
  43. package/dist/types/NormalizedPathFieldSettings.js.map +1 -0
  44. package/dist/types/Path.d.ts +4 -3
  45. package/dist/types/PathFiltered.d.ts +4 -3
  46. package/dist/types/QuerySettings.d.ts +12 -17
  47. package/dist/types.d.ts +3 -1
  48. package/doc/README.md +6 -1
  49. package/doc/classes/RequestError.md +5 -5
  50. package/doc/functions/aggregate.md +1 -1
  51. package/doc/functions/branch.md +1 -1
  52. package/doc/functions/cache.md +1 -1
  53. package/doc/functions/combine.md +1 -1
  54. package/doc/functions/comparatorFieldValues.md +33 -0
  55. package/doc/functions/cork.md +1 -1
  56. package/doc/functions/defineCheckQuery.md +1 -1
  57. package/doc/functions/defineCustomFetch.md +1 -1
  58. package/doc/functions/defineGenericFetch.md +1 -1
  59. package/doc/functions/escapeRegex.md +1 -1
  60. package/doc/functions/fetchExternal.md +1 -1
  61. package/doc/functions/fetchLocal.md +1 -1
  62. package/doc/functions/fieldListFromFilter.md +1 -1
  63. package/doc/functions/filterChildren.md +1 -1
  64. package/doc/functions/filterFromValue.md +1 -1
  65. package/doc/functions/get.md +2 -2
  66. package/doc/functions/groupFilters.md +1 -1
  67. package/doc/functions/identity.md +1 -1
  68. package/doc/functions/intrinsicFilter.md +8 -8
  69. package/doc/functions/isFilterGroup.md +1 -1
  70. package/doc/functions/log.md +1 -1
  71. package/doc/functions/normalizeOrder.md +1 -1
  72. package/doc/functions/queryItemList.md +1 -1
  73. package/doc/functions/querySettings.md +33 -0
  74. package/doc/functions/retry.md +1 -1
  75. package/doc/functions/reverseOrder.md +1 -1
  76. package/doc/functions/sameField.md +1 -1
  77. package/doc/functions/sortItemList.md +2 -2
  78. package/doc/functions/splitPath.md +2 -2
  79. package/doc/functions/testFilter.md +2 -2
  80. package/doc/functions/transformerFilterChildren.md +43 -0
  81. package/doc/interfaces/CustomFetch.md +1 -1
  82. package/doc/type-aliases/AggregateFunction.md +2 -2
  83. package/doc/type-aliases/AggregateFunctionOperator.md +1 -1
  84. package/doc/type-aliases/CombineUnion.md +2 -2
  85. package/doc/type-aliases/Context.md +8 -1
  86. package/doc/type-aliases/CustomFieldAggregateMap.md +1 -1
  87. package/doc/type-aliases/CustomFieldMap.md +1 -1
  88. package/doc/type-aliases/Decrement.md +17 -0
  89. package/doc/type-aliases/DepthLimit.md +13 -0
  90. package/doc/type-aliases/Field.md +1 -1
  91. package/doc/type-aliases/FieldFiltered.md +1 -1
  92. package/doc/type-aliases/FieldFunction.md +1 -1
  93. package/doc/type-aliases/FieldFunctionCustom.md +1 -1
  94. package/doc/type-aliases/FieldFunctionFormatDate.md +1 -1
  95. package/doc/type-aliases/FieldFunctionReturn.md +1 -1
  96. package/doc/type-aliases/FieldKey.md +2 -2
  97. package/doc/type-aliases/FieldMap.md +1 -1
  98. package/doc/type-aliases/Filter.md +1 -1
  99. package/doc/type-aliases/FilterArray.md +1 -1
  100. package/doc/type-aliases/FilterBoolean.md +1 -1
  101. package/doc/type-aliases/FilterChildren.md +2 -2
  102. package/doc/type-aliases/FilterCustom.md +1 -1
  103. package/doc/type-aliases/FilterField.md +1 -1
  104. package/doc/type-aliases/FilterGroup.md +7 -7
  105. package/doc/type-aliases/FilterNumber.md +1 -1
  106. package/doc/type-aliases/FilterOperator.md +1 -1
  107. package/doc/type-aliases/FilterString.md +1 -1
  108. package/doc/type-aliases/FilterStringIntersect.md +1 -1
  109. package/doc/type-aliases/FilterStringMatch.md +1 -1
  110. package/doc/type-aliases/Get.md +5 -3
  111. package/doc/type-aliases/Group.md +1 -1
  112. package/doc/type-aliases/Handler.md +1 -1
  113. package/doc/type-aliases/Immutable.md +1 -1
  114. package/doc/type-aliases/InjectCustomFields.md +1 -1
  115. package/doc/type-aliases/IntersectUnion.md +1 -1
  116. package/doc/type-aliases/IntrinsicFilter.md +1 -1
  117. package/doc/type-aliases/Item.md +1 -1
  118. package/doc/type-aliases/Join.md +1 -1
  119. package/doc/type-aliases/Key.md +1 -1
  120. package/doc/type-aliases/KeyFiltered.md +2 -2
  121. package/doc/type-aliases/KeyFromUnion.md +1 -1
  122. package/doc/type-aliases/Locale.md +1 -1
  123. package/doc/type-aliases/NextHandler.md +1 -1
  124. package/doc/type-aliases/NormalizedPathFieldSettings.md +57 -0
  125. package/doc/type-aliases/Order.md +1 -1
  126. package/doc/type-aliases/OrderNormalized.md +1 -1
  127. package/doc/type-aliases/Parameters.md +1 -1
  128. package/doc/type-aliases/Path.md +3 -3
  129. package/doc/type-aliases/PathFiltered.md +3 -3
  130. package/doc/type-aliases/Primitive.md +1 -1
  131. package/doc/type-aliases/PrimitiveObject.md +1 -1
  132. package/doc/type-aliases/Query.md +1 -1
  133. package/doc/type-aliases/QueryAggregate.md +1 -1
  134. package/doc/type-aliases/QueryCreate.md +1 -1
  135. package/doc/type-aliases/QueryCreateMultiple.md +1 -1
  136. package/doc/type-aliases/QueryDelete.md +1 -1
  137. package/doc/type-aliases/QueryDeleteMultiple.md +1 -1
  138. package/doc/type-aliases/QueryMethod.md +1 -1
  139. package/doc/type-aliases/QueryRead.md +1 -1
  140. package/doc/type-aliases/QueryReadMultiple.md +1 -1
  141. package/doc/type-aliases/QuerySettings.md +36 -30
  142. package/doc/type-aliases/QueryUpdate.md +1 -1
  143. package/doc/type-aliases/QueryUpdateMultiple.md +1 -1
  144. package/doc/type-aliases/Result.md +1 -1
  145. package/doc/type-aliases/Store.md +1 -1
  146. package/doc/type-aliases/Value.md +1 -1
  147. package/doc/type-aliases/ValueMap.md +1 -1
  148. package/doc/variables/CACHE.md +1 -1
  149. package/doc/variables/FILTER_ANY.md +1 -1
  150. package/doc/variables/FILTER_NONE.md +1 -1
  151. package/doc/variables/SELF.md +1 -1
  152. package/lib/tools/comparatorFieldValues.ts +46 -0
  153. package/lib/tools/get.ts +9 -4
  154. package/lib/tools/intrinsicFilter.ts +2 -2
  155. package/lib/tools/queryItemList.ts +2 -2
  156. package/lib/tools/querySettings.ts +20 -0
  157. package/lib/tools/sortItemList.test.ts +31 -8
  158. package/lib/tools/sortItemList.ts +21 -41
  159. package/lib/tools/testFilter.test.ts +40 -17
  160. package/lib/tools/testFilter.ts +8 -25
  161. package/lib/tools/transformerFilterChildren.ts +34 -0
  162. package/lib/tools.ts +3 -0
  163. package/lib/types/AggregateFunction.ts +2 -2
  164. package/lib/types/CombineUnion.ts +12 -10
  165. package/lib/types/Context.ts +8 -0
  166. package/lib/types/Decrement.ts +5 -0
  167. package/lib/types/DepthLimit.ts +1 -0
  168. package/lib/types/FieldKey.ts +6 -1
  169. package/lib/types/FilterChildren.ts +1 -2
  170. package/lib/types/FilterGroup.ts +2 -2
  171. package/lib/types/Get.ts +17 -9
  172. package/lib/types/KeyFiltered.ts +14 -10
  173. package/lib/types/NormalizedPathFieldSettings.ts +25 -0
  174. package/lib/types/Path.ts +18 -15
  175. package/lib/types/PathFiltered.ts +20 -17
  176. package/lib/types/QuerySettings.ts +16 -17
  177. package/lib/types.ts +3 -1
  178. package/package.json +2 -2
  179. package/dist/types/Increment.d.ts +0 -4
  180. package/dist/types/Increment.js +0 -1
  181. package/dist/types/Increment.js.map +0 -1
  182. package/doc/type-aliases/Increment.md +0 -17
  183. 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"}
@@ -1,12 +1,12 @@
1
- import type { Get, Path } from "../types";
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 Path<T> | keyof T>(value: T, path?: P): Get<T, P>;
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;
@@ -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>(filter: Filter<T>, settings: Required<Pick<QuerySettings<T>, "transformFilterChildren">>): 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(filter, settings) {
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(filter, settings)),
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,MAAiB,EACjB,QAAqE;IAErE,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,MAAM,EAAE,QAAQ,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"}
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, query.settings);
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, query.settings);
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":"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"}
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 { escapeRegex } from "./escapeRegex.js";
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 (fieldSeparatorRegexp != null && sameField(field, pathField)) {
33
- if (valueA == null) {
34
- return valueB == null ? 0 : descending ? 1 : -1;
35
- }
36
- if (valueB == null) {
37
- return descending ? -1 : 1;
38
- }
39
- const normalizedA = valueA.replaceAll(fieldSeparatorRegexp, "\x00");
40
- const normalizedB = valueB.replaceAll(fieldSeparatorRegexp, "\x00");
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 (valueA > valueB) {
47
- return descending ? -1 : 1;
39
+ if (comparison === 0) {
40
+ continue;
48
41
  }
49
- return descending ? 1 : -1;
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":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,SAA0C,EAC1C,KAAmB,EACnB,QAA2B;IAE3B,MAAM,EACJ,SAAS,EACT,kBAAkB,GAAG,GAAG,EACxB,wBAAwB,GACzB,GAAG,QAAQ,IAAI,EAAE,CAAC;IACnB,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,oBAAoB,GACxB,SAAS,IAAI,IAAI,IAAI,kBAAkB,IAAI,IAAI;QAC7C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,MAAM,CACR,CAAC,wBAAwB;YACvB,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC;YACjC,CAAC,CAAC,OAAO,WAAW,CAAC,wBAAwB,CAAC,IAAI,WAAW,CAAC,kBAAkB,CAAC,EAAE,EACrF,GAAG,CACJ,CAAC;IACR,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,KAAY,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,KAAY,CAAC,CAAC;YACpC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,IAAI,oBAAoB,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,SAAU,CAAC,EAAE,CAAC;gBACjE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;gBACD,MAAM,WAAW,GAAI,MAAiB,CAAC,UAAU,CAC/C,oBAAoB,EACpB,MAAM,CACP,CAAC;gBACF,MAAM,WAAW,GAAI,MAAiB,CAAC,UAAU,CAC/C,oBAAoB,EACpB,MAAM,CACP,CAAC;gBACF,IAAI,WAAW,GAAG,WAAW,EAAE,CAAC;oBAC9B,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,MAAM,GAAG,MAAM,EAAE,CAAC;gBACpB,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC"}
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> | undefined, value: T | undefined, settings?: QuerySettings<T>): boolean;
11
+ export declare function testFilter<T>(filter: NoInfer<Filter<T>> | undefined, value: T | undefined, settings?: QuerySettings<T>): boolean;
@@ -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 minimum = filter.minimum ?? (length > 0 ? 1 : 0);
34
- const maximum = filter.maximum ?? Infinity;
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 (minimum === 1 && maximum >= length) {
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 >= minimum && matched <= maximum;
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
- const { pathField = "id", pathFieldSeparator } = settings || EMPTY_OBJECT;
98
- pathField;
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" | "minimum" | "maximum" | "variance" | "mode";
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, {
@@ -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,4 @@
1
+ type Digit = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
2
+ type NextDigit = [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
3
+ export type Decrement<D> = D extends Digit ? NextDigit[D] : -1;
4
+ export {};
@@ -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":""}
@@ -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?: Context<T>;
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
- minimum?: number;
29
+ min?: number;
30
30
  /**
31
31
  * Maximum number of filters that can match.
32
32
  *
33
33
  * @default Infinity
34
34
  */
35
- maximum?: number;
35
+ max?: number;
36
36
  } | {
37
37
  /**
38
38
  * Checks if none of the filters match.
@@ -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> : T[K] : never : [P] extends [keyof T] ? T[P] : T;
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 {};