quetch 0.27.0 → 0.28.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 (121) hide show
  1. package/dist/tools/filterChildren.d.ts +1 -1
  2. package/dist/tools/filterChildren.js +4 -4
  3. package/dist/tools/filterChildren.js.map +1 -1
  4. package/dist/tools/testFilter.js +23 -6
  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 +8 -4
  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 +6 -4
  113. package/lib/tools/filterFromValue.test.ts +18 -48
  114. package/lib/tools/testFilter.test.ts +84 -15
  115. package/lib/tools/testFilter.ts +43 -14
  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,2 @@
1
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>;
2
+ export declare function filterChildren<T>(parentPath: string, pathFieldKey: FieldFiltered<T, string>, minDepth?: number, maxDepth?: number, pathSeparator?: string): IntrinsicFilter<T>;
@@ -1,13 +1,13 @@
1
1
  import { escapeRegex } from "./escapeRegex.js";
2
- export function filterChildren(parentPath, pathFieldKey, deep = false, pathSeparator = "/") {
2
+ export function filterChildren(parentPath, pathFieldKey, minDepth = 0, maxDepth = Infinity, pathSeparator = "/") {
3
3
  return {
4
4
  field: pathFieldKey,
5
5
  operator: "match",
6
- value: childrenRegex(parentPath, deep, pathSeparator),
6
+ value: childrenRegex(parentPath, minDepth, maxDepth, pathSeparator),
7
7
  };
8
8
  }
9
- function childrenRegex(parentPath, deep = false, pathSeparator = "/") {
9
+ function childrenRegex(parentPath, minDepth = 0, maxDepth = Infinity, pathSeparator = "/") {
10
10
  const escapedSeparator = escapeRegex(pathSeparator);
11
- return `^${escapeRegex(parentPath)}${parentPath === "" ? "" : escapedSeparator}${deep ? "" : `[^${escapedSeparator}]{1,}$`}`;
11
+ return `^${escapeRegex(parentPath)}${parentPath === "" ? "" : escapedSeparator}${minDepth === 0 && maxDepth === Infinity ? "" : `(?:[^${escapedSeparator}]{1,}){${minDepth + 1},${maxDepth === Infinity ? "" : maxDepth}}$`}`;
12
12
  }
13
13
  //# 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,MAAM,UAAU,cAAc,CAC5B,UAAkB,EAClB,YAAsC,EACtC,QAAQ,GAAG,CAAC,EACZ,QAAQ,GAAG,QAAQ,EACnB,aAAa,GAAG,GAAG;IAEnB,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,UAAkB,EAClB,QAAQ,GAAG,CAAC,EACZ,QAAQ,GAAG,QAAQ,EACnB,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,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,gBAAgB,UAAU,QAAQ,GAAG,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;AAClJ,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) {
@@ -27,7 +28,7 @@ export function testFilter(filter, value, settings) {
27
28
  }
28
29
  switch (filter.operator) {
29
30
  case "all":
30
- return filter.value.every((filter) => testFilter(filter, value));
31
+ return filter.value.every((filter) => testFilter(filter, value, settings));
31
32
  case "any": {
32
33
  const length = filter.value?.length ?? 0;
33
34
  const minimum = filter.minimum ?? (length > 0 ? 1 : 0);
@@ -36,16 +37,16 @@ export function testFilter(filter, value, settings) {
36
37
  return true;
37
38
  }
38
39
  if (minimum === 1 && maximum >= length) {
39
- return filter.value.some((filter) => testFilter(filter, value));
40
+ return filter.value.some((filter) => testFilter(filter, value, settings));
40
41
  }
41
- const matched = filter.value.reduce((count, filter) => count + (testFilter(filter, value) ? 1 : 0), 0);
42
+ const matched = filter.value.reduce((count, filter) => count + (testFilter(filter, value, settings) ? 1 : 0), 0);
42
43
  return matched >= minimum && matched <= maximum;
43
44
  }
44
45
  case "none": {
45
46
  if (filter.value === undefined || filter.value.length === 0) {
46
47
  return false;
47
48
  }
48
- return filter.value.every((filter) => !testFilter(filter, value));
49
+ return filter.value.every((filter) => !testFilter(filter, value, settings));
49
50
  }
50
51
  case "exist":
51
52
  return get(value, filter.field) !== undefined;
@@ -94,8 +95,24 @@ 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);
101
+ }
102
+ }
103
+ }
104
+ return negate(testFilter(filter[CACHE], value, settings), not);
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);
99
116
  }
100
117
  }
101
118
  }
@@ -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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/errors/RequestError.ts#L7)
53
+ [lib/errors/RequestError.ts:7](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/errors/RequestError.ts#L10)
63
+ [lib/errors/RequestError.ts:10](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/errors/RequestError.ts#L11)
73
+ [lib/errors/RequestError.ts:11](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/errors/RequestError.ts#L12)
83
+ [lib/errors/RequestError.ts:12](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/errors/RequestError.ts#L9)
93
+ [lib/errors/RequestError.ts:9](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/aggregate.ts#L17)
61
+ [lib/middlewares/aggregate.ts:17](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/branch.ts#L21)
52
+ [lib/middlewares/branch.ts:21](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/cache.ts#L8)
71
+ [lib/middlewares/cache.ts:8](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/combine.ts#L801)
119
+ [lib/middlewares/combine.ts:801](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/cork.ts#L6)
25
+ [lib/tools/cork.ts:6](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/defineCheckQuery.ts#L8)
59
+ [lib/tools/defineCheckQuery.ts:8](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/defineCustomFetch.ts#L11)
71
+ [lib/tools/defineCustomFetch.ts:11](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/defineGenericFetch.ts#L14)
58
+ [lib/tools/defineGenericFetch.ts:14](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/escapeRegex.ts#L7)
29
+ [lib/tools/escapeRegex.ts:7](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/fetchExternal.ts#L12)
29
+ [lib/middlewares/fetchExternal.ts:12](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/fetchLocal.ts#L9)
25
+ [lib/middlewares/fetchLocal.ts:9](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/fieldListFromFilter.ts#L11)
33
+ [lib/tools/fieldListFromFilter.ts:11](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/lib/tools/fieldListFromFilter.ts#L11)
@@ -6,7 +6,7 @@
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`): [`IntrinsicFilter`](../type-aliases/IntrinsicFilter.md)\<`T`\>
10
10
 
11
11
  ## Type Parameters
12
12
 
@@ -22,9 +22,13 @@
22
22
 
23
23
  [`FieldFiltered`](../type-aliases/FieldFiltered.md)\<`T`, `string`\>
24
24
 
25
- ### deep
25
+ ### minDepth
26
26
 
27
- `boolean` = `false`
27
+ `number` = `0`
28
+
29
+ ### maxDepth
30
+
31
+ `number` = `Infinity`
28
32
 
29
33
  ### pathSeparator
30
34
 
@@ -36,4 +40,4 @@
36
40
 
37
41
  ## Defined in
38
42
 
39
- [lib/tools/filterChildren.ts:5](https://github.com/nevoland/quetch/blob/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/filterChildren.ts#L5)
43
+ [lib/tools/filterChildren.ts:5](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/lib/tools/filterChildren.ts#L5)
@@ -24,4 +24,4 @@
24
24
 
25
25
  ## Defined in
26
26
 
27
- [lib/tools/filterFromValue.ts:8](https://github.com/nevoland/quetch/blob/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/filterFromValue.ts#L8)
27
+ [lib/tools/filterFromValue.ts:8](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/get.ts#L14)
44
+ [lib/tools/get.ts:14](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/groupFilters.ts#L16)
41
+ [lib/tools/groupFilters.ts:16](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/identity.ts#L3)
37
+ [lib/middlewares/identity.ts:3](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/isFilterGroup.ts#L9)
31
+ [lib/tools/isFilterGroup.ts:9](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/log.ts#L13)
37
+ [lib/middlewares/log.ts:13](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/normalizeOrder.ts#L11)
41
+ [lib/tools/normalizeOrder.ts:11](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/queryItemList.ts#L48)
35
+ [lib/tools/queryItemList.ts:48](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/middlewares/retry.ts#L15)
39
+ [lib/middlewares/retry.ts:15](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/reverseOrder.ts#L11)
41
+ [lib/tools/reverseOrder.ts:11](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/sameField.ts#L12)
35
+ [lib/tools/sameField.ts:12](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/sortItemList.ts#L16)
43
+ [lib/tools/sortItemList.ts:16](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/splitPath.ts#L22)
41
+ [lib/tools/splitPath.ts:22](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/splitPath.ts#L27)
73
+ [lib/tools/splitPath.ts:27](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/tools/testFilter.ts#L28)
41
+ [lib/tools/testFilter.ts:35](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/CustomFetch.ts#L5)
31
+ [lib/types/CustomFetch.ts:5](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/AggregateFunction.ts#L7)
19
+ [lib/types/AggregateFunction.ts:7](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/AggregateFunctionOperator.ts#L3)
13
+ [lib/types/AggregateFunctionOperator.ts:3](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/CombineUnion.ts#L4)
17
+ [lib/types/CombineUnion.ts:4](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/Context.ts#L5)
17
+ [lib/types/Context.ts:5](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/CustomFieldAggregateMap.ts#L3)
17
+ [lib/types/CustomFieldAggregateMap.ts:3](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/CustomFieldMap.ts#L3)
17
+ [lib/types/CustomFieldMap.ts:3](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/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/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/Field.ts#L5)
17
+ [lib/types/Field.ts:5](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/lib/types/Field.ts#L5)
@@ -16,4 +16,4 @@
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/FieldFiltered.ts:5](https://github.com/nevoland/quetch/blob/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/FieldFiltered.ts#L5)
19
+ [lib/types/FieldFiltered.ts:5](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/lib/types/FieldFiltered.ts#L5)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/FieldFunction.ts:4](https://github.com/nevoland/quetch/blob/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/FieldFunction.ts#L4)
17
+ [lib/types/FieldFunction.ts:4](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/lib/types/FieldFunction.ts#L4)
@@ -36,4 +36,4 @@ Applies a custom field transform function.
36
36
 
37
37
  ## Defined in
38
38
 
39
- [lib/types/FieldFunctionCustom.ts:4](https://github.com/nevoland/quetch/blob/fe379c4b50ec8fa5471bc145281a4c5256d2f06b/lib/types/FieldFunctionCustom.ts#L4)
39
+ [lib/types/FieldFunctionCustom.ts:4](https://github.com/nevoland/quetch/blob/90f88a16e6d59a9c61398498a63289d526194476/lib/types/FieldFunctionCustom.ts#L4)