@effect-app/infra 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/_cjs/api/internal/RequestContextMiddleware.cjs +2 -3
- package/_cjs/api/internal/RequestContextMiddleware.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +1 -1
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +2 -2
- package/_cjs/logger/shared.cjs.map +1 -1
- package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
- package/dist/api/internal/RequestContextMiddleware.js +3 -4
- package/dist/api/setupRequest.d.ts +1 -2
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +3 -3
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +2 -2
- package/dist/services/Repository/ext.d.ts +11 -11
- package/dist/services/RepositoryBase.d.ts +6 -6
- package/package.json +3 -3
- package/src/api/internal/RequestContextMiddleware.ts +2 -3
- package/src/api/setupRequest.ts +2 -3
- package/src/logger/shared.ts +2 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 2.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c2d2d9a: fix: make sure the span in RequestContext is filtered for serialization
|
|
8
|
+
|
|
9
|
+
## 2.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [39e4f3d]
|
|
14
|
+
- effect-app@2.0.1
|
|
15
|
+
- @effect-app/infra-adapters@2.0.1
|
|
16
|
+
|
|
3
17
|
## 2.0.0
|
|
4
18
|
|
|
5
19
|
### Major Changes
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.RequestContextMiddleware = void 0;
|
|
7
7
|
var _effectApp = require("effect-app");
|
|
8
8
|
var _http = require("effect-app/http");
|
|
9
|
-
var _ids = require("effect-app/ids");
|
|
10
9
|
var _Schema = require("effect-app/Schema");
|
|
11
10
|
var _RequestContext = require("../../RequestContext.cjs");
|
|
12
11
|
var _setupRequest = require("../setupRequest.cjs");
|
|
@@ -22,8 +21,8 @@ const RequestContextMiddleware = (defaultLocale = "en") => _http.HttpMiddleware.
|
|
|
22
21
|
const deviceId = req.headers["x-fe-device-id"];
|
|
23
22
|
const requestContext = new _RequestContext.RequestContext({
|
|
24
23
|
span: {
|
|
25
|
-
traceId:
|
|
26
|
-
spanId:
|
|
24
|
+
traceId: currentSpan.traceId,
|
|
25
|
+
spanId: currentSpan.spanId,
|
|
27
26
|
sampled: currentSpan.sampled
|
|
28
27
|
},
|
|
29
28
|
name: (0, _Schema.NonEmptyString255)(req.originalUrl),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContextMiddleware.cjs","names":["_effectApp","require","_http","
|
|
1
|
+
{"version":3,"file":"RequestContextMiddleware.cjs","names":["_effectApp","require","_http","_Schema","_RequestContext","_setupRequest","RequestContextMiddleware","defaultLocale","HttpMiddleware","make","app","Effect","gen","req","HttpServerRequest","currentSpan","pipe","orDie","supported","Locale","literals","desiredLocale","headers","locale","includes","ns","namespace","NonEmptyString255","Array","isArray","deviceId","requestContext","RequestContext","span","traceId","spanId","sampled","name","originalUrl","sourceId","undefined","res","setupRequestContext","HttpServerResponse","setHeaders","exports"],"sources":["../../../src/api/internal/RequestContextMiddleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAEO,MAAMK,wBAAwB,GAAGA,CAACC,aAAA,GAAwB,IAAI,KACnEC,oBAAc,CAACC,IAAI,CAAEC,GAAG,IACtBC,iBAAM,CAACC,GAAG,CAAC,aAAS;EAClB,MAAMC,GAAG,GAAG,OAAOC,uBAAiB,CAACA,iBAAiB;EAEtD,MAAMC,WAAW,GAAG,OAAOJ,iBAAM,CAACI,WAAW,CAACC,IAAI,CAACL,iBAAM,CAACM,KAAK,CAAC;EAChE,MAAMC,SAAS,GAAGC,sBAAM,CAACC,QAAQ;EACjC,MAAMC,aAAa,GAAGR,GAAG,CAACS,OAAO,CAAC,UAAU,CAAC;EAC7C;EACA,MAAMC,MAAM,GAAGF,aAAa,IAAIH,SAAS,CAACM,QAAQ,CAACH,aAAoB,CAAC,GACnEA,aAA0C,GAC3Cd,aAAa;EAEjB,MAAMkB,EAAE,GAAGZ,GAAG,CAACS,OAAO,CAAC,YAAY,CAAC;EACpC,MAAMI,SAAS,GAAG,IAAAC,yBAAiB,EAAEF,EAAE,KAAKG,KAAK,CAACC,OAAO,CAACJ,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC,CAAC,GAAGA,EAAE,CAAC,IAAK,SAAS,CAAC;EAC1F,MAAMK,QAAQ,GAAGjB,GAAG,CAACS,OAAO,CAAC,gBAAgB,CAAC;EAE9C,MAAMS,cAAc,GAAG,IAAIC,8BAAc,CAAC;IACxCC,IAAI,EAAE;MACJC,OAAO,EAAEnB,WAAW,CAACmB,OAAO;MAC5BC,MAAM,EAAEpB,WAAW,CAACoB,MAAM;MAC1BC,OAAO,EAAErB,WAAW,CAACqB;KACtB;IACDC,IAAI,EAAE,IAAAV,yBAAiB,EAACd,GAAG,CAACyB,WAAW,CAAC;IAAE;IAC1Cf,MAAM;IACNG,SAAS;IACTa,QAAQ,EAAET,QAAQ,GAAG,IAAAH,yBAAiB,EAACG,QAAQ,CAAC,GAAGU;GACpD,CAAC;EACF,MAAMC,GAAG,GAAG,OAAO,IAAAC,iCAAmB,EAAChC,GAAG,EAAEqB,cAAc,CAAC;EAE3D;EACA,OAAOY,wBAAkB,CAACC,UAAU,CAACH,GAAG,EAAE;IACxC,kBAAkB,EAAEV,cAAc,CAACR;GACpC,CAAC;AACJ,CAAC,CAAC,CACH;AAAAsB,OAAA,CAAAvC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ const getRequestContext = exports.getRequestContext = _effectApp.Effect.all({
|
|
|
20
20
|
namespace,
|
|
21
21
|
span
|
|
22
22
|
}) => new _RequestContext.RequestContext({
|
|
23
|
-
span,
|
|
23
|
+
span: _effectApp.Tracer.externalSpan(span),
|
|
24
24
|
locale,
|
|
25
25
|
namespace,
|
|
26
26
|
// TODO: get through span context, or don't care at all.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupRequest.cjs","names":["_effectApp","require","_Schema","_RequestContext","_ContextMapContainer","_Memory","getRequestContext","exports","Effect","all","span","currentSpan","pipe","orDie","locale","FiberRef","get","LocaleRef","namespace","storeId","map","RequestContext","name","NonEmptyString255","getRC","withRequestSpan","options","f","andThen","ctx","withSpan","attributes","spanAttributes","captureStackTrace","withLogSpan","setupContextMap","startContextMap","Layer","effectDiscard","setupRequestContextFromCurrent","self","provide","setupRequestContext","requestContext","gen","set"],"sources":["../../src/api/setupRequest.ts"],"sourcesContent":[null],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"setupRequest.cjs","names":["_effectApp","require","_Schema","_RequestContext","_ContextMapContainer","_Memory","getRequestContext","exports","Effect","all","span","currentSpan","pipe","orDie","locale","FiberRef","get","LocaleRef","namespace","storeId","map","RequestContext","Tracer","externalSpan","name","NonEmptyString255","getRC","withRequestSpan","options","f","andThen","ctx","withSpan","attributes","spanAttributes","captureStackTrace","withLogSpan","setupContextMap","startContextMap","Layer","effectDiscard","setupRequestContextFromCurrent","self","provide","setupRequestContext","requestContext","gen","set"],"sources":["../../src/api/setupRequest.ts"],"sourcesContent":[null],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEO,MAAMK,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,iBAAM,CACpCC,GAAG,CAAC;EACHC,IAAI,EAAEF,iBAAM,CAACG,WAAW,CAACC,IAAI,CAACJ,iBAAM,CAACK,KAAK,CAAC;EAC3CC,MAAM,EAAEC,mBAAQ,CAACC,GAAG,CAACC,yBAAS,CAAC;EAC/BC,SAAS,EAAEH,mBAAQ,CAACC,GAAG,CAACG,eAAO;CAChC,CAAC,CACDP,IAAI,CACHJ,iBAAM,CAACY,GAAG,CAAC,CAAC;EAAEN,MAAM;EAAEI,SAAS;EAAER;AAAI,CAAE,KACrC,IAAIW,8BAAc,CAAC;EACjBX,IAAI,EAAEY,iBAAM,CAACC,YAAY,CAACb,IAAI,CAAC;EAC/BI,MAAM;EACNI,SAAS;EACT;EACAM,IAAI,EAAE,IAAAC,yBAAiB,EAAC,QAAQ;CACjC,CAAC,CACH,CACF;AAEI,MAAMC,KAAK,GAAAnB,OAAA,CAAAmB,KAAA,GAAGlB,iBAAM,CAACC,GAAG,CAAC;EAC9BK,MAAM,EAAEC,mBAAQ,CAACC,GAAG,CAACC,yBAAS,CAAC;EAC/BC,SAAS,EAAEH,mBAAQ,CAACC,GAAG,CAACG,eAAO;CAChC,CAAC;AAEF,MAAMQ,eAAe,GAAGA,CAACH,IAAI,GAAG,SAAS,EAAEI,OAA4B,KAAeC,CAAkB,IACtGrB,iBAAM,CAACsB,OAAO,CACZJ,KAAK,EACJK,GAAG,IACFF,CAAC,CAACjB,IAAI,CACJJ,iBAAM,CAACwB,QAAQ,CAACR,IAAI,EAAE;EACpB,GAAGI,OAAO;EACVK,UAAU,EAAE;IAAE,GAAG,IAAAC,8BAAc,EAACH,GAAG,CAAC;IAAE,GAAGH,OAAO,EAAEK;EAAU,CAAE;EAC9DE,iBAAiB,EAAE;CACpB,CAAC;AACF;AACA;AACA3B,iBAAM,CAAC4B,WAAW,CAACZ,IAAI,CAAC,CACzB,CACJ;AAEH,MAAMa,eAAe,GAAGC,oCAAe,CAAC1B,IAAI,CAAC2B,gBAAK,CAACC,aAAa,CAAC;AAE1D,MAAMC,8BAA8B,GACzCA,CAACjB,IAAI,GAAG,SAAS,EAAEI,OAA4B,KAAec,IAAqB,IACjFA,IAAI,CACD9B,IAAI,CACHe,eAAe,CAACH,IAAI,EAAEI,OAAO,CAAC,EAC9BpB,iBAAM,CAACmC,OAAO,CAACN,eAAe,CAAC,CAChC;AAEP;AAAA9B,OAAA,CAAAkC,8BAAA,GAAAA,8BAAA;AACM,SAAUG,mBAAmBA,CAAUF,IAAqB,EAAEG,cAA8B;EAChG,OAAOrC,iBAAM,CAACsC,GAAG,CAAC,aAAS;IACzB,OAAO/B,mBAAQ,CAACgC,GAAG,CAAC9B,yBAAS,EAAE4B,cAAc,CAAC/B,MAAM,CAAC;IACrD,OAAOC,mBAAQ,CAACgC,GAAG,CAAC5B,eAAO,EAAE0B,cAAc,CAAC3B,SAAS,CAAC;IAEtD,OAAO,OAAOwB,IAAI,CACf9B,IAAI,CACHe,eAAe,CAACkB,cAAc,CAACrB,IAAI,CAAC,EACpChB,iBAAM,CAACmC,OAAO,CAACN,eAAe,CAAC,CAChC;EACL,CAAC,CAAC;AACJ","ignoreList":[]}
|
package/_cjs/logger/shared.cjs
CHANGED
|
@@ -17,11 +17,11 @@ function getRequestContextFromFiberRefs(fiberRefs) {
|
|
|
17
17
|
const locale = FiberRefs.getOrDefault(fiberRefs, _RequestContext.LocaleRef);
|
|
18
18
|
const namespace = FiberRefs.getOrDefault(fiberRefs, _Memory.storeId);
|
|
19
19
|
return new _RequestContext.RequestContext({
|
|
20
|
-
span: _effectApp.Option.
|
|
20
|
+
span: _effectApp.Option.map(span, _effectApp.Tracer.externalSpan).pipe(_effectApp.Option.getOrElse(() => ({
|
|
21
21
|
spanId: "bogus",
|
|
22
22
|
sampled: true,
|
|
23
23
|
traceId: "bogus"
|
|
24
|
-
})),
|
|
24
|
+
}))),
|
|
25
25
|
name: (0, _Schema.NonEmptyString255)("_"),
|
|
26
26
|
locale,
|
|
27
27
|
namespace
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.cjs","names":["_effectApp","require","_Schema","FiberRefs","_interopRequireWildcard","_RequestContext","_Memory","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getRequestContextFromFiberRefs","fiberRefs","context","getOrDefault","FiberRef","currentContext","span","Context","getOption","Tracer","ParentSpan","locale","LocaleRef","namespace","storeId","RequestContext","Option","getOrElse","spanId","sampled","traceId","name","NonEmptyString255"],"sources":["../../src/logger/shared.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAAqD,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE/C,SAAUW,8BAA8BA,CAACC,SAA8B;EAC3E,MAAMC,OAAO,GAAG1B,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEG,mBAAQ,CAACC,cAAc,CAAC;EAC1E,MAAMC,IAAI,GAAGC,kBAAO,CAACC,SAAS,CAACN,OAAO,EAAEO,iBAAM,CAACC,UAAU,CAAC;EAC1D,MAAMC,MAAM,GAAGnC,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEW,yBAAS,CAAC;EAC3D,MAAMC,SAAS,GAAGrC,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEa,eAAO,CAAC;EAC5D,OAAO,IAAIC,8BAAc,CAAC;IACxBT,IAAI,EAAEU,iBAAM,CAACC,
|
|
1
|
+
{"version":3,"file":"shared.cjs","names":["_effectApp","require","_Schema","FiberRefs","_interopRequireWildcard","_RequestContext","_Memory","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getRequestContextFromFiberRefs","fiberRefs","context","getOrDefault","FiberRef","currentContext","span","Context","getOption","Tracer","ParentSpan","locale","LocaleRef","namespace","storeId","RequestContext","Option","map","externalSpan","pipe","getOrElse","spanId","sampled","traceId","name","NonEmptyString255"],"sources":["../../src/logger/shared.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAAqD,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE/C,SAAUW,8BAA8BA,CAACC,SAA8B;EAC3E,MAAMC,OAAO,GAAG1B,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEG,mBAAQ,CAACC,cAAc,CAAC;EAC1E,MAAMC,IAAI,GAAGC,kBAAO,CAACC,SAAS,CAACN,OAAO,EAAEO,iBAAM,CAACC,UAAU,CAAC;EAC1D,MAAMC,MAAM,GAAGnC,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEW,yBAAS,CAAC;EAC3D,MAAMC,SAAS,GAAGrC,SAAS,CAAC2B,YAAY,CAACF,SAAS,EAAEa,eAAO,CAAC;EAC5D,OAAO,IAAIC,8BAAc,CAAC;IACxBT,IAAI,EAAEU,iBAAM,CAACC,GAAG,CAACX,IAAI,EAAEG,iBAAM,CAACS,YAAY,CAAC,CAACC,IAAI,CAC9CH,iBAAM,CAACI,SAAS,CAAC,OAAO;MAAEC,MAAM,EAAE,OAAO;MAAEC,OAAO,EAAE,IAAI;MAAEC,OAAO,EAAE;IAAO,CAAE,CAAC,CAAC,CAC/E;IACDC,IAAI,EAAE,IAAAC,yBAAiB,EAAC,GAAG,CAAC;IAC5Bd,MAAM;IACNE;GACD,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContextMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/internal/RequestContextMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"RequestContextMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/internal/RequestContextMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAkB,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEvF,OAAO,EAAE,MAAM,EAAkB,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,wBAAwB,mBAAmB,MAAM,mOAmC3D,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect-app";
|
|
2
2
|
import { HttpMiddleware, HttpServerRequest, HttpServerResponse } from "effect-app/http";
|
|
3
|
-
import { RequestId } from "effect-app/ids";
|
|
4
3
|
import { NonEmptyString255 } from "effect-app/Schema";
|
|
5
4
|
import { Locale, RequestContext } from "../../RequestContext.js";
|
|
6
5
|
import { setupRequestContext } from "../setupRequest.js";
|
|
@@ -18,8 +17,8 @@ export const RequestContextMiddleware = (defaultLocale = "en") => HttpMiddleware
|
|
|
18
17
|
const deviceId = req.headers["x-fe-device-id"];
|
|
19
18
|
const requestContext = new RequestContext({
|
|
20
19
|
span: {
|
|
21
|
-
traceId:
|
|
22
|
-
spanId:
|
|
20
|
+
traceId: currentSpan.traceId,
|
|
21
|
+
spanId: currentSpan.spanId,
|
|
23
22
|
sampled: currentSpan.sampled
|
|
24
23
|
},
|
|
25
24
|
name: NonEmptyString255(req.originalUrl), // set more detailed elsewhere
|
|
@@ -33,4 +32,4 @@ export const RequestContextMiddleware = (defaultLocale = "en") => HttpMiddleware
|
|
|
33
32
|
"Content-Language": requestContext.locale
|
|
34
33
|
});
|
|
35
34
|
}));
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9pbnRlcm5hbC9SZXF1ZXN0Q29udGV4dE1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUV4RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLGdCQUF3QixJQUFJLEVBQUUsRUFBRSxDQUN2RSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDbEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUE7SUFFdEQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUE7SUFDakMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM3QyxxR0FBcUc7SUFDckcsTUFBTSxNQUFNLEdBQUcsYUFBYSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBb0IsQ0FBQztRQUN0RSxDQUFDLENBQUUsYUFBMEM7UUFDN0MsQ0FBQyxDQUFDLGFBQWEsQ0FBQTtJQUVqQixNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzFGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUU5QyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUN4QyxJQUFJLEVBQUU7WUFDSixPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87WUFDNUIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNO1lBQzFCLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTztTQUM3QjtRQUNELElBQUksRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsOEJBQThCO1FBQ3hFLE1BQU07UUFDTixTQUFTO1FBQ1QsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDN0QsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBRTNELG1DQUFtQztJQUNuQyxPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDeEMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLE1BQU07S0FDMUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQSJ9
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Effect } from "effect-app";
|
|
1
|
+
import { Effect, Tracer } from "effect-app";
|
|
3
2
|
import { NonEmptyString255 } from "effect-app/Schema";
|
|
4
3
|
import { RequestContext } from "../RequestContext.js";
|
|
5
4
|
export declare const getRequestContext: Effect.Effect<RequestContext, never, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../src/api/setupRequest.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../src/api/setupRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmB,MAAM,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAa,cAAc,EAAkB,MAAM,sBAAsB,CAAA;AAIhF,eAAO,MAAM,iBAAiB,6CAgB3B,CAAA;AAEH,eAAO,MAAM,KAAK;;;gBAGhB,CAAA;AAoBF,eAAO,MAAM,8BAA8B,4BACZ,MAAM,CAAC,WAAW,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,uEAK9E,CAAA;AAGP,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,sEAWjG"}
|
package/dist/api/setupRequest.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, FiberRef, Layer } from "effect-app";
|
|
1
|
+
import { Effect, FiberRef, Layer, Tracer } from "effect-app";
|
|
2
2
|
import { NonEmptyString255 } from "effect-app/Schema";
|
|
3
3
|
import { LocaleRef, RequestContext, spanAttributes } from "../RequestContext.js";
|
|
4
4
|
import { startContextMap } from "../services/Store/ContextMapContainer.js";
|
|
@@ -10,7 +10,7 @@ export const getRequestContext = Effect
|
|
|
10
10
|
namespace: FiberRef.get(storeId)
|
|
11
11
|
})
|
|
12
12
|
.pipe(Effect.map(({ locale, namespace, span }) => new RequestContext({
|
|
13
|
-
span,
|
|
13
|
+
span: Tracer.externalSpan(span),
|
|
14
14
|
locale,
|
|
15
15
|
namespace,
|
|
16
16
|
// TODO: get through span context, or don't care at all.
|
|
@@ -40,4 +40,4 @@ export function setupRequestContext(self, requestContext) {
|
|
|
40
40
|
.pipe(withRequestSpan(requestContext.name), Effect.provide(setupContextMap));
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9zZXR1cFJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE1BQU07S0FDcEMsR0FBRyxDQUFDO0lBQ0gsSUFBSSxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0MsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQy9CLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztDQUNqQyxDQUFDO0tBQ0QsSUFBSSxDQUNILE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUN6QyxJQUFJLGNBQWMsQ0FBQztJQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDL0IsTUFBTTtJQUNOLFNBQVM7SUFDVCx3REFBd0Q7SUFDeEQsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztDQUNsQyxDQUFDLENBQ0gsQ0FDRixDQUFBO0FBRUgsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDOUIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO0lBQy9CLFNBQVMsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztDQUNqQyxDQUFDLENBQUE7QUFFRixNQUFNLGVBQWUsR0FBRyxDQUFDLElBQUksR0FBRyxTQUFTLEVBQUUsT0FBNEIsRUFBRSxFQUFFLENBQUMsQ0FBVSxDQUFrQixFQUFFLEVBQUUsQ0FDMUcsTUFBTSxDQUFDLE9BQU8sQ0FDWixLQUFLLEVBQ0wsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNOLENBQUMsQ0FBQyxJQUFJLENBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7SUFDcEIsR0FBRyxPQUFPO0lBQ1YsVUFBVSxFQUFFLEVBQUUsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsVUFBVSxFQUFFO0lBQzlELGlCQUFpQixFQUFFLEtBQUs7Q0FDekIsQ0FBQztBQUNGLGNBQWM7QUFDZCw0RUFBNEU7QUFDNUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FDekIsQ0FDSixDQUFBO0FBRUgsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUE7QUFFakUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQ3pDLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRSxPQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFVLElBQXFCLEVBQUUsRUFBRSxDQUNyRixJQUFJO0tBQ0QsSUFBSSxDQUNILGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQ2hDLENBQUE7QUFFUCxtREFBbUQ7QUFDbkQsTUFBTSxVQUFVLG1CQUFtQixDQUFVLElBQXFCLEVBQUUsY0FBOEI7SUFDaEcsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUN6QixLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDckQsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRXRELE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSTthQUNmLElBQUksQ0FDSCxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUNoQyxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/logger/shared.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAa,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGhE,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/logger/shared.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAa,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGhE,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,SAAS,kBAa5E"}
|
package/dist/logger/shared.js
CHANGED
|
@@ -9,10 +9,10 @@ export function getRequestContextFromFiberRefs(fiberRefs) {
|
|
|
9
9
|
const locale = FiberRefs.getOrDefault(fiberRefs, LocaleRef);
|
|
10
10
|
const namespace = FiberRefs.getOrDefault(fiberRefs, storeId);
|
|
11
11
|
return new RequestContext({
|
|
12
|
-
span: Option.
|
|
12
|
+
span: Option.map(span, Tracer.externalSpan).pipe(Option.getOrElse(() => ({ spanId: "bogus", sampled: true, traceId: "bogus" }))),
|
|
13
13
|
name: NonEmptyString255("_"),
|
|
14
14
|
locale,
|
|
15
15
|
namespace
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ2dlci9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNyRCxPQUFPLEtBQUssU0FBUyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRXJELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxTQUE4QjtJQUMzRSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDMUUsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzFELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzNELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzVELE9BQU8sSUFBSSxjQUFjLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQzlDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUMvRTtRQUNELElBQUksRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7UUFDNUIsTUFBTTtRQUNOLFNBQVM7S0FDVixDQUFDLENBQUE7QUFDSixDQUFDIn0=
|
|
@@ -20,7 +20,7 @@ export declare function log<T, Encoded extends {
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function byIdAndSaveWithPure<T, Encoded extends {
|
|
22
22
|
id: string;
|
|
23
|
-
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, id: T[IdKey]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, import("effect-app/client/errors").
|
|
23
|
+
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, id: T[IdKey]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | NotFoundError<ItemType>, Exclude<R, {
|
|
24
24
|
env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
|
|
25
25
|
}>>;
|
|
26
26
|
/**
|
|
@@ -31,7 +31,7 @@ export declare function handleByIdAndSaveWithPure<T, Encoded extends {
|
|
|
31
31
|
id: string;
|
|
32
32
|
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>): <Req extends {
|
|
33
33
|
id: T[IdKey];
|
|
34
|
-
}, 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").
|
|
34
|
+
}, 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, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | NotFoundError<ItemType>, Exclude<R, {
|
|
35
35
|
env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
|
|
36
36
|
}>>;
|
|
37
37
|
/**
|
|
@@ -39,7 +39,7 @@ export declare function handleByIdAndSaveWithPure<T, Encoded extends {
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function saveManyWithPure_<R, T, Encoded extends {
|
|
41
41
|
id: string;
|
|
42
|
-
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").
|
|
42
|
+
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException, Exclude<R, {
|
|
43
43
|
env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
44
44
|
}>>;
|
|
45
45
|
/**
|
|
@@ -47,18 +47,18 @@ export declare function saveManyWithPure_<R, T, Encoded extends {
|
|
|
47
47
|
*/
|
|
48
48
|
export declare function saveWithPure_<R, T, Encoded extends {
|
|
49
49
|
id: string;
|
|
50
|
-
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, import("effect-app/client/errors").
|
|
50
|
+
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, 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, {
|
|
51
51
|
env: import("effect-app/Pure").PureEnv<Evt, S1, S2>;
|
|
52
52
|
}>>;
|
|
53
53
|
export declare function saveAllWithEffectInt<T, Encoded extends {
|
|
54
54
|
id: string;
|
|
55
|
-
}, P extends T, Evt, ItemType extends string, IdKey extends keyof T, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").
|
|
55
|
+
}, P extends T, Evt, ItemType extends string, IdKey extends keyof T, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, E | import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException, R>;
|
|
56
56
|
/**
|
|
57
57
|
* @tsplus fluent Repository saveManyWithPureBatched
|
|
58
58
|
*/
|
|
59
59
|
export declare function saveManyWithPureBatched<T, Encoded extends {
|
|
60
60
|
id: string;
|
|
61
|
-
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, 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").
|
|
61
|
+
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, 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, {
|
|
62
62
|
env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
63
63
|
}>>;
|
|
64
64
|
/**
|
|
@@ -66,7 +66,7 @@ export declare function saveManyWithPureBatched<T, Encoded extends {
|
|
|
66
66
|
*/
|
|
67
67
|
export declare function saveManyWithPureBatched_<R, T, Encoded extends {
|
|
68
68
|
id: string;
|
|
69
|
-
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batchSize?: number): Effect.Effect<A[], import("effect-app/client/errors").
|
|
69
|
+
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, 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, {
|
|
70
70
|
env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
71
71
|
}>>;
|
|
72
72
|
/**
|
|
@@ -74,13 +74,13 @@ export declare function saveManyWithPureBatched_<R, T, Encoded extends {
|
|
|
74
74
|
*/
|
|
75
75
|
export declare function save<T, Encoded extends {
|
|
76
76
|
id: string;
|
|
77
|
-
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>): (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").
|
|
77
|
+
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>): (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException>;
|
|
78
78
|
/**
|
|
79
79
|
* @tsplus getter Repository saveWithEvents
|
|
80
80
|
*/
|
|
81
81
|
export declare function saveWithEvents<T, Encoded extends {
|
|
82
82
|
id: string;
|
|
83
|
-
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>): (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").
|
|
83
|
+
}, Evt, ItemType extends string, IdKey extends keyof T>(self: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>): (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException>;
|
|
84
84
|
/**
|
|
85
85
|
* @tsplus fluent Repository updateWithEffect
|
|
86
86
|
*/
|
|
@@ -88,7 +88,7 @@ export declare function itemUpdateWithEffect<R, E, T extends {
|
|
|
88
88
|
id: string;
|
|
89
89
|
}, Encoded extends {
|
|
90
90
|
id: string;
|
|
91
|
-
}, Evt, ItemType extends string, IdKey extends keyof T>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, id: T[IdKey], mod: (item: T) => Effect<T, E, R>): Effect.Effect<void, import("effect-app/client/errors").
|
|
91
|
+
}, Evt, ItemType extends string, IdKey extends keyof T>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, id: T[IdKey], 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>;
|
|
92
92
|
/**
|
|
93
93
|
* @tsplus fluent Repository update
|
|
94
94
|
*/
|
|
@@ -96,7 +96,7 @@ export declare function itemUpdate<T extends {
|
|
|
96
96
|
id: string;
|
|
97
97
|
}, Encoded extends {
|
|
98
98
|
id: string;
|
|
99
|
-
}, Evt, ItemType extends string, IdKey extends keyof T>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, id: T[IdKey], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").
|
|
99
|
+
}, Evt, ItemType extends string, IdKey extends keyof T>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey>, id: T[IdKey], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").InvalidStateError | import("effect-app/client/errors").OptimisticConcurrencyException | NotFoundError<ItemType>, never>;
|
|
100
100
|
/**
|
|
101
101
|
* only use this as a shortcut if you don't have the item already
|
|
102
102
|
* @tsplus fluent Repository removeById
|
|
@@ -77,8 +77,8 @@ export declare class RepositoryBaseC3<T, Encoded extends {
|
|
|
77
77
|
get(id: T[IdKey]): Effect.Effect<T, NotFoundError<ItemType>, never>;
|
|
78
78
|
readonly log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
|
|
79
79
|
removeById(id: T[IdKey]): Effect.Effect<void, NotFoundError<ItemType>, never>;
|
|
80
|
-
readonly save: (items_0: T, ...items: T[]) => Effect<void,
|
|
81
|
-
readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void,
|
|
80
|
+
readonly save: (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
|
|
81
|
+
readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
|
|
82
82
|
readonly queryAndSavePure: {
|
|
83
83
|
<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, {
|
|
84
84
|
env: PureEnv<Evt, T, T2>;
|
|
@@ -95,7 +95,7 @@ export declare class RepositoryBaseC3<T, Encoded extends {
|
|
|
95
95
|
*/
|
|
96
96
|
readonly handleByIdAndSaveWithPure: <Req extends {
|
|
97
97
|
id: T[IdKey];
|
|
98
|
-
}, 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,
|
|
98
|
+
}, 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, {
|
|
99
99
|
env: PureEnv<Evt, T, S2>;
|
|
100
100
|
}>>;
|
|
101
101
|
saveManyWithPure: {
|
|
@@ -111,7 +111,7 @@ export declare class RepositoryBaseC3<T, Encoded extends {
|
|
|
111
111
|
env: PureEnv<Evt, T, S2>;
|
|
112
112
|
}>>;
|
|
113
113
|
};
|
|
114
|
-
saveWithPure<R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A,
|
|
114
|
+
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, {
|
|
115
115
|
env: PureEnv<Evt, S1, S2>;
|
|
116
116
|
}>>;
|
|
117
117
|
}
|
|
@@ -132,7 +132,7 @@ export declare function makeRepo<Evt = never>(): <ItemType extends string, R, En
|
|
|
132
132
|
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
133
133
|
partitionValue?: (a: Encoded) => string;
|
|
134
134
|
};
|
|
135
|
-
}) => Effect.Effect<Repository<T, Encoded, Evt, ItemType, IdKey>, E,
|
|
135
|
+
}) => Effect.Effect<Repository<T, Encoded, Evt, ItemType, IdKey>, E, R | StoreMaker | RInitial | R2>;
|
|
136
136
|
Q: Query<Encoded>;
|
|
137
137
|
};
|
|
138
138
|
export declare function makeStore<Encoded extends {
|
|
@@ -141,7 +141,7 @@ export declare function makeStore<Encoded extends {
|
|
|
141
141
|
id: string;
|
|
142
142
|
}, T>(name: ItemType, schema: S.Schema<T, E, R>, mapTo: (e: E, etag: string | undefined) => Encoded) => <RInitial = never, EInitial = never>(makeInitial?: Effect<readonly T[], EInitial, RInitial>, config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
143
143
|
partitionValue?: (a: Encoded) => string;
|
|
144
|
-
}) => Effect.Effect<import("./Store.js").Store<Encoded, string, PersistenceModelType<Encoded>>, EInitial,
|
|
144
|
+
}) => Effect.Effect<import("./Store.js").Store<Encoded, string, PersistenceModelType<Encoded>>, EInitial, R | StoreMaker | RInitial>;
|
|
145
145
|
export interface Repos<T, Encoded extends {
|
|
146
146
|
id: string;
|
|
147
147
|
}, R, Evt, ItemType extends string, IdKey extends keyof T> {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"proper-lockfile": "^4.1.2",
|
|
21
21
|
"pure-rand": "6.1.0",
|
|
22
22
|
"redlock": "^4.2.0",
|
|
23
|
-
"@effect-app/infra-adapters": "2.0.
|
|
24
|
-
"effect-app": "2.0.
|
|
23
|
+
"@effect-app/infra-adapters": "2.0.1",
|
|
24
|
+
"effect-app": "2.0.1"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@babel/cli": "^7.25.7",
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Effect } from "effect-app"
|
|
2
2
|
import { HttpMiddleware, HttpServerRequest, HttpServerResponse } from "effect-app/http"
|
|
3
|
-
import { RequestId } from "effect-app/ids"
|
|
4
3
|
import { NonEmptyString255 } from "effect-app/Schema"
|
|
5
4
|
import { Locale, RequestContext } from "../../RequestContext.js"
|
|
6
5
|
import { setupRequestContext } from "../setupRequest.js"
|
|
@@ -24,8 +23,8 @@ export const RequestContextMiddleware = (defaultLocale: Locale = "en") =>
|
|
|
24
23
|
|
|
25
24
|
const requestContext = new RequestContext({
|
|
26
25
|
span: {
|
|
27
|
-
traceId:
|
|
28
|
-
spanId:
|
|
26
|
+
traceId: currentSpan.traceId,
|
|
27
|
+
spanId: currentSpan.spanId,
|
|
29
28
|
sampled: currentSpan.sampled
|
|
30
29
|
},
|
|
31
30
|
name: NonEmptyString255(req.originalUrl), // set more detailed elsewhere
|
package/src/api/setupRequest.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Effect, FiberRef, Layer } from "effect-app"
|
|
1
|
+
import { Effect, FiberRef, Layer, Tracer } from "effect-app"
|
|
3
2
|
import { NonEmptyString255 } from "effect-app/Schema"
|
|
4
3
|
import { LocaleRef, RequestContext, spanAttributes } from "../RequestContext.js"
|
|
5
4
|
import { startContextMap } from "../services/Store/ContextMapContainer.js"
|
|
@@ -14,7 +13,7 @@ export const getRequestContext = Effect
|
|
|
14
13
|
.pipe(
|
|
15
14
|
Effect.map(({ locale, namespace, span }) =>
|
|
16
15
|
new RequestContext({
|
|
17
|
-
span,
|
|
16
|
+
span: Tracer.externalSpan(span),
|
|
18
17
|
locale,
|
|
19
18
|
namespace,
|
|
20
19
|
// TODO: get through span context, or don't care at all.
|
package/src/logger/shared.ts
CHANGED
|
@@ -10,9 +10,8 @@ export function getRequestContextFromFiberRefs(fiberRefs: FiberRefs.FiberRefs) {
|
|
|
10
10
|
const locale = FiberRefs.getOrDefault(fiberRefs, LocaleRef)
|
|
11
11
|
const namespace = FiberRefs.getOrDefault(fiberRefs, storeId)
|
|
12
12
|
return new RequestContext({
|
|
13
|
-
span: Option.
|
|
14
|
-
|
|
15
|
-
() => ({ spanId: "bogus", sampled: true, traceId: "bogus" })
|
|
13
|
+
span: Option.map(span, Tracer.externalSpan).pipe(
|
|
14
|
+
Option.getOrElse(() => ({ spanId: "bogus", sampled: true, traceId: "bogus" }))
|
|
16
15
|
),
|
|
17
16
|
name: NonEmptyString255("_"),
|
|
18
17
|
locale,
|