effect-app 4.0.0-beta.32 → 4.0.0-beta.321
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/CHANGELOG.md +1570 -0
- package/dist/Array.d.ts +2 -1
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +4 -4
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Config/SecretURL.d.ts +3 -1
- package/dist/Config/SecretURL.d.ts.map +1 -1
- package/dist/Config/SecretURL.js +3 -6
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
- package/dist/Config/internal/configSecretURL.js +2 -2
- package/dist/Config.d.ts +2 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +8 -0
- package/dist/ConfigProvider.d.ts +2 -0
- package/dist/ConfigProvider.d.ts.map +1 -0
- package/dist/ConfigProvider.js +6 -0
- package/dist/{ServiceMap.d.ts → Context.d.ts} +18 -20
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +67 -0
- package/dist/DataDependencies.d.ts +136 -0
- package/dist/DataDependencies.d.ts.map +1 -0
- package/dist/DataDependencies.js +112 -0
- package/dist/Effect.d.ts +10 -9
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +6 -9
- package/dist/Emailer.d.ts +51 -0
- package/dist/Emailer.d.ts.map +1 -0
- package/dist/Emailer.js +7 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Layer.d.ts +10 -6
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +3 -2
- package/dist/Model/Repository/Registry.d.ts +22 -0
- package/dist/Model/Repository/Registry.d.ts.map +1 -0
- package/dist/Model/Repository/Registry.js +18 -0
- package/dist/Model/Repository/dependency.d.ts +6 -0
- package/dist/Model/Repository/dependency.d.ts.map +1 -0
- package/dist/Model/Repository/dependency.js +29 -0
- package/dist/Model/Repository/ext.d.ts +60 -0
- package/dist/Model/Repository/ext.d.ts.map +1 -0
- package/dist/Model/Repository/ext.js +124 -0
- package/dist/Model/Repository/internal/internal.d.ts +68 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +579 -0
- package/dist/Model/Repository/legacy.d.ts +21 -0
- package/dist/Model/Repository/legacy.d.ts.map +1 -0
- package/dist/Model/Repository/legacy.js +2 -0
- package/dist/Model/Repository/makeRepo.d.ts +63 -0
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
- package/dist/Model/Repository/makeRepo.js +27 -0
- package/dist/Model/Repository/service.d.ts +121 -0
- package/dist/Model/Repository/service.d.ts.map +1 -0
- package/dist/Model/Repository/service.js +2 -0
- package/dist/Model/Repository/validation.d.ts +58 -0
- package/dist/Model/Repository/validation.d.ts.map +1 -0
- package/dist/Model/Repository/validation.js +32 -0
- package/dist/Model/Repository.d.ts +8 -0
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +8 -0
- package/dist/Model/dsl.d.ts +33 -0
- package/dist/Model/dsl.d.ts.map +1 -0
- package/dist/Model/dsl.js +43 -0
- package/dist/Model/filter/filterApi.d.ts +30 -0
- package/dist/Model/filter/filterApi.d.ts.map +1 -0
- package/dist/Model/filter/filterApi.js +2 -0
- package/dist/Model/filter/types/errors.d.ts +29 -0
- package/dist/Model/filter/types/errors.d.ts.map +1 -0
- package/dist/Model/filter/types/errors.js +2 -0
- package/dist/Model/filter/types/fields.d.ts +15 -0
- package/dist/Model/filter/types/fields.d.ts.map +1 -0
- package/dist/Model/filter/types/fields.js +2 -0
- package/dist/Model/filter/types/path/common.d.ts +316 -0
- package/dist/Model/filter/types/path/common.d.ts.map +1 -0
- package/dist/Model/filter/types/path/common.js +2 -0
- package/dist/Model/filter/types/path/eager.d.ts +94 -0
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
- package/dist/Model/filter/types/path/eager.js +36 -0
- package/dist/Model/filter/types/path/index.d.ts +4 -0
- package/dist/Model/filter/types/path/index.d.ts.map +1 -0
- package/dist/Model/filter/types/path/index.js +3 -0
- package/dist/Model/filter/types/utils.d.ts +79 -0
- package/dist/Model/filter/types/utils.d.ts.map +1 -0
- package/dist/Model/filter/types/utils.js +2 -0
- package/dist/Model/filter/types/validator.d.ts +30 -0
- package/dist/Model/filter/types/validator.d.ts.map +1 -0
- package/dist/Model/filter/types/validator.js +2 -0
- package/dist/Model/filter/types.d.ts +5 -0
- package/dist/Model/filter/types.d.ts.map +1 -0
- package/dist/Model/filter/types.js +7 -0
- package/dist/Model/query/dsl.d.ts +630 -0
- package/dist/Model/query/dsl.d.ts.map +1 -0
- package/dist/Model/query/dsl.js +376 -0
- package/dist/Model/query/new-kid-interpreter.d.ts +132 -0
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +370 -0
- package/dist/Model/query.d.ts +15 -0
- package/dist/Model/query.d.ts.map +1 -0
- package/dist/Model/query.js +3 -0
- package/dist/Model.d.ts +6 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +6 -0
- package/dist/NonEmptySet.d.ts +3 -1
- package/dist/NonEmptySet.d.ts.map +1 -1
- package/dist/NonEmptySet.js +2 -2
- package/dist/Option.d.ts +1 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +3 -1
- package/dist/Pure.d.ts +7 -5
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +7 -4
- package/dist/QueueMaker.d.ts +11 -0
- package/dist/QueueMaker.d.ts.map +1 -0
- package/dist/QueueMaker.js +11 -0
- package/dist/RequestContext.d.ts +87 -0
- package/dist/RequestContext.d.ts.map +1 -0
- package/dist/RequestContext.js +45 -0
- package/dist/RequestScopedDependencies.d.ts +21 -0
- package/dist/RequestScopedDependencies.d.ts.map +1 -0
- package/dist/RequestScopedDependencies.js +16 -0
- package/dist/Schema/Class.d.ts +200 -20
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +268 -17
- package/dist/Schema/FastCheck.d.ts.map +1 -1
- package/dist/Schema/SchemaParser.d.ts +5 -0
- package/dist/Schema/SchemaParser.d.ts.map +1 -0
- package/dist/Schema/SchemaParser.js +6 -0
- package/dist/Schema/SpecialJsonSchema.d.ts +34 -0
- package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
- package/dist/Schema/SpecialJsonSchema.js +117 -0
- package/dist/Schema/SpecialOpenApi.d.ts +32 -0
- package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
- package/dist/Schema/SpecialOpenApi.js +123 -0
- package/dist/Schema/brand.d.ts +5 -5
- package/dist/Schema/brand.d.ts.map +1 -1
- package/dist/Schema/brand.js +3 -1
- package/dist/Schema/email.d.ts.map +1 -1
- package/dist/Schema/email.js +7 -6
- package/dist/Schema/ext.d.ts +337 -56
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +381 -58
- package/dist/Schema/moreStrings.d.ts +82 -36
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +47 -51
- package/dist/Schema/numbers.d.ts +34 -21
- package/dist/Schema/numbers.d.ts.map +1 -1
- package/dist/Schema/numbers.js +55 -12
- package/dist/Schema/phoneNumber.d.ts.map +1 -1
- package/dist/Schema/phoneNumber.js +6 -6
- package/dist/Schema/schema.d.ts +1 -1
- package/dist/Schema/schema.d.ts.map +1 -1
- package/dist/Schema/schema.js +2 -2
- package/dist/Schema/strings.d.ts +18 -4
- package/dist/Schema/strings.d.ts.map +1 -1
- package/dist/Schema/strings.js +1 -5
- package/dist/Schema.d.ts +225 -7
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +193 -26
- package/dist/SchemaAST.d.ts +2 -0
- package/dist/SchemaAST.d.ts.map +1 -0
- package/dist/SchemaAST.js +2 -0
- package/dist/Set.d.ts +4 -1
- package/dist/Set.d.ts.map +1 -1
- package/dist/Set.js +3 -2
- package/dist/Store.d.ts +170 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/Store.js +113 -0
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -2
- package/dist/_ext/misc.d.ts +4 -1
- package/dist/_ext/misc.d.ts.map +1 -1
- package/dist/_ext/misc.js +4 -2
- package/dist/_ext/ord.ext.d.ts +2 -1
- package/dist/_ext/ord.ext.d.ts.map +1 -1
- package/dist/_ext/ord.ext.js +2 -2
- package/dist/builtin.d.ts +2 -14
- package/dist/builtin.d.ts.map +1 -1
- package/dist/builtin.js +1 -1
- package/dist/client/InvalidationKeys.d.ts +30 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +37 -0
- package/dist/client/apiClientFactory.d.ts +19 -31
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +157 -39
- package/dist/client/clientFor.d.ts +54 -18
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +9 -1
- package/dist/client/errors.d.ts +82 -27
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +75 -19
- package/dist/client/makeClient.d.ts +490 -34
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +62 -30
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -1
- package/dist/faker.d.ts.map +1 -1
- package/dist/http/Request.d.ts +1 -1
- package/dist/http/Request.d.ts.map +1 -1
- package/dist/http/Request.js +2 -2
- package/dist/ids.d.ts +42 -14
- package/dist/ids.d.ts.map +1 -1
- package/dist/ids.js +30 -5
- package/dist/index.d.ts +6 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/middleware.d.ts +13 -7
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +14 -8
- package/dist/rpc/Invalidation.d.ts +1124 -0
- package/dist/rpc/Invalidation.d.ts.map +1 -0
- package/dist/rpc/Invalidation.js +178 -0
- package/dist/rpc/MiddlewareMaker.d.ts +11 -7
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +59 -38
- package/dist/rpc/RpcContextMap.d.ts +3 -3
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +14 -10
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- package/dist/rpc.d.ts +1 -1
- package/dist/rpc.d.ts.map +1 -1
- package/dist/rpc.js +2 -2
- package/dist/runtime.d.ts +19 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +40 -0
- package/dist/setupRequest.d.ts +20 -0
- package/dist/setupRequest.d.ts.map +1 -0
- package/dist/setupRequest.js +72 -0
- package/dist/toast.d.ts +51 -0
- package/dist/toast.d.ts.map +1 -0
- package/dist/toast.js +34 -0
- package/dist/transform.d.ts +1 -1
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +4 -5
- package/dist/utils/effectify.d.ts +1 -1
- package/dist/utils/effectify.d.ts.map +1 -1
- package/dist/utils/effectify.js +2 -2
- package/dist/utils/extend.d.ts.map +1 -1
- package/dist/utils/gen.d.ts +4 -4
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logLevel.d.ts +2 -2
- package/dist/utils/logLevel.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +4 -3
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +4 -4
- package/dist/utils.d.ts +34 -39
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +33 -37
- package/dist/validation/validators.d.ts.map +1 -1
- package/dist/validation.d.ts.map +1 -1
- package/dist/withToast.d.ts +30 -0
- package/dist/withToast.d.ts.map +1 -0
- package/dist/withToast.js +64 -0
- package/package.json +27 -251
- package/src/Array.ts +5 -5
- package/src/Chunk.ts +3 -3
- package/src/Config/SecretURL.ts +6 -3
- package/src/Config/internal/configSecretURL.ts +2 -2
- package/src/Config.ts +7 -0
- package/src/ConfigProvider.ts +5 -0
- package/src/{ServiceMap.ts → Context.ts} +56 -63
- package/src/DataDependencies.ts +171 -0
- package/src/Effect.ts +15 -17
- package/src/Emailer.ts +51 -0
- package/src/Inputify.type.ts +1 -1
- package/src/Layer.ts +11 -7
- package/src/Model/Repository/Registry.ts +35 -0
- package/src/Model/Repository/dependency.ts +32 -0
- package/src/Model/Repository/ext.ts +374 -0
- package/src/Model/Repository/internal/internal.ts +950 -0
- package/src/Model/Repository/legacy.ts +29 -0
- package/src/Model/Repository/makeRepo.ts +156 -0
- package/src/Model/Repository/service.ts +676 -0
- package/src/Model/Repository/validation.ts +31 -0
- package/src/Model/Repository.ts +7 -0
- package/src/Model/dsl.ts +129 -0
- package/src/Model/filter/filterApi.ts +78 -0
- package/src/Model/filter/types/errors.ts +47 -0
- package/src/Model/filter/types/fields.ts +50 -0
- package/src/Model/filter/types/path/common.ts +404 -0
- package/src/Model/filter/types/path/eager.ts +329 -0
- package/src/Model/filter/types/path/index.ts +4 -0
- package/src/Model/filter/types/utils.ts +128 -0
- package/src/Model/filter/types/validator.ts +46 -0
- package/src/Model/filter/types.ts +6 -0
- package/src/Model/query/dsl.ts +3092 -0
- package/src/Model/query/new-kid-interpreter.ts +532 -0
- package/src/Model/query.ts +13 -0
- package/src/Model.ts +5 -0
- package/src/NonEmptySet.ts +6 -4
- package/src/Option.ts +2 -0
- package/src/Pure.ts +10 -7
- package/src/QueueMaker.ts +11 -0
- package/src/RequestContext.ts +48 -0
- package/src/RequestScopedDependencies.ts +45 -0
- package/src/Schema/Class.ts +648 -60
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +137 -0
- package/src/Schema/SpecialOpenApi.ts +130 -0
- package/src/Schema/brand.ts +24 -9
- package/src/Schema/email.ts +9 -7
- package/src/Schema/ext.ts +502 -98
- package/src/Schema/moreStrings.ts +145 -83
- package/src/Schema/numbers.ts +97 -28
- package/src/Schema/phoneNumber.ts +8 -8
- package/src/Schema/schema.ts +1 -1
- package/src/Schema/strings.ts +23 -14
- package/src/Schema.ts +403 -46
- package/src/SchemaAST.ts +1 -0
- package/src/Set.ts +6 -2
- package/src/Store.ts +280 -0
- package/src/_ext/Array.ts +4 -2
- package/src/_ext/misc.ts +4 -1
- package/src/_ext/ord.ext.ts +2 -1
- package/src/builtin-json.d.ts +24 -0
- package/src/builtin.ts +16 -21
- package/src/client/InvalidationKeys.ts +55 -0
- package/src/client/apiClientFactory.ts +301 -141
- package/src/client/clientFor.ts +107 -34
- package/src/client/errors.ts +100 -29
- package/src/client/makeClient.ts +594 -80
- package/src/client.ts +6 -4
- package/src/http/Request.ts +3 -3
- package/src/http.ts +1 -1
- package/src/ids.ts +33 -6
- package/src/index.ts +20 -23
- package/src/middleware.ts +13 -9
- package/src/rpc/Invalidation.ts +278 -0
- package/src/rpc/MiddlewareMaker.ts +88 -80
- package/src/rpc/README.md +2 -2
- package/src/rpc/RpcContextMap.ts +7 -6
- package/src/rpc/RpcMiddleware.ts +19 -13
- package/src/rpc.ts +4 -4
- package/src/runtime.ts +57 -0
- package/src/setupRequest.ts +138 -0
- package/src/toast.ts +54 -0
- package/src/transform.ts +4 -4
- package/src/utils/effectify.ts +1 -1
- package/src/utils/gen.ts +8 -8
- package/src/utils/logLevel.ts +1 -1
- package/src/utils/logger.ts +4 -3
- package/src/utils.ts +85 -158
- package/src/validation.ts +2 -2
- package/src/withToast.ts +133 -0
- package/test/dist/rpc.test.d.ts.map +1 -1
- package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
- package/test/dist/secretURL.test.d.ts.map +1 -0
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +7 -9
- package/test/rpc.test.ts +42 -14
- package/test/rpcMiddlewareContext.test.ts +63 -0
- package/test/schema.test.ts +514 -35
- package/test/secretURL.test.ts +160 -0
- package/test/special.test.ts +1261 -0
- package/test/utils.test.ts +7 -7
- package/tsconfig.base.json +6 -5
- package/tsconfig.json +9 -2
- package/tsconfig.src.json +29 -29
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -123
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -29
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
- package/eslint.config.mjs +0 -26
- package/src/Operations.ts +0 -55
- package/tsconfig.json.bak +0 -12
|
@@ -0,0 +1,3092 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
+
import * as Data from "effect/Data"
|
|
5
|
+
import { flow } from "effect/Function"
|
|
6
|
+
import * as Pipeable from "effect/Pipeable"
|
|
7
|
+
import type { Covariant } from "effect/Types"
|
|
8
|
+
import type * as Option from "../../Option.ts"
|
|
9
|
+
import type * as S from "../../Schema.ts"
|
|
10
|
+
import type { NonNegativeInt } from "../../Schema.ts"
|
|
11
|
+
import type { Ops } from "../filter/filterApi.ts"
|
|
12
|
+
import type { FieldValues } from "../filter/types.ts"
|
|
13
|
+
import type { FieldPath, FieldPathValue, RefineFieldPathValue } from "../filter/types/path/eager.ts"
|
|
14
|
+
|
|
15
|
+
export type QAll<
|
|
16
|
+
TFieldValues extends FieldValues,
|
|
17
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
18
|
+
A = TFieldValues,
|
|
19
|
+
R = never,
|
|
20
|
+
TType extends "one" | "many" = "many",
|
|
21
|
+
Exclusive extends boolean = false
|
|
22
|
+
> =
|
|
23
|
+
| Query<TFieldValues>
|
|
24
|
+
| QueryWhere<TFieldValues, TFieldValuesRefined, Exclusive>
|
|
25
|
+
| QueryEnd<TFieldValues, TType, Exclusive>
|
|
26
|
+
| QueryProjection<TFieldValues, A, R, TType, Exclusive>
|
|
27
|
+
|
|
28
|
+
export const QId = Symbol()
|
|
29
|
+
export type QId = typeof QId
|
|
30
|
+
|
|
31
|
+
export interface QueryTogether<
|
|
32
|
+
out TFieldValues extends FieldValues,
|
|
33
|
+
out TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
34
|
+
out Exclusive extends boolean = false,
|
|
35
|
+
out T extends "initial" | "where" | "end" | "projection" = "initial",
|
|
36
|
+
out A = TFieldValues,
|
|
37
|
+
out R = never,
|
|
38
|
+
out TType extends "many" | "one" | "count" = "many"
|
|
39
|
+
> extends Pipeable.Pipeable {
|
|
40
|
+
readonly [QId]: {
|
|
41
|
+
readonly _TFieldValues: Covariant<TFieldValues>
|
|
42
|
+
readonly _T: Covariant<T>
|
|
43
|
+
readonly _TFieldValuesRefined: Covariant<TFieldValuesRefined>
|
|
44
|
+
readonly _A: Covariant<A>
|
|
45
|
+
readonly _R: Covariant<R>
|
|
46
|
+
readonly _TT: Covariant<TType>
|
|
47
|
+
readonly _Exclusive: Covariant<Exclusive>
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
type ExtractTType<T> = T extends QueryTogether<any, any, any, any, any, any, infer TType> ? TType : never
|
|
52
|
+
type ExtractExclusiveness<T> = T extends QueryTogether<any, any, infer Exclusive extends boolean, any, any, any, any>
|
|
53
|
+
? Exclusive
|
|
54
|
+
: never
|
|
55
|
+
type ExtractFieldValues<T> = T extends QueryTogether<infer TFieldValues, any, any, any, any, any, any> ? TFieldValues
|
|
56
|
+
: never
|
|
57
|
+
type ExtractFieldValuesRefined<T> = T extends QueryTogether<any, infer TFieldValuesRefined, any, any, any, any, any>
|
|
58
|
+
? TFieldValuesRefined
|
|
59
|
+
: never
|
|
60
|
+
type KeysOfUnion<T> = T extends T ? keyof T : never
|
|
61
|
+
/** Peel Schema `tag`/`Literal` brands down to the underlying literal value. */
|
|
62
|
+
type LiteralValue<T> = T extends { readonly literal: infer L } ? L
|
|
63
|
+
: T extends string | number | boolean | null | bigint ? T
|
|
64
|
+
// Schema.tag<"x"> / withConstructorDefault wrappers are object brands whose
|
|
65
|
+
// nominal shape is not a PropertyKey — fall back to never so callers treat
|
|
66
|
+
// them via UnwrapTag below.
|
|
67
|
+
: never
|
|
68
|
+
// Last-resort: if T is a single object brand wrapping a string literal in its
|
|
69
|
+
// structure, treat non-union object tags as single-literal for same-tag duals.
|
|
70
|
+
type TagKey<T> = [LiteralValue<T>] extends [never] ? (
|
|
71
|
+
string extends T ? string
|
|
72
|
+
: [T] extends [PropertyKey] ? T
|
|
73
|
+
// object brand (e.g. tag<"packing">): treat as single opaque tag token
|
|
74
|
+
: T
|
|
75
|
+
)
|
|
76
|
+
: LiteralValue<T>
|
|
77
|
+
// One-directional: domain tag may be a single literal that is a member of a
|
|
78
|
+
// multi-tag projection (`"picking" extends "picking"|"picked"`). Bidirectional
|
|
79
|
+
// equality would reject every multi-tag flat projection.
|
|
80
|
+
type ExtractTagged<From, Tag> = From extends { readonly _tag: infer FromTag }
|
|
81
|
+
? [TagKey<FromTag>] extends [TagKey<Tag>] ? From : never
|
|
82
|
+
: never
|
|
83
|
+
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never
|
|
84
|
+
/**
|
|
85
|
+
* True when `Tag` is a single tag token (string literal or opaque brand like
|
|
86
|
+
* Schema.tag<"packing">), not a union of tags and not bare `string`.
|
|
87
|
+
*/
|
|
88
|
+
type IsSingleLiteralTag<Tag> = string extends Tag ? false
|
|
89
|
+
: [Tag] extends [UnionToIntersection<Tag>] ? true
|
|
90
|
+
: false
|
|
91
|
+
/**
|
|
92
|
+
* Domain shape that may supply stored fields for projection member `I`.
|
|
93
|
+
*
|
|
94
|
+
* - True tagged unions (`A | B` with different fields per `_tag`) resolve to the
|
|
95
|
+
* matching member so state-owned keys are not treated as universal.
|
|
96
|
+
* - Flat models that only carry `_tag: "a" | "b"` on a shared shape (no
|
|
97
|
+
* per-tag members in the Encoded union) fall back to the full `From` so
|
|
98
|
+
* existing Class+Literals projections keep typechecking.
|
|
99
|
+
*/
|
|
100
|
+
type ProjectableSource<I, From> = I extends { readonly _tag: infer Tag } ? (
|
|
101
|
+
[ExtractTagged<From, Tag>] extends [never] ? From : ExtractTagged<From, Tag>
|
|
102
|
+
)
|
|
103
|
+
: From
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* One projection member is projectable when every key is either:
|
|
107
|
+
* - in `ExtraKeys` (computed by the query / not stored on the domain row), or
|
|
108
|
+
* - a key of the matching domain source member (key presence only; nested
|
|
109
|
+
* field types may be narrowed by the projection).
|
|
110
|
+
*
|
|
111
|
+
* Uses `keyof Source` (not `KeysOfUnion` of the whole domain union) so a field
|
|
112
|
+
* owned only by some tags cannot be required on every branch — except for a
|
|
113
|
+
* single literal tag that maps to several domain variants (same `_tag`,
|
|
114
|
+
* different payloads), where `KeysOfUnion` allows each variant's keys.
|
|
115
|
+
*/
|
|
116
|
+
/**
|
|
117
|
+
* Keys the domain may supply for projection member `I`.
|
|
118
|
+
* - Single-literal tagged `I` (`_tag: "packing"`): keys of *any* same-tag
|
|
119
|
+
* domain variant (`KeysOfUnion`) — dual packing/closed shapes stay projectable.
|
|
120
|
+
* - Multi-tag / string-tagged `I` (`_tag: "a"|"b"` or `string`): keys of the
|
|
121
|
+
* *intersection* of matched domain members (`keyof` of the source union) so
|
|
122
|
+
* a flat multi-tag DTO cannot claim state-only fields (e.g. `batchId` on
|
|
123
|
+
* `initial`).
|
|
124
|
+
* - Untagged `I` (plain project DTOs): keys present on *any* domain member
|
|
125
|
+
* (`KeysOfUnion`), matching historical `project()` behavior.
|
|
126
|
+
*/
|
|
127
|
+
type ProjectableDomainKeys<I, From> = I extends { readonly _tag: infer Tag } ? (
|
|
128
|
+
IsSingleLiteralTag<Tag> extends true ? KeysOfUnion<ProjectableSource<I, From>>
|
|
129
|
+
: keyof ProjectableSource<I, From>
|
|
130
|
+
)
|
|
131
|
+
: KeysOfUnion<From>
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Keys on projection member `I` that are neither computed (`ExtraKeys`) nor
|
|
135
|
+
* present on the matching domain source. Key presence only — nested field
|
|
136
|
+
* types may be narrowed by the projection, and optional domain/projection
|
|
137
|
+
* keys must not fail via `{ k?: T } extends { k: T }` (the old `-?` mapped
|
|
138
|
+
* assignability check rejected legitimate optionalKey fields like closed.batchId).
|
|
139
|
+
*/
|
|
140
|
+
type UnprojectableKeys<I, From, ExtraKeys extends PropertyKey> = {
|
|
141
|
+
[K in keyof I]-?: K extends ExtraKeys ? never
|
|
142
|
+
: K extends ProjectableDomainKeys<I, From> ? never
|
|
143
|
+
: K
|
|
144
|
+
}[keyof I]
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Distribute over tagged-union projection Encoded types. A non-distributive
|
|
148
|
+
* check against a union only sees `keyof (A|B)` (key intersection) and misses
|
|
149
|
+
* branch-only fields like cancel-only omissions.
|
|
150
|
+
*/
|
|
151
|
+
type IsProjectableMember<I, From, ExtraKeys extends PropertyKey> = [I] extends [FieldValues]
|
|
152
|
+
? ([UnprojectableKeys<I, From, ExtraKeys>] extends [never] ? true : false)
|
|
153
|
+
: false
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* `unknown` when every member of projection Encoded `I` is projectable from
|
|
157
|
+
* domain Encoded `From` (plus optional ExtraKeys for computed fields); `never`
|
|
158
|
+
* otherwise — use as an intersection constraint on a schema argument.
|
|
159
|
+
*/
|
|
160
|
+
type ProjectableGuard<I, From, ExtraKeys extends PropertyKey = never> = false extends (
|
|
161
|
+
I extends any ? IsProjectableMember<I, From, ExtraKeys> : never
|
|
162
|
+
) ? never
|
|
163
|
+
: unknown
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Compile-time proof that a projection Encoded shape only requires stored keys
|
|
167
|
+
* that exist on the matching domain tagged state (or non-tagged source), plus
|
|
168
|
+
* any `ExtraKeys` filled by `projectComputed` (counts, flags, collects, …).
|
|
169
|
+
*
|
|
170
|
+
* Catches the class of Overview.List SchemaError where a cancel/recovery state
|
|
171
|
+
* omits a workflow lock field (`activeRequest`) in the domain model but the
|
|
172
|
+
* projection still requires it on every branch.
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```ts
|
|
176
|
+
* type _ok = ProjectableFromDomain<
|
|
177
|
+
* { readonly _tag: "cancelled"; readonly id: string },
|
|
178
|
+
* DomainEnc
|
|
179
|
+
* > // unknown
|
|
180
|
+
*
|
|
181
|
+
* type _bad = ProjectableFromDomain<
|
|
182
|
+
* { readonly _tag: "cancelled"; readonly id: string; readonly activeRequest: null },
|
|
183
|
+
* DomainEnc
|
|
184
|
+
* > // never — activeRequest is not on domain cancelled
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
export type ProjectableFromDomain<
|
|
188
|
+
ProjectionEncoded,
|
|
189
|
+
DomainEncoded,
|
|
190
|
+
ExtraKeys extends PropertyKey = never
|
|
191
|
+
> = ProjectableGuard<ProjectionEncoded, DomainEncoded, ExtraKeys>
|
|
192
|
+
|
|
193
|
+
export type RelationDirection = "some" | "every"
|
|
194
|
+
export type Relation = { relation: RelationDirection }
|
|
195
|
+
export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>
|
|
196
|
+
export type QueryWhere<
|
|
197
|
+
TFieldValues extends FieldValues,
|
|
198
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
199
|
+
Exclusive extends boolean = false
|
|
200
|
+
> =
|
|
201
|
+
& QueryTogether<
|
|
202
|
+
TFieldValues,
|
|
203
|
+
TFieldValuesRefined,
|
|
204
|
+
Exclusive,
|
|
205
|
+
"where"
|
|
206
|
+
>
|
|
207
|
+
& Relation
|
|
208
|
+
|
|
209
|
+
export type QueryEnd<
|
|
210
|
+
TFieldValues extends FieldValues,
|
|
211
|
+
TType extends "many" | "one" | "count" = "many",
|
|
212
|
+
Exclusive extends boolean = false
|
|
213
|
+
> = QueryTogether<
|
|
214
|
+
TFieldValues,
|
|
215
|
+
TFieldValues,
|
|
216
|
+
Exclusive,
|
|
217
|
+
"end",
|
|
218
|
+
TFieldValues,
|
|
219
|
+
never,
|
|
220
|
+
TType
|
|
221
|
+
>
|
|
222
|
+
|
|
223
|
+
export type QueryProjection<
|
|
224
|
+
TFieldValues extends FieldValues,
|
|
225
|
+
A = TFieldValues,
|
|
226
|
+
R = never,
|
|
227
|
+
TType extends "many" | "one" | "count" = "many",
|
|
228
|
+
Exclusive extends boolean = false
|
|
229
|
+
> = QueryTogether<
|
|
230
|
+
TFieldValues,
|
|
231
|
+
TFieldValues,
|
|
232
|
+
Exclusive,
|
|
233
|
+
"projection",
|
|
234
|
+
A,
|
|
235
|
+
R,
|
|
236
|
+
TType
|
|
237
|
+
>
|
|
238
|
+
|
|
239
|
+
export type ComputedProjectionOperation = (q: Query<any>) => QueryWhere<any, any, any>
|
|
240
|
+
|
|
241
|
+
export type ComputedProjectionMathExpression =
|
|
242
|
+
| {
|
|
243
|
+
readonly _tag: "field"
|
|
244
|
+
readonly field: string
|
|
245
|
+
}
|
|
246
|
+
| {
|
|
247
|
+
readonly _tag: "mul"
|
|
248
|
+
readonly left: ComputedProjectionMathExpression
|
|
249
|
+
readonly right: ComputedProjectionMathExpression
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
declare const ComputedProjectionExpressionTypeId: unique symbol
|
|
253
|
+
|
|
254
|
+
type ComputedProjectionOutput<A> = {
|
|
255
|
+
readonly [ComputedProjectionExpressionTypeId]?: Covariant<A>
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export type ComputedProjectionExpression<A = unknown> =
|
|
259
|
+
& ComputedProjectionOutput<A>
|
|
260
|
+
& (
|
|
261
|
+
| {
|
|
262
|
+
readonly _tag: "relation-count"
|
|
263
|
+
readonly path: string
|
|
264
|
+
readonly operation?: ComputedProjectionOperation
|
|
265
|
+
}
|
|
266
|
+
| {
|
|
267
|
+
readonly _tag: "relation-any"
|
|
268
|
+
readonly path: string
|
|
269
|
+
readonly operation?: ComputedProjectionOperation
|
|
270
|
+
}
|
|
271
|
+
| {
|
|
272
|
+
readonly _tag: "relation-every"
|
|
273
|
+
readonly path: string
|
|
274
|
+
readonly operation: ComputedProjectionOperation
|
|
275
|
+
}
|
|
276
|
+
| {
|
|
277
|
+
readonly _tag: "relation-distinct-count"
|
|
278
|
+
readonly path: string
|
|
279
|
+
readonly field: string
|
|
280
|
+
readonly operation?: ComputedProjectionOperation
|
|
281
|
+
}
|
|
282
|
+
| {
|
|
283
|
+
readonly _tag: "relation-sum"
|
|
284
|
+
readonly path: string
|
|
285
|
+
readonly field: string
|
|
286
|
+
readonly operation?: ComputedProjectionOperation
|
|
287
|
+
}
|
|
288
|
+
| {
|
|
289
|
+
readonly _tag: "relation-sum-expr"
|
|
290
|
+
readonly path: string
|
|
291
|
+
readonly expression: ComputedProjectionMathExpression
|
|
292
|
+
readonly operation?: ComputedProjectionOperation
|
|
293
|
+
}
|
|
294
|
+
| {
|
|
295
|
+
readonly _tag: "relation-sum-expr-by"
|
|
296
|
+
readonly path: string
|
|
297
|
+
readonly expression: ComputedProjectionMathExpression
|
|
298
|
+
readonly unit: string
|
|
299
|
+
readonly operation?: ComputedProjectionOperation
|
|
300
|
+
}
|
|
301
|
+
| {
|
|
302
|
+
readonly _tag: "relation-sum-expr-normalized"
|
|
303
|
+
readonly path: string
|
|
304
|
+
readonly expression: ComputedProjectionMathExpression
|
|
305
|
+
readonly unit: string
|
|
306
|
+
readonly toBase: string
|
|
307
|
+
readonly factors: Readonly<Record<string, number>>
|
|
308
|
+
readonly operation?: ComputedProjectionOperation
|
|
309
|
+
}
|
|
310
|
+
| {
|
|
311
|
+
readonly _tag: "relation-collect"
|
|
312
|
+
readonly path: string
|
|
313
|
+
readonly field: string
|
|
314
|
+
readonly distinct: boolean
|
|
315
|
+
readonly operation?: ComputedProjectionOperation
|
|
316
|
+
}
|
|
317
|
+
| {
|
|
318
|
+
readonly _tag: "relation-collect-fields"
|
|
319
|
+
readonly path: string
|
|
320
|
+
readonly fields: readonly string[]
|
|
321
|
+
readonly distinct: boolean
|
|
322
|
+
readonly operation?: ComputedProjectionOperation
|
|
323
|
+
}
|
|
324
|
+
| {
|
|
325
|
+
readonly _tag: "relation-length"
|
|
326
|
+
readonly path: string
|
|
327
|
+
}
|
|
328
|
+
)
|
|
329
|
+
|
|
330
|
+
type NoExtraComputedKeys<M extends ComputedProjectionMap, I> = string extends keyof M ? unknown
|
|
331
|
+
: Exclude<keyof M, KeysOfUnion<I>> extends never ? unknown
|
|
332
|
+
: never
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* An expression that aggregates values across documents (for use with {@link aggregate}).
|
|
336
|
+
* `agg-field` references a document field to group by; other tags are aggregate functions.
|
|
337
|
+
*/
|
|
338
|
+
export type AggregateExpression =
|
|
339
|
+
| {
|
|
340
|
+
readonly _tag: "agg-field"
|
|
341
|
+
readonly path: string
|
|
342
|
+
}
|
|
343
|
+
| {
|
|
344
|
+
readonly _tag: "agg-count"
|
|
345
|
+
}
|
|
346
|
+
| {
|
|
347
|
+
readonly _tag: "agg-count-when"
|
|
348
|
+
readonly operation: ComputedProjectionOperation
|
|
349
|
+
}
|
|
350
|
+
| {
|
|
351
|
+
readonly _tag: "agg-sum"
|
|
352
|
+
readonly field: string
|
|
353
|
+
}
|
|
354
|
+
| {
|
|
355
|
+
readonly _tag: "agg-min"
|
|
356
|
+
readonly field: string
|
|
357
|
+
}
|
|
358
|
+
| {
|
|
359
|
+
readonly _tag: "agg-max"
|
|
360
|
+
readonly field: string
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
export type AggregateMap = Readonly<Record<string, AggregateExpression>>
|
|
364
|
+
|
|
365
|
+
export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>
|
|
366
|
+
export type Q<TFieldValues extends FieldValues> =
|
|
367
|
+
| Initial<TFieldValues>
|
|
368
|
+
| Where<TFieldValues>
|
|
369
|
+
| And<TFieldValues>
|
|
370
|
+
| Or<TFieldValues>
|
|
371
|
+
| Order<TFieldValues, any>
|
|
372
|
+
| Page<TFieldValues>
|
|
373
|
+
| Project<any, TFieldValues, any>
|
|
374
|
+
| One<TFieldValues>
|
|
375
|
+
| Count<TFieldValues>
|
|
376
|
+
|
|
377
|
+
export class Initial<TFieldValues extends FieldValues> extends Data.TaggedClass("value")<{ value: "initial" }>
|
|
378
|
+
implements Query<TFieldValues>
|
|
379
|
+
{
|
|
380
|
+
readonly [QId]!: any
|
|
381
|
+
constructor() {
|
|
382
|
+
super({ value: "initial" as const })
|
|
383
|
+
}
|
|
384
|
+
override pipe() {
|
|
385
|
+
// eslint-disable-next-line prefer-rest-params
|
|
386
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
export class Where<TFieldValues extends FieldValues> extends Data.TaggedClass("where")<{
|
|
391
|
+
current: Query<TFieldValues>
|
|
392
|
+
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>)
|
|
393
|
+
relation: RelationDirection
|
|
394
|
+
subPath?: string
|
|
395
|
+
}> implements QueryWhere<TFieldValues> {
|
|
396
|
+
readonly [QId]!: any
|
|
397
|
+
|
|
398
|
+
override pipe() {
|
|
399
|
+
// eslint-disable-next-line prefer-rest-params
|
|
400
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
export class And<TFieldValues extends FieldValues> extends Data.TaggedClass("and")<{
|
|
405
|
+
current: Query<TFieldValues>
|
|
406
|
+
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>)
|
|
407
|
+
relation: RelationDirection
|
|
408
|
+
}> implements QueryWhere<TFieldValues> {
|
|
409
|
+
readonly [QId]!: any
|
|
410
|
+
override pipe() {
|
|
411
|
+
// eslint-disable-next-line prefer-rest-params
|
|
412
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
export class Or<TFieldValues extends FieldValues> extends Data.TaggedClass("or")<{
|
|
417
|
+
current: Query<TFieldValues>
|
|
418
|
+
operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>)
|
|
419
|
+
relation: RelationDirection
|
|
420
|
+
}> implements QueryWhere<TFieldValues> {
|
|
421
|
+
readonly [QId]!: any
|
|
422
|
+
override pipe() {
|
|
423
|
+
// eslint-disable-next-line prefer-rest-params
|
|
424
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
export class Page<TFieldValues extends FieldValues> extends Data.TaggedClass("page")<{
|
|
429
|
+
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>
|
|
430
|
+
take?: number | undefined
|
|
431
|
+
skip?: number | undefined
|
|
432
|
+
}> implements QueryEnd<TFieldValues> {
|
|
433
|
+
readonly [QId]!: any
|
|
434
|
+
override pipe() {
|
|
435
|
+
// eslint-disable-next-line prefer-rest-params
|
|
436
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
export class One<TFieldValues extends FieldValues> extends Data.TaggedClass("one")<{
|
|
441
|
+
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>
|
|
442
|
+
}> implements QueryEnd<TFieldValues, "one"> {
|
|
443
|
+
readonly [QId]!: any
|
|
444
|
+
override pipe() {
|
|
445
|
+
// eslint-disable-next-line prefer-rest-params
|
|
446
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
export class Count<TFieldValues extends FieldValues> extends Data.TaggedClass("count")<{
|
|
451
|
+
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>
|
|
452
|
+
}> implements QueryEnd<TFieldValues, "count"> {
|
|
453
|
+
readonly [QId]!: any
|
|
454
|
+
override pipe() {
|
|
455
|
+
// eslint-disable-next-line prefer-rest-params
|
|
456
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
export class Order<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>
|
|
461
|
+
extends Data.TaggedClass("order")<{
|
|
462
|
+
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>
|
|
463
|
+
field: TFieldName
|
|
464
|
+
direction: "ASC" | "DESC"
|
|
465
|
+
}>
|
|
466
|
+
implements QueryEnd<TFieldValues>
|
|
467
|
+
{
|
|
468
|
+
readonly [QId]!: any
|
|
469
|
+
override pipe() {
|
|
470
|
+
// eslint-disable-next-line prefer-rest-params
|
|
471
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
export class Project<A, TFieldValues extends FieldValues, R, TType extends "one" | "many" = "many">
|
|
476
|
+
extends Data.TaggedClass("project")<{
|
|
477
|
+
current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>
|
|
478
|
+
schema: S.Codec<A, TFieldValues, R>
|
|
479
|
+
mode: "collect" | "project" | "transform" | "aggregate"
|
|
480
|
+
computed?: ComputedProjectionMap
|
|
481
|
+
aggregateMap?: AggregateMap
|
|
482
|
+
}>
|
|
483
|
+
implements QueryProjection<TFieldValues, A, R>
|
|
484
|
+
{
|
|
485
|
+
readonly [QId]!: any
|
|
486
|
+
override pipe() {
|
|
487
|
+
// eslint-disable-next-line prefer-rest-params
|
|
488
|
+
return Pipeable.pipeArguments(this, arguments)
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
export const make: <TFieldValues extends FieldValues>() => Query<TFieldValues> = () => new Initial()
|
|
493
|
+
|
|
494
|
+
export const where: FilterWhere = (...operation: any[]) => (current: any) =>
|
|
495
|
+
new Where({ current, operation: typeof operation[0] === "function" ? flow(...operation as [any]) : operation } as any)
|
|
496
|
+
|
|
497
|
+
export const and: FilterContinuationAnd = (...operation: any[]) => (current: any) =>
|
|
498
|
+
new And({ current, operation: typeof operation[0] === "function" ? flow(...operation as [any]) : operation } as any)
|
|
499
|
+
|
|
500
|
+
export const or: FilterContinuationOr = (...operation: any[]) => (current: any) =>
|
|
501
|
+
new Or({ current, operation: typeof operation[0] === "function" ? flow(...operation as [any]) : operation } as any)
|
|
502
|
+
|
|
503
|
+
export const whereEvery: WhereEveryOrSome =
|
|
504
|
+
((subPath: string, ...[first, ...rest]: any[]) => (current: any) =>
|
|
505
|
+
new Where(
|
|
506
|
+
{
|
|
507
|
+
current,
|
|
508
|
+
operation: typeof first === "function"
|
|
509
|
+
? flow(...[first, ...rest] as [any])
|
|
510
|
+
: [`${subPath}.-1.${first}`, ...rest],
|
|
511
|
+
relation: "every",
|
|
512
|
+
subPath
|
|
513
|
+
} as any
|
|
514
|
+
)) as unknown as WhereEveryOrSome
|
|
515
|
+
export const whereSome: WhereEveryOrSome =
|
|
516
|
+
((subPath: string, ...[first, ...rest]: any[]) => (current: any) =>
|
|
517
|
+
new Where(
|
|
518
|
+
{
|
|
519
|
+
current,
|
|
520
|
+
operation: typeof first === "function"
|
|
521
|
+
? flow(...[first, ...rest] as [any])
|
|
522
|
+
: [`${subPath}.-1.${first}`, ...rest],
|
|
523
|
+
relation: "some",
|
|
524
|
+
subPath
|
|
525
|
+
} as any
|
|
526
|
+
)) as unknown as WhereEveryOrSome
|
|
527
|
+
|
|
528
|
+
export const order: {
|
|
529
|
+
<
|
|
530
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>
|
|
531
|
+
>(
|
|
532
|
+
field: FieldPath<ExtractFieldValuesRefined<Q>>,
|
|
533
|
+
direction?: "ASC" | "DESC"
|
|
534
|
+
): (
|
|
535
|
+
current: Q
|
|
536
|
+
) => QueryEnd<ExtractFieldValuesRefined<Q>, "many", ExtractExclusiveness<Q>>
|
|
537
|
+
} = (field, direction = "ASC") => (current) => new Order({ current, field: field as any, direction })
|
|
538
|
+
|
|
539
|
+
export const page: {
|
|
540
|
+
(
|
|
541
|
+
page: { skip?: number; take?: number }
|
|
542
|
+
): <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(
|
|
543
|
+
current: Q
|
|
544
|
+
) => QueryEnd<ExtractFieldValuesRefined<Q>, "many", ExtractExclusiveness<Q>>
|
|
545
|
+
} = ({ skip, take }) => (current) =>
|
|
546
|
+
new Page({
|
|
547
|
+
current,
|
|
548
|
+
take,
|
|
549
|
+
skip
|
|
550
|
+
})
|
|
551
|
+
|
|
552
|
+
export const one: {
|
|
553
|
+
<Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(
|
|
554
|
+
current: Q
|
|
555
|
+
): QueryEnd<ExtractFieldValuesRefined<Q>, "one", ExtractExclusiveness<Q>>
|
|
556
|
+
} = (current) =>
|
|
557
|
+
new One({
|
|
558
|
+
current
|
|
559
|
+
})
|
|
560
|
+
|
|
561
|
+
// it's better to implement a distinct count so that the implementation can be optimised per adapter
|
|
562
|
+
export const count: {
|
|
563
|
+
<
|
|
564
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>
|
|
565
|
+
>(
|
|
566
|
+
current: Q
|
|
567
|
+
): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>
|
|
568
|
+
} = (current) => new Count({ current })
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* Attach a projection schema to a query.
|
|
572
|
+
*
|
|
573
|
+
* The `select` clause sent to the store is derived from the schema's encoded
|
|
574
|
+
* AST property names (top-level + per-array sub-keys), so a projection always
|
|
575
|
+
* narrows what is read from the store. The repository augments that select
|
|
576
|
+
* with `id` and `_etag` for change tracking. See {@link toFilter} and the
|
|
577
|
+
* dispatch in `Repository/internal/internal.ts`.
|
|
578
|
+
*
|
|
579
|
+
* Modes — pick based on shape of the decoded value and on whether the
|
|
580
|
+
* persistence-model (PM) reverse-mapping is needed:
|
|
581
|
+
*
|
|
582
|
+
* - `"transform"` (default when `mode` omitted): goes through the repo's
|
|
583
|
+
* `parseMany` pipeline. The raw row is reverse-mapped via the
|
|
584
|
+
* etag/PM cache (re-injecting `_etag` and any PM-shape state) before
|
|
585
|
+
* decoding. Decode failures `orDie` (error channel = `never`). Use when
|
|
586
|
+
* the schema operates on the full PM shape (e.g. full-entity reads that
|
|
587
|
+
* must preserve etag tracking).
|
|
588
|
+
*
|
|
589
|
+
* - `"project"`: decodes the raw encoded row directly with the supplied
|
|
590
|
+
* schema. No PM reverse-mapping, no etag cache merge. Decode failures
|
|
591
|
+
* surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
|
|
592
|
+
* need etag tracking and whose schema input is a plain subset of `Encoded`.
|
|
593
|
+
*
|
|
594
|
+
* - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
|
|
595
|
+
* `None` values are dropped post-decode (`Array.getSomes`). Use to filter
|
|
596
|
+
* rows during decode (e.g. discriminated-union narrowing where some rows
|
|
597
|
+
* should not appear in the result).
|
|
598
|
+
*/
|
|
599
|
+
export const project: {
|
|
600
|
+
<
|
|
601
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
602
|
+
I extends ExtractFieldValuesRefined<Q>,
|
|
603
|
+
A = ExtractFieldValuesRefined<Q>,
|
|
604
|
+
R = never,
|
|
605
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
606
|
+
>(
|
|
607
|
+
schema: S.Codec<Option.Option<A>, I, R>,
|
|
608
|
+
mode: "collect"
|
|
609
|
+
): (
|
|
610
|
+
current: Q
|
|
611
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
612
|
+
|
|
613
|
+
<
|
|
614
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
615
|
+
I extends ExtractFieldValuesRefined<Q>,
|
|
616
|
+
A = ExtractFieldValuesRefined<Q>,
|
|
617
|
+
R = never,
|
|
618
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
619
|
+
>(
|
|
620
|
+
schema: S.Codec<A, I, R>,
|
|
621
|
+
mode: "project"
|
|
622
|
+
): (
|
|
623
|
+
current: Q
|
|
624
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
625
|
+
<
|
|
626
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
627
|
+
I extends ExtractFieldValuesRefined<Q>,
|
|
628
|
+
A = ExtractFieldValuesRefined<Q>,
|
|
629
|
+
R = never,
|
|
630
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
631
|
+
>(
|
|
632
|
+
schema: S.Codec<A, I, R>
|
|
633
|
+
): (
|
|
634
|
+
current: Q
|
|
635
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
636
|
+
|
|
637
|
+
<
|
|
638
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
639
|
+
I extends FieldValues,
|
|
640
|
+
A,
|
|
641
|
+
R = never,
|
|
642
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
643
|
+
>(
|
|
644
|
+
schema:
|
|
645
|
+
& S.Codec<Option.Option<A>, I, R>
|
|
646
|
+
& ProjectableGuard<I, ExtractFieldValues<Q>>,
|
|
647
|
+
mode: "collect"
|
|
648
|
+
): (
|
|
649
|
+
current: Q
|
|
650
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
651
|
+
|
|
652
|
+
<
|
|
653
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
654
|
+
I extends FieldValues,
|
|
655
|
+
A,
|
|
656
|
+
R = never,
|
|
657
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
658
|
+
>(
|
|
659
|
+
schema:
|
|
660
|
+
& S.Codec<A, I, R>
|
|
661
|
+
& ProjectableGuard<I, ExtractFieldValues<Q>>,
|
|
662
|
+
mode: "project"
|
|
663
|
+
): (
|
|
664
|
+
current: Q
|
|
665
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
666
|
+
<
|
|
667
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
668
|
+
I extends FieldValues,
|
|
669
|
+
A,
|
|
670
|
+
R = never,
|
|
671
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
672
|
+
>(
|
|
673
|
+
schema:
|
|
674
|
+
& S.Codec<A, I, R>
|
|
675
|
+
& ProjectableGuard<I, ExtractFieldValues<Q>>
|
|
676
|
+
): (
|
|
677
|
+
current: Q
|
|
678
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
679
|
+
} = (schema: any, mode = "transform") => (current: any) => new Project({ current, schema, mode } as any)
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* Element type of an array-valued field path on `TFieldValues`. Falls back to
|
|
683
|
+
* `FieldValues` when the path does not resolve to an array of structs so that
|
|
684
|
+
* `FieldPath<...>` stays defined (it just degrades to `string`).
|
|
685
|
+
*
|
|
686
|
+
* Uses `Extract` so that when `P` defaults to the full `FieldPath<TFieldValues>`
|
|
687
|
+
* union, only the array-valued branches contribute to the element type.
|
|
688
|
+
*/
|
|
689
|
+
export type RelationElement<
|
|
690
|
+
TFieldValues extends FieldValues,
|
|
691
|
+
P extends FieldPath<TFieldValues>
|
|
692
|
+
> = Extract<FieldPathValue<TFieldValues, P>, ReadonlyArray<unknown>> extends ReadonlyArray<infer E>
|
|
693
|
+
? (E extends FieldValues ? E : FieldValues)
|
|
694
|
+
: FieldValues
|
|
695
|
+
|
|
696
|
+
export const relation = <
|
|
697
|
+
TFieldValues extends FieldValues,
|
|
698
|
+
const P extends FieldPath<TFieldValues> = FieldPath<TFieldValues>
|
|
699
|
+
>(
|
|
700
|
+
path: P
|
|
701
|
+
) => ({
|
|
702
|
+
/**
|
|
703
|
+
* Typed math-expression builder bound to the relation's element scope:
|
|
704
|
+
* `relation("items").expr.field("weight")` constrains the field path to
|
|
705
|
+
* `FieldPath<RelationElement<TFieldValues, P>>`.
|
|
706
|
+
*/
|
|
707
|
+
expr: {
|
|
708
|
+
field: (field: FieldPath<RelationElement<TFieldValues, P>>): ComputedProjectionMathExpression => ({
|
|
709
|
+
_tag: "field",
|
|
710
|
+
field
|
|
711
|
+
}),
|
|
712
|
+
mul: (
|
|
713
|
+
left: ComputedProjectionMathExpression,
|
|
714
|
+
right: ComputedProjectionMathExpression
|
|
715
|
+
): ComputedProjectionMathExpression => ({ _tag: "mul", left, right })
|
|
716
|
+
},
|
|
717
|
+
length: (): ComputedProjectionExpression<number> => ({
|
|
718
|
+
_tag: "relation-length",
|
|
719
|
+
path
|
|
720
|
+
}),
|
|
721
|
+
count: (operation?: ComputedProjectionOperation): ComputedProjectionExpression<number> =>
|
|
722
|
+
operation
|
|
723
|
+
? {
|
|
724
|
+
_tag: "relation-count",
|
|
725
|
+
path,
|
|
726
|
+
operation
|
|
727
|
+
}
|
|
728
|
+
: {
|
|
729
|
+
_tag: "relation-count",
|
|
730
|
+
path
|
|
731
|
+
},
|
|
732
|
+
any: (operation?: ComputedProjectionOperation): ComputedProjectionExpression<boolean> =>
|
|
733
|
+
operation
|
|
734
|
+
? {
|
|
735
|
+
_tag: "relation-any",
|
|
736
|
+
path,
|
|
737
|
+
operation
|
|
738
|
+
}
|
|
739
|
+
: {
|
|
740
|
+
_tag: "relation-any",
|
|
741
|
+
path
|
|
742
|
+
},
|
|
743
|
+
every: (operation: ComputedProjectionOperation): ComputedProjectionExpression<boolean> => ({
|
|
744
|
+
_tag: "relation-every",
|
|
745
|
+
path,
|
|
746
|
+
operation
|
|
747
|
+
}),
|
|
748
|
+
distinctCount: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(
|
|
749
|
+
field: F,
|
|
750
|
+
operation?: ComputedProjectionOperation
|
|
751
|
+
): ComputedProjectionExpression<number> =>
|
|
752
|
+
operation
|
|
753
|
+
? {
|
|
754
|
+
_tag: "relation-distinct-count",
|
|
755
|
+
path,
|
|
756
|
+
field,
|
|
757
|
+
operation
|
|
758
|
+
}
|
|
759
|
+
: {
|
|
760
|
+
_tag: "relation-distinct-count",
|
|
761
|
+
path,
|
|
762
|
+
field
|
|
763
|
+
},
|
|
764
|
+
sum: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(
|
|
765
|
+
field: F,
|
|
766
|
+
operation?: ComputedProjectionOperation
|
|
767
|
+
): ComputedProjectionExpression<number> =>
|
|
768
|
+
operation
|
|
769
|
+
? {
|
|
770
|
+
_tag: "relation-sum",
|
|
771
|
+
path,
|
|
772
|
+
field,
|
|
773
|
+
operation
|
|
774
|
+
}
|
|
775
|
+
: {
|
|
776
|
+
_tag: "relation-sum",
|
|
777
|
+
path,
|
|
778
|
+
field
|
|
779
|
+
},
|
|
780
|
+
sumExpr: (
|
|
781
|
+
expression: ComputedProjectionMathExpression,
|
|
782
|
+
operation?: ComputedProjectionOperation
|
|
783
|
+
): ComputedProjectionExpression<number> =>
|
|
784
|
+
operation
|
|
785
|
+
? {
|
|
786
|
+
_tag: "relation-sum-expr",
|
|
787
|
+
path,
|
|
788
|
+
expression,
|
|
789
|
+
operation
|
|
790
|
+
}
|
|
791
|
+
: {
|
|
792
|
+
_tag: "relation-sum-expr",
|
|
793
|
+
path,
|
|
794
|
+
expression
|
|
795
|
+
},
|
|
796
|
+
sumExprBy: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(
|
|
797
|
+
expression: ComputedProjectionMathExpression,
|
|
798
|
+
options: { unit: F },
|
|
799
|
+
operation?: ComputedProjectionOperation
|
|
800
|
+
): ComputedProjectionExpression<
|
|
801
|
+
ReadonlyArray<{ readonly unit: FieldPathValue<RelationElement<TFieldValues, P>, F>; readonly total: number }>
|
|
802
|
+
> =>
|
|
803
|
+
operation
|
|
804
|
+
? {
|
|
805
|
+
_tag: "relation-sum-expr-by",
|
|
806
|
+
path,
|
|
807
|
+
expression,
|
|
808
|
+
unit: options.unit,
|
|
809
|
+
operation
|
|
810
|
+
}
|
|
811
|
+
: {
|
|
812
|
+
_tag: "relation-sum-expr-by",
|
|
813
|
+
path,
|
|
814
|
+
expression,
|
|
815
|
+
unit: options.unit
|
|
816
|
+
},
|
|
817
|
+
sumExprNormalized: (
|
|
818
|
+
expression: ComputedProjectionMathExpression,
|
|
819
|
+
options: {
|
|
820
|
+
unit: FieldPath<RelationElement<TFieldValues, P>>
|
|
821
|
+
toBase: string
|
|
822
|
+
factors: Readonly<Record<string, number>>
|
|
823
|
+
},
|
|
824
|
+
operation?: ComputedProjectionOperation
|
|
825
|
+
): ComputedProjectionExpression<number> =>
|
|
826
|
+
operation
|
|
827
|
+
? {
|
|
828
|
+
_tag: "relation-sum-expr-normalized",
|
|
829
|
+
path,
|
|
830
|
+
expression,
|
|
831
|
+
unit: options.unit,
|
|
832
|
+
toBase: options.toBase,
|
|
833
|
+
factors: options.factors,
|
|
834
|
+
operation
|
|
835
|
+
}
|
|
836
|
+
: {
|
|
837
|
+
_tag: "relation-sum-expr-normalized",
|
|
838
|
+
path,
|
|
839
|
+
expression,
|
|
840
|
+
unit: options.unit,
|
|
841
|
+
toBase: options.toBase,
|
|
842
|
+
factors: options.factors
|
|
843
|
+
},
|
|
844
|
+
collect: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(
|
|
845
|
+
field: F,
|
|
846
|
+
operation?: ComputedProjectionOperation
|
|
847
|
+
): ComputedProjectionExpression<ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F>>> =>
|
|
848
|
+
operation
|
|
849
|
+
? {
|
|
850
|
+
_tag: "relation-collect",
|
|
851
|
+
path,
|
|
852
|
+
field,
|
|
853
|
+
distinct: false,
|
|
854
|
+
operation
|
|
855
|
+
}
|
|
856
|
+
: {
|
|
857
|
+
_tag: "relation-collect",
|
|
858
|
+
path,
|
|
859
|
+
field,
|
|
860
|
+
distinct: false
|
|
861
|
+
},
|
|
862
|
+
collectDistinct: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(
|
|
863
|
+
field: F,
|
|
864
|
+
operation?: ComputedProjectionOperation
|
|
865
|
+
): ComputedProjectionExpression<ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F>>> =>
|
|
866
|
+
operation
|
|
867
|
+
? {
|
|
868
|
+
_tag: "relation-collect",
|
|
869
|
+
path,
|
|
870
|
+
field,
|
|
871
|
+
distinct: true,
|
|
872
|
+
operation
|
|
873
|
+
}
|
|
874
|
+
: {
|
|
875
|
+
_tag: "relation-collect",
|
|
876
|
+
path,
|
|
877
|
+
field,
|
|
878
|
+
distinct: true
|
|
879
|
+
},
|
|
880
|
+
collectFields: <const F extends readonly FieldPath<RelationElement<TFieldValues, P>>[]>(
|
|
881
|
+
fields: F,
|
|
882
|
+
operation?: ComputedProjectionOperation
|
|
883
|
+
): ComputedProjectionExpression<
|
|
884
|
+
ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F[number]>>
|
|
885
|
+
> =>
|
|
886
|
+
operation
|
|
887
|
+
? {
|
|
888
|
+
_tag: "relation-collect-fields",
|
|
889
|
+
path,
|
|
890
|
+
fields,
|
|
891
|
+
distinct: false,
|
|
892
|
+
operation
|
|
893
|
+
}
|
|
894
|
+
: {
|
|
895
|
+
_tag: "relation-collect-fields",
|
|
896
|
+
path,
|
|
897
|
+
fields,
|
|
898
|
+
distinct: false
|
|
899
|
+
},
|
|
900
|
+
collectDistinctFields: <const F extends readonly FieldPath<RelationElement<TFieldValues, P>>[]>(
|
|
901
|
+
fields: F,
|
|
902
|
+
operation?: ComputedProjectionOperation
|
|
903
|
+
): ComputedProjectionExpression<
|
|
904
|
+
ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F[number]>>
|
|
905
|
+
> =>
|
|
906
|
+
operation
|
|
907
|
+
? {
|
|
908
|
+
_tag: "relation-collect-fields",
|
|
909
|
+
path,
|
|
910
|
+
fields,
|
|
911
|
+
distinct: true,
|
|
912
|
+
operation
|
|
913
|
+
}
|
|
914
|
+
: {
|
|
915
|
+
_tag: "relation-collect-fields",
|
|
916
|
+
path,
|
|
917
|
+
fields,
|
|
918
|
+
distinct: true
|
|
919
|
+
}
|
|
920
|
+
})
|
|
921
|
+
|
|
922
|
+
/**
|
|
923
|
+
* Untyped math-expression builder. Field paths are not statically validated —
|
|
924
|
+
* prefer the scope-bound `relation(path).expr` builder when the element type
|
|
925
|
+
* is known, since it constrains the field argument to `FieldPath<E>`.
|
|
926
|
+
*
|
|
927
|
+
* The generic parameter is accepted for symmetry with the scoped builder so
|
|
928
|
+
* callers may opt into a tighter check via `expr.field<E>("x")`.
|
|
929
|
+
*/
|
|
930
|
+
export const expr = {
|
|
931
|
+
field: <T extends FieldValues = FieldValues>(
|
|
932
|
+
field: FieldPath<T>
|
|
933
|
+
): ComputedProjectionMathExpression => ({ _tag: "field", field }),
|
|
934
|
+
mul: (
|
|
935
|
+
left: ComputedProjectionMathExpression,
|
|
936
|
+
right: ComputedProjectionMathExpression
|
|
937
|
+
): ComputedProjectionMathExpression => ({ _tag: "mul", left, right })
|
|
938
|
+
} as const
|
|
939
|
+
|
|
940
|
+
export const computed = <T extends ComputedProjectionMap>(value: T): T => value
|
|
941
|
+
|
|
942
|
+
/**
|
|
943
|
+
* Helpers passed to the inline-builder form of {@link projectComputed}. The
|
|
944
|
+
* `relation` factory is bound to the source row shape so paths/fields inside
|
|
945
|
+
* the projection are validated against the document shape inferred from the
|
|
946
|
+
* pipe.
|
|
947
|
+
*/
|
|
948
|
+
export interface ComputedHelpers<TFieldValues extends FieldValues> {
|
|
949
|
+
relation: <const P extends FieldPath<TFieldValues>>(path: P) => ReturnType<typeof relation<TFieldValues, P>>
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
const makeComputedHelpers = <TFieldValues extends FieldValues>(): ComputedHelpers<TFieldValues> => ({
|
|
953
|
+
relation: (path) => relation<TFieldValues, typeof path>(path)
|
|
954
|
+
})
|
|
955
|
+
|
|
956
|
+
/**
|
|
957
|
+
* Only treat computed-map keys as ExtraKeys when `M` is a concrete object type.
|
|
958
|
+
* `ComputedProjectionMap` is `Record<string, …>`, so `keyof M` is `string` and
|
|
959
|
+
* would otherwise allow every projection field as "computed".
|
|
960
|
+
*/
|
|
961
|
+
type ConcreteComputedKeys<M> = string extends keyof M ? never : Extract<keyof M, PropertyKey>
|
|
962
|
+
|
|
963
|
+
/**
|
|
964
|
+
* Proof that projection Encoded `I` is projectable from domain Encoded, allowing
|
|
965
|
+
* concrete computed keys. Intersected onto the computed-map argument so
|
|
966
|
+
* inference of `M` is complete before the check runs.
|
|
967
|
+
*/
|
|
968
|
+
type ProjectableComputedMap<
|
|
969
|
+
M extends ComputedProjectionMap,
|
|
970
|
+
I extends FieldValues,
|
|
971
|
+
Domain
|
|
972
|
+
> =
|
|
973
|
+
& M
|
|
974
|
+
& NoExtraComputedKeys<M, I>
|
|
975
|
+
& (
|
|
976
|
+
[ProjectableGuard<I, Domain, ConcreteComputedKeys<M>>] extends [never] ? {
|
|
977
|
+
readonly __projectableFromDomain:
|
|
978
|
+
"projection fields must exist on the matching domain tagged state or be computed keys"
|
|
979
|
+
}
|
|
980
|
+
: unknown
|
|
981
|
+
)
|
|
982
|
+
|
|
983
|
+
export const projectComputed: {
|
|
984
|
+
<
|
|
985
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
986
|
+
Schema extends S.Codec<any, FieldValues, any>,
|
|
987
|
+
M extends ComputedProjectionMap,
|
|
988
|
+
I extends FieldValues = S.Codec.Encoded<Schema>,
|
|
989
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
990
|
+
>(
|
|
991
|
+
schema: Schema,
|
|
992
|
+
build: (helpers: ComputedHelpers<ExtractFieldValues<Q>>) => ProjectableComputedMap<M, I, ExtractFieldValues<Q>>,
|
|
993
|
+
mode: "collect"
|
|
994
|
+
): (
|
|
995
|
+
current: Q
|
|
996
|
+
) => QueryProjection<
|
|
997
|
+
ExtractFieldValuesRefined<Q>,
|
|
998
|
+
S.Schema.Type<Schema> extends Option.Option<infer A> ? A : never,
|
|
999
|
+
never,
|
|
1000
|
+
ExtractTType<Q>,
|
|
1001
|
+
E
|
|
1002
|
+
>
|
|
1003
|
+
|
|
1004
|
+
<
|
|
1005
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
1006
|
+
Schema extends S.Codec<any, FieldValues, any>,
|
|
1007
|
+
M extends ComputedProjectionMap,
|
|
1008
|
+
I extends FieldValues = S.Codec.Encoded<Schema>,
|
|
1009
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
1010
|
+
>(
|
|
1011
|
+
schema: Schema,
|
|
1012
|
+
build: (helpers: ComputedHelpers<ExtractFieldValues<Q>>) => ProjectableComputedMap<M, I, ExtractFieldValues<Q>>,
|
|
1013
|
+
mode?: "project"
|
|
1014
|
+
): (
|
|
1015
|
+
current: Q
|
|
1016
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, S.Schema.Type<Schema>, never, ExtractTType<Q>, E>
|
|
1017
|
+
|
|
1018
|
+
<
|
|
1019
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
1020
|
+
Schema extends S.Codec<any, FieldValues, any>,
|
|
1021
|
+
M extends ComputedProjectionMap,
|
|
1022
|
+
I extends FieldValues = S.Codec.Encoded<Schema>,
|
|
1023
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
1024
|
+
>(
|
|
1025
|
+
schema: Schema,
|
|
1026
|
+
computedProjection: ProjectableComputedMap<M, I, ExtractFieldValues<Q>>,
|
|
1027
|
+
mode: "collect"
|
|
1028
|
+
): (
|
|
1029
|
+
current: Q
|
|
1030
|
+
) => QueryProjection<
|
|
1031
|
+
ExtractFieldValuesRefined<Q>,
|
|
1032
|
+
S.Schema.Type<Schema> extends Option.Option<infer A> ? A : never,
|
|
1033
|
+
never,
|
|
1034
|
+
ExtractTType<Q>,
|
|
1035
|
+
E
|
|
1036
|
+
>
|
|
1037
|
+
|
|
1038
|
+
<
|
|
1039
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
1040
|
+
Schema extends S.Codec<any, FieldValues, any>,
|
|
1041
|
+
M extends ComputedProjectionMap,
|
|
1042
|
+
I extends FieldValues = S.Codec.Encoded<Schema>,
|
|
1043
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
1044
|
+
>(
|
|
1045
|
+
schema: Schema,
|
|
1046
|
+
computedProjection: ProjectableComputedMap<M, I, ExtractFieldValues<Q>>,
|
|
1047
|
+
mode?: "project"
|
|
1048
|
+
): (
|
|
1049
|
+
current: Q
|
|
1050
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, S.Schema.Type<Schema>, never, ExtractTType<Q>, E>
|
|
1051
|
+
} = (
|
|
1052
|
+
schema: any,
|
|
1053
|
+
mapOrBuild:
|
|
1054
|
+
| ComputedProjectionMap
|
|
1055
|
+
| ((helpers: ComputedHelpers<FieldValues>) => ComputedProjectionMap),
|
|
1056
|
+
mode = "project"
|
|
1057
|
+
) =>
|
|
1058
|
+
(current: any) => {
|
|
1059
|
+
const computedProjection = typeof mapOrBuild === "function"
|
|
1060
|
+
? mapOrBuild(makeComputedHelpers())
|
|
1061
|
+
: mapOrBuild
|
|
1062
|
+
return new Project({ current, schema, mode, computed: computedProjection })
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
/**
|
|
1066
|
+
* Builder shape returned by {@link agg}. Field-taking methods are constrained
|
|
1067
|
+
* to `FieldPath<TFieldValues>` so paths are validated against the document
|
|
1068
|
+
* shape.
|
|
1069
|
+
*/
|
|
1070
|
+
export interface AggBuilder<TFieldValues extends FieldValues> {
|
|
1071
|
+
field: (path: FieldPath<TFieldValues>) => AggregateExpression
|
|
1072
|
+
count: () => AggregateExpression
|
|
1073
|
+
countWhen: (operation: ComputedProjectionOperation) => AggregateExpression
|
|
1074
|
+
sum: (field: FieldPath<TFieldValues>) => AggregateExpression
|
|
1075
|
+
min: (field: FieldPath<TFieldValues>) => AggregateExpression
|
|
1076
|
+
max: (field: FieldPath<TFieldValues>) => AggregateExpression
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
const makeAggBuilder = <TFieldValues extends FieldValues>(): AggBuilder<TFieldValues> => ({
|
|
1080
|
+
field: (path) => ({ _tag: "agg-field", path }),
|
|
1081
|
+
count: () => ({ _tag: "agg-count" }),
|
|
1082
|
+
countWhen: (operation) => ({ _tag: "agg-count-when", operation }),
|
|
1083
|
+
sum: (field) => ({ _tag: "agg-sum", field }),
|
|
1084
|
+
min: (field) => ({ _tag: "agg-min", field }),
|
|
1085
|
+
max: (field) => ({ _tag: "agg-max", field })
|
|
1086
|
+
})
|
|
1087
|
+
|
|
1088
|
+
/**
|
|
1089
|
+
* Scope-bound aggregate-expression builder factory. Invoke with the source
|
|
1090
|
+
* document field-value shape to get a builder whose `field`/`sum`/`min`/`max`
|
|
1091
|
+
* arguments are constrained to `FieldPath<TFieldValues>`.
|
|
1092
|
+
*
|
|
1093
|
+
* Prefer the inline callback form of {@link aggregate} (`aggregate(schema,
|
|
1094
|
+
* ($) => ({...}))`) — there the source shape is inferred from the pipe so no
|
|
1095
|
+
* explicit type argument is needed. This factory is the escape hatch when
|
|
1096
|
+
* the builder is constructed outside the pipe.
|
|
1097
|
+
*/
|
|
1098
|
+
export const agg = <TFieldValues extends FieldValues = FieldValues>(): AggBuilder<TFieldValues> =>
|
|
1099
|
+
makeAggBuilder<TFieldValues>()
|
|
1100
|
+
|
|
1101
|
+
/**
|
|
1102
|
+
* Attach an aggregate projection to a query, performing GROUP BY + aggregate functions at the
|
|
1103
|
+
* database level instead of fetching all rows and grouping in memory.
|
|
1104
|
+
*
|
|
1105
|
+
* Pass a builder callback to get a typed `agg` bound to the source row shape
|
|
1106
|
+
* (inferred from the pipe — no explicit generic needed):
|
|
1107
|
+
*
|
|
1108
|
+
* @example
|
|
1109
|
+
* ```ts
|
|
1110
|
+
* repo.query(
|
|
1111
|
+
* where("status", "active"),
|
|
1112
|
+
* aggregate(
|
|
1113
|
+
* S.Struct({ city: S.String, count: S.Number }),
|
|
1114
|
+
* ($) => ({
|
|
1115
|
+
* city: $.field("address.city"),
|
|
1116
|
+
* count: $.countWhen((q) => q.pipe(where("active", true)))
|
|
1117
|
+
* })
|
|
1118
|
+
* )
|
|
1119
|
+
* )
|
|
1120
|
+
* ```
|
|
1121
|
+
*
|
|
1122
|
+
* A plain {@link AggregateMap} is also accepted for the rare case where the
|
|
1123
|
+
* map is built outside the pipe (loses path inference).
|
|
1124
|
+
*
|
|
1125
|
+
* The output is decoded directly with `schema` (no PM reverse-mapping, no etag tracking).
|
|
1126
|
+
* Decode failures surface as `S.SchemaError`.
|
|
1127
|
+
*/
|
|
1128
|
+
export const aggregate: {
|
|
1129
|
+
<
|
|
1130
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
1131
|
+
I extends Record<string, unknown>,
|
|
1132
|
+
A = ExtractFieldValuesRefined<Q>,
|
|
1133
|
+
R = never,
|
|
1134
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
1135
|
+
>(
|
|
1136
|
+
schema: S.Codec<A, I, R>,
|
|
1137
|
+
build: (agg: AggBuilder<ExtractFieldValuesRefined<Q>>) => AggregateMap
|
|
1138
|
+
): (
|
|
1139
|
+
current: Q
|
|
1140
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
1141
|
+
<
|
|
1142
|
+
Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>,
|
|
1143
|
+
I extends Record<string, unknown>,
|
|
1144
|
+
A = ExtractFieldValuesRefined<Q>,
|
|
1145
|
+
R = never,
|
|
1146
|
+
E extends boolean = ExtractExclusiveness<Q>
|
|
1147
|
+
>(
|
|
1148
|
+
schema: S.Codec<A, I, R>,
|
|
1149
|
+
aggregateMap: AggregateMap
|
|
1150
|
+
): (
|
|
1151
|
+
current: Q
|
|
1152
|
+
) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>
|
|
1153
|
+
} = (schema: any, mapOrBuild: AggregateMap | ((agg: AggBuilder<FieldValues>) => AggregateMap)) => (current: any) => {
|
|
1154
|
+
const aggregateMap = typeof mapOrBuild === "function"
|
|
1155
|
+
? mapOrBuild(makeAggBuilder())
|
|
1156
|
+
: mapOrBuild
|
|
1157
|
+
return new Project({ current, schema, mode: "aggregate", aggregateMap } as any)
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
type GetArV<T> = T extends ReadonlySet<infer R> ? R
|
|
1161
|
+
: T extends readonly (infer R)[] ? R
|
|
1162
|
+
: never
|
|
1163
|
+
|
|
1164
|
+
type GetMapK<T> = T extends ReadonlyMap<infer K, infer _V> ? K : never
|
|
1165
|
+
type GetMapV<T> = T extends ReadonlyMap<infer _K, infer V> ? V : never
|
|
1166
|
+
type GetMapEntry<T> = T extends ReadonlyMap<infer K, infer V> ? readonly [K, V] : never
|
|
1167
|
+
|
|
1168
|
+
type InValues<T> = readonly T[] | ReadonlySet<T>
|
|
1169
|
+
|
|
1170
|
+
export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
|
|
1171
|
+
<
|
|
1172
|
+
TFieldValues extends FieldValues,
|
|
1173
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1174
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1175
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1176
|
+
E extends boolean = false
|
|
1177
|
+
>(
|
|
1178
|
+
path: TFieldName,
|
|
1179
|
+
value: V
|
|
1180
|
+
): (
|
|
1181
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1182
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1183
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1184
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1185
|
+
|
|
1186
|
+
<
|
|
1187
|
+
TFieldValues extends FieldValues,
|
|
1188
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1189
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1190
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1191
|
+
E extends boolean = false
|
|
1192
|
+
>(
|
|
1193
|
+
path: TFieldName,
|
|
1194
|
+
op: "gt" | "gte" | "lt" | "lte" | "neq",
|
|
1195
|
+
value: V // only numbers?
|
|
1196
|
+
): (
|
|
1197
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1198
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1199
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1200
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1201
|
+
<
|
|
1202
|
+
TFieldValues extends FieldValues,
|
|
1203
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1204
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1205
|
+
E extends boolean = false
|
|
1206
|
+
>(
|
|
1207
|
+
path: TFieldName,
|
|
1208
|
+
op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith",
|
|
1209
|
+
value: FieldPathValue<TFieldValues, TFieldName> extends string ? string : never
|
|
1210
|
+
): (
|
|
1211
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1212
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1213
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1214
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1215
|
+
<
|
|
1216
|
+
TFieldValues extends FieldValues,
|
|
1217
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1218
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1219
|
+
E extends boolean = false
|
|
1220
|
+
>(
|
|
1221
|
+
path: TFieldName,
|
|
1222
|
+
op: "in" | "notIn",
|
|
1223
|
+
value: InValues<FieldPathValue<TFieldValues, TFieldName>>
|
|
1224
|
+
): (
|
|
1225
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1226
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1227
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1228
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1229
|
+
<
|
|
1230
|
+
TFieldValues extends FieldValues,
|
|
1231
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1232
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1233
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1234
|
+
E extends boolean = false
|
|
1235
|
+
>(
|
|
1236
|
+
path: TFieldName,
|
|
1237
|
+
op:
|
|
1238
|
+
| "includes"
|
|
1239
|
+
| "notIncludes",
|
|
1240
|
+
value: GetArV<V>
|
|
1241
|
+
): (
|
|
1242
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1243
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1244
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1245
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1246
|
+
<
|
|
1247
|
+
TFieldValues extends FieldValues,
|
|
1248
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1249
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1250
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1251
|
+
E extends boolean = false
|
|
1252
|
+
>(
|
|
1253
|
+
path: TFieldName,
|
|
1254
|
+
op:
|
|
1255
|
+
| "includes-any"
|
|
1256
|
+
| "notIncludes-any"
|
|
1257
|
+
| "includes-all"
|
|
1258
|
+
| "notIncludes-all",
|
|
1259
|
+
value: InValues<GetArV<V>>
|
|
1260
|
+
): (
|
|
1261
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1262
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1263
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1264
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1265
|
+
<
|
|
1266
|
+
TFieldValues extends FieldValues,
|
|
1267
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1268
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1269
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1270
|
+
E extends boolean = false
|
|
1271
|
+
>(
|
|
1272
|
+
path: TFieldName,
|
|
1273
|
+
op: "hasKey" | "notHasKey",
|
|
1274
|
+
value: GetMapK<V>
|
|
1275
|
+
): (
|
|
1276
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1277
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1278
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1279
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1280
|
+
<
|
|
1281
|
+
TFieldValues extends FieldValues,
|
|
1282
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1283
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1284
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1285
|
+
E extends boolean = false
|
|
1286
|
+
>(
|
|
1287
|
+
path: TFieldName,
|
|
1288
|
+
op: "hasValue" | "notHasValue",
|
|
1289
|
+
value: GetMapV<V>
|
|
1290
|
+
): (
|
|
1291
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1292
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1293
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1294
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1295
|
+
<
|
|
1296
|
+
TFieldValues extends FieldValues,
|
|
1297
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1298
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1299
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1300
|
+
E extends boolean = false
|
|
1301
|
+
>(
|
|
1302
|
+
path: TFieldName,
|
|
1303
|
+
op: "hasKeyValue" | "notHasKeyValue",
|
|
1304
|
+
value: GetMapEntry<V>
|
|
1305
|
+
): (
|
|
1306
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1307
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1308
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1309
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1310
|
+
<
|
|
1311
|
+
TFieldValues extends FieldValues,
|
|
1312
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1313
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1314
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1315
|
+
E extends boolean = false
|
|
1316
|
+
>(
|
|
1317
|
+
path: TFieldName,
|
|
1318
|
+
op: "hasKey-any" | "notHasKey-any" | "hasKey-all" | "notHasKey-all",
|
|
1319
|
+
value: InValues<GetMapK<V>>
|
|
1320
|
+
): (
|
|
1321
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1322
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1323
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1324
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1325
|
+
<
|
|
1326
|
+
TFieldValues extends FieldValues,
|
|
1327
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1328
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1329
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1330
|
+
E extends boolean = false
|
|
1331
|
+
>(
|
|
1332
|
+
path: TFieldName,
|
|
1333
|
+
op: "hasValue-any" | "notHasValue-any" | "hasValue-all" | "notHasValue-all",
|
|
1334
|
+
value: InValues<GetMapV<V>>
|
|
1335
|
+
): (
|
|
1336
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1337
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1338
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1339
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1340
|
+
<
|
|
1341
|
+
TFieldValues extends FieldValues,
|
|
1342
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1343
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1344
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1345
|
+
E extends boolean = false
|
|
1346
|
+
>(
|
|
1347
|
+
path: TFieldName,
|
|
1348
|
+
op: "hasKeyValue-any" | "notHasKeyValue-any" | "hasKeyValue-all" | "notHasKeyValue-all",
|
|
1349
|
+
value: InValues<GetMapEntry<V>>
|
|
1350
|
+
): (
|
|
1351
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1352
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1353
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1354
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1355
|
+
<
|
|
1356
|
+
TFieldValues extends FieldValues,
|
|
1357
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1358
|
+
V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1359
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1360
|
+
E extends boolean = false
|
|
1361
|
+
>(f: {
|
|
1362
|
+
path: TFieldName
|
|
1363
|
+
op: "eq"
|
|
1364
|
+
value: V
|
|
1365
|
+
}): (
|
|
1366
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1367
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1368
|
+
) => IsCurrentInitial extends true ? QueryWhere<TFieldValues>
|
|
1369
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1370
|
+
}
|
|
1371
|
+
|
|
1372
|
+
export type FilterContinuationsWithSubpath = {
|
|
1373
|
+
<
|
|
1374
|
+
TFieldValues extends FieldValues,
|
|
1375
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1376
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1377
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1378
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1379
|
+
>(
|
|
1380
|
+
subPath: TFieldName,
|
|
1381
|
+
restPath: TFieldNameSub,
|
|
1382
|
+
value: V
|
|
1383
|
+
): (
|
|
1384
|
+
current: Query<TFieldValues>
|
|
1385
|
+
) => QueryWhere<TFieldValues>
|
|
1386
|
+
<
|
|
1387
|
+
TFieldValues extends FieldValues,
|
|
1388
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1389
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1390
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1391
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1392
|
+
>(
|
|
1393
|
+
subPath: TFieldName,
|
|
1394
|
+
restPath: TFieldNameSub,
|
|
1395
|
+
op: "gt" | "gte" | "lt" | "lte" | "neq",
|
|
1396
|
+
value: V // only numbers?
|
|
1397
|
+
): (
|
|
1398
|
+
current: Query<TFieldValues>
|
|
1399
|
+
) => QueryWhere<TFieldValues>
|
|
1400
|
+
<
|
|
1401
|
+
TFieldValues extends FieldValues,
|
|
1402
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1403
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1404
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>
|
|
1405
|
+
>(
|
|
1406
|
+
subPath: TFieldName,
|
|
1407
|
+
restPath: TFieldNameSub,
|
|
1408
|
+
op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith",
|
|
1409
|
+
value: FieldPathValue<TFieldValuesSub, TFieldNameSub> extends string ? string : never
|
|
1410
|
+
): (
|
|
1411
|
+
current: Query<TFieldValues>
|
|
1412
|
+
) => QueryWhere<TFieldValues>
|
|
1413
|
+
<
|
|
1414
|
+
TFieldValues extends FieldValues,
|
|
1415
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1416
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1417
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1418
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1419
|
+
>(
|
|
1420
|
+
subPath: TFieldName,
|
|
1421
|
+
restPath: TFieldNameSub,
|
|
1422
|
+
op: "in" | "notIn",
|
|
1423
|
+
value: InValues<V>
|
|
1424
|
+
): (
|
|
1425
|
+
current: Query<TFieldValues>
|
|
1426
|
+
) => QueryWhere<TFieldValues>
|
|
1427
|
+
<
|
|
1428
|
+
TFieldValues extends FieldValues,
|
|
1429
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1430
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1431
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1432
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1433
|
+
>(
|
|
1434
|
+
subPath: TFieldName,
|
|
1435
|
+
restPath: TFieldNameSub,
|
|
1436
|
+
op:
|
|
1437
|
+
| "includes"
|
|
1438
|
+
| "notIncludes",
|
|
1439
|
+
value: GetArV<V>
|
|
1440
|
+
): (
|
|
1441
|
+
current: Query<TFieldValues>
|
|
1442
|
+
) => QueryWhere<TFieldValues>
|
|
1443
|
+
<
|
|
1444
|
+
TFieldValues extends FieldValues,
|
|
1445
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1446
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1447
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1448
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1449
|
+
>(
|
|
1450
|
+
subPath: TFieldName,
|
|
1451
|
+
restPath: TFieldNameSub,
|
|
1452
|
+
op:
|
|
1453
|
+
| "includes-any"
|
|
1454
|
+
| "notIncludes-any"
|
|
1455
|
+
| "includes-all"
|
|
1456
|
+
| "notIncludes-all",
|
|
1457
|
+
value: InValues<GetArV<V>>
|
|
1458
|
+
): (
|
|
1459
|
+
current: Query<TFieldValues>
|
|
1460
|
+
) => QueryWhere<TFieldValues>
|
|
1461
|
+
<
|
|
1462
|
+
TFieldValues extends FieldValues,
|
|
1463
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1464
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1465
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1466
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1467
|
+
>(
|
|
1468
|
+
subPath: TFieldName,
|
|
1469
|
+
restPath: TFieldNameSub,
|
|
1470
|
+
op: "hasKey" | "notHasKey",
|
|
1471
|
+
value: GetMapK<V>
|
|
1472
|
+
): (
|
|
1473
|
+
current: Query<TFieldValues>
|
|
1474
|
+
) => QueryWhere<TFieldValues>
|
|
1475
|
+
<
|
|
1476
|
+
TFieldValues extends FieldValues,
|
|
1477
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1478
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1479
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1480
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1481
|
+
>(
|
|
1482
|
+
subPath: TFieldName,
|
|
1483
|
+
restPath: TFieldNameSub,
|
|
1484
|
+
op: "hasValue" | "notHasValue",
|
|
1485
|
+
value: GetMapV<V>
|
|
1486
|
+
): (
|
|
1487
|
+
current: Query<TFieldValues>
|
|
1488
|
+
) => QueryWhere<TFieldValues>
|
|
1489
|
+
<
|
|
1490
|
+
TFieldValues extends FieldValues,
|
|
1491
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1492
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1493
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1494
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1495
|
+
>(
|
|
1496
|
+
subPath: TFieldName,
|
|
1497
|
+
restPath: TFieldNameSub,
|
|
1498
|
+
op: "hasKeyValue" | "notHasKeyValue",
|
|
1499
|
+
value: GetMapEntry<V>
|
|
1500
|
+
): (
|
|
1501
|
+
current: Query<TFieldValues>
|
|
1502
|
+
) => QueryWhere<TFieldValues>
|
|
1503
|
+
<
|
|
1504
|
+
TFieldValues extends FieldValues,
|
|
1505
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1506
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1507
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1508
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1509
|
+
>(
|
|
1510
|
+
subPath: TFieldName,
|
|
1511
|
+
restPath: TFieldNameSub,
|
|
1512
|
+
op: "hasKey-any" | "notHasKey-any" | "hasKey-all" | "notHasKey-all",
|
|
1513
|
+
value: InValues<GetMapK<V>>
|
|
1514
|
+
): (
|
|
1515
|
+
current: Query<TFieldValues>
|
|
1516
|
+
) => QueryWhere<TFieldValues>
|
|
1517
|
+
<
|
|
1518
|
+
TFieldValues extends FieldValues,
|
|
1519
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1520
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1521
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1522
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1523
|
+
>(
|
|
1524
|
+
subPath: TFieldName,
|
|
1525
|
+
restPath: TFieldNameSub,
|
|
1526
|
+
op: "hasValue-any" | "notHasValue-any" | "hasValue-all" | "notHasValue-all",
|
|
1527
|
+
value: InValues<GetMapV<V>>
|
|
1528
|
+
): (
|
|
1529
|
+
current: Query<TFieldValues>
|
|
1530
|
+
) => QueryWhere<TFieldValues>
|
|
1531
|
+
<
|
|
1532
|
+
TFieldValues extends FieldValues,
|
|
1533
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1534
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1535
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1536
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1537
|
+
>(
|
|
1538
|
+
subPath: TFieldName,
|
|
1539
|
+
restPath: TFieldNameSub,
|
|
1540
|
+
op: "hasKeyValue-any" | "notHasKeyValue-any" | "hasKeyValue-all" | "notHasKeyValue-all",
|
|
1541
|
+
value: InValues<GetMapEntry<V>>
|
|
1542
|
+
): (
|
|
1543
|
+
current: Query<TFieldValues>
|
|
1544
|
+
) => QueryWhere<TFieldValues>
|
|
1545
|
+
<
|
|
1546
|
+
TFieldValues extends FieldValues,
|
|
1547
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1548
|
+
TFieldValuesSub extends TFieldValues[TFieldName][number],
|
|
1549
|
+
TFieldNameSub extends FieldPath<TFieldValuesSub>,
|
|
1550
|
+
V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>
|
|
1551
|
+
>(f: {
|
|
1552
|
+
subPath: TFieldName
|
|
1553
|
+
restPath: TFieldNameSub
|
|
1554
|
+
op: "eq"
|
|
1555
|
+
value: V
|
|
1556
|
+
}): (
|
|
1557
|
+
current: Query<TFieldValues>
|
|
1558
|
+
) => QueryWhere<TFieldValues>
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
/* dprint-ignore-start */
|
|
1562
|
+
export type RefineWithLiteral<
|
|
1563
|
+
TFieldValues extends FieldValues,
|
|
1564
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1565
|
+
V,
|
|
1566
|
+
Exclde extends boolean = false
|
|
1567
|
+
> =
|
|
1568
|
+
// refine only if the value is a primitive
|
|
1569
|
+
[V] extends [string | number | boolean | null | bigint]
|
|
1570
|
+
? RefineFieldPathValue<TFieldValues, TFieldName, V, Exclde>
|
|
1571
|
+
: TFieldValues
|
|
1572
|
+
/* dprint-ignore-end */
|
|
1573
|
+
|
|
1574
|
+
export type FilteringRefinements<IsCurrentInitial extends boolean = false> = {
|
|
1575
|
+
<
|
|
1576
|
+
TFieldValues extends FieldValues,
|
|
1577
|
+
const TFieldName extends FieldPath<TFieldValues>,
|
|
1578
|
+
const V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1579
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1580
|
+
E extends boolean = false
|
|
1581
|
+
>(
|
|
1582
|
+
path: TFieldName,
|
|
1583
|
+
value: V
|
|
1584
|
+
): (
|
|
1585
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1586
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1587
|
+
) => QueryWhere<
|
|
1588
|
+
TFieldValues,
|
|
1589
|
+
// @ts-expect-error it's TS
|
|
1590
|
+
RefineWithLiteral<TFieldValuesRefined, TFieldName, V>,
|
|
1591
|
+
TFieldName extends "_tag" ? true : false // consider only _tag as an exclusive field and only in the positive case
|
|
1592
|
+
>
|
|
1593
|
+
<
|
|
1594
|
+
TFieldValues extends FieldValues,
|
|
1595
|
+
const TFieldName extends FieldPath<TFieldValues>,
|
|
1596
|
+
const V extends FieldPathValue<TFieldValues, TFieldName>,
|
|
1597
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1598
|
+
E extends boolean = false
|
|
1599
|
+
>(
|
|
1600
|
+
path: TFieldName,
|
|
1601
|
+
op: "neq",
|
|
1602
|
+
value: V
|
|
1603
|
+
): (
|
|
1604
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1605
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1606
|
+
) => QueryWhere<
|
|
1607
|
+
TFieldValues,
|
|
1608
|
+
// @ts-expect-error it's TS
|
|
1609
|
+
RefineWithLiteral<TFieldValuesRefined, TFieldName, V, true>,
|
|
1610
|
+
E
|
|
1611
|
+
>
|
|
1612
|
+
<
|
|
1613
|
+
TFieldValues extends FieldValues,
|
|
1614
|
+
TFieldName extends FieldPath<TFieldValues>,
|
|
1615
|
+
const V extends readonly FieldPathValue<TFieldValues, TFieldName>[],
|
|
1616
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1617
|
+
E extends boolean = false
|
|
1618
|
+
>(
|
|
1619
|
+
path: TFieldName,
|
|
1620
|
+
op: "in",
|
|
1621
|
+
value: V
|
|
1622
|
+
): (
|
|
1623
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues>
|
|
1624
|
+
: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1625
|
+
) => QueryWhere<
|
|
1626
|
+
TFieldValues,
|
|
1627
|
+
// @ts-expect-error it's TS
|
|
1628
|
+
RefineWithLiteral<TFieldValuesRefined, TFieldName, NonNullable<V[number]>>,
|
|
1629
|
+
E
|
|
1630
|
+
>
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
export type NestedQueriesFixedRefinement<IsCurrentInitial extends boolean = false> = {
|
|
1634
|
+
<
|
|
1635
|
+
TFieldValues extends FieldValues,
|
|
1636
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1637
|
+
E extends boolean = false,
|
|
1638
|
+
E2 extends boolean = false
|
|
1639
|
+
>(
|
|
1640
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>
|
|
1641
|
+
): (
|
|
1642
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1643
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>
|
|
1644
|
+
|
|
1645
|
+
<
|
|
1646
|
+
TFieldValues extends FieldValues,
|
|
1647
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1648
|
+
E extends boolean = false,
|
|
1649
|
+
E2 extends boolean = false,
|
|
1650
|
+
E3 extends boolean = false
|
|
1651
|
+
>(
|
|
1652
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1653
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>
|
|
1654
|
+
): (
|
|
1655
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1656
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>
|
|
1657
|
+
|
|
1658
|
+
<
|
|
1659
|
+
TFieldValues extends FieldValues,
|
|
1660
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1661
|
+
E extends boolean = false,
|
|
1662
|
+
E2 extends boolean = false,
|
|
1663
|
+
E3 extends boolean = false,
|
|
1664
|
+
E4 extends boolean = false
|
|
1665
|
+
>(
|
|
1666
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1667
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1668
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>
|
|
1669
|
+
): (
|
|
1670
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1671
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>
|
|
1672
|
+
|
|
1673
|
+
<
|
|
1674
|
+
TFieldValues extends FieldValues,
|
|
1675
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1676
|
+
E extends boolean = false,
|
|
1677
|
+
E2 extends boolean = false,
|
|
1678
|
+
E3 extends boolean = false,
|
|
1679
|
+
E4 extends boolean = false,
|
|
1680
|
+
E5 extends boolean = false
|
|
1681
|
+
>(
|
|
1682
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1683
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1684
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1685
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>
|
|
1686
|
+
): (
|
|
1687
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1688
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>
|
|
1689
|
+
|
|
1690
|
+
<
|
|
1691
|
+
TFieldValues extends FieldValues,
|
|
1692
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1693
|
+
E extends boolean = false,
|
|
1694
|
+
E2 extends boolean = false,
|
|
1695
|
+
E3 extends boolean = false,
|
|
1696
|
+
E4 extends boolean = false,
|
|
1697
|
+
E5 extends boolean = false,
|
|
1698
|
+
E6 extends boolean = false
|
|
1699
|
+
>(
|
|
1700
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1701
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1702
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1703
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1704
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>
|
|
1705
|
+
): (
|
|
1706
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1707
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>
|
|
1708
|
+
|
|
1709
|
+
<
|
|
1710
|
+
TFieldValues extends FieldValues,
|
|
1711
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1712
|
+
E extends boolean = false,
|
|
1713
|
+
E2 extends boolean = false,
|
|
1714
|
+
E3 extends boolean = false,
|
|
1715
|
+
E4 extends boolean = false,
|
|
1716
|
+
E5 extends boolean = false,
|
|
1717
|
+
E6 extends boolean = false,
|
|
1718
|
+
E7 extends boolean = false
|
|
1719
|
+
>(
|
|
1720
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1721
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1722
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1723
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1724
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1725
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>
|
|
1726
|
+
): (
|
|
1727
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1728
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>
|
|
1729
|
+
|
|
1730
|
+
<
|
|
1731
|
+
TFieldValues extends FieldValues,
|
|
1732
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1733
|
+
E extends boolean = false,
|
|
1734
|
+
E2 extends boolean = false,
|
|
1735
|
+
E3 extends boolean = false,
|
|
1736
|
+
E4 extends boolean = false,
|
|
1737
|
+
E5 extends boolean = false,
|
|
1738
|
+
E6 extends boolean = false,
|
|
1739
|
+
E7 extends boolean = false,
|
|
1740
|
+
E8 extends boolean = false
|
|
1741
|
+
>(
|
|
1742
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1743
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1744
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1745
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1746
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1747
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>,
|
|
1748
|
+
fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>
|
|
1749
|
+
): (
|
|
1750
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1751
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>
|
|
1752
|
+
|
|
1753
|
+
<
|
|
1754
|
+
TFieldValues extends FieldValues,
|
|
1755
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1756
|
+
E extends boolean = false,
|
|
1757
|
+
E2 extends boolean = false,
|
|
1758
|
+
E3 extends boolean = false,
|
|
1759
|
+
E4 extends boolean = false,
|
|
1760
|
+
E5 extends boolean = false,
|
|
1761
|
+
E6 extends boolean = false,
|
|
1762
|
+
E7 extends boolean = false,
|
|
1763
|
+
E8 extends boolean = false,
|
|
1764
|
+
E9 extends boolean = false
|
|
1765
|
+
>(
|
|
1766
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1767
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1768
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1769
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1770
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1771
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>,
|
|
1772
|
+
fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>,
|
|
1773
|
+
fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>
|
|
1774
|
+
): (
|
|
1775
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1776
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>
|
|
1777
|
+
|
|
1778
|
+
<
|
|
1779
|
+
TFieldValues extends FieldValues,
|
|
1780
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1781
|
+
E extends boolean = false,
|
|
1782
|
+
E2 extends boolean = false,
|
|
1783
|
+
E3 extends boolean = false,
|
|
1784
|
+
E4 extends boolean = false,
|
|
1785
|
+
E5 extends boolean = false,
|
|
1786
|
+
E6 extends boolean = false,
|
|
1787
|
+
E7 extends boolean = false,
|
|
1788
|
+
E8 extends boolean = false,
|
|
1789
|
+
E9 extends boolean = false,
|
|
1790
|
+
E10 extends boolean = false
|
|
1791
|
+
>(
|
|
1792
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1793
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1794
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1795
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1796
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1797
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>,
|
|
1798
|
+
fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>,
|
|
1799
|
+
fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>,
|
|
1800
|
+
fj: (
|
|
1801
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>
|
|
1802
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>
|
|
1803
|
+
): (
|
|
1804
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1805
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>
|
|
1806
|
+
|
|
1807
|
+
<
|
|
1808
|
+
TFieldValues extends FieldValues,
|
|
1809
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1810
|
+
E extends boolean = false,
|
|
1811
|
+
E2 extends boolean = false,
|
|
1812
|
+
E3 extends boolean = false,
|
|
1813
|
+
E4 extends boolean = false,
|
|
1814
|
+
E5 extends boolean = false,
|
|
1815
|
+
E6 extends boolean = false,
|
|
1816
|
+
E7 extends boolean = false,
|
|
1817
|
+
E8 extends boolean = false,
|
|
1818
|
+
E9 extends boolean = false,
|
|
1819
|
+
E10 extends boolean = false,
|
|
1820
|
+
E11 extends boolean = false
|
|
1821
|
+
>(
|
|
1822
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1823
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1824
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1825
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1826
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1827
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>,
|
|
1828
|
+
fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>,
|
|
1829
|
+
fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>,
|
|
1830
|
+
fj: (
|
|
1831
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>
|
|
1832
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>,
|
|
1833
|
+
fk: (
|
|
1834
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>
|
|
1835
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>
|
|
1836
|
+
): (
|
|
1837
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1838
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>
|
|
1839
|
+
|
|
1840
|
+
<
|
|
1841
|
+
TFieldValues extends FieldValues,
|
|
1842
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1843
|
+
E extends boolean = false,
|
|
1844
|
+
E2 extends boolean = false,
|
|
1845
|
+
E3 extends boolean = false,
|
|
1846
|
+
E4 extends boolean = false,
|
|
1847
|
+
E5 extends boolean = false,
|
|
1848
|
+
E6 extends boolean = false,
|
|
1849
|
+
E7 extends boolean = false,
|
|
1850
|
+
E8 extends boolean = false,
|
|
1851
|
+
E9 extends boolean = false,
|
|
1852
|
+
E10 extends boolean = false,
|
|
1853
|
+
E11 extends boolean = false,
|
|
1854
|
+
E12 extends boolean = false
|
|
1855
|
+
>(
|
|
1856
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1857
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1858
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1859
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1860
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1861
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>,
|
|
1862
|
+
fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>,
|
|
1863
|
+
fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>,
|
|
1864
|
+
fj: (
|
|
1865
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>
|
|
1866
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>,
|
|
1867
|
+
fk: (
|
|
1868
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>
|
|
1869
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>,
|
|
1870
|
+
fl: (
|
|
1871
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>
|
|
1872
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>
|
|
1873
|
+
): (
|
|
1874
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1875
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>
|
|
1876
|
+
|
|
1877
|
+
<
|
|
1878
|
+
TFieldValues extends FieldValues,
|
|
1879
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1880
|
+
E extends boolean = false,
|
|
1881
|
+
E2 extends boolean = false,
|
|
1882
|
+
E3 extends boolean = false,
|
|
1883
|
+
E4 extends boolean = false,
|
|
1884
|
+
E5 extends boolean = false,
|
|
1885
|
+
E6 extends boolean = false,
|
|
1886
|
+
E7 extends boolean = false,
|
|
1887
|
+
E8 extends boolean = false,
|
|
1888
|
+
E9 extends boolean = false,
|
|
1889
|
+
E10 extends boolean = false,
|
|
1890
|
+
E11 extends boolean = false,
|
|
1891
|
+
E12 extends boolean = false,
|
|
1892
|
+
E13 extends boolean = false
|
|
1893
|
+
>(
|
|
1894
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1895
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1896
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1897
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1898
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1899
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>,
|
|
1900
|
+
fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>,
|
|
1901
|
+
fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>,
|
|
1902
|
+
fj: (
|
|
1903
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>
|
|
1904
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>,
|
|
1905
|
+
fk: (
|
|
1906
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>
|
|
1907
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>,
|
|
1908
|
+
fl: (
|
|
1909
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>
|
|
1910
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>,
|
|
1911
|
+
fm: (
|
|
1912
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E12>
|
|
1913
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>
|
|
1914
|
+
): (
|
|
1915
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1916
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>
|
|
1917
|
+
|
|
1918
|
+
<
|
|
1919
|
+
TFieldValues extends FieldValues,
|
|
1920
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1921
|
+
E extends boolean = false,
|
|
1922
|
+
E2 extends boolean = false,
|
|
1923
|
+
E3 extends boolean = false,
|
|
1924
|
+
E4 extends boolean = false,
|
|
1925
|
+
E5 extends boolean = false,
|
|
1926
|
+
E6 extends boolean = false,
|
|
1927
|
+
E7 extends boolean = false,
|
|
1928
|
+
E8 extends boolean = false,
|
|
1929
|
+
E9 extends boolean = false,
|
|
1930
|
+
E10 extends boolean = false,
|
|
1931
|
+
E11 extends boolean = false,
|
|
1932
|
+
E12 extends boolean = false,
|
|
1933
|
+
E13 extends boolean = false,
|
|
1934
|
+
E14 extends boolean = false
|
|
1935
|
+
>(
|
|
1936
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>,
|
|
1937
|
+
fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>,
|
|
1938
|
+
fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>,
|
|
1939
|
+
fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>,
|
|
1940
|
+
ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>,
|
|
1941
|
+
fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>,
|
|
1942
|
+
fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>,
|
|
1943
|
+
fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>,
|
|
1944
|
+
fj: (
|
|
1945
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>
|
|
1946
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>,
|
|
1947
|
+
fk: (
|
|
1948
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>
|
|
1949
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>,
|
|
1950
|
+
fl: (
|
|
1951
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>
|
|
1952
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>,
|
|
1953
|
+
fm: (
|
|
1954
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E12>
|
|
1955
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>,
|
|
1956
|
+
fn: (
|
|
1957
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined, E13>
|
|
1958
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E14>
|
|
1959
|
+
): (
|
|
1960
|
+
current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1961
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined, E14>
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
export type NestedQueriesFreeIntersectionRefinement = {
|
|
1965
|
+
<
|
|
1966
|
+
TFieldValues extends FieldValues,
|
|
1967
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1968
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
1969
|
+
E extends boolean = false,
|
|
1970
|
+
E2 extends boolean = false
|
|
1971
|
+
>(
|
|
1972
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
1973
|
+
): (
|
|
1974
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1975
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined2, E2>
|
|
1976
|
+
|
|
1977
|
+
<
|
|
1978
|
+
TFieldValues extends FieldValues,
|
|
1979
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1980
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
1981
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
1982
|
+
E extends boolean = false,
|
|
1983
|
+
E2 extends boolean = false,
|
|
1984
|
+
E3 extends boolean = false
|
|
1985
|
+
>(
|
|
1986
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
1987
|
+
fc: (
|
|
1988
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
1989
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
1990
|
+
): (
|
|
1991
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
1992
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined3, E3>
|
|
1993
|
+
|
|
1994
|
+
<
|
|
1995
|
+
TFieldValues extends FieldValues,
|
|
1996
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
1997
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
1998
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
1999
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2000
|
+
E extends boolean = false,
|
|
2001
|
+
E2 extends boolean = false,
|
|
2002
|
+
E3 extends boolean = false,
|
|
2003
|
+
E4 extends boolean = false
|
|
2004
|
+
>(
|
|
2005
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2006
|
+
fc: (
|
|
2007
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2008
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2009
|
+
fd: (
|
|
2010
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2011
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2012
|
+
): (
|
|
2013
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2014
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined4, E4>
|
|
2015
|
+
|
|
2016
|
+
<
|
|
2017
|
+
TFieldValues extends FieldValues,
|
|
2018
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2019
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2020
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2021
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2022
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2023
|
+
E extends boolean = false,
|
|
2024
|
+
E2 extends boolean = false,
|
|
2025
|
+
E3 extends boolean = false,
|
|
2026
|
+
E4 extends boolean = false,
|
|
2027
|
+
E5 extends boolean = false
|
|
2028
|
+
>(
|
|
2029
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2030
|
+
fc: (
|
|
2031
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2032
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2033
|
+
fd: (
|
|
2034
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2035
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2036
|
+
fe: (
|
|
2037
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2038
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2039
|
+
): (
|
|
2040
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2041
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined5, E5>
|
|
2042
|
+
|
|
2043
|
+
<
|
|
2044
|
+
TFieldValues extends FieldValues,
|
|
2045
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2046
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2047
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2048
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2049
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2050
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2051
|
+
E extends boolean = false,
|
|
2052
|
+
E2 extends boolean = false,
|
|
2053
|
+
E3 extends boolean = false,
|
|
2054
|
+
E4 extends boolean = false,
|
|
2055
|
+
E5 extends boolean = false,
|
|
2056
|
+
E6 extends boolean = false
|
|
2057
|
+
>(
|
|
2058
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2059
|
+
fc: (
|
|
2060
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2061
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2062
|
+
fd: (
|
|
2063
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2064
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2065
|
+
fe: (
|
|
2066
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2067
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2068
|
+
ff: (
|
|
2069
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2070
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2071
|
+
): (
|
|
2072
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2073
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined6, E6>
|
|
2074
|
+
|
|
2075
|
+
<
|
|
2076
|
+
TFieldValues extends FieldValues,
|
|
2077
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2078
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2079
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2080
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2081
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2082
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2083
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2084
|
+
E extends boolean = false,
|
|
2085
|
+
E2 extends boolean = false,
|
|
2086
|
+
E3 extends boolean = false,
|
|
2087
|
+
E4 extends boolean = false,
|
|
2088
|
+
E5 extends boolean = false,
|
|
2089
|
+
E6 extends boolean = false,
|
|
2090
|
+
E7 extends boolean = false
|
|
2091
|
+
>(
|
|
2092
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2093
|
+
fc: (
|
|
2094
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2095
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2096
|
+
fd: (
|
|
2097
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2098
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2099
|
+
fe: (
|
|
2100
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2101
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2102
|
+
ff: (
|
|
2103
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2104
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2105
|
+
fg: (
|
|
2106
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2107
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2108
|
+
): (
|
|
2109
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2110
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined7, E7>
|
|
2111
|
+
<
|
|
2112
|
+
TFieldValues extends FieldValues,
|
|
2113
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2114
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2115
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2116
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2117
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2118
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2119
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2120
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2121
|
+
E extends boolean = false,
|
|
2122
|
+
E2 extends boolean = false,
|
|
2123
|
+
E3 extends boolean = false,
|
|
2124
|
+
E4 extends boolean = false,
|
|
2125
|
+
E5 extends boolean = false,
|
|
2126
|
+
E6 extends boolean = false,
|
|
2127
|
+
E7 extends boolean = false,
|
|
2128
|
+
E8 extends boolean = false
|
|
2129
|
+
>(
|
|
2130
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2131
|
+
fc: (
|
|
2132
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2133
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2134
|
+
fd: (
|
|
2135
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2136
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2137
|
+
fe: (
|
|
2138
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2139
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2140
|
+
ff: (
|
|
2141
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2142
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2143
|
+
fg: (
|
|
2144
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2145
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2146
|
+
fh: (
|
|
2147
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2148
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2149
|
+
): (
|
|
2150
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2151
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined8, E8>
|
|
2152
|
+
|
|
2153
|
+
<
|
|
2154
|
+
TFieldValues extends FieldValues,
|
|
2155
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2156
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2157
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2158
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2159
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2160
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2161
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2162
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2163
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2164
|
+
E extends boolean = false,
|
|
2165
|
+
E2 extends boolean = false,
|
|
2166
|
+
E3 extends boolean = false,
|
|
2167
|
+
E4 extends boolean = false,
|
|
2168
|
+
E5 extends boolean = false,
|
|
2169
|
+
E6 extends boolean = false,
|
|
2170
|
+
E7 extends boolean = false,
|
|
2171
|
+
E8 extends boolean = false,
|
|
2172
|
+
E9 extends boolean = false
|
|
2173
|
+
>(
|
|
2174
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2175
|
+
fc: (
|
|
2176
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2177
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2178
|
+
fd: (
|
|
2179
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2180
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2181
|
+
fe: (
|
|
2182
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2183
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2184
|
+
ff: (
|
|
2185
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2186
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2187
|
+
fg: (
|
|
2188
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2189
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2190
|
+
fh: (
|
|
2191
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2192
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2193
|
+
fi: (
|
|
2194
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2195
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2196
|
+
): (
|
|
2197
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2198
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined9, E9>
|
|
2199
|
+
|
|
2200
|
+
<
|
|
2201
|
+
TFieldValues extends FieldValues,
|
|
2202
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2203
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2204
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2205
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2206
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2207
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2208
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2209
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2210
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2211
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2212
|
+
E extends boolean = false,
|
|
2213
|
+
E2 extends boolean = false,
|
|
2214
|
+
E3 extends boolean = false,
|
|
2215
|
+
E4 extends boolean = false,
|
|
2216
|
+
E5 extends boolean = false,
|
|
2217
|
+
E6 extends boolean = false,
|
|
2218
|
+
E7 extends boolean = false,
|
|
2219
|
+
E8 extends boolean = false,
|
|
2220
|
+
E9 extends boolean = false,
|
|
2221
|
+
E10 extends boolean = false
|
|
2222
|
+
>(
|
|
2223
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2224
|
+
fc: (
|
|
2225
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2226
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2227
|
+
fd: (
|
|
2228
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2229
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2230
|
+
fe: (
|
|
2231
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2232
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2233
|
+
ff: (
|
|
2234
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2235
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2236
|
+
fg: (
|
|
2237
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2238
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2239
|
+
fh: (
|
|
2240
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2241
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2242
|
+
fi: (
|
|
2243
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2244
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2245
|
+
fj: (
|
|
2246
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2247
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2248
|
+
): (
|
|
2249
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2250
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined10, E10>
|
|
2251
|
+
|
|
2252
|
+
<
|
|
2253
|
+
TFieldValues extends FieldValues,
|
|
2254
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2255
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2256
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2257
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2258
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2259
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2260
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2261
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2262
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2263
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2264
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
2265
|
+
E extends boolean = false,
|
|
2266
|
+
E2 extends boolean = false,
|
|
2267
|
+
E3 extends boolean = false,
|
|
2268
|
+
E4 extends boolean = false,
|
|
2269
|
+
E5 extends boolean = false,
|
|
2270
|
+
E6 extends boolean = false,
|
|
2271
|
+
E7 extends boolean = false,
|
|
2272
|
+
E8 extends boolean = false,
|
|
2273
|
+
E9 extends boolean = false,
|
|
2274
|
+
E10 extends boolean = false,
|
|
2275
|
+
E11 extends boolean = false
|
|
2276
|
+
>(
|
|
2277
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2278
|
+
fc: (
|
|
2279
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2280
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2281
|
+
fd: (
|
|
2282
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2283
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2284
|
+
fe: (
|
|
2285
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2286
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2287
|
+
ff: (
|
|
2288
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2289
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2290
|
+
fg: (
|
|
2291
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2292
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2293
|
+
fh: (
|
|
2294
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2295
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2296
|
+
fi: (
|
|
2297
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2298
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2299
|
+
fj: (
|
|
2300
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2301
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
2302
|
+
fk: (
|
|
2303
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2304
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
2305
|
+
): (
|
|
2306
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2307
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined11, E11>
|
|
2308
|
+
|
|
2309
|
+
<
|
|
2310
|
+
TFieldValues extends FieldValues,
|
|
2311
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2312
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2313
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2314
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2315
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2316
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2317
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2318
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2319
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2320
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2321
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
2322
|
+
TFieldValuesRefined12 extends TFieldValues = TFieldValues,
|
|
2323
|
+
E extends boolean = false,
|
|
2324
|
+
E2 extends boolean = false,
|
|
2325
|
+
E3 extends boolean = false,
|
|
2326
|
+
E4 extends boolean = false,
|
|
2327
|
+
E5 extends boolean = false,
|
|
2328
|
+
E6 extends boolean = false,
|
|
2329
|
+
E7 extends boolean = false,
|
|
2330
|
+
E8 extends boolean = false,
|
|
2331
|
+
E9 extends boolean = false,
|
|
2332
|
+
E10 extends boolean = false,
|
|
2333
|
+
E11 extends boolean = false,
|
|
2334
|
+
E12 extends boolean = false
|
|
2335
|
+
>(
|
|
2336
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2337
|
+
fc: (
|
|
2338
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2339
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2340
|
+
fd: (
|
|
2341
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2342
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2343
|
+
fe: (
|
|
2344
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2345
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2346
|
+
ff: (
|
|
2347
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2348
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2349
|
+
fg: (
|
|
2350
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2351
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2352
|
+
fh: (
|
|
2353
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2354
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2355
|
+
fi: (
|
|
2356
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2357
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2358
|
+
fj: (
|
|
2359
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2360
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
2361
|
+
fk: (
|
|
2362
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2363
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>,
|
|
2364
|
+
fl: (
|
|
2365
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
2366
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>
|
|
2367
|
+
): (
|
|
2368
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2369
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined12, E12>
|
|
2370
|
+
|
|
2371
|
+
<
|
|
2372
|
+
TFieldValues extends FieldValues,
|
|
2373
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2374
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2375
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2376
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2377
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2378
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2379
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2380
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2381
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2382
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2383
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
2384
|
+
TFieldValuesRefined12 extends TFieldValues = TFieldValues,
|
|
2385
|
+
TFieldValuesRefined13 extends TFieldValues = TFieldValues,
|
|
2386
|
+
E extends boolean = false,
|
|
2387
|
+
E2 extends boolean = false,
|
|
2388
|
+
E3 extends boolean = false,
|
|
2389
|
+
E4 extends boolean = false,
|
|
2390
|
+
E5 extends boolean = false,
|
|
2391
|
+
E6 extends boolean = false,
|
|
2392
|
+
E7 extends boolean = false,
|
|
2393
|
+
E8 extends boolean = false,
|
|
2394
|
+
E9 extends boolean = false,
|
|
2395
|
+
E10 extends boolean = false,
|
|
2396
|
+
E11 extends boolean = false,
|
|
2397
|
+
E12 extends boolean = false,
|
|
2398
|
+
E13 extends boolean = false
|
|
2399
|
+
>(
|
|
2400
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2401
|
+
fc: (
|
|
2402
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2403
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2404
|
+
fd: (
|
|
2405
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2406
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2407
|
+
fe: (
|
|
2408
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2409
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2410
|
+
ff: (
|
|
2411
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2412
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2413
|
+
fg: (
|
|
2414
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2415
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2416
|
+
fh: (
|
|
2417
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2418
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2419
|
+
fi: (
|
|
2420
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2421
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2422
|
+
fj: (
|
|
2423
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2424
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
2425
|
+
fk: (
|
|
2426
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2427
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>,
|
|
2428
|
+
fl: (
|
|
2429
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
2430
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>,
|
|
2431
|
+
fm: (
|
|
2432
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>
|
|
2433
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>
|
|
2434
|
+
): (
|
|
2435
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2436
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined13, E13>
|
|
2437
|
+
|
|
2438
|
+
<
|
|
2439
|
+
TFieldValues extends FieldValues,
|
|
2440
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2441
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2442
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2443
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2444
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2445
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2446
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2447
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2448
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2449
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2450
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
2451
|
+
TFieldValuesRefined12 extends TFieldValues = TFieldValues,
|
|
2452
|
+
TFieldValuesRefined13 extends TFieldValues = TFieldValues,
|
|
2453
|
+
TFieldValuesRefined14 extends TFieldValues = TFieldValues,
|
|
2454
|
+
E extends boolean = false,
|
|
2455
|
+
E2 extends boolean = false,
|
|
2456
|
+
E3 extends boolean = false,
|
|
2457
|
+
E4 extends boolean = false,
|
|
2458
|
+
E5 extends boolean = false,
|
|
2459
|
+
E6 extends boolean = false,
|
|
2460
|
+
E7 extends boolean = false,
|
|
2461
|
+
E8 extends boolean = false,
|
|
2462
|
+
E9 extends boolean = false,
|
|
2463
|
+
E10 extends boolean = false,
|
|
2464
|
+
E11 extends boolean = false,
|
|
2465
|
+
E12 extends boolean = false,
|
|
2466
|
+
E13 extends boolean = false,
|
|
2467
|
+
E14 extends boolean = false
|
|
2468
|
+
>(
|
|
2469
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>,
|
|
2470
|
+
fc: (
|
|
2471
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2472
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2473
|
+
fd: (
|
|
2474
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2475
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2476
|
+
fe: (
|
|
2477
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2478
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2479
|
+
ff: (
|
|
2480
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2481
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2482
|
+
fg: (
|
|
2483
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2484
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2485
|
+
fh: (
|
|
2486
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2487
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2488
|
+
fi: (
|
|
2489
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2490
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2491
|
+
fj: (
|
|
2492
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2493
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
2494
|
+
fk: (
|
|
2495
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2496
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>,
|
|
2497
|
+
fl: (
|
|
2498
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
2499
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>,
|
|
2500
|
+
fm: (
|
|
2501
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>
|
|
2502
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>,
|
|
2503
|
+
fn: (
|
|
2504
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>
|
|
2505
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>
|
|
2506
|
+
): (
|
|
2507
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2508
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined14, E14>
|
|
2509
|
+
}
|
|
2510
|
+
|
|
2511
|
+
// to be safe, or forces the output to be exclusive because you can always or _tag filters
|
|
2512
|
+
export type NestedQueriesFreeDisjointRefinement = {
|
|
2513
|
+
<
|
|
2514
|
+
TFieldValues extends FieldValues,
|
|
2515
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2516
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2517
|
+
E extends boolean = false,
|
|
2518
|
+
E2 extends boolean = false
|
|
2519
|
+
>(
|
|
2520
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2521
|
+
): (
|
|
2522
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2523
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>
|
|
2524
|
+
|
|
2525
|
+
<
|
|
2526
|
+
TFieldValues extends FieldValues,
|
|
2527
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2528
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2529
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2530
|
+
E extends boolean = false,
|
|
2531
|
+
E2 extends boolean = false,
|
|
2532
|
+
E3 extends boolean = false
|
|
2533
|
+
>(
|
|
2534
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2535
|
+
fc: (
|
|
2536
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2537
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2538
|
+
): (
|
|
2539
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2540
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3>
|
|
2541
|
+
|
|
2542
|
+
<
|
|
2543
|
+
TFieldValues extends FieldValues,
|
|
2544
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2545
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2546
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2547
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2548
|
+
E extends boolean = false,
|
|
2549
|
+
E2 extends boolean = false,
|
|
2550
|
+
E3 extends boolean = false,
|
|
2551
|
+
E4 extends boolean = false
|
|
2552
|
+
>(
|
|
2553
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2554
|
+
fc: (
|
|
2555
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2556
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2557
|
+
fd: (
|
|
2558
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2559
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2560
|
+
): (
|
|
2561
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2562
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4>
|
|
2563
|
+
|
|
2564
|
+
<
|
|
2565
|
+
TFieldValues extends FieldValues,
|
|
2566
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2567
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2568
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2569
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2570
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2571
|
+
E extends boolean = false,
|
|
2572
|
+
E2 extends boolean = false,
|
|
2573
|
+
E3 extends boolean = false,
|
|
2574
|
+
E4 extends boolean = false,
|
|
2575
|
+
E5 extends boolean = false
|
|
2576
|
+
>(
|
|
2577
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2578
|
+
fc: (
|
|
2579
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2580
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2581
|
+
fd: (
|
|
2582
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2583
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2584
|
+
fe: (
|
|
2585
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2586
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2587
|
+
): (
|
|
2588
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2589
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5>
|
|
2590
|
+
|
|
2591
|
+
<
|
|
2592
|
+
TFieldValues extends FieldValues,
|
|
2593
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2594
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2595
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2596
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2597
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2598
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2599
|
+
E extends boolean = false,
|
|
2600
|
+
E2 extends boolean = false,
|
|
2601
|
+
E3 extends boolean = false,
|
|
2602
|
+
E4 extends boolean = false,
|
|
2603
|
+
E5 extends boolean = false,
|
|
2604
|
+
E6 extends boolean = false
|
|
2605
|
+
>(
|
|
2606
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2607
|
+
fc: (
|
|
2608
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2609
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2610
|
+
fd: (
|
|
2611
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2612
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2613
|
+
fe: (
|
|
2614
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2615
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2616
|
+
ff: (
|
|
2617
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2618
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2619
|
+
): (
|
|
2620
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2621
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6>
|
|
2622
|
+
|
|
2623
|
+
<
|
|
2624
|
+
TFieldValues extends FieldValues,
|
|
2625
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2626
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2627
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2628
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2629
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2630
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2631
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2632
|
+
E extends boolean = false,
|
|
2633
|
+
E2 extends boolean = false,
|
|
2634
|
+
E3 extends boolean = false,
|
|
2635
|
+
E4 extends boolean = false,
|
|
2636
|
+
E5 extends boolean = false,
|
|
2637
|
+
E6 extends boolean = false,
|
|
2638
|
+
E7 extends boolean = false
|
|
2639
|
+
>(
|
|
2640
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2641
|
+
fc: (
|
|
2642
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2643
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2644
|
+
fd: (
|
|
2645
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2646
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2647
|
+
fe: (
|
|
2648
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2649
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2650
|
+
ff: (
|
|
2651
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2652
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2653
|
+
fg: (
|
|
2654
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2655
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2656
|
+
): (
|
|
2657
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2658
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7>
|
|
2659
|
+
|
|
2660
|
+
<
|
|
2661
|
+
TFieldValues extends FieldValues,
|
|
2662
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2663
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2664
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2665
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2666
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2667
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2668
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2669
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2670
|
+
E extends boolean = false,
|
|
2671
|
+
E2 extends boolean = false,
|
|
2672
|
+
E3 extends boolean = false,
|
|
2673
|
+
E4 extends boolean = false,
|
|
2674
|
+
E5 extends boolean = false,
|
|
2675
|
+
E6 extends boolean = false,
|
|
2676
|
+
E7 extends boolean = false,
|
|
2677
|
+
E8 extends boolean = false
|
|
2678
|
+
>(
|
|
2679
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2680
|
+
fc: (
|
|
2681
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2682
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2683
|
+
fd: (
|
|
2684
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2685
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2686
|
+
fe: (
|
|
2687
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2688
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2689
|
+
ff: (
|
|
2690
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2691
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2692
|
+
fg: (
|
|
2693
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2694
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2695
|
+
fh: (
|
|
2696
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2697
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2698
|
+
): (
|
|
2699
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2700
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>
|
|
2701
|
+
|
|
2702
|
+
<
|
|
2703
|
+
TFieldValues extends FieldValues,
|
|
2704
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2705
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2706
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2707
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2708
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2709
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2710
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2711
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2712
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2713
|
+
E extends boolean = false,
|
|
2714
|
+
E2 extends boolean = false,
|
|
2715
|
+
E3 extends boolean = false,
|
|
2716
|
+
E4 extends boolean = false,
|
|
2717
|
+
E5 extends boolean = false,
|
|
2718
|
+
E6 extends boolean = false,
|
|
2719
|
+
E7 extends boolean = false,
|
|
2720
|
+
E8 extends boolean = false,
|
|
2721
|
+
E9 extends boolean = false
|
|
2722
|
+
>(
|
|
2723
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2724
|
+
fc: (
|
|
2725
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2726
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2727
|
+
fd: (
|
|
2728
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2729
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2730
|
+
fe: (
|
|
2731
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2732
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2733
|
+
ff: (
|
|
2734
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2735
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2736
|
+
fg: (
|
|
2737
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2738
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2739
|
+
fh: (
|
|
2740
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2741
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2742
|
+
fi: (
|
|
2743
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2744
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2745
|
+
): (
|
|
2746
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2747
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9>
|
|
2748
|
+
|
|
2749
|
+
<
|
|
2750
|
+
TFieldValues extends FieldValues,
|
|
2751
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2752
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2753
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2754
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2755
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2756
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2757
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2758
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2759
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2760
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2761
|
+
E extends boolean = false,
|
|
2762
|
+
E2 extends boolean = false,
|
|
2763
|
+
E3 extends boolean = false,
|
|
2764
|
+
E4 extends boolean = false,
|
|
2765
|
+
E5 extends boolean = false,
|
|
2766
|
+
E6 extends boolean = false,
|
|
2767
|
+
E7 extends boolean = false,
|
|
2768
|
+
E8 extends boolean = false,
|
|
2769
|
+
E9 extends boolean = false,
|
|
2770
|
+
E10 extends boolean = false
|
|
2771
|
+
>(
|
|
2772
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2773
|
+
fc: (
|
|
2774
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2775
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2776
|
+
fd: (
|
|
2777
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2778
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2779
|
+
fe: (
|
|
2780
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2781
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2782
|
+
ff: (
|
|
2783
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2784
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2785
|
+
fg: (
|
|
2786
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2787
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2788
|
+
fh: (
|
|
2789
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2790
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2791
|
+
fi: (
|
|
2792
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2793
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2794
|
+
fj: (
|
|
2795
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2796
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2797
|
+
): (
|
|
2798
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2799
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10>
|
|
2800
|
+
|
|
2801
|
+
<
|
|
2802
|
+
TFieldValues extends FieldValues,
|
|
2803
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2804
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2805
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2806
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2807
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2808
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2809
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2810
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2811
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2812
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2813
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
2814
|
+
E extends boolean = false,
|
|
2815
|
+
E2 extends boolean = false,
|
|
2816
|
+
E3 extends boolean = false,
|
|
2817
|
+
E4 extends boolean = false,
|
|
2818
|
+
E5 extends boolean = false,
|
|
2819
|
+
E6 extends boolean = false,
|
|
2820
|
+
E7 extends boolean = false,
|
|
2821
|
+
E8 extends boolean = false,
|
|
2822
|
+
E9 extends boolean = false,
|
|
2823
|
+
E10 extends boolean = false,
|
|
2824
|
+
E11 extends boolean = false
|
|
2825
|
+
>(
|
|
2826
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2827
|
+
fc: (
|
|
2828
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2829
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2830
|
+
fd: (
|
|
2831
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2832
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2833
|
+
fe: (
|
|
2834
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2835
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2836
|
+
ff: (
|
|
2837
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2838
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2839
|
+
fg: (
|
|
2840
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2841
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2842
|
+
fh: (
|
|
2843
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2844
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2845
|
+
fi: (
|
|
2846
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2847
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2848
|
+
fj: (
|
|
2849
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2850
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
2851
|
+
fk: (
|
|
2852
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2853
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
2854
|
+
): (
|
|
2855
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2856
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11>
|
|
2857
|
+
|
|
2858
|
+
<
|
|
2859
|
+
TFieldValues extends FieldValues,
|
|
2860
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2861
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2862
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2863
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2864
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2865
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2866
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2867
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2868
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2869
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2870
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
2871
|
+
TFieldValuesRefined12 extends TFieldValues = TFieldValues,
|
|
2872
|
+
E extends boolean = false,
|
|
2873
|
+
E2 extends boolean = false,
|
|
2874
|
+
E3 extends boolean = false,
|
|
2875
|
+
E4 extends boolean = false,
|
|
2876
|
+
E5 extends boolean = false,
|
|
2877
|
+
E6 extends boolean = false,
|
|
2878
|
+
E7 extends boolean = false,
|
|
2879
|
+
E8 extends boolean = false,
|
|
2880
|
+
E9 extends boolean = false,
|
|
2881
|
+
E10 extends boolean = false,
|
|
2882
|
+
E11 extends boolean = false,
|
|
2883
|
+
E12 extends boolean = false
|
|
2884
|
+
>(
|
|
2885
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2886
|
+
fc: (
|
|
2887
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2888
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2889
|
+
fd: (
|
|
2890
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2891
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2892
|
+
fe: (
|
|
2893
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2894
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2895
|
+
ff: (
|
|
2896
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2897
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2898
|
+
fg: (
|
|
2899
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2900
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2901
|
+
fh: (
|
|
2902
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2903
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2904
|
+
fi: (
|
|
2905
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2906
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2907
|
+
fj: (
|
|
2908
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2909
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
2910
|
+
fk: (
|
|
2911
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2912
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>,
|
|
2913
|
+
fl: (
|
|
2914
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
2915
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>
|
|
2916
|
+
): (
|
|
2917
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2918
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12>
|
|
2919
|
+
|
|
2920
|
+
<
|
|
2921
|
+
TFieldValues extends FieldValues,
|
|
2922
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2923
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2924
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2925
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2926
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2927
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2928
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2929
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2930
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2931
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2932
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
2933
|
+
TFieldValuesRefined12 extends TFieldValues = TFieldValues,
|
|
2934
|
+
TFieldValuesRefined13 extends TFieldValues = TFieldValues,
|
|
2935
|
+
E extends boolean = false,
|
|
2936
|
+
E2 extends boolean = false,
|
|
2937
|
+
E3 extends boolean = false,
|
|
2938
|
+
E4 extends boolean = false,
|
|
2939
|
+
E5 extends boolean = false,
|
|
2940
|
+
E6 extends boolean = false,
|
|
2941
|
+
E7 extends boolean = false,
|
|
2942
|
+
E8 extends boolean = false,
|
|
2943
|
+
E9 extends boolean = false,
|
|
2944
|
+
E10 extends boolean = false,
|
|
2945
|
+
E11 extends boolean = false,
|
|
2946
|
+
E12 extends boolean = false,
|
|
2947
|
+
E13 extends boolean = false
|
|
2948
|
+
>(
|
|
2949
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
2950
|
+
fc: (
|
|
2951
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
2952
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
2953
|
+
fd: (
|
|
2954
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
2955
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
2956
|
+
fe: (
|
|
2957
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
2958
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
2959
|
+
ff: (
|
|
2960
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
2961
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
2962
|
+
fg: (
|
|
2963
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
2964
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
2965
|
+
fh: (
|
|
2966
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
2967
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
2968
|
+
fi: (
|
|
2969
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
2970
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
2971
|
+
fj: (
|
|
2972
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
2973
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
2974
|
+
fk: (
|
|
2975
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
2976
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>,
|
|
2977
|
+
fl: (
|
|
2978
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
2979
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>,
|
|
2980
|
+
fm: (
|
|
2981
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>
|
|
2982
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>
|
|
2983
|
+
): (
|
|
2984
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
2985
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13>
|
|
2986
|
+
|
|
2987
|
+
<
|
|
2988
|
+
TFieldValues extends FieldValues,
|
|
2989
|
+
TFieldValuesRefined extends TFieldValues = TFieldValues,
|
|
2990
|
+
TFieldValuesRefined2 extends TFieldValues = TFieldValues,
|
|
2991
|
+
TFieldValuesRefined3 extends TFieldValues = TFieldValues,
|
|
2992
|
+
TFieldValuesRefined4 extends TFieldValues = TFieldValues,
|
|
2993
|
+
TFieldValuesRefined5 extends TFieldValues = TFieldValues,
|
|
2994
|
+
TFieldValuesRefined6 extends TFieldValues = TFieldValues,
|
|
2995
|
+
TFieldValuesRefined7 extends TFieldValues = TFieldValues,
|
|
2996
|
+
TFieldValuesRefined8 extends TFieldValues = TFieldValues,
|
|
2997
|
+
TFieldValuesRefined9 extends TFieldValues = TFieldValues,
|
|
2998
|
+
TFieldValuesRefined10 extends TFieldValues = TFieldValues,
|
|
2999
|
+
TFieldValuesRefined11 extends TFieldValues = TFieldValues,
|
|
3000
|
+
TFieldValuesRefined12 extends TFieldValues = TFieldValues,
|
|
3001
|
+
TFieldValuesRefined13 extends TFieldValues = TFieldValues,
|
|
3002
|
+
TFieldValuesRefined14 extends TFieldValues = TFieldValues,
|
|
3003
|
+
E extends boolean = false,
|
|
3004
|
+
E2 extends boolean = false,
|
|
3005
|
+
E3 extends boolean = false,
|
|
3006
|
+
E4 extends boolean = false,
|
|
3007
|
+
E5 extends boolean = false,
|
|
3008
|
+
E6 extends boolean = false,
|
|
3009
|
+
E7 extends boolean = false,
|
|
3010
|
+
E8 extends boolean = false,
|
|
3011
|
+
E9 extends boolean = false,
|
|
3012
|
+
E10 extends boolean = false,
|
|
3013
|
+
E11 extends boolean = false,
|
|
3014
|
+
E12 extends boolean = false,
|
|
3015
|
+
E13 extends boolean = false,
|
|
3016
|
+
E14 extends boolean = false
|
|
3017
|
+
>(
|
|
3018
|
+
fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>,
|
|
3019
|
+
fc: (
|
|
3020
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>
|
|
3021
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>,
|
|
3022
|
+
fd: (
|
|
3023
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>
|
|
3024
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>,
|
|
3025
|
+
fe: (
|
|
3026
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>
|
|
3027
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>,
|
|
3028
|
+
ff: (
|
|
3029
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>
|
|
3030
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>,
|
|
3031
|
+
fg: (
|
|
3032
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>
|
|
3033
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>,
|
|
3034
|
+
fh: (
|
|
3035
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>
|
|
3036
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>,
|
|
3037
|
+
fi: (
|
|
3038
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>
|
|
3039
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>,
|
|
3040
|
+
fj: (
|
|
3041
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>
|
|
3042
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>,
|
|
3043
|
+
fk: (
|
|
3044
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>
|
|
3045
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>,
|
|
3046
|
+
fl: (
|
|
3047
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>
|
|
3048
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>,
|
|
3049
|
+
fm: (
|
|
3050
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>
|
|
3051
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>,
|
|
3052
|
+
fn: (
|
|
3053
|
+
query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>
|
|
3054
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>
|
|
3055
|
+
): (
|
|
3056
|
+
current: QueryWhere<TFieldValues, TFieldValuesRefined, E>
|
|
3057
|
+
) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14>
|
|
3058
|
+
}
|
|
3059
|
+
|
|
3060
|
+
export type FilterWhere =
|
|
3061
|
+
& NestedQueriesFixedRefinement<true>
|
|
3062
|
+
& FilteringRefinements<true>
|
|
3063
|
+
& FilterContinuations<true>
|
|
3064
|
+
|
|
3065
|
+
export type FilterContinuationAnd =
|
|
3066
|
+
& NestedQueriesFreeIntersectionRefinement
|
|
3067
|
+
& FilteringRefinements
|
|
3068
|
+
& FilterContinuations
|
|
3069
|
+
|
|
3070
|
+
export type FilterContinuationOr =
|
|
3071
|
+
& NestedQueriesFreeDisjointRefinement
|
|
3072
|
+
& FilterContinuations
|
|
3073
|
+
|
|
3074
|
+
// it does not support refinements by choice (for now)
|
|
3075
|
+
export type WhereEveryOrSome =
|
|
3076
|
+
& {
|
|
3077
|
+
<
|
|
3078
|
+
TFieldValues extends FieldValues,
|
|
3079
|
+
TFieldName extends FieldPath<TFieldValues>
|
|
3080
|
+
>(
|
|
3081
|
+
subPath: TFieldName,
|
|
3082
|
+
dude: (
|
|
3083
|
+
current: Query<TFieldValues[TFieldName][number]>
|
|
3084
|
+
) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>,
|
|
3085
|
+
...dudes: ((
|
|
3086
|
+
current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>
|
|
3087
|
+
) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>)[]
|
|
3088
|
+
): (
|
|
3089
|
+
current: Query<TFieldValues>
|
|
3090
|
+
) => QueryWhere<TFieldValues, TFieldValues>
|
|
3091
|
+
}
|
|
3092
|
+
& FilterContinuationsWithSubpath
|