@effect-app/infra 1.26.2 → 1.27.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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 1.27.0
4
+
5
+ ### Minor Changes
6
+
7
+ - f2f034e: more lenient for error handling
8
+
9
+ ## 1.26.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 0f47696: reintroduce routecontext
14
+
3
15
  ## 1.26.2
4
16
 
5
17
  ### Patch Changes
@@ -13,14 +13,14 @@ var _effectApp = require("effect-app");
13
13
  const merge = (a, b) =>
14
14
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
15
15
  a !== undefined && b.length ? _effectApp.S.Union(a, ...b) : a !== undefined ? a : b.length ? _effectApp.S.Union(...b) : _effectApp.S.Never;
16
- const makeRpcClient = errors => {
16
+ const makeRpcClient = (errors, generalErrors) => {
17
17
  function TaggedRequest() {
18
18
  // TODO: filter errors based on config + take care of inversion
19
19
  const errorSchemas = Object.values(errors);
20
20
  return (tag, fields, config) => {
21
21
  const req = _effectApp.S.TaggedRequest()(tag, {
22
22
  payload: fields,
23
- failure: merge(config?.failure, errorSchemas),
23
+ failure: merge(config?.failure, [...errorSchemas, generalErrors]),
24
24
  success: config?.success ?? _effectApp.S.Void
25
25
  });
26
26
  return Object.assign(req, {
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicMiddleware.cjs","names":["_rpc","require","_effectApp","merge","a","b","undefined","length","S","Union","Never","makeRpcClient","errors","TaggedRequest","errorSchemas","Object","values","tag","fields","config","req","payload","failure","success","Void","assign","exports","makeRpc","middleware","effect","schema","handler","moduleName","Rpc","execute"],"sources":["../../../src/api/routing2/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,GAIxBC,MAA6C,IAC3C;EAGF,SAASC,aAAaA,CAAA;IAiEpB;IACA,MAAMC,YAAY,GAAGC,MAAM,CAACC,MAAM,CAACJ,MAAM,CAAC;IAC1C,OAAQ,CACNK,GAAQ,EACRC,MAAc,EACdC,MAAU,KACR;MACF,MAAMC,GAAG,GAAGZ,YAAC,CAACK,aAAa,EAAQ,CAACI,GAAG,EAAE;QACvCI,OAAO,EAAEH,MAAM;QACfI,OAAO,EAAEnB,KAAK,CAACgB,MAAM,EAAEG,OAAO,EAAER,YAAY,CAAC;QAC7CS,OAAO,EAAEJ,MAAM,EAAEI,OAAO,IAAIf,YAAC,CAACgB;OAC/B,CAAC;MACF,OAAOT,MAAM,CAACU,MAAM,CAACL,GAAG,EAAE;QAAED;MAAM,CAAE,CAAC;IACvC,CAAC;EACH;EAEA,OAAO;IACLN;GACD;AACH,CAAC;AAAAa,OAAA,CAAAf,aAAA,GAAAA,aAAA;AA0BM,MAAMgB,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":[]}
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","success","Void","assign","exports","makeRpc","middleware","effect","schema","handler","moduleName","Rpc","execute"],"sources":["../../../src/api/routing2/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,CAAC;QACjEW,OAAO,EAAEJ,MAAM,EAAEI,OAAO,IAAIhB,YAAC,CAACiB;OAC/B,CAAC;MACF,OAAOT,MAAM,CAACU,MAAM,CAACL,GAAG,EAAE;QAAED;MAAM,CAAE,CAAC;IACvC,CAAC;EACH;EAEA,OAAO;IACLN;GACD;AACH,CAAC;AAAAa,OAAA,CAAAhB,aAAA,GAAAA,aAAA;AA0BM,MAAMiB,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":[]}
@@ -27,8 +27,15 @@ const makeRouter2 = middleware => {
27
27
  return acc;
28
28
  }, {});
29
29
  const matchWithServices = action => {
30
- return (services, f) => req => _effectApp.Effect.andThen((0, _Effect.allLower)(services), svc => f(req, {
30
+ return (services, f) => req => _effectApp.Effect.andThen(_effectApp.Effect.all({
31
+ svc: (0, _Effect.allLower)(services),
32
+ ctx: middleware.makeContext
33
+ }), ({
34
+ ctx,
35
+ svc
36
+ }) => f(req, {
31
37
  ...svc,
38
+ ...ctx,
32
39
  Response: rsc[action].success
33
40
  }));
34
41
  };
@@ -63,10 +70,14 @@ const makeRouter2 = middleware => {
63
70
  } : typeof svcOrFnOrEffect === "function" ? class {
64
71
  static stack = stack;
65
72
  static _tag = "d";
66
- static handler = (req, ctx) => svcOrFnOrEffect(req, {
73
+ static handler = req => _effectApp.Effect.andThen(_effectApp.Effect.all({
74
+ ctx: middleware.makeContext
75
+ }), ({
76
+ ctx
77
+ }) => svcOrFnOrEffect(req, {
67
78
  ...ctx,
68
79
  Response: rsc[cur].success
69
- });
80
+ }));
70
81
  } : class {
71
82
  static stack = stack;
72
83
  static _tag = "d";
@@ -1 +1 @@
1
- {"version":3,"file":"routing2.cjs","names":["_Effect","require","_utils","_rpc","_rpcHttp","_effectApp","_http","_DynamicMiddleware","makeRouter2","middleware","rpc","makeRpc","matchFor","rsc","meta","Error","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","matchWithServices","action","services","f","req","Effect","andThen","allLower","svc","Response","success","controllers","handlers","h","handler","Request","mapped","effect","moduleName","router","RpcRouter","make","Object","values","HttpRouter","empty","pipe","all","HttpRpcRouter","toHttpApp","r","prev","svcOrFnOrEffect","fnOrNone","stack","split","slice","join","isEffect","_tag","ctx","matchAll","concat","exports"],"sources":["../../src/api/routing2.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"routing2.cjs","names":["_Effect","require","_utils","_rpc","_rpcHttp","_effectApp","_http","_DynamicMiddleware","makeRouter2","middleware","rpc","makeRpc","matchFor","rsc","meta","Error","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","matchWithServices","action","services","f","req","Effect","andThen","all","svc","allLower","ctx","makeContext","Response","success","controllers","handlers","h","handler","Request","mapped","effect","moduleName","router","RpcRouter","make","Object","values","HttpRouter","empty","pipe","HttpRpcRouter","toHttpApp","r","prev","svcOrFnOrEffect","fnOrNone","stack","split","slice","join","isEffect","_tag","matchAll","concat","exports"],"sources":["../../src/api/routing2.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAIA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAEA,IAAAM,kBAAA,GAAAN,OAAA;AAfA;AACA;AACA;;AAgHO,MAAMO,WAAW,GACtBC,UAA+C,IAC7C;EACF,MAAMC,GAAG,GAAG,IAAAC,0BAAO,EAACF,UAAU,CAAC;EAC/B,SAASG,QAAQA,CACfC,GAAQ;IAER,MAAMC,IAAI,GAAID,GAAW,CAACC,IAA8B;IACxD,IAAI,CAACA,IAAI,EAAE,MAAM,IAAIC,KAAK,CAAC,gCAAgC,CAAC,EAAC;IAG7D,MAAMC,QAAQ,GAAG,IAAAC,kBAAW,EAACJ,GAAG,CAAC,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAI;MACpD,IAAIC,oBAAS,CAACC,QAAQ,CAACT,GAAG,CAACO,GAAG,CAAC,CAAC,IAAIP,GAAG,CAACO,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE;QACvDD,GAAG,CAACC,GAAqB,CAAC,GAAGP,GAAG,CAACO,GAAG,CAAC;MACvC;MACA,OAAOD,GAAG;IACZ,CAAC,EAAE,EAAc,CAAC;IAElB,MAAMI,iBAAiB,GAAgCC,MAAW,IAAI;MACpE,OAAO,CASLC,QAAa,EACbC,CAMqB,KAEtBC,GAAQ,IACPC,iBAAM,CAACC,OAAO,CACZD,iBAAM,CAACE,GAAG,CAAC;QAAEC,GAAG,EAAE,IAAAC,gBAAQ,EAACP,QAAQ,CAAC;QAAEQ,GAAG,EAAExB,UAAU,CAACyB;MAAW,CAAE,CAAC,EACpE,CAAC;QAAED,GAAG;QAAEF;MAAG,CAAE,KAAKL,CAAC,CAACC,GAAG,EAAE;QAAE,GAAGI,GAAG;QAAE,GAAGE,GAAG;QAAEE,QAAQ,EAAEtB,GAAG,CAACW,MAAM,CAAC,CAACY;MAAO,CAAS,CAAC,CACnF;IACL,CAAC;IAqED,MAAMC,WAAW,GAMfA,WAAsB,IACpB;MACF,MAAMC,QAAQ,GAAG,IAAArB,kBAAW,EAACD,QAAQ,CAAC,CAACE,MAAM,CAC3C,CAACC,GAAG,EAAEC,GAAG,KAAI;QACX;QAAED,GAAW,CAACC,GAAG,CAAC,GAAG;UACnBmB,CAAC,EAAEF,WAAW,CAACjB,GAA+B,CAAC,CAACoB,OAAO;UACvDC,OAAO,EAAE5B,GAAG,CAACO,GAAG;SACjB;QAED,OAAOD,GAAG;MACZ,CAAC,EACD,EAWC,CACF;MAED,MAAMuB,MAAM,GAAG,IAAAzB,kBAAW,EAACqB,QAAQ,CAAC,CAACpB,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAI;QACvD,MAAMoB,OAAO,GAAGF,QAAQ,CAAClB,GAAG,CAAC;QAC7B,MAAMO,GAAG,GAAGa,OAAO,CAACC,OAAO;QAE3BtB,GAAG,CAACC,GAAG,CAAC,GAAGV,GAAG,CAACiC,MAAM,CAAChB,GAAG,EAAEa,OAAO,CAACD,CAAQ,EAAEzB,IAAI,CAAC8B,UAAU,CAAC,EAAC;QAC9D,OAAOzB,GAAG;MACZ,CAAC,EAAE,EAAS,CAKX;MAYD,MAAM0B,MAAM,GAAGC,cAAS,CAACC,IAAI,CAAC,GAAGC,MAAM,CAACC,MAAM,CAACP,MAAM,CAAQ,CAG5D;MAED,OAAOQ,gBAAU,CAACC,KAAK,CAACC,IAAI,CAC1BF,gBAAU,CAACpB,GAAG,CAAE,OAAO,GAAGjB,GAAG,CAACC,IAAI,CAAC8B,UAAU,EAAUS,sBAAa,CAACC,SAAS,CAACT,MAAM,CAAC,CAAC,CACxF;IACH,CAAC;IAED,MAAMU,CAAC,GAAG;MACRlB,WAAW;MACX,GAAG,IAAApB,kBAAW,EAACD,QAAQ,CAAC,CAACE,MAAM,CAC7B,CAACsC,IAAI,EAAEpC,GAAG,KAAI;QACZ;QAAEoC,IAAY,CAACpC,GAAG,CAAC,GAAG,CAACqC,eAAoB,EAAEC,QAAa,KAAI;UAC5D,MAAMC,KAAK,GAAG,IAAI5C,KAAK,EAAE,CAAC4C,KAAK,EAAEC,KAAK,CAAC,IAAI,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;UAChE,OAAOlC,iBAAM,CAACmC,QAAQ,CAACN,eAAe,CAAC,GACnC;YACA,OAAOE,KAAK,GAAGA,KAAK;YACpB,OAAOK,IAAI,GAAG,GAAG;YACjB,OAAOxB,OAAO,GAAGA,CAAA,KAAMiB,eAAe;WACvC,GACC,OAAOA,eAAe,KAAK,UAAU,GACrC;YACA,OAAOE,KAAK,GAAGA,KAAK;YACpB,OAAOK,IAAI,GAAG,GAAG;YACjB,OAAOxB,OAAO,GAAIb,GAAQ,IACxBC,iBAAM,CAACC,OAAO,CACZD,iBAAM,CAACE,GAAG,CAAC;cAAEG,GAAG,EAAExB,UAAU,CAACyB;YAAW,CAAE,CAAC,EAC3C,CAAC;cAAED;YAAG,CAAE,KAAKwB,eAAe,CAAC9B,GAAG,EAAE;cAAE,GAAGM,GAAG;cAAEE,QAAQ,EAAEtB,GAAG,CAACO,GAAG,CAAC,CAACgB;YAAO,CAAE,CAAC,CAC1E;WACJ,GACC;YACA,OAAOuB,KAAK,GAAGA,KAAK;YACpB,OAAOK,IAAI,GAAG,GAAG;YACjB,OAAOxB,OAAO,GAAGjB,iBAAiB,CAACH,GAAG,CAAC,CAACqC,eAAe,EAAEC,QAAQ,CAAC;WACnE;QACL,CAAC;QACCF,IAAY,CAAEpC,GAAW,GAAG,KAAK,CAAC,GAAG,CAACqC,eAAoB,EAAEC,QAAa,KAAI;UAC7E,MAAMC,KAAK,GAAG,IAAI5C,KAAK,EAAE,CAAC4C,KAAK,EAAEC,KAAK,CAAC,IAAI,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;UAChE,OAAOlC,iBAAM,CAACmC,QAAQ,CAACN,eAAe,CAAC,GACnC;YACA,OAAOE,KAAK,GAAGA,KAAK;YACpB,OAAOK,IAAI,GAAG,KAAK;YACnB,OAAOxB,OAAO,GAAGA,CAAA,KAAMiB,eAAe;WACvC,GACC,OAAOA,eAAe,KAAK,UAAU,GACrC;YACA,OAAOE,KAAK,GAAGA,KAAK;YACpB,OAAOK,IAAI,GAAG,KAAK;YACnB,OAAOxB,OAAO,GAAGA,CAACb,GAAQ,EAAEM,GAAQ,KAAKwB,eAAe,CAAC9B,GAAG,EAAE;cAAE,GAAGM,GAAG;cAAEE,QAAQ,EAAEtB,GAAG,CAACO,GAAG,CAAC,CAACgB;YAAO,CAAE,CAAC;WACtG,GACC;YACA,OAAOuB,KAAK,GAAGA,KAAK;YACpB,OAAOK,IAAI,GAAG,KAAK;YACnB,OAAOxB,OAAO,GAAGjB,iBAAiB,CAACH,GAAG,CAAC,CAACqC,eAAe,EAAEC,QAAQ,CAAC;WACnE;QACL,CAAC;QACD,OAAOF,IAAI;MACb,CAAC,EACD,EAcG;KAEN;IACD,OAAOD,CAAC;EACV;EAKA,SAASU,QAAQA,CAAgC3B,QAAW;IAC1D,MAAMiB,CAAC,GAAG,IAAAtC,kBAAW,EAACqB,QAAQ,CAAC,CAACpB,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAI;MAClD,OAAO8B,gBAAU,CAACgB,MAAM,CAAC/C,GAAG,EAAEmB,QAAQ,CAAClB,GAAG,CAAQ,CAAC;IACrD,CAAC,EAAE8B,gBAAU,CAACC,KAAK,CAAC;IAYpB,OAAOI,CAGN;EACH;EAEA,OAAO;IAAEU,QAAQ;IAAErD;EAAQ,CAAE;AAC/B,CAAC;AAAAuD,OAAA,CAAA3D,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -63,13 +63,13 @@ declare const RequestContext_base: S.EnhancedClass<RequestContext, {
63
63
  }>>;
64
64
  }, RequestContext.From, never, {
65
65
  readonly id?: string & S.NonEmptyString255Brand;
66
- readonly rootId: NonEmptyString255;
67
66
  readonly name: string & S.NonEmptyString255Brand;
68
67
  readonly locale: "en" | "de";
69
68
  readonly createdAt?: Date;
70
69
  readonly userProfile?: {
71
70
  readonly sub: string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
72
71
  } | undefined;
72
+ readonly rootId: NonEmptyString255;
73
73
  readonly sourceId?: (string & S.NonEmptyString255Brand) | undefined;
74
74
  readonly parent?: RequestContextParent | undefined;
75
75
  readonly namespace?: (string & S.NonEmptyString255Brand) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAG9B,eAAO,MAAM,MAAM,yBAAwB,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;;;;;uBAW5B,iBAAiB,iBAIzB,sBAAqB;;;uBAKV,iBACL,iBACP,sBAAsB;;;;;;2BAaN,iBAAiB;;;2BAcG,iBAAiB;;;;;;;;;;;;;;AA9CvD,qBAAa,oBAAqB,SAAQ,yBASxC;CAAG;;;;;;;uBADM,iBAAiB,iBAIzB,sBAAqB;;;uBAKV,iBACL,iBACP,sBAAsB;;;;;;;;;;;2BAaN,iBAAiB;;;2BAcG,iBAAiB;;;;;;;;;;;;;;;;AAnCvD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAgBlC;IAEA,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,qBAAqB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAUhE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;;;CASrD;AAED,eAAO,MAAM,cAAc,QAAS,cAAc;;;;;;;;;CAkBhD,CAAA;AAKF,yBAAiB,oBAAoB,CAAC;IACpC,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACzF;AACD,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KAAG;CACnF"}
1
+ {"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAG9B,eAAO,MAAM,MAAM,yBAAwB,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;;;;;qBAW/B,EAAG,iBAAiB,eAI3B,EAAE,sBAAqB;;;qBAKb,EAAG,iBACL,eACP,EAAA,sBAAsB;;;;;;yBAaR,EAAE,iBAAiB;;;yBAcA,EAAG,iBAAiB;;;;;;;;;;;;;;AA9CvD,qBAAa,oBAAqB,SAAQ,yBASxC;CAAG;;;;;;;qBADG,EAAG,iBAAiB,eAI3B,EAAE,sBAAqB;;;qBAKb,EAAG,iBACL,eACP,EAAA,sBAAsB;;;;;;;;;;;yBAaR,EAAE,iBAAiB;;;yBAcA,EAAG,iBAAiB;;;;;;;;;;;;;;;;AAnCvD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAgBlC;IAEA,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,qBAAqB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAUhE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;;;CASrD;AAED,eAAO,MAAM,cAAc,QAAS,cAAc;;;;;;;;;CAkBhD,CAAA;AAKF,yBAAiB,oBAAoB,CAAC;IACpC,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;KAAG;CACzF;AACD,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,IAAK,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KAAG;CACnF"}
@@ -30,38 +30,38 @@ export type GetEffectError<CTXMap extends Record<string, ContextMap.Any>, T> = V
30
30
  }>;
31
31
  type GetFailure1<F1> = F1 extends S.Schema.Any ? F1 : typeof S.Never;
32
32
  type GetFailure<F1, F2> = F1 extends S.Schema.Any ? F2 extends S.Schema.Any ? S.Union<[F1, F2]> : F1 : F2;
33
- export declare const makeRpcClient: <RequestConfig extends object, CTXMap extends Record<string, ContextMap.Any>>(errors: { [K in keyof CTXMap]: CTXMap[K][2]; }) => {
33
+ export declare const makeRpcClient: <RequestConfig extends object, CTXMap extends Record<string, ContextMap.Any>, GeneralErrors extends S.Schema.Any>(errors: { [K in keyof CTXMap]: CTXMap[K][2]; }, generalErrors?: GeneralErrors) => {
34
34
  TaggedRequest: <Self>() => {
35
35
  <Tag extends string, Payload extends S.Struct.Fields, C extends {
36
36
  success: S.Schema.Any;
37
37
  failure: S.Schema.Any;
38
38
  }>(tag: Tag, fields: Payload, config: RequestConfig & C): S.TaggedRequestClass<Self, Tag, {
39
39
  readonly _tag: S.tag<Tag>;
40
- } & Payload, (typeof config)["success"], GetEffectError<CTXMap, C> extends never ? (typeof config)["failure"] : GetFailure<(typeof config)["failure"], GetEffectError<CTXMap, C>>> & {
40
+ } & Payload, (typeof config)["success"], (GetEffectError<CTXMap, C> extends never ? (typeof config)["failure"] : GetFailure<(typeof config)["failure"], GetEffectError<CTXMap, C>>) | GeneralErrors> & {
41
41
  config: Omit<C, "success" | "failure">;
42
42
  };
43
43
  <Tag extends string, Payload_1 extends S.Struct.Fields, C_1 extends {
44
44
  success: S.Schema.Any;
45
45
  }>(tag: Tag, fields: Payload_1, config: RequestConfig & C_1): S.TaggedRequestClass<Self, Tag, {
46
46
  readonly _tag: S.tag<Tag>;
47
- } & Payload_1, (typeof config)["success"], GetFailure1<GetEffectError<CTXMap, C_1>>> & {
47
+ } & Payload_1, (typeof config)["success"], GetFailure1<GetEffectError<CTXMap, C_1>> | GeneralErrors> & {
48
48
  config: Omit<C_1, "success" | "failure">;
49
49
  };
50
50
  <Tag extends string, Payload_2 extends S.Struct.Fields, C_2 extends {
51
51
  failure: S.Schema.Any;
52
52
  }>(tag: Tag, fields: Payload_2, config: RequestConfig & C_2): S.TaggedRequestClass<Self, Tag, {
53
53
  readonly _tag: S.tag<Tag>;
54
- } & Payload_2, typeof S.Void, GetFailure1<GetEffectError<CTXMap, C_2>>> & {
54
+ } & Payload_2, typeof S.Void, GetFailure1<GetEffectError<CTXMap, C_2>> | GeneralErrors> & {
55
55
  config: Omit<C_2, "success" | "failure">;
56
56
  };
57
57
  <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, {
58
58
  readonly _tag: S.tag<Tag>;
59
- } & Payload_3, typeof S.Void, GetFailure1<GetEffectError<CTXMap, C_3>>> & {
59
+ } & Payload_3, typeof S.Void, GetFailure1<GetEffectError<CTXMap, C_3>> | GeneralErrors> & {
60
60
  config: Omit<C_3, "success" | "failure">;
61
61
  };
62
62
  <Tag extends string, Payload_4 extends S.Struct.Fields>(tag: Tag, fields: Payload_4): S.TaggedRequestClass<Self, Tag, {
63
63
  readonly _tag: S.tag<Tag>;
64
- } & Payload_4, typeof S.Void, typeof S.Never>;
64
+ } & Payload_4, typeof S.Void, GeneralErrors>;
65
65
  };
66
66
  };
67
67
  export interface Middleware<Context, CTXMap extends Record<string, ContextMap.Any>> {
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing2/DynamicMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing2/DynamicMiddleware.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,14 @@ import { S } from "effect-app";
6
6
  const merge = (a, b) =>
7
7
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
8
8
  a !== undefined && b.length ? S.Union(a, ...b) : a !== undefined ? a : b.length ? S.Union(...b) : S.Never;
9
- export const makeRpcClient = (errors) => {
9
+ export const makeRpcClient = (errors, generalErrors) => {
10
10
  function TaggedRequest() {
11
11
  // TODO: filter errors based on config + take care of inversion
12
12
  const errorSchemas = Object.values(errors);
13
13
  return ((tag, fields, config) => {
14
14
  const req = S.TaggedRequest()(tag, {
15
15
  payload: fields,
16
- failure: merge(config?.failure, errorSchemas),
16
+ failure: merge(config?.failure, [...errorSchemas, generalErrors]),
17
17
  success: config?.success ?? S.Void
18
18
  });
19
19
  return Object.assign(req, { config });
@@ -30,4 +30,4 @@ export const makeRpc = (middleware) => {
30
30
  }
31
31
  };
32
32
  };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcyL0R5bmFtaWNNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCx3REFBd0Q7QUFDeEQsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFakMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQW9FOUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFNLEVBQUUsQ0FBYSxFQUFFLEVBQUU7QUFDdEMsaUVBQWlFO0FBQ2pFLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFFM0csTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBSTNCLE1BQTZDLEVBQzdDLEVBQUU7SUFHRixTQUFTLGFBQWE7UUFpRXBCLCtEQUErRDtRQUMvRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLE9BQU8sQ0FBQyxDQUNOLEdBQVEsRUFDUixNQUFjLEVBQ2QsTUFBVSxFQUNWLEVBQUU7WUFDRixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFRLENBQUMsR0FBRyxFQUFFO2dCQUN2QyxPQUFPLEVBQUUsTUFBTTtnQkFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDO2dCQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSTthQUNuQyxDQUFDLENBQUE7WUFDRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtRQUN2QyxDQUFDLENBQVEsQ0FBQTtJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDLENBQUE7QUEwQkQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQ3JCLFVBQXVDLEVBQ3ZDLEVBQUU7SUFDRixPQUFPO1FBQ0wsTUFBTSxFQUFFLENBQ04sTUFBcUMsRUFDckMsT0FNQyxFQUNELFVBQW1CLEVBQ25CLEVBQUU7WUFDRixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQ2YsTUFBTSxFQUNOLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FDaEQsQ0FBQTtRQUNILENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcyL0R5bmFtaWNNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCx3REFBd0Q7QUFDeEQsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFakMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQW9FOUIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFNLEVBQUUsQ0FBYSxFQUFFLEVBQUU7QUFDdEMsaUVBQWlFO0FBQ2pFLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFFM0csTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBSzNCLE1BQTZDLEVBQzdDLGFBQTZCLEVBQzdCLEVBQUU7SUFHRixTQUFTLGFBQWE7UUFxRXBCLCtEQUErRDtRQUMvRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLE9BQU8sQ0FBQyxDQUNOLEdBQVEsRUFDUixNQUFjLEVBQ2QsTUFBVSxFQUNWLEVBQUU7WUFDRixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFRLENBQUMsR0FBRyxFQUFFO2dCQUN2QyxPQUFPLEVBQUUsTUFBTTtnQkFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUk7YUFDbkMsQ0FBQyxDQUFBO1lBQ0YsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDdkMsQ0FBQyxDQUFRLENBQUE7SUFDWCxDQUFDO0lBRUQsT0FBTztRQUNMLGFBQWE7S0FDZCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBMEJELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUNyQixVQUF1QyxFQUN2QyxFQUFFO0lBQ0YsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUNOLE1BQXFDLEVBQ3JDLE9BTUMsRUFDRCxVQUFtQixFQUNuQixFQUFFO1lBQ0YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUNmLE1BQU0sRUFDTixVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQ2hELENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSJ9
@@ -4,7 +4,7 @@ import type { Rpc } from "@effect/rpc";
4
4
  import type { S } from "effect-app";
5
5
  import { Effect } from "effect-app";
6
6
  import { HttpRouter } from "effect-app/http";
7
- import type { GetEffectContext, Middleware } from "./routing2/DynamicMiddleware.js";
7
+ import type { ContextMap, GetEffectContext, Middleware } from "./routing2/DynamicMiddleware.js";
8
8
  export interface Hint<Err extends string> {
9
9
  Err: Err;
10
10
  }
@@ -24,9 +24,9 @@ export interface Handler<Action extends AnyRequestModule, RT extends "raw" | "d"
24
24
  _tag: RT;
25
25
  handler: (req: S.Schema.Type<Action>, ctx: Context) => Effect<A, E, R>;
26
26
  }
27
- type AHandler<Action extends AnyRequestModule> = Handler<Action, "raw", S.Schema.Encoded<GetSuccess<Action>>, S.Schema.Type<GetFailure<Action>>, any, {
27
+ type AHandler<Action extends AnyRequestModule> = Handler<Action, "raw", S.Schema.Encoded<GetSuccess<Action>>, S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError, any, {
28
28
  Response: any;
29
- }> | Handler<Action, "d", S.Schema.Type<GetSuccess<Action>>, S.Schema.Type<GetFailure<Action>>, any, {
29
+ }> | Handler<Action, "d", S.Schema.Type<GetSuccess<Action>>, S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError, any, {
30
30
  Response: any;
31
31
  }>;
32
32
  type Filter<T> = {
@@ -35,7 +35,12 @@ type Filter<T> = {
35
35
  failure: S.Schema.Any;
36
36
  } ? K : never]: T[K];
37
37
  };
38
- export declare const makeRouter2: <Context, CTXMap extends Record<string, [string, any, S.Schema.All, any]>>(middleware: Middleware<Context, CTXMap>) => {
38
+ interface ExtendedMiddleware<Context, CTXMap extends Record<string, ContextMap.Any>> extends Middleware<Context, CTXMap> {
39
+ makeContext: Effect<{
40
+ [K in keyof CTXMap as CTXMap[K][1] extends never ? never : CTXMap[K][0]]: CTXMap[K][1];
41
+ }, never, never>;
42
+ }
43
+ export declare const makeRouter2: <Context, CTXMap extends Record<string, ContextMap.Any>>(middleware: ExtendedMiddleware<Context, CTXMap>) => {
39
44
  matchAll: <T extends {
40
45
  [key: string]: HttpRouter.HttpRouter<any, any>;
41
46
  }>(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>;
@@ -49,28 +54,28 @@ export declare const makeRouter2: <Context, CTXMap extends Record<string, [strin
49
54
  <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"]>>, {
50
55
  Response: Rsc[Key]["success"];
51
56
  }>>;
52
- <R2, E_1, A_1>(f: (req: S.Schema.Type<Rsc[Key]>, ctx: {
57
+ <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] ? Rsc[Key][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] ? Rsc[Key][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] ? Rsc[Key][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] ? Rsc[Key][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
53
58
  Response: Rsc[Key]["success"];
54
59
  }) => 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"]>>, {
55
60
  Response: Rsc[Key]["success"];
56
61
  }>>;
57
- <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>> & {
62
+ <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] ? Rsc[Key][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] ? Rsc[Key][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] ? Rsc[Key][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] ? Rsc[Key][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
58
63
  Response: Rsc[Key]["success"];
59
- }>) => 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"]>>, LowerServices<EffectDeps<SVC>> & {
64
+ }>) => 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"]>>, {
60
65
  Response: Rsc[Key]["success"];
61
66
  }>>;
62
67
  }; } & { [Key_1 in keyof Filter<Rsc> as Key_1 extends string ? `${Key_1}Raw` : never]: {
63
68
  <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"]>>, {
64
69
  Response: Rsc[Key_1]["success"];
65
70
  }>>;
66
- <R2_1, E_1, A_1>(f: (req: S.Schema.Type<Rsc[Key_1]>, ctx: {
71
+ <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] ? Rsc[Key_1][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] ? Rsc[Key_1][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] ? Rsc[Key_1][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] ? Rsc[Key_1][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
67
72
  Response: Rsc[Key_1]["success"];
68
73
  }) => 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"]>>, {
69
74
  Response: Rsc[Key_1]["success"];
70
75
  }>>;
71
- <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>> & {
76
+ <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] ? Rsc[Key_1][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] ? Rsc[Key_1][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] ? Rsc[Key_1][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] ? Rsc[Key_1][key_3] extends false ? CTXMap[key_3][0] : never : CTXMap[key_3][0]]?: CTXMap[key_3][1]; } & {
72
77
  Response: Rsc[Key_1]["success"];
73
- }>) => 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"]>>, LowerServices<EffectDeps<SVC>> & {
78
+ }>) => 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"]>>, {
74
79
  Response: Rsc[Key_1]["success"];
75
80
  }>>;
76
81
  }; };
@@ -1 +1 @@
1
- {"version":3,"file":"routing2.d.ts","sourceRoot":"","sources":["../../src/api/routing2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing2.d.ts","sourceRoot":"","sources":["../../src/api/routing2.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export const makeRouter2 = (middleware) => {
21
21
  return acc;
22
22
  }, {});
23
23
  const matchWithServices = (action) => {
24
- return (services, f) => (req) => Effect.andThen(allLower(services), (svc) => f(req, { ...svc, Response: rsc[action].success }));
24
+ return (services, f) => (req) => Effect.andThen(Effect.all({ svc: allLower(services), ctx: middleware.makeContext }), ({ ctx, svc }) => f(req, { ...svc, ...ctx, Response: rsc[action].success }));
25
25
  };
26
26
  const controllers = (controllers) => {
27
27
  const handlers = typedKeysOf(filtered).reduce((acc, cur) => {
@@ -57,7 +57,7 @@ export const makeRouter2 = (middleware) => {
57
57
  ? class {
58
58
  static stack = stack;
59
59
  static _tag = "d";
60
- static handler = (req, ctx) => svcOrFnOrEffect(req, { ...ctx, Response: rsc[cur].success });
60
+ static handler = (req) => Effect.andThen(Effect.all({ ctx: middleware.makeContext }), ({ ctx }) => svcOrFnOrEffect(req, { ...ctx, Response: rsc[cur].success }));
61
61
  }
62
62
  : class {
63
63
  static stack = stack;
@@ -98,4 +98,4 @@ export const makeRouter2 = (middleware) => {
98
98
  }
99
99
  return { matchAll, matchFor };
100
100
  };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3JvdXRpbmcyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUMxRCw0REFBNEQ7QUFDNUQsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxRQUFRLEVBQTRDLE1BQU0seUJBQXlCLENBQUE7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBSXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUF1RHpELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUN6QixVQUF1QyxFQUN2QyxFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9CLFNBQVMsUUFBUSxDQUNmLEdBQVE7UUFFUixNQUFNLElBQUksR0FBSSxHQUFXLENBQUMsSUFBOEIsQ0FBQTtRQUN4RCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQSxDQUFDLDhDQUE4QztRQUczRyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3BELElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDeEQs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
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3JvdXRpbmcyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUMxRCw0REFBNEQ7QUFDNUQsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxRQUFRLEVBQTRDLE1BQU0seUJBQXlCLENBQUE7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBSXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUU1QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFtR3pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUN6QixVQUErQyxFQUMvQyxFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9CLFNBQVMsUUFBUSxDQUNmLEdBQVE7UUFFUixNQUFNLElBQUksR0FBSSxHQUFXLENBQUMsSUFBOEIsQ0FBQTtRQUN4RCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQSxDQUFDLDhDQUE4QztRQUczRyxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3BELElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDeEQs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
@@ -13,7 +13,7 @@ export declare function makeServiceBusQueue<Evt extends {
13
13
  id: StringId;
14
14
  _tag: string;
15
15
  }, EvtE, DrainEvtE>(queueName: string, queueDrainName: string, schema: S.Schema<Evt, EvtE>, drainSchema: S.Schema<DrainEvt, DrainEvtE>): Effect.Effect<{
16
- drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, RequestContextContainer | import("effect/Scope").Scope | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, ServiceBusReceiverFactory>>;
16
+ drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, ServiceBusReceiverFactory>>;
17
17
  publish: (messages_0: Evt, ...messages: Evt[]) => Effect.Effect<void, never, never>;
18
18
  }, never, RequestContextContainer | ServiceBusReceiverFactory | import("@azure/service-bus").ServiceBusSender>;
19
19
  /**
@@ -26,7 +26,7 @@ export declare function byIdAndSaveWithPure<T extends {
26
26
  id: unknown;
27
27
  }, Encoded extends {
28
28
  id: string;
29
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E | NotFoundError<ItemType>, Exclude<R, {
29
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, Exclude<R, {
30
30
  env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
31
31
  }>>;
32
32
  /**
@@ -39,7 +39,7 @@ export declare function handleByIdAndSaveWithPure<T extends {
39
39
  id: string;
40
40
  }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): <Req extends {
41
41
  id: T["id"];
42
- }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E | NotFoundError<ItemType>, Exclude<R, {
42
+ }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, Exclude<R, {
43
43
  env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
44
44
  }>>;
45
45
  /**
@@ -49,7 +49,7 @@ export declare function saveManyWithPure_<R, T extends {
49
49
  id: unknown;
50
50
  }, Encoded extends {
51
51
  id: string;
52
- }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, Exclude<R, {
52
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
53
53
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
54
54
  }>>;
55
55
  /**
@@ -59,14 +59,14 @@ export declare function saveWithPure_<R, T extends {
59
59
  id: unknown;
60
60
  }, Encoded extends {
61
61
  id: string;
62
- }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, Exclude<R, {
62
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
63
63
  env: import("effect-app/Pure").PureEnv<Evt, S1, S2>;
64
64
  }>>;
65
65
  export declare function saveAllWithEffectInt<T extends {
66
66
  id: unknown;
67
67
  }, Encoded extends {
68
68
  id: string;
69
- }, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, R>;
69
+ }, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, R>;
70
70
  /**
71
71
  * @tsplus fluent Repository saveManyWithPureBatched
72
72
  */
@@ -74,7 +74,7 @@ export declare function saveManyWithPureBatched<T extends {
74
74
  id: unknown;
75
75
  }, Encoded extends {
76
76
  id: string;
77
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>) => (items: Iterable<S1>) => Effect.Effect<A[], import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, Exclude<R, {
77
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>) => (items: Iterable<S1>) => Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
78
78
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
79
79
  }>>;
80
80
  /**
@@ -84,7 +84,7 @@ export declare function saveManyWithPureBatched_<R, T extends {
84
84
  id: unknown;
85
85
  }, Encoded extends {
86
86
  id: string;
87
- }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batchSize?: number): Effect.Effect<A[], import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E, Exclude<R, {
87
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batchSize?: number): Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
88
88
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
89
89
  }>>;
90
90
  /**
@@ -94,7 +94,7 @@ export declare function save<T extends {
94
94
  id: unknown;
95
95
  }, Encoded extends {
96
96
  id: string;
97
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException>;
97
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
98
98
  /**
99
99
  * @tsplus getter Repository saveWithEvents
100
100
  */
@@ -102,7 +102,7 @@ export declare function saveWithEvents<T extends {
102
102
  id: unknown;
103
103
  }, Encoded extends {
104
104
  id: string;
105
- }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException>;
105
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
106
106
  /**
107
107
  * @tsplus fluent Repository updateWithEffect
108
108
  */
@@ -110,7 +110,7 @@ export declare function itemUpdateWithEffect<R, E, T extends {
110
110
  id: string;
111
111
  }, Encoded extends {
112
112
  id: string;
113
- }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => Effect<T, E, R>): Effect.Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | E | NotFoundError<ItemType>, R>;
113
+ }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => Effect<T, E, R>): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, R>;
114
114
  /**
115
115
  * @tsplus fluent Repository update
116
116
  */
@@ -118,7 +118,7 @@ export declare function itemUpdate<T extends {
118
118
  id: string;
119
119
  }, Encoded extends {
120
120
  id: string;
121
- }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | NotFoundError<ItemType>, never>;
121
+ }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType>, never>;
122
122
  /**
123
123
  * only use this as a shortcut if you don't have the item already
124
124
  * @tsplus fluent Repository removeById
@@ -88,8 +88,8 @@ export declare class RepositoryBaseC3<T extends {
88
88
  get(id: T["id"]): Effect.Effect<T, NotFoundError<ItemType>, never>;
89
89
  readonly log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
90
90
  removeById(id: T["id"]): Effect.Effect<void, NotFoundError<ItemType>, never>;
91
- readonly save: (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
92
- readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
91
+ readonly save: (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError>;
92
+ readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError>;
93
93
  readonly queryAndSavePure: {
94
94
  <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Exclude<R2, {
95
95
  env: PureEnv<Evt, T, T2>;
@@ -106,7 +106,7 @@ export declare class RepositoryBaseC3<T extends {
106
106
  */
107
107
  readonly handleByIdAndSaveWithPure: <Req extends {
108
108
  id: T["id"];
109
- }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E, Exclude<R, {
109
+ }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | NotFoundError<ItemType> | E, Exclude<R, {
110
110
  env: PureEnv<Evt, T, S2>;
111
111
  }>>;
112
112
  saveManyWithPure: {
@@ -122,7 +122,7 @@ export declare class RepositoryBaseC3<T extends {
122
122
  env: PureEnv<Evt, T, S2>;
123
123
  }>>;
124
124
  };
125
- saveWithPure<R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
125
+ saveWithPure<R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E, Exclude<R, {
126
126
  env: PureEnv<Evt, S1, S2>;
127
127
  }>>;
128
128
  }
@@ -145,7 +145,7 @@ export declare function makeRepo<Evt = never>(): <ItemType extends string, R, En
145
145
  config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
146
146
  partitionValue?: (a: Encoded) => string;
147
147
  };
148
- }) => Effect.Effect<Repository<T, Encoded, Evt, ItemType>, E, ContextMapContainer | StoreMaker | R | RInitial | R2>;
148
+ }) => Effect.Effect<Repository<T, Encoded, Evt, ItemType>, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
149
149
  Q: Query<Encoded>;
150
150
  };
151
151
  export declare function makeStore<Encoded extends {
@@ -25,7 +25,7 @@ declare const RequestContextContainer_base: (abstract new (service: {
25
25
  requestContext: Effect<RequestContext>;
26
26
  update: (f: (rc: RequestContext) => RequestContext) => Effect<RequestContext>;
27
27
  start: (f: RequestContext) => Effect<void>;
28
- }) => X) => X extends Effect<infer A_1, infer E_1, infer R_3> ? Effect<A_1, E_1, RequestContextContainer | R_3> : Effect<X, never, RequestContextContainer>;
28
+ }) => X) => X extends Effect<infer A_1, infer E_1, infer R_3> ? Effect<A_1, E_1, R_3 | RequestContextContainer> : Effect<X, never, RequestContextContainer>;
29
29
  };
30
30
  /**
31
31
  * @tsplus type RequestContextContainer
@@ -87,7 +87,7 @@ declare const StoreMaker_base: (abstract new (service: {
87
87
  make: <Encoded extends {
88
88
  id: Id;
89
89
  }, Id extends string, R = never, E = never>(name: string, seed?: Effect<Iterable<Encoded>, E, R>, config?: StoreConfig<Encoded>) => Effect<Store<Encoded, Id>, E, R>;
90
- }) => X) => X extends Effect<infer A_1, infer E_1, infer R_3> ? Effect<A_1, E_1, R_3 | StoreMaker> : Effect<X, never, StoreMaker>;
90
+ }) => X) => X extends Effect<infer A_1, infer E_1, infer R_3> ? Effect<A_1, E_1, StoreMaker | R_3> : Effect<X, never, StoreMaker>;
91
91
  };
92
92
  /**
93
93
  * @tsplus type StoreMaker
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "1.26.2",
3
+ "version": "1.27.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -77,9 +77,11 @@ const merge = (a: any, b: Array<any>) =>
77
77
 
78
78
  export const makeRpcClient = <
79
79
  RequestConfig extends object,
80
- CTXMap extends Record<string, ContextMap.Any>
80
+ CTXMap extends Record<string, ContextMap.Any>,
81
+ GeneralErrors extends S.Schema.Any
81
82
  >(
82
- errors: { [K in keyof CTXMap]: CTXMap[K][2] }
83
+ errors: { [K in keyof CTXMap]: CTXMap[K][2] },
84
+ generalErrors?: GeneralErrors
83
85
  ) => {
84
86
  // Long way around Context/C extends etc to support actual jsdoc from passed in RequestConfig etc...
85
87
  type Context = { success: S.Schema.Any; failure: S.Schema.Any }
@@ -94,8 +96,9 @@ export const makeRpcClient = <
94
96
  Tag,
95
97
  { readonly _tag: S.tag<Tag> } & Payload,
96
98
  typeof config["success"],
97
- GetEffectError<CTXMap, C> extends never ? typeof config["failure"]
98
- : GetFailure<typeof config["failure"], GetEffectError<CTXMap, C>>
99
+ | (GetEffectError<CTXMap, C> extends never ? typeof config["failure"]
100
+ : GetFailure<typeof config["failure"], GetEffectError<CTXMap, C>>)
101
+ | GeneralErrors
99
102
  > // typeof config["failure"]
100
103
  & { config: Omit<C, "success" | "failure"> }
101
104
  <Tag extends string, Payload extends S.Struct.Fields, C extends { success: S.Schema.Any }>(
@@ -108,7 +111,8 @@ export const makeRpcClient = <
108
111
  Tag,
109
112
  { readonly _tag: S.tag<Tag> } & Payload,
110
113
  typeof config["success"],
111
- GetFailure1<GetEffectError<CTXMap, C>>
114
+ | GetFailure1<GetEffectError<CTXMap, C>>
115
+ | GeneralErrors
112
116
  >
113
117
  & { config: Omit<C, "success" | "failure"> }
114
118
  <Tag extends string, Payload extends S.Struct.Fields, C extends { failure: S.Schema.Any }>(
@@ -121,7 +125,8 @@ export const makeRpcClient = <
121
125
  Tag,
122
126
  { readonly _tag: S.tag<Tag> } & Payload,
123
127
  typeof S.Void,
124
- GetFailure1<GetEffectError<CTXMap, C>>
128
+ | GetFailure1<GetEffectError<CTXMap, C>>
129
+ | GeneralErrors
125
130
  >
126
131
  & { config: Omit<C, "success" | "failure"> }
127
132
  <Tag extends string, Payload extends S.Struct.Fields, C extends Record<string, any>>(
@@ -134,7 +139,8 @@ export const makeRpcClient = <
134
139
  Tag,
135
140
  { readonly _tag: S.tag<Tag> } & Payload,
136
141
  typeof S.Void,
137
- GetFailure1<GetEffectError<CTXMap, C>>
142
+ | GetFailure1<GetEffectError<CTXMap, C>>
143
+ | GeneralErrors
138
144
  >
139
145
  & { config: Omit<C, "success" | "failure"> }
140
146
  <Tag extends string, Payload extends S.Struct.Fields>(
@@ -145,7 +151,7 @@ export const makeRpcClient = <
145
151
  Tag,
146
152
  { readonly _tag: S.tag<Tag> } & Payload,
147
153
  typeof S.Void,
148
- typeof S.Never
154
+ GeneralErrors
149
155
  >
150
156
  } {
151
157
  // TODO: filter errors based on config + take care of inversion
@@ -157,7 +163,7 @@ export const makeRpcClient = <
157
163
  ) => {
158
164
  const req = S.TaggedRequest<Self>()(tag, {
159
165
  payload: fields,
160
- failure: merge(config?.failure, errorSchemas),
166
+ failure: merge(config?.failure, [...errorSchemas, generalErrors]),
161
167
  success: config?.success ?? S.Void
162
168
  })
163
169
  return Object.assign(req, { config })
@@ -12,9 +12,42 @@ import { HttpRpcRouter } from "@effect/rpc-http"
12
12
  import type { S } from "effect-app"
13
13
  import { Effect, Predicate } from "effect-app"
14
14
  import { HttpRouter } from "effect-app/http"
15
- import type { GetEffectContext, Middleware } from "./routing2/DynamicMiddleware.js"
15
+ import type { ContextMap, GetEffectContext, Middleware } from "./routing2/DynamicMiddleware.js"
16
16
  import { makeRpc } from "./routing2/DynamicMiddleware.js"
17
17
 
18
+ type GetRouteContext<CTXMap extends Record<string, ContextMap.Any>, T> =
19
+ // & CTX
20
+ // inverted
21
+ & {
22
+ [
23
+ key in keyof CTXMap as CTXMap[key][3] extends true ? never
24
+ : key extends keyof T ? T[key] extends true ? CTXMap[key][0] : never
25
+ : never
26
+ ]?: CTXMap[key][1]
27
+ }
28
+ & {
29
+ [
30
+ key in keyof CTXMap as CTXMap[key][3] extends true ? never
31
+ : key extends keyof T ? T[key] extends false ? CTXMap[key][0] : never
32
+ : CTXMap[key][0]
33
+ ]: CTXMap[key][1]
34
+ }
35
+ // normal
36
+ & {
37
+ [
38
+ key in keyof CTXMap as CTXMap[key][3] extends false ? never
39
+ : key extends keyof T ? T[key] extends true ? CTXMap[key][0] : never
40
+ : never
41
+ ]: CTXMap[key][1]
42
+ }
43
+ & {
44
+ [
45
+ key in keyof CTXMap as CTXMap[key][3] extends false ? never
46
+ : key extends keyof T ? T[key] extends false ? CTXMap[key][0] : never
47
+ : CTXMap[key][0]
48
+ ]?: CTXMap[key][1]
49
+ }
50
+
18
51
  export interface Hint<Err extends string> {
19
52
  Err: Err
20
53
  }
@@ -51,7 +84,7 @@ type AHandler<Action extends AnyRequestModule> =
51
84
  Action,
52
85
  "raw",
53
86
  S.Schema.Encoded<GetSuccess<Action>>,
54
- S.Schema.Type<GetFailure<Action>>,
87
+ S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError,
55
88
  any,
56
89
  { Response: any }
57
90
  >
@@ -59,7 +92,7 @@ type AHandler<Action extends AnyRequestModule> =
59
92
  Action,
60
93
  "d",
61
94
  S.Schema.Type<GetSuccess<Action>>,
62
- S.Schema.Type<GetFailure<Action>>,
95
+ S.Schema.Type<GetFailure<Action>> | S.ParseResult.ParseError,
63
96
  any,
64
97
  { Response: any }
65
98
  >
@@ -68,8 +101,19 @@ type Filter<T> = {
68
101
  [K in keyof T as T[K] extends S.Schema.All & { success: S.Schema.Any; failure: S.Schema.Any } ? K : never]: T[K]
69
102
  }
70
103
 
71
- export const makeRouter2 = <Context, CTXMap extends Record<string, [string, any, S.Schema.All, any]>>(
72
- middleware: Middleware<Context, CTXMap>
104
+ interface ExtendedMiddleware<Context, CTXMap extends Record<string, ContextMap.Any>>
105
+ extends Middleware<Context, CTXMap>
106
+ {
107
+ // TODO
108
+ makeContext: Effect<
109
+ { [K in keyof CTXMap as CTXMap[K][1] extends never ? never : CTXMap[K][0]]: CTXMap[K][1] },
110
+ never,
111
+ never
112
+ >
113
+ }
114
+
115
+ export const makeRouter2 = <Context, CTXMap extends Record<string, ContextMap.Any>>(
116
+ middleware: ExtendedMiddleware<Context, CTXMap>
73
117
  ) => {
74
118
  const rpc = makeRpc(middleware)
75
119
  function matchFor<Rsc extends Record<string, any> & { meta: { moduleName: string } }>(
@@ -100,13 +144,16 @@ export const makeRouter2 = <Context, CTXMap extends Record<string, [string, any,
100
144
  f: (
101
145
  req: S.Schema.Type<Rsc[Key]>,
102
146
  ctx: Compute<
103
- LowerServices<EffectDeps<SVC>> & /*GetRouteContext<Rsc[Key]> & */ { Response: Rsc[Key]["success"] },
147
+ LowerServices<EffectDeps<SVC>> & GetRouteContext<CTXMap, Rsc[Key]> & { Response: Rsc[Key]["success"] },
104
148
  "flat"
105
149
  >
106
150
  ) => Effect<A, E, R2>
107
151
  ) =>
108
152
  (req: any) =>
109
- Effect.andThen(allLower(services), (svc) => f(req, { ...svc as any, Response: rsc[action].success }))
153
+ Effect.andThen(
154
+ Effect.all({ svc: allLower(services), ctx: middleware.makeContext }),
155
+ ({ ctx, svc }) => f(req, { ...svc, ...ctx, Response: rsc[action].success } as any)
156
+ )
110
157
  }
111
158
 
112
159
  type MatchWithServicesNew<RT extends "raw" | "d", Key extends keyof Rsc> = {
@@ -121,14 +168,14 @@ export const makeRouter2 = <Context, CTXMap extends Record<string, [string, any,
121
168
  A,
122
169
  E,
123
170
  Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>,
124
- /*GetRouteContext<Rsc[Key]> & */ { Response: Rsc[Key]["success"] } //
171
+ { Response: Rsc[Key]["success"] } //
125
172
  >
126
173
  >
127
174
 
128
175
  <R2, E, A>(
129
176
  f: (
130
177
  req: S.Schema.Type<Rsc[Key]>,
131
- ctx: /*GetRouteContext<Rsc[Key]> & */ { Response: Rsc[Key]["success"] }
178
+ ctx: GetRouteContext<CTXMap, Rsc[Key]> & { Response: Rsc[Key]["success"] }
132
179
  ) => Effect<A, E, R2>
133
180
  ): HandleVoid<
134
181
  GetSuccessShape<Rsc[Key], RT>,
@@ -139,7 +186,7 @@ export const makeRouter2 = <Context, CTXMap extends Record<string, [string, any,
139
186
  A,
140
187
  E,
141
188
  Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>,
142
- /*GetRouteContext<Rsc[Key]> & */ { Response: Rsc[Key]["success"] } //
189
+ { Response: Rsc[Key]["success"] } //
143
190
  >
144
191
  >
145
192
 
@@ -156,7 +203,7 @@ export const makeRouter2 = <Context, CTXMap extends Record<string, [string, any,
156
203
  f: (
157
204
  req: S.Schema.Type<Rsc[Key]>,
158
205
  ctx: Compute<
159
- LowerServices<EffectDeps<SVC>> & /*GetRouteContext<Rsc[Key]> & */ { Response: Rsc[Key]["success"] },
206
+ LowerServices<EffectDeps<SVC>> & GetRouteContext<CTXMap, Rsc[Key]> & { Response: Rsc[Key]["success"] },
160
207
  "flat"
161
208
  >
162
209
  ) => Effect<A, E, R2>
@@ -169,7 +216,7 @@ export const makeRouter2 = <Context, CTXMap extends Record<string, [string, any,
169
216
  A,
170
217
  E,
171
218
  Exclude<R2, GetEffectContext<CTXMap, Rsc[Key]["config"]>>,
172
- LowerServices<EffectDeps<SVC>> & /*GetRouteContext<Rsc[Key]> & */ { Response: Rsc[Key]["success"] } //
219
+ { Response: Rsc[Key]["success"] } //
173
220
  >
174
221
  >
175
222
  }
@@ -256,7 +303,11 @@ export const makeRouter2 = <Context, CTXMap extends Record<string, [string, any,
256
303
  ? class {
257
304
  static stack = stack
258
305
  static _tag = "d"
259
- static handler = (req: any, ctx: any) => svcOrFnOrEffect(req, { ...ctx, Response: rsc[cur].success })
306
+ static handler = (req: any) =>
307
+ Effect.andThen(
308
+ Effect.all({ ctx: middleware.makeContext }),
309
+ ({ ctx }) => svcOrFnOrEffect(req, { ...ctx, Response: rsc[cur].success })
310
+ )
260
311
  }
261
312
  : class {
262
313
  static stack = stack