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,21 @@
|
|
|
1
|
+
import type { DatabaseError, OptimisticConcurrencyException } from "../../client/errors.js";
|
|
2
|
+
import type * as Effect from "../../Effect.js";
|
|
3
|
+
import type * as Option from "../../Option.js";
|
|
4
|
+
import type * as S from "../../Schema.js";
|
|
5
|
+
export interface Mapped1<A, IdKey extends keyof A, R> {
|
|
6
|
+
all: Effect.Effect<A[], S.SchemaError | DatabaseError, R>;
|
|
7
|
+
save: (...xes: readonly A[]) => Effect.Effect<void, OptimisticConcurrencyException | S.SchemaError | DatabaseError, R>;
|
|
8
|
+
find: (id: A[IdKey]) => Effect.Effect<Option.Option<A>, S.SchemaError | DatabaseError, R>;
|
|
9
|
+
}
|
|
10
|
+
export interface Mapped2<A, R> {
|
|
11
|
+
all: Effect.Effect<A[], S.SchemaError | DatabaseError, R>;
|
|
12
|
+
}
|
|
13
|
+
export interface Mapped<Encoded> {
|
|
14
|
+
<A, R, IdKey extends keyof A>(schema: S.Codec<A, Encoded, R>): Mapped1<A, IdKey, R>;
|
|
15
|
+
<A, Encoded2, R>(schema: S.Codec<A, Encoded2, R>): Mapped2<A, R>;
|
|
16
|
+
}
|
|
17
|
+
export interface MM<Repo, Encoded> {
|
|
18
|
+
<A, R, IdKey extends keyof A>(schema: S.Codec<A, Encoded, R>): Effect.Effect<Mapped1<A, IdKey, R>, never, Repo>;
|
|
19
|
+
<A, Encoded2, R>(schema: S.Codec<A, Encoded2, R>): Effect.Effect<Mapped2<A, R>, never, Repo>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/legacy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AAC3F,OAAO,KAAK,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,KAAK,CAAC,MAAM,iBAAiB,CAAA;AAEzC,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,EAAE,CAAC;IAClD,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC,CAAC,CAAA;IACzD,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,8BAA8B,GAAG,CAAC,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC,CAAC,CAAA;IACtH,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC,CAAC,CAAA;CAC1F;AAGD,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,MAAM,CAAC,OAAO;IAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEnF,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO;IAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAE/G,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAC7F"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type * as Scope from "effect/Scope";
|
|
2
|
+
import type { NonEmptyReadonlyArray } from "../../Array.js";
|
|
3
|
+
import type * as Context from "../../Context.js";
|
|
4
|
+
import type * as DataDependencies from "../../DataDependencies.js";
|
|
5
|
+
import * as Effect from "../../Effect.js";
|
|
6
|
+
import type * as S from "../../Schema.js";
|
|
7
|
+
import type { StoreConfig, StoreMaker } from "../../Store.js";
|
|
8
|
+
import type { FieldValues } from "../filter/types.js";
|
|
9
|
+
import { type ExtendedRepository } from "./ext.js";
|
|
10
|
+
import { RepositoryRegistry } from "./Registry.js";
|
|
11
|
+
import type { Repository } from "./service.js";
|
|
12
|
+
export interface RepositoryOptions<IdKey extends keyof T & keyof Encoded, Encoded extends FieldValues, T, ItemType extends string, Evt = never, RPublish = never, E = never, RInitial = never, RCtx = never, RSchema = never> {
|
|
13
|
+
/**
|
|
14
|
+
* Specify the idKey of the Type side, if it's different from the default "id".
|
|
15
|
+
* Does not change the Encoded side, which is always "id" to support database drivers.
|
|
16
|
+
* At this time as queries are operating on the Encoded side, the queries must still specify "id" regardless.
|
|
17
|
+
*/
|
|
18
|
+
idKey: IdKey;
|
|
19
|
+
/**
|
|
20
|
+
* just in time Migration: for complex migrations that aren't just default simple values
|
|
21
|
+
* use the config.defaultValues instead for simple default values
|
|
22
|
+
*/
|
|
23
|
+
jitM?: (pm: Encoded) => Encoded;
|
|
24
|
+
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
25
|
+
partitionValue?: (e?: Encoded) => string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Optional handler to be able to publish events after successfull save.
|
|
29
|
+
*/
|
|
30
|
+
publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect.Effect<void, never, RPublish>;
|
|
31
|
+
/**
|
|
32
|
+
* Optional creator for initial data in the table when it's created for the first itme.
|
|
33
|
+
*/
|
|
34
|
+
makeInitial?: Effect.Effect<readonly T[], E, RInitial> | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Optional context to be provided to Schema decode/encode.
|
|
37
|
+
* Useful for effectful transformations like XWithItems, where items is a transformation retrieving elements from another database table or other source.
|
|
38
|
+
*/
|
|
39
|
+
schemaContext?: Context.Context<RCtx>;
|
|
40
|
+
/** IDs, including aliases, that identify an entity for dependency invalidation. */
|
|
41
|
+
dependencyIds?: (item: T) => NonEmptyReadonlyArray<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Additional derived queries or resources affected by writing an item.
|
|
44
|
+
* Saves invalidate dependencies derived from both the previous and next item;
|
|
45
|
+
* removals derive them from the removed item.
|
|
46
|
+
*/
|
|
47
|
+
additionalWriteDependencies?: (item: T) => ReadonlyArray<DataDependencies.DataDependency>;
|
|
48
|
+
overrides?: (repo: Repository<T, Encoded, Evt, ItemType, IdKey, Exclude<RSchema, RCtx>, RPublish, RCtx>) => Repository<T, Encoded, Evt, ItemType, IdKey, Exclude<RSchema, RCtx>, RPublish, RCtx>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create a repository instance.
|
|
52
|
+
* @param itemType an identifier used for the table name and e.g NotFoundError
|
|
53
|
+
* @param schema the Schema used for this Repository
|
|
54
|
+
* @param options @see RepositoryOptions
|
|
55
|
+
* @returns a Repository
|
|
56
|
+
*/
|
|
57
|
+
export declare const makeRepo: {
|
|
58
|
+
<ItemType extends string, RSchema, Encoded extends FieldValues, T, IdKey extends keyof T & keyof Encoded, E = never, Evt = never, RInitial = never, RPublish = never, RCtx = never>(itemType: ItemType, schema: S.Codec<T, Encoded, RSchema>, options: RepositoryOptions<IdKey, Encoded, T, ItemType, Evt, RPublish, E, RInitial, RCtx, RSchema>): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, Exclude<RSchema, RCtx>, RPublish, RCtx>, E, RInitial | StoreMaker | RepositoryRegistry | Scope.Scope>;
|
|
59
|
+
<ItemType extends string, RSchema, Encoded extends FieldValues, T extends {
|
|
60
|
+
id: unknown;
|
|
61
|
+
}, E = never, Evt = never, RInitial = never, RPublish = never, RCtx = never>(itemType: ItemType, schema: S.Codec<T, Encoded, RSchema>, options: Omit<RepositoryOptions<"id", Encoded, T, ItemType, Evt, RPublish, E, RInitial, RCtx, RSchema>, "idKey">): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, "id", Exclude<RSchema, RCtx>, RPublish, RCtx>, E, RInitial | StoreMaker | RepositoryRegistry | Scope.Scope>;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=makeRepo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeRepo.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/makeRepo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
6
|
+
import * as Effect from "../../Effect.js";
|
|
7
|
+
import { extendRepo } from "./ext.js";
|
|
8
|
+
import { makeRepoInternal } from "./internal/internal.js";
|
|
9
|
+
import { RepositoryRegistry } from "./Registry.js";
|
|
10
|
+
/**
|
|
11
|
+
* Create a repository instance.
|
|
12
|
+
* @param itemType an identifier used for the table name and e.g NotFoundError
|
|
13
|
+
* @param schema the Schema used for this Repository
|
|
14
|
+
* @param options @see RepositoryOptions
|
|
15
|
+
* @returns a Repository
|
|
16
|
+
*/
|
|
17
|
+
export const makeRepo = (itemType, schema, options) => Effect.gen(function* () {
|
|
18
|
+
const mkRepo = makeRepoInternal()(itemType, schema, options?.jitM ? (pm) => options.jitM(pm) : (pm) => pm, (e, _etag) => ({ ...e, _etag }), options.idKey ?? "id");
|
|
19
|
+
let r = yield* mkRepo.make(options);
|
|
20
|
+
if (options.overrides)
|
|
21
|
+
r = options.overrides(r);
|
|
22
|
+
const repo = extendRepo(r);
|
|
23
|
+
const registry = yield* RepositoryRegistry;
|
|
24
|
+
registry.register(itemType, repo);
|
|
25
|
+
return repo;
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVJlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvUmVwb3NpdG9yeS9tYWtlUmVwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELDBEQUEwRDtBQUMxRCw0REFBNEQ7QUFDNUQsdURBQXVEO0FBUXZELE9BQU8sS0FBSyxNQUFNLE1BQU0saUJBQWlCLENBQUE7QUFJekMsT0FBTyxFQUEyQixVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBMERsRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBd0NqQixDQVlGLFFBQWtCLEVBQ2xCLE1BQW9DLEVBQ3BDLE9BRUMsRUFDRCxFQUFFLENBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDbEIsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLEVBQU8sQ0FDcEMsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFDdEQsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFDL0IsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFXLENBQzdCLENBQUE7SUFDRCxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUE4QixPQUFjLENBQUMsQ0FBQTtJQUN2RSxJQUFJLE9BQU8sQ0FBQyxTQUFTO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDL0MsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixDQUFBO0lBQzFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2pDLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type * as Scope from "effect/Scope";
|
|
2
|
+
import type { DatabaseError, InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "../../client/errors.js";
|
|
3
|
+
import type * as Effect from "../../Effect.js";
|
|
4
|
+
import type * as Option from "../../Option.js";
|
|
5
|
+
import type * as S from "../../Schema.js";
|
|
6
|
+
import type { NonNegativeInt } from "../../Schema/numbers.js";
|
|
7
|
+
import type { FieldValues, IsNever, ResolveFirstLevel } from "../filter/types.js";
|
|
8
|
+
import type { QAll, Query, QueryProjection, RawQuery } from "../query.js";
|
|
9
|
+
import type { Mapped } from "./legacy.js";
|
|
10
|
+
import type { ValidationResult } from "./validation.js";
|
|
11
|
+
/**
|
|
12
|
+
* Event emitted by a repository's ChangeFeed.
|
|
13
|
+
*
|
|
14
|
+
* Tuple shape: `[items, op, namespace]` — `namespace` is the `storeId`
|
|
15
|
+
* context value at publish time (defaults to `"primary"`).
|
|
16
|
+
*/
|
|
17
|
+
export type ChangeFeedEvent<T> = readonly [items: T[], op: "save" | "remove", namespace: string];
|
|
18
|
+
/**
|
|
19
|
+
* Synchronous broadcast channel for repository change events.
|
|
20
|
+
*
|
|
21
|
+
* `publish` only completes after every matching handler's Effect has
|
|
22
|
+
* finished — callers must await all handlers before continuing. Subscribers
|
|
23
|
+
* can target a single namespace via `options.namespace`, or omit it to
|
|
24
|
+
* receive events from every namespace (wildcard).
|
|
25
|
+
*
|
|
26
|
+
* Handlers are auto-removed when the subscriber's Scope closes; the full
|
|
27
|
+
* handler set is cleared when the repository's own scope closes.
|
|
28
|
+
*/
|
|
29
|
+
export interface ChangeFeed<T> {
|
|
30
|
+
readonly publish: (evt: [T[], "save" | "remove"]) => Effect.Effect<void>;
|
|
31
|
+
readonly subscribe: (handler: (evt: ChangeFeedEvent<T>) => Effect.Effect<void>, options?: {
|
|
32
|
+
readonly namespace?: string;
|
|
33
|
+
}) => Effect.Effect<void, never, Scope.Scope>;
|
|
34
|
+
}
|
|
35
|
+
export interface Repository<T, Encoded extends FieldValues, Evt, ItemType extends string, IdKey extends keyof T, RSchema, RPublish, RProvided = never> {
|
|
36
|
+
readonly itemType: ItemType;
|
|
37
|
+
readonly idKey: IdKey;
|
|
38
|
+
readonly find: (id: T[IdKey]) => Effect.Effect<Option.Option<T>, DatabaseError, RSchema>;
|
|
39
|
+
readonly all: Effect.Effect<T[], DatabaseError, RSchema>;
|
|
40
|
+
readonly saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect.Effect<void, InvalidStateError | OptimisticConcurrencyException | DatabaseError, RSchema | RPublish>;
|
|
41
|
+
readonly changeFeed: ChangeFeed<T>;
|
|
42
|
+
readonly removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect.Effect<void, DatabaseError, RSchema | RPublish>;
|
|
43
|
+
readonly removeById: (idOrIds: T[IdKey] | ReadonlyArray<T[IdKey]>) => Effect.Effect<void, DatabaseError, RSchema>;
|
|
44
|
+
readonly queryRaw: <T, Out, R>(schema: S.Codec<T, Out, R>, raw: RawQuery<Encoded, Out>) => Effect.Effect<readonly T[], S.SchemaError | DatabaseError, R>;
|
|
45
|
+
/**
|
|
46
|
+
* Explicitly seed a namespace. Primary is seeded eagerly on initialization.
|
|
47
|
+
* Non-primary namespaces must be seeded explicitly before use.
|
|
48
|
+
*/
|
|
49
|
+
readonly seedNamespace: (namespace: string) => Effect.Effect<void, DatabaseError>;
|
|
50
|
+
readonly query: {
|
|
51
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", E extends boolean = false>(q: (initial: Query<Encoded>) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
52
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
53
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
54
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
55
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
56
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
57
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
58
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
59
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
60
|
+
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never, $I = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => $I, q10: (_: $I) => QueryProjection<From extends Encoded ? From : never, A, R, TType, E>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.SchemaError) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
61
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, E extends boolean = false>(q: (initial: Query<Encoded>) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
62
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
63
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
64
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
65
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
66
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
67
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
68
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
69
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
70
|
+
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never, $I = never, E extends boolean = false>(q1: (initial: Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => $I, q10: (_: $I) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>): Effect.Effect<TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>, (TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError, Exclude<R, RProvided> | RSchema>;
|
|
71
|
+
};
|
|
72
|
+
/** @deprecated use query */
|
|
73
|
+
readonly mapped: Mapped<Encoded>;
|
|
74
|
+
/**
|
|
75
|
+
* Validates a random sample of repository items by applying jitM and schema decode.
|
|
76
|
+
* Useful for testing that migrations and schema changes work correctly on existing data.
|
|
77
|
+
*/
|
|
78
|
+
readonly validateSample: (options?: {
|
|
79
|
+
/** percentage of items to sample (0.0-1.0), default 0.1 (10%) */
|
|
80
|
+
percentage?: number;
|
|
81
|
+
/** optional maximum number of items to sample */
|
|
82
|
+
maxItems?: number;
|
|
83
|
+
}) => Effect.Effect<ValidationResult, DatabaseError, RSchema>;
|
|
84
|
+
}
|
|
85
|
+
type DistributeQueryIfExclusiveOnArray<Exclusive extends boolean, T, EncodedRefined> = [Exclusive] extends [true] ? T extends any ? RefineTHelper<T, EncodedRefined> extends infer R ? IsNever<R> extends true ? never : readonly R[] : never : never : readonly RefineTHelper<T, EncodedRefined>[];
|
|
86
|
+
type NullableRefined<T, EncodedRefined> = {
|
|
87
|
+
[k in keyof T]: [null] extends [T[k]] ? [null] extends [Extract<EncodedRefined, {
|
|
88
|
+
[j in k]: any;
|
|
89
|
+
}>[k]] ? T[k] : Exclude<T[k], null> : T[k];
|
|
90
|
+
};
|
|
91
|
+
type ShouldRecursiveExtractTagged<T, EncodedRefined> = true extends {
|
|
92
|
+
[k in keyof T]: "_tag" extends keyof T[k] ? k extends keyof EncodedRefined ? "_tag" extends keyof EncodedRefined[k] ? true : false : false : false;
|
|
93
|
+
}[keyof T] ? true : false;
|
|
94
|
+
type RecursiveExtractTagged<T, EncodedRefined> = ShouldRecursiveExtractTagged<T, EncodedRefined> extends true ? {
|
|
95
|
+
[k in keyof T]: "_tag" extends keyof T[k] ? k extends keyof EncodedRefined ? "_tag" extends keyof EncodedRefined[k] ? ExtractTagged<T[k], EncodedRefined[k]> : T[k] : T[k] : T[k];
|
|
96
|
+
} : T;
|
|
97
|
+
type ExtractTagged_<T, EncodedRefined> = EncodedRefined extends {
|
|
98
|
+
_tag: string;
|
|
99
|
+
} ? T extends {
|
|
100
|
+
_tag: string;
|
|
101
|
+
} ? Extract<T, {
|
|
102
|
+
_tag: EncodedRefined["_tag"];
|
|
103
|
+
}> : T : T;
|
|
104
|
+
type ExtractTagged<T, EncodedRefined> = ExtractTagged_<T, EncodedRefined> extends infer R ? RecursiveExtractTagged<RecusiveExtractIded<R, EncodedRefined>, EncodedRefined> : never;
|
|
105
|
+
type ShouldRecursiveExtractIded<T, EncodedRefined> = true extends {
|
|
106
|
+
[k in keyof T]: "id" extends keyof T[k] ? k extends keyof EncodedRefined ? "id" extends keyof EncodedRefined[k] ? true : false : false : false;
|
|
107
|
+
}[keyof T] ? true : false;
|
|
108
|
+
type RecusiveExtractIded<T, EncodedRefined> = ShouldRecursiveExtractIded<T, EncodedRefined> extends true ? {
|
|
109
|
+
[k in keyof T]: "id" extends keyof T[k] ? k extends keyof EncodedRefined ? "id" extends keyof EncodedRefined[k] ? ExtractIded<T[k], EncodedRefined[k]> : T[k] : T[k] : T[k];
|
|
110
|
+
} : T;
|
|
111
|
+
type ExtractIded_<T, EncodedRefined> = EncodedRefined extends {
|
|
112
|
+
id: string;
|
|
113
|
+
} ? T extends {
|
|
114
|
+
id: string;
|
|
115
|
+
} ? Extract<T, {
|
|
116
|
+
id: EncodedRefined["id"];
|
|
117
|
+
}> : T : T;
|
|
118
|
+
type ExtractIded<T, EncodedRefined> = ExtractIded_<T, EncodedRefined> extends infer R ? RecusiveExtractIded<RecursiveExtractTagged<R, EncodedRefined>, EncodedRefined> : never;
|
|
119
|
+
export type RefineTHelper<T, EncodedRefined> = ResolveFirstLevel<NullableRefined<ExtractIded<ExtractTagged<T, EncodedRefined>, EncodedRefined>, EncodedRefined>>;
|
|
120
|
+
export {};
|
|
121
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as S from "../../Schema.js";
|
|
2
|
+
declare const ValidationError_base: S.Opaque<ValidationError, typeof S.ExtendedSchemaNoEncoded, S.Struct<{
|
|
3
|
+
/** the id of the item that failed validation */
|
|
4
|
+
readonly id: S.Unknown;
|
|
5
|
+
/** the raw data from the database before jitM */
|
|
6
|
+
readonly rawData: S.Unknown;
|
|
7
|
+
/** the data after applying jitM transformation */
|
|
8
|
+
readonly jitMResult: S.Unknown;
|
|
9
|
+
/** the S.SchemaError from schema decode */
|
|
10
|
+
readonly error: S.Unknown;
|
|
11
|
+
}>, {}> & Omit<S.Struct<{
|
|
12
|
+
/** the id of the item that failed validation */
|
|
13
|
+
readonly id: S.Unknown;
|
|
14
|
+
/** the raw data from the database before jitM */
|
|
15
|
+
readonly rawData: S.Unknown;
|
|
16
|
+
/** the data after applying jitM transformation */
|
|
17
|
+
readonly jitMResult: S.Unknown;
|
|
18
|
+
/** the S.SchemaError from schema decode */
|
|
19
|
+
readonly error: S.Unknown;
|
|
20
|
+
}>, keyof S.Top>;
|
|
21
|
+
/**
|
|
22
|
+
* Represents a single validation error when decoding a repository item.
|
|
23
|
+
* Contains full context for debugging: raw data, jitM result, and decode error.
|
|
24
|
+
*/
|
|
25
|
+
export declare class ValidationError extends ValidationError_base {
|
|
26
|
+
}
|
|
27
|
+
declare const ValidationResult_base: S.Opaque<ValidationResult, typeof S.ExtendedSchemaNoEncoded, S.Struct<{
|
|
28
|
+
/** total number of items in the repository */
|
|
29
|
+
readonly total: S.NonNegativeIntSchema;
|
|
30
|
+
/** number of items that were sampled for validation */
|
|
31
|
+
readonly sampled: S.NonNegativeIntSchema;
|
|
32
|
+
/** number of items that passed validation */
|
|
33
|
+
readonly valid: S.NonNegativeIntSchema;
|
|
34
|
+
/** list of validation errors with full context */
|
|
35
|
+
readonly errors: S.$Array<typeof ValidationError> & {
|
|
36
|
+
withConstructorDefault: S.withConstructorDefault<S.$Array<typeof ValidationError>>;
|
|
37
|
+
withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<typeof ValidationError>, never>;
|
|
38
|
+
};
|
|
39
|
+
}>, {}> & Omit<S.Struct<{
|
|
40
|
+
/** total number of items in the repository */
|
|
41
|
+
readonly total: S.NonNegativeIntSchema;
|
|
42
|
+
/** number of items that were sampled for validation */
|
|
43
|
+
readonly sampled: S.NonNegativeIntSchema;
|
|
44
|
+
/** number of items that passed validation */
|
|
45
|
+
readonly valid: S.NonNegativeIntSchema;
|
|
46
|
+
/** list of validation errors with full context */
|
|
47
|
+
readonly errors: S.$Array<typeof ValidationError> & {
|
|
48
|
+
withConstructorDefault: S.withConstructorDefault<S.$Array<typeof ValidationError>>;
|
|
49
|
+
withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<typeof ValidationError>, never>;
|
|
50
|
+
};
|
|
51
|
+
}>, keyof S.Top>;
|
|
52
|
+
/**
|
|
53
|
+
* Result of validating a sample of repository items.
|
|
54
|
+
*/
|
|
55
|
+
export declare class ValidationResult extends ValidationResult_base {
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;;IAQlC,gDAAgD;;IAEhD,iDAAiD;;IAEjD,kDAAkD;;IAElD,2CAA2C;;;IAN3C,gDAAgD;;IAEhD,iDAAiD;;IAEjD,kDAAkD;;IAElD,2CAA2C;;;AAX7C;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBASlC;CAAG;;IAMJ,8CAA8C;;IAE9C,uDAAuD;;IAEvD,6CAA6C;;IAE7C,kDAAkD;;;;;;IANlD,8CAA8C;;IAE9C,uDAAuD;;IAEvD,6CAA6C;;IAE7C,kDAAkD;;;;;;AAVpD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,qBASnC;CAAG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as S from "../../Schema.js";
|
|
2
|
+
import { NonNegativeInt } from "../../Schema.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a single validation error when decoding a repository item.
|
|
5
|
+
* Contains full context for debugging: raw data, jitM result, and decode error.
|
|
6
|
+
*/
|
|
7
|
+
export class ValidationError extends S.Opaque()(S.Struct({
|
|
8
|
+
/** the id of the item that failed validation */
|
|
9
|
+
id: S.Unknown,
|
|
10
|
+
/** the raw data from the database before jitM */
|
|
11
|
+
rawData: S.Unknown,
|
|
12
|
+
/** the data after applying jitM transformation */
|
|
13
|
+
jitMResult: S.Unknown,
|
|
14
|
+
/** the S.SchemaError from schema decode */
|
|
15
|
+
error: S.Unknown
|
|
16
|
+
})) {
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Result of validating a sample of repository items.
|
|
20
|
+
*/
|
|
21
|
+
export class ValidationResult extends S.Opaque()(S.Struct({
|
|
22
|
+
/** total number of items in the repository */
|
|
23
|
+
total: NonNegativeInt,
|
|
24
|
+
/** number of items that were sampled for validation */
|
|
25
|
+
sampled: NonNegativeInt,
|
|
26
|
+
/** number of items that passed validation */
|
|
27
|
+
valid: NonNegativeInt,
|
|
28
|
+
/** list of validation errors with full context */
|
|
29
|
+
errors: S.Array(ValidationError)
|
|
30
|
+
})) {
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9Nb2RlbC9SZXBvc2l0b3J5L3ZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLENBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFaEQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBbUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hFLGdEQUFnRDtJQUNoRCxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDYixpREFBaUQ7SUFDakQsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPO0lBQ2xCLGtEQUFrRDtJQUNsRCxVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDckIsMkNBQTJDO0lBQzNDLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTztDQUNqQixDQUFDLENBQUM7Q0FBRztBQUVOOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLENBQUMsQ0FBQyxNQUFNLEVBQW9CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxRSw4Q0FBOEM7SUFDOUMsS0FBSyxFQUFFLGNBQWM7SUFDckIsdURBQXVEO0lBQ3ZELE9BQU8sRUFBRSxjQUFjO0lBQ3ZCLDZDQUE2QztJQUM3QyxLQUFLLEVBQUUsY0FBYztJQUNyQixrREFBa0Q7SUFDbEQsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO0NBQ2pDLENBQUMsQ0FBQztDQUFHIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { repositoryDependency } from "./Repository/dependency.js";
|
|
2
|
+
export * from "./Repository/ext.js";
|
|
3
|
+
export * from "./Repository/legacy.js";
|
|
4
|
+
export { makeRepo } from "./Repository/makeRepo.js";
|
|
5
|
+
export * from "./Repository/Registry.js";
|
|
6
|
+
export * from "./Repository/service.js";
|
|
7
|
+
export * from "./Repository/validation.js";
|
|
8
|
+
//# sourceMappingURL=Repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/Model/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { repositoryDependency } from "./Repository/dependency.js";
|
|
2
|
+
export * from "./Repository/ext.js";
|
|
3
|
+
export * from "./Repository/legacy.js";
|
|
4
|
+
export { makeRepo } from "./Repository/makeRepo.js";
|
|
5
|
+
export * from "./Repository/Registry.js";
|
|
6
|
+
export * from "./Repository/service.js";
|
|
7
|
+
export * from "./Repository/validation.js";
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Nb2RlbC9SZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDbkQsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUEifQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from "../Array.js";
|
|
2
|
+
import * as Effect from "../Effect.js";
|
|
3
|
+
import { type FixEnv, type Pure, type PureEnvEnv, type PureLogT } from "../Pure.js";
|
|
4
|
+
export interface PureDSL<S, S2, W> {
|
|
5
|
+
get: Pure<never, S, S, never, never, S>;
|
|
6
|
+
set: (s: S2) => Pure<never, S2, S2, never, never, void>;
|
|
7
|
+
log: (...w: W[]) => PureLogT<W>;
|
|
8
|
+
}
|
|
9
|
+
export declare const AnyPureDSL: PureDSL<any, any, any>;
|
|
10
|
+
export type AllDSL<T, Evt> = (<R, A, E, S1 extends T, S2 extends T>(pure: (dsl: PureDSL<S1[], S2[], Evt>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, FixEnv<R, Evt, S1[], S2[]>>) & AllDSLExt<T, Evt>;
|
|
11
|
+
export interface AllDSLExt<T, Evt> {
|
|
12
|
+
modify: <R, E, A, S1 extends T, S2 extends T>(pure: (items: readonly S1[], dsl: PureDSL<readonly S1[], readonly S2[], Evt>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>;
|
|
13
|
+
update: <R, E, S1 extends T, S2 extends T>(pure: (items: readonly S1[], log: (...evt: Evt[]) => PureLogT<Evt>) => Effect.Effect<readonly S2[], E, R>) => Effect.Effect<readonly S2[], E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>;
|
|
14
|
+
updateWith: <S1 extends T, S2 extends T>(upd: (item: readonly S1[]) => readonly S2[]) => Effect.Effect<readonly S2[], never, PureEnvEnv<Evt, readonly S1[], readonly S2[]>>;
|
|
15
|
+
}
|
|
16
|
+
export declare function makeAllDSL<T, Evt>(): AllDSL<T, Evt>;
|
|
17
|
+
export type OneDSL<T, Evt> = (<R, A, E, S1 extends T, S2 extends T>(pure: (dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2>>) & OneDSLExt<T, Evt>;
|
|
18
|
+
export interface OneDSLExt<T, Evt> {
|
|
19
|
+
modify: <R, E, A, S1 extends T, S2 extends T>(pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2> | PureEnvEnv<Evt, S1, S1>>;
|
|
20
|
+
update: <R, E, S1 extends T, S2 extends T>(pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => Effect.Effect<S2, E, R>) => Effect.Effect<S2, E, FixEnv<R, Evt, S1, S2>>;
|
|
21
|
+
updateWith: <S1 extends T, S2 extends T>(upd: (item: S1) => S2) => Effect.Effect<S2, never, PureEnvEnv<Evt, S1, S2>>;
|
|
22
|
+
}
|
|
23
|
+
export declare function makeOneDSL<T, Evt>(): OneDSL<T, Evt>;
|
|
24
|
+
export declare function makeDSL<S1, S2, Evt>(): (<R, A, E>(pure: (dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2>>) & {
|
|
25
|
+
modify: <R, E, A>(pure: (items: S1, dsl: PureDSL<S1, S2, Evt>) => Effect.Effect<A, E, R>) => Effect.Effect<A, E, FixEnv<R, Evt, S1, S2>>;
|
|
26
|
+
update: <R, E>(pure: (items: S1, log: (...evt: Evt[]) => PureLogT<Evt>) => Effect.Effect<S2, E, R>) => Effect.Effect<S2, E, FixEnv<R, Evt, S1, S2>>;
|
|
27
|
+
updateWith: (upd: (item: S1) => S2) => Effect.Effect<S2, never, PureEnvEnv<Evt, S1, S2>>;
|
|
28
|
+
};
|
|
29
|
+
export interface DSLExt<S1, S2, Evt> extends ReturnType<typeof makeDSL<S1, S2, Evt>> {
|
|
30
|
+
}
|
|
31
|
+
export declare function ifAny<T, R, E, A>(fn: (items: NonEmptyReadonlyArray<T>) => Effect.Effect<A, E, R>): (items: Iterable<T>) => Effect.Effect<import("effect/Option").Option<A>, E, R>;
|
|
32
|
+
export declare function ifAny_<T, R, E, A>(items: Iterable<T>, fn: (items: NonEmptyReadonlyArray<T>) => Effect.Effect<A, E, R>): Effect.Effect<import("effect/Option").Option<A>, E, R>;
|
|
33
|
+
//# sourceMappingURL=dsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../src/Model/dsl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { toNonEmptyArray } from "../Array.js";
|
|
2
|
+
import * as Effect from "../Effect.js";
|
|
3
|
+
import { get, logMany, set } from "../Pure.js";
|
|
4
|
+
export const AnyPureDSL = {
|
|
5
|
+
get: get(),
|
|
6
|
+
set: set,
|
|
7
|
+
log: (...evt) => logMany(evt)
|
|
8
|
+
};
|
|
9
|
+
const anyDSL = makeDSL();
|
|
10
|
+
export function makeAllDSL() {
|
|
11
|
+
const dsl = anyDSL;
|
|
12
|
+
return dsl;
|
|
13
|
+
}
|
|
14
|
+
export function makeOneDSL() {
|
|
15
|
+
return anyDSL;
|
|
16
|
+
}
|
|
17
|
+
export function makeDSL() {
|
|
18
|
+
const dsl = AnyPureDSL;
|
|
19
|
+
function modify(pure) {
|
|
20
|
+
return dsl.get.pipe(Effect.flatMap((items) => pure(items, dsl)));
|
|
21
|
+
}
|
|
22
|
+
function update(pure) {
|
|
23
|
+
return dsl.get.pipe(Effect.flatMap((items) => pure(items, dsl.log).pipe(Effect.tap(dsl.set))));
|
|
24
|
+
}
|
|
25
|
+
function withDSL(pure) {
|
|
26
|
+
return pure(AnyPureDSL);
|
|
27
|
+
}
|
|
28
|
+
function updateWith(upd) {
|
|
29
|
+
return update((_) => Effect.sync(() => upd(_)));
|
|
30
|
+
}
|
|
31
|
+
return Object.assign(withDSL, {
|
|
32
|
+
modify,
|
|
33
|
+
update,
|
|
34
|
+
updateWith
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
export function ifAny(fn) {
|
|
38
|
+
return (items) => Effect.flatMapOption(Effect.sync(() => toNonEmptyArray([...items])), fn);
|
|
39
|
+
}
|
|
40
|
+
export function ifAny_(items, fn) {
|
|
41
|
+
return Effect.flatMapOption(Effect.sync(() => toNonEmptyArray([...items])), fn);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01vZGVsL2RzbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdDLE9BQU8sS0FBSyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sRUFBZSxHQUFHLEVBQUUsT0FBTyxFQUE2QyxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFRdEcsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUEyQjtJQUNoRCxHQUFHLEVBQUUsR0FBRyxFQUFFO0lBQ1YsR0FBRyxFQUFFLEdBQVU7SUFDZixHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztDQUNyQyxDQUFBO0FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFpQixDQUFBO0FBb0J2QyxNQUFNLFVBQVUsVUFBVTtJQUN4QixNQUFNLEdBQUcsR0FBbUIsTUFBTSxDQUFBO0lBQ2xDLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQztBQW9CRCxNQUFNLFVBQVUsVUFBVTtJQUN4QixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTztJQUNyQixNQUFNLEdBQUcsR0FBeUIsVUFBVSxDQUFBO0lBRTVDLFNBQVMsTUFBTSxDQUtiLElBRzJCO1FBRTNCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFRLENBQUE7SUFDekUsQ0FBQztJQUVELFNBQVMsTUFBTSxDQUliLElBRzRCO1FBRTVCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBUSxDQUFBO0lBQ3ZHLENBQUM7SUFFRCxTQUFTLE9BQU8sQ0FLZCxJQUEyRDtRQUUzRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQVEsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsU0FBUyxVQUFVLENBQUMsR0FBcUI7UUFDdkMsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUNsQixPQUFPLEVBQ1A7UUFDRSxNQUFNO1FBQ04sTUFBTTtRQUNOLFVBQVU7S0FDWCxDQUNGLENBQUE7QUFDSCxDQUFDO0FBSUQsTUFBTSxVQUFVLEtBQUssQ0FBYSxFQUErRDtJQUMvRixPQUFPLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pHLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUNwQixLQUFrQixFQUNsQixFQUErRDtJQUUvRCxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUNqRixDQUFDIn0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type RelationDirection } from "../query.js";
|
|
2
|
+
export type InOps = "in" | "notIn";
|
|
3
|
+
export type OtherOps = "endsWith" | "startsWith" | "notEndsWith" | "notStartsWith" | "contains" | "notContains" | "includes" | "notIncludes" | "includes-any" | "notIncludes-any" | "includes-all" | "notIncludes-all" | "hasKey" | "notHasKey" | "hasValue" | "notHasValue" | "hasKeyValue" | "notHasKeyValue" | "hasKey-any" | "notHasKey-any" | "hasKey-all" | "notHasKey-all" | "hasValue-any" | "notHasValue-any" | "hasValue-all" | "notHasValue-all" | "hasKeyValue-any" | "notHasKeyValue-any" | "hasKeyValue-all" | "notHasKeyValue-all" | "eq" | "neq" | "gt" | "gte" | "lt" | "lte";
|
|
4
|
+
export type Ops = OtherOps | InOps;
|
|
5
|
+
export type FilterScopes = {
|
|
6
|
+
t: "or-scope";
|
|
7
|
+
result: readonly FilterResult[];
|
|
8
|
+
relation: RelationDirection;
|
|
9
|
+
} | {
|
|
10
|
+
t: "and-scope";
|
|
11
|
+
result: readonly FilterResult[];
|
|
12
|
+
relation: RelationDirection;
|
|
13
|
+
} | {
|
|
14
|
+
t: "where-scope";
|
|
15
|
+
result: readonly FilterResult[];
|
|
16
|
+
relation: RelationDirection;
|
|
17
|
+
};
|
|
18
|
+
export type FilterR = {
|
|
19
|
+
op: Ops;
|
|
20
|
+
path: string;
|
|
21
|
+
value: unknown;
|
|
22
|
+
};
|
|
23
|
+
export type FilterResult = ({
|
|
24
|
+
t: "where";
|
|
25
|
+
} & FilterR) | ({
|
|
26
|
+
t: "or";
|
|
27
|
+
} & FilterR) | ({
|
|
28
|
+
t: "and";
|
|
29
|
+
} & FilterR) | FilterScopes;
|
|
30
|
+
//# sourceMappingURL=filterApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterApi.d.ts","sourceRoot":"","sources":["../../../src/Model/filter/filterApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,MAAM,MAAM,KAAK,GACb,IAAI,GACJ,OAAO,CAAA;AAEX,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,YAAY,GACZ,aAAa,GACb,eAAe,GACf,UAAU,GACV,aAAa,GACb,UAAU,GACV,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,QAAQ,GACR,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,oBAAoB,GACpB,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,CAAA;AAET,MAAM,MAAM,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAA;AAElC,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,EAAE,UAAU,CAAA;IACb,MAAM,EAAE,SAAS,YAAY,EAAE,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,GAAG;IACF,CAAC,EAAE,WAAW,CAAA;IACd,MAAM,EAAE,SAAS,YAAY,EAAE,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,GAAG;IACF,CAAC,EAAE,aAAa,CAAA;IAChB,MAAM,EAAE,SAAS,YAAY,EAAE,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,GAAG,CAAA;IAEP,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,GACtB,CAAE;IACA,CAAC,EAAE,OAAO,CAAA;CACX,GAAG,OAAO,KACT;IACA,CAAC,EAAE,IAAI,CAAA;CACR,GAAG,OAAO,KACT;IACA,CAAC,EAAE,KAAK,CAAA;CACT,GAAG,OAAO,IACT,YAAY,CAAA"}
|