quetch 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/middlewares/aggregate.js +1 -1
- package/dist/middlewares/aggregate.js.map +1 -1
- package/dist/middlewares/fetchExternal.js +1 -1
- package/dist/middlewares/fetchExternal.js.map +1 -1
- package/dist/middlewares/retry.js +1 -1
- package/dist/middlewares/retry.js.map +1 -1
- package/dist/tools/defineCheckQuery.d.ts +3 -7
- package/dist/tools/defineCustomFetch.d.ts +1 -1
- package/dist/tools/fieldListFromFilter.d.ts +8 -0
- package/dist/tools/fieldListFromFilter.js +37 -0
- package/dist/tools/fieldListFromFilter.js.map +1 -0
- package/dist/tools/get.d.ts +1 -3
- package/dist/tools/get.js.map +1 -1
- package/dist/tools/normalizeOrder.d.ts +9 -3
- package/dist/tools/normalizeOrder.js +13 -6
- package/dist/tools/normalizeOrder.js.map +1 -1
- package/dist/tools/queryItemList.d.ts +7 -2
- package/dist/tools/queryItemList.js +71 -30
- package/dist/tools/queryItemList.js.map +1 -1
- package/dist/tools/reverseOrder.d.ts +11 -0
- package/dist/tools/reverseOrder.js +15 -0
- package/dist/tools/reverseOrder.js.map +1 -0
- package/dist/tools/sortItemList.d.ts +2 -2
- package/dist/tools/sortItemList.js +11 -8
- package/dist/tools/sortItemList.js.map +1 -1
- package/dist/tools/testFilter.js +1 -1
- package/dist/tools/testFilter.js.map +1 -1
- package/dist/tools.d.ts +2 -0
- package/dist/tools.js +2 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/AggregateFunction.d.ts +4 -0
- package/dist/types/AggregateFunction.js +0 -1
- package/dist/types/AggregateFunctionOperator.js +0 -1
- package/dist/types/Any.js +0 -1
- package/dist/types/Context.js +0 -1
- package/dist/types/CustomFetch.js +0 -1
- package/dist/types/CustomFieldAggregateMap.js +0 -1
- package/dist/types/CustomFieldMap.js +0 -1
- package/dist/types/Field.js +0 -1
- package/dist/types/FieldFiltered.d.ts +1 -1
- package/dist/types/FieldFiltered.js +0 -1
- package/dist/types/FieldFunction.js +0 -1
- package/dist/types/FieldFunctionCustom.js +0 -1
- package/dist/types/FieldFunctionFormatDate.js +0 -1
- package/dist/types/FieldFunctionReturn.js +0 -1
- package/dist/types/Filter.js +0 -1
- package/dist/types/FilterArray.js +0 -1
- package/dist/types/FilterBoolean.js +0 -1
- package/dist/types/FilterChildren.js +0 -1
- package/dist/types/FilterCustom.js +0 -1
- package/dist/types/FilterField.d.ts +1 -1
- package/dist/types/FilterField.js +0 -1
- package/dist/types/FilterGroup.js +0 -1
- package/dist/types/FilterNumber.js +0 -1
- package/dist/types/FilterOperator.js +0 -1
- package/dist/types/FilterString.js +0 -1
- package/dist/types/FilterStringIntersect.js +0 -1
- package/dist/types/FilterStringMatch.js +0 -1
- package/dist/types/Get.d.ts +2 -2
- package/dist/types/Get.js +0 -1
- package/dist/types/Group.js +0 -1
- package/dist/types/Handler.js +0 -1
- package/dist/types/Immutable.js +0 -1
- package/dist/types/Increment.d.ts +4 -0
- package/dist/types/Increment.js +1 -0
- package/dist/types/Increment.js.map +1 -0
- package/dist/types/InjectCustomFields.js +0 -1
- package/dist/types/Item.js +0 -1
- package/dist/types/Join.d.ts +1 -0
- package/dist/types/Join.js +1 -0
- package/dist/types/Join.js.map +1 -0
- package/dist/types/Key.js +0 -1
- package/dist/types/KeyFiltered.js +0 -1
- package/dist/types/Locale.js +0 -1
- package/dist/types/Mutable.js +0 -1
- package/dist/types/NextHandler.js +0 -1
- package/dist/types/Order.d.ts +3 -2
- package/dist/types/Order.js +0 -1
- package/dist/types/Parameters.js +0 -1
- package/dist/types/Path.d.ts +3 -2
- package/dist/types/Path.js +0 -1
- package/dist/types/PathFiltered.d.ts +3 -2
- package/dist/types/PathFiltered.js +0 -1
- package/dist/types/Query.js +0 -1
- package/dist/types/QueryAggregate.d.ts +16 -0
- package/dist/types/QueryAggregate.js +0 -1
- package/dist/types/QueryCreate.js +0 -1
- package/dist/types/QueryCreateMultiple.js +0 -1
- package/dist/types/QueryDelete.js +0 -1
- package/dist/types/QueryDeleteMultiple.js +0 -1
- package/dist/types/QueryMethod.js +0 -1
- package/dist/types/QueryRead.d.ts +5 -2
- package/dist/types/QueryRead.js +0 -1
- package/dist/types/QueryReadMultiple.js +0 -1
- package/dist/types/QuerySettings.js +0 -1
- package/dist/types/QueryUpdate.js +0 -1
- package/dist/types/QueryUpdateMultiple.js +0 -1
- package/dist/types/Result.js +0 -1
- package/dist/types/Store.js +0 -1
- package/dist/types/Value.js +0 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.js +0 -1
- package/doc/README.md +85 -2042
- package/doc/classes/RequestError.md +30 -39
- package/doc/functions/aggregate.md +49 -0
- package/doc/functions/branch.md +46 -0
- package/doc/functions/cache.md +59 -0
- package/doc/functions/combine.md +117 -0
- package/doc/functions/cork.md +23 -0
- package/doc/functions/defineCheckQuery.md +55 -0
- package/doc/functions/defineCustomFetch.md +63 -0
- package/doc/functions/defineGenericFetch.md +54 -0
- package/doc/functions/escapeRegex.md +27 -0
- package/doc/functions/fetchExternal.md +27 -0
- package/doc/functions/fetchLocal.md +25 -0
- package/doc/functions/fieldListFromFilter.md +31 -0
- package/doc/functions/filterChildren.md +31 -0
- package/doc/functions/filterFromContext.md +25 -0
- package/doc/functions/get.md +40 -0
- package/doc/functions/identity.md +33 -0
- package/doc/functions/isFilterGroup.md +31 -0
- package/doc/functions/log.md +35 -0
- package/doc/functions/normalizeOrder.md +39 -0
- package/doc/functions/queryItemList.md +33 -0
- package/doc/functions/retry.md +33 -0
- package/doc/functions/reverseOrder.md +39 -0
- package/doc/functions/sortItemList.md +35 -0
- package/doc/functions/testFilter.md +39 -0
- package/doc/interfaces/CustomFetch.md +15 -21
- package/doc/type-aliases/AggregateFunction.md +19 -0
- package/doc/type-aliases/AggregateFunctionOperator.md +13 -0
- package/doc/type-aliases/Any.md +13 -0
- package/doc/type-aliases/Context.md +17 -0
- package/doc/type-aliases/CustomFieldAggregateMap.md +17 -0
- package/doc/type-aliases/CustomFieldMap.md +17 -0
- package/doc/type-aliases/Field.md +17 -0
- package/doc/type-aliases/FieldFiltered.md +19 -0
- package/doc/type-aliases/FieldFunction.md +17 -0
- package/doc/type-aliases/FieldFunctionCustom.md +37 -0
- package/doc/type-aliases/FieldFunctionFormatDate.md +33 -0
- package/doc/type-aliases/FieldFunctionReturn.md +21 -0
- package/doc/type-aliases/Filter.md +19 -0
- package/doc/type-aliases/FilterArray.md +31 -0
- package/doc/type-aliases/FilterBoolean.md +29 -0
- package/doc/type-aliases/FilterChildren.md +38 -0
- package/doc/type-aliases/FilterCustom.md +37 -0
- package/doc/type-aliases/FilterField.md +31 -0
- package/doc/type-aliases/FilterGroup.md +19 -0
- package/doc/type-aliases/FilterNumber.md +29 -0
- package/doc/type-aliases/FilterOperator.md +13 -0
- package/doc/type-aliases/FilterString.md +37 -0
- package/doc/type-aliases/FilterStringIntersect.md +37 -0
- package/doc/type-aliases/FilterStringMatch.md +53 -0
- package/doc/type-aliases/Get.md +21 -0
- package/doc/type-aliases/Group.md +19 -0
- package/doc/type-aliases/Handler.md +35 -0
- package/doc/type-aliases/Immutable.md +17 -0
- package/doc/type-aliases/Increment.md +17 -0
- package/doc/type-aliases/InjectCustomFields.md +21 -0
- package/doc/type-aliases/Item.md +21 -0
- package/doc/type-aliases/Join.md +19 -0
- package/doc/type-aliases/Key.md +13 -0
- package/doc/type-aliases/KeyFiltered.md +21 -0
- package/doc/type-aliases/Locale.md +13 -0
- package/doc/type-aliases/Mutable.md +17 -0
- package/doc/type-aliases/NextHandler.md +29 -0
- package/doc/type-aliases/Order.md +19 -0
- package/doc/type-aliases/Parameters.md +13 -0
- package/doc/type-aliases/Path.md +19 -0
- package/doc/type-aliases/PathFiltered.md +21 -0
- package/doc/type-aliases/Query.md +19 -0
- package/doc/type-aliases/QueryAggregate.md +71 -0
- package/doc/type-aliases/QueryCreate.md +53 -0
- package/doc/type-aliases/QueryCreateMultiple.md +51 -0
- package/doc/type-aliases/QueryDelete.md +51 -0
- package/doc/type-aliases/QueryDeleteMultiple.md +51 -0
- package/doc/type-aliases/QueryMethod.md +15 -0
- package/doc/type-aliases/QueryRead.md +79 -0
- package/doc/type-aliases/QueryReadMultiple.md +83 -0
- package/doc/type-aliases/QuerySettings.md +63 -0
- package/doc/type-aliases/QueryUpdate.md +71 -0
- package/doc/type-aliases/QueryUpdateMultiple.md +75 -0
- package/doc/type-aliases/Result.md +19 -0
- package/doc/type-aliases/Store.md +61 -0
- package/doc/type-aliases/Value.md +21 -0
- package/lib/middlewares/aggregate.ts +1 -1
- package/lib/middlewares/fetchExternal.ts +1 -1
- package/lib/middlewares/retry.ts +1 -1
- package/lib/tools/fieldListFromFilter.ts +41 -0
- package/lib/tools/get.test.ts +13 -4
- package/lib/tools/get.ts +1 -11
- package/lib/tools/normalizeOrder.ts +19 -8
- package/lib/tools/queryItemList.test.ts +61 -0
- package/lib/tools/queryItemList.ts +93 -50
- package/lib/tools/reverseOrder.ts +22 -0
- package/lib/tools/sortItemList.ts +11 -8
- package/lib/tools/testFilter.ts +2 -2
- package/lib/tools.ts +2 -0
- package/lib/types/AggregateFunction.ts +4 -0
- package/lib/types/FieldFiltered.ts +2 -2
- package/lib/types/FilterField.ts +1 -1
- package/lib/types/Get.ts +4 -2
- package/lib/types/Increment.ts +5 -0
- package/lib/types/Join.ts +12 -0
- package/lib/types/Order.ts +4 -2
- package/lib/types/Path.ts +7 -3
- package/lib/types/PathFiltered.ts +9 -3
- package/lib/types/QueryAggregate.ts +16 -0
- package/lib/types/QueryRead.ts +5 -2
- package/lib/types/QuerySettings.ts +1 -0
- package/lib/types.ts +2 -0
- package/package.json +30 -29
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { KeyFiltered } from "./KeyFiltered";
|
|
2
2
|
import type { PathFiltered } from "./PathFiltered";
|
|
3
|
-
export type FieldFiltered<T extends object, P> = KeyFiltered<T
|
|
3
|
+
export type FieldFiltered<T extends object, P> = KeyFiltered<Required<T>, P> | PathFiltered<Required<T>, P>;
|
package/dist/types/Filter.js
CHANGED
package/dist/types/Get.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Path } from "./Path";
|
|
2
2
|
/**
|
|
3
|
-
* Returns the type of the property at the specified `
|
|
3
|
+
* Returns the type of the property at the specified `P` path.
|
|
4
4
|
*/
|
|
5
|
-
export type Get<T, P> = [P] extends [[infer K, ...infer R]] ? K extends keyof T ? R extends Path<T[K]> ? Get<T[K], R> : T[K] : never :
|
|
5
|
+
export type Get<T, P> = [P] extends [[infer K, ...infer R]] ? K extends keyof T ? R extends Path<T[K]> ? Get<T[K], R> : T[K] : never : [P] extends [keyof T] ? T[P] : T;
|
package/dist/types/Get.js
CHANGED
package/dist/types/Group.js
CHANGED
package/dist/types/Handler.js
CHANGED
package/dist/types/Immutable.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=Increment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Increment.js","sourceRoot":"","sources":["../../lib/types/Increment.ts"],"names":[],"mappings":""}
|
package/dist/types/Item.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Join<T extends Array<any>, Separator extends string = "."> = T extends readonly [infer I, ...infer R] ? I extends string | number ? R extends [] ? I : R extends string[] ? `${I}${Separator}${Join<R, Separator>}` : never : never : never;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=Join.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Join.js","sourceRoot":"","sources":["../../lib/types/Join.ts"],"names":[],"mappings":""}
|
package/dist/types/Key.js
CHANGED
package/dist/types/Locale.js
CHANGED
package/dist/types/Mutable.js
CHANGED
package/dist/types/Order.d.ts
CHANGED
package/dist/types/Order.js
CHANGED
package/dist/types/Parameters.js
CHANGED
package/dist/types/Path.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { Increment } from "./Increment";
|
|
2
|
+
export type Path<T, D = 0> = D extends 4 ? never : T extends Array<infer P> ? [number] | [number, ...Path<P, Increment<D>>] : T extends object ? {
|
|
3
|
+
[K in keyof T]-?: [K] | [K, ...Path<T[K], Increment<D>>];
|
|
3
4
|
}[keyof T] : never;
|
package/dist/types/Path.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { Increment } from "./Increment";
|
|
2
|
+
export type PathFiltered<T, P, D = 0> = D extends 4 ? never : T extends Array<infer I> ? I extends P ? [number] : [number, ...PathFiltered<I, P, Increment<D>>] : T extends object ? {
|
|
3
|
+
[K in keyof T]-?: T[K] extends P ? [K] : [K, ...PathFiltered<T[K], P, Increment<D>>];
|
|
3
4
|
}[keyof T] : never;
|
package/dist/types/Query.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AggregateFunction } from "./AggregateFunction";
|
|
2
2
|
import type { Context } from "./Context";
|
|
3
3
|
import type { Filter } from "./Filter";
|
|
4
|
+
import type { Order } from "./Order";
|
|
4
5
|
import type { Parameters } from "./Parameters";
|
|
5
6
|
import type { QuerySettings } from "./QuerySettings";
|
|
6
7
|
/**
|
|
@@ -13,7 +14,22 @@ export type QueryAggregate<T extends object> = {
|
|
|
13
14
|
*/
|
|
14
15
|
context?: Context<T>;
|
|
15
16
|
aggregator: AggregateFunction<T>;
|
|
17
|
+
/**
|
|
18
|
+
* Filter that picks the items.
|
|
19
|
+
*/
|
|
16
20
|
filter?: Filter<T>;
|
|
21
|
+
/**
|
|
22
|
+
* Order by which the items should be sorted.
|
|
23
|
+
*/
|
|
24
|
+
order?: Order<T>[];
|
|
25
|
+
/**
|
|
26
|
+
* Offset of the first matching item.
|
|
27
|
+
*/
|
|
28
|
+
offset?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Upper bound of the number of items to return.
|
|
31
|
+
*/
|
|
32
|
+
limit?: number;
|
|
17
33
|
/**
|
|
18
34
|
* Query parameters.
|
|
19
35
|
*/
|
|
@@ -10,10 +10,13 @@ export type QueryRead<T extends object> = {
|
|
|
10
10
|
method?: "read";
|
|
11
11
|
multiple?: false;
|
|
12
12
|
/**
|
|
13
|
-
* Common item properties to use for identifying the context in which to
|
|
13
|
+
* Common item properties to use for identifying the context in which to get the item.
|
|
14
14
|
*/
|
|
15
15
|
context?: Context<T>;
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Offset of the first matching item.
|
|
18
|
+
*/
|
|
19
|
+
offset?: number;
|
|
17
20
|
limit?: never;
|
|
18
21
|
group?: never;
|
|
19
22
|
/**
|
package/dist/types/QueryRead.js
CHANGED
package/dist/types/Result.js
CHANGED
package/dist/types/Store.js
CHANGED
package/dist/types/Value.js
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -27,8 +27,10 @@ export type { Get } from "./types/Get";
|
|
|
27
27
|
export type { Group } from "./types/Group";
|
|
28
28
|
export type { Handler } from "./types/Handler";
|
|
29
29
|
export type { Immutable } from "./types/Immutable";
|
|
30
|
+
export type { Increment } from "./types/Increment";
|
|
30
31
|
export type { InjectCustomFields } from "./types/InjectCustomFields";
|
|
31
32
|
export type { Item } from "./types/Item";
|
|
33
|
+
export type { Join } from "./types/Join";
|
|
32
34
|
export type { Key } from "./types/Key";
|
|
33
35
|
export type { KeyFiltered } from "./types/KeyFiltered";
|
|
34
36
|
export type { Locale } from "./types/Locale";
|
package/dist/types.js
CHANGED