quetch 0.33.1 → 0.33.2

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 (124) hide show
  1. package/dist/types/CombineUnion.d.ts +1 -1
  2. package/dist/types/Context.d.ts +2 -2
  3. package/dist/types/FieldFiltered.d.ts +3 -0
  4. package/dist/types/FieldKey.d.ts +4 -1
  5. package/dist/types/Path.d.ts +4 -1
  6. package/dist/types/PathFiltered.d.ts +3 -0
  7. package/dist/types/Primitive.d.ts +3 -0
  8. package/dist/types/Result.d.ts +2 -2
  9. package/doc/classes/RequestError.md +5 -5
  10. package/doc/functions/aggregate.md +1 -1
  11. package/doc/functions/branch.md +1 -1
  12. package/doc/functions/cache.md +1 -1
  13. package/doc/functions/combine.md +1 -1
  14. package/doc/functions/comparatorFieldValues.md +1 -1
  15. package/doc/functions/cork.md +1 -1
  16. package/doc/functions/defineCheckQuery.md +1 -1
  17. package/doc/functions/defineCustomFetch.md +1 -1
  18. package/doc/functions/defineGenericFetch.md +1 -1
  19. package/doc/functions/escapeRegex.md +1 -1
  20. package/doc/functions/fetchExternal.md +1 -1
  21. package/doc/functions/fetchLocal.md +1 -1
  22. package/doc/functions/fieldListFromFilter.md +1 -1
  23. package/doc/functions/fieldListUnion.md +1 -1
  24. package/doc/functions/filterChildren.md +1 -1
  25. package/doc/functions/filterFromValue.md +1 -1
  26. package/doc/functions/get.md +1 -1
  27. package/doc/functions/groupFilters.md +1 -1
  28. package/doc/functions/identity.md +1 -1
  29. package/doc/functions/intrinsicFilter.md +1 -1
  30. package/doc/functions/isFilterGroup.md +1 -1
  31. package/doc/functions/log.md +1 -1
  32. package/doc/functions/normalizeOrder.md +1 -1
  33. package/doc/functions/queryItemList.md +1 -1
  34. package/doc/functions/querySettings.md +1 -1
  35. package/doc/functions/retry.md +1 -1
  36. package/doc/functions/reverseOrder.md +1 -1
  37. package/doc/functions/sameField.md +1 -1
  38. package/doc/functions/sortItemList.md +1 -1
  39. package/doc/functions/splitPath.md +2 -2
  40. package/doc/functions/testFilter.md +1 -1
  41. package/doc/functions/transformerFilterChildren.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 +2 -2
  46. package/doc/type-aliases/Context.md +2 -2
  47. package/doc/type-aliases/CustomFieldAggregateMap.md +1 -1
  48. package/doc/type-aliases/CustomFieldMap.md +1 -1
  49. package/doc/type-aliases/Decrement.md +1 -1
  50. package/doc/type-aliases/DepthLimit.md +1 -1
  51. package/doc/type-aliases/Field.md +1 -1
  52. package/doc/type-aliases/FieldFiltered.md +3 -1
  53. package/doc/type-aliases/FieldFunction.md +1 -1
  54. package/doc/type-aliases/FieldFunctionCustom.md +1 -1
  55. package/doc/type-aliases/FieldFunctionFormatDate.md +1 -1
  56. package/doc/type-aliases/FieldFunctionReturn.md +1 -1
  57. package/doc/type-aliases/FieldKey.md +4 -2
  58. package/doc/type-aliases/FieldMap.md +1 -1
  59. package/doc/type-aliases/Filter.md +1 -1
  60. package/doc/type-aliases/FilterArray.md +1 -1
  61. package/doc/type-aliases/FilterBoolean.md +1 -1
  62. package/doc/type-aliases/FilterChildren.md +1 -1
  63. package/doc/type-aliases/FilterCustom.md +1 -1
  64. package/doc/type-aliases/FilterField.md +1 -1
  65. package/doc/type-aliases/FilterGroup.md +1 -1
  66. package/doc/type-aliases/FilterNumber.md +1 -1
  67. package/doc/type-aliases/FilterOperator.md +1 -1
  68. package/doc/type-aliases/FilterString.md +1 -1
  69. package/doc/type-aliases/FilterStringIntersect.md +1 -1
  70. package/doc/type-aliases/FilterStringMatch.md +1 -1
  71. package/doc/type-aliases/FilterWithField.md +1 -1
  72. package/doc/type-aliases/Get.md +1 -1
  73. package/doc/type-aliases/Group.md +1 -1
  74. package/doc/type-aliases/Handler.md +1 -1
  75. package/doc/type-aliases/Immutable.md +1 -1
  76. package/doc/type-aliases/InjectCustomFields.md +1 -1
  77. package/doc/type-aliases/IntersectUnion.md +1 -1
  78. package/doc/type-aliases/IntrinsicFilter.md +1 -1
  79. package/doc/type-aliases/Item.md +1 -1
  80. package/doc/type-aliases/Join.md +1 -1
  81. package/doc/type-aliases/Key.md +1 -1
  82. package/doc/type-aliases/KeyFiltered.md +1 -1
  83. package/doc/type-aliases/KeyFromUnion.md +1 -1
  84. package/doc/type-aliases/Locale.md +1 -1
  85. package/doc/type-aliases/NextHandler.md +1 -1
  86. package/doc/type-aliases/NormalizedPathFieldSettings.md +1 -1
  87. package/doc/type-aliases/Order.md +1 -1
  88. package/doc/type-aliases/OrderNormalized.md +1 -1
  89. package/doc/type-aliases/Parameters.md +1 -1
  90. package/doc/type-aliases/Path.md +4 -2
  91. package/doc/type-aliases/PathFiltered.md +3 -1
  92. package/doc/type-aliases/Prettify.md +1 -1
  93. package/doc/type-aliases/Primitive.md +3 -1
  94. package/doc/type-aliases/PrimitiveObject.md +1 -1
  95. package/doc/type-aliases/Query.md +1 -1
  96. package/doc/type-aliases/QueryAggregate.md +1 -1
  97. package/doc/type-aliases/QueryCreate.md +1 -1
  98. package/doc/type-aliases/QueryCreateMultiple.md +1 -1
  99. package/doc/type-aliases/QueryDelete.md +1 -1
  100. package/doc/type-aliases/QueryDeleteMultiple.md +1 -1
  101. package/doc/type-aliases/QueryMethod.md +1 -1
  102. package/doc/type-aliases/QueryRead.md +1 -1
  103. package/doc/type-aliases/QueryReadMultiple.md +1 -1
  104. package/doc/type-aliases/QuerySettings.md +1 -1
  105. package/doc/type-aliases/QueryUpdate.md +1 -1
  106. package/doc/type-aliases/QueryUpdateMultiple.md +1 -1
  107. package/doc/type-aliases/Result.md +1 -1
  108. package/doc/type-aliases/Store.md +1 -1
  109. package/doc/type-aliases/Value.md +1 -1
  110. package/doc/type-aliases/ValueMap.md +1 -1
  111. package/doc/variables/CACHE.md +1 -1
  112. package/doc/variables/COLLATOR_DEFAULT.md +1 -1
  113. package/doc/variables/FILTER_ANY.md +1 -1
  114. package/doc/variables/FILTER_NONE.md +1 -1
  115. package/doc/variables/SELF.md +1 -1
  116. package/lib/types/CombineUnion.ts +1 -1
  117. package/lib/types/Context.ts +10 -6
  118. package/lib/types/FieldFiltered.ts +3 -0
  119. package/lib/types/FieldKey.ts +4 -1
  120. package/lib/types/Path.ts +4 -1
  121. package/lib/types/PathFiltered.ts +3 -0
  122. package/lib/types/Primitive.ts +3 -0
  123. package/lib/types/Result.ts +27 -25
  124. package/package.json +1 -1
@@ -26,4 +26,4 @@ Checks if a given number field matches a given number value according to a given
26
26
 
27
27
  ## Defined in
28
28
 
29
- [lib/types/FilterNumber.ts:7](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/FilterNumber.ts#L7)
29
+ [lib/types/FilterNumber.ts:7](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/FilterNumber.ts#L7)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/types/FilterOperator.ts:3](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/FilterOperator.ts#L3)
13
+ [lib/types/FilterOperator.ts:3](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/FilterOperator.ts#L3)
@@ -34,4 +34,4 @@ Checks if a given string field matches a given string value according to a given
34
34
 
35
35
  ## Defined in
36
36
 
37
- [lib/types/FilterString.ts:8](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/FilterString.ts#L8)
37
+ [lib/types/FilterString.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/FilterString.ts#L8)
@@ -34,4 +34,4 @@ Checks if a given string field has any of the provided values.
34
34
 
35
35
  ## Defined in
36
36
 
37
- [lib/types/FilterStringIntersect.ts:8](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/FilterStringIntersect.ts#L8)
37
+ [lib/types/FilterStringIntersect.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/FilterStringIntersect.ts#L8)
@@ -50,4 +50,4 @@ Ignore casing differences if `true`.
50
50
 
51
51
  ## Defined in
52
52
 
53
- [lib/types/FilterStringMatch.ts:9](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/FilterStringMatch.ts#L9)
53
+ [lib/types/FilterStringMatch.ts:9](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/FilterStringMatch.ts#L9)
@@ -16,4 +16,4 @@ A filter that includes a field.
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/FilterWithField.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/FilterWithField.ts#L6)
19
+ [lib/types/FilterWithField.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/FilterWithField.ts#L6)
@@ -20,4 +20,4 @@ Returns the type of the property at the specified `P` path.
20
20
 
21
21
  ## Defined in
22
22
 
23
- [lib/types/Get.ts:8](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Get.ts#L8)
23
+ [lib/types/Get.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Get.ts#L8)
@@ -16,4 +16,4 @@ Specifies how items should be grouped.
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/Group.ts:4](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Group.ts#L4)
19
+ [lib/types/Group.ts:4](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Group.ts#L4)
@@ -36,4 +36,4 @@ Handles an `input` query and returns an `output` promise, eventually using the `
36
36
 
37
37
  ## Defined in
38
38
 
39
- [lib/types/Handler.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Handler.ts#L6)
39
+ [lib/types/Handler.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Handler.ts#L6)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/Immutable.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Immutable.ts#L1)
17
+ [lib/types/Immutable.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Immutable.ts#L1)
@@ -18,4 +18,4 @@ Injects the custom fields into the entity type.
18
18
 
19
19
  ## Defined in
20
20
 
21
- [lib/types/InjectCustomFields.ts:8](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/InjectCustomFields.ts#L8)
21
+ [lib/types/InjectCustomFields.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/InjectCustomFields.ts#L8)
@@ -16,4 +16,4 @@ Converts a union type to an intersection type.
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/IntersectUnion.ts:4](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/IntersectUnion.ts#L4)
19
+ [lib/types/IntersectUnion.ts:4](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/IntersectUnion.ts#L4)
@@ -16,4 +16,4 @@ Filter that does not rely on query settings, and thus can be evaluated directly
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/IntrinsicFilter.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/IntrinsicFilter.ts#L6)
19
+ [lib/types/IntrinsicFilter.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/IntrinsicFilter.ts#L6)
@@ -18,4 +18,4 @@ Returns the inferred item type of an array, or an alternative type if it is some
18
18
 
19
19
  ## Defined in
20
20
 
21
- [lib/types/Item.ts:4](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Item.ts#L4)
21
+ [lib/types/Item.ts:4](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Item.ts#L4)
@@ -16,4 +16,4 @@
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/Join.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Join.ts#L1)
19
+ [lib/types/Join.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Join.ts#L1)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/types/Key.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Key.ts#L1)
13
+ [lib/types/Key.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Key.ts#L1)
@@ -18,4 +18,4 @@ Returns union of keys whose mapped value extend the provided `P` type.
18
18
 
19
19
  ## Defined in
20
20
 
21
- [lib/types/KeyFiltered.ts:10](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/KeyFiltered.ts#L10)
21
+ [lib/types/KeyFiltered.ts:10](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/KeyFiltered.ts#L10)
@@ -14,4 +14,4 @@
14
14
 
15
15
  ## Defined in
16
16
 
17
- [lib/types/KeyFromUnion.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/KeyFromUnion.ts#L1)
17
+ [lib/types/KeyFromUnion.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/KeyFromUnion.ts#L1)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/types/Locale.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Locale.ts#L1)
13
+ [lib/types/Locale.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Locale.ts#L1)
@@ -28,4 +28,4 @@ Handles an `input` query and returns an `output` promise.
28
28
 
29
29
  ## Defined in
30
30
 
31
- [lib/types/NextHandler.ts:4](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/NextHandler.ts#L4)
31
+ [lib/types/NextHandler.ts:4](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/NextHandler.ts#L4)
@@ -60,4 +60,4 @@ String used to escape the separator.
60
60
 
61
61
  ## Defined in
62
62
 
63
- [lib/types/NormalizedPathFieldSettings.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/NormalizedPathFieldSettings.ts#L6)
63
+ [lib/types/NormalizedPathFieldSettings.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/NormalizedPathFieldSettings.ts#L6)
@@ -16,4 +16,4 @@ Order item.
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/Order.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Order.ts#L6)
19
+ [lib/types/Order.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Order.ts#L6)
@@ -24,4 +24,4 @@
24
24
 
25
25
  ## Defined in
26
26
 
27
- [lib/types/OrderNormalized.ts:3](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/OrderNormalized.ts#L3)
27
+ [lib/types/OrderNormalized.ts:3](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/OrderNormalized.ts#L3)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/types/Parameters.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Parameters.ts#L1)
13
+ [lib/types/Parameters.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Parameters.ts#L1)
@@ -6,7 +6,9 @@
6
6
 
7
7
  # Type Alias: Path\<T, D\>
8
8
 
9
- > **Path**\<`T`, `D`\>: [`unknown`] *extends* [`T`] ? readonly ([`Key`](Key.md) \| `never`)[] : [`0`] *extends* [`1` & `T`] ? readonly ([`Key`](Key.md) \| `never`)[] : `D` *extends* `-1` ? `never` : `T` *extends* [`Primitive`](Primitive.md) ? readonly `never`[] : `T` *extends* infer P[] ? readonly [`number`] \| readonly [`number`, `...Path<P, Decrement<(...)>>`] : `T` *extends* `object` ? \{ \[K in keyof T\]: readonly \[(...)\] \| readonly \[(...), (...)\] \}\[keyof `T`\] : `never`
9
+ > **Path**\<`T`, `D`\>: [`unknown`] *extends* [`T`] ? readonly ([`Key`](Key.md) \| `never`)[] : [`0`] *extends* [`1` & `T`] ? readonly ([`Key`](Key.md) \| `never`)[] : `D` *extends* `-1` ? `never` : `T` *extends* [`Primitive`](Primitive.md) \| `undefined` ? readonly `never`[] : `T` *extends* infer P[] ? readonly [`number`] \| readonly [`number`, `...Path<P, Decrement<(...)>>`] : `T` *extends* `object` ? \{ \[K in keyof T\]: readonly \[(...)\] \| readonly \[(...), (...)\] \}\[keyof `T`\] : `never`
10
+
11
+ Returns the type of paths that can be used to select fields from a value of type `T`, with an optional depth limit `D`.
10
12
 
11
13
  ## Type Parameters
12
14
 
@@ -16,4 +18,4 @@
16
18
 
17
19
  ## Defined in
18
20
 
19
- [lib/types/Path.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Path.ts#L6)
21
+ [lib/types/Path.ts:9](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Path.ts#L9)
@@ -8,6 +8,8 @@
8
8
 
9
9
  > **PathFiltered**\<`T`, `P`, `D`\>: [`unknown`] *extends* [`T`] ? readonly ([`Key`](Key.md) \| `never`)[] : [`0`] *extends* [`1` & `T`] ? readonly ([`Key`](Key.md) \| `never`)[] : `D` *extends* `-1` ? `never` : `T` *extends* `P` ? readonly `never`[] : `T` *extends* `ReadonlyArray`\<infer I\> ? `Extract`\<`I`, `P`\> *extends* `never` ? readonly [`number`, `...PathFiltered<I, P, Decrement<(...)>>`] : readonly [`number`] : `T` *extends* `object` ? `{ [K in keyof T]: Extract<(...)[(...)], P> extends never ? readonly [(...), (...)] : readonly [(...)] }`\[keyof `T`\] : `never`
10
10
 
11
+ 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`.
12
+
11
13
  ## Type Parameters
12
14
 
13
15
  • **T**
@@ -18,4 +20,4 @@
18
20
 
19
21
  ## Defined in
20
22
 
21
- [lib/types/PathFiltered.ts:5](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/PathFiltered.ts#L5)
23
+ [lib/types/PathFiltered.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/PathFiltered.ts#L8)
@@ -16,4 +16,4 @@ Prettifies a type by recursively removing any intersections or unions.
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/Prettify.ts:4](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Prettify.ts#L4)
19
+ [lib/types/Prettify.ts:4](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Prettify.ts#L4)
@@ -8,6 +8,8 @@
8
8
 
9
9
  > **Primitive**: `string` \| `number` \| `boolean` \| `bigint` \| `symbol`
10
10
 
11
+ Defined primitive types.
12
+
11
13
  ## Defined in
12
14
 
13
- [lib/types/Primitive.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Primitive.ts#L1)
15
+ [lib/types/Primitive.ts:4](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Primitive.ts#L4)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/types/PrimitiveObject.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/PrimitiveObject.ts#L1)
13
+ [lib/types/PrimitiveObject.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/PrimitiveObject.ts#L1)
@@ -16,4 +16,4 @@ Query that fetches or mutates an entity.
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/types/Query.ts:14](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Query.ts#L14)
19
+ [lib/types/Query.ts:14](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Query.ts#L14)
@@ -68,4 +68,4 @@ Query settings.
68
68
 
69
69
  ## Defined in
70
70
 
71
- [lib/types/QueryAggregate.ts:11](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryAggregate.ts#L11)
71
+ [lib/types/QueryAggregate.ts:11](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryAggregate.ts#L11)
@@ -50,4 +50,4 @@ Value properties of the item to create.
50
50
 
51
51
  ## Defined in
52
52
 
53
- [lib/types/QueryCreate.ts:8](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryCreate.ts#L8)
53
+ [lib/types/QueryCreate.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryCreate.ts#L8)
@@ -48,4 +48,4 @@ Query settings.
48
48
 
49
49
  ## Defined in
50
50
 
51
- [lib/types/QueryCreateMultiple.ts:8](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryCreateMultiple.ts#L8)
51
+ [lib/types/QueryCreateMultiple.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryCreateMultiple.ts#L8)
@@ -60,4 +60,4 @@ Query settings.
60
60
 
61
61
  ## Defined in
62
62
 
63
- [lib/types/QueryDelete.ts:9](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryDelete.ts#L9)
63
+ [lib/types/QueryDelete.ts:9](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryDelete.ts#L9)
@@ -62,4 +62,4 @@ Query settings.
62
62
 
63
63
  ## Defined in
64
64
 
65
- [lib/types/QueryDeleteMultiple.ts:9](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryDeleteMultiple.ts#L9)
65
+ [lib/types/QueryDeleteMultiple.ts:9](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryDeleteMultiple.ts#L9)
@@ -12,4 +12,4 @@ Available query methods.
12
12
 
13
13
  ## Defined in
14
14
 
15
- [lib/types/QueryMethod.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryMethod.ts#L6)
15
+ [lib/types/QueryMethod.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryMethod.ts#L6)
@@ -76,4 +76,4 @@ Query settings.
76
76
 
77
77
  ## Defined in
78
78
 
79
- [lib/types/QueryRead.ts:11](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryRead.ts#L11)
79
+ [lib/types/QueryRead.ts:11](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryRead.ts#L11)
@@ -80,4 +80,4 @@ Query settings.
80
80
 
81
81
  ## Defined in
82
82
 
83
- [lib/types/QueryReadMultiple.ts:12](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryReadMultiple.ts#L12)
83
+ [lib/types/QueryReadMultiple.ts:12](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryReadMultiple.ts#L12)
@@ -92,4 +92,4 @@ The second value to compare.
92
92
 
93
93
  ## Defined in
94
94
 
95
- [lib/types/QuerySettings.ts:8](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QuerySettings.ts#L8)
95
+ [lib/types/QuerySettings.ts:8](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QuerySettings.ts#L8)
@@ -68,4 +68,4 @@ Partial property values to update.
68
68
 
69
69
  ## Defined in
70
70
 
71
- [lib/types/QueryUpdate.ts:9](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryUpdate.ts#L9)
71
+ [lib/types/QueryUpdate.ts:9](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryUpdate.ts#L9)
@@ -74,4 +74,4 @@ Partial property values to update.
74
74
 
75
75
  ## Defined in
76
76
 
77
- [lib/types/QueryUpdateMultiple.ts:10](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/QueryUpdateMultiple.ts#L10)
77
+ [lib/types/QueryUpdateMultiple.ts:10](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/QueryUpdateMultiple.ts#L10)
@@ -18,4 +18,4 @@ Result of a read and aggregate query.
18
18
 
19
19
  ## Defined in
20
20
 
21
- [lib/types/Result.ts:64](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Result.ts#L64)
21
+ [lib/types/Result.ts:66](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Result.ts#L66)
@@ -68,4 +68,4 @@
68
68
 
69
69
  ## Defined in
70
70
 
71
- [lib/types/Store.ts:2](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Store.ts#L2)
71
+ [lib/types/Store.ts:2](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Store.ts#L2)
@@ -36,4 +36,4 @@ Path leading to the value.
36
36
 
37
37
  ## Defined in
38
38
 
39
- [lib/types/Value.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/Value.ts#L6)
39
+ [lib/types/Value.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/Value.ts#L6)
@@ -18,4 +18,4 @@ Maps the properties of the provided value `T` to a specific value `V`.
18
18
 
19
19
  ## Defined in
20
20
 
21
- [lib/types/ValueMap.ts:6](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/types/ValueMap.ts#L6)
21
+ [lib/types/ValueMap.ts:6](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/types/ValueMap.ts#L6)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/constants/CACHE.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/constants/CACHE.ts#L1)
13
+ [lib/constants/CACHE.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/constants/CACHE.ts#L1)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/constants/COLLATOR\_DEFAULT.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/constants/COLLATOR_DEFAULT.ts#L1)
13
+ [lib/constants/COLLATOR\_DEFAULT.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/constants/COLLATOR_DEFAULT.ts#L1)
@@ -16,4 +16,4 @@
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/constants/FILTER\_ANY.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/constants/FILTER_ANY.ts#L1)
19
+ [lib/constants/FILTER\_ANY.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/constants/FILTER_ANY.ts#L1)
@@ -16,4 +16,4 @@
16
16
 
17
17
  ## Defined in
18
18
 
19
- [lib/constants/FILTER\_NONE.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/constants/FILTER_NONE.ts#L1)
19
+ [lib/constants/FILTER\_NONE.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/constants/FILTER_NONE.ts#L1)
@@ -10,4 +10,4 @@
10
10
 
11
11
  ## Defined in
12
12
 
13
- [lib/constants/SELF.ts:1](https://github.com/nevoland/quetch/blob/26a6a149fc06ca974acb5d9f3e9fe2273dcb9969/lib/constants/SELF.ts#L1)
13
+ [lib/constants/SELF.ts:1](https://github.com/nevoland/quetch/blob/f06bc3e41c99a7cd13f24ba66911a74f93f25000/lib/constants/SELF.ts#L1)
@@ -7,7 +7,7 @@ export type CombineUnion<U> = [unknown] extends [U]
7
7
  ? any
8
8
  : [U] extends [Function | readonly Function[]]
9
9
  ? undefined
10
- : [U] extends [Primitive]
10
+ : [U] extends [Primitive | undefined]
11
11
  ? U
12
12
  : [U] extends readonly [Array<any>]
13
13
  ? U
@@ -10,10 +10,14 @@ import type { Primitive } from "./Primitive.js";
10
10
  *
11
11
  * It can be a partial object of the type `T` or a primitive value wrapped in an object with the `SELF` key.
12
12
  */
13
- export type Context<T> = [0] extends [1 & T]
13
+ export type Context<T> = [unknown] extends [T]
14
14
  ? any
15
- : T extends Primitive
16
- ? { [SELF]: T }
17
- : {
18
- [K in keyof T]?: T[K];
19
- };
15
+ : [0] extends [1 & T]
16
+ ? any
17
+ : T extends Primitive
18
+ ? { [SELF]: T }
19
+ : T extends undefined
20
+ ? never
21
+ : {
22
+ [K in keyof T]?: T[K];
23
+ };
@@ -2,6 +2,9 @@ import type { CombineUnion } from "./CombineUnion";
2
2
  import type { KeyFiltered } from "./KeyFiltered";
3
3
  import type { PathFiltered } from "./PathFiltered";
4
4
 
5
+ /**
6
+ * Returns union of keys and paths whose mapped value extend the provided `P` type.
7
+ */
5
8
  export type FieldFiltered<T, P> = KeyOrPathFiltered<CombineUnion<T>, P>;
6
9
 
7
10
  type KeyOrPathFiltered<T, P> = KeyFiltered<T, P> | PathFiltered<T, P>;
@@ -3,8 +3,11 @@ import type { SELF } from "../constants/SELF.ts";
3
3
  import type { Key } from "./Key.ts";
4
4
  import type { Primitive } from "./Primitive";
5
5
 
6
+ /**
7
+ * Returns the type of keys that can be used to select fields from a value of type `T`.
8
+ */
6
9
  export type FieldKey<T> = [unknown] extends [T]
7
10
  ? Key
8
- : T extends Primitive
11
+ : T extends Primitive | undefined
9
12
  ? typeof SELF
10
13
  : keyof T;
package/lib/types/Path.ts CHANGED
@@ -3,13 +3,16 @@ import type { DepthLimit } from "./DepthLimit";
3
3
  import type { Key } from "./Key";
4
4
  import type { Primitive } from "./Primitive";
5
5
 
6
+ /**
7
+ * Returns the type of paths that can be used to select fields from a value of type `T`, with an optional depth limit `D`.
8
+ */
6
9
  export type Path<T, D = DepthLimit> = [unknown] extends [T]
7
10
  ? readonly (Key | never)[]
8
11
  : [0] extends [1 & T]
9
12
  ? readonly (Key | never)[]
10
13
  : D extends -1
11
14
  ? never
12
- : T extends Primitive
15
+ : T extends Primitive | undefined
13
16
  ? readonly never[]
14
17
  : T extends Array<infer P>
15
18
  ? readonly [number] | readonly [number, ...Path<P, Decrement<D>>]
@@ -2,6 +2,9 @@ import type { Decrement } from "./Decrement";
2
2
  import type { DepthLimit } from "./DepthLimit";
3
3
  import type { Key } from "./Key";
4
4
 
5
+ /**
6
+ * 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`.
7
+ */
5
8
  export type PathFiltered<T, P, D = DepthLimit> = [unknown] extends [T]
6
9
  ? readonly (Key | never)[]
7
10
  : [0] extends [1 & T]
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quetch",
3
- "version": "0.33.1",
3
+ "version": "0.33.2",
4
4
  "type": "module",
5
5
  "main": "./dist/main.js",
6
6
  "exports": {