quetch 0.33.1 → 0.34.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 (139) hide show
  1. package/dist/tools/defineCustomFetch.d.ts +2 -2
  2. package/dist/tools/defineCustomFetch.js.map +1 -1
  3. package/dist/tools/defineGenericFetch.d.ts +2 -2
  4. package/dist/tools/defineGenericFetch.js.map +1 -1
  5. package/dist/types/CombineUnion.d.ts +1 -1
  6. package/dist/types/Context.d.ts +2 -2
  7. package/dist/types/FieldFiltered.d.ts +3 -0
  8. package/dist/types/FieldKey.d.ts +4 -2
  9. package/dist/types/KeyFiltered.d.ts +1 -2
  10. package/dist/types/Path.d.ts +4 -2
  11. package/dist/types/PathFiltered.d.ts +4 -2
  12. package/dist/types/Primitive.d.ts +3 -0
  13. package/dist/types/Result.d.ts +2 -2
  14. package/dist/types.d.ts +0 -1
  15. package/doc/README.md +0 -1
  16. package/doc/classes/RequestError.md +5 -5
  17. package/doc/functions/aggregate.md +1 -1
  18. package/doc/functions/branch.md +1 -1
  19. package/doc/functions/cache.md +1 -1
  20. package/doc/functions/combine.md +1 -1
  21. package/doc/functions/comparatorFieldValues.md +1 -1
  22. package/doc/functions/cork.md +1 -1
  23. package/doc/functions/defineCheckQuery.md +1 -1
  24. package/doc/functions/defineCustomFetch.md +1 -1
  25. package/doc/functions/defineGenericFetch.md +1 -1
  26. package/doc/functions/escapeRegex.md +1 -1
  27. package/doc/functions/fetchExternal.md +1 -1
  28. package/doc/functions/fetchLocal.md +1 -1
  29. package/doc/functions/fieldListFromFilter.md +1 -1
  30. package/doc/functions/fieldListUnion.md +1 -1
  31. package/doc/functions/filterChildren.md +1 -1
  32. package/doc/functions/filterFromValue.md +1 -1
  33. package/doc/functions/get.md +1 -1
  34. package/doc/functions/groupFilters.md +1 -1
  35. package/doc/functions/identity.md +1 -1
  36. package/doc/functions/intrinsicFilter.md +1 -1
  37. package/doc/functions/isFilterGroup.md +1 -1
  38. package/doc/functions/log.md +1 -1
  39. package/doc/functions/normalizeOrder.md +1 -1
  40. package/doc/functions/queryItemList.md +1 -1
  41. package/doc/functions/querySettings.md +1 -1
  42. package/doc/functions/retry.md +1 -1
  43. package/doc/functions/reverseOrder.md +1 -1
  44. package/doc/functions/sameField.md +1 -1
  45. package/doc/functions/sortItemList.md +1 -1
  46. package/doc/functions/splitPath.md +2 -2
  47. package/doc/functions/testFilter.md +1 -1
  48. package/doc/functions/transformerFilterChildren.md +1 -1
  49. package/doc/interfaces/CustomFetch.md +1 -1
  50. package/doc/type-aliases/AggregateFunction.md +1 -1
  51. package/doc/type-aliases/AggregateFunctionOperator.md +1 -1
  52. package/doc/type-aliases/CombineUnion.md +2 -2
  53. package/doc/type-aliases/Context.md +2 -2
  54. package/doc/type-aliases/CustomFieldAggregateMap.md +1 -1
  55. package/doc/type-aliases/CustomFieldMap.md +1 -1
  56. package/doc/type-aliases/Decrement.md +1 -1
  57. package/doc/type-aliases/DepthLimit.md +1 -1
  58. package/doc/type-aliases/Field.md +1 -1
  59. package/doc/type-aliases/FieldFiltered.md +3 -1
  60. package/doc/type-aliases/FieldFunction.md +1 -1
  61. package/doc/type-aliases/FieldFunctionCustom.md +1 -1
  62. package/doc/type-aliases/FieldFunctionFormatDate.md +1 -1
  63. package/doc/type-aliases/FieldFunctionReturn.md +1 -1
  64. package/doc/type-aliases/FieldKey.md +4 -2
  65. package/doc/type-aliases/FieldMap.md +1 -1
  66. package/doc/type-aliases/Filter.md +1 -1
  67. package/doc/type-aliases/FilterArray.md +1 -1
  68. package/doc/type-aliases/FilterBoolean.md +1 -1
  69. package/doc/type-aliases/FilterChildren.md +1 -1
  70. package/doc/type-aliases/FilterCustom.md +1 -1
  71. package/doc/type-aliases/FilterField.md +1 -1
  72. package/doc/type-aliases/FilterGroup.md +1 -1
  73. package/doc/type-aliases/FilterNumber.md +1 -1
  74. package/doc/type-aliases/FilterOperator.md +1 -1
  75. package/doc/type-aliases/FilterString.md +1 -1
  76. package/doc/type-aliases/FilterStringIntersect.md +1 -1
  77. package/doc/type-aliases/FilterStringMatch.md +1 -1
  78. package/doc/type-aliases/FilterWithField.md +1 -1
  79. package/doc/type-aliases/Get.md +1 -1
  80. package/doc/type-aliases/Group.md +1 -1
  81. package/doc/type-aliases/Handler.md +1 -1
  82. package/doc/type-aliases/Immutable.md +1 -1
  83. package/doc/type-aliases/InjectCustomFields.md +1 -1
  84. package/doc/type-aliases/IntersectUnion.md +1 -1
  85. package/doc/type-aliases/IntrinsicFilter.md +1 -1
  86. package/doc/type-aliases/Item.md +1 -1
  87. package/doc/type-aliases/Join.md +1 -1
  88. package/doc/type-aliases/KeyFiltered.md +2 -2
  89. package/doc/type-aliases/KeyFromUnion.md +1 -1
  90. package/doc/type-aliases/Locale.md +1 -1
  91. package/doc/type-aliases/NextHandler.md +1 -1
  92. package/doc/type-aliases/NormalizedPathFieldSettings.md +1 -1
  93. package/doc/type-aliases/Order.md +1 -1
  94. package/doc/type-aliases/OrderNormalized.md +1 -1
  95. package/doc/type-aliases/Parameters.md +1 -1
  96. package/doc/type-aliases/Path.md +4 -2
  97. package/doc/type-aliases/PathFiltered.md +4 -2
  98. package/doc/type-aliases/Prettify.md +1 -1
  99. package/doc/type-aliases/Primitive.md +3 -1
  100. package/doc/type-aliases/PrimitiveObject.md +1 -1
  101. package/doc/type-aliases/Query.md +1 -1
  102. package/doc/type-aliases/QueryAggregate.md +1 -1
  103. package/doc/type-aliases/QueryCreate.md +1 -1
  104. package/doc/type-aliases/QueryCreateMultiple.md +1 -1
  105. package/doc/type-aliases/QueryDelete.md +1 -1
  106. package/doc/type-aliases/QueryDeleteMultiple.md +1 -1
  107. package/doc/type-aliases/QueryMethod.md +1 -1
  108. package/doc/type-aliases/QueryRead.md +1 -1
  109. package/doc/type-aliases/QueryReadMultiple.md +1 -1
  110. package/doc/type-aliases/QuerySettings.md +1 -1
  111. package/doc/type-aliases/QueryUpdate.md +1 -1
  112. package/doc/type-aliases/QueryUpdateMultiple.md +1 -1
  113. package/doc/type-aliases/Result.md +1 -1
  114. package/doc/type-aliases/Store.md +1 -1
  115. package/doc/type-aliases/Value.md +1 -1
  116. package/doc/type-aliases/ValueMap.md +1 -1
  117. package/doc/variables/CACHE.md +1 -1
  118. package/doc/variables/COLLATOR_DEFAULT.md +1 -1
  119. package/doc/variables/FILTER_ANY.md +1 -1
  120. package/doc/variables/FILTER_NONE.md +1 -1
  121. package/doc/variables/SELF.md +1 -1
  122. package/lib/tools/defineCustomFetch.ts +7 -2
  123. package/lib/tools/defineGenericFetch.ts +7 -2
  124. package/lib/types/CombineUnion.ts +1 -1
  125. package/lib/types/Context.ts +10 -6
  126. package/lib/types/FieldFiltered.ts +3 -0
  127. package/lib/types/FieldKey.ts +5 -3
  128. package/lib/types/KeyFiltered.ts +2 -4
  129. package/lib/types/Path.ts +6 -4
  130. package/lib/types/PathFiltered.ts +5 -3
  131. package/lib/types/Primitive.ts +3 -0
  132. package/lib/types/Result.ts +27 -25
  133. package/lib/types.ts +0 -1
  134. package/package.json +1 -1
  135. package/dist/types/Key.d.ts +0 -1
  136. package/dist/types/Key.js +0 -1
  137. package/dist/types/Key.js.map +0 -1
  138. package/doc/type-aliases/Key.md +0 -13
  139. package/lib/types/Key.ts +0 -1
package/lib/types/Path.ts CHANGED
@@ -1,15 +1,17 @@
1
1
  import type { Decrement } from "./Decrement";
2
2
  import type { DepthLimit } from "./DepthLimit";
3
- import type { Key } from "./Key";
4
3
  import type { Primitive } from "./Primitive";
5
4
 
5
+ /**
6
+ * Returns the type of paths that can be used to select fields from a value of type `T`, with an optional depth limit `D`.
7
+ */
6
8
  export type Path<T, D = DepthLimit> = [unknown] extends [T]
7
- ? readonly (Key | never)[]
9
+ ? readonly (PropertyKey | never)[]
8
10
  : [0] extends [1 & T]
9
- ? readonly (Key | never)[]
11
+ ? readonly (PropertyKey | never)[]
10
12
  : D extends -1
11
13
  ? never
12
- : T extends Primitive
14
+ : T extends Primitive | undefined
13
15
  ? readonly never[]
14
16
  : T extends Array<infer P>
15
17
  ? readonly [number] | readonly [number, ...Path<P, Decrement<D>>]
@@ -1,11 +1,13 @@
1
1
  import type { Decrement } from "./Decrement";
2
2
  import type { DepthLimit } from "./DepthLimit";
3
- import type { Key } from "./Key";
4
3
 
4
+ /**
5
+ * Returns the type of paths that can be used to select fields from a value of type `T` whose mapped value extend the provided `P` type, with an optional depth limit `D`.
6
+ */
5
7
  export type PathFiltered<T, P, D = DepthLimit> = [unknown] extends [T]
6
- ? readonly (Key | never)[]
8
+ ? readonly (PropertyKey | never)[]
7
9
  : [0] extends [1 & T]
8
- ? readonly (Key | never)[]
10
+ ? readonly (PropertyKey | never)[]
9
11
  : D extends -1
10
12
  ? never
11
13
  : T extends P
@@ -1 +1,4 @@
1
+ /**
2
+ * Defined primitive types.
3
+ */
1
4
  export type Primitive = string | number | boolean | bigint | symbol;
@@ -8,37 +8,39 @@ import type { QueryRead } from "./QueryRead";
8
8
  import type { QueryReadMultiple } from "./QueryReadMultiple";
9
9
 
10
10
  /**
11
- * Picks fields `F` from object `T`.
11
+ * Picks fields `F` from value `T`.
12
12
  */
13
13
  type PickFields<T, F extends readonly Field<T>[]> = [unknown] extends [T]
14
14
  ? T
15
15
  : T extends Primitive
16
16
  ? T
17
- : [F] extends [readonly [infer J, ...infer R]]
18
- ? Merge<
19
- | // J is a single key
20
- ([J] extends [keyof T]
21
- ? PickField<T, J, T[J]>
22
- : // J is a path
23
- [J] extends [readonly [infer K, ...infer S]]
24
- ? [K] extends [keyof T]
25
- ? PickField<
26
- T,
27
- K,
28
- PickFields<
29
- T[K],
30
- S extends readonly Field<T[K]>[] ? S : never
17
+ : T extends undefined
18
+ ? never
19
+ : [F] extends [readonly [infer J, ...infer R]]
20
+ ? Merge<
21
+ | // J is a single key
22
+ ([J] extends [keyof T]
23
+ ? PickField<T, J, T[J]>
24
+ : // J is a path
25
+ [J] extends [readonly [infer K, ...infer S]]
26
+ ? [K] extends [keyof T]
27
+ ? PickField<
28
+ T,
29
+ K,
30
+ PickFields<
31
+ T[K],
32
+ S extends readonly Field<T[K]>[] ? S : never
33
+ >
31
34
  >
32
- >
33
- : never
34
- : never)
35
- | (R extends readonly never[]
36
- ? never
37
- : R extends readonly Field<T>[]
38
- ? PickFields<T, R>
39
- : never)
40
- >
41
- : never;
35
+ : never
36
+ : never)
37
+ | (R extends readonly never[]
38
+ ? never
39
+ : R extends readonly Field<T>[]
40
+ ? PickFields<T, R>
41
+ : never)
42
+ >
43
+ : never;
42
44
 
43
45
  type Merge<T> = Prettify<IntersectUnion<T>>;
44
46
 
package/lib/types.ts CHANGED
@@ -38,7 +38,6 @@ export type { IntersectUnion } from "./types/IntersectUnion";
38
38
  export type { IntrinsicFilter } from "./types/IntrinsicFilter";
39
39
  export type { Item } from "./types/Item";
40
40
  export type { Join } from "./types/Join";
41
- export type { Key } from "./types/Key";
42
41
  export type { KeyFiltered } from "./types/KeyFiltered";
43
42
  export type { KeyFromUnion } from "./types/KeyFromUnion";
44
43
  export type { Locale } from "./types/Locale";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quetch",
3
- "version": "0.33.1",
3
+ "version": "0.34.0",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "exports": {
@@ -1 +0,0 @@
1
- export type Key = string | number | symbol;
package/dist/types/Key.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=Key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Key.js","sourceRoot":"","sources":["../../lib/types/Key.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- [**quetch**](../README.md)
2
-
3
- ***
4
-
5
- [quetch](../README.md) / Key
6
-
7
- # Type Alias: Key
8
-
9
- > **Key**: `string` \| `number` \| `symbol`
10
-
11
- ## Defined in
12
-
13
- [lib/types/Key.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Key.ts#L1)
package/lib/types/Key.ts DELETED
@@ -1 +0,0 @@
1
- export type Key = string | number | symbol;