@effect-app/infra 2.91.1 → 2.91.3
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 +14 -0
- package/dist/api/routing.d.ts +1 -130
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +1 -1
- package/package.json +3 -3
- package/src/api/routing.ts +200 -202
- package/test/controller.test.ts +2 -2
- package/test/dist/controller.test copy.d.ts +169 -0
- package/test/dist/controller.test copy.d.ts.map +1 -0
- package/test/dist/controller.test copy.js +46 -23
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/controller6.test.d.ts.map +1 -1
- package/test/dist/controller7.test.d.ts.map +1 -1
- package/test/dist/controller/test2.test.d.ts.map +0 -1
- package/test/dist/controller5.test.d.ts.map +0 -1
- package/test/dist/dynamicContext.test.d.ts.map +0 -1
- package/test/dist/middleware-api.test.d.ts.map +0 -1
- package/test/dist/requires.d.ts +0 -21
- package/test/dist/requires.d.ts.map +0 -1
- package/test/dist/requires.js +0 -27
- package/vitest.config.ts.timestamp-1711656440838-19c636fe320df.mjs +0 -0
- package/vitest.config.ts.timestamp-1711724061890-6ecedb0a07fdd.mjs +0 -0
- package/vitest.config.ts.timestamp-1711743489537-da8d9e5f66c9f.mjs +0 -0
- package/vitest.config.ts.timestamp-1711744615239-dcf257a844e01.mjs +0 -37
package/src/api/routing.ts
CHANGED
|
@@ -509,164 +509,164 @@ export const makeRouter = <
|
|
|
509
509
|
// just for type testing purposes
|
|
510
510
|
make: Make
|
|
511
511
|
}
|
|
512
|
-
<
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
>(
|
|
524
|
-
|
|
525
|
-
): {
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
}
|
|
544
|
-
<
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
>(
|
|
556
|
-
|
|
557
|
-
): {
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
}
|
|
576
|
-
<
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
>(
|
|
588
|
-
|
|
589
|
-
): {
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
}
|
|
608
|
-
<
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
>(
|
|
620
|
-
|
|
621
|
-
): {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
}
|
|
640
|
-
<
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
>(
|
|
650
|
-
|
|
651
|
-
): {
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
}
|
|
512
|
+
// <
|
|
513
|
+
// const Make extends {
|
|
514
|
+
// dependencies?: Array<Layer.Layer.Any>
|
|
515
|
+
// effect: (match: typeof router3) => Effect<
|
|
516
|
+
// { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> },
|
|
517
|
+
// any,
|
|
518
|
+
// any
|
|
519
|
+
// >
|
|
520
|
+
// /** @deprecated */
|
|
521
|
+
// readonly ಠ_ಠ: never
|
|
522
|
+
// }
|
|
523
|
+
// >(
|
|
524
|
+
// make: Make
|
|
525
|
+
// ): {
|
|
526
|
+
// moduleName: ModuleName
|
|
527
|
+
|
|
528
|
+
// routes: Layer.Layer<
|
|
529
|
+
// RouterShape<Resource>,
|
|
530
|
+
// | MakeErrors<Make>
|
|
531
|
+
// | Service.MakeDepsE<Make>
|
|
532
|
+
// | Layer.Error<typeof middleware.Default>,
|
|
533
|
+
// | Service.MakeDepsIn<Make>
|
|
534
|
+
// | Layer.Context<typeof middleware.Default>
|
|
535
|
+
// | Exclude<
|
|
536
|
+
// MakeContext<Make>,
|
|
537
|
+
// MakeDepsOut<Make>
|
|
538
|
+
// >
|
|
539
|
+
// >
|
|
540
|
+
|
|
541
|
+
// // just for type testing purposes
|
|
542
|
+
// make: Make
|
|
543
|
+
// }
|
|
544
|
+
// <
|
|
545
|
+
// const Make extends {
|
|
546
|
+
// dependencies?: Array<Layer.Layer.Any>
|
|
547
|
+
// effect: (match: typeof router3) => Effect<
|
|
548
|
+
// { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> },
|
|
549
|
+
// any,
|
|
550
|
+
// any
|
|
551
|
+
// >
|
|
552
|
+
// /** @deprecated */
|
|
553
|
+
// readonly ಠ_ಠ: never
|
|
554
|
+
// }
|
|
555
|
+
// >(
|
|
556
|
+
// make: Make
|
|
557
|
+
// ): {
|
|
558
|
+
// moduleName: ModuleName
|
|
559
|
+
|
|
560
|
+
// routes: Layer.Layer<
|
|
561
|
+
// RouterShape<Resource>,
|
|
562
|
+
// | MakeErrors<Make>
|
|
563
|
+
// | Service.MakeDepsE<Make>
|
|
564
|
+
// | Layer.Error<typeof middleware.Default>,
|
|
565
|
+
// | Service.MakeDepsIn<Make>
|
|
566
|
+
// | Layer.Context<typeof middleware.Default>
|
|
567
|
+
// | Exclude<
|
|
568
|
+
// MakeContext<Make>,
|
|
569
|
+
// MakeDepsOut<Make>
|
|
570
|
+
// >
|
|
571
|
+
// >
|
|
572
|
+
|
|
573
|
+
// // just for type testing purposes
|
|
574
|
+
// make: Make
|
|
575
|
+
// }
|
|
576
|
+
// <
|
|
577
|
+
// const Make extends {
|
|
578
|
+
// dependencies?: Array<Layer.Layer.Any>
|
|
579
|
+
// effect: (match: typeof router3) => Effect<
|
|
580
|
+
// { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> },
|
|
581
|
+
// any,
|
|
582
|
+
// any
|
|
583
|
+
// >
|
|
584
|
+
// /** @deprecated */
|
|
585
|
+
// readonly ಠ_ಠ: never
|
|
586
|
+
// }
|
|
587
|
+
// >(
|
|
588
|
+
// make: Make
|
|
589
|
+
// ): {
|
|
590
|
+
// moduleName: ModuleName
|
|
591
|
+
|
|
592
|
+
// routes: Layer.Layer<
|
|
593
|
+
// RouterShape<Resource>,
|
|
594
|
+
// | MakeErrors<Make>
|
|
595
|
+
// | Service.MakeDepsE<Make>
|
|
596
|
+
// | Layer.Error<typeof middleware.Default>,
|
|
597
|
+
// | Service.MakeDepsIn<Make>
|
|
598
|
+
// | Layer.Context<typeof middleware.Default>
|
|
599
|
+
// | Exclude<
|
|
600
|
+
// MakeContext<Make>,
|
|
601
|
+
// MakeDepsOut<Make>
|
|
602
|
+
// >
|
|
603
|
+
// >
|
|
604
|
+
|
|
605
|
+
// // just for type testing purposes
|
|
606
|
+
// make: Make
|
|
607
|
+
// }
|
|
608
|
+
// <
|
|
609
|
+
// const Make extends {
|
|
610
|
+
// dependencies?: Array<Layer.Layer.Any>
|
|
611
|
+
// effect: (match: typeof router3) => Effect<
|
|
612
|
+
// { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> },
|
|
613
|
+
// any,
|
|
614
|
+
// any
|
|
615
|
+
// >
|
|
616
|
+
// /** @deprecated */
|
|
617
|
+
// readonly ಠ_ಠ: never
|
|
618
|
+
// }
|
|
619
|
+
// >(
|
|
620
|
+
// make: Make
|
|
621
|
+
// ): {
|
|
622
|
+
// moduleName: ModuleName
|
|
623
|
+
|
|
624
|
+
// routes: Layer.Layer<
|
|
625
|
+
// RouterShape<Resource>,
|
|
626
|
+
// | MakeErrors<Make>
|
|
627
|
+
// | Service.MakeDepsE<Make>
|
|
628
|
+
// | Layer.Error<typeof middleware.Default>,
|
|
629
|
+
// | Service.MakeDepsIn<Make>
|
|
630
|
+
// | Layer.Context<typeof middleware.Default>
|
|
631
|
+
// | Exclude<
|
|
632
|
+
// MakeContext<Make>,
|
|
633
|
+
// MakeDepsOut<Make>
|
|
634
|
+
// >
|
|
635
|
+
// >
|
|
636
|
+
|
|
637
|
+
// // just for type testing purposes
|
|
638
|
+
// make: Make
|
|
639
|
+
// }
|
|
640
|
+
// <
|
|
641
|
+
// const Make extends {
|
|
642
|
+
// dependencies?: Array<Layer.Layer.Any>
|
|
643
|
+
// effect: (match: typeof router3) => Effect<
|
|
644
|
+
// { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> },
|
|
645
|
+
// any,
|
|
646
|
+
// any
|
|
647
|
+
// >
|
|
648
|
+
// }
|
|
649
|
+
// >(
|
|
650
|
+
// make: Make
|
|
651
|
+
// ): {
|
|
652
|
+
// moduleName: ModuleName
|
|
653
|
+
|
|
654
|
+
// routes: Layer.Layer<
|
|
655
|
+
// RouterShape<Resource>,
|
|
656
|
+
// | MakeErrors<Make>
|
|
657
|
+
// | Service.MakeDepsE<Make>
|
|
658
|
+
// | Layer.Error<typeof middleware.Default>,
|
|
659
|
+
// | Service.MakeDepsIn<Make>
|
|
660
|
+
// | Layer.Context<typeof middleware.Default>
|
|
661
|
+
// | Exclude<
|
|
662
|
+
// MakeContext<Make>,
|
|
663
|
+
// MakeDepsOut<Make>
|
|
664
|
+
// >
|
|
665
|
+
// >
|
|
666
|
+
|
|
667
|
+
// // just for type testing purposes
|
|
668
|
+
// make: Make
|
|
669
|
+
// }
|
|
670
670
|
<
|
|
671
671
|
const Make extends {
|
|
672
672
|
dependencies?: Array<Layer.Layer.Any>
|
|
@@ -703,39 +703,34 @@ export const makeRouter = <
|
|
|
703
703
|
// just for type testing purposes
|
|
704
704
|
make: Make
|
|
705
705
|
}
|
|
706
|
-
<
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
>(
|
|
720
|
-
|
|
721
|
-
): {
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
routes: any
|
|
735
|
-
|
|
736
|
-
// just for type testing purposes
|
|
737
|
-
make: Make
|
|
738
|
-
}
|
|
706
|
+
// <
|
|
707
|
+
// const Make extends {
|
|
708
|
+
// dependencies: [
|
|
709
|
+
// ...Make["dependencies"],
|
|
710
|
+
// ...Exclude<Effect.Context<ReturnType<Make["effect"]>>, MakeDepsOut<Make>> extends never ? []
|
|
711
|
+
// : [Layer.Layer<Exclude<Effect.Context<ReturnType<Make["effect"]>>, MakeDepsOut<Make>>, never, never>]
|
|
712
|
+
// ]
|
|
713
|
+
// effect: (match: typeof router3) => Effect<
|
|
714
|
+
// { [K in keyof FilterRequestModules<Resource>]: AnyHandler<Resource[K]> },
|
|
715
|
+
// any,
|
|
716
|
+
// any
|
|
717
|
+
// >
|
|
718
|
+
// }
|
|
719
|
+
// >(
|
|
720
|
+
// make: Make
|
|
721
|
+
// ): {
|
|
722
|
+
// moduleName: ModuleName
|
|
723
|
+
// Router: HttpRouter.HttpRouter.TagClass<
|
|
724
|
+
// RouterShape<Resource>,
|
|
725
|
+
// `${ModuleName}Router`,
|
|
726
|
+
// never,
|
|
727
|
+
// never
|
|
728
|
+
// >
|
|
729
|
+
// routes: any
|
|
730
|
+
|
|
731
|
+
// // just for type testing purposes
|
|
732
|
+
// make: Make
|
|
733
|
+
// }
|
|
739
734
|
} =
|
|
740
735
|
((make: { dependencies: any; effect: any }) =>
|
|
741
736
|
Object.assign(makeRoutes(make.dependencies, make.effect), { make })) as any
|
|
@@ -773,22 +768,25 @@ export type MakeDeps<Make> = Make extends { readonly dependencies: ReadonlyArray
|
|
|
773
768
|
? Make["dependencies"][number]
|
|
774
769
|
: never
|
|
775
770
|
|
|
776
|
-
export type MakeErrors<Make> = Make extends { readonly effect: (_: any) => Effect<any, infer E, any> } ? E
|
|
771
|
+
export type MakeErrors<Make> = /*Make extends { readonly effect: (_: any) => Effect<any, infer E, any> } ? E
|
|
777
772
|
: Make extends { readonly effect: (_: any) => Effect<any, never, any> } ? never
|
|
778
|
-
:
|
|
779
|
-
|
|
780
|
-
|
|
773
|
+
: */
|
|
774
|
+
Make extends { readonly effect: (_: any) => Generator<YieldWrap<Effect<any, never, any>>, any, any> } ? never
|
|
775
|
+
: Make extends { readonly effect: (_: any) => Generator<YieldWrap<Effect<any, infer E, any>>, any, any> } ? E
|
|
776
|
+
: never
|
|
781
777
|
|
|
782
|
-
export type MakeContext<Make> = Make extends { readonly effect: (_: any) => Effect<any, any, infer R> } ? R
|
|
778
|
+
export type MakeContext<Make> = /*Make extends { readonly effect: (_: any) => Effect<any, any, infer R> } ? R
|
|
783
779
|
: Make extends { readonly effect: (_: any) => Effect<any, any, never> } ? never
|
|
784
|
-
:
|
|
785
|
-
|
|
786
|
-
|
|
780
|
+
: */
|
|
781
|
+
Make extends { readonly effect: (_: any) => Generator<YieldWrap<Effect<any, any, never>>, any, any> } ? never
|
|
782
|
+
: Make extends { readonly effect: (_: any) => Generator<YieldWrap<Effect<any, any, infer R>>, any, any> } ? R
|
|
783
|
+
: never
|
|
787
784
|
|
|
788
|
-
export type MakeHandlers<Make,
|
|
785
|
+
export type MakeHandlers<Make, _Handlers extends Record<string, any>> = /*Make extends
|
|
789
786
|
{ readonly effect: (_: any) => Effect<{ [K in keyof Handlers]: AnyHandler<Handlers[K]> }, any, any> }
|
|
790
787
|
? Effect.Success<ReturnType<Make["effect"]>>
|
|
791
|
-
:
|
|
792
|
-
:
|
|
788
|
+
: */
|
|
789
|
+
Make extends { readonly effect: (_: any) => Generator<YieldWrap<any>, infer S, any> } ? S
|
|
790
|
+
: never
|
|
793
791
|
|
|
794
792
|
export type MakeDepsOut<Make> = Contravariant.Type<MakeDeps<Make>[Layer.LayerTypeId]["_ROut"]>
|
package/test/controller.test.ts
CHANGED
|
@@ -247,7 +247,7 @@ const router = Router(Something)({
|
|
|
247
247
|
SomethingService.Default,
|
|
248
248
|
SomethingService2.Default
|
|
249
249
|
],
|
|
250
|
-
effect
|
|
250
|
+
*effect(match) {
|
|
251
251
|
const repo = yield* SomethingRepo
|
|
252
252
|
const smth = yield* SomethingService
|
|
253
253
|
const smth2 = yield* SomethingService2
|
|
@@ -300,7 +300,7 @@ const router = Router(Something)({
|
|
|
300
300
|
raw: Some.use(() => Effect.succeed("12"))
|
|
301
301
|
}
|
|
302
302
|
})
|
|
303
|
-
}
|
|
303
|
+
}
|
|
304
304
|
})
|
|
305
305
|
|
|
306
306
|
it("sorts based on requirements", () => {
|