@effect-app/infra 2.16.7 → 2.17.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.
- package/CHANGELOG.md +12 -0
- package/_cjs/api/routing copy.cjs +196 -0
- package/_cjs/api/routing copy.cjs.map +1 -0
- package/_cjs/api/routing.cjs +2 -1
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/routing5.cjs +193 -0
- package/_cjs/api/routing5.cjs.map +1 -0
- package/dist/Model/Repository/ext.d.ts +3 -3
- package/dist/Model/query/new-kid-interpreter.d.ts +1 -1
- package/dist/QueueMaker/sbqueue.d.ts +2 -2
- package/dist/Store/service.d.ts +1 -1
- package/dist/api/routing copy.d.ts +160 -0
- package/dist/api/routing copy.d.ts.map +1 -0
- package/dist/api/routing copy.js +210 -0
- package/dist/api/routing.d.ts +12 -2
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +4 -3
- package/dist/api/routing5.d.ts +156 -0
- package/dist/api/routing5.d.ts.map +1 -0
- package/dist/api/routing5.js +210 -0
- package/package.json +11 -1
- package/src/api/routing.ts +159 -77
- package/src/api/routing5.ts +731 -0
- package/test/controller.test.ts +151 -0
- package/test/controller5.test.ts +193 -0
- package/test/dist/controller.test copy.js +129 -0
- package/test/dist/controller.test.d.ts.map +1 -0
- package/test/dist/controller5.test.d.ts.map +1 -0
- package/test/dist/filterApi.test.d.ts.map +1 -0
- 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 +37 -0
package/src/api/routing.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
1
2
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
2
3
|
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
3
4
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
@@ -303,82 +304,7 @@ export const makeRouter = <
|
|
|
303
304
|
? { [k in keyof Layers]: Layer.Layer.Error<Layers[k]> }[number]
|
|
304
305
|
: never
|
|
305
306
|
|
|
306
|
-
const
|
|
307
|
-
<
|
|
308
|
-
E,
|
|
309
|
-
R,
|
|
310
|
-
Make extends (
|
|
311
|
-
requests: RouteMatcher<CTXMap, Rsc, Context>
|
|
312
|
-
) => Effect<
|
|
313
|
-
{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
314
|
-
any,
|
|
315
|
-
Strict extends true ? GetSuccess<TLayers> : any
|
|
316
|
-
>,
|
|
317
|
-
THandlers extends { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
318
|
-
TLayers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[],
|
|
319
|
-
Strict extends boolean = true
|
|
320
|
-
>(
|
|
321
|
-
layers: TLayers,
|
|
322
|
-
make: Make & ((requests: RouteMatcher<CTXMap, Rsc, Context>) => Effect<THandlers, E, R>),
|
|
323
|
-
strict?: Strict
|
|
324
|
-
): {
|
|
325
|
-
moduleName: ModuleName
|
|
326
|
-
Router: HttpRouter.HttpRouter.TagClass<
|
|
327
|
-
RouterShape<Rsc>,
|
|
328
|
-
`${ModuleName}Router`,
|
|
329
|
-
never,
|
|
330
|
-
| Exclude<Context, HttpRouter.HttpRouter.Provided>
|
|
331
|
-
| Exclude<
|
|
332
|
-
RPCRouteR<
|
|
333
|
-
{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>> }[keyof Filter<Rsc>]
|
|
334
|
-
>,
|
|
335
|
-
HttpRouter.HttpRouter.Provided
|
|
336
|
-
>
|
|
337
|
-
>
|
|
338
|
-
routes: Layer.Layer<
|
|
339
|
-
RouterShape<Rsc>,
|
|
340
|
-
E | GetError<TLayers>,
|
|
341
|
-
| GetContext<TLayers>
|
|
342
|
-
// | GetContext<Layers> // elsewhere provided
|
|
343
|
-
| Exclude<R | RMW, GetSuccess<TLayers> | GetSuccess<Layers>>
|
|
344
|
-
>
|
|
345
|
-
}
|
|
346
|
-
<
|
|
347
|
-
E,
|
|
348
|
-
R,
|
|
349
|
-
THandlers extends { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
350
|
-
TLayers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[],
|
|
351
|
-
Strict extends boolean = true
|
|
352
|
-
>(
|
|
353
|
-
layers: [
|
|
354
|
-
...TLayers,
|
|
355
|
-
Layer.Layer<Exclude<R, GetSuccess<TLayers>>, never, never>
|
|
356
|
-
],
|
|
357
|
-
make: (requests: RouteMatcher<CTXMap, Rsc, Context>) => Effect<THandlers, E, R>,
|
|
358
|
-
strict?: Strict
|
|
359
|
-
): {
|
|
360
|
-
moduleName: ModuleName
|
|
361
|
-
Router: HttpRouter.HttpRouter.TagClass<
|
|
362
|
-
RouterShape<Rsc>,
|
|
363
|
-
`${ModuleName}Router`,
|
|
364
|
-
never,
|
|
365
|
-
| Exclude<Context, HttpRouter.HttpRouter.Provided>
|
|
366
|
-
| Exclude<
|
|
367
|
-
RPCRouteR<
|
|
368
|
-
{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>> }[keyof Filter<Rsc>]
|
|
369
|
-
>,
|
|
370
|
-
HttpRouter.HttpRouter.Provided
|
|
371
|
-
>
|
|
372
|
-
>
|
|
373
|
-
routes: Layer.Layer<
|
|
374
|
-
RouterShape<Rsc>,
|
|
375
|
-
E | GetError<TLayers>,
|
|
376
|
-
// | GetContext<Layers> // elsewhere provided
|
|
377
|
-
| GetContext<TLayers>
|
|
378
|
-
| Exclude<R | RMW, GetSuccess<TLayers> | GetSuccess<Layers>>
|
|
379
|
-
>
|
|
380
|
-
}
|
|
381
|
-
} = (<
|
|
307
|
+
const f = <
|
|
382
308
|
E,
|
|
383
309
|
R,
|
|
384
310
|
THandlers extends {
|
|
@@ -540,7 +466,163 @@ export const makeRouter = <
|
|
|
540
466
|
Router: r,
|
|
541
467
|
routes
|
|
542
468
|
}
|
|
543
|
-
}
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
const effect: {
|
|
472
|
+
// Multiple times duplicated the "good" overload, so that errors will only mention the last overload when failing
|
|
473
|
+
<
|
|
474
|
+
E,
|
|
475
|
+
R,
|
|
476
|
+
Make extends (
|
|
477
|
+
requests: RouteMatcher<CTXMap, Rsc, Context>
|
|
478
|
+
) => Effect<
|
|
479
|
+
{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
480
|
+
any,
|
|
481
|
+
Strict extends true ? GetSuccess<TLayers> : any
|
|
482
|
+
>,
|
|
483
|
+
THandlers extends { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
484
|
+
TLayers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[],
|
|
485
|
+
Strict extends boolean = true
|
|
486
|
+
>(
|
|
487
|
+
layers: TLayers,
|
|
488
|
+
make: Make & ((requests: RouteMatcher<CTXMap, Rsc, Context>) => Effect<THandlers, E, R>),
|
|
489
|
+
strict?: Strict
|
|
490
|
+
): {
|
|
491
|
+
moduleName: ModuleName
|
|
492
|
+
Router: HttpRouter.HttpRouter.TagClass<
|
|
493
|
+
RouterShape<Rsc>,
|
|
494
|
+
`${ModuleName}Router`,
|
|
495
|
+
never,
|
|
496
|
+
| Exclude<Context, HttpRouter.HttpRouter.Provided>
|
|
497
|
+
| Exclude<
|
|
498
|
+
RPCRouteR<
|
|
499
|
+
{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>> }[keyof Filter<Rsc>]
|
|
500
|
+
>,
|
|
501
|
+
HttpRouter.HttpRouter.Provided
|
|
502
|
+
>
|
|
503
|
+
>
|
|
504
|
+
routes: Layer.Layer<
|
|
505
|
+
RouterShape<Rsc>,
|
|
506
|
+
E | GetError<TLayers>,
|
|
507
|
+
| GetContext<TLayers>
|
|
508
|
+
// | GetContext<Layers> // elsewhere provided
|
|
509
|
+
| Exclude<R | RMW, GetSuccess<TLayers> | GetSuccess<Layers>>
|
|
510
|
+
>
|
|
511
|
+
}
|
|
512
|
+
<
|
|
513
|
+
E,
|
|
514
|
+
R,
|
|
515
|
+
Make extends (
|
|
516
|
+
requests: RouteMatcher<CTXMap, Rsc, Context>
|
|
517
|
+
) => Effect<
|
|
518
|
+
{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
519
|
+
any,
|
|
520
|
+
Strict extends true ? GetSuccess<TLayers> : any
|
|
521
|
+
>,
|
|
522
|
+
THandlers extends { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
523
|
+
TLayers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[],
|
|
524
|
+
Strict extends boolean = true
|
|
525
|
+
>(
|
|
526
|
+
layers: TLayers,
|
|
527
|
+
make: Make & ((requests: RouteMatcher<CTXMap, Rsc, Context>) => Effect<THandlers, E, R>),
|
|
528
|
+
strict?: Strict
|
|
529
|
+
): {
|
|
530
|
+
moduleName: ModuleName
|
|
531
|
+
Router: HttpRouter.HttpRouter.TagClass<
|
|
532
|
+
RouterShape<Rsc>,
|
|
533
|
+
`${ModuleName}Router`,
|
|
534
|
+
never,
|
|
535
|
+
| Exclude<Context, HttpRouter.HttpRouter.Provided>
|
|
536
|
+
| Exclude<
|
|
537
|
+
RPCRouteR<
|
|
538
|
+
{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>> }[keyof Filter<Rsc>]
|
|
539
|
+
>,
|
|
540
|
+
HttpRouter.HttpRouter.Provided
|
|
541
|
+
>
|
|
542
|
+
>
|
|
543
|
+
routes: Layer.Layer<
|
|
544
|
+
RouterShape<Rsc>,
|
|
545
|
+
E | GetError<TLayers>,
|
|
546
|
+
| GetContext<TLayers>
|
|
547
|
+
// | GetContext<Layers> // elsewhere provided
|
|
548
|
+
| Exclude<R | RMW, GetSuccess<TLayers> | GetSuccess<Layers>>
|
|
549
|
+
>
|
|
550
|
+
}
|
|
551
|
+
<
|
|
552
|
+
E,
|
|
553
|
+
R,
|
|
554
|
+
Make extends (
|
|
555
|
+
requests: RouteMatcher<CTXMap, Rsc, Context>
|
|
556
|
+
) => Effect<
|
|
557
|
+
{ [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
558
|
+
any,
|
|
559
|
+
Strict extends true ? GetSuccess<TLayers> : any
|
|
560
|
+
>,
|
|
561
|
+
THandlers extends { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
562
|
+
TLayers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[],
|
|
563
|
+
Strict extends boolean = true
|
|
564
|
+
>(
|
|
565
|
+
layers: TLayers,
|
|
566
|
+
make: Make & ((requests: RouteMatcher<CTXMap, Rsc, Context>) => Effect<THandlers, E, R>),
|
|
567
|
+
strict?: Strict
|
|
568
|
+
): {
|
|
569
|
+
moduleName: ModuleName
|
|
570
|
+
Router: HttpRouter.HttpRouter.TagClass<
|
|
571
|
+
RouterShape<Rsc>,
|
|
572
|
+
`${ModuleName}Router`,
|
|
573
|
+
never,
|
|
574
|
+
| Exclude<Context, HttpRouter.HttpRouter.Provided>
|
|
575
|
+
| Exclude<
|
|
576
|
+
RPCRouteR<
|
|
577
|
+
{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>> }[keyof Filter<Rsc>]
|
|
578
|
+
>,
|
|
579
|
+
HttpRouter.HttpRouter.Provided
|
|
580
|
+
>
|
|
581
|
+
>
|
|
582
|
+
routes: Layer.Layer<
|
|
583
|
+
RouterShape<Rsc>,
|
|
584
|
+
E | GetError<TLayers>,
|
|
585
|
+
| GetContext<TLayers>
|
|
586
|
+
// | GetContext<Layers> // elsewhere provided
|
|
587
|
+
| Exclude<R | RMW, GetSuccess<TLayers> | GetSuccess<Layers>>
|
|
588
|
+
>
|
|
589
|
+
}
|
|
590
|
+
<
|
|
591
|
+
E,
|
|
592
|
+
R,
|
|
593
|
+
THandlers extends { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]> },
|
|
594
|
+
TLayers extends NonEmptyReadonlyArray<Layer.Layer.Any> | never[],
|
|
595
|
+
Strict extends boolean = true
|
|
596
|
+
>(
|
|
597
|
+
layers: [
|
|
598
|
+
...TLayers,
|
|
599
|
+
Layer.Layer<Exclude<R, GetSuccess<TLayers>>, never, never>
|
|
600
|
+
],
|
|
601
|
+
make: (requests: RouteMatcher<CTXMap, Rsc, Context>) => Effect<THandlers, E, R>,
|
|
602
|
+
strict?: Strict
|
|
603
|
+
): {
|
|
604
|
+
moduleName: ModuleName
|
|
605
|
+
Router: HttpRouter.HttpRouter.TagClass<
|
|
606
|
+
RouterShape<Rsc>,
|
|
607
|
+
`${ModuleName}Router`,
|
|
608
|
+
never,
|
|
609
|
+
| Exclude<Context, HttpRouter.HttpRouter.Provided>
|
|
610
|
+
| Exclude<
|
|
611
|
+
RPCRouteR<
|
|
612
|
+
{ [K in keyof Filter<Rsc>]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>> }[keyof Filter<Rsc>]
|
|
613
|
+
>,
|
|
614
|
+
HttpRouter.HttpRouter.Provided
|
|
615
|
+
>
|
|
616
|
+
>
|
|
617
|
+
routes: Layer.Layer<
|
|
618
|
+
RouterShape<Rsc>,
|
|
619
|
+
E | GetError<TLayers>,
|
|
620
|
+
// | GetContext<Layers> // elsewhere provided
|
|
621
|
+
| GetContext<TLayers>
|
|
622
|
+
| Exclude<R | RMW, GetSuccess<TLayers> | GetSuccess<Layers>>
|
|
623
|
+
>
|
|
624
|
+
}
|
|
625
|
+
} = f as any
|
|
544
626
|
|
|
545
627
|
return effect
|
|
546
628
|
}
|