@effect-app/infra 2.54.5 → 2.55.1

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.
@@ -11,6 +11,7 @@ import type { GetEffectContext, RPCContextMap } from "effect-app/client/req"
11
11
  import { type HttpHeaders, HttpRouter } from "effect-app/http"
12
12
  import { pretty, typedKeysOf, typedValuesOf } from "effect-app/utils"
13
13
  import type { Contravariant } from "effect/Types"
14
+ import { type YieldWrap } from "effect/Utils"
14
15
  import { makeRpc, type Middleware } from "./routing/DynamicMiddleware.js"
15
16
 
16
17
  const logRequestError = logError("Request")
@@ -204,6 +205,7 @@ export const makeRouter = <
204
205
  const items = typedKeysOf(filtered).reduce(
205
206
  (prev, cur) => {
206
207
  ;(prev as any)[cur] = Object.assign((fnOrEffect: any) => {
208
+ if (fnOrEffect[Symbol.toStringTag] === "GeneratorFunction") fnOrEffect = Effect.fnUntraced(fnOrEffect)
207
209
  const stack = new Error().stack?.split("\n").slice(2).join("\n")
208
210
  return Effect.isEffect(fnOrEffect)
209
211
  ? class {
@@ -265,6 +267,86 @@ export const makeRouter = <
265
267
  ? { [k in keyof Layers]: Layer.Layer.Error<Layers[k]> }[number]
266
268
  : never
267
269
 
270
+ const total = Object.keys(filtered).length
271
+ const router: AddAction<Filtered[keyof Filtered]> = {
272
+ accum: {},
273
+ add(a: any) {
274
+ ;(this.accum as any)[a.request._tag] = a
275
+ ;(this as any)[a.request._tag] = a
276
+ if (Object.keys(this.accum).length === total) return this.accum as any
277
+ return this as any
278
+ }
279
+ }
280
+
281
+ type HndlrWithInputG<
282
+ Action extends AnyRequestModule,
283
+ Mode extends "d" | "raw"
284
+ > = (
285
+ req: S.Schema.Type<Action>
286
+ ) => Generator<
287
+ YieldWrap<Effect<any, S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError, any>>,
288
+ GetSuccessShape<Action, Mode>,
289
+ never
290
+ >
291
+
292
+ type HndlrWithInput<Action extends AnyRequestModule, Mode extends "d" | "raw"> = (
293
+ req: S.Schema.Type<Action>
294
+ ) => Effect<
295
+ GetSuccessShape<Action, Mode>,
296
+ S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError,
297
+ any
298
+ >
299
+
300
+ type Hndlr<Action extends AnyRequestModule, Mode extends "d" | "raw"> = Effect<
301
+ GetSuccessShape<Action, Mode>,
302
+ S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError,
303
+ any
304
+ >
305
+
306
+ type Hndlrs<Action extends AnyRequestModule, Mode extends "d" | "raw"> =
307
+ | HndlrWithInputG<Action, Mode>
308
+ | HndlrWithInput<Action, Mode>
309
+ | Hndlr<Action, Mode>
310
+
311
+ type DHndlrs<Action extends AnyRequestModule> = Hndlrs<Action, "d">
312
+
313
+ type RawHndlrs<Action extends AnyRequestModule> =
314
+ | { raw: HndlrWithInputG<Action, "raw"> }
315
+ | { raw: HndlrWithInput<Action, "raw"> }
316
+ | { raw: Hndlr<Action, "raw"> }
317
+
318
+ type AnyHndlrs<Action extends AnyRequestModule> = RawHndlrs<Action> | DHndlrs<Action>
319
+
320
+ const router3: <
321
+ const Impl extends {
322
+ [K in keyof Filter<Rsc>]: AnyHndlrs<Rsc[K]>
323
+ }
324
+ >(
325
+ impl: Impl
326
+ ) => {
327
+ [K in keyof Impl & keyof Filter<Rsc>]: Handler<
328
+ Filter<Rsc>[K],
329
+ Impl[K] extends { raw: any } ? "raw" : "d",
330
+ Exclude<
331
+ | Context
332
+ | Exclude<
333
+ Impl[K] extends { raw: any } ? Impl[K]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R
334
+ : Impl[K]["raw"] extends Effect<any, any, infer R> ? R
335
+ : never
336
+ : Impl[K] extends (...args: any[]) => Effect<any, any, infer R> ? R
337
+ : Impl[K] extends Effect<any, any, infer R> ? R
338
+ : never,
339
+ GetEffectContext<CTXMap, Rsc[K]["config"]>
340
+ >,
341
+ HttpRouter.HttpRouter.Provided
342
+ >
343
+ >
344
+ } = (obj: Record<keyof Filtered, any>) =>
345
+ typedKeysOf(obj).reduce((acc, cur) => {
346
+ acc[cur] = "raw" in obj[cur] ? items[cur].raw(obj[cur].raw) : items[cur](obj[cur])
347
+ return acc
348
+ }, {} as any)
349
+
268
350
  const f = <
269
351
  E,
270
352
  R,
@@ -275,7 +357,7 @@ export const makeRouter = <
275
357
  TLayers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[]
276
358
  >(
277
359
  layers: TLayers,
278
- make: Effect<THandlers, E, R>
360
+ make: Effect<THandlers, E, R> | Generator<YieldWrap<Effect<any, any, any>>, THandlers, E>
279
361
  ) => {
280
362
  type ProvidedLayers =
281
363
  | { [k in keyof Layers]: Layer.Layer.Success<Layers[k]> }[number]
@@ -285,6 +367,10 @@ export const makeRouter = <
285
367
  const layer = (requestLayers: any) =>
286
368
  Effect
287
369
  .gen(function*() {
370
+ make = (make as any)[Symbol.toStringTag] === "GeneratorFunction"
371
+ ? Effect.fnUntraced(make as any)(router3) as any
372
+ : make
373
+
288
374
  const controllers = yield* make
289
375
  const rpc = yield* makeRpc(middleware)
290
376
 
@@ -466,6 +552,35 @@ export const makeRouter = <
466
552
 
467
553
  const effect: {
468
554
  // Multiple times duplicated the "good" overload, so that errors will only mention the last overload when failing
555
+ <
556
+ const Make extends {
557
+ dependencies: Array<Layer.Layer.Any>
558
+ effect: (match: typeof router3) => Generator<
559
+ YieldWrap<Effect<any, any, Make["strict"] extends false ? any : GetSuccess<Make["dependencies"]>>>,
560
+ { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
561
+ any
562
+ >
563
+
564
+ strict?: boolean
565
+ /** @deprecated */
566
+ readonly ಠ_ಠ: never
567
+ }
568
+ >(
569
+ make: Make
570
+ ): {
571
+ moduleName: ModuleName
572
+
573
+ routes: (requestLayers: any) => Layer.Layer<
574
+ RouterShape<Rsc>,
575
+ MakeErrors<Make> | GetError<Make["dependencies"]>,
576
+ | GetContext<Make["dependencies"]>
577
+ // | GetContext<Layers> // elsewhere provided
578
+ | Exclude<MakeContext<Make> | RMW, GetSuccess<Make["dependencies"]> | GetSuccess<Layers>>
579
+ >
580
+
581
+ // just for type testing purposes
582
+ make: Make
583
+ }
469
584
  <
470
585
  const Make extends {
471
586
  dependencies: Array<Layer.Layer.Any>
@@ -490,6 +605,9 @@ export const makeRouter = <
490
605
  // | GetContext<Layers> // elsewhere provided
491
606
  | Exclude<MakeContext<Make> | RMW, GetSuccess<Make["dependencies"]> | GetSuccess<Layers>>
492
607
  >
608
+
609
+ // just for type testing purposes
610
+ make: Make
493
611
  }
494
612
  <
495
613
  const Make extends {
@@ -515,6 +633,9 @@ export const makeRouter = <
515
633
  // | GetContext<Layers> // elsewhere provided
516
634
  | Exclude<MakeContext<Make> | RMW, GetSuccess<Make["dependencies"]> | GetSuccess<Layers>>
517
635
  >
636
+
637
+ // just for type testing purposes
638
+ make: Make
518
639
  }
519
640
  <
520
641
  const Make extends {
@@ -540,6 +661,9 @@ export const makeRouter = <
540
661
  // | GetContext<Layers> // elsewhere provided
541
662
  | Exclude<MakeContext<Make> | RMW, GetSuccess<Make["dependencies"]> | GetSuccess<Layers>>
542
663
  >
664
+
665
+ // just for type testing purposes
666
+ make: Make
543
667
  }
544
668
  <
545
669
  const Make extends {
@@ -565,6 +689,9 @@ export const makeRouter = <
565
689
  // | GetContext<Layers> // elsewhere provided
566
690
  | Exclude<MakeContext<Make> | RMW, GetSuccess<Make["dependencies"]> | GetSuccess<Layers>>
567
691
  >
692
+
693
+ // just for type testing purposes
694
+ make: Make
568
695
  }
569
696
  <
570
697
  const Make extends {
@@ -588,6 +715,36 @@ export const makeRouter = <
588
715
  // | GetContext<Layers> // elsewhere provided
589
716
  | Exclude<MakeContext<Make> | RMW, GetSuccess<Make["dependencies"]> | GetSuccess<Layers>>
590
717
  >
718
+
719
+ // just for type testing purposes
720
+ make: Make
721
+ }
722
+ <
723
+ const Make extends {
724
+ dependencies: Array<Layer.Layer.Any>
725
+ effect: (match: typeof router3) => Generator<
726
+ YieldWrap<Effect<any, any, Make["strict"] extends false ? any : GetSuccess<Make["dependencies"]>>>,
727
+ { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
728
+ any
729
+ >
730
+
731
+ strict?: boolean
732
+ }
733
+ >(
734
+ make: Make
735
+ ): {
736
+ moduleName: ModuleName
737
+
738
+ routes: (requestLayers: any) => Layer.Layer<
739
+ RouterShape<Rsc>,
740
+ MakeErrors<Make> | GetError<Make["dependencies"]>,
741
+ | GetContext<Make["dependencies"]>
742
+ // | GetContext<Layers> // elsewhere provided
743
+ | Exclude<MakeContext<Make> | RMW, GetSuccess<Make["dependencies"]> | GetSuccess<Layers>>
744
+ >
745
+
746
+ // just for type testing purposes
747
+ make: Make
591
748
  }
592
749
  <
593
750
  const Make extends {
@@ -619,75 +776,13 @@ export const makeRouter = <
619
776
  // HttpRouter.HttpRouter.Provided
620
777
  // >
621
778
  routes: any
622
- }
623
- } = ((m: { dependencies: any; effect: any; strict?: any }) => f(m.dependencies, m.effect)) as any
624
779
 
625
- const total = Object.keys(filtered).length
626
- const router: AddAction<Filtered[keyof Filtered]> = {
627
- accum: {},
628
- add(a: any) {
629
- ;(this.accum as any)[a.request._tag] = a
630
- ;(this as any)[a.request._tag] = a
631
- if (Object.keys(this.accum).length === total) return this.accum as any
632
- return this as any
633
- }
634
- }
635
-
636
- type HndlrWithInput<Action extends AnyRequestModule, Mode extends "d" | "raw"> = (
637
- req: S.Schema.Type<Action>
638
- ) => Effect<
639
- GetSuccessShape<Action, Mode>,
640
- S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError,
641
- any
642
- >
643
-
644
- type Hndlr<Action extends AnyRequestModule, Mode extends "d" | "raw"> = Effect<
645
- GetSuccessShape<Action, Mode>,
646
- S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError,
647
- any
648
- >
649
-
650
- type Hndlrs<Action extends AnyRequestModule, Mode extends "d" | "raw"> =
651
- | HndlrWithInput<Action, Mode>
652
- | Hndlr<Action, Mode>
653
-
654
- type DHndlrs<Action extends AnyRequestModule> = Hndlrs<Action, "d">
655
-
656
- type RawHndlrs<Action extends AnyRequestModule> =
657
- | { raw: HndlrWithInput<Action, "raw"> }
658
- | { raw: Hndlr<Action, "raw"> }
659
-
660
- type AnyHndlrs<Action extends AnyRequestModule> = RawHndlrs<Action> | DHndlrs<Action>
661
-
662
- const router3: <
663
- const Impl extends {
664
- [K in keyof Filter<Rsc>]: AnyHndlrs<Rsc[K]>
780
+ // just for type testing purposes
781
+ make: Make
665
782
  }
666
- >(
667
- impl: Impl
668
- ) => {
669
- [K in keyof Impl & keyof Filter<Rsc>]: Handler<
670
- Filter<Rsc>[K],
671
- Impl[K] extends { raw: any } ? "raw" : "d",
672
- Exclude<
673
- | Context
674
- | Exclude<
675
- Impl[K] extends { raw: any } ? Impl[K]["raw"] extends (...args: any[]) => Effect<any, any, infer R> ? R
676
- : Impl[K]["raw"] extends Effect<any, any, infer R> ? R
677
- : never
678
- : Impl[K] extends (...args: any[]) => Effect<any, any, infer R> ? R
679
- : Impl[K] extends Effect<any, any, infer R> ? R
680
- : never,
681
- GetEffectContext<CTXMap, Rsc[K]["config"]>
682
- >,
683
- HttpRouter.HttpRouter.Provided
684
- >
685
- >
686
- } = (obj: Record<keyof Filtered, any>) =>
687
- typedKeysOf(obj).reduce((acc, cur) => {
688
- acc[cur] = "raw" in obj[cur] ? items[cur].raw(obj[cur].raw) : items[cur](obj[cur])
689
- return acc
690
- }, {} as any)
783
+ } =
784
+ ((m: { dependencies: any; effect: any; strict?: any }) =>
785
+ Object.assign(f(m.dependencies, m.effect), { make: m })) as any
691
786
 
692
787
  return Object.assign(effect, items, { router, router3 })
693
788
  }
@@ -729,14 +824,17 @@ export type MakeDeps<Make> = Make extends { readonly dependencies: ReadonlyArray
729
824
  : never
730
825
 
731
826
  export type MakeErrors<Make> = Make extends { readonly effect: Effect<any, infer E, any> } ? E
827
+ : Make extends { readonly effect: (_: any) => Generator<YieldWrap<Effect<any, infer E, any>>, any, any> } ? E
732
828
  : never
733
829
 
734
830
  export type MakeContext<Make> = Make extends { readonly effect: Effect<any, any, infer R> } ? R
831
+ : Make extends { readonly effect: (_: any) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> } ? R
735
832
  : never
736
833
 
737
834
  export type MakeHandlers<Make, Handlers extends Record<string, any>> = Make extends
738
835
  { readonly effect: Effect<{ [K in keyof Handlers]: AHandler<Handlers[K]> }, any, any> }
739
836
  ? Effect.Success<Make["effect"]>
837
+ : Make extends { readonly effect: (_: any) => Generator<YieldWrap<any>, infer S, any> } ? S
740
838
  : never
741
839
 
742
840
  /**
@@ -1,12 +1,11 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
- import { makeMiddleware, makeRouter } from "@effect-app/infra/api/routing"
3
+ import { type MakeContext, type MakeErrors, makeMiddleware, makeRouter } from "@effect-app/infra/api/routing"
4
4
  import type { RequestContext } from "@effect-app/infra/RequestContext"
5
- import { Rpc } from "@effect/rpc"
6
- import type { Request } from "effect-app"
7
- import { Context, Effect, FiberRef, Layer, S, Schedule } from "effect-app"
8
- import { type GetEffectContext, makeRpcClient, type RPCContextMap, UnauthorizedError } from "effect-app/client"
9
- import { HttpHeaders, HttpServerRequest } from "effect-app/http"
5
+ import { expectTypeOf } from "@effect/vitest"
6
+ import { Context, Effect, Layer, type Request, S, Schedule } from "effect-app"
7
+ import { type GetEffectContext, InvalidStateError, makeRpcClient, type RPCContextMap, UnauthorizedError } from "effect-app/client"
8
+ import { type HttpServerRequest } from "effect-app/http"
10
9
  import type * as EffectRequest from "effect/Request"
11
10
  import { it } from "vitest"
12
11
 
@@ -29,11 +28,15 @@ const middleware = makeMiddleware({
29
28
  execute: Effect.gen(function*() {
30
29
  return <T extends { config?: { [K in keyof CTXMap]?: any } }, Req extends S.TaggedRequest.All, R>(
31
30
  _schema: T & S.Schema<Req, any, never>,
32
- handler: (request: Req) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R>,
31
+ handler: (
32
+ request: Req,
33
+ headers: any
34
+ ) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R>,
33
35
  moduleName?: string
34
36
  ) =>
35
37
  (
36
- req: Req
38
+ req: Req,
39
+ headers: any
37
40
  ): Effect.Effect<
38
41
  Request.Request.Success<Req>,
39
42
  Request.Request.Error<Req>,
@@ -88,7 +91,7 @@ const middleware = makeMiddleware({
88
91
  // }
89
92
  // }
90
93
 
91
- return yield* handler(req).pipe(
94
+ return yield* handler(req, headers).pipe(
92
95
  Effect.retry(optimisticConcurrencySchedule),
93
96
  Effect.provide(ctx as Context.Context<GetEffectContext<CTXMap, T["config"]>>)
94
97
  )
@@ -102,16 +105,16 @@ const middleware = makeMiddleware({
102
105
  // ..._,
103
106
  // name: NonEmptyString255(moduleName ? `${moduleName}.${req._tag}` : req._tag)
104
107
  // }))
105
- const httpReq = yield* HttpServerRequest.HttpServerRequest
108
+ // const httpReq = yield* HttpServerRequest.HttpServerRequest
106
109
  // TODO: only pass Authentication etc, or move headers to actual Rpc Headers
107
- yield* FiberRef.update(
108
- Rpc.currentHeaders,
109
- (headers) =>
110
- HttpHeaders.merge(
111
- httpReq.headers,
112
- headers
113
- )
114
- )
110
+ // yield* FiberRef.update(
111
+ // Rpc.currentHeaders,
112
+ // (headers) =>
113
+ // HttpHeaders.merge(
114
+ // httpReq.headers,
115
+ // headers
116
+ // )
117
+ // )
115
118
  })
116
119
  .pipe(Layer.effectDiscard)
117
120
  )
@@ -286,3 +289,55 @@ Router(Something)({
286
289
  })
287
290
  })
288
291
  })
292
+
293
+ const { make: _make, routes: _routes } = Router(Something)({
294
+ dependencies: [
295
+ SomethingRepo.Default,
296
+ SomethingService.Default,
297
+ SomethingService2.Default
298
+ ],
299
+ *effect(match) {
300
+ const repo = yield* SomethingRepo
301
+ const smth = yield* SomethingService
302
+ const smth2 = yield* SomethingService2
303
+
304
+ // this gets catched in 'routes' type
305
+ if (Math.random() > 0.5) {
306
+ return yield* new InvalidStateError("ciao")
307
+ }
308
+
309
+ console.log({ repo, smth, smth2 })
310
+
311
+ return match({
312
+ *GetSomething(req) {
313
+ console.log(req.id)
314
+
315
+ const _b = yield* Effect.succeed(false)
316
+ if (_b) {
317
+ // expected errors here because RequestError is not a valid error for controllers
318
+ // yield* new RequestError(1 as any)
319
+ // return yield* new RequestError(1 as any)
320
+ }
321
+ if (Math.random() > 0.5) {
322
+ return yield* Effect.succeed("12")
323
+ }
324
+ if (!_b) {
325
+ return yield* new UnauthorizedError()
326
+ } else {
327
+ // expected an error here because a boolean is not a string
328
+ // return _b
329
+ return "12"
330
+ }
331
+ },
332
+ DoSomething: {
333
+ *raw() {
334
+ return yield* Effect.succeed(undefined)
335
+ }
336
+ },
337
+ GetSomething2: { raw: SomethingService2.use(() => Effect.succeed("12")) }
338
+ })
339
+ }
340
+ })
341
+
342
+ expectTypeOf({} as MakeErrors<typeof _make>).toEqualTypeOf<InvalidStateError>()
343
+ expectTypeOf({} as MakeContext<typeof _make>).toEqualTypeOf<SomethingService | SomethingRepo | SomethingService2>()
@@ -0,0 +1,169 @@
1
+ import type { RequestContext } from "@effect-app/infra/RequestContext";
2
+ import { Rpc } from "@effect/rpc";
3
+ import { Effect, Layer, S } from "effect-app";
4
+ import { type RPCContextMap, UnauthorizedError } from "effect-app/client";
5
+ import { HttpServerRequest } from "effect-app/http";
6
+ export interface CTX {
7
+ context: RequestContext;
8
+ }
9
+ export type CTXMap = {
10
+ requireRoles: RPCContextMap.Custom<"", never, typeof UnauthorizedError, Array<string>>;
11
+ };
12
+ export declare const matchAll: <T extends {
13
+ [key: string]: {
14
+ Router: {
15
+ router: Effect<import("@effect/platform/HttpRouter").HttpRouter<any, any>, any, any>;
16
+ };
17
+ routes: Layer.Layer<any, any, any>;
18
+ moduleName: string;
19
+ };
20
+ }, A, E, R>(handlers: T, requestLayer: Layer.Layer<A, E, R>) => {
21
+ layer: Layer.Layer<never, Layer.Layer.Error<T[keyof T]["routes"]>, Layer.Layer.Context<T[keyof T]["routes"]>>;
22
+ Router: import("@effect/platform/HttpRouter").HttpRouter.TagClass<"RootRouter", "RootRouter", Effect.Effect.Success<T[keyof T]["Router"]["router"]> extends infer T_1 ? T_1 extends T_1 & Effect.Effect.Success<T[keyof T]["Router"]["router"]> ? T_1 extends import("@effect/platform/HttpRouter").HttpRouter<infer E_1, any> ? E_1 : never : never : never, R | Exclude<Effect.Effect.Success<T[keyof T]["Router"]["router"]> extends infer T_2 ? T_2 extends T_2 & Effect.Effect.Success<T[keyof T]["Router"]["router"]> ? T_2 extends import("@effect/platform/HttpRouter").HttpRouter<any, infer R_1> ? R_1 : never : never : never, A>>;
23
+ }, matchFor: <const ModuleName extends string, const Rsc extends Record<string, any>>(rsc: Rsc & {
24
+ meta: {
25
+ moduleName: ModuleName;
26
+ };
27
+ }) => {
28
+ <const Make extends {
29
+ dependencies: import("effect-app").Array<Layer.Layer.Any>;
30
+ effect: Effect<{ [K_1 in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: import("@effect-app/infra/api/routing").Handler<Rsc[K_1], any, any>; }, any, Make["strict"] extends false ? any : Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
31
+ strict?: boolean;
32
+ readonly ಠ_ಠ: never;
33
+ }>(make: Make): {
34
+ moduleName: ModuleName;
35
+ Router: import("@effect/platform/HttpRouter").HttpRouter.TagClass<import("@effect-app/infra/api/routing").RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<[{ [K_2 in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: Rpc.Rpc<Rsc[K_2], import("@effect-app/infra/api/routing")._R<ReturnType<import("@effect-app/infra/api/routing").MakeHandlers<Make, { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }>[K_2]["handler"]>>>; }[keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]] extends [Rpc.Rpc<any, infer R>] ? R : never, import("@effect/platform/HttpRouter").HttpRouter.Provided>>;
36
+ routes: Layer.Layer<import("@effect-app/infra/api/routing").RouterShape<Rsc>, import("@effect-app/infra/api/routing").MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<import("@effect-app/infra/api/routing").MakeContext<Make>, Make["dependencies"] extends infer T_3 ? T_3 extends Make["dependencies"] ? T_3 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof T_3]: Layer.Layer.Success<T_3[k_3]>; }[number] : never : never : never>>;
37
+ };
38
+ <const Make extends {
39
+ dependencies: import("effect-app").Array<Layer.Layer.Any>;
40
+ effect: Effect<{ [K in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: import("@effect-app/infra/api/routing").Handler<Rsc[K], any, any>; }, any, Make["strict"] extends false ? any : Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
41
+ strict?: boolean;
42
+ readonly ಠ_ಠ: never;
43
+ }>(make: Make): {
44
+ moduleName: ModuleName;
45
+ Router: import("@effect/platform/HttpRouter").HttpRouter.TagClass<import("@effect-app/infra/api/routing").RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<[{ [K_1 in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: Rpc.Rpc<Rsc[K_1], import("@effect-app/infra/api/routing")._R<ReturnType<import("@effect-app/infra/api/routing").MakeHandlers<Make, { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }>[K_1]["handler"]>>>; }[keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]] extends [Rpc.Rpc<any, infer R>] ? R : never, import("@effect/platform/HttpRouter").HttpRouter.Provided>>;
46
+ routes: Layer.Layer<import("@effect-app/infra/api/routing").RouterShape<Rsc>, import("@effect-app/infra/api/routing").MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<import("@effect-app/infra/api/routing").MakeContext<Make>, Make["dependencies"] extends infer T_3 ? T_3 extends Make["dependencies"] ? T_3 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof T_3]: Layer.Layer.Success<T_3[k_3]>; }[number] : never : never : never>>;
47
+ };
48
+ <const Make extends {
49
+ dependencies: import("effect-app").Array<Layer.Layer.Any>;
50
+ effect: Effect<{ [K in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: import("@effect-app/infra/api/routing").Handler<Rsc[K], any, any>; }, any, Make["strict"] extends false ? any : Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
51
+ strict?: boolean;
52
+ readonly ಠ_ಠ: never;
53
+ }>(make: Make): {
54
+ moduleName: ModuleName;
55
+ Router: import("@effect/platform/HttpRouter").HttpRouter.TagClass<import("@effect-app/infra/api/routing").RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<[{ [K_1 in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: Rpc.Rpc<Rsc[K_1], import("@effect-app/infra/api/routing")._R<ReturnType<import("@effect-app/infra/api/routing").MakeHandlers<Make, { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }>[K_1]["handler"]>>>; }[keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]] extends [Rpc.Rpc<any, infer R>] ? R : never, import("@effect/platform/HttpRouter").HttpRouter.Provided>>;
56
+ routes: Layer.Layer<import("@effect-app/infra/api/routing").RouterShape<Rsc>, import("@effect-app/infra/api/routing").MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<import("@effect-app/infra/api/routing").MakeContext<Make>, Make["dependencies"] extends infer T_3 ? T_3 extends Make["dependencies"] ? T_3 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof T_3]: Layer.Layer.Success<T_3[k_3]>; }[number] : never : never : never>>;
57
+ };
58
+ <const Make extends {
59
+ dependencies: import("effect-app").Array<Layer.Layer.Any>;
60
+ effect: Effect<{ [K in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: import("@effect-app/infra/api/routing").Handler<Rsc[K], any, any>; }, any, Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
61
+ strict?: boolean;
62
+ readonly ಠ_ಠ: never;
63
+ }>(make: Make): {
64
+ moduleName: ModuleName;
65
+ Router: import("@effect/platform/HttpRouter").HttpRouter.TagClass<import("@effect-app/infra/api/routing").RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<[{ [K_1 in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: Rpc.Rpc<Rsc[K_1], import("@effect-app/infra/api/routing")._R<ReturnType<import("@effect-app/infra/api/routing").MakeHandlers<Make, { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }>[K_1]["handler"]>>>; }[keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]] extends [Rpc.Rpc<any, infer R>] ? R : never, import("@effect/platform/HttpRouter").HttpRouter.Provided>>;
66
+ routes: Layer.Layer<import("@effect-app/infra/api/routing").RouterShape<Rsc>, import("@effect-app/infra/api/routing").MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<import("@effect-app/infra/api/routing").MakeContext<Make>, Make["dependencies"] extends infer T_3 ? T_3 extends Make["dependencies"] ? T_3 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof T_3]: Layer.Layer.Success<T_3[k_3]>; }[number] : never : never : never>>;
67
+ };
68
+ <const Make extends {
69
+ dependencies: import("effect-app").Array<Layer.Layer.Any>;
70
+ effect: Effect<{ [K in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: import("@effect-app/infra/api/routing").Handler<Rsc[K], any, any>; }, any, Make["dependencies"] extends infer T ? T extends Make["dependencies"] ? T extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k in keyof T]: Layer.Layer.Success<T[k]>; }[number] : never : never : never>;
71
+ strict?: boolean;
72
+ }>(make: Make): {
73
+ moduleName: ModuleName;
74
+ Router: import("@effect/platform/HttpRouter").HttpRouter.TagClass<import("@effect-app/infra/api/routing").RouterShape<Rsc>, `${ModuleName}Router`, never, Exclude<[{ [K_1 in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: Rpc.Rpc<Rsc[K_1], import("@effect-app/infra/api/routing")._R<ReturnType<import("@effect-app/infra/api/routing").MakeHandlers<Make, { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }>[K_1]["handler"]>>>; }[keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]] extends [Rpc.Rpc<any, infer R>] ? R : never, import("@effect/platform/HttpRouter").HttpRouter.Provided>>;
75
+ routes: Layer.Layer<import("@effect-app/infra/api/routing").RouterShape<Rsc>, import("@effect-app/infra/api/routing").MakeErrors<Make> | (Make["dependencies"] extends infer T_1 ? T_1 extends Make["dependencies"] ? T_1 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_1 in keyof T_1]: Layer.Layer.Error<T_1[k_1]>; }[number] : never : never : never), (Make["dependencies"] extends infer T_2 ? T_2 extends Make["dependencies"] ? T_2 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_2 in keyof T_2]: Layer.Layer.Context<T_2[k_2]>; }[number] : never : never : never) | Exclude<import("@effect-app/infra/api/routing").MakeContext<Make>, Make["dependencies"] extends infer T_3 ? T_3 extends Make["dependencies"] ? T_3 extends readonly [Layer.Layer.Any, ...Layer.Layer.Any[]] ? { [k_3 in keyof T_3]: Layer.Layer.Success<T_3[k_3]>; }[number] : never : never : never>>;
76
+ };
77
+ <const Make extends {
78
+ dependencies: [...Make["dependencies"], ...Exclude<Effect.Effect.Context<Make["effect"]>, import("effect/Types").Contravariant.Type<import("@effect-app/infra/api/routing").MakeDeps<Make>[typeof Layer.LayerTypeId]["_ROut"]>> extends never ? [] : [Layer.Layer<Exclude<Effect.Effect.Context<Make["effect"]>, import("effect/Types").Contravariant.Type<import("@effect-app/infra/api/routing").MakeDeps<Make>[typeof Layer.LayerTypeId]["_ROut"]>>, never, never>]];
79
+ effect: Effect<{ [K in keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }]: import("@effect-app/infra/api/routing").Handler<Rsc[K], any, any>; }, any, any>;
80
+ strict?: boolean;
81
+ }>(make: Make): {
82
+ moduleName: ModuleName;
83
+ Router: import("@effect/platform/HttpRouter").HttpRouter.TagClass<import("@effect-app/infra/api/routing").RouterShape<Rsc>, `${ModuleName}Router`, never, never>;
84
+ routes: any;
85
+ };
86
+ } & import("@effect-app/infra/api/routing").RouteMatcher<CTXMap, Rsc, HttpServerRequest.HttpServerRequest> & {
87
+ router: import("@effect-app/infra/api/routing").AddAction<{ [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }[keyof { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }], {}>;
88
+ router2: { [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; } extends infer T extends Record<string, import("@effect-app/infra/api/routing").AnyRequestModule> ? { [K in keyof T]: import("@effect-app/infra/api/routing").Method<{ [K in keyof Rsc as Rsc[K] extends import("@effect-app/infra/api/routing").AnyRequestModule ? K : never]: Rsc[K]; }, K, "d", {}>; } : never;
89
+ };
90
+ export type RequestConfig = {
91
+ /** Disable authentication requirement */
92
+ allowAnonymous?: true;
93
+ /** Control the roles that are required to access the resource */
94
+ allowRoles?: readonly string[];
95
+ };
96
+ export declare const Req: <Self>() => {
97
+ <Tag extends string, Payload extends S.Struct.Fields, C extends {
98
+ success: S.Schema.Any | S.Struct.Fields;
99
+ failure: S.Schema.Any | S.Struct.Fields;
100
+ }>(tag: Tag, fields: Payload, config: RequestConfig & C): S.TaggedRequestClass<Self, Tag, {
101
+ readonly _tag: S.tag<Tag>;
102
+ } & Payload, (RequestConfig & C)["success"] extends infer T ? T extends (RequestConfig & C)["success"] ? T extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T, []> : T extends S.Schema.Any ? T : never : never : never, ([((RequestConfig & C)["failure"] extends infer T_1 ? T_1 extends (RequestConfig & C)["failure"] ? T_1 extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T_1, []> : T_1 extends S.Schema.Any ? T_1 : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C>] extends [never] ? [] : [((RequestConfig & C)["failure"] extends infer T_1 ? T_1 extends (RequestConfig & C)["failure"] ? T_1 extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T_1, []> : T_1 extends S.Schema.Any ? T_1 : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C>]) extends infer T_2 ? T_2 extends ([((RequestConfig & C)["failure"] extends infer T_1 ? T_1 extends (RequestConfig & C)["failure"] ? T_1 extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T_1, []> : T_1 extends S.Schema.Any ? T_1 : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C>] extends [never] ? [] : [((RequestConfig & C)["failure"] extends infer T_1 ? T_1 extends (RequestConfig & C)["failure"] ? T_1 extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T_1, []> : T_1 extends S.Schema.Any ? T_1 : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C>]) ? T_2 extends readonly S.Schema.All[] ? S.Union<T_2> : typeof S.Never : never : never> & {
103
+ config: Omit<C, "success" | "failure">;
104
+ };
105
+ <Tag extends string, Payload_1 extends S.Struct.Fields, C_1 extends {
106
+ success: S.Schema.Any | S.Struct.Fields;
107
+ }>(tag: Tag, fields: Payload_1, config: RequestConfig & C_1): S.TaggedRequestClass<Self, Tag, {
108
+ readonly _tag: S.tag<Tag>;
109
+ } & Payload_1, (RequestConfig & C_1)["success"] extends infer T ? T extends (RequestConfig & C_1)["success"] ? T extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T, []> : T extends S.Schema.Any ? T : never : never : never, ([import("effect-app/client").GetEffectError<CTXMap, C_1>] extends [never] ? [] : [import("effect-app/client").GetEffectError<CTXMap, C_1>]) extends infer T_1 ? T_1 extends ([import("effect-app/client").GetEffectError<CTXMap, C_1>] extends [never] ? [] : [import("effect-app/client").GetEffectError<CTXMap, C_1>]) ? T_1 extends readonly S.Schema.All[] ? S.Union<T_1> : typeof S.Never : never : never> & {
110
+ config: Omit<C_1, "success" | "failure">;
111
+ };
112
+ <Tag extends string, Payload_2 extends S.Struct.Fields, C_2 extends {
113
+ failure: S.Schema.Any | S.Struct.Fields;
114
+ }>(tag: Tag, fields: Payload_2, config: RequestConfig & C_2): S.TaggedRequestClass<Self, Tag, {
115
+ readonly _tag: S.tag<Tag>;
116
+ } & Payload_2, typeof S.Void, ([((RequestConfig & C_2)["failure"] extends infer T ? T extends (RequestConfig & C_2)["failure"] ? T extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T, []> : T extends S.Schema.Any ? T : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C_2>] extends [never] ? [] : [((RequestConfig & C_2)["failure"] extends infer T ? T extends (RequestConfig & C_2)["failure"] ? T extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T, []> : T extends S.Schema.Any ? T : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C_2>]) extends infer T_1 ? T_1 extends ([((RequestConfig & C_2)["failure"] extends infer T ? T extends (RequestConfig & C_2)["failure"] ? T extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T, []> : T extends S.Schema.Any ? T : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C_2>] extends [never] ? [] : [((RequestConfig & C_2)["failure"] extends infer T ? T extends (RequestConfig & C_2)["failure"] ? T extends import("effect/Schema").Struct.Fields ? S.TypeLiteral<T, []> : T extends S.Schema.Any ? T : never : never : never) | import("effect-app/client").GetEffectError<CTXMap, C_2>]) ? T_1 extends readonly S.Schema.All[] ? S.Union<T_1> : typeof S.Never : never : never> & {
117
+ config: Omit<C_2, "success" | "failure">;
118
+ };
119
+ <Tag extends string, Payload_3 extends S.Struct.Fields, C_3 extends Record<string, any>>(tag: Tag, fields: Payload_3, config: C_3 & RequestConfig): S.TaggedRequestClass<Self, Tag, {
120
+ readonly _tag: S.tag<Tag>;
121
+ } & Payload_3, typeof S.Void, ([import("effect-app/client").GetEffectError<CTXMap, C_3>] extends [never] ? [] : [import("effect-app/client").GetEffectError<CTXMap, C_3>]) extends infer T ? T extends ([import("effect-app/client").GetEffectError<CTXMap, C_3>] extends [never] ? [] : [import("effect-app/client").GetEffectError<CTXMap, C_3>]) ? T extends readonly S.Schema.All[] ? S.Union<T> : typeof S.Never : never : never> & {
122
+ config: Omit<C_3, "success" | "failure">;
123
+ };
124
+ <Tag extends string, Payload_4 extends S.Struct.Fields>(tag: Tag, fields: Payload_4): S.TaggedRequestClass<Self, Tag, {
125
+ readonly _tag: S.tag<Tag>;
126
+ } & Payload_4, typeof S.Void, never>;
127
+ };
128
+ declare const GetSomething_base: S.TaggedRequestClass<GetSomething, "GetSomething", {
129
+ readonly _tag: S.tag<"GetSomething">;
130
+ } & {
131
+ id: typeof S.String;
132
+ }, typeof S.Void, S.Union<[typeof UnauthorizedError]>> & {
133
+ config: Omit<{
134
+ success: typeof S.Void;
135
+ }, "success" | "failure">;
136
+ };
137
+ export declare class GetSomething extends GetSomething_base {
138
+ }
139
+ declare const GetSomethingElse_base: S.TaggedRequestClass<GetSomethingElse, "GetSomethingElse", {
140
+ readonly _tag: S.tag<"GetSomethingElse">;
141
+ } & {
142
+ id: typeof S.String;
143
+ }, typeof S.String, S.Union<[typeof UnauthorizedError]>> & {
144
+ config: Omit<{
145
+ success: typeof S.String;
146
+ }, "success" | "failure">;
147
+ };
148
+ export declare class GetSomethingElse extends GetSomethingElse_base {
149
+ }
150
+ declare const SomethingService_base: import("effect/Effect").Service.Class<SomethingService, "SomethingService", {
151
+ readonly dependencies: readonly [];
152
+ readonly effect: Effect.Effect<{}, never, never>;
153
+ }>;
154
+ export declare class SomethingService extends SomethingService_base {
155
+ }
156
+ declare const SomethingRepo_base: import("effect/Effect").Service.Class<SomethingRepo, "SomethingRepo", {
157
+ readonly dependencies: readonly [Layer.Layer<SomethingService, never, never>];
158
+ readonly effect: Effect.Effect<{}, never, SomethingService>;
159
+ }>;
160
+ export declare class SomethingRepo extends SomethingRepo_base {
161
+ }
162
+ declare const SomethingService2_base: import("effect/Effect").Service.Class<SomethingService2, "SomethingService2", {
163
+ readonly dependencies: readonly [];
164
+ readonly effect: Effect.Effect<{}, never, never>;
165
+ }>;
166
+ export declare class SomethingService2 extends SomethingService2_base {
167
+ }
168
+ export {};
169
+ //# sourceMappingURL=controller.test%20copy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.test copy.d.ts","sourceRoot":"","sources":["../controller.test copy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAW,MAAM,EAAY,KAAK,EAAE,CAAC,EAAY,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAwC,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC/G,OAAO,EAAe,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAOhE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,MAAM,MAAM,GAAG;IAGnB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CACvF,CAAA;AAmGD,eAAO,MAAQ,QAAQ;;;;;sBA2DnB,KACH;;;;;;GA5DwB,QAAQ;;;;;;uDAmG8B,KAAK,CAAC,GAAG;;;;;;;;;;uDAAkyD,KAAK,CAAC,GAAG;;;;;;;;;;uDAAkyD,KAAK,CAAC,GAAG;;;;;;;;;;uDAAkyD,KAAK,CAAC,GAAG;;;;;;;;;;uDAA6vD,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;CAnG7oO,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AACD,eAAO,MAAuB,GAAG;2CAxEM,MAAM,CAAC,MAAM;mBAgC1C,MA9BA,CAAC,GAAG,KA8BJ,MA5BD,CA4BC,MA5BM;mBA4BN,MA3BC,CAAE,GAAE,KAAM,MAAK,CAAC,MAAM;;;;;;6CASqB,MAAM,CAAC,MAAM;mBACtD,MAAK,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM;;;;;;6CAUpB,MAAM,CAAC,MAAM;mBACG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAE,MAAK;;;;;;6CAclD,MAAG,CAAC,MAAM;;;;;6CAMwC,MAAM,CAAC,MACrE;;;CA4BA,CAAA;;;;;;;;;;AAEF,qBAAa,YAAa,SAAQ,iBAEX;CAAG;;;;;;;;;;AAE1B,qBAAa,gBAAiB,SAAQ,qBAEb;CAAG;;;;;AAI5B,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AASL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG"}