@effect-app/infra 4.0.0-beta.200 → 4.0.0-beta.202
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 +39 -0
- package/dist/CUPS.d.ts +2 -10
- package/dist/CUPS.d.ts.map +1 -1
- package/dist/Model/Repository/validation.d.ts +13 -109
- package/dist/Model/Repository/validation.d.ts.map +1 -1
- package/dist/RequestContext.d.ts +7 -55
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/adapters/logger.d.ts +1 -1
- package/dist/api/routing/middleware/middleware.d.ts +3 -13
- package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.js +5 -35
- package/dist/api/routing.d.ts +1 -1
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +18 -2
- package/dist/logger.d.ts +1 -1
- package/package.json +2 -2
- package/src/api/routing/middleware/middleware.ts +5 -61
- package/src/api/routing.ts +32 -1
- package/test/controller.test.ts +1 -1
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/date-query.test.d.ts.map +1 -0
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/router-generator.test.ts +4 -1
- package/test/rpc-e2e-invalidation.test.ts +188 -446
- package/test/rpc-stream-fullstack.test.ts +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.202
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [1186b09]
|
|
8
|
+
- effect-app@4.0.0-beta.202
|
|
9
|
+
|
|
10
|
+
## 4.0.0-beta.201
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- d67d17a: Source middleware errors exclusively from the rpc middleware tag, and move command/stream invalidation wrap/unwrap entirely into the routing layer (server) and `apiClientFactory` (client). `InvalidationMiddleware` and `InvalidationMiddlewareLive` are removed.
|
|
15
|
+
|
|
16
|
+
### Resource error schemas
|
|
17
|
+
|
|
18
|
+
Three sites that used to fold `RequestContextMap[*].error` into a request's own error schema now stop doing so:
|
|
19
|
+
|
|
20
|
+
- `makeRpcClient` / `makeRequestClass` — `failureSchema` is just `config.error` (still merged with the optional `generalErrors` parameter, which is the only remaining error mix on both type and runtime levels).
|
|
21
|
+
- `MiddlewareMaker.rpc()` — `error: options.error` only; the previous union with `rcm.config[*].error` is gone.
|
|
22
|
+
- Routing and `apiClientFactory.makeRpcGroupFromRequestsAndModuleName` — `Invalidation.makeCommandRpc` is called with `error: resource.error` (no widening with the composite middleware error union).
|
|
23
|
+
|
|
24
|
+
Middleware errors reach the client through the rpc's `middlewares[*].error` failure-union channel of `Rpc.exitSchema`, exposed by attaching the middleware tag to the rpc on both sides:
|
|
25
|
+
|
|
26
|
+
- **Server**: `makeRouter(middleware)` attaches the live composite tag (existing behavior).
|
|
27
|
+
- **Client**: new `middleware` option on `ClientForOptions` / `ApiClientFactory.makeFor(layer, { middleware })` attaches the same tag schema-only (no Live invoked). Threaded through `makeRpcGroupFromRequestsAndModuleName` to `RpcGroup.middleware(tag)`. Without it, stream rpcs (whose top-level `errorSchema` is forced to `Never` by effect-rpc) hit `SchemaError: Expected never | { _tag: "error", ... }` decoding middleware-thrown errors that bypass the in-stream `Stream.catch` wrap.
|
|
28
|
+
|
|
29
|
+
**Migration**: handlers that yield errors previously sourced from rcm (e.g. `yield* new UnauthorizedError()`) now require those errors to be declared explicitly on the resource — `Req.Query<T>()("...", fields, { success, error: UnauthorizedError })`. The handler error type no longer auto-includes the rcm union.
|
|
30
|
+
|
|
31
|
+
### Invalidation wrap/unwrap
|
|
32
|
+
|
|
33
|
+
- `routing.ts` (server) provides a per-request `InvalidationSet` for commands, wraps the success value as `CommandResponseWithMetaData`, and converts handler-thrown failures into `CommandFailureWithMetaData` so accumulated invalidation keys reach the client on either path. Stream wrap (per-chunk envelope + final `done` chunk) was already in routing and is unchanged.
|
|
34
|
+
- `apiClientFactory.ts` (client) `unwrapCommand` strips both envelopes and forwards keys to `InvalidationKeysFromServer`.
|
|
35
|
+
- `InvalidationMiddleware` (the tag) and `InvalidationMiddlewareLive` (the layer) are **removed**. The middleware was the previous home of the wrap; with the wrap moved to routing/apiClientFactory, the middleware became a thin pass-through and is no longer needed. `DefaultGenericMiddlewares` and `DefaultGenericMiddlewaresLive` shrink accordingly — no migration needed for callers that used the defaults; callers that referenced `InvalidationMiddleware` / `InvalidationMiddlewareLive` directly should drop those imports.
|
|
36
|
+
|
|
37
|
+
Middleware-thrown errors are never wrapped: by definition the handler never ran, so there is nothing to invalidate. They flow raw on the Cause and the client decodes them via the middleware-tag failure-union channel described above.
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [d67d17a]
|
|
40
|
+
- effect-app@4.0.0-beta.201
|
|
41
|
+
|
|
3
42
|
## 4.0.0-beta.200
|
|
4
43
|
|
|
5
44
|
### Patch Changes
|
package/dist/CUPS.d.ts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import { type FileOptions } from "@effect-app/infra/fileUtil";
|
|
2
2
|
import { Config, Context, Effect, Layer, Option, S } from "effect-app";
|
|
3
|
-
export declare const PrinterId: S.WithDefaults<
|
|
4
|
-
readonly Type: S.NonEmptyString255;
|
|
5
|
-
readonly Iso: S.NonEmptyString255;
|
|
6
|
-
readonly "~type.make": S.NonEmptyString255;
|
|
7
|
-
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
8
|
-
readonly Type: S.NonEmptyString255;
|
|
9
|
-
readonly Iso: S.NonEmptyString255;
|
|
10
|
-
readonly "~type.make": S.NonEmptyString255;
|
|
11
|
-
};
|
|
3
|
+
export declare const PrinterId: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, S.NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, S.NonEmptyString255>;
|
|
12
4
|
export type PrinterId = S.NonEmptyString255;
|
|
13
5
|
export declare const prepareTempDir: Effect.Effect<void, never, never>;
|
|
14
6
|
export declare const makePrintJobTempFile: (data: string | AsyncIterable<string | NodeJS.ArrayBufferView<ArrayBufferLike>> | Iterable<string | NodeJS.ArrayBufferView<ArrayBufferLike>> | import("node:stream") | NodeJS.ArrayBufferView<ArrayBufferLike>, options?: FileOptions) => Effect.Effect<string, import("effect/Cause").UnknownError, import("effect/Scope").Scope>;
|
|
@@ -43,4 +35,4 @@ export declare class CUPS extends CUPS_base {
|
|
|
43
35
|
static readonly Fake: Layer.Layer<CUPS, never, never>;
|
|
44
36
|
}
|
|
45
37
|
export {};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ1VQUy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0NVUFMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFZLE1BQU0sNEJBQTRCLENBQUE7QUFFdkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBUWpGLGVBQU8sTUFBTSxTQUFTLDZPQUFzQixDQUFBO0FBQzVDLE1BQU0sTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFBO0FBdUMzQyxlQUFPLE1BQU0sY0FBYyxtQ0FVekIsQ0FBQTtBQUdGLGVBQU8sTUFBTSxvQkFBb0Isb1VBQTRCLENBQUE7QUFDN0QsZUFBTyxNQUFNLCtCQUErQixXQUFZLFdBQVcsWUFBWSxXQUFXLDZGQUN0QyxDQUFBO0FBeUJwRCxlQUFPLE1BQU0sVUFBVTs7RUFRckIsQ0FBQTs7b0JBTXlCLFdBQVcsYUFBYSxTQUFTLGNBQWMsTUFBTSxFQUFFOzs7OzBCQVN0RCxNQUFNLGFBQWEsU0FBUyxjQUFjLE1BQU0sRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYjlFLHFCQUFhLElBQUssU0FBUSxTQXFCeEI7SUFDQSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksa0NBK0JuQjtDQUNGIn0=
|
package/dist/CUPS.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CUPS.d.ts","sourceRoot":"","sources":["../src/CUPS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAY,MAAM,4BAA4B,CAAA;AAEvE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAa,CAAC,EAAE,MAAM,YAAY,CAAA;AAQjF,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"CUPS.d.ts","sourceRoot":"","sources":["../src/CUPS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAY,MAAM,4BAA4B,CAAA;AAEvE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAa,CAAC,EAAE,MAAM,YAAY,CAAA;AAQjF,eAAO,MAAM,SAAS,6OAAsB,CAAA;AAC5C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,iBAAiB,CAAA;AAuC3C,eAAO,MAAM,cAAc,mCAUzB,CAAA;AAGF,eAAO,MAAM,oBAAoB,oUAA4B,CAAA;AAC7D,eAAO,MAAM,+BAA+B,WAAY,WAAW,YAAY,WAAW,6FACtC,CAAA;AAyBpD,eAAO,MAAM,UAAU;;EAQrB,CAAA;;oBAMyB,WAAW,aAAa,SAAS,cAAc,MAAM,EAAE;;;;0BAStD,MAAM,aAAa,SAAS,cAAc,MAAM,EAAE;;;;;;;;;;;;;;;;;;AAb9E,qBAAa,IAAK,SAAQ,SAqBxB;IACA,MAAM,CAAC,QAAQ,CAAC,IAAI,kCA+BnB;CACF"}
|
|
@@ -27,64 +27,16 @@ export declare class ValidationError extends ValidationError_base {
|
|
|
27
27
|
}
|
|
28
28
|
declare const ValidationResult_base: S.Opaque<ValidationResult, typeof S.ExtendedSchemaNoEncoded, S.Struct<{
|
|
29
29
|
/** total number of items in the repository */
|
|
30
|
-
readonly total: S.WithDefaults<
|
|
31
|
-
|
|
32
|
-
readonly Iso: NonNegativeInt;
|
|
33
|
-
readonly "~type.make": NonNegativeInt;
|
|
34
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
35
|
-
readonly Type: NonNegativeInt;
|
|
36
|
-
readonly Iso: NonNegativeInt;
|
|
37
|
-
readonly "~type.make": NonNegativeInt;
|
|
38
|
-
} & {
|
|
39
|
-
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
40
|
-
readonly Type: NonNegativeInt;
|
|
41
|
-
readonly Iso: NonNegativeInt;
|
|
42
|
-
readonly "~type.make": NonNegativeInt;
|
|
43
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
44
|
-
readonly Type: NonNegativeInt;
|
|
45
|
-
readonly Iso: NonNegativeInt;
|
|
46
|
-
readonly "~type.make": NonNegativeInt;
|
|
47
|
-
}>;
|
|
30
|
+
readonly total: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt> & {
|
|
31
|
+
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
48
32
|
};
|
|
49
33
|
/** number of items that were sampled for validation */
|
|
50
|
-
readonly sampled: S.WithDefaults<
|
|
51
|
-
|
|
52
|
-
readonly Iso: NonNegativeInt;
|
|
53
|
-
readonly "~type.make": NonNegativeInt;
|
|
54
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
55
|
-
readonly Type: NonNegativeInt;
|
|
56
|
-
readonly Iso: NonNegativeInt;
|
|
57
|
-
readonly "~type.make": NonNegativeInt;
|
|
58
|
-
} & {
|
|
59
|
-
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
60
|
-
readonly Type: NonNegativeInt;
|
|
61
|
-
readonly Iso: NonNegativeInt;
|
|
62
|
-
readonly "~type.make": NonNegativeInt;
|
|
63
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
64
|
-
readonly Type: NonNegativeInt;
|
|
65
|
-
readonly Iso: NonNegativeInt;
|
|
66
|
-
readonly "~type.make": NonNegativeInt;
|
|
67
|
-
}>;
|
|
34
|
+
readonly sampled: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt> & {
|
|
35
|
+
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
68
36
|
};
|
|
69
37
|
/** number of items that passed validation */
|
|
70
|
-
readonly valid: S.WithDefaults<
|
|
71
|
-
|
|
72
|
-
readonly Iso: NonNegativeInt;
|
|
73
|
-
readonly "~type.make": NonNegativeInt;
|
|
74
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
75
|
-
readonly Type: NonNegativeInt;
|
|
76
|
-
readonly Iso: NonNegativeInt;
|
|
77
|
-
readonly "~type.make": NonNegativeInt;
|
|
78
|
-
} & {
|
|
79
|
-
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
80
|
-
readonly Type: NonNegativeInt;
|
|
81
|
-
readonly Iso: NonNegativeInt;
|
|
82
|
-
readonly "~type.make": NonNegativeInt;
|
|
83
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
84
|
-
readonly Type: NonNegativeInt;
|
|
85
|
-
readonly Iso: NonNegativeInt;
|
|
86
|
-
readonly "~type.make": NonNegativeInt;
|
|
87
|
-
}>;
|
|
38
|
+
readonly valid: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt> & {
|
|
39
|
+
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
88
40
|
};
|
|
89
41
|
/** list of validation errors with full context */
|
|
90
42
|
readonly errors: S.$Array<typeof ValidationError> & {
|
|
@@ -93,64 +45,16 @@ declare const ValidationResult_base: S.Opaque<ValidationResult, typeof S.Extende
|
|
|
93
45
|
};
|
|
94
46
|
}>, {}> & Omit<S.Struct<{
|
|
95
47
|
/** total number of items in the repository */
|
|
96
|
-
readonly total: S.WithDefaults<
|
|
97
|
-
|
|
98
|
-
readonly Iso: NonNegativeInt;
|
|
99
|
-
readonly "~type.make": NonNegativeInt;
|
|
100
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
101
|
-
readonly Type: NonNegativeInt;
|
|
102
|
-
readonly Iso: NonNegativeInt;
|
|
103
|
-
readonly "~type.make": NonNegativeInt;
|
|
104
|
-
} & {
|
|
105
|
-
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
106
|
-
readonly Type: NonNegativeInt;
|
|
107
|
-
readonly Iso: NonNegativeInt;
|
|
108
|
-
readonly "~type.make": NonNegativeInt;
|
|
109
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
110
|
-
readonly Type: NonNegativeInt;
|
|
111
|
-
readonly Iso: NonNegativeInt;
|
|
112
|
-
readonly "~type.make": NonNegativeInt;
|
|
113
|
-
}>;
|
|
48
|
+
readonly total: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt> & {
|
|
49
|
+
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
114
50
|
};
|
|
115
51
|
/** number of items that were sampled for validation */
|
|
116
|
-
readonly sampled: S.WithDefaults<
|
|
117
|
-
|
|
118
|
-
readonly Iso: NonNegativeInt;
|
|
119
|
-
readonly "~type.make": NonNegativeInt;
|
|
120
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
121
|
-
readonly Type: NonNegativeInt;
|
|
122
|
-
readonly Iso: NonNegativeInt;
|
|
123
|
-
readonly "~type.make": NonNegativeInt;
|
|
124
|
-
} & {
|
|
125
|
-
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
126
|
-
readonly Type: NonNegativeInt;
|
|
127
|
-
readonly Iso: NonNegativeInt;
|
|
128
|
-
readonly "~type.make": NonNegativeInt;
|
|
129
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
130
|
-
readonly Type: NonNegativeInt;
|
|
131
|
-
readonly Iso: NonNegativeInt;
|
|
132
|
-
readonly "~type.make": NonNegativeInt;
|
|
133
|
-
}>;
|
|
52
|
+
readonly sampled: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt> & {
|
|
53
|
+
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
134
54
|
};
|
|
135
55
|
/** number of items that passed validation */
|
|
136
|
-
readonly valid: S.WithDefaults<
|
|
137
|
-
|
|
138
|
-
readonly Iso: NonNegativeInt;
|
|
139
|
-
readonly "~type.make": NonNegativeInt;
|
|
140
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
141
|
-
readonly Type: NonNegativeInt;
|
|
142
|
-
readonly Iso: NonNegativeInt;
|
|
143
|
-
readonly "~type.make": NonNegativeInt;
|
|
144
|
-
} & {
|
|
145
|
-
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
146
|
-
readonly Type: NonNegativeInt;
|
|
147
|
-
readonly Iso: NonNegativeInt;
|
|
148
|
-
readonly "~type.make": NonNegativeInt;
|
|
149
|
-
}> & Omit<S.brand<import("effect/Schema").Int, "Int" | "NonNegativeInt" | "NonNegativeNumber">, "Iso" | "Type" | "~type.make"> & {
|
|
150
|
-
readonly Type: NonNegativeInt;
|
|
151
|
-
readonly Iso: NonNegativeInt;
|
|
152
|
-
readonly "~type.make": NonNegativeInt;
|
|
153
|
-
}>;
|
|
56
|
+
readonly valid: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt> & {
|
|
57
|
+
withDefault: S.withConstructorDefault<import("effect-app/Schema/ext").WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").Int, NonNegativeInt>>;
|
|
154
58
|
};
|
|
155
59
|
/** list of validation errors with full context */
|
|
156
60
|
readonly errors: S.$Array<typeof ValidationError> & {
|
|
@@ -164,4 +68,4 @@ declare const ValidationResult_base: S.Opaque<ValidationResult, typeof S.Extende
|
|
|
164
68
|
export declare class ValidationResult extends ValidationResult_base {
|
|
165
69
|
}
|
|
166
70
|
export {};
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL01vZGVsL1JlcG9zaXRvcnkvdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7SUFPaEQsZ0RBQWdEOztJQUVoRCxpREFBaUQ7O0lBRWpELGtEQUFrRDs7SUFFbEQsMkNBQTJDOzs7SUFOM0MsZ0RBQWdEOztJQUVoRCxpREFBaUQ7O0lBRWpELGtEQUFrRDs7SUFFbEQsMkNBQTJDOzs7QUFYN0M7OztHQUdHO0FBQ0gscUJBQWEsZUFBZ0IsU0FBUSxvQkFTbEM7Q0FBRzs7SUFNSiw4Q0FBOEM7Ozs7SUFFOUMsdURBQXVEOzs7O0lBRXZELDZDQUE2Qzs7OztJQUU3QyxrREFBa0Q7Ozs7OztJQU5sRCw4Q0FBOEM7Ozs7SUFFOUMsdURBQXVEOzs7O0lBRXZELDZDQUE2Qzs7OztJQUU3QyxrREFBa0Q7Ozs7OztBQVZwRDs7R0FFRztBQUNILHFCQUFhLGdCQUFpQixTQUFRLHFCQVNuQztDQUFHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;;IAOhD,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
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;;IAOhD,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"}
|
package/dist/RequestContext.d.ts
CHANGED
|
@@ -23,15 +23,7 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
23
23
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
|
|
24
24
|
};
|
|
25
25
|
}>;
|
|
26
|
-
readonly name: S.WithDefaults<
|
|
27
|
-
readonly Type: NonEmptyString255;
|
|
28
|
-
readonly Iso: NonEmptyString255;
|
|
29
|
-
readonly "~type.make": NonEmptyString255;
|
|
30
|
-
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
31
|
-
readonly Type: NonEmptyString255;
|
|
32
|
-
readonly Iso: NonEmptyString255;
|
|
33
|
-
readonly "~type.make": NonEmptyString255;
|
|
34
|
-
};
|
|
26
|
+
readonly name: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
|
|
35
27
|
readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
36
28
|
changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
37
29
|
Default: A;
|
|
@@ -42,24 +34,8 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
42
34
|
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
43
35
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
44
36
|
};
|
|
45
|
-
readonly sourceId: S.optional<S.WithDefaults<
|
|
46
|
-
|
|
47
|
-
readonly Iso: NonEmptyString255;
|
|
48
|
-
readonly "~type.make": NonEmptyString255;
|
|
49
|
-
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
50
|
-
readonly Type: NonEmptyString255;
|
|
51
|
-
readonly Iso: NonEmptyString255;
|
|
52
|
-
readonly "~type.make": NonEmptyString255;
|
|
53
|
-
}>;
|
|
54
|
-
readonly namespace: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
55
|
-
readonly Type: NonEmptyString255;
|
|
56
|
-
readonly Iso: NonEmptyString255;
|
|
57
|
-
readonly "~type.make": NonEmptyString255;
|
|
58
|
-
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
59
|
-
readonly Type: NonEmptyString255;
|
|
60
|
-
readonly Iso: NonEmptyString255;
|
|
61
|
-
readonly "~type.make": NonEmptyString255;
|
|
62
|
-
};
|
|
37
|
+
readonly sourceId: S.optional<S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>>;
|
|
38
|
+
readonly namespace: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
|
|
63
39
|
/** @deprecated */
|
|
64
40
|
readonly userProfile: S.optional<S.Struct<{
|
|
65
41
|
readonly sub: S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
|
|
@@ -79,15 +55,7 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
79
55
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
|
|
80
56
|
};
|
|
81
57
|
}>;
|
|
82
|
-
readonly name: S.WithDefaults<
|
|
83
|
-
readonly Type: NonEmptyString255;
|
|
84
|
-
readonly Iso: NonEmptyString255;
|
|
85
|
-
readonly "~type.make": NonEmptyString255;
|
|
86
|
-
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
87
|
-
readonly Type: NonEmptyString255;
|
|
88
|
-
readonly Iso: NonEmptyString255;
|
|
89
|
-
readonly "~type.make": NonEmptyString255;
|
|
90
|
-
};
|
|
58
|
+
readonly name: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
|
|
91
59
|
readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
92
60
|
changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
93
61
|
Default: A;
|
|
@@ -98,24 +66,8 @@ declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encod
|
|
|
98
66
|
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
99
67
|
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
100
68
|
};
|
|
101
|
-
readonly sourceId: S.optional<S.WithDefaults<
|
|
102
|
-
|
|
103
|
-
readonly Iso: NonEmptyString255;
|
|
104
|
-
readonly "~type.make": NonEmptyString255;
|
|
105
|
-
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
106
|
-
readonly Type: NonEmptyString255;
|
|
107
|
-
readonly Iso: NonEmptyString255;
|
|
108
|
-
readonly "~type.make": NonEmptyString255;
|
|
109
|
-
}>;
|
|
110
|
-
readonly namespace: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
111
|
-
readonly Type: NonEmptyString255;
|
|
112
|
-
readonly Iso: NonEmptyString255;
|
|
113
|
-
readonly "~type.make": NonEmptyString255;
|
|
114
|
-
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
115
|
-
readonly Type: NonEmptyString255;
|
|
116
|
-
readonly Iso: NonEmptyString255;
|
|
117
|
-
readonly "~type.make": NonEmptyString255;
|
|
118
|
-
};
|
|
69
|
+
readonly sourceId: S.optional<S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>>;
|
|
70
|
+
readonly namespace: S.WithDefaults<import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>> & import("effect-app/Schema/brand").BrandedSchema<import("effect/Schema").NonEmptyString, NonEmptyString255>;
|
|
119
71
|
/** @deprecated */
|
|
120
72
|
readonly userProfile: S.optional<S.Struct<{
|
|
121
73
|
readonly sub: S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
|
|
@@ -146,4 +98,4 @@ export declare namespace RequestContext {
|
|
|
146
98
|
}
|
|
147
99
|
}
|
|
148
100
|
export {};
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXF1ZXN0Q29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVyRCxlQUFPLE1BQU0sTUFBTTs7Ozs7Ozs7O0NBQTJCLENBQUE7QUFDOUMsTUFBTSxNQUFNLE1BQU0sR0FBRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUE7O0FBRXZDLHFCQUFhLFNBQVUsU0FBUSxjQUFpRTtDQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWVqRyxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQWxCLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFicEIscUJBQWEsY0FBZSxTQUFRLG1CQWVqQztJQUdELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYztRQUVoRCxhQUFhO1FBQ2IsTUFBTTtNQUVUO0NBQ0Y7QUFFRCxlQUFPLE1BQU0sY0FBYyxRQUFTLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7Ozs7Ozs7Q0FnQnhHLENBQUE7QUFJRix5QkFBaUIsY0FBYyxDQUFDLENBQUM7SUFDL0IsVUFBaUIsT0FBUSxTQUFRLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLGNBQWMsQ0FBQztLQUFHO0NBQ2pGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,MAAM;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAiE;CAAG
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,MAAM;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAiE;CAAG;;;;;;;;;;;;;;;;;;;;;;;IAejG,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAlB,kBAAkB;;;;;;;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAejC;IAGD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;QAEhD,aAAa;QACb,MAAM;MAET;CACF;AAED,eAAO,MAAM,cAAc,QAAS,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAIF,yBAAiB,cAAc,CAAC,CAAC;IAC/B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO,cAAc,CAAC;KAAG;CACjF"}
|
|
@@ -2,7 +2,7 @@ export declare const InfraLogger: {
|
|
|
2
2
|
logWarning: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
|
|
3
3
|
logError: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
|
|
4
4
|
logFatal: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
|
|
5
|
-
logInfo: (...message:
|
|
5
|
+
logInfo: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
|
|
6
6
|
logDebug: (...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
|
|
7
7
|
logWithLevel: (level: import("effect/LogLevel").Severity, ...message: ReadonlyArray<any>) => import("effect/Effect").Effect<void, never, never>;
|
|
8
8
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Config, Effect, Layer, Schema } from "effect";
|
|
2
|
-
import { ConfigureInterruptibilityMiddleware, DevModeMiddleware,
|
|
2
|
+
import { ConfigureInterruptibilityMiddleware, DevModeMiddleware, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware";
|
|
3
3
|
import { RpcContextMap, type RpcMiddleware } from "effect-app/rpc";
|
|
4
4
|
import * as Context from "effect/Context";
|
|
5
5
|
import { type Rpc } from "effect/unstable/rpc";
|
|
@@ -10,17 +10,7 @@ export declare const RequestType: Context.Reference<"command" | "query">;
|
|
|
10
10
|
export declare const ConfigureInterruptibilityMiddlewareLive: Layer.Layer<ConfigureInterruptibilityMiddleware, never, never>;
|
|
11
11
|
export declare const LoggerMiddlewareLive: Layer.Layer<LoggerMiddleware, Config.ConfigError, never>;
|
|
12
12
|
export declare const DevModeMiddlewareLive: Layer.Layer<DevModeMiddleware, Config.ConfigError, never>;
|
|
13
|
-
|
|
14
|
-
* RPC middleware that:
|
|
15
|
-
* 1. Reads the `Invalidates` annotation and pre-populates `InvalidationSet` with static keys.
|
|
16
|
-
* 2. Creates a request-scoped `InvalidationSet` backed by a `Ref` and provides it to the handler.
|
|
17
|
-
* 3. For commands: wraps the result in `{ payload, metadata: { invalidateQueries } }` so that
|
|
18
|
-
* accumulated invalidation keys reach the client via the RPC response body.
|
|
19
|
-
* 4. For commands (V2): also wraps failures in `CommandFailureWithMetaData` so clients can
|
|
20
|
-
* invalidate queries even when a command fails.
|
|
21
|
-
*/
|
|
22
|
-
export declare const InvalidationMiddlewareLive: Layer.Layer<InvalidationMiddleware, never, never>;
|
|
23
|
-
export declare const DefaultGenericMiddlewaresLive: Layer.Layer<ConfigureInterruptibilityMiddleware | DevModeMiddleware | InvalidationMiddleware | LoggerMiddleware | RequestCacheMiddleware, Config.ConfigError, never>;
|
|
13
|
+
export declare const DefaultGenericMiddlewaresLive: Layer.Layer<ConfigureInterruptibilityMiddleware | DevModeMiddleware | LoggerMiddleware | RequestCacheMiddleware, Config.ConfigError, never>;
|
|
24
14
|
/**
|
|
25
15
|
* Config entry for `RequestContextMap` that controls per-RPC transaction wrapping.
|
|
26
16
|
* Defaults to `false` (no transaction). Set `requiresTransaction: true` on a route to enable.
|
|
@@ -52,4 +42,4 @@ export declare const makeSqlTransactionMiddleware: (rcm: {
|
|
|
52
42
|
readonly requiresTransaction?: boolean;
|
|
53
43
|
};
|
|
54
44
|
}) => Effect.Effect<RpcMiddleware.RpcMiddlewareV4<never, never, never>, never, WithNsTransaction>;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9yb3V0aW5nL21pZGRsZXdhcmUvbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdELE9BQU8sRUFBRSxtQ0FBbUMsRUFBVyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2pKLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUdsRSxPQUFPLEtBQUssT0FBTyxNQUFNLGdCQUFnQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBTXpELGVBQU8sTUFBTSxXQUFXLCtDQU12QixDQUFBO0FBRUQsZUFBTyxNQUFNLDBCQUEwQixtREFHdEMsQ0FBQTtBQUtELGVBQU8sTUFBTSxXQUFXLHdDQUd2QixDQUFBO0FBRUQsZUFBTyxNQUFNLHVDQUF1QyxnRUFjbkQsQ0FBQTtBQUVELGVBQU8sTUFBTSxvQkFBb0IsMERBMkRFLENBQUE7QUFFbkMsZUFBTyxNQUFNLHFCQUFxQiwyREFRQyxDQUFBO0FBRW5DLGVBQU8sTUFBTSw2QkFBNkIsNklBS3pDLENBQUE7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILGVBQU8sTUFBTSx5QkFBeUIsa0VBQWtELENBQUE7QUFFeEY7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsZUFBTyxNQUFNLDRCQUE0QjtlQUNyQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsWUFBWSxLQUFLO1FBQUUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQUU7aUdBU3ZGLENBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/api/routing/middleware/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7D,OAAO,EAAE,mCAAmC,EAAW,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACjJ,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGlE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAG9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAMzD,eAAO,MAAM,WAAW,+CAMvB,CAAA;AAED,eAAO,MAAM,0BAA0B,mDAGtC,CAAA;AAKD,eAAO,MAAM,WAAW,wCAGvB,CAAA;AAED,eAAO,MAAM,uCAAuC,gEAcnD,CAAA;AAED,eAAO,MAAM,oBAAoB,0DA2DE,CAAA;AAEnC,eAAO,MAAM,qBAAqB,2DAQC,CAAA;AAEnC,eAAO,MAAM,6BAA6B,6IAKzC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,kEAAkD,CAAA;AAExF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,4BAA4B;eACrB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,KAAK;QAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE;iGASvF,CAAA"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Cause, Config, Effect, Layer,
|
|
3
|
-
import { ConfigureInterruptibilityMiddleware, DevMode, DevModeMiddleware,
|
|
4
|
-
import {
|
|
2
|
+
import { Cause, Config, Effect, Layer, Schema } from "effect";
|
|
3
|
+
import { ConfigureInterruptibilityMiddleware, DevMode, DevModeMiddleware, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware";
|
|
4
|
+
import { RpcContextMap } from "effect-app/rpc";
|
|
5
5
|
import { pretty } from "effect-app/utils";
|
|
6
6
|
import * as Array from "effect/Array";
|
|
7
7
|
import * as Context from "effect/Context";
|
|
8
|
-
import { RpcSchema } from "effect/unstable/rpc";
|
|
9
8
|
import { logError, reportError } from "../../../errorReporter.js";
|
|
10
9
|
import { InfraLogger } from "../../../logger.js";
|
|
11
10
|
import { WithNsTransaction } from "../../../Store/SQL.js";
|
|
@@ -85,36 +84,7 @@ export const DevModeMiddlewareLive = Layer
|
|
|
85
84
|
return (effect) => Effect.provideService(effect, DevMode, devMode);
|
|
86
85
|
}))
|
|
87
86
|
.pipe(Layer.provide(DevModeLive));
|
|
88
|
-
|
|
89
|
-
* RPC middleware that:
|
|
90
|
-
* 1. Reads the `Invalidates` annotation and pre-populates `InvalidationSet` with static keys.
|
|
91
|
-
* 2. Creates a request-scoped `InvalidationSet` backed by a `Ref` and provides it to the handler.
|
|
92
|
-
* 3. For commands: wraps the result in `{ payload, metadata: { invalidateQueries } }` so that
|
|
93
|
-
* accumulated invalidation keys reach the client via the RPC response body.
|
|
94
|
-
* 4. For commands (V2): also wraps failures in `CommandFailureWithMetaData` so clients can
|
|
95
|
-
* invalidate queries even when a command fails.
|
|
96
|
-
*/
|
|
97
|
-
export const InvalidationMiddlewareLive = Layer.succeed(InvalidationMiddleware, (effect, { rpc }) => Ref
|
|
98
|
-
.make(Context.get(rpc.annotations, Invalidation.Invalidates))
|
|
99
|
-
.pipe(Effect.flatMap((keysRef) => {
|
|
100
|
-
const requestType = Context.get(rpc.annotations, RequestType);
|
|
101
|
-
const isCommand = requestType === "command";
|
|
102
|
-
const isStream = RpcSchema.isStreamSchema(rpc.successSchema);
|
|
103
|
-
const withSet = Effect.provideService(effect, Invalidation.InvalidationSet, Invalidation.makeInvalidationSet(keysRef));
|
|
104
|
-
// Stream resources handle their own invalidation wrapping in routing.ts
|
|
105
|
-
// (per-chunk { _tag: "value"|"metadata"|"done" } envelope).
|
|
106
|
-
if (!isCommand || isStream)
|
|
107
|
-
return withSet;
|
|
108
|
-
return withSet.pipe(Effect.flatMap((value) => Ref.get(keysRef).pipe(Effect.map((keys) => ({ payload: value, metadata: { invalidateQueries: keys } })))),
|
|
109
|
-
// V2: wrap command failures with metadata so the client can invalidate
|
|
110
|
-
// queries even when the command fails.
|
|
111
|
-
Effect.catch((err) => Ref.get(keysRef).pipe(Effect.flatMap((keys) => Effect.fail({
|
|
112
|
-
_tag: "CommandFailureWithMetaData",
|
|
113
|
-
error: err,
|
|
114
|
-
metadata: { invalidateQueries: keys }
|
|
115
|
-
})))));
|
|
116
|
-
})));
|
|
117
|
-
export const DefaultGenericMiddlewaresLive = Layer.mergeAll(RequestCacheMiddlewareLive, ConfigureInterruptibilityMiddlewareLive, LoggerMiddlewareLive, DevModeMiddlewareLive, InvalidationMiddlewareLive);
|
|
87
|
+
export const DefaultGenericMiddlewaresLive = Layer.mergeAll(RequestCacheMiddlewareLive, ConfigureInterruptibilityMiddlewareLive, LoggerMiddlewareLive, DevModeMiddlewareLive);
|
|
118
88
|
/**
|
|
119
89
|
* Config entry for `RequestContextMap` that controls per-RPC transaction wrapping.
|
|
120
90
|
* Defaults to `false` (no transaction). Set `requiresTransaction: true` on a route to enable.
|
|
@@ -151,4 +121,4 @@ export const makeSqlTransactionMiddleware = Effect.fnUntraced(function* (rcm) {
|
|
|
151
121
|
};
|
|
152
122
|
return mw;
|
|
153
123
|
});
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9taWRkbGV3YXJlL21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQzdELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNqSixPQUFPLEVBQUUsYUFBYSxFQUFzQixNQUFNLGdCQUFnQixDQUFBO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssT0FBTyxNQUFNLGdCQUFnQixDQUFBO0FBRXpDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBRXpELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUMzQyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUVqRCx3REFBd0Q7QUFDeEQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQ3JDLE9BQU8sRUFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUNsQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElB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
|
package/dist/api/routing.d.ts
CHANGED
|
@@ -134,4 +134,4 @@ export type MakeHandlers<Make, _Handlers extends Record<string, any>> = Make ext
|
|
|
134
134
|
export type MakeDepsE<Make> = Layer.Error<MakeDeps<Make>>;
|
|
135
135
|
export type MakeDepsIn<Make> = Layer.Services<MakeDeps<Make>>;
|
|
136
136
|
export type MakeDepsOut<Make> = Layer.Success<MakeDeps<Make>>;
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9yb3V0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUE4QyxDQUFDLEVBQUUsS0FBSyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXJILE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWxELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF1QixLQUFLLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQzdHLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXJELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFZLEtBQUssZ0JBQWdCLEVBQWEsTUFBTSxxQkFBcUIsQ0FBQTtBQUVyRixPQUFPLEVBQXdDLEtBQUssZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVyRyxjQUFjLHlCQUF5QixDQUFBO0FBRXZDLGVBQU8sTUFBTSxnQ0FBZ0MsR0FBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFDekMsU0FBUyxHQUFHLE9BQU8sVUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxpRUFDcUMsQ0FBQTtBQUlyRSxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRztJQUNyQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0lBQ1osSUFBSSxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUE7SUFDekIsTUFBTSxFQUFFLE9BQU8sQ0FBQTtJQUNmLE1BQU0sRUFBRSxHQUFHLENBQUE7SUFDWCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNkLEtBQUssRUFBRSxDQUFDLENB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RUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7Q0FBRSxHQUFHLENBQUMsR0FDOUYsS0FBSyxDQUFBO0FBRVgsTUFBTSxNQUFNLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBSWxFLElBQUksU0FBUztJQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtDQUFFLEdBQUcsQ0FBQyxHQUNyRSxLQUFLLENBQUE7QUFFWCxNQUFNLE1BQU0sU0FBUyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBRXpELE1BQU0sTUFBTSxVQUFVLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFFN0QsTUFBTSxNQUFNLFdBQVcsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSJ9
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9yb3V0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBVSxNQUFNLEVBQUUsS0FBSyxFQUE4QyxDQUFDLEVBQUUsS0FBSyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXJILE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWxELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF1QixLQUFLLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQzdHLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXJELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFZLEtBQUssZ0JBQWdCLEVBQWEsTUFBTSxxQkFBcUIsQ0FBQTtBQUVyRixPQUFPLEVBQXdDLEtBQUssZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVyRyxjQUFjLHlCQUF5QixDQUFBO0FBRXZDLGVBQU8sTUFBTSxnQ0FBZ0MsR0FBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFDekMsU0FBUyxHQUFHLE9BQU8sVUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxpRUFDcUMsQ0FBQTtBQUlyRSxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRztJQUNyQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0lBQ1osSUFBSSxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUE7SUFDekIsTUFBTSxFQUFFLE9BQU8sQ0FBQTtJQUNmLE1BQU0sRUFBRSxHQUFHLENBQUE7SUFDWCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNkLEtBQUssRUFBRSxDQUFDLENB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RUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7Q0FBRSxHQUFHLENBQUMsR0FDOUYsS0FBSyxDQUFBO0FBRVgsTUFBTSxNQUFNLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBSWxFLElBQUksU0FBUztJQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtDQUFFLEdBQUcsQ0FBQyxHQUNyRSxLQUFLLENBQUE7QUFFWCxNQUFNLE1BQU0sU0FBUyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBRXpELE1BQU0sTUFBTSxVQUFVLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFFN0QsTUFBTSxNQUFNLFdBQVcsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSJ9
|