@effect-app/infra 1.38.0 → 1.40.0

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.
@@ -49,8 +49,6 @@ export const makeRouter = (middleware, devMode) => {
49
49
  const rpc = makeRpc(middleware);
50
50
  function matchFor(rsc) {
51
51
  const meta = rsc.meta;
52
- if (!meta)
53
- throw new Error("Resource has no meta specified"); // TODO: do something with moduleName+cur etc.
54
52
  const filtered = typedKeysOf(rsc).reduce((acc, cur) => {
55
53
  if (Predicate.isObject(rsc[cur]) && rsc[cur]["success"]) {
56
54
  acc[cur] = rsc[cur];
@@ -124,7 +122,7 @@ export const makeRouter = (middleware, devMode) => {
124
122
  return acc;
125
123
  }, {});
126
124
  const rpcRouter = RpcRouter.make(...Object.values(mapped));
127
- const r = (class Router extends HttpRouter.Tag(meta.moduleName + "Router")() {
125
+ const r = (class Router extends HttpRouter.Tag(`${meta.moduleName}Router`)() {
128
126
  });
129
127
  const layer = r.use((router) => Effect.gen(function* () {
130
128
  const httpApp = toHttpApp(rpcRouter, {
@@ -147,7 +145,98 @@ export const makeRouter = (middleware, devMode) => {
147
145
  routes
148
146
  };
149
147
  };
148
+ const effect = (layers, make) => {
149
+ const r = (class Router extends HttpRouter.Tag(`${meta.moduleName}Router`)() {
150
+ });
151
+ const layer = r.use((router) => Effect.gen(function* () {
152
+ const controllers = yield* make;
153
+ // return make.pipe(Effect.map((c) => controllers(c, layers)))
154
+ const mapped = typedKeysOf(filtered).reduce((acc, cur) => {
155
+ const handler = controllers[cur];
156
+ const req = rsc[cur];
157
+ acc[cur] = rpc.effect(handler._tag === "raw"
158
+ ? class extends req {
159
+ static success = S.encodedSchema(req.success);
160
+ get [Serializable.symbol]() {
161
+ return this.constructor;
162
+ }
163
+ get [Serializable.symbolResult]() {
164
+ return {
165
+ failure: req.failure,
166
+ success: S.encodedSchema(req.success)
167
+ };
168
+ }
169
+ }
170
+ : req, (req) => Effect
171
+ .annotateCurrentSpan("requestInput", Object.entries(req).reduce((prev, [key, value]) => {
172
+ prev[key] = key === "password"
173
+ ? "<redacted>"
174
+ : typeof value === "string" || typeof value === "number" || typeof value === "boolean"
175
+ ? typeof value === "string" && value.length > 256
176
+ ? (value.substring(0, 253) + "...")
177
+ : value
178
+ : Array.isArray(value)
179
+ ? `Array[${value.length}]`
180
+ : value === null || value === undefined
181
+ ? `${value}`
182
+ : typeof value === "object" && value
183
+ ? `Object[${Object.keys(value).length}]`
184
+ : typeof value;
185
+ return prev;
186
+ }, {}))
187
+ .pipe(
188
+ // can't use andThen due to some being a function and effect
189
+ Effect.zipRight(handler.handler(req)), Effect.tapErrorCause((cause) => Cause.isFailure(cause) ? logRequestError(cause) : Effect.void), Effect.tapDefect((cause) => Effect
190
+ .all([
191
+ reportRequestError(cause, {
192
+ action: `${meta.moduleName}.${req._tag}`
193
+ }),
194
+ Rpc.currentHeaders.pipe(Effect.andThen((headers) => {
195
+ return InfraLogger
196
+ .logError("Finished request", cause)
197
+ .pipe(Effect.annotateLogs({
198
+ action: `${meta.moduleName}.${req._tag}`,
199
+ req: pretty(req),
200
+ headers: pretty(headers)
201
+ // resHeaders: pretty(
202
+ // Object
203
+ // .entries(headers)
204
+ // .reduce((prev, [key, value]) => {
205
+ // prev[key] = value && typeof value === "string" ? snipString(value) : value
206
+ // return prev
207
+ // }, {} as Record<string, any>)
208
+ // )
209
+ }));
210
+ }))
211
+ ])), devMode ? (_) => _ : Effect.catchAllDefect(() => Effect.die("Internal Server Error")), Effect.withSpan("Request." + meta.moduleName + "." + req._tag, {
212
+ captureStackTrace: () => handler.stack
213
+ })), meta.moduleName); // TODO
214
+ return acc;
215
+ }, {});
216
+ const rpcRouter = RpcRouter.make(...Object.values(mapped));
217
+ const httpApp = toHttpApp(rpcRouter, {
218
+ spanPrefix: rsc
219
+ .meta
220
+ .moduleName + "."
221
+ });
222
+ const services = (yield* Effect.context()).pipe(Context.omit(Scope.Scope), Context.omit(Tracer.ParentSpan));
223
+ yield* router
224
+ .all("/", (httpApp
225
+ .pipe(HttpMiddleware.make(Effect.provide(services)))),
226
+ // TODO: not queries.
227
+ { uninterruptible: true });
228
+ }));
229
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
230
+ const routes = layer.pipe(Layer.provideMerge(r.Live), layers ? Layer.provide(layers) : (_) => _);
231
+ // Effect.Effect<HttpRouter.HttpRouter<unknown, HttpRouter.HttpRouter.DefaultServices>, never, UserRouter>
232
+ return {
233
+ moduleName: meta.moduleName,
234
+ Router: r,
235
+ routes
236
+ };
237
+ };
150
238
  const r = {
239
+ effect,
151
240
  controllers,
152
241
  ...typedKeysOf(filtered).reduce((prev, cur) => {
153
242
  ;
@@ -218,4 +307,4 @@ export const makeRouter = (middleware, devMode) => {
218
307
  }
219
308
  return { matchAll, matchFor };
220
309
  };
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3JvdXRpbmcyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUMxRCw0REFBNEQ7QUFDNUQsdURBQXVEO0FBQ3ZEOzs7RUFHRTtBQUNGLE9BQU8sRUFBRSxRQUFRLEVBQTRDLE1BQU0seUJBQXlCLENBQUE7QUFDNUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFHM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUd0SCxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25HLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFeEQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBZWpEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUEwQyxJQUFPLEVBQUUsT0FFM0UsRUFHQyxFQUFFO0lB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
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3JvdXRpbmcyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUMxRCw0REFBNEQ7QUFDNUQsdURBQXVEO0FBQ3ZEOzs7RUFHRTtBQUNGLE9BQU8sRUFBRSxRQUFRLEVBQTRDLE1BQU0seUJBQXlCLENBQUE7QUFDNUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFHM0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRTdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUd0SCxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ25HLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFeEQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBZWpEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUEwQyxJQUFPLEVBQUUsT0FFM0UsRUFHQyxFQUFFO0lB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
@@ -1,4 +1,4 @@
1
- import type { RequestFiberSet } from "@effect-app/infra-adapters/RequestFiberSet";
1
+ import { RequestFiberSet } from "@effect-app/infra-adapters/RequestFiberSet";
2
2
  import { NonEmptyString2k } from "@effect-app/schema";
3
3
  import type { Fiber } from "effect-app";
4
4
  import { Context, Effect, Layer, Option, S } from "effect-app";
@@ -9,35 +9,50 @@ import { OperationsRepo } from "./OperationsRepo.js";
9
9
  declare const Operations_base: (abstract new (service: {
10
10
  cleanup: Effect.Effect<void[], never, never>;
11
11
  register: (title: NonEmptyString2k) => Effect.Effect<S.StringId, never, Scope.Scope>;
12
+ fork: <R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>, title: NonEmptyString2k) => Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
13
+ fork2: {
14
+ (title: NonEmptyString2k): <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>) => Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
15
+ <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>, title: NonEmptyString2k): Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
16
+ };
12
17
  all: Effect<Operation[]>;
13
18
  find: (id: OperationId) => Effect<Option<Operation>>;
14
19
  update: (id: OperationId, progress: OperationProgress) => Effect.Effect<void, never, never>;
15
20
  }) => Readonly<{
16
21
  cleanup: Effect.Effect<void[], never, never>;
17
22
  register: (title: NonEmptyString2k) => Effect.Effect<S.StringId, never, Scope.Scope>;
23
+ fork: <R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>, title: NonEmptyString2k) => Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
24
+ fork2: {
25
+ (title: NonEmptyString2k): <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>) => Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
26
+ <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>, title: NonEmptyString2k): Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
27
+ };
18
28
  all: Effect<Operation[]>;
19
29
  find: (id: OperationId) => Effect<Option<Operation>>;
20
30
  update: (id: OperationId, progress: OperationProgress) => Effect.Effect<void, never, never>;
21
31
  }> & Context.TagClassShape<"effect-app/Operations", {
22
32
  cleanup: Effect.Effect<void[], never, never>;
23
33
  register: (title: NonEmptyString2k) => Effect.Effect<S.StringId, never, Scope.Scope>;
34
+ fork: <R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>, title: NonEmptyString2k) => Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
35
+ fork2: {
36
+ (title: NonEmptyString2k): <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>) => Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
37
+ <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>, title: NonEmptyString2k): Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope>>;
38
+ };
24
39
  all: Effect<Operation[]>;
25
40
  find: (id: OperationId) => Effect<Option<Operation>>;
26
41
  update: (id: OperationId, progress: OperationProgress) => Effect.Effect<void, never, never>;
27
42
  }>) & {
28
43
  toLayer: {
29
- (): Layer<Operations, never, OperationsRepo>;
44
+ (): Layer<Operations, never, OperationsRepo | RequestFiberSet>;
30
45
  <E_1, R_1>(eff: Effect<Omit<Operations, keyof Context.TagClassShape<any, any>>, E_1, R_1>): Layer<Operations, E_1, R_1>;
31
46
  };
32
47
  toLayerScoped: {
33
- (): Layer<Operations, never, OperationsRepo>;
48
+ (): Layer<Operations, never, OperationsRepo | RequestFiberSet>;
34
49
  <E_1, R_2>(eff: Effect<Context.TagClassShape<any, any>, E_1, R_2>): Layer<Operations, E_1, Exclude<R_2, Scope.Scope>>;
35
50
  };
36
51
  of: (service: Context.TagClassShape<any, any>) => Operations;
37
- make: Effect<Operations, never, OperationsRepo>;
52
+ make: Effect<Operations, never, OperationsRepo | RequestFiberSet>;
38
53
  } & Context.Tag<Operations, Operations> & {
39
54
  cleanup: Effect<void[], never, Operations>;
40
- register: (title: NonEmptyString2k) => Effect<S.StringId, never, Scope.Scope | Operations>;
55
+ register: (title: NonEmptyString2k) => Effect<S.StringId, never, Operations | Scope.Scope>;
41
56
  all: Effect<Operation[], never, Operations>;
42
57
  find: (id: S.StringId) => Effect<Option<Operation>, never, Operations>;
43
58
  update: (id: S.StringId, progress: OperationProgress) => Effect<void, never, Operations>;
@@ -45,10 +60,15 @@ declare const Operations_base: (abstract new (service: {
45
60
  use: <X>(body: (_: {
46
61
  cleanup: Effect.Effect<void[], never, never>;
47
62
  register: (title: NonEmptyString2k) => Effect.Effect<S.StringId, never, Scope.Scope>;
63
+ fork: <R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>, title: NonEmptyString2k) => Effect<RunningOperation<A, E>, never, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
64
+ fork2: {
65
+ (title: NonEmptyString2k): <R, E_1, A_1>(self: (opId: OperationId) => Effect<A_1, E_1, R>) => Effect<RunningOperation<A_1, E_1>, never, Exclude<R, Scope.Scope>>;
66
+ <R, E_2, A_2>(self: (opId: OperationId) => Effect<A_2, E_2, R>, title: NonEmptyString2k): Effect<RunningOperation<A_2, E_2>, never, Exclude<R, Scope.Scope>>;
67
+ };
48
68
  all: Effect<Operation[]>;
49
69
  find: (id: OperationId) => Effect<Option<Operation>>;
50
70
  update: (id: OperationId, progress: OperationProgress) => Effect.Effect<void, never, never>;
51
- }) => X) => X extends Effect<infer A_1, infer E_2, infer R_4> ? Effect<A_1, E_2, R_4 | Operations> : Effect<X, never, Operations>;
71
+ }) => X) => X extends Effect<infer A_1_1, infer E_2_1, infer R_4> ? Effect<A_1_1, E_2_1, Operations | R_4> : Effect<X, never, Operations>;
52
72
  };
53
73
  export declare class Operations extends Operations_base {
54
74
  private static readonly CleanupLive;
@@ -63,10 +83,5 @@ export declare const forkOperation: {
63
83
  <R, E, A>(self: Effect<A, E, R>, title: NonEmptyString2k): Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope>>;
64
84
  };
65
85
  export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<A, E, R>, title: NonEmptyString2k): (inp: Inp) => Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope>>;
66
- export declare const forkOperation2: {
67
- (title: NonEmptyString2k): <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>) => Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope>>;
68
- <R, E, A>(self: (opId: OperationId) => Effect<A, E, R>, title: NonEmptyString2k): Effect<RunningOperation<A, E>, never, Operations | Exclude<R, Scope.Scope>>;
69
- };
70
- export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>, title: NonEmptyString2k): Effect<RunningOperation<A, E>, never, Operations | RequestFiberSet | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
71
86
  export {};
72
87
  //# sourceMappingURL=Operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/services/Operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/services/Operations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { annotateLogscoped, flatMap } from "@effect-app/core/Effect";
1
+ import { annotateLogscoped } from "@effect-app/core/Effect";
2
2
  import { dual, pipe } from "@effect-app/core/Function";
3
+ import { RequestFiberSet } from "@effect-app/infra-adapters/RequestFiberSet";
3
4
  import { reportError } from "@effect-app/infra/errorReporter";
4
5
  import { NonEmptyString2k } from "@effect-app/schema";
5
6
  import { subHours } from "date-fns";
@@ -14,7 +15,9 @@ import { where } from "./query.js";
14
15
  const reportAppError = reportError("Operations.Cleanup");
15
16
  const make = Effect.gen(function* () {
16
17
  const repo = yield* OperationsRepo;
18
+ const reqFiberSet = yield* RequestFiberSet;
17
19
  const makeOp = Effect.sync(() => OperationId.make());
20
+ const register = (title) => Effect.tap(makeOp, (id) => Effect.andThen(annotateLogscoped("operationId", id), Effect.acquireRelease(addOp(id, title), (_, exit) => finishOp(id, exit))));
18
21
  const cleanup = Effect.sync(() => subHours(new Date(), 1)).pipe(Effect.andThen((before) => repo.query(where("updatedAt", "lt", before.toISOString()))), Effect.andThen((ops) => pipe(ops, batch(100, Effect.succeed, (items) => repo.removeAndPublish(items)))), Effect.withSpan("Operations.cleanup"));
19
22
  function addOp(id, title) {
20
23
  return repo.save(new Operation({ id, title })).pipe(Effect.orDie);
@@ -46,9 +49,22 @@ const make = Effect.gen(function* () {
46
49
  function update(id, progress) {
47
50
  return Effect.flatMap(repo.get(id).pipe(Effect.orDie), (_) => repo.save(copy(_, { updatedAt: new Date(), progress })).pipe(Effect.orDie));
48
51
  }
52
+ function fork(self, fnc, title) {
53
+ return Effect
54
+ .flatMap(Scope.make(), (scope) => register(title)
55
+ .pipe(Scope.extend(scope), Effect.flatMap((id) => forkDaemonReportRequestUnexpected(Scope.use(self(id).pipe(Effect.withSpan(title)), scope))
56
+ .pipe(Effect.map((fiber) => ({ fiber, id })))), Effect.tap(({ id }) => Effect.interruptible(fnc(id)).pipe(Effect.forkScoped, Scope.extend(scope)))))
57
+ .pipe(Effect.provideService(RequestFiberSet, reqFiberSet));
58
+ }
59
+ const fork2 = dual(2, (self, title) => Effect.flatMap(Scope.make(), (scope) => register(title)
60
+ .pipe(Scope.extend(scope), Effect
61
+ .flatMap((id) => forkDaemonReportRequestUnexpected(Scope.use(self(id).pipe(Effect.withSpan(title)), scope))
62
+ .pipe(Effect.map((fiber) => ({ fiber, id })))))));
49
63
  return {
50
64
  cleanup,
51
- register: (title) => Effect.tap(makeOp, (id) => Effect.andThen(annotateLogscoped("operationId", id), Effect.acquireRelease(addOp(id, title), (_, exit) => finishOp(id, exit)))),
65
+ register,
66
+ fork,
67
+ fork2,
52
68
  all: repo.all,
53
69
  find: findOp,
54
70
  update
@@ -66,7 +82,7 @@ export class Operations extends Context.TagMakeId("effect-app/Operations", make)
66
82
  }
67
83
  }), Effect.schedule(Schedule.fixed(Duration.minutes(20))), Effect.map((_) => _), MainFiberSet.run))
68
84
  .pipe(Layer.effectDiscard, Layer.provide(MainFiberSet.Live));
69
- static Live = this.CleanupLive.pipe(Layer.provideMerge(this.toLayer()));
85
+ static Live = this.CleanupLive.pipe(Layer.provideMerge(this.toLayer()), Layer.provide(RequestFiberSet.Live));
70
86
  }
71
87
  export const forkOperation = dual(2, (self, title) => Effect.flatMap(Scope.make(), (scope) => Operations
72
88
  .register(title)
@@ -76,15 +92,4 @@ export const forkOperation = dual(2, (self, title) => Effect.flatMap(Scope.make(
76
92
  export function forkOperationFunction(fnc, title) {
77
93
  return (inp) => fnc(inp).pipe((_) => forkOperation(_, title));
78
94
  }
79
- export const forkOperation2 = dual(2, (self, title) => flatMap(Operations, (Operations) => Effect.flatMap(Scope.make(), (scope) => Operations
80
- .register(title)
81
- .pipe(Scope.extend(scope), Effect
82
- .flatMap((id) => forkDaemonReportRequestUnexpected(Scope.use(self(id).pipe(Effect.withSpan(title)), scope))
83
- .pipe(Effect.map((fiber) => ({ fiber, id }))))))));
84
- export function forkOperationWithEffect(self, fnc, title) {
85
- return Effect.flatMap(Operations, (Operations) => Effect.flatMap(Scope.make(), (scope) => Operations
86
- .register(title)
87
- .pipe(Scope.extend(scope), Effect.flatMap((id) => forkDaemonReportRequestUnexpected(Scope.use(self(id).pipe(Effect.withSpan(title)), scope))
88
- .pipe(Effect.map((fiber) => ({ fiber, id })))), Effect.tap(({ id }) => Effect.interruptible(fnc(id)).pipe(Effect.forkScoped, Scope.extend(scope))))));
89
- }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9PcGVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRW5DLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUMvRCxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUE7QUFFeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FB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
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9PcGVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRW5DLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUMvRCxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUE7QUFFeEQs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
@@ -26,7 +26,7 @@ export declare function byIdAndSaveWithPure<T extends {
26
26
  id: unknown;
27
27
  }, Encoded extends {
28
28
  id: string;
29
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | NotFoundError<ItemType>, Exclude<R, {
29
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | E | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType>, Exclude<R, {
30
30
  env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
31
31
  }>>;
32
32
  /**
@@ -39,7 +39,7 @@ export declare function handleByIdAndSaveWithPure<T extends {
39
39
  id: string;
40
40
  }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): <Req extends {
41
41
  id: T["id"];
42
- }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | NotFoundError<ItemType>, Exclude<R, {
42
+ }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | E | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType>, Exclude<R, {
43
43
  env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
44
44
  }>>;
45
45
  /**
@@ -49,7 +49,7 @@ export declare function saveManyWithPure_<R, T extends {
49
49
  id: unknown;
50
50
  }, Encoded extends {
51
51
  id: string;
52
- }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException, Exclude<R, {
52
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | E | import("effect-app/client/errors").InvalidStateError, Exclude<R, {
53
53
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
54
54
  }>>;
55
55
  /**
@@ -59,14 +59,14 @@ export declare function saveWithPure_<R, T extends {
59
59
  id: unknown;
60
60
  }, Encoded extends {
61
61
  id: string;
62
- }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, Exclude<R, {
62
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
63
63
  env: import("effect-app/Pure").PureEnv<Evt, S1, S2>;
64
64
  }>>;
65
65
  export declare function saveAllWithEffectInt<T extends {
66
66
  id: unknown;
67
67
  }, Encoded extends {
68
68
  id: string;
69
- }, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException, R>;
69
+ }, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | E | import("effect-app/client/errors").InvalidStateError, R>;
70
70
  /**
71
71
  * @tsplus fluent Repository saveManyWithPureBatched
72
72
  */
@@ -74,7 +74,7 @@ export declare function saveManyWithPureBatched<T extends {
74
74
  id: unknown;
75
75
  }, Encoded extends {
76
76
  id: string;
77
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>) => (items: Iterable<S1>) => Effect.Effect<A[], import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, Exclude<R, {
77
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>) => (items: Iterable<S1>) => Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
78
78
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
79
79
  }>>;
80
80
  /**
@@ -84,7 +84,7 @@ export declare function saveManyWithPureBatched_<R, T extends {
84
84
  id: unknown;
85
85
  }, Encoded extends {
86
86
  id: string;
87
- }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batchSize?: number): Effect.Effect<A[], import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, Exclude<R, {
87
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batchSize?: number): Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
88
88
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
89
89
  }>>;
90
90
  /**
@@ -94,7 +94,7 @@ export declare function save<T extends {
94
94
  id: unknown;
95
95
  }, Encoded extends {
96
96
  id: string;
97
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException>;
97
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
98
98
  /**
99
99
  * @tsplus getter Repository saveWithEvents
100
100
  */
@@ -102,7 +102,7 @@ export declare function saveWithEvents<T extends {
102
102
  id: unknown;
103
103
  }, Encoded extends {
104
104
  id: string;
105
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException>;
105
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
106
106
  /**
107
107
  * @tsplus fluent Repository updateWithEffect
108
108
  */
@@ -110,7 +110,7 @@ export declare function itemUpdateWithEffect<R, E, T extends {
110
110
  id: string;
111
111
  }, Encoded extends {
112
112
  id: string;
113
- }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => Effect<T, E, R>): Effect.Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E | NotFoundError<ItemType>, R>;
113
+ }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => Effect<T, E, R>): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, R>;
114
114
  /**
115
115
  * @tsplus fluent Repository update
116
116
  */
@@ -118,7 +118,7 @@ export declare function itemUpdate<T extends {
118
118
  id: string;
119
119
  }, Encoded extends {
120
120
  id: string;
121
- }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | NotFoundError<ItemType>, never>;
121
+ }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType>, never>;
122
122
  /**
123
123
  * only use this as a shortcut if you don't have the item already
124
124
  * @tsplus fluent Repository removeById
@@ -88,8 +88,8 @@ export declare class RepositoryBaseC3<T extends {
88
88
  get(id: T["id"]): Effect.Effect<T, NotFoundError<ItemType>, never>;
89
89
  readonly log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
90
90
  removeById(id: T["id"]): Effect.Effect<void, NotFoundError<ItemType>, never>;
91
- readonly save: (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
92
- readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
91
+ readonly save: (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError>;
92
+ readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError>;
93
93
  readonly queryAndSavePure: {
94
94
  <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Exclude<R2, {
95
95
  env: PureEnv<Evt, T, T2>;
@@ -106,7 +106,7 @@ export declare class RepositoryBaseC3<T extends {
106
106
  */
107
107
  readonly handleByIdAndSaveWithPure: <Req extends {
108
108
  id: T["id"];
109
- }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E, Exclude<R, {
109
+ }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | NotFoundError<ItemType> | E, Exclude<R, {
110
110
  env: PureEnv<Evt, T, S2>;
111
111
  }>>;
112
112
  saveManyWithPure: {
@@ -122,7 +122,7 @@ export declare class RepositoryBaseC3<T extends {
122
122
  env: PureEnv<Evt, T, S2>;
123
123
  }>>;
124
124
  };
125
- saveWithPure<R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
125
+ saveWithPure<R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E, Exclude<R, {
126
126
  env: PureEnv<Evt, S1, S2>;
127
127
  }>>;
128
128
  }
@@ -145,7 +145,7 @@ export declare function makeRepo<Evt = never>(): <ItemType extends string, R, En
145
145
  config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
146
146
  partitionValue?: (a: Encoded) => string;
147
147
  };
148
- }) => Effect.Effect<Repository<T, Encoded, Evt, ItemType>, E, R | StoreMaker | ContextMapContainer | RInitial | R2>;
148
+ }) => Effect.Effect<Repository<T, Encoded, Evt, ItemType>, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
149
149
  Q: Query<Encoded>;
150
150
  };
151
151
  export declare function makeStore<Encoded extends {
@@ -156,7 +156,7 @@ export declare function makeStore<Encoded extends {
156
156
  id: unknown;
157
157
  }>(name: ItemType, schema: S.Schema<T, E, R>, mapTo: (e: E, etag: string | undefined) => Encoded) => <RInitial = never, EInitial = never>(makeInitial?: Effect<readonly T[], EInitial, RInitial>, config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
158
158
  partitionValue?: (a: Encoded) => string;
159
- }) => Effect.Effect<import("./Store.js").Store<Encoded, string, PersistenceModelType<Encoded>>, EInitial, R | StoreMaker | RInitial>;
159
+ }) => Effect.Effect<import("./Store.js").Store<Encoded, string, PersistenceModelType<Encoded>>, EInitial, StoreMaker | R | RInitial>;
160
160
  export interface Repos<T extends {
161
161
  id: unknown;
162
162
  }, Encoded extends {
@@ -14,7 +14,7 @@ export declare const toFilter: <TFieldValues extends FieldValues, A, R>(q: QAll<
14
14
  key: import("../../filter/types/path/eager.js").Path<TFieldValues>;
15
15
  direction: "ASC" | "DESC";
16
16
  }[]];
17
- ttype: "one" | "count" | "many";
17
+ ttype: "many" | "count" | "one";
18
18
  mode: "project" | "collect" | "transform";
19
19
  filter: FilterResult[];
20
20
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "1.38.0",
3
+ "version": "1.40.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -21,9 +21,9 @@
21
21
  "pure-rand": "6.1.0",
22
22
  "redlock": "^4.2.0",
23
23
  "@effect-app/core": "1.17.0",
24
+ "@effect-app/infra-adapters": "1.19.0",
24
25
  "effect-app": "1.28.0",
25
- "@effect-app/schema": "1.19.0",
26
- "@effect-app/infra-adapters": "1.19.0"
26
+ "@effect-app/schema": "1.19.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@babel/cli": "^7.25.7",
@@ -180,11 +180,13 @@ export const makeRouter = <Context, CTXMap extends Record<string, RPCContextMap.
180
180
  devMode: boolean
181
181
  ) => {
182
182
  const rpc = makeRpc(middleware)
183
- function matchFor<Rsc extends Record<string, any> & { meta: { moduleName: string } }>(
184
- rsc: Rsc
183
+ function matchFor<
184
+ const ModuleName extends string,
185
+ const Rsc extends Record<string, any>
186
+ >(
187
+ rsc: Rsc & { meta: { moduleName: ModuleName } }
185
188
  ) {
186
- const meta = (rsc as any).meta as { moduleName: string }
187
- if (!meta) throw new Error("Resource has no meta specified") // TODO: do something with moduleName+cur etc.
189
+ const meta = rsc.meta
188
190
 
189
191
  type Filtered = Filter<Rsc>
190
192
  const filtered = typedKeysOf(rsc).reduce((acc, cur) => {