quetch 0.27.1 → 0.28.1

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 (121) hide show
  1. package/dist/tools/filterChildren.d.ts +12 -2
  2. package/dist/tools/filterChildren.js +17 -6
  3. package/dist/tools/filterChildren.js.map +1 -1
  4. package/dist/tools/testFilter.js +19 -2
  5. package/dist/tools/testFilter.js.map +1 -1
  6. package/dist/types/Filter.d.ts +2 -1
  7. package/dist/types/FilterChildren.d.ts +13 -3
  8. package/dist/types/FilterContext.d.ts +11 -0
  9. package/dist/types/FilterContext.js +1 -0
  10. package/dist/types/FilterContext.js.map +1 -0
  11. package/dist/types/QuerySettings.d.ts +8 -0
  12. package/dist/types.d.ts +1 -0
  13. package/doc/README.md +1 -0
  14. package/doc/classes/RequestError.md +5 -5
  15. package/doc/functions/aggregate.md +1 -1
  16. package/doc/functions/branch.md +1 -1
  17. package/doc/functions/cache.md +1 -1
  18. package/doc/functions/combine.md +1 -1
  19. package/doc/functions/cork.md +1 -1
  20. package/doc/functions/defineCheckQuery.md +1 -1
  21. package/doc/functions/defineCustomFetch.md +1 -1
  22. package/doc/functions/defineGenericFetch.md +1 -1
  23. package/doc/functions/escapeRegex.md +1 -1
  24. package/doc/functions/fetchExternal.md +1 -1
  25. package/doc/functions/fetchLocal.md +1 -1
  26. package/doc/functions/fieldListFromFilter.md +1 -1
  27. package/doc/functions/filterChildren.md +23 -5
  28. package/doc/functions/filterFromValue.md +1 -1
  29. package/doc/functions/get.md +1 -1
  30. package/doc/functions/groupFilters.md +1 -1
  31. package/doc/functions/identity.md +1 -1
  32. package/doc/functions/isFilterGroup.md +1 -1
  33. package/doc/functions/log.md +1 -1
  34. package/doc/functions/normalizeOrder.md +1 -1
  35. package/doc/functions/queryItemList.md +1 -1
  36. package/doc/functions/retry.md +1 -1
  37. package/doc/functions/reverseOrder.md +1 -1
  38. package/doc/functions/sameField.md +1 -1
  39. package/doc/functions/sortItemList.md +1 -1
  40. package/doc/functions/splitPath.md +2 -2
  41. package/doc/functions/testFilter.md +1 -1
  42. package/doc/interfaces/CustomFetch.md +1 -1
  43. package/doc/type-aliases/AggregateFunction.md +1 -1
  44. package/doc/type-aliases/AggregateFunctionOperator.md +1 -1
  45. package/doc/type-aliases/CombineUnion.md +1 -1
  46. package/doc/type-aliases/Context.md +1 -1
  47. package/doc/type-aliases/CustomFieldAggregateMap.md +1 -1
  48. package/doc/type-aliases/CustomFieldMap.md +1 -1
  49. package/doc/type-aliases/Field.md +1 -1
  50. package/doc/type-aliases/FieldFiltered.md +1 -1
  51. package/doc/type-aliases/FieldFunction.md +1 -1
  52. package/doc/type-aliases/FieldFunctionCustom.md +1 -1
  53. package/doc/type-aliases/FieldFunctionFormatDate.md +1 -1
  54. package/doc/type-aliases/FieldFunctionReturn.md +1 -1
  55. package/doc/type-aliases/FieldKey.md +1 -1
  56. package/doc/type-aliases/FieldMap.md +1 -1
  57. package/doc/type-aliases/Filter.md +2 -2
  58. package/doc/type-aliases/FilterArray.md +1 -1
  59. package/doc/type-aliases/FilterBoolean.md +1 -1
  60. package/doc/type-aliases/FilterChildren.md +24 -5
  61. package/doc/type-aliases/FilterContext.md +33 -0
  62. package/doc/type-aliases/FilterCustom.md +1 -1
  63. package/doc/type-aliases/FilterField.md +1 -1
  64. package/doc/type-aliases/FilterGroup.md +1 -1
  65. package/doc/type-aliases/FilterNumber.md +1 -1
  66. package/doc/type-aliases/FilterOperator.md +1 -1
  67. package/doc/type-aliases/FilterString.md +1 -1
  68. package/doc/type-aliases/FilterStringIntersect.md +1 -1
  69. package/doc/type-aliases/FilterStringMatch.md +1 -1
  70. package/doc/type-aliases/Get.md +1 -1
  71. package/doc/type-aliases/Group.md +1 -1
  72. package/doc/type-aliases/Handler.md +1 -1
  73. package/doc/type-aliases/Immutable.md +1 -1
  74. package/doc/type-aliases/Increment.md +1 -1
  75. package/doc/type-aliases/InjectCustomFields.md +1 -1
  76. package/doc/type-aliases/IntersectUnion.md +1 -1
  77. package/doc/type-aliases/IntrinsicFilter.md +1 -1
  78. package/doc/type-aliases/Item.md +1 -1
  79. package/doc/type-aliases/Join.md +1 -1
  80. package/doc/type-aliases/Key.md +1 -1
  81. package/doc/type-aliases/KeyFiltered.md +1 -1
  82. package/doc/type-aliases/KeyFromUnion.md +1 -1
  83. package/doc/type-aliases/Locale.md +1 -1
  84. package/doc/type-aliases/NextHandler.md +1 -1
  85. package/doc/type-aliases/Order.md +1 -1
  86. package/doc/type-aliases/OrderNormalized.md +1 -1
  87. package/doc/type-aliases/Parameters.md +1 -1
  88. package/doc/type-aliases/Path.md +1 -1
  89. package/doc/type-aliases/PathFiltered.md +1 -1
  90. package/doc/type-aliases/Primitive.md +1 -1
  91. package/doc/type-aliases/PrimitiveObject.md +1 -1
  92. package/doc/type-aliases/Query.md +1 -1
  93. package/doc/type-aliases/QueryAggregate.md +1 -1
  94. package/doc/type-aliases/QueryCreate.md +1 -1
  95. package/doc/type-aliases/QueryCreateMultiple.md +1 -1
  96. package/doc/type-aliases/QueryDelete.md +1 -1
  97. package/doc/type-aliases/QueryDeleteMultiple.md +1 -1
  98. package/doc/type-aliases/QueryMethod.md +1 -1
  99. package/doc/type-aliases/QueryRead.md +1 -1
  100. package/doc/type-aliases/QueryReadMultiple.md +1 -1
  101. package/doc/type-aliases/QuerySettings.md +17 -1
  102. package/doc/type-aliases/QueryUpdate.md +1 -1
  103. package/doc/type-aliases/QueryUpdateMultiple.md +1 -1
  104. package/doc/type-aliases/Result.md +1 -1
  105. package/doc/type-aliases/Store.md +1 -1
  106. package/doc/type-aliases/Value.md +1 -1
  107. package/doc/type-aliases/ValueMap.md +1 -1
  108. package/doc/variables/CACHE.md +1 -1
  109. package/doc/variables/FILTER_ANY.md +1 -1
  110. package/doc/variables/FILTER_NONE.md +1 -1
  111. package/doc/variables/SELF.md +1 -1
  112. package/lib/tools/filterChildren.ts +21 -15
  113. package/lib/tools/filterFromValue.test.ts +18 -48
  114. package/lib/tools/testFilter.test.ts +84 -15
  115. package/lib/tools/testFilter.ts +32 -10
  116. package/lib/types/Filter.ts +2 -0
  117. package/lib/types/FilterChildren.ts +13 -3
  118. package/lib/types/FilterContext.ts +13 -0
  119. package/lib/types/QuerySettings.ts +8 -0
  120. package/lib/types.ts +1 -0
  121. package/package.json +1 -1
@@ -1,2 +1,12 @@
1
- import type { FieldFiltered, IntrinsicFilter } from "../types.ts";
2
- export declare function filterChildren<T>(parentPath: string, pathFieldKey: FieldFiltered<T, string>, deep?: boolean, pathSeparator?: string): IntrinsicFilter<T>;
1
+ import type { FieldFiltered, FilterStringMatch } from "../types.js";
2
+ /**
3
+ * Generates a filter that matches items whose path field indicates they are children of a given parent path, with an optional depth range.
4
+ *
5
+ * @param parentPath - The path of the parent item.
6
+ * @param pathFieldKey - The key of the field that contains the path information.
7
+ * @param minDepth - The minimum depth of the child items relative to the parent.
8
+ * @param maxDepth - The maximum depth of the child items relative to the parent.
9
+ * @param pathSeparator - The character used to separate path segments.
10
+ * @returns A filter that can be used to match child items.
11
+ */
12
+ export declare function filterChildren<T>(parentPath: string, pathFieldKey: FieldFiltered<T, string>, minDepth?: number, maxDepth?: number, pathSeparator?: string): FilterStringMatch<T>;
@@ -1,13 +1,24 @@
1
1
  import { escapeRegex } from "./escapeRegex.js";
2
- export function filterChildren(parentPath, pathFieldKey, deep = false, pathSeparator = "/") {
2
+ /**
3
+ * Generates a filter that matches items whose path field indicates they are children of a given parent path, with an optional depth range.
4
+ *
5
+ * @param parentPath - The path of the parent item.
6
+ * @param pathFieldKey - The key of the field that contains the path information.
7
+ * @param minDepth - The minimum depth of the child items relative to the parent.
8
+ * @param maxDepth - The maximum depth of the child items relative to the parent.
9
+ * @param pathSeparator - The character used to separate path segments.
10
+ * @returns A filter that can be used to match child items.
11
+ */
12
+ export function filterChildren(parentPath, pathFieldKey, minDepth = 0, maxDepth = Infinity, pathSeparator = "/") {
13
+ const escapedSeparator = escapeRegex(pathSeparator);
14
+ const segment = `${escapedSeparator}[^${escapedSeparator}]+`;
15
+ const quantifier = minDepth === 0 && maxDepth === 1
16
+ ? ""
17
+ : `{${minDepth + 1},${maxDepth === Infinity ? "" : maxDepth + 1}}`;
3
18
  return {
4
19
  field: pathFieldKey,
5
20
  operator: "match",
6
- value: childrenRegex(parentPath, deep, pathSeparator),
21
+ value: `^${escapeRegex(parentPath)}(?:${segment})${quantifier}$`,
7
22
  };
8
23
  }
9
- function childrenRegex(parentPath, deep = false, pathSeparator = "/") {
10
- const escapedSeparator = escapeRegex(pathSeparator);
11
- return `^${escapeRegex(parentPath)}${parentPath === "" ? "" : escapedSeparator}${deep ? "" : `[^${escapedSeparator}]{1,}$`}`;
12
- }
13
24
  //# sourceMappingURL=filterChildren.js.map
@@ -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,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"}
1
+ {"version":3,"file":"filterChildren.js","sourceRoot":"","sources":["../../lib/tools/filterChildren.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,YAAsC,EACtC,QAAQ,GAAG,CAAC,EACZ,QAAQ,GAAG,QAAQ,EACnB,aAAa,GAAG,GAAG;IAEnB,MAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,GAAG,gBAAgB,KAAK,gBAAgB,IAAI,CAAC;IAC7D,MAAM,UAAU,GACd,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;QAC9B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC;IACvE,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,OAAO,IAAI,UAAU,GAAG;KACjE,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { EMPTY_OBJECT } from "unchangeable";
2
2
  import { CACHE } from "../constants/CACHE.js";
3
3
  import { filterChildren } from "./filterChildren.js";
4
+ import { filterFromValue } from "./filterFromValue.js";
4
5
  import { get } from "./get.js";
5
6
  const { isArray } = Array;
6
7
  function valueFromFilter(value, filter) {
@@ -94,13 +95,29 @@ export function testFilter(filter, value, settings) {
94
95
  filter[CACHE] = settings.transformFilterChildren(filter);
95
96
  break;
96
97
  default: {
97
- const { pathField = "id", pathFieldSeparator, } = settings || EMPTY_OBJECT;
98
- filter[CACHE] = filterChildren(filter.value, pathField, filter.deep, pathFieldSeparator);
98
+ const { pathField = "id", pathFieldSeparator } = settings || EMPTY_OBJECT;
99
+ pathField;
100
+ filter[CACHE] = filterChildren(get(filter.value, pathField) ?? "", pathField, filter.minDepth, filter.maxDepth, pathFieldSeparator);
99
101
  }
100
102
  }
101
103
  }
102
104
  return negate(testFilter(filter[CACHE], value, settings), not);
103
105
  }
106
+ case "is":
107
+ case "notIs": {
108
+ const not = filter.operator[0] === "n";
109
+ if (filter[CACHE] === undefined) {
110
+ switch (true) {
111
+ case settings?.transformFilterContext !== undefined:
112
+ filter[CACHE] = settings.transformFilterContext(filter);
113
+ break;
114
+ default: {
115
+ filter[CACHE] = filterFromValue(filter.value);
116
+ }
117
+ }
118
+ }
119
+ return negate(testFilter(filter[CACHE], value), not);
120
+ }
104
121
  case "custom": {
105
122
  return filter.value(value);
106
123
  }
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  import type { FilterArray } from "./FilterArray";
2
2
  import type { FilterBoolean } from "./FilterBoolean";
3
3
  import type { FilterChildren } from "./FilterChildren";
4
+ import type { FilterContext } from "./FilterContext";
4
5
  import type { FilterCustom } from "./FilterCustom";
5
6
  import type { FilterField } from "./FilterField";
6
7
  import type { FilterGroup } from "./FilterGroup";
@@ -11,4 +12,4 @@ import type { FilterStringMatch } from "./FilterStringMatch";
11
12
  /**
12
13
  * Describes a predicate for filtering items.
13
14
  */
14
- export type Filter<T> = FilterArray<T> | FilterBoolean<T> | FilterChildren<T> | FilterCustom<T> | FilterField<T> | FilterNumber<T> | FilterGroup<T> | FilterString<T> | FilterStringIntersect<T> | FilterStringMatch<T>;
15
+ export type Filter<T> = FilterArray<T> | FilterBoolean<T> | FilterChildren<T> | FilterCustom<T> | FilterField<T> | FilterNumber<T> | FilterGroup<T> | FilterString<T> | FilterStringIntersect<T> | FilterContext<T> | FilterStringMatch<T>;
@@ -3,11 +3,21 @@ import type { Context } from "./Context";
3
3
  import type { IntrinsicFilter } from "./IntrinsicFilter.js";
4
4
  /**
5
5
  * Matches the direct children of a specified `value` item.
6
- * If `deep` is `true`, also captures all the descendants.
7
6
  */
8
7
  export type FilterChildren<T> = {
9
8
  operator: "children" | "notChildren";
10
- value?: Context<T> | string;
11
- deep?: boolean;
9
+ value?: Context<T>;
10
+ /**
11
+ * Minimum depth of the children to match. If `0`, matches the direct children. If `1`, matches the grandchildren, and so on.
12
+ *
13
+ * @default 0
14
+ */
15
+ minDepth?: number;
16
+ /**
17
+ * Maximum depth of the children to match. If `0`, matches the direct children. If `1`, matches the grandchildren, and so on.
18
+ *
19
+ * @default Infinity
20
+ */
21
+ maxDepth?: number;
12
22
  [CACHE]?: IntrinsicFilter<T>;
13
23
  };
@@ -0,0 +1,11 @@
1
+ import type { CACHE } from "../constants/CACHE.js";
2
+ import type { Context } from "./Context";
3
+ import type { IntrinsicFilter } from "./IntrinsicFilter.js";
4
+ /**
5
+ * Matches items identified by their context.
6
+ */
7
+ export type FilterContext<T> = {
8
+ operator: "is" | "notIs";
9
+ value: Context<T>;
10
+ [CACHE]?: IntrinsicFilter<T>;
11
+ };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=FilterContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterContext.js","sourceRoot":"","sources":["../../lib/types/FilterContext.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import type { FieldFiltered } from "./FieldFiltered";
2
2
  import type { FilterChildren } from "./FilterChildren";
3
+ import type { FilterContext } from "./FilterContext";
3
4
  import type { IntrinsicFilter } from "./IntrinsicFilter";
4
5
  /**
5
6
  * Settings to use when doing a query.
@@ -28,6 +29,13 @@ export type QuerySettings<T> = {
28
29
  * @returns A filter that captures the items expressed by the provided `FilterChildren`.
29
30
  */
30
31
  transformFilterChildren?: (filter: FilterChildren<T>) => IntrinsicFilter<T>;
32
+ /**
33
+ * Returns a filter that captures the items expressed by the provided `FilterContext`. The return filter cannot use filters of type `FilterContext` or `FilterChildren`.
34
+ *
35
+ * @param filter
36
+ * @returns
37
+ */
38
+ transformFilterContext?: (filter: FilterContext<T>) => IntrinsicFilter<T>;
31
39
  /**
32
40
  * Abort signal to abort the query.
33
41
  */
package/dist/types.d.ts CHANGED
@@ -17,6 +17,7 @@ export type { Filter } from "./types/Filter";
17
17
  export type { FilterArray } from "./types/FilterArray";
18
18
  export type { FilterBoolean } from "./types/FilterBoolean";
19
19
  export type { FilterChildren } from "./types/FilterChildren";
20
+ export type { FilterContext } from "./types/FilterContext";
20
21
  export type { FilterCustom } from "./types/FilterCustom";
21
22
  export type { FilterField } from "./types/FilterField";
22
23
  export type { FilterGroup } from "./types/FilterGroup";
package/doc/README.md CHANGED
@@ -32,6 +32,7 @@
32
32
  - [FilterArray](type-aliases/FilterArray.md)
33
33
  - [FilterBoolean](type-aliases/FilterBoolean.md)
34
34
  - [FilterChildren](type-aliases/FilterChildren.md)
35
+ - [FilterContext](type-aliases/FilterContext.md)
35
36
  - [FilterCustom](type-aliases/FilterCustom.md)
36
37
  - [FilterField](type-aliases/FilterField.md)
37
38
  - [FilterGroup](type-aliases/FilterGroup.md)
@@ -50,7 +50,7 @@ Error to be thrown in case there is an issue with the query call. Only instances
50
50
 
51
51
  #### Defined in
52
52
 
53
- [lib/errors/RequestError.ts:7](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/errors/RequestError.ts#L7)
53
+ [lib/errors/RequestError.ts:7](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/errors/RequestError.ts#L7)
54
54
 
55
55
  ## Properties
56
56
 
@@ -60,7 +60,7 @@ Error to be thrown in case there is an issue with the query call. Only instances
60
60
 
61
61
  #### Defined in
62
62
 
63
- [lib/errors/RequestError.ts:10](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/errors/RequestError.ts#L10)
63
+ [lib/errors/RequestError.ts:10](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/errors/RequestError.ts#L10)
64
64
 
65
65
  ***
66
66
 
@@ -70,7 +70,7 @@ Error to be thrown in case there is an issue with the query call. Only instances
70
70
 
71
71
  #### Defined in
72
72
 
73
- [lib/errors/RequestError.ts:11](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/errors/RequestError.ts#L11)
73
+ [lib/errors/RequestError.ts:11](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/errors/RequestError.ts#L11)
74
74
 
75
75
  ***
76
76
 
@@ -80,7 +80,7 @@ Error to be thrown in case there is an issue with the query call. Only instances
80
80
 
81
81
  #### Defined in
82
82
 
83
- [lib/errors/RequestError.ts:12](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/errors/RequestError.ts#L12)
83
+ [lib/errors/RequestError.ts:12](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/errors/RequestError.ts#L12)
84
84
 
85
85
  ***
86
86
 
@@ -90,4 +90,4 @@ Error to be thrown in case there is an issue with the query call. Only instances
90
90
 
91
91
  #### Defined in
92
92
 
93
- [lib/errors/RequestError.ts:9](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/errors/RequestError.ts#L9)
93
+ [lib/errors/RequestError.ts:9](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/errors/RequestError.ts#L9)
@@ -58,4 +58,4 @@ If a query occurs twice, `mergeQuery(query, currentQuery)` is called and the out
58
58
 
59
59
  ## Defined in
60
60
 
61
- [lib/middlewares/aggregate.ts:17](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/aggregate.ts#L17)
61
+ [lib/middlewares/aggregate.ts:17](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/aggregate.ts#L17)
@@ -49,4 +49,4 @@ const customFetch = combine(
49
49
 
50
50
  ## Defined in
51
51
 
52
- [lib/middlewares/branch.ts:21](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/branch.ts#L21)
52
+ [lib/middlewares/branch.ts:21](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/branch.ts#L21)
@@ -68,4 +68,4 @@ Cache store.
68
68
 
69
69
  ## Defined in
70
70
 
71
- [lib/middlewares/cache.ts:8](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/cache.ts#L8)
71
+ [lib/middlewares/cache.ts:8](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/cache.ts#L8)
@@ -116,4 +116,4 @@ Handler that combines all provided handlers.
116
116
 
117
117
  ## Defined in
118
118
 
119
- [lib/middlewares/combine.ts:801](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/combine.ts#L801)
119
+ [lib/middlewares/combine.ts:801](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/combine.ts#L801)
@@ -22,4 +22,4 @@ Uncallable handler used to terminate a sequence of handlers combined with `combi
22
22
 
23
23
  ## Defined in
24
24
 
25
- [lib/tools/cork.ts:6](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/cork.ts#L6)
25
+ [lib/tools/cork.ts:6](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/cork.ts#L6)
@@ -56,4 +56,4 @@ Function that checks queries.
56
56
 
57
57
  ## Defined in
58
58
 
59
- [lib/tools/defineCheckQuery.ts:8](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/defineCheckQuery.ts#L8)
59
+ [lib/tools/defineCheckQuery.ts:8](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/defineCheckQuery.ts#L8)
@@ -68,4 +68,4 @@ A custom fetch function.
68
68
 
69
69
  ## Defined in
70
70
 
71
- [lib/tools/defineCustomFetch.ts:11](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/defineCustomFetch.ts#L11)
71
+ [lib/tools/defineCustomFetch.ts:11](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/defineCustomFetch.ts#L11)
@@ -55,4 +55,4 @@ A curried generic fetch function.
55
55
 
56
56
  ## Defined in
57
57
 
58
- [lib/tools/defineGenericFetch.ts:14](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/defineGenericFetch.ts#L14)
58
+ [lib/tools/defineGenericFetch.ts:14](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/defineGenericFetch.ts#L14)
@@ -26,4 +26,4 @@ Escaped regular expression
26
26
 
27
27
  ## Defined in
28
28
 
29
- [lib/tools/escapeRegex.ts:7](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/escapeRegex.ts#L7)
29
+ [lib/tools/escapeRegex.ts:7](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/escapeRegex.ts#L7)
@@ -26,4 +26,4 @@ Handler that returns a promise that resolves to the response.
26
26
 
27
27
  ## Defined in
28
28
 
29
- [lib/middlewares/fetchExternal.ts:12](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/fetchExternal.ts#L12)
29
+ [lib/middlewares/fetchExternal.ts:12](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/fetchExternal.ts#L12)
@@ -22,4 +22,4 @@ Promise that resolves to the response.
22
22
 
23
23
  ## Defined in
24
24
 
25
- [lib/middlewares/fetchLocal.ts:9](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/fetchLocal.ts#L9)
25
+ [lib/middlewares/fetchLocal.ts:9](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/fetchLocal.ts#L9)
@@ -30,4 +30,4 @@ A list of fields.
30
30
 
31
31
  ## Defined in
32
32
 
33
- [lib/tools/fieldListFromFilter.ts:11](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/fieldListFromFilter.ts#L11)
33
+ [lib/tools/fieldListFromFilter.ts:11](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/fieldListFromFilter.ts#L11)
@@ -6,7 +6,9 @@
6
6
 
7
7
  # Function: filterChildren()
8
8
 
9
- > **filterChildren**\<`T`\>(`parentPath`, `pathFieldKey`, `deep`, `pathSeparator`): [`IntrinsicFilter`](../type-aliases/IntrinsicFilter.md)\<`T`\>
9
+ > **filterChildren**\<`T`\>(`parentPath`, `pathFieldKey`, `minDepth`, `maxDepth`, `pathSeparator`): [`FilterStringMatch`](../type-aliases/FilterStringMatch.md)\<`T`\>
10
+
11
+ Generates a filter that matches items whose path field indicates they are children of a given parent path, with an optional depth range.
10
12
 
11
13
  ## Type Parameters
12
14
 
@@ -18,22 +20,38 @@
18
20
 
19
21
  `string`
20
22
 
23
+ The path of the parent item.
24
+
21
25
  ### pathFieldKey
22
26
 
23
27
  [`FieldFiltered`](../type-aliases/FieldFiltered.md)\<`T`, `string`\>
24
28
 
25
- ### deep
29
+ The key of the field that contains the path information.
30
+
31
+ ### minDepth
32
+
33
+ `number` = `0`
34
+
35
+ The minimum depth of the child items relative to the parent.
26
36
 
27
- `boolean` = `false`
37
+ ### maxDepth
38
+
39
+ `number` = `Infinity`
40
+
41
+ The maximum depth of the child items relative to the parent.
28
42
 
29
43
  ### pathSeparator
30
44
 
31
45
  `string` = `"/"`
32
46
 
47
+ The character used to separate path segments.
48
+
33
49
  ## Returns
34
50
 
35
- [`IntrinsicFilter`](../type-aliases/IntrinsicFilter.md)\<`T`\>
51
+ [`FilterStringMatch`](../type-aliases/FilterStringMatch.md)\<`T`\>
52
+
53
+ A filter that can be used to match child items.
36
54
 
37
55
  ## Defined in
38
56
 
39
- [lib/tools/filterChildren.ts:5](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/filterChildren.ts#L5)
57
+ [lib/tools/filterChildren.ts:15](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/filterChildren.ts#L15)
@@ -24,4 +24,4 @@
24
24
 
25
25
  ## Defined in
26
26
 
27
- [lib/tools/filterFromValue.ts:8](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/filterFromValue.ts#L8)
27
+ [lib/tools/filterFromValue.ts:8](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/filterFromValue.ts#L8)
@@ -41,4 +41,4 @@ The property value found at the given path, or `undefined` if it cannot be found
41
41
 
42
42
  ## Defined in
43
43
 
44
- [lib/tools/get.ts:14](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/get.ts#L14)
44
+ [lib/tools/get.ts:14](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/get.ts#L14)
@@ -38,4 +38,4 @@ The filters to group together.
38
38
 
39
39
  ## Defined in
40
40
 
41
- [lib/tools/groupFilters.ts:16](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/groupFilters.ts#L16)
41
+ [lib/tools/groupFilters.ts:16](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/groupFilters.ts#L16)
@@ -34,4 +34,4 @@
34
34
 
35
35
  ## Defined in
36
36
 
37
- [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/identity.ts#L3)
37
+ [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/identity.ts#L3)
@@ -28,4 +28,4 @@ Whether the provided filter is a group filter or not.
28
28
 
29
29
  ## Defined in
30
30
 
31
- [lib/tools/isFilterGroup.ts:9](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/isFilterGroup.ts#L9)
31
+ [lib/tools/isFilterGroup.ts:9](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/isFilterGroup.ts#L9)
@@ -34,4 +34,4 @@ Query handler
34
34
 
35
35
  ## Defined in
36
36
 
37
- [lib/middlewares/log.ts:13](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/log.ts#L13)
37
+ [lib/middlewares/log.ts:13](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/log.ts#L13)
@@ -38,4 +38,4 @@ The normalized order object.
38
38
 
39
39
  ## Defined in
40
40
 
41
- [lib/tools/normalizeOrder.ts:11](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/normalizeOrder.ts#L11)
41
+ [lib/tools/normalizeOrder.ts:11](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/normalizeOrder.ts#L11)
@@ -32,4 +32,4 @@ The result of the query.
32
32
 
33
33
  ## Defined in
34
34
 
35
- [lib/tools/queryItemList.ts:48](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/queryItemList.ts#L48)
35
+ [lib/tools/queryItemList.ts:48](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/queryItemList.ts#L48)
@@ -36,4 +36,4 @@ Handler
36
36
 
37
37
  ## Defined in
38
38
 
39
- [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/middlewares/retry.ts#L15)
39
+ [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/middlewares/retry.ts#L15)
@@ -38,4 +38,4 @@ The reversed order.
38
38
 
39
39
  ## Defined in
40
40
 
41
- [lib/tools/reverseOrder.ts:11](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/reverseOrder.ts#L11)
41
+ [lib/tools/reverseOrder.ts:11](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/reverseOrder.ts#L11)
@@ -32,4 +32,4 @@ Whether the fields are the same.
32
32
 
33
33
  ## Defined in
34
34
 
35
- [lib/tools/sameField.ts:12](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/sameField.ts#L12)
35
+ [lib/tools/sameField.ts:12](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/sameField.ts#L12)
@@ -40,4 +40,4 @@ A new sorted array.
40
40
 
41
41
  ## Defined in
42
42
 
43
- [lib/tools/sortItemList.ts:16](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/sortItemList.ts#L16)
43
+ [lib/tools/sortItemList.ts:16](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/sortItemList.ts#L16)
@@ -38,7 +38,7 @@ An array containing the splitted path items if `path` is defined, or a function
38
38
 
39
39
  ### Defined in
40
40
 
41
- [lib/tools/splitPath.ts:22](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/splitPath.ts#L22)
41
+ [lib/tools/splitPath.ts:22](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/splitPath.ts#L22)
42
42
 
43
43
  ## Call Signature
44
44
 
@@ -70,4 +70,4 @@ An array containing the splitted path items if `path` is defined, or a function
70
70
 
71
71
  ### Defined in
72
72
 
73
- [lib/tools/splitPath.ts:27](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/splitPath.ts#L27)
73
+ [lib/tools/splitPath.ts:27](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/splitPath.ts#L27)
@@ -38,4 +38,4 @@ Optional query settings.
38
38
 
39
39
  ## Defined in
40
40
 
41
- [lib/tools/testFilter.ts:28](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/tools/testFilter.ts#L28)
41
+ [lib/tools/testFilter.ts:35](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/tools/testFilter.ts#L35)
@@ -28,4 +28,4 @@
28
28
 
29
29
  ## Defined in
30
30
 
31
- [lib/types/CustomFetch.ts:5](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/CustomFetch.ts#L5)
31
+ [lib/types/CustomFetch.ts:5](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/CustomFetch.ts#L5)
@@ -16,4 +16,4 @@ Aggregation function.
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/AggregateFunction.ts:7](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/AggregateFunction.ts#L7)
19
+ [lib/types/AggregateFunction.ts:7](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/AggregateFunction.ts#L7)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/types/AggregateFunctionOperator.ts:3](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/AggregateFunctionOperator.ts#L3)
13
+ [lib/types/AggregateFunctionOperator.ts:3](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/AggregateFunctionOperator.ts#L3)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/CombineUnion.ts:4](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/CombineUnion.ts#L4)
17
+ [lib/types/CombineUnion.ts:4](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/CombineUnion.ts#L4)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/Context.ts:5](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/Context.ts#L5)
17
+ [lib/types/Context.ts:5](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/Context.ts#L5)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/CustomFieldAggregateMap.ts:3](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/CustomFieldAggregateMap.ts#L3)
17
+ [lib/types/CustomFieldAggregateMap.ts:3](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/CustomFieldAggregateMap.ts#L3)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/CustomFieldMap.ts:3](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/CustomFieldMap.ts#L3)
17
+ [lib/types/CustomFieldMap.ts:3](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/CustomFieldMap.ts#L3)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/Field.ts:5](https://github.com/nevoland/quetch/blob/50090a7fe48ca3e8786e2d177c48636858557e1c/lib/types/Field.ts#L5)
17
+ [lib/types/Field.ts:5](https://github.com/nevoland/quetch/blob/78e51f8989e150bad7c9687ad573f6d1f074683e/lib/types/Field.ts#L5)