@effect-app/infra 1.28.4 → 1.29.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.
Files changed (67) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/_cjs/api/internal/auth.cjs +3 -1
  3. package/_cjs/api/internal/auth.cjs.map +1 -1
  4. package/_cjs/api/routing/DynamicMiddleware.cjs.map +1 -0
  5. package/_cjs/api/routing.cjs +135 -43
  6. package/_cjs/api/routing.cjs.map +1 -1
  7. package/dist/api/internal/auth.d.ts +8 -1
  8. package/dist/api/internal/auth.d.ts.map +1 -1
  9. package/dist/api/internal/auth.js +4 -2
  10. package/dist/api/routing/DynamicMiddleware.d.ts.map +1 -0
  11. package/dist/api/routing/DynamicMiddleware.js +33 -0
  12. package/dist/api/routing.d.ts +100 -4
  13. package/dist/api/routing.d.ts.map +1 -1
  14. package/dist/api/routing.js +116 -9
  15. package/dist/services/Repository/ext.d.ts +4 -4
  16. package/package.json +9 -79
  17. package/src/api/internal/auth.ts +9 -1
  18. package/src/api/routing.ts +434 -8
  19. package/_cjs/api/routing/base.cjs +0 -135
  20. package/_cjs/api/routing/base.cjs.map +0 -1
  21. package/_cjs/api/routing/defaultErrorHandler.cjs +0 -62
  22. package/_cjs/api/routing/defaultErrorHandler.cjs.map +0 -1
  23. package/_cjs/api/routing/makeRequestHandler.cjs +0 -130
  24. package/_cjs/api/routing/makeRequestHandler.cjs.map +0 -1
  25. package/_cjs/api/routing/match.cjs +0 -40
  26. package/_cjs/api/routing/match.cjs.map +0 -1
  27. package/_cjs/api/routing/schema/routing.cjs +0 -136
  28. package/_cjs/api/routing/schema/routing.cjs.map +0 -1
  29. package/_cjs/api/routing2/DynamicMiddleware.cjs.map +0 -1
  30. package/_cjs/api/routing2.cjs +0 -142
  31. package/_cjs/api/routing2.cjs.map +0 -1
  32. package/_cjs/router.cjs +0 -170
  33. package/_cjs/router.cjs.map +0 -1
  34. package/dist/api/routing/base.d.ts +0 -97
  35. package/dist/api/routing/base.d.ts.map +0 -1
  36. package/dist/api/routing/base.js +0 -129
  37. package/dist/api/routing/defaultErrorHandler.d.ts +0 -19
  38. package/dist/api/routing/defaultErrorHandler.d.ts.map +0 -1
  39. package/dist/api/routing/defaultErrorHandler.js +0 -68
  40. package/dist/api/routing/makeRequestHandler.d.ts +0 -20
  41. package/dist/api/routing/makeRequestHandler.d.ts.map +0 -1
  42. package/dist/api/routing/makeRequestHandler.js +0 -151
  43. package/dist/api/routing/match.d.ts +0 -12
  44. package/dist/api/routing/match.d.ts.map +0 -1
  45. package/dist/api/routing/match.js +0 -27
  46. package/dist/api/routing/schema/routing.d.ts +0 -31
  47. package/dist/api/routing/schema/routing.d.ts.map +0 -1
  48. package/dist/api/routing/schema/routing.js +0 -123
  49. package/dist/api/routing2/DynamicMiddleware.d.ts.map +0 -1
  50. package/dist/api/routing2/DynamicMiddleware.js +0 -33
  51. package/dist/api/routing2.d.ts +0 -93
  52. package/dist/api/routing2.d.ts.map +0 -1
  53. package/dist/api/routing2.js +0 -117
  54. package/dist/router.d.ts +0 -91
  55. package/dist/router.d.ts.map +0 -1
  56. package/dist/router.js +0 -154
  57. package/src/api/routing/base.ts +0 -379
  58. package/src/api/routing/defaultErrorHandler.ts +0 -140
  59. package/src/api/routing/makeRequestHandler.ts +0 -343
  60. package/src/api/routing/match.ts +0 -128
  61. package/src/api/routing/schema/routing.ts +0 -237
  62. package/src/api/routing2.ts +0 -425
  63. package/src/api/writeDocs.ts.bak +0 -31
  64. package/src/router.ts +0 -619
  65. /package/_cjs/api/{routing2 → routing}/DynamicMiddleware.cjs +0 -0
  66. /package/dist/api/{routing2 → routing}/DynamicMiddleware.d.ts +0 -0
  67. /package/src/api/{routing2 → routing}/DynamicMiddleware.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 1.29.1
4
+
5
+ ### Patch Changes
6
+
7
+ - dd23d45: add missing JWTError
8
+
9
+ ## 1.29.0
10
+
11
+ ### Minor Changes
12
+
13
+ - cleanup all legacy router cruft
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies
18
+ - @effect-app/infra-adapters@1.15.0
19
+ - effect-app@1.21.0
20
+ - @effect-app/schema@1.15.0
21
+
3
22
  ## 1.28.4
4
23
 
5
24
  ### Patch Changes
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.checkJwt = exports.checkJWTI = void 0;
6
+ exports.checkJwt = exports.checkJWTI = exports.JWTError = void 0;
7
7
  var _effectApp = require("effect-app");
8
8
  var _http = require("effect-app/http");
9
9
  var _expressOauth2JwtBearer = require("express-oauth2-jwt-bearer");
@@ -53,4 +53,6 @@ const checkJwt = config => {
53
53
  }));
54
54
  };
55
55
  exports.checkJwt = checkJwt;
56
+ class JWTError extends _effectApp.Data.TaggedClass("JWTError") {}
57
+ exports.JWTError = JWTError;
56
58
  //# sourceMappingURL=auth.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.cjs","names":["_effectApp","require","_http","_expressOauth2JwtBearer","checkJWTI","config","mw","auth","Effect","gen","req","HttpServerRequest","async","cb","next","err","void","InsufficientScopeError","InvalidRequestError","InvalidTokenError","UnauthorizedError","fail","die","r","headers","query","body","is","e","exports","checkJwt","check","HttpMiddleware","make","app","response","pipe","catchAll","succeed","HttpServerResponse","unsafeJson","message","status","HttpHeaders","fromInput"],"sources":["../../../src/api/internal/auth.ts"],"sourcesContent":[null],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAJA;AACA;;AAgBO,MAAMG,SAAS,GAAIC,MAAc,IAAI;EAC1C,MAAMC,EAAE,GAAG,IAAAC,4BAAI,EAACF,MAAM,CAAC;EACvB,OAAOG,iBAAM,CAACC,GAAG,CAAC,aAAS;IACzB,MAAMC,GAAG,GAAG,OAAOC,uBAAiB,CAACA,iBAAiB;IAEtD,OAAO,OAAOH,iBAAM,CAACI,KAAK,CAIvBC,EAAE,IAAI;MACL,MAAMC,IAAI,GAAIC,GAAa,IAAI;QAC7B,IAAI,CAACA,GAAG,EAAE,OAAOF,EAAE,CAACL,iBAAM,CAACQ,IAAI,CAAC;QAChC,IACED,GAAG,YAAYE,8CAAsB,IAClCF,GAAG,YAAYG,2CAAmB,IAClCH,GAAG,YAAYI,yCAAiB,IAChCJ,GAAG,YAAYK,yCAAiB,EACnC;UACA,OAAOP,EAAE,CAACL,iBAAM,CAACa,IAAI,CAACN,GAAG,CAAC,CAAC;QAC7B;QACA,OAAOP,iBAAM,CAACc,GAAG,CAACP,GAAG,CAAC;MACxB,CAAC;MACD,MAAMQ,CAAC,GAAG;QAAEC,OAAO,EAAEd,GAAG,CAACc,OAAO;QAAEC,KAAK,EAAE,EAAE;QAAEC,IAAI,EAAE,EAAE;QAAEC,EAAE,EAAEA,CAAA,KAAM;MAAK,CAAE,EAAC;MACzE,IAAI;QACFrB,EAAE,CAACiB,CAAQ,EAAE,EAAS,EAAET,IAAI,CAAC;MAC/B,CAAC,CAAC,OAAOc,CAAC,EAAE;QACV,OAAOf,EAAE,CAACL,iBAAM,CAACc,GAAG,CAACM,CAAC,CAAC,CAAC;MAC1B;IACF,CAAC,CACF;EACH,CAAC,CAAC;AACJ,CAAC;AAAAC,OAAA,CAAAzB,SAAA,GAAAA,SAAA;AAEM,MAAM0B,QAAQ,GAAIzB,MAAc,IAAI;EACzC,MAAM0B,KAAK,GAAG3B,SAAS,CAACC,MAAM,CAAC;EAC/B,OAAO2B,oBAAc,CAACC,IAAI,CAAEC,GAAG,IAC7B1B,iBAAM,CAACC,GAAG,CAAC,aAAS;IAClB,MAAM0B,QAAQ,GAAG,OAAOJ,KAAK,CAACK,IAAI,CAAC5B,iBAAM,CAAC6B,QAAQ,CAAET,CAAC,IACnDpB,iBAAM,CAAC8B,OAAO,CACZC,wBAAkB,CAACC,UAAU,CAAC;MAAEC,OAAO,EAAEb,CAAC,CAACa;IAAO,CAAE,EAAE;MACpDC,MAAM,EAAEd,CAAC,CAACc,MAAM;MAChBlB,OAAO,EAAEmB,iBAAW,CAACC,SAAS,CAAChB,CAAC,CAACJ,OAAO;KACzC,CAAC,CACH,CACF,CAAC;IACF,IAAIW,QAAQ,EAAE;MACZ,OAAOA,QAAQ;IACjB;IACA,OAAO,OAAOD,GAAG;EACnB,CAAC,CAAC,CACH;AACH,CAAC;AAAAL,OAAA,CAAAC,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"auth.cjs","names":["_effectApp","require","_http","_expressOauth2JwtBearer","checkJWTI","config","mw","auth","Effect","gen","req","HttpServerRequest","async","cb","next","err","void","InsufficientScopeError","InvalidRequestError","InvalidTokenError","UnauthorizedError","fail","die","r","headers","query","body","is","e","exports","checkJwt","check","HttpMiddleware","make","app","response","pipe","catchAll","succeed","HttpServerResponse","unsafeJson","message","status","HttpHeaders","fromInput","JWTError","Data","TaggedClass"],"sources":["../../../src/api/internal/auth.ts"],"sourcesContent":[null],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAJA;AACA;;AAgBO,MAAMG,SAAS,GAAIC,MAAc,IAAI;EAC1C,MAAMC,EAAE,GAAG,IAAAC,4BAAI,EAACF,MAAM,CAAC;EACvB,OAAOG,iBAAM,CAACC,GAAG,CAAC,aAAS;IACzB,MAAMC,GAAG,GAAG,OAAOC,uBAAiB,CAACA,iBAAiB;IAEtD,OAAO,OAAOH,iBAAM,CAACI,KAAK,CAIvBC,EAAE,IAAI;MACL,MAAMC,IAAI,GAAIC,GAAa,IAAI;QAC7B,IAAI,CAACA,GAAG,EAAE,OAAOF,EAAE,CAACL,iBAAM,CAACQ,IAAI,CAAC;QAChC,IACED,GAAG,YAAYE,8CAAsB,IAClCF,GAAG,YAAYG,2CAAmB,IAClCH,GAAG,YAAYI,yCAAiB,IAChCJ,GAAG,YAAYK,yCAAiB,EACnC;UACA,OAAOP,EAAE,CAACL,iBAAM,CAACa,IAAI,CAACN,GAAG,CAAC,CAAC;QAC7B;QACA,OAAOP,iBAAM,CAACc,GAAG,CAACP,GAAG,CAAC;MACxB,CAAC;MACD,MAAMQ,CAAC,GAAG;QAAEC,OAAO,EAAEd,GAAG,CAACc,OAAO;QAAEC,KAAK,EAAE,EAAE;QAAEC,IAAI,EAAE,EAAE;QAAEC,EAAE,EAAEA,CAAA,KAAM;MAAK,CAAE,EAAC;MACzE,IAAI;QACFrB,EAAE,CAACiB,CAAQ,EAAE,EAAS,EAAET,IAAI,CAAC;MAC/B,CAAC,CAAC,OAAOc,CAAC,EAAE;QACV,OAAOf,EAAE,CAACL,iBAAM,CAACc,GAAG,CAACM,CAAC,CAAC,CAAC;MAC1B;IACF,CAAC,CACF;EACH,CAAC,CAAC;AACJ,CAAC;AAAAC,OAAA,CAAAzB,SAAA,GAAAA,SAAA;AAEM,MAAM0B,QAAQ,GAAIzB,MAAc,IAAI;EACzC,MAAM0B,KAAK,GAAG3B,SAAS,CAACC,MAAM,CAAC;EAC/B,OAAO2B,oBAAc,CAACC,IAAI,CAAEC,GAAG,IAC7B1B,iBAAM,CAACC,GAAG,CAAC,aAAS;IAClB,MAAM0B,QAAQ,GAAG,OAAOJ,KAAK,CAACK,IAAI,CAAC5B,iBAAM,CAAC6B,QAAQ,CAAET,CAAC,IACnDpB,iBAAM,CAAC8B,OAAO,CACZC,wBAAkB,CAACC,UAAU,CAAC;MAAEC,OAAO,EAAEb,CAAC,CAACa;IAAO,CAAE,EAAE;MACpDC,MAAM,EAAEd,CAAC,CAACc,MAAM;MAChBlB,OAAO,EAAEmB,iBAAW,CAACC,SAAS,CAAChB,CAAC,CAACJ,OAAO;KACzC,CAAC,CACH,CACF,CAAC;IACF,IAAIW,QAAQ,EAAE;MACZ,OAAOA,QAAQ;IACjB;IACA,OAAO,OAAOD,GAAG;EACnB,CAAC,CAAC,CACH;AACH,CAAC;AAAAL,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAEK,MAAOe,QAAS,SAAQC,eAAI,CAACC,WAAW,CAAC,UAAU,CAMvD;AAAGlB,OAAA,CAAAgB,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicMiddleware.cjs","names":["_rpc","require","_effectApp","merge","a","b","undefined","length","S","Union","Never","makeRpcClient","errors","generalErrors","TaggedRequest","errorSchemas","Object","values","tag","fields","config","req","payload","failure","filter","Boolean","success","Void","assign","exports","makeRpc","middleware","effect","schema","handler","moduleName","Rpc","execute"],"sources":["../../../src/api/routing/DynamicMiddleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AALA;AACA;AACA;;AAuEA,MAAME,KAAK,GAAGA,CAACC,CAAM,EAAEC,CAAa;AAClC;AACAD,CAAC,KAAKE,SAAS,IAAID,CAAC,CAACE,MAAM,GAAGC,YAAC,CAACC,KAAK,CAACL,CAAC,EAAE,GAAGC,CAAC,CAAC,GAAGD,CAAC,KAAKE,SAAS,GAAGF,CAAC,GAAGC,CAAC,CAACE,MAAM,GAAGC,YAAC,CAACC,KAAK,CAAC,GAAGJ,CAAC,CAAC,GAAGG,YAAC,CAACE,KAAK;AAEpG,MAAMC,aAAa,GAAGA,CAK3BC,MAA6C,EAC7CC,aAA6B,KAC3B;EAGF,SAASC,aAAaA,CAAA;IAqEpB;IACA,MAAMC,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACL,MAAM,CAAC;IAC1C,OAAQ,CACNM,GAAQ,EACRC,MAAc,EACdC,MAAU,KACR;MACF,MAAMC,GAAG,GAAGb,YAAC,CAACM,aAAa,EAAQ,CAACI,GAAG,EAAE;QACvCI,OAAO,EAAEH,MAAM;QACfI,OAAO,EAAEpB,KAAK,CAACiB,MAAM,EAAEG,OAAO,EAAE,CAAC,GAAGR,YAAY,EAAEF,aAAa,CAAC,CAACW,MAAM,CAACC,OAAO,CAAC,CAAC;QACjFC,OAAO,EAAEN,MAAM,EAAEM,OAAO,IAAIlB,YAAC,CAACmB;OAC/B,CAAC;MACF,OAAOX,MAAM,CAACY,MAAM,CAACP,GAAG,EAAE;QAAED;MAAM,CAAE,CAAC;IACvC,CAAC;EACH;EAEA,OAAO;IACLN;GACD;AACH,CAAC;AAAAe,OAAA,CAAAlB,aAAA,GAAAA,aAAA;AA0BM,MAAMmB,OAAO,GAClBC,UAAuC,IACrC;EACF,OAAO;IACLC,MAAM,EAAEA,CACNC,MAAqC,EACrCC,OAMC,EACDC,UAAmB,KACjB;MACF,OAAOC,QAAG,CAACJ,MAAM,CACfC,MAAM,EACNF,UAAU,CAACM,OAAO,CAACJ,MAAM,EAAEC,OAAO,EAAEC,UAAU,CAAC,CAChD;IACH;GACD;AACH,CAAC;AAAAN,OAAA,CAAAC,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -3,48 +3,140 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _base = require("./routing/base.cjs");
7
- Object.keys(_base).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _base[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _base[key];
14
- }
15
- });
16
- });
17
- var _defaultErrorHandler = require("./routing/defaultErrorHandler.cjs");
18
- Object.keys(_defaultErrorHandler).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _defaultErrorHandler[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _defaultErrorHandler[key];
25
- }
26
- });
27
- });
28
- var _makeRequestHandler = require("./routing/makeRequestHandler.cjs");
29
- Object.keys(_makeRequestHandler).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _makeRequestHandler[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _makeRequestHandler[key];
36
- }
37
- });
38
- });
39
- var _match = require("./routing/match.cjs");
40
- Object.keys(_match).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (key in exports && exports[key] === _match[key]) return;
43
- Object.defineProperty(exports, key, {
44
- enumerable: true,
45
- get: function () {
46
- return _match[key];
47
- }
6
+ exports.toHttpApp = exports.makeRouter = void 0;
7
+ var _Effect = require("@effect-app/core/Effect");
8
+ var _utils = require("@effect-app/core/utils");
9
+ var _rpc = require("@effect/rpc");
10
+ var _effectApp = require("effect-app");
11
+ var _http = require("effect-app/http");
12
+ var _DynamicMiddleware = require("./routing/DynamicMiddleware.cjs");
13
+ /* eslint-disable @typescript-eslint/no-unsafe-argument */
14
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
15
+ /* eslint-disable @typescript-eslint/no-explicit-any */
16
+ /*
17
+ TODO: Effect.retry(r2, optimisticConcurrencySchedule) / was for PATCH only
18
+ TODO: uninteruptible commands! was for All except GET.
19
+ */
20
+
21
+ /**
22
+ * Plain jane JSON version
23
+ */
24
+ const toHttpApp = (self, options) => {
25
+ const handler = _rpc.RpcRouter.toHandler(self, options);
26
+ return _effectApp.Effect.withFiberRuntime(fiber => {
27
+ const context = fiber.getFiberRef(_effectApp.FiberRef.currentContext);
28
+ const request = _effectApp.Context.unsafeGet(context, _http.HttpServerRequest.HttpServerRequest);
29
+ return _effectApp.Effect.flatMap(request.json, _ => handler(_).pipe(_effectApp.Stream.provideContext(context), _effectApp.Stream.runCollect, _effectApp.Effect.map(_ => _effectApp.Chunk.toReadonlyArray(_)), _effectApp.Effect.andThen(_ => _http.HttpServerResponse.json(_)), _effectApp.Effect.orDie));
48
30
  });
49
- });
31
+ };
32
+ exports.toHttpApp = toHttpApp;
33
+ const makeRouter = middleware => {
34
+ const rpc = (0, _DynamicMiddleware.makeRpc)(middleware);
35
+ function matchFor(rsc) {
36
+ const meta = rsc.meta;
37
+ if (!meta) throw new Error("Resource has no meta specified"); // TODO: do something with moduleName+cur etc.
38
+ const filtered = (0, _utils.typedKeysOf)(rsc).reduce((acc, cur) => {
39
+ if (_effectApp.Predicate.isObject(rsc[cur]) && rsc[cur]["success"]) {
40
+ acc[cur] = rsc[cur];
41
+ }
42
+ return acc;
43
+ }, {});
44
+ const matchWithServices = action => {
45
+ return (services, f) => req => _effectApp.Effect.andThen(_effectApp.Effect.all({
46
+ svc: (0, _Effect.allLower)(services),
47
+ ctx: middleware.makeContext
48
+ }), ({
49
+ ctx,
50
+ svc
51
+ }) => f(req, {
52
+ ...svc,
53
+ ...ctx,
54
+ Response: rsc[action].success
55
+ }));
56
+ };
57
+ const controllers = controllers => {
58
+ const handlers = (0, _utils.typedKeysOf)(filtered).reduce((acc, cur) => {
59
+ ;
60
+ acc[cur] = {
61
+ h: controllers[cur].handler,
62
+ Request: rsc[cur]
63
+ };
64
+ return acc;
65
+ }, {});
66
+ const mapped = (0, _utils.typedKeysOf)(handlers).reduce((acc, cur) => {
67
+ const handler = handlers[cur];
68
+ const req = handler.Request;
69
+ acc[cur] = rpc.effect(req, handler.h, meta.moduleName); // TODO
70
+ return acc;
71
+ }, {});
72
+ const router = _rpc.RpcRouter.make(...Object.values(mapped));
73
+ return _http.HttpRouter.empty.pipe(_http.HttpRouter.all("/rpc/" + rsc.meta.moduleName, toHttpApp(router),
74
+ // TODO: not queries.
75
+ {
76
+ uninterruptible: true
77
+ }));
78
+ };
79
+ const r = {
80
+ controllers,
81
+ ...(0, _utils.typedKeysOf)(filtered).reduce((prev, cur) => {
82
+ ;
83
+ prev[cur] = (svcOrFnOrEffect, fnOrNone) => {
84
+ const stack = new Error().stack?.split("\n").slice(2).join("\n");
85
+ return _effectApp.Effect.isEffect(svcOrFnOrEffect) ? class {
86
+ static stack = stack;
87
+ static _tag = "d";
88
+ static handler = () => svcOrFnOrEffect;
89
+ } : typeof svcOrFnOrEffect === "function" ? class {
90
+ static stack = stack;
91
+ static _tag = "d";
92
+ static handler = req => _effectApp.Effect.andThen(_effectApp.Effect.all({
93
+ ctx: middleware.makeContext
94
+ }), ({
95
+ ctx
96
+ }) => svcOrFnOrEffect(req, {
97
+ ...ctx,
98
+ Response: rsc[cur].success
99
+ }));
100
+ } : class {
101
+ static stack = stack;
102
+ static _tag = "d";
103
+ static handler = matchWithServices(cur)(svcOrFnOrEffect, fnOrNone);
104
+ };
105
+ };
106
+ prev[cur + "Raw"] = (svcOrFnOrEffect, fnOrNone) => {
107
+ const stack = new Error().stack?.split("\n").slice(2).join("\n");
108
+ return _effectApp.Effect.isEffect(svcOrFnOrEffect) ? class {
109
+ static stack = stack;
110
+ static _tag = "raw";
111
+ static handler = () => svcOrFnOrEffect;
112
+ } : typeof svcOrFnOrEffect === "function" ? class {
113
+ static stack = stack;
114
+ static _tag = "raw";
115
+ static handler = (req, ctx) => svcOrFnOrEffect(req, {
116
+ ...ctx,
117
+ Response: rsc[cur].success
118
+ });
119
+ } : class {
120
+ static stack = stack;
121
+ static _tag = "raw";
122
+ static handler = matchWithServices(cur)(svcOrFnOrEffect, fnOrNone);
123
+ };
124
+ };
125
+ return prev;
126
+ }, {})
127
+ };
128
+ return r;
129
+ }
130
+ function matchAll(handlers) {
131
+ const r = (0, _utils.typedKeysOf)(handlers).reduce((acc, cur) => {
132
+ return _http.HttpRouter.concat(acc, handlers[cur]);
133
+ }, _http.HttpRouter.empty);
134
+ return r;
135
+ }
136
+ return {
137
+ matchAll,
138
+ matchFor
139
+ };
140
+ };
141
+ exports.makeRouter = makeRouter;
50
142
  //# sourceMappingURL=routing.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.cjs","names":["_base","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_defaultErrorHandler","_makeRequestHandler","_match"],"sources":["../../src/api/routing.ts"],"sourcesContent":[null],"mappings":";;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,oBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,oBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,oBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,mBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,mBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,mBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,mBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"routing.cjs","names":["_Effect","require","_utils","_rpc","_effectApp","_http","_DynamicMiddleware","toHttpApp","self","options","handler","RpcRouter","toHandler","Effect","withFiberRuntime","fiber","context","getFiberRef","FiberRef","currentContext","request","Context","unsafeGet","HttpServerRequest","flatMap","json","_","pipe","Stream","provideContext","runCollect","map","Chunk","toReadonlyArray","andThen","HttpServerResponse","orDie","exports","makeRouter","middleware","rpc","makeRpc","matchFor","rsc","meta","Error","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","matchWithServices","action","services","f","req","all","svc","allLower","ctx","makeContext","Response","success","controllers","handlers","h","Request","mapped","effect","moduleName","router","make","Object","values","HttpRouter","empty","uninterruptible","r","prev","svcOrFnOrEffect","fnOrNone","stack","split","slice","join","isEffect","_tag","matchAll","concat"],"sources":["../../src/api/routing.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,15 @@
1
1
  import { Effect } from "effect-app";
2
2
  import { HttpServerRequest, HttpServerResponse } from "effect-app/http";
3
- import { auth, UnauthorizedError } from "express-oauth2-jwt-bearer";
3
+ import { auth, InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError } from "express-oauth2-jwt-bearer";
4
4
  type Config = Parameters<typeof auth>[0];
5
5
  export declare const checkJWTI: (config: Config) => Effect.Effect<void, UnauthorizedError, HttpServerRequest.HttpServerRequest>;
6
6
  export declare const checkJwt: (config: Config) => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
7
+ declare const JWTError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
8
+ readonly _tag: "JWTError";
9
+ };
10
+ export declare class JWTError extends JWTError_base<{
11
+ error: InsufficientScopeError | InvalidRequestError | InvalidTokenError | UnauthorizedError;
12
+ }> {
13
+ }
7
14
  export {};
8
15
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/internal/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAA+B,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,EACL,IAAI,EAIJ,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAMlC,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,eAAO,MAAM,SAAS,WAAY,MAAM,gFA+BvC,CAAA;AAED,eAAO,MAAM,QAAQ,WAAY,MAAM,sKAkBtC,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/api/internal/auth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,MAAM,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,EAA+B,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpG,OAAO,EACL,IAAI,EACJ,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAMlC,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,eAAO,MAAM,SAAS,WAAY,MAAM,gFA+BvC,CAAA;AAED,eAAO,MAAM,QAAQ,WAAY,MAAM,sKAkBtC,CAAA;;;;AAED,qBAAa,QAAS,SAAQ,cAA6B;IACzD,KAAK,EACD,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,CAAA;CACtB,CAAC;CAAG"}
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  /* eslint-disable unused-imports/no-unused-vars */
3
- import { Effect } from "effect-app";
3
+ import { Data, Effect } from "effect-app";
4
4
  import { HttpHeaders, HttpMiddleware, HttpServerRequest, HttpServerResponse } from "effect-app/http";
5
5
  import { auth, InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError } from "express-oauth2-jwt-bearer";
6
6
  export const checkJWTI = (config) => {
@@ -42,4 +42,6 @@ export const checkJwt = (config) => {
42
42
  return yield* app;
43
43
  }));
44
44
  };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaW50ZXJuYWwvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNwRyxPQUFPLEVBQ0wsSUFBSSxFQUNKLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNsQixNQUFNLDJCQUEyQixDQUFBO0FBT2xDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFBO1FBRXRELE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FJeEIsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNMLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHO29CQUFFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDaEMsSUFDRSxHQUFHLFlBQVksc0JBQXNCO3VCQUNsQyxHQUFHLFlBQVksbUJBQW1CO3VCQUNsQyxHQUFHLFlBQVksaUJBQWlCO3VCQUNoQyxHQUFHLFlBQVksaUJBQWlCLEVBQ25DLENBQUM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUM3QixDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN4QixDQUFDLENBQUE7WUFDRCxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7WUFDNUYsSUFBSSxDQUFDO2dCQUNILEVBQUUsQ0FBQyxDQUFRLEVBQUUsRUFBUyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9CLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNsQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN2RCxNQUFNLENBQUMsT0FBTyxDQUNaLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDMUMsQ0FBQyxDQUNILENBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
45
+ export class JWTError extends Data.TaggedClass("JWTError") {
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaW50ZXJuYWwvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDcEcsT0FBTyxFQUNMLElBQUksRUFDSixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDbEIsTUFBTSwyQkFBMkIsQ0FBQTtBQU9sQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUMxQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDdkIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQTtRQUV0RCxPQUFPLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBSXhCLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDTCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO2dCQUM3QixJQUFJLENBQUMsR0FBRztvQkFBRSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ2hDLElBQ0UsR0FBRyxZQUFZLHNCQUFzQjt1QkFDbEMsR0FBRyxZQUFZLG1CQUFtQjt1QkFDbEMsR0FBRyxZQUFZLGlCQUFpQjt1QkFDaEMsR0FBRyxZQUFZLGlCQUFpQixFQUNuQyxDQUFDO29CQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtnQkFDN0IsQ0FBQztnQkFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDeEIsQ0FBQyxDQUFBO1lBQ0QsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUMsbUJBQW1CO1lBQzVGLElBQUksQ0FBQztnQkFDSCxFQUFFLENBQUMsQ0FBUSxFQUFFLEVBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUMvQixDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDMUIsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtJQUN6QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDL0IsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDbEIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdkQsTUFBTSxDQUFDLE9BQU8sQ0FDWixrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BELE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtZQUNoQixPQUFPLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQzFDLENBQUMsQ0FDSCxDQUNGLENBQUMsQ0FBQTtRQUNGLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLFFBQVEsQ0FBQTtRQUNqQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUE7SUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sT0FBTyxRQUFTLFNBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBTXZEO0NBQUcifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing/DynamicMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
2
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
3
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4
+ import { Rpc } from "@effect/rpc";
5
+ import { S } from "effect-app";
6
+ const merge = (a, b) =>
7
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
8
+ a !== undefined && b.length ? S.Union(a, ...b) : a !== undefined ? a : b.length ? S.Union(...b) : S.Never;
9
+ export const makeRpcClient = (errors, generalErrors) => {
10
+ function TaggedRequest() {
11
+ // TODO: filter errors based on config + take care of inversion
12
+ const errorSchemas = Object.values(errors);
13
+ return ((tag, fields, config) => {
14
+ const req = S.TaggedRequest()(tag, {
15
+ payload: fields,
16
+ failure: merge(config?.failure, [...errorSchemas, generalErrors].filter(Boolean)),
17
+ success: config?.success ?? S.Void
18
+ });
19
+ return Object.assign(req, { config });
20
+ });
21
+ }
22
+ return {
23
+ TaggedRequest
24
+ };
25
+ };
26
+ export const makeRpc = (middleware) => {
27
+ return {
28
+ effect: (schema, handler, moduleName) => {
29
+ return Rpc.effect(schema, middleware.execute(schema, handler, moduleName));
30
+ }
31
+ };
32
+ };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvRHluYW1pY01pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVqQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBb0U5QixNQUFNLEtBQUssR0FBRyxDQUFDLENBQU0sRUFBRSxDQUFhLEVBQUUsRUFBRTtBQUN0QyxpRUFBaUU7QUFDakUsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUUzRyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FLM0IsTUFBNkMsRUFDN0MsYUFBNkIsRUFDN0IsRUFBRTtJQUdGLFNBQVMsYUFBYTtRQXFFcEIsK0RBQStEO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUMsT0FBTyxDQUFDLENBQ04sR0FBUSxFQUNSLE1BQWMsRUFDZCxNQUFVLEVBQ1YsRUFBRTtZQUNGLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQVEsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZDLE9BQU8sRUFBRSxNQUFNO2dCQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUk7YUFDbkMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDdkMsQ0FBQyxDQUFRLENBQUE7SUFDWCxDQUFDO0lBRUQsT0FBTztRQUNMLGFBQWE7S0FDZCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBMEJELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUNyQixVQUF1QyxFQUN2QyxFQUFFO0lBQ0YsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUNOLE1BQXFDLEVBQ3JDLE9BTUMsRUFDRCxVQUFtQixFQUNuQixFQUFFO1lBQ0YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUNmLE1BQU0sRUFDTixVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQ2hELENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
@@ -1,5 +1,101 @@
1
- export * from "./routing/base.js";
2
- export * from "./routing/defaultErrorHandler.js";
3
- export * from "./routing/makeRequestHandler.js";
4
- export * from "./routing/match.js";
1
+ import { type EffectUnunified, type LowerServices } from "@effect-app/core/Effect";
2
+ import type * as HttpApp from "@effect/platform/HttpApp";
3
+ import type { Rpc } from "@effect/rpc";
4
+ import { RpcRouter } from "@effect/rpc";
5
+ import type { S } from "effect-app";
6
+ import { Effect } from "effect-app";
7
+ import type { HttpServerError } from "effect-app/http";
8
+ import { HttpRouter } from "effect-app/http";
9
+ import type { ContextMap, GetEffectContext, Middleware } from "./routing/DynamicMiddleware.js";
10
+ export type _R<T extends Effect<any, any, any>> = [T] extends [
11
+ Effect<any, any, infer R>
12
+ ] ? R : never;
13
+ export type _E<T extends Effect<any, any, any>> = [T] extends [
14
+ Effect<any, infer E, any>
15
+ ] ? E : never;
16
+ export type EffectDeps<A> = {
17
+ [K in keyof A as A[K] extends Effect<any, any, any> ? K : never]: A[K] extends Effect<any, any, any> ? A[K] : never;
18
+ };
19
+ /**
20
+ * Plain jane JSON version
21
+ */
22
+ export declare const toHttpApp: <R extends RpcRouter.RpcRouter<any, any>>(self: R, options?: {
23
+ readonly spanPrefix?: string;
24
+ }) => HttpApp.Default<HttpServerError.RequestError, RpcRouter.RpcRouter.Context<R>>;
25
+ export interface Hint<Err extends string> {
26
+ Err: Err;
27
+ }
28
+ type HandleVoid<Expected, Actual, Result> = [Expected] extends [void] ? [Actual] extends [void] ? Result : Hint<"You're returning non void for a void Response, please fix"> : Result;
29
+ type AnyRequestModule = S.Schema.Any & {
30
+ success?: S.Schema.Any;
31
+ failure?: S.Schema.Any;
32
+ };
33
+ type GetSuccess<T> = T extends {
34
+ success: S.Schema.Any;
35
+ } ? T["success"] : typeof S.Void;
36
+ type GetFailure<T extends {
37
+ failure?: S.Schema.Any;
38
+ }> = T["failure"] extends never ? typeof S.Never : T["failure"];
39
+ export interface Handler<Action extends AnyRequestModule, RT extends "raw" | "d", A, E, R, Context> {
40
+ new (): {};
41
+ _tag: RT;
42
+ handler: (req: S.Schema.Type<Action>, ctx: Context) => Effect<A, E, R>;
43
+ }
44
+ type AHandler<Action extends AnyRequestModule> = Handler<Action, "raw", S.Schema.Encoded<GetSuccess<Action>>, S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError, any, {
45
+ Response: any;
46
+ }> | Handler<Action, "d", S.Schema.Type<GetSuccess<Action>>, S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError, any, {
47
+ Response: any;
48
+ }>;
49
+ type Filter<T> = {
50
+ [K in keyof T as T[K] extends S.Schema.All & {
51
+ success: S.Schema.Any;
52
+ failure: S.Schema.Any;
53
+ } ? K : never]: T[K];
54
+ };
55
+ interface ExtendedMiddleware<Context, CTXMap extends Record<string, ContextMap.Any>> extends Middleware<Context, CTXMap> {
56
+ makeContext: Effect<{
57
+ [K in keyof CTXMap as CTXMap[K][1] extends never ? never : CTXMap[K][0]]: CTXMap[K][1];
58
+ }, never, never>;
59
+ }
60
+ export declare const makeRouter: <Context, CTXMap extends Record<string, ContextMap.Any>>(middleware: ExtendedMiddleware<Context, CTXMap>) => {
61
+ matchAll: <T extends {
62
+ [key: string]: HttpRouter.HttpRouter<any, any>;
63
+ }>(handlers: T) => HttpRouter.HttpRouter<[T[keyof T]] extends [HttpRouter.HttpRouter<infer E, any>] ? E : never, [T[keyof T]] extends [HttpRouter.HttpRouter<any, infer R>] ? R : never>;
64
+ matchFor: <Rsc extends Record<string, any> & {
65
+ meta: {
66
+ moduleName: string;
67
+ };
68
+ }>(rsc: Rsc) => {
69
+ controllers: <THandlers extends { [K in keyof Filter<Rsc>]: AHandler<Rsc[K]>; }>(controllers: THandlers) => HttpRouter.HttpRouter<HttpServerError.RequestError, Exclude<[(keyof Filter<Rsc> extends infer T extends keyof Filter<Rsc> ? { [K in T]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>>; } : never)[keyof Filter<Rsc>]] extends [Rpc.Rpc<any, infer R>] ? R : never, HttpRouter.HttpRouter.Provided> | Exclude<import("@effect/schema/Serializable").SerializableWithResult.Context<[(keyof Filter<Rsc> extends infer T extends keyof Filter<Rsc> ? { [K in T]: Rpc.Rpc<Rsc[K], _R<ReturnType<THandlers[K]["handler"]>>>; } : never)[keyof Filter<Rsc>]] extends [Rpc.Rpc<infer Req extends S.TaggedRequest.All, any>] ? Req : never>, HttpRouter.HttpRouter.Provided>>;
70
+ } & { [Key in keyof Filter<Rsc>]: {
71
+ <R2, E, A>(f: Effect<A, E, R2>): HandleVoid<S.Schema.Type<GetSuccess<Rsc[Key]>>, A, Handler<Rsc[Key], "d", A, E, Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>, {
72
+ Response: Rsc[Key]["success"];
73
+ }>>;
74
+ <R2, E_1, A_1>(f: (req: S.Schema.Type<Rsc[Key]>, ctx: { [key in keyof CTXMap as CTXMap[key][3] extends true ? never : key extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as CTXMap[key_1][3] extends true ? never : key_1 extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & { [key_2 in keyof CTXMap as CTXMap[key_2][3] extends false ? never : key_2 extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key_2] extends true ? CTXMap[key_2][0] : never : never]: CTXMap[key_2][1]; } & { [key_3 in keyof CTXMap as CTXMap[key_3][3] extends false ? never : key_3 extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
75
+ Response: Rsc[Key]["success"];
76
+ }) => Effect<A_1, E_1, R2>): HandleVoid<S.Schema.Type<GetSuccess<Rsc[Key]>>, A_1, Handler<Rsc[Key], "d", A_1, E_1, Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>, {
77
+ Response: Rsc[Key]["success"];
78
+ }>>;
79
+ <SVC extends Record<string, EffectUnunified<any, any, any>>, R2, E_2, A_2>(services: SVC, f: (req: S.Schema.Type<Rsc[Key]>, ctx: import("@effect-app/core/utils").ComputeFlat<LowerServices<EffectDeps<SVC>> & { [key in keyof CTXMap as CTXMap[key][3] extends true ? never : key extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as CTXMap[key_1][3] extends true ? never : key_1 extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & { [key_2 in keyof CTXMap as CTXMap[key_2][3] extends false ? never : key_2 extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key_2] extends true ? CTXMap[key_2][0] : never : never]: CTXMap[key_2][1]; } & { [key_3 in keyof CTXMap as CTXMap[key_3][3] extends false ? never : key_3 extends keyof Rsc[Key]["config"] ? Rsc[Key]["config"][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
80
+ Response: Rsc[Key]["success"];
81
+ }>) => Effect<A_2, E_2, R2>): HandleVoid<S.Schema.Type<GetSuccess<Rsc[Key]>>, A_2, Handler<Rsc[Key], "d", A_2, E_2, Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>, {
82
+ Response: Rsc[Key]["success"];
83
+ }>>;
84
+ }; } & { [Key_1 in keyof Filter<Rsc> as Key_1 extends string ? `${Key_1}Raw` : never]: {
85
+ <R2_1, E, A>(f: Effect<A, E, R2_1>): HandleVoid<S.Schema.Encoded<GetSuccess<Rsc[Key_1]>>, A, Handler<Rsc[Key_1], "raw", A, E, Exclude<R2_1, GetEffectContext<CTXMap, Rsc[Key_1]["config"]>>, {
86
+ Response: Rsc[Key_1]["success"];
87
+ }>>;
88
+ <R2_1, E_1, A_1>(f: (req: S.Schema.Type<Rsc[Key_1]>, ctx: { [key in keyof CTXMap as CTXMap[key][3] extends true ? never : key extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as CTXMap[key_1][3] extends true ? never : key_1 extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & { [key_2 in keyof CTXMap as CTXMap[key_2][3] extends false ? never : key_2 extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key_2] extends true ? CTXMap[key_2][0] : never : never]: CTXMap[key_2][1]; } & { [key_3 in keyof CTXMap as CTXMap[key_3][3] extends false ? never : key_3 extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
89
+ Response: Rsc[Key_1]["success"];
90
+ }) => Effect<A_1, E_1, R2_1>): HandleVoid<S.Schema.Encoded<GetSuccess<Rsc[Key_1]>>, A_1, Handler<Rsc[Key_1], "raw", A_1, E_1, Exclude<R2_1, GetEffectContext<CTXMap, Rsc[Key_1]["config"]>>, {
91
+ Response: Rsc[Key_1]["success"];
92
+ }>>;
93
+ <SVC extends Record<string, EffectUnunified<any, any, any>>, R2, E_2, A_2>(services: SVC, f: (req: S.Schema.Type<Rsc[Key_1]>, ctx: import("@effect-app/core/utils").ComputeFlat<LowerServices<EffectDeps<SVC>> & { [key in keyof CTXMap as CTXMap[key][3] extends true ? never : key extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key] extends true ? CTXMap[key][0] : never : never]?: CTXMap[key][1]; } & { [key_1 in keyof CTXMap as CTXMap[key_1][3] extends true ? never : key_1 extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key_1] extends false ? CTXMap[key_1][0] : never : CTXMap[key_1][0]]: CTXMap[key_1][1]; } & { [key_2 in keyof CTXMap as CTXMap[key_2][3] extends false ? never : key_2 extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key_2] extends true ? CTXMap[key_2][0] : never : never]: CTXMap[key_2][1]; } & { [key_3 in keyof CTXMap as CTXMap[key_3][3] extends false ? never : key_3 extends keyof Rsc[Key_1]["config"] ? Rsc[Key_1]["config"][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
94
+ Response: Rsc[Key_1]["success"];
95
+ }>) => Effect<A_2, E_2, R2>): HandleVoid<S.Schema.Encoded<GetSuccess<Rsc[Key_1]>>, A_2, Handler<Rsc[Key_1], "raw", A_2, E_2, Exclude<R2, GetEffectContext<CTXMap, Rsc[Key_1]["config"]>>, {
96
+ Response: Rsc[Key_1]["success"];
97
+ }>>;
98
+ }; };
99
+ };
100
+ export {};
5
101
  //# sourceMappingURL=routing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/api/routing.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/api/routing.ts"],"names":[],"mappings":"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"}