effect-app 4.0.0-beta.29 → 4.0.0-beta.290
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 +1395 -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 +388 -0
- package/dist/DataDependencies.d.ts.map +1 -0
- package/dist/DataDependencies.js +64 -0
- package/dist/Effect.d.ts +10 -9
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +5 -8
- 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/ext.d.ts +60 -0
- package/dist/Model/Repository/ext.d.ts.map +1 -0
- package/dist/Model/Repository/ext.js +122 -0
- package/dist/Model/Repository/internal/internal.d.ts +63 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +438 -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 +54 -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 +7 -0
- package/dist/Model/Repository.d.ts.map +1 -0
- package/dist/Model/Repository.js +7 -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 +506 -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 +136 -0
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
- package/dist/Model/query/new-kid-interpreter.js +336 -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 +5 -0
- package/dist/Model.d.ts.map +1 -0
- package/dist/Model.js +5 -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 +188 -19
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +260 -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 +118 -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 +4 -2
- 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 -4
- package/dist/Schema/ext.d.ts +338 -55
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +358 -53
- package/dist/Schema/moreStrings.d.ts +82 -36
- package/dist/Schema/moreStrings.d.ts.map +1 -1
- package/dist/Schema/moreStrings.js +49 -42
- 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 -3
- 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 +222 -8
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +191 -12
- 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 +163 -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 +29 -0
- package/dist/client/InvalidationKeys.d.ts.map +1 -0
- package/dist/client/InvalidationKeys.js +33 -0
- package/dist/client/apiClientFactory.d.ts +19 -31
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +155 -35
- 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 +492 -32
- package/dist/client/makeClient.d.ts.map +1 -1
- package/dist/client/makeClient.js +62 -28
- 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 +3140 -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 +22 -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 +114 -0
- package/src/Effect.ts +14 -16
- 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/ext.ts +375 -0
- package/src/Model/Repository/internal/internal.ts +755 -0
- package/src/Model/Repository/legacy.ts +29 -0
- package/src/Model/Repository/makeRepo.ts +145 -0
- package/src/Model/Repository/service.ts +676 -0
- package/src/Model/Repository/validation.ts +31 -0
- package/src/Model/Repository.ts +6 -0
- package/src/Model/dsl.ts +129 -0
- package/src/Model/filter/filterApi.ts +60 -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 +2781 -0
- package/src/Model/query/new-kid-interpreter.ts +484 -0
- package/src/Model/query.ts +13 -0
- package/src/Model.ts +4 -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 +633 -59
- package/src/Schema/SchemaParser.ts +12 -0
- package/src/Schema/SpecialJsonSchema.ts +139 -0
- package/src/Schema/SpecialOpenApi.ts +130 -0
- package/src/Schema/brand.ts +22 -2
- package/src/Schema/email.ts +9 -4
- package/src/Schema/ext.ts +446 -91
- package/src/Schema/moreStrings.ts +147 -68
- package/src/Schema/numbers.ts +97 -28
- package/src/Schema/phoneNumber.ts +9 -5
- package/src/Schema/schema.ts +1 -1
- package/src/Schema/strings.ts +23 -14
- package/src/Schema.ts +397 -26
- package/src/SchemaAST.ts +1 -0
- package/src/Set.ts +6 -2
- package/src/Store.ts +273 -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 +50 -0
- package/src/client/apiClientFactory.ts +299 -134
- package/src/client/clientFor.ts +107 -34
- package/src/client/errors.ts +100 -29
- package/src/client/makeClient.ts +586 -78
- 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 +56 -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/secretURL.test.d.ts.map +1 -0
- package/test/dist/special.test.d.ts.map +1 -0
- package/test/moreStrings.test.ts +1 -1
- package/test/rpc.test.ts +45 -6
- package/test/schema.test.ts +459 -30
- package/test/secretURL.test.ts +160 -0
- package/test/special.test.ts +1258 -0
- package/test/utils.test.ts +7 -7
- package/tsconfig.base.json +6 -5
- package/tsconfig.json +3 -1
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"Invalidation.d.ts","sourceRoot":"","sources":["../../src/rpc/Invalidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import * as Ref from "effect/Ref";
|
|
2
|
+
import { Rpc } from "effect/unstable/rpc";
|
|
3
|
+
import { makeQueryKey } from "../client/clientFor.js";
|
|
4
|
+
import * as Context from "../Context.js";
|
|
5
|
+
import * as DataDependencies from "../DataDependencies.js";
|
|
6
|
+
import * as Effect from "../Effect.js";
|
|
7
|
+
import * as S from "../Schema.js";
|
|
8
|
+
const normalizeKey = (input) => {
|
|
9
|
+
if (Array.isArray(input))
|
|
10
|
+
return input;
|
|
11
|
+
const handler = input;
|
|
12
|
+
return makeQueryKey(handler.options ? { id: handler.id, options: handler.options } : { id: handler.id });
|
|
13
|
+
};
|
|
14
|
+
// Disambiguates `add` overloads: a `string[]` means a single key; an array
|
|
15
|
+
// containing arrays-or-objects means a batch of inputs.
|
|
16
|
+
const isBatch = (input) => Array.isArray(input) && input[0] !== undefined && typeof input[0] !== "string";
|
|
17
|
+
const normalizeInputs = (input) => isBatch(input) ? input.map(normalizeKey) : [normalizeKey(input)];
|
|
18
|
+
/**
|
|
19
|
+
* A single segment within an `InvalidationKey` array.
|
|
20
|
+
* Accepts any JSON-compatible value: string, number, boolean, null,
|
|
21
|
+
* arrays and objects recursively — matching TanStack Query's `queryKey` element type.
|
|
22
|
+
*/
|
|
23
|
+
export const InvalidationKeySegment = S.Json;
|
|
24
|
+
/** Schema for a single invalidation key – an array of segments compatible with TanStack Query `queryKey`. */
|
|
25
|
+
export const InvalidationKey = S.Array(InvalidationKeySegment);
|
|
26
|
+
/** Schema for the full set of invalidation keys – an array of `InvalidationKey`. */
|
|
27
|
+
export const InvalidationKeys = S.Array(InvalidationKey);
|
|
28
|
+
/** Metadata included in every command response for server-driven cache invalidation. */
|
|
29
|
+
export const CommandMetaData = S.Struct({
|
|
30
|
+
invalidateQueries: InvalidationKeys,
|
|
31
|
+
dataDependencies: DataDependencies.DataDependencySet
|
|
32
|
+
});
|
|
33
|
+
export const emptyDataDependencies = {
|
|
34
|
+
reads: DataDependencies.empty(),
|
|
35
|
+
writes: DataDependencies.empty()
|
|
36
|
+
};
|
|
37
|
+
export const makeMetaData = (invalidateQueries, dataDependencies = emptyDataDependencies) => ({ invalidateQueries, dataDependencies });
|
|
38
|
+
export const QueryResponseWithMetaData = (success) => S.Struct({ payload: success, metadata: S.Struct({ dataDependencies: DataDependencies.DataDependencySet }) });
|
|
39
|
+
/**
|
|
40
|
+
* Wraps a command's success schema so that the wire format carries both the `payload`
|
|
41
|
+
* (the handler's actual return value) and `metadata` (server-driven cache invalidation keys).
|
|
42
|
+
* Transparent to users: the server handler returns the plain payload and the client receives
|
|
43
|
+
* the plain payload — wrapping/unwrapping is handled internally by the routing layer.
|
|
44
|
+
*/
|
|
45
|
+
export const CommandResponseWithMetaData = (success) => S.Struct({ payload: success, metadata: CommandMetaData });
|
|
46
|
+
/**
|
|
47
|
+
* Wraps a command's failure schema so that the wire format carries both the `error`
|
|
48
|
+
* (the handler's actual failure value) and `metadata` (server-driven cache invalidation keys
|
|
49
|
+
* accumulated thus far before the failure occurred).
|
|
50
|
+
* Transparent to users: the server handler fails with the plain error and the client receives
|
|
51
|
+
* the plain error — wrapping/unwrapping is handled internally by the routing layer.
|
|
52
|
+
*/
|
|
53
|
+
export const CommandFailureWithMetaData = (error) => S.Struct({ _tag: S.Literal("CommandFailureWithMetaData"), error, metadata: CommandMetaData });
|
|
54
|
+
/**
|
|
55
|
+
* Stream chunk schema for stream responses with metadata.
|
|
56
|
+
* Each item is either a data value, an intermediate "metadata" signal carrying cache
|
|
57
|
+
* invalidation keys accumulated since the previous drain, or a final "done" signal.
|
|
58
|
+
* Transparent to users: stream handlers return plain values and clients receive plain values —
|
|
59
|
+
* wrapping/unwrapping is handled internally by the routing layer.
|
|
60
|
+
*
|
|
61
|
+
* The "done" chunk is always the last item in the stream and carries any remaining invalidation
|
|
62
|
+
* keys. An optional "metadata" chunk may appear after any "value" chunk and carries keys
|
|
63
|
+
* accumulated since the last drain (V3: mid-stream invalidation).
|
|
64
|
+
*/
|
|
65
|
+
export const StreamResponseChunk = (success) => S.Union([
|
|
66
|
+
S.Struct({ _tag: S.Literal("value"), value: success }),
|
|
67
|
+
S.Struct({ _tag: S.Literal("metadata"), metadata: CommandMetaData }),
|
|
68
|
+
S.Struct({ _tag: S.Literal("done"), metadata: CommandMetaData })
|
|
69
|
+
]);
|
|
70
|
+
/**
|
|
71
|
+
* Stream chunk schema for stream failures with metadata.
|
|
72
|
+
* Used to signal a stream failure while still carrying cache invalidation keys
|
|
73
|
+
* accumulated thus far.
|
|
74
|
+
*/
|
|
75
|
+
export const StreamFailureChunk = (error) => S.Struct({ _tag: S.Literal("error"), error, metadata: CommandMetaData });
|
|
76
|
+
/**
|
|
77
|
+
* Context annotation for declaring static cache invalidation keys on a low-level `Rpc` definition.
|
|
78
|
+
* These keys are always included in the command response metadata, regardless of the handler logic.
|
|
79
|
+
*
|
|
80
|
+
* Prefer using `makeQueryKey` over raw string arrays to stay in sync with the actual query
|
|
81
|
+
* definitions without manual string maintenance:
|
|
82
|
+
*
|
|
83
|
+
* ```ts
|
|
84
|
+
* import { makeQueryKey } from "effect-app/client"
|
|
85
|
+
* import { Invalidation } from "effect-app/rpc"
|
|
86
|
+
* import * as UserRsc from "../User/index.ts" // separate module to avoid circular deps
|
|
87
|
+
*
|
|
88
|
+
* class UpdateProfile extends Rpc.make("UpdateProfile", { ... })
|
|
89
|
+
* .annotate(Invalidation.Invalidates, [makeQueryKey(UserRsc.GetMe), makeQueryKey(UserRsc.GetProfile)]) {}
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* **Circular dependency note:** if mutations and queries live in the same file you may hit a
|
|
93
|
+
* circular reference at evaluation time. The idiomatic fix is to move mutations into their own
|
|
94
|
+
* module (e.g. `User/mutations.ts`) that directly imports the relevant query classes rather than
|
|
95
|
+
* re-exporting them through a barrel.
|
|
96
|
+
*
|
|
97
|
+
* For the higher-level `Command`/`Query` builders from `makeRpcClient`, use the
|
|
98
|
+
* `invalidatesQueries` callback argument instead (it receives the same query keys at runtime).
|
|
99
|
+
*/
|
|
100
|
+
export const Invalidates = Context.Reference("effect-app/rpc/Invalidates", { defaultValue: () => [] });
|
|
101
|
+
/**
|
|
102
|
+
* Request-scoped service for accumulating invalidation keys dynamically inside a handler.
|
|
103
|
+
* Provided by `InvalidationMiddlewareLive` for every RPC call; has a no-op default so it is
|
|
104
|
+
* safe to use even when the HTTP middleware is absent (tests, workers, etc.).
|
|
105
|
+
*
|
|
106
|
+
* Use `InvalidationSet.add(key)` as a shorthand to skip `.use(_ => _.add(key))`. The
|
|
107
|
+
* underlying service is still available via `.use` / `.useSync` for advanced cases.
|
|
108
|
+
*
|
|
109
|
+
* `add` accepts an RPC handler directly (e.g. `UserRsc.GetMe`) — its query key is derived via
|
|
110
|
+
* `makeQueryKey` so keys stay in sync with the actual query definitions. Raw `InvalidationKey`
|
|
111
|
+
* arrays and arrays of either form are also accepted.
|
|
112
|
+
*
|
|
113
|
+
* ```ts
|
|
114
|
+
* import * as Effect from "effect/Effect"
|
|
115
|
+
* import { Invalidation } from "effect-app/rpc"
|
|
116
|
+
* import * as CartRsc from "../Cart/queries.ts"
|
|
117
|
+
* import * as UserRsc from "../User/queries.ts"
|
|
118
|
+
*
|
|
119
|
+
* const handler = Effect.fnUntraced(function*(req: UpdateCartRequest) {
|
|
120
|
+
* const cart = yield* CartRepo.save(req.cart)
|
|
121
|
+
*
|
|
122
|
+
* // single handler
|
|
123
|
+
* yield* Invalidation.InvalidationSet.add(UserRsc.GetMe)
|
|
124
|
+
*
|
|
125
|
+
* // batch
|
|
126
|
+
* if (cart.isCheckedOut) {
|
|
127
|
+
* yield* Invalidation.InvalidationSet.add([CartRsc.GetCartStats, UserRsc.GetMe])
|
|
128
|
+
* }
|
|
129
|
+
*
|
|
130
|
+
* return cart
|
|
131
|
+
* })
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* You can combine static (`Invalidates` annotation) and dynamic (`InvalidationSet.use`) keys:
|
|
135
|
+
* the annotation pre-populates the set before the handler runs; dynamic additions accumulate
|
|
136
|
+
* throughout the handler. All keys are included in the command response metadata.
|
|
137
|
+
*/
|
|
138
|
+
const InvalidationSetRef = Context.Reference("effect-app/rpc/InvalidationSet", {
|
|
139
|
+
defaultValue: () => ({
|
|
140
|
+
add: (_input) => Effect.void,
|
|
141
|
+
get: Effect.succeed([]),
|
|
142
|
+
drain: Effect.succeed([])
|
|
143
|
+
})
|
|
144
|
+
});
|
|
145
|
+
export const InvalidationSet = Object.assign(InvalidationSetRef, {
|
|
146
|
+
/**
|
|
147
|
+
* Shortcut for `InvalidationSet.use(_ => _.add(input))`. Accepts a single
|
|
148
|
+
* `InvalidationKeyInput` or an array of them.
|
|
149
|
+
*/
|
|
150
|
+
add: (input) => InvalidationSetRef.use((_) => _.add(input))
|
|
151
|
+
});
|
|
152
|
+
/** Creates a fresh `InvalidationSet` implementation backed by a `Ref`. */
|
|
153
|
+
export const makeInvalidationSet = (ref) => ({
|
|
154
|
+
add: (input) => Ref.update(ref, (keys) => [...keys, ...normalizeInputs(input)]),
|
|
155
|
+
get: Ref.get(ref),
|
|
156
|
+
drain: Ref.getAndSet(ref, [])
|
|
157
|
+
});
|
|
158
|
+
/**
|
|
159
|
+
* Custom Rpc constructor for command RPCs.
|
|
160
|
+
* Wraps the success schema with `CommandResponseWithMetaData` and the error
|
|
161
|
+
* schema with `CommandFailureWithMetaData`.
|
|
162
|
+
*/
|
|
163
|
+
export const makeCommandRpc = Rpc.custom(({ defect, error, success }) => ({
|
|
164
|
+
success: CommandResponseWithMetaData(success),
|
|
165
|
+
error: CommandFailureWithMetaData(error),
|
|
166
|
+
defect
|
|
167
|
+
}));
|
|
168
|
+
/**
|
|
169
|
+
* Custom Rpc constructor for stream RPCs.
|
|
170
|
+
* Wraps the success schema with `StreamResponseChunk` and
|
|
171
|
+
* the error schema with `StreamFailureChunk`.
|
|
172
|
+
*/
|
|
173
|
+
export const makeStreamRpc = Rpc.custom(({ defect, error, success }) => ({
|
|
174
|
+
success: StreamResponseChunk(success),
|
|
175
|
+
error: StreamFailureChunk(error),
|
|
176
|
+
defect
|
|
177
|
+
}));
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9JbnZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxZQUFZLENBQUE7QUFDakMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3pDLE9BQU8sRUFBeUIsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDNUUsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLHdCQUF3QixDQUFBO0FBQzFELE9BQU8sS0FBSyxNQUFNLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sS0FBSyxDQUFDLE1BQU0sY0FBYyxDQUFBO0FBU2pDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBMkIsRUFBbUIsRUFBRTtJQUNwRSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUE7SUFDdEMsTUFBTSxPQUFPLEdBQUcsS0FBbUQsQ0FBQTtJQUNuRSxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzFHLENBQUMsQ0FBQTtBQUVELDJFQUEyRTtBQUMzRSx3REFBd0Q7QUFDeEQsTUFBTSxPQUFPLEdBQUcsQ0FDZCxLQUFpRSxFQUNuQixFQUFFLENBQ2hELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENB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
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { Effect, Layer, type Schema, Schema as S, type Scope, ServiceMap } from "effect";
|
|
2
1
|
import { type NonEmptyArray, type NonEmptyReadonlyArray } from "effect/Array";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as S from "effect/Schema";
|
|
5
|
+
import type * as Scope from "effect/Scope";
|
|
3
6
|
import { type Simplify } from "effect/Types";
|
|
4
7
|
import { Rpc, type RpcGroup, type RpcSchema } from "effect/unstable/rpc";
|
|
5
8
|
import { type HandlersFrom } from "effect/unstable/rpc/RpcGroup";
|
|
9
|
+
import * as Context from "../Context.js";
|
|
6
10
|
import { type TypeTestId } from "../TypeTest.js";
|
|
7
11
|
import { type GetContextConfig, type RequestContextMapTagAny, type RpcContextMap } from "./RpcContextMap.js";
|
|
8
12
|
import { type AddMiddleware, type AnyDynamic, type RpcDynamic, type TagClassAny } from "./RpcMiddleware.js";
|
|
@@ -18,11 +22,11 @@ export interface MiddlewareMaker<Self, Id extends string, RequestContextMap exte
|
|
|
18
22
|
provides: MiddlewareMaker.ManyProvided<MiddlewareProviders> extends never ? never : MakeTags<MiddlewareMaker.ManyProvided<MiddlewareProviders>>;
|
|
19
23
|
requires: Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>> extends never ? never : MakeTags<Exclude<MiddlewareMaker.ManyRequired<MiddlewareProviders>, MiddlewareMaker.ManyProvided<MiddlewareProviders>>>;
|
|
20
24
|
}> {
|
|
21
|
-
readonly layer: Layer.Layer<Self, never,
|
|
25
|
+
readonly layer: Layer.Layer<Self, never, Context.Service.Identifier<MiddlewareProviders[number]>>;
|
|
22
26
|
readonly requestContext: RequestContextTag<RequestContextMap>;
|
|
23
27
|
readonly requestContextMap: RequestContextMap;
|
|
24
28
|
}
|
|
25
|
-
export interface RequestContextTag<RequestContextMap extends Record<string, RpcContextMap.Any>> extends
|
|
29
|
+
export interface RequestContextTag<RequestContextMap extends Record<string, RpcContextMap.Any>> extends Context.Service<"RequestContextConfig", GetContextConfig<RequestContextMap>> {
|
|
26
30
|
}
|
|
27
31
|
export declare namespace MiddlewareMaker {
|
|
28
32
|
type Any = TagClassAny;
|
|
@@ -46,7 +50,7 @@ export declare namespace MiddlewareMaker {
|
|
|
46
50
|
} ? _P : never : never;
|
|
47
51
|
type Errors<T> = T extends TagClassAny ? T extends {
|
|
48
52
|
error: S.Top;
|
|
49
|
-
} ?
|
|
53
|
+
} ? T["error"]["Type"] : never : never;
|
|
50
54
|
type Required<T> = T extends TagClassAny ? T extends {
|
|
51
55
|
requires: infer _R;
|
|
52
56
|
} ? _R : never : never;
|
|
@@ -83,14 +87,14 @@ type RecursiveHandleMWsSideways<MWs, R extends {
|
|
|
83
87
|
export interface BuildingMiddleware<Self, Id extends string, RequestContextMap extends Record<string, RpcContextMap.Any>, Provided extends keyof RequestContextMap, Middlewares extends ReadonlyArray<MiddlewareMaker.Any>, DynamicMiddlewareProviders, out MiddlewareR extends {
|
|
84
88
|
_tag: string;
|
|
85
89
|
} = never> {
|
|
86
|
-
rpc: <const Tag extends string, Payload extends
|
|
90
|
+
rpc: <const Tag extends string, Payload extends S.Top | S.Struct.Fields = typeof S.Void, Success extends S.Top = typeof S.Void, Error extends S.Top = typeof S.Never, const Stream extends boolean = false, Config extends GetContextConfig<RequestContextMap> = {}>(tag: Tag, options?: {
|
|
87
91
|
readonly payload?: Payload;
|
|
88
92
|
readonly success?: Success;
|
|
89
93
|
readonly error?: Error;
|
|
90
94
|
readonly stream?: Stream;
|
|
91
95
|
readonly config?: Config;
|
|
92
|
-
readonly primaryKey?: [Payload] extends [
|
|
93
|
-
}) => Rpc.Rpc<Tag, Payload extends
|
|
96
|
+
readonly primaryKey?: [Payload] extends [S.Struct.Fields] ? ((payload: Payload extends S.Struct.Fields ? Simplify<S.Struct<Payload>["Type"]> : Payload["Type"]) => string) : never;
|
|
97
|
+
}) => Rpc.Rpc<Tag, Payload extends S.Struct.Fields ? S.Struct<Payload> : Payload, Stream extends true ? RpcSchema.Stream<Success, Error> : Success, Stream extends true ? typeof S.Never : Error> & {
|
|
94
98
|
readonly config: Config;
|
|
95
99
|
};
|
|
96
100
|
middleware<MWs extends NonEmptyArray<MiddlewareMaker.Any>>(...mw: MWs): RecursiveHandleMWsSideways<MWs, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MiddlewareMaker.d.ts","sourceRoot":"","sources":["../../src/rpc/MiddlewareMaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as S from "effect/Schema";
|
|
3
4
|
import { Rpc } from "effect/unstable/rpc";
|
|
5
|
+
import * as Context from "../Context.js";
|
|
4
6
|
import { PreludeLogger } from "../logger.js";
|
|
5
|
-
import { typedValuesOf } from "../utils.js";
|
|
6
7
|
import * as RpcMiddlewareX from "./RpcMiddleware.js";
|
|
7
|
-
const middlewareMaker = (middlewares)
|
|
8
|
+
const middlewareMaker = Effect.fnUntraced(function* (middlewares) {
|
|
8
9
|
// we want to run them in reverse order because latter middlewares will provide context to former ones
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
};
|
|
10
|
+
const reversed = middlewares.toReversed();
|
|
11
|
+
const context = yield* Effect.context();
|
|
12
|
+
// returns a Effect/RpcMiddlewareV4 with Scope.Scope in requirements
|
|
13
|
+
// v4: wrap middleware takes (effect, options) as two params instead of a single options bag
|
|
14
|
+
return (next, options) => {
|
|
15
|
+
// we start with the actual handler
|
|
16
|
+
let handler = next;
|
|
17
|
+
// inspired from Effect/RpcMiddleware
|
|
18
|
+
for (const tag of reversed) {
|
|
19
|
+
// use the tag to get the middleware from context
|
|
20
|
+
const middleware = Context.getUnsafe(context, tag);
|
|
21
|
+
// wrap the current handler, allowing the middleware to run before and after it
|
|
22
|
+
handler = PreludeLogger.logDebug("Applying middleware wrap " + tag.key).pipe(Effect.andThen(middleware(handler, options)));
|
|
23
|
+
}
|
|
24
|
+
return handler;
|
|
25
|
+
};
|
|
26
|
+
});
|
|
28
27
|
const makeMiddlewareBasic = () =>
|
|
29
28
|
// by setting RequestContextMap beforehand, execute contextual typing does not fuck up itself to anys
|
|
30
29
|
(id, rcm, ...make) => {
|
|
31
30
|
// reverse middlewares and wrap one after the other
|
|
32
31
|
const middleware = middlewareMaker(make);
|
|
33
|
-
|
|
32
|
+
// Per-middleware error: union of the static `error` on the tag (if any) AND
|
|
33
|
+
// the rcm config entry pointed at by the middleware's `dynamic.key` (if any).
|
|
34
|
+
// Reason: middlewares declared with `dynamic: RequestContextMap.get("foo")`
|
|
35
|
+
// don't set a static `error` field — at runtime their `.error` defaults to
|
|
36
|
+
// `S.Never`. Without pulling from rcm, the composite middleware's
|
|
37
|
+
// `.error` collapses to `Never`, and `Rpc.exitSchema` (which walks
|
|
38
|
+
// `rpc.middlewares[*].error` to build the wire failure union) can't decode
|
|
39
|
+
// the actual middleware-thrown error type. Critical for stream rpcs whose
|
|
40
|
+
// top-level `errorSchema` is force-set to `Never` by effect-rpc.
|
|
41
|
+
const isMeaningfulError = (e) => e !== undefined && e !== null && e !== S.Never;
|
|
42
|
+
const rcmRecord = rcm;
|
|
43
|
+
const failures = make.flatMap((_) => {
|
|
44
|
+
const out = [];
|
|
45
|
+
if (isMeaningfulError(_.error))
|
|
46
|
+
out.push(_.error);
|
|
47
|
+
const key = _.dynamic?.key;
|
|
48
|
+
if (key && rcmRecord[key] && isMeaningfulError(rcmRecord[key].error)) {
|
|
49
|
+
out.push(rcmRecord[key].error);
|
|
50
|
+
}
|
|
51
|
+
return out;
|
|
52
|
+
});
|
|
34
53
|
const provides = make.flatMap((_) => !_.provides ? [] : Array.isArray(_.provides) ? _.provides : [_.provides]);
|
|
35
54
|
const requires = make
|
|
36
55
|
.flatMap((_) => !_.requires ? [] : Array.isArray(_.requires) ? _.requires : [_.requires])
|
|
@@ -48,35 +67,37 @@ const makeMiddlewareBasic = () =>
|
|
|
48
67
|
: undefined)
|
|
49
68
|
});
|
|
50
69
|
const layer = Layer
|
|
51
|
-
.effect(MiddlewareMaker, middleware
|
|
70
|
+
.effect(MiddlewareMaker, middleware
|
|
71
|
+
// todo; they dont change the type..
|
|
72
|
+
// Effect.Error<typeof middleware>,
|
|
73
|
+
// Effect.Services<typeof middleware>
|
|
74
|
+
);
|
|
52
75
|
// add to the tag a default implementation
|
|
53
76
|
return Object.assign(MiddlewareMaker, {
|
|
54
77
|
layer,
|
|
55
78
|
// tag to be used to retrieve the RequestContextConfig from Rpc annotations
|
|
56
|
-
requestContext:
|
|
79
|
+
requestContext: Context.Service("RequestContextConfig"),
|
|
57
80
|
requestContextMap: rcm
|
|
58
81
|
});
|
|
59
82
|
};
|
|
60
83
|
export const Tag = () => (id, rcm) => {
|
|
61
|
-
|
|
62
|
-
const requestContext =
|
|
84
|
+
const allMiddleware = [];
|
|
85
|
+
const requestContext = Context.Service("RequestContextConfig");
|
|
63
86
|
const it = {
|
|
64
87
|
id,
|
|
65
88
|
// rpc with config
|
|
66
89
|
rpc: (tag, options) => {
|
|
67
90
|
const config = options?.config ?? {};
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const [firstError, ...restErrors] = allErrors;
|
|
74
|
-
const newError = firstError ? S.Union([firstError, ...restErrors]) : S.Never;
|
|
91
|
+
// The rpc's `error` schema carries ONLY the request's own declared errors.
|
|
92
|
+
// Middleware errors (rcm-derived) reach the wire via the middleware tag
|
|
93
|
+
// attached to the rpc group later (`RpcGroup.middleware(...)` at the
|
|
94
|
+
// routing/client level), and are unioned into the failure schema by
|
|
95
|
+
// `Rpc.exitSchema`'s `rpc.middlewares[*].error` walk.
|
|
75
96
|
// @ts-expect-error — TypeScript can't prove Simplify<T> ≡ { [K in keyof T]: T[K] } for unresolved generics (primaryKey)
|
|
76
97
|
const rpc = Rpc.make(tag, {
|
|
77
98
|
...options?.payload !== undefined ? { payload: options.payload } : {},
|
|
78
99
|
...options?.success !== undefined ? { success: options.success } : {},
|
|
79
|
-
error:
|
|
100
|
+
...options?.error !== undefined ? { error: options.error } : {},
|
|
80
101
|
...options?.stream !== undefined ? { stream: options.stream } : {},
|
|
81
102
|
...options?.primaryKey !== undefined ? { primaryKey: options.primaryKey } : {}
|
|
82
103
|
});
|
|
@@ -85,7 +106,7 @@ export const Tag = () => (id, rcm) => {
|
|
|
85
106
|
middleware: (...middlewares) => {
|
|
86
107
|
for (const mw of middlewares) {
|
|
87
108
|
// recall that we run middlewares in reverse order
|
|
88
|
-
allMiddleware
|
|
109
|
+
allMiddleware.unshift(mw);
|
|
89
110
|
}
|
|
90
111
|
return allMiddleware.filter((m) => !!m.dynamic).length !== Object.keys(rcm.config).length
|
|
91
112
|
// for sure, until all the dynamic middlewares are provided it's non sensical to call makeMiddlewareBasic
|
|
@@ -106,4 +127,4 @@ export const middlewareGroup = (middleware) => (group) => {
|
|
|
106
127
|
}
|
|
107
128
|
});
|
|
108
129
|
};
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZU1ha2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9NaWRkbGV3YXJlTWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxLQUFLLENBQUMsTUFBTSxlQUFlLENBQUE7QUFHbEMsT0FBTyxFQUFFLEdBQUcsRUFBaUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUV4RSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBSTVDLE9BQU8sS0FBSyxjQUFjLE1BQU0sb0JBQW9CLENBQUE7QUF1UHBELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBRWpELFdBQWdDO0lBYWhDLHNHQUFzRztJQUN0RyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDekMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBRXZDLG9FQUFvRTtJQUNwRSw0RkFBNEY7SUFDNUYsT0FBTyxDQUFDLElBQVUsRUFBRSxPQUFnQixFQUFFLEVBQUU7UUFDdEMsbUNBQW1DO1FBQ25DLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQTtRQUVsQixxQ0FBcUM7UUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMzQixpREFBaUQ7WUFDakQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFFbEQsK0VBQStFO1lBQy9FLE9BQU8sR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQyxHQUFHLENB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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as S from "effect/Schema";
|
|
2
2
|
import { type AnyWithProps } from "effect/unstable/rpc/Rpc";
|
|
3
3
|
import { type RpcDynamic } from "./RpcMiddleware.js";
|
|
4
4
|
type Values<T extends Record<any, any>> = T[keyof T];
|
|
5
5
|
/**
|
|
6
|
-
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect
|
|
6
|
+
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
|
|
7
7
|
* Unless explicitly configured as `true`.
|
|
8
8
|
*/
|
|
9
9
|
export type RpcContextMap<Service, E> = {
|
|
@@ -14,7 +14,7 @@ export type RpcContextMap<Service, E> = {
|
|
|
14
14
|
};
|
|
15
15
|
export declare namespace RpcContextMap {
|
|
16
16
|
/**
|
|
17
|
-
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect
|
|
17
|
+
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context.
|
|
18
18
|
* Unless explicitly omitted.
|
|
19
19
|
*/
|
|
20
20
|
type Inverted<Service, E> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpcContextMap.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcContextMap.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"RpcContextMap.d.ts","sourceRoot":"","sources":["../../src/rpc/RpcContextMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
|
-
import
|
|
5
|
-
const tag =
|
|
4
|
+
import * as Context from "../Context.js";
|
|
5
|
+
const tag = Context.Service("RequestContextConfig");
|
|
6
6
|
export const makeMap = (config) => {
|
|
7
7
|
const cls = class {
|
|
8
8
|
config;
|
|
@@ -13,7 +13,7 @@ export const makeMap = (config) => {
|
|
|
13
13
|
return Object.assign(cls, {
|
|
14
14
|
config, /** Retrieves RequestContextConfig out of the Rpc annotations */
|
|
15
15
|
getConfig: (rpc) => {
|
|
16
|
-
return
|
|
16
|
+
return Context.getOrElse(rpc.annotations, tag, () => ({}));
|
|
17
17
|
},
|
|
18
18
|
/** Adapter used when setting the dynamic prop on a middleware implementation */
|
|
19
19
|
get: (key) => ({
|
|
@@ -40,4 +40,4 @@ export const makeCustom = () => (error, contextActivation) => ({
|
|
|
40
40
|
contextActivation,
|
|
41
41
|
inverted: false
|
|
42
42
|
});
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnBjQ29udGV4dE1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ycGMvUnBjQ29udGV4dE1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0REFBNEQ7QUFDNUQsd0RBQXdEO0FBQ3hELHVEQUF1RDtBQUl2RCxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQTtBQThGeEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUF5RCxNQUFjLEVBQUUsRUFBRTtJQUNoRyxNQUFNLEdBQUcsR0FBRztRQUNELE1BQU0sQ0FBUTtRQUN2QjtZQUNFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3RCLENBQUM7S0FDRixDQUFBO0lBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUN4QixNQUFNLEVBQUUsZ0VBQWdFO1FBQ3hFLFNBQVMsRUFBRSxDQUFDLEdBQWlCLEVBQTRCLEVBQUU7WUFDekQsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNuRSxDQUFDO1FBQ0QsZ0ZBQWdGO1FBQ2hGLEdBQUcsRUFBRSxDQUVILEdBQVEsRUFBZ0MsRUFBRSxDQUFDLENBQUM7WUFDNUMsR0FBRztZQUNILFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFFLENBQUMsU0FBUyxDQUFDLEVBQWlCO1NBQzlELENBQUM7S0FDSCxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsR0FBb0IsRUFBRSxDQUMxQyxDQUNFLEtBQVEsRUFDbUIsRUFBRSxDQUFDLENBQUM7SUFDL0IsT0FBTyxFQUFFLElBQWU7SUFDeEIsS0FBSztJQUNMLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQW9CLEVBQUUsQ0FDbEQsQ0FDRSxLQUFRLEVBQzRCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sRUFBRSxJQUFlO0lBQ3hCLEtBQUs7SUFDTCxpQkFBaUIsRUFBRSxLQUFLO0lBQ3hCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQW9CLEVBQUUsQ0FDaEQsQ0FDRSxLQUFRLEVBQ1IsaUJBQW9CLEVBQ2lCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sRUFBRSxJQUFlO0lBQ3hCLEtBQUs7SUFDTCxpQkFBaUI7SUFDakIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQyxDQUFBIn0=
|