@effect-app/infra 0.8.2 → 0.10.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 +28 -0
- package/_cjs/api/express/makeOpenApiSpecs.cjs +2 -4
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +13 -4
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing.cjs +4 -4
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +2 -2
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/instrument.cjs +1 -1
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +31 -24
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +7 -6
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +2 -1
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +3 -3
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +2 -1
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +4 -4
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +22 -22
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/index.cjs +4 -5
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +8 -8
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +1 -1
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/api/express/makeOpenApiSpecs.ts +1 -2
- package/_src/api/routing.ts +1 -1
- package/_src/api/setupRequest.ts +1 -1
- package/_src/instrument.ts +1 -1
- package/_src/rateLimit.ts +24 -24
- package/_src/services/Emailer/Sendgrid.ts +1 -1
- package/_src/services/Store/Cosmos.ts +1 -1
- package/_src/services/simpledb/memdb.ts +4 -5
- package/dist/api/express/makeOpenApiSpecs.d.ts.map +1 -1
- package/dist/api/express/makeOpenApiSpecs.js +2 -4
- package/dist/api/reportError.js +13 -3
- package/dist/api/routing.js +5 -5
- package/dist/api/setupRequest.js +3 -3
- package/dist/instrument.js +2 -2
- package/dist/rateLimit.d.ts +1 -12
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +32 -24
- package/dist/services/Emailer/Sendgrid.js +8 -7
- package/dist/services/Emailer/fake.js +3 -2
- package/dist/services/Store/Cosmos.js +4 -4
- package/dist/services/Store/Disk.js +3 -2
- package/dist/services/Store/Memory.js +5 -5
- package/dist/services/Store/Redis.js +23 -23
- package/dist/services/Store/index.js +5 -6
- package/dist/services/simpledb/memdb.d.ts +2 -2
- package/dist/services/simpledb/memdb.d.ts.map +1 -1
- package/dist/services/simpledb/memdb.js +8 -8
- package/dist/services/simpledb/simpledb.js +2 -2
- package/package.json +8 -8
|
@@ -46,7 +46,7 @@ const makeMemoryStore = () => ({
|
|
|
46
46
|
const withPermit = sem.withPermits(1);
|
|
47
47
|
const values = tracer_1.withCallTrace(fileName_1 + ":41:32")(tsplus_module_6.map(s => s.values()))(tsplus_module_7.get(store));
|
|
48
48
|
const all = tracer_1.withCallTrace(fileName_1 + ":42:26")(tsplus_module_6.map(tsplus_module_1.fromIterable))(values);
|
|
49
|
-
const batchSet = items => withPermit(tracer_1.withCallTrace(fileName_1 + ":55:12")(tsplus_module_6.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":46:12")(tsplus_module_6.tap(items => tracer_1.withCallTrace(fileName_1 + ":53:16")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store
|
|
49
|
+
const batchSet = items => withPermit(tracer_1.withCallTrace(fileName_1 + ":55:12")(tsplus_module_6.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":46:12")(tsplus_module_6.tap(items => tracer_1.withCallTrace(fileName_1 + ":53:16")(tsplus_module_6.flatMap(_ => tracer_1.withCallTrace(fileName_1 + ":53:35")(tsplus_module_7.set(store, _))))(tracer_1.withCallTrace(fileName_1 + ":48:16")(tsplus_module_6.map(m => {
|
|
50
50
|
const mut = tsplus_module_5.ROMap.toMutable(m);
|
|
51
51
|
items.forEach(e => mut.set(e.id, e));
|
|
52
52
|
return tsplus_module_5.ROMap.fromMutable(mut);
|
|
@@ -56,15 +56,15 @@ const makeMemoryStore = () => ({
|
|
|
56
56
|
find: id => tracer_1.withCallTrace(fileName_1 + ":59:31")(tsplus_module_6.map(tsplus_module_5.ROMap.lookup(id)))(tsplus_module_7.get(store)),
|
|
57
57
|
filter: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":60:89")(tsplus_module_6.map(memFilter(filter, cursor)))(all),
|
|
58
58
|
filterJoinSelect: filter => tracer_1.withCallTrace(fileName_1 + ":62:15")(tsplus_module_6.map(c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))))(all),
|
|
59
|
-
set: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":67:14")(tsplus_module_6.tap(e => tracer_1.withCallTrace(fileName_1 + ":67:60")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store
|
|
59
|
+
set: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":67:14")(tsplus_module_6.tap(e => tracer_1.withCallTrace(fileName_1 + ":67:60")(tsplus_module_6.flatMap(_ => tracer_1.withCallTrace(fileName_1 + ":67:79")(tsplus_module_7.set(store, _))))(tracer_1.withCallTrace(fileName_1 + ":67:33")(tsplus_module_6.map(tsplus_module_5.ROMap.insert(e.id, e)))(tsplus_module_7.get(store)))))(tracer_1.withCallTrace(fileName_1 + ":66:14")(tsplus_module_6.flatMap(current => updateETag(e, current)))(s.find(e.id)))),
|
|
60
60
|
batchSet,
|
|
61
61
|
bulkSet: batchSet,
|
|
62
|
-
remove: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":71:62")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store
|
|
62
|
+
remove: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":71:62")(tsplus_module_6.flatMap(_ => tracer_1.withCallTrace(fileName_1 + ":71:81")(tsplus_module_7.set(store, _))))(tracer_1.withCallTrace(fileName_1 + ":71:38")(tsplus_module_6.map(tsplus_module_5.ROMap.remove(e.id)))(tsplus_module_7.get(store))))
|
|
63
63
|
};
|
|
64
64
|
return s;
|
|
65
65
|
}))
|
|
66
66
|
});
|
|
67
67
|
exports.makeMemoryStore = makeMemoryStore;
|
|
68
|
-
const MemoryStoreLive = tsplus_module_9.makeLayer(_service.StoreMaker
|
|
68
|
+
const MemoryStoreLive = tsplus_module_9.makeLayer(_service.StoreMaker, makeMemoryStore());
|
|
69
69
|
exports.MemoryStoreLive = MemoryStoreLive;
|
|
70
70
|
//# sourceMappingURL=Memory.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Memory.cjs","mappings":";;;;;;;;;;;;;;;;;AAGA;AACA;AAAuF;AAAA;;AAEjF,SAAUA,SAAS,CAA2BC,MAAiB,EAAEC,MAA0C;EAC/G,OAASC,CAAW,IAAc;IAChC,MAAMC,IAAI,GAAGF,MAAM,EAAEE,IAAI;IACzB,MAAMC,KAAK,GAAGH,MAAM,EAAEG,KAAK;IAC3B,IAAI,CAACD,IAAI,IAAIC,KAAK,KAAK,CAAC,EAAE;MACxB,OAAOC,0BAA6D,MAAMC,uBAAa,EAAhFD,uEAAe,qBAAU,EAACL,MAAM,CAAC,EAAjCE,CAAC,CAAiC,CAAgB,CAA+B;;IAE1F,IAAIK,CAAC,GAAGD,0BAAY,qBAAU,EAACN,MAAM,CAAC,EAA9BE,CAAC,CAA8B;IACvC,IAAIC,IAAI,EAAE;MACRI,CAAC,GAAGD,qBAAOH,IAAI,EAAXI,CAAC,CAAW;;IAElB,IAAIH,KAAK,KAAKI,SAAS,EAAE;MACvBD,CAAC,GAAGD,qBAAOF,KAAK,EAAZG,CAAC,CAAY;;IAEnB,qCAAOA,CAAC;EACV,CAAC;AACH;AAEO,MAAME,eAAe,GAAG,OAAO;EACpCC,IAAI,EAAE,CACJC,IAAY,EACZC,QAA+C,EAC/CC,OAAyB,KACvBC,8CACFC,oBAAW,WAAUC,CAAC;IACpB,MAAMC,UAAU,GAAG,yBAAc,EAACN,IAAI,CAAC;IACvC,MAAMO,KAAK,GAAG,OAAOF,CAAC,CAACJ,QAAQ,kDAAIG,2BAAOI,qBAAK,CAACC,KAAK,CAAC,EAAC;IACvD,MAAMC,KAAK,GAAG,OAAOL,CAAC,+CACpBM,qBACEH,qBAAK,CAACT,IAAI,CAAC,CAAC,GAAGQ,KAAK,CAACK,OAAO,EAAE,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,EAAE,EAAEC,CAAC,CAAC,KAAK,CAACD,EAAE,EAAE,mBAAQ,EAACC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrE,EACF;IACD,MAAMC,GAAG,GAAGZ,oCAAqB,CAAC,CAAC;IACnC,MAAMa,UAAU,GAAGD,GAAG,CAACE,WAAW,CAAC,CAAC,CAAC;IACrC,MAAMC,MAAM,GAAGhB,kEAAciB,CAAC,IAAIA,CAAC,CAACD,MAAM,EAAE,uBAA7BT,KAAK,EAAyB;IAC7C,MAAMW,GAAG,GAAGlB,uGAAM,CAAwB;IAC1C,MAAMmB,QAAQ,GAAIf,KAAgC,IAavCU,UAAU,CAZnBd,kEAWOoB,CAAC,IAAIA,CAAC,CAACC,eAAe,EAA+B,GAX5DrB,kEAEOI,KAAK,IACRJ,sEAMWoB,CAAC,
|
|
1
|
+
{"version":3,"file":"Memory.cjs","mappings":";;;;;;;;;;;;;;;;;AAGA;AACA;AAAuF;AAAA;;AAEjF,SAAUA,SAAS,CAA2BC,MAAiB,EAAEC,MAA0C;EAC/G,OAASC,CAAW,IAAc;IAChC,MAAMC,IAAI,GAAGF,MAAM,EAAEE,IAAI;IACzB,MAAMC,KAAK,GAAGH,MAAM,EAAEG,KAAK;IAC3B,IAAI,CAACD,IAAI,IAAIC,KAAK,KAAK,CAAC,EAAE;MACxB,OAAOC,0BAA6D,MAAMC,uBAAa,EAAhFD,uEAAe,qBAAU,EAACL,MAAM,CAAC,EAAjCE,CAAC,CAAiC,CAAgB,CAA+B;;IAE1F,IAAIK,CAAC,GAAGD,0BAAY,qBAAU,EAACN,MAAM,CAAC,EAA9BE,CAAC,CAA8B;IACvC,IAAIC,IAAI,EAAE;MACRI,CAAC,GAAGD,qBAAOH,IAAI,EAAXI,CAAC,CAAW;;IAElB,IAAIH,KAAK,KAAKI,SAAS,EAAE;MACvBD,CAAC,GAAGD,qBAAOF,KAAK,EAAZG,CAAC,CAAY;;IAEnB,qCAAOA,CAAC;EACV,CAAC;AACH;AAEO,MAAME,eAAe,GAAG,OAAO;EACpCC,IAAI,EAAE,CACJC,IAAY,EACZC,QAA+C,EAC/CC,OAAyB,KACvBC,8CACFC,oBAAW,WAAUC,CAAC;IACpB,MAAMC,UAAU,GAAG,yBAAc,EAACN,IAAI,CAAC;IACvC,MAAMO,KAAK,GAAG,OAAOF,CAAC,CAACJ,QAAQ,kDAAIG,2BAAOI,qBAAK,CAACC,KAAK,CAAC,EAAC;IACvD,MAAMC,KAAK,GAAG,OAAOL,CAAC,+CACpBM,qBACEH,qBAAK,CAACT,IAAI,CAAC,CAAC,GAAGQ,KAAK,CAACK,OAAO,EAAE,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,EAAE,EAAEC,CAAC,CAAC,KAAK,CAACD,EAAE,EAAE,mBAAQ,EAACC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrE,EACF;IACD,MAAMC,GAAG,GAAGZ,oCAAqB,CAAC,CAAC;IACnC,MAAMa,UAAU,GAAGD,GAAG,CAACE,WAAW,CAAC,CAAC,CAAC;IACrC,MAAMC,MAAM,GAAGhB,kEAAciB,CAAC,IAAIA,CAAC,CAACD,MAAM,EAAE,uBAA7BT,KAAK,EAAyB;IAC7C,MAAMW,GAAG,GAAGlB,uGAAM,CAAwB;IAC1C,MAAMmB,QAAQ,GAAIf,KAAgC,IAavCU,UAAU,CAZnBd,kEAWOoB,CAAC,IAAIA,CAAC,CAACC,eAAe,EAA+B,GAX5DrB,kEAEOI,KAAK,IACRJ,sEAMWoB,CAAC,IAAGpB,8CAACQ,yBAAK,EAAKY,CAAC,CAAC,IAN5BpB,kEACOsB,CAAC,IAAG;MACP,MAAMC,GAAG,GAAGlB,qBAAK,CAACmB,SAAS,CAACF,CAAC,CAAC;MAC9BlB,KAAK,CAACqB,OAAO,CAACb,CAAC,IAAIW,GAAG,CAACG,GAAG,CAACd,CAAC,CAACD,EAAE,EAAEC,CAAC,CAAC,CAAC;MACpC,OAAOP,qBAAK,CAACsB,WAAW,CAACJ,GAAG,CAAC;IAC/B,CAAC,uBALHhB,KAAK,EAKD,CACyB,GATjCqB,iCAAK,EACYC,CAAC,IAAI7B,sEAAqB8B,OAAO,IAAI3B,UAAU,CAAC0B,CAAC,EAAEC,OAAO,CAAC,GAAtDb,CAAC,CAACc,IAAI,CAACF,CAAC,CAAClB,EAAE,CAAC,CAA2C,CAAC,CAS3E,CAC0D,CACzC;IACtB,MAAMM,CAAC,GAAkB;MACvBC,GAAG;MACHa,IAAI,EAAEpB,EAAE,IAAIX,kEAAcK,qBAAK,CAAC2B,MAAM,CAACrB,EAAE,CAAC,uBAA9BJ,KAAK,EAA0B;MAC3CrB,MAAM,EAAE,CAACA,MAAkB,EAAEC,MAA0C,KAAKa,kEAAQf,SAAS,CAACC,MAAM,EAAEC,MAAM,CAAC,GAAjC+B,GAAG,CAA+B;MAC9Ge,gBAAgB,EAAqB/C,MAAwB,IAC3Dc,kEAAQZ,CAAC,IAAIA,CAAC,CAAC8C,OAAO,CAAC,+BAAoB,EAAQhD,MAAM,CAAC,CAAC,GAA3DgC,GAAG,CAAyD;MAC9DQ,GAAG,EAAEd,CAAC,IAKKE,UAAU,CAJnBd,kEAGOY,CAAC,IAAIZ,sEAA6CoB,CAAC,IAAGpB,8CAACQ,yBAAK,EAAKY,CAAC,CAAC,IAA9DpB,kEAAcK,qBAAK,CAAC8B,MAAM,CAACvB,CAAC,CAACD,EAAE,EAAEC,CAAC,CAAC,uBAAnCL,KAAK,EAA+B,CAA2B,GAH3EP,sEAEW8B,OAAO,IAAI3B,UAAU,CAACS,CAAC,EAAEkB,OAAO,CAAC,GAF5Cb,CAAC,CACEc,IAAI,CAACnB,CAAC,CAACD,EAAE,CAAC,CACgC,CAC+B,CACxD;MACtBQ,QAAQ;MACRiB,OAAO,EAAEjB,QAAQ;MACjBkB,MAAM,EAAGzB,CAAK,IAAwEE,UAAU,CAA7Ed,sEAA0CoB,CAAC,IAAGpB,8CAACQ,yBAAK,EAAKY,CAAC,CAAC,IAA3DpB,kEAAcK,qBAAK,CAACgC,MAAM,CAACzB,CAAC,CAACD,EAAE,CAAC,uBAAhCJ,KAAK,EAA4B,CAA2B;KAChF;IACD,OAAOU,CAAC;EACV,CAAC,CAAC;CACL,CAAC;AAAA;AAEK,MAAMqB,eAAe,GAAGC,6CAAU,EAAW5C,eAAe,EAAE,CAAC;AAAA","names":["memFilter","filter","cursor","c","skip","limit","tsplus_module_3","tsplus_module_1","r","undefined","makeMemoryStore","make","name","existing","_config","tracer_1","tsplus_module_6","$","updateETag","items","tsplus_module_5","empty","store","tsplus_module_7","entries","map","id","e","sem","withPermit","withPermits","values","s","all","batchSet","_","toReadonlyArray","m","mut","toMutable","forEach","set","fromMutable","tsplus_module_8","i","current","find","lookup","filterJoinSelect","flatMap","insert","bulkSet","remove","MemoryStoreLive","tsplus_module_9"],"sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"sourcesContent":[null]}
|
|
@@ -7,12 +7,12 @@ exports.RedisStoreLive = RedisStoreLive;
|
|
|
7
7
|
exports.makeRedisStore = makeRedisStore;
|
|
8
8
|
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
9
9
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
10
|
-
var tsplus_module_2 = _interopRequireWildcard(require("@
|
|
11
|
-
var tsplus_module_3 = _interopRequireWildcard(require("@
|
|
12
|
-
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/prelude"));
|
|
13
|
-
var tsplus_module_5 = _interopRequireWildcard(require("@
|
|
14
|
-
var tsplus_module_6 = _interopRequireWildcard(require("@
|
|
15
|
-
var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/
|
|
10
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Option"));
|
|
11
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/prelude"));
|
|
12
|
+
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/prelude/_ext/Prelude.ext"));
|
|
13
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
|
|
14
|
+
var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
|
|
15
|
+
var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
16
16
|
var RedisClient = _interopRequireWildcard(require("@effect-app/infra-adapters/redis-client"));
|
|
17
17
|
var _errors = require("../../errors.cjs");
|
|
18
18
|
var _Memory = require("./Memory.cjs");
|
|
@@ -31,35 +31,35 @@ function makeRedisStore({
|
|
|
31
31
|
const updateETag = (0, _utils.makeUpdateETag)(name);
|
|
32
32
|
// Very naive implementation of course.
|
|
33
33
|
const key = `${prefix}${name}`;
|
|
34
|
-
const current = yield* $(tracer_1.withCallTrace(fileName_1 + ":23:63")(
|
|
35
|
-
if (!
|
|
36
|
-
const m = yield* $(existing ?? tracer_1.withCallTrace(fileName_1 + ":25:44")(tsplus_module_1.sync(() =>
|
|
37
|
-
yield* $(tracer_1.withCallTrace(fileName_1 + ":29:18")(
|
|
34
|
+
const current = yield* $(tracer_1.withCallTrace(fileName_1 + ":23:63")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(tsplus_module_1.orDie(RedisClient.get(key))));
|
|
35
|
+
if (!tsplus_module_2.isSome(current)) {
|
|
36
|
+
const m = yield* $(existing ?? tracer_1.withCallTrace(fileName_1 + ":25:44")(tsplus_module_1.sync(() => tsplus_module_3.ROMap.empty)));
|
|
37
|
+
yield* $(tracer_1.withCallTrace(fileName_1 + ":29:18")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({
|
|
38
38
|
data: [...m.values()].map(e => (0, _utils.makeETag)(e))
|
|
39
|
-
})))
|
|
39
|
+
})))));
|
|
40
40
|
}
|
|
41
|
-
const get = tracer_1.withCallTrace(fileName_1 + ":37:14")(
|
|
41
|
+
const get = tracer_1.withCallTrace(fileName_1 + ":37:14")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(tracer_1.withCallTrace(fileName_1 + ":36:14")(tsplus_module_1.map(_ => _.data))(tracer_1.withCallTrace(fileName_1 + ":35:14")(tsplus_module_1.map(x => JSON.parse(x)))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":33:14")(tsplus_module_1.flatMap(x => tsplus_module_4.encaseMaybeInEffect_(x, () => new _errors.NotFoundError("data", ""))))(RedisClient.get(key))))));
|
|
42
42
|
const set = i => tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({
|
|
43
43
|
data: [...i.values()]
|
|
44
44
|
})));
|
|
45
45
|
const sem = tsplus_module_1.unsafeMakeSemaphore(1);
|
|
46
46
|
const withPermit = sem.withPermits(1);
|
|
47
|
-
const asMap = tracer_1.withCallTrace(fileName_1 + ":44:29")(tsplus_module_1.map(x =>
|
|
48
|
-
const all = tracer_1.withCallTrace(fileName_1 + ":45:27")(tsplus_module_1.map(
|
|
49
|
-
const batchSet = items => tracer_1.withCallTrace(fileName_1 + ":60:16")(
|
|
50
|
-
const mut =
|
|
47
|
+
const asMap = tracer_1.withCallTrace(fileName_1 + ":44:29")(tsplus_module_1.map(x => tsplus_module_3.ROMap.make(x.map(x => [x.id, x]))))(get);
|
|
48
|
+
const all = tracer_1.withCallTrace(fileName_1 + ":45:27")(tsplus_module_1.map(tsplus_module_5.fromIterable))(get);
|
|
49
|
+
const batchSet = items => tracer_1.withCallTrace(fileName_1 + ":60:16")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(withPermit(tracer_1.withCallTrace(fileName_1 + ":58:16")(tsplus_module_1.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":49:16")(tsplus_module_1.tap(items => tracer_1.withCallTrace(fileName_1 + ":56:20")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":51:20")(tsplus_module_1.map(m => {
|
|
50
|
+
const mut = tsplus_module_3.ROMap.toMutable(m);
|
|
51
51
|
items.forEach(e => mut.set(e.id, e));
|
|
52
|
-
return
|
|
53
|
-
}))(asMap))))(
|
|
52
|
+
return tsplus_module_3.ROMap.fromMutable(mut);
|
|
53
|
+
}))(asMap))))(tsplus_module_6.ext_forEach(items, e => tracer_1.withCallTrace(fileName_1 + ":48:48")(tsplus_module_1.flatMap(current => updateETag(e, current)))(s.find(e.id)))))));
|
|
54
54
|
const s = {
|
|
55
55
|
all,
|
|
56
56
|
filter: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":64:19")(tsplus_module_1.map((0, _Memory.memFilter)(filter, cursor)))(all),
|
|
57
57
|
filterJoinSelect: filter => tracer_1.withCallTrace(fileName_1 + ":66:19")(tsplus_module_1.map(c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))))(all),
|
|
58
|
-
find: id => tracer_1.withCallTrace(fileName_1 + ":67:31")(tsplus_module_1.map(
|
|
59
|
-
set: e => tracer_1.withCallTrace(fileName_1 + ":74:18")(
|
|
58
|
+
find: id => tracer_1.withCallTrace(fileName_1 + ":67:31")(tsplus_module_1.map(tsplus_module_3.ROMap.lookup(id)))(asMap),
|
|
59
|
+
set: e => tracer_1.withCallTrace(fileName_1 + ":74:18")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(withPermit(tracer_1.withCallTrace(fileName_1 + ":72:18")(tsplus_module_1.tap(e => tracer_1.withCallTrace(fileName_1 + ":72:60")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":72:33")(tsplus_module_1.map(tsplus_module_3.ROMap.insert(e.id, e)))(asMap))))(tracer_1.withCallTrace(fileName_1 + ":71:18")(tsplus_module_1.flatMap(current => updateETag(e, current)))(s.find(e.id))))),
|
|
60
60
|
batchSet,
|
|
61
61
|
bulkSet: batchSet,
|
|
62
|
-
remove: e => tracer_1.withCallTrace(fileName_1 + ":80:18")(
|
|
62
|
+
remove: e => tracer_1.withCallTrace(fileName_1 + ":80:18")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(withPermit(tracer_1.withCallTrace(fileName_1 + ":78:45")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":78:21")(tsplus_module_1.map(tsplus_module_3.ROMap.remove(e.id)))(asMap))))
|
|
63
63
|
};
|
|
64
64
|
return s;
|
|
65
65
|
}))
|
|
@@ -67,6 +67,6 @@ function makeRedisStore({
|
|
|
67
67
|
}));
|
|
68
68
|
}
|
|
69
69
|
function RedisStoreLive(config) {
|
|
70
|
-
return
|
|
70
|
+
return tsplus_module_7.toLayer(tracer_1.withCallTrace(fileName_1 + ":91:24")(tsplus_module_1.flatMap(makeRedisStore))(tsplus_module_1.config(config)), _service.StoreMaker);
|
|
71
71
|
}
|
|
72
72
|
//# sourceMappingURL=Redis.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redis.cjs","mappings":";;;;;;;;;;;;;;;AACA;AACA;AACA;AAGA;AACA;AAA2E;AAAA;;AAErE,SAAUA,cAAc,CAAC;EAAEC;AAAM,CAAiB;EACtD,qDAAOC,oBAAW,WAAUC,CAAC;IAC3B,MAAMC,KAAK,GAAG,OAAOD,CAAC,yBAACE,WAAW,CAACA,WAAW,EAAQ;IACtD,OAAO;MACLC,IAAI,EAAE,CACJC,IAAY,EACZC,QAA+C,EAC/CC,OAAyB,KACvBC,8CACFR,oBAAW,WAAUC,CAAC;QACpB,MAAMQ,UAAU,GAAG,yBAAc,EAACJ,IAAI,CAAC;QACvC;QACA,MAAMK,GAAG,GAAG,GAAGX,MAAM,GAAGM,IAAI,EAAE;QAC9B,MAAMM,OAAO,GAAG,OAAOV,CAAC
|
|
1
|
+
{"version":3,"file":"Redis.cjs","mappings":"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","names":["makeRedisStore","prefix","tsplus_module_1","$","redis","RedisClient","make","name","existing","_config","tracer_1","updateETag","key","current","get","tsplus_module_2","m","tsplus_module_3","empty","set","JSON","stringify","data","values","map","e","_","x","parse","tsplus_module_4","NotFoundError","i","sem","withPermit","withPermits","asMap","id","all","batchSet","items","toReadonlyArray","mut","toMutable","forEach","fromMutable","tsplus_module_6","s","find","filter","cursor","filterJoinSelect","c","flatMap","lookup","insert","bulkSet","remove","RedisStoreLive","config","tsplus_module_7","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"sourcesContent":[null]}
|
|
@@ -11,7 +11,6 @@ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
|
11
11
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Config/Secret"));
|
|
12
12
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
13
13
|
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
14
|
-
var tsplus_module_4 = _interopRequireWildcard(require("@effect/io/Layer"));
|
|
15
14
|
var CosmosClient = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
|
|
16
15
|
var RedisClient = _interopRequireWildcard(require("@effect-app/infra-adapters/redis-client"));
|
|
17
16
|
var _redis = require("redis");
|
|
@@ -38,7 +37,7 @@ const fileName_1 = "packages/infra/_src/services/Store/index.ts";
|
|
|
38
37
|
* @tsplus static StoreMaker.Ops Live
|
|
39
38
|
*/
|
|
40
39
|
function StoreMakerLive(config) {
|
|
41
|
-
return
|
|
40
|
+
return tsplus_module_3.toScopedLayer(tracer_1.withCallTrace(fileName_1 + ":17:24")(tsplus_module_2.flatMap(cfg => {
|
|
42
41
|
const storageUrl = tsplus_module_1.value(cfg.url);
|
|
43
42
|
if (storageUrl.startsWith("mem://")) {
|
|
44
43
|
console.log("Using in memory store");
|
|
@@ -50,11 +49,11 @@ function StoreMakerLive(config) {
|
|
|
50
49
|
}
|
|
51
50
|
if (storageUrl.startsWith("redis://")) {
|
|
52
51
|
console.log("Using Redis store");
|
|
53
|
-
return tracer_1.withCallTrace(fileName_1 + ":29:65")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":30:29")(
|
|
52
|
+
return tracer_1.withCallTrace(fileName_1 + ":29:65")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":30:29")(tsplus_module_2.provideService(RedisClient.RedisClient, client))((0, _Redis.makeRedisStore)(cfg))))(RedisClient.makeRedisClient(makeRedis(storageUrl)));
|
|
54
53
|
}
|
|
55
54
|
console.log("Using Cosmos DB store");
|
|
56
|
-
return tracer_1.withCallTrace(fileName_1 + ":38:66")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":39:28")(
|
|
57
|
-
}))(tsplus_module_2.config(config)));
|
|
55
|
+
return tracer_1.withCallTrace(fileName_1 + ":38:66")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":39:28")(tsplus_module_2.provideService(CosmosClient.CosmosClient, client))((0, _Cosmos.makeCosmosStore)(cfg))))(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName));
|
|
56
|
+
}))(tsplus_module_2.config(config)), _service.StoreMaker);
|
|
58
57
|
}
|
|
59
58
|
function makeRedis(storageUrl) {
|
|
60
59
|
const url = new URL(storageUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","mappings":";;;;;;;;;;;;;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAmDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA4B;AAAA;;AAjD5B;;;AAGM,SAAUA,cAAc,CAACC,MAA6B;EAC1D,OAAOC,oGAAsBC,GAAG,IAAG;IACjC,MAAMC,UAAU,yBAAGD,GAAG,CAACE,GAAG,CAAM;IAChC,IAAID,UAAU,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE;MACnCC,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;MACpC,qDAAOC,2BAAO,2BAAe,GAAE,CAAC;;IAElC,IAAIL,UAAU,CAACE,UAAU,CAAC,SAAS,CAAC,EAAE;MACpCC,OAAO,CAACC,GAAG,CAAC,6BAA6B,CAAC;MAC1C,OAAO,uBAAa,EAACL,GAAG,CAAC;;IAE3B,IAAIC,UAAU,CAACE,UAAU,CAAC,UAAU,CAAC,EAAE;MACrCC,OAAO,CAACC,GAAG,CAAC,mBAAmB,CAAC;MAChC,OAAOE,sEAA2DC,MAAM,IACtED,6EACEE,WAAW,CAACA,WAAW,EACvBD,MAAM,GAFR,yBAAc,EAACR,GAAG,CAAC,CAGlB,GAJIS,WAAW,CAACC,eAAe,CAACC,SAAS,CAACV,UAAU,CAAC,CAAC,CAKxD;;IAGHG,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;IACpC,OAAOE,sEAA8DC,MAAM,IACzED,6EAAoCK,YAAY,CAACA,YAAY,EAAEJ,MAAM,GAArE,2BAAe,EAACR,GAAG,CAAC,CAAkD,GADjEY,YAAY,CAACC,gBAAgB,CAACZ,UAAU,EAAED,GAAG,CAACc,MAAM,CAAC,CAE3D;EACH,CAAC,0BAxBMhB,MAAM,EAwBX,EACeiB,mBAAU,CAAC;AAC9B;AAEA,SAASJ,SAAS,CAACV,UAAkB;EACnC,MAAMC,GAAG,GAAG,IAAIc,GAAG,CAACf,UAAU,CAAC;EAC/B,MAAMgB,QAAQ,GAAGf,GAAG,CAACe,QAAQ;EAC7B,MAAMC,QAAQ,GAAGhB,GAAG,CAACgB,QAAQ;EAC7B,OAAO,MACL,uBAAY,EACVjB,UAAU,KAAK,UAAU,GACpB;IACDkB,IAAI,EAAEF,QAAQ;IACdG,IAAI,EAAE,IAAI;IACVC,SAAS,EAAEH,QAAQ;IACnBI,GAAG,EAAE;MAAEC,UAAU,EAAEN;IAAQ;GACpB,GACNhB,UAAkB,CACxB;AACL","names":["StoreMakerLive","config","tsplus_module_3","cfg","storageUrl","url","startsWith","console","log","tsplus_module_2","tracer_1","client","RedisClient","makeRedisClient","makeRedis","CosmosClient","makeCosmosClient","dbName","StoreMaker","URL","hostname","password","host","port","auth_pass","tls","servername"],"sourceRoot":"","sources":["../../../_src/services/Store/index.ts"],"sourcesContent":[null]}
|
|
@@ -28,7 +28,7 @@ function createContext() {
|
|
|
28
28
|
save: simpledb.store(find, store, bogusLock, type)
|
|
29
29
|
};
|
|
30
30
|
function find(id) {
|
|
31
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
31
|
+
return tracer_1.withCallTrace(fileName_1 + ":32:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":31:10")(tsplus_module_3.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":30:10")(tsplus_module_2.map(_ => tsplus_module_1.map(s => JSON.parse(s))(_)))(storage.find((0, _shared.getRecordName)(type, id))), parseSDB)), ({
|
|
32
32
|
data,
|
|
33
33
|
version
|
|
34
34
|
}) => ({
|
|
@@ -38,7 +38,7 @@ function createContext() {
|
|
|
38
38
|
}
|
|
39
39
|
function findBy(keys, eq) {
|
|
40
40
|
// Naive implementation, fine for in memory testing purposes.
|
|
41
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
41
|
+
return tracer_1.withCallTrace(fileName_1 + ":57:10")(tsplus_module_2.map(tsplus_module_1.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":40:21")(tsplus_module_2.gen(function* ($) {
|
|
42
42
|
for (const [, value] of storage) {
|
|
43
43
|
const sdb_ = JSON.parse(value);
|
|
44
44
|
const sdb = yield* $(parseSDB(sdb_));
|
|
@@ -46,7 +46,7 @@ function createContext() {
|
|
|
46
46
|
data: JSON.parse(sdb.data),
|
|
47
47
|
version: sdb.version
|
|
48
48
|
};
|
|
49
|
-
const r = yield* $(tsplus_module_2.exit(tracer_1.withCallTrace(fileName_1 + ":
|
|
49
|
+
const r = yield* $(tsplus_module_2.exit(tracer_1.withCallTrace(fileName_1 + ":46:29")(tsplus_module_2.flatMap(d => eq(d)(keys) ? tracer_1.withCallTrace(fileName_1 + ":48:19")(tsplus_module_2.sync(() => d)) : tracer_1.withCallTrace(fileName_1 + ":49:26")(tsplus_module_2.fail("not equals"))))(decode(cr.data))));
|
|
50
50
|
if (tsplus_module_4.isSuccess(r)) {
|
|
51
51
|
return r.value;
|
|
52
52
|
}
|
|
@@ -56,19 +56,19 @@ function createContext() {
|
|
|
56
56
|
}
|
|
57
57
|
function store(record, currentVersion) {
|
|
58
58
|
const version = tsplus_module_1.getOrElse(() => "1")(tsplus_module_1.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
|
|
59
|
-
const getData = (0, _Function.flow)(encode, _ => tracer_1.withCallTrace(fileName_1 + ":
|
|
59
|
+
const getData = (0, _Function.flow)(encode, _ => tracer_1.withCallTrace(fileName_1 + ":67:36")(tsplus_module_2.map(data => JSON.stringify({
|
|
60
60
|
version,
|
|
61
61
|
timestamp: new Date(),
|
|
62
62
|
data
|
|
63
|
-
})))(tracer_1.withCallTrace(fileName_1 + ":
|
|
64
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
63
|
+
})))(tracer_1.withCallTrace(fileName_1 + ":67:16")(tsplus_module_2.map(JSON.stringify))(_)));
|
|
64
|
+
return tracer_1.withCallTrace(fileName_1 + ":71:10")(tsplus_module_2.map(() => ({
|
|
65
65
|
version,
|
|
66
66
|
data: record
|
|
67
|
-
})))(tracer_1.withCallTrace(fileName_1 + ":
|
|
67
|
+
})))(tracer_1.withCallTrace(fileName_1 + ":70:10")(tsplus_module_2.flatMap(serialised => storage.set((0, _shared.getRecordName)(type, record.id), serialised)))(getData(record)));
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
function bogusLock() {
|
|
72
|
-
return tracer_1.withCallTrace(fileName_1 + ":
|
|
72
|
+
return tracer_1.withCallTrace(fileName_1 + ":77:22")(tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit));
|
|
73
73
|
}
|
|
74
74
|
//# sourceMappingURL=memdb.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memdb.cjs","mappings":";;;;;;;;;;;AAAA;AACA;
|
|
1
|
+
{"version":3,"file":"memdb.cjs","mappings":"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","names":["storage","parseSDB","MO","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","simpledb","findBy","save","store","bogusLock","id","tsplus_module_3","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","tracer_1","$","value","sdb_","sdb","cr","r","d","tsplus_module_2","tsplus_module_4","record","currentVersion","cv","parseInt","toString","getData","stringify","timestamp","Date","serialised","set"],"sourceRoot":"","sources":["../../../_src/services/simpledb/memdb.ts"],"sourcesContent":[null]}
|
|
@@ -42,7 +42,7 @@ function makeLiveRecordCache() {
|
|
|
42
42
|
// module tag
|
|
43
43
|
const RecordCache = tsplus_module_2.Tag();
|
|
44
44
|
exports.RecordCache = RecordCache;
|
|
45
|
-
const LiveRecordCache =
|
|
45
|
+
const LiveRecordCache = tsplus_module_3.toLayer(tracer_1.withCallTrace(fileName_1 + ":31:32")(tsplus_module_1.sync(() => makeLiveRecordCache())), RecordCache);
|
|
46
46
|
exports.LiveRecordCache = LiveRecordCache;
|
|
47
47
|
const getM = type => eff => tracer_1.withCallTrace(fileName_1 + ":35:12")(tsplus_module_1.gen(function* ($) {
|
|
48
48
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpledb.cjs","mappings":";;;;;;;;;;;;;;;AACA;AAA8D;AAAA;;AAGxD,MAAOA,iBAAiB;EAE5BC,YAAqBC,OAAe,EAAWC,OAAiB;IAA3C,YAAO,GAAPD,OAAO;IAAmB,YAAO,GAAPC,OAAO;IAD7C,SAAI,GAAG,mBAAmB;EACgC;;AACpE;AAEK,SAAUC,mBAAmB;EACjC,MAAMC,CAAC,GAAG,IAAIC,GAAG,EAAsC;EACvD,OAAO;IACLC,GAAG,EAAMC,IAAY,IAAIC,6CACvBC,qBAAO,MAAK;MACV,MAAMC,EAAE,GAAGN,CAAC,CAACE,GAAG,CAACC,IAAI,CAAC;MACtB,IAAI,CAACG,EAAE,EAAE;QACP,MAAMC,EAAE,GAAG,mBAAO,GAAmB;QACrCP,CAAC,CAACQ,GAAG,CAACL,IAAI,EAAEI,EAAE,CAAC;QACf,OAAOA,EAAwC;;MAEjD,OAAOD,EAAwC;IACjD,CAAC,CAAC;GACL;AACH;AAIA;AACO,MAAMG,WAAW,GAAGC,mBAAG,EAAe;AAAA;AAEtC,MAAMC,eAAe,
|
|
1
|
+
{"version":3,"file":"simpledb.cjs","mappings":"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","names":["InvalidStateError","constructor","message","details","makeLiveRecordCache","m","Map","get","type","tracer_1","tsplus_module_1","ex","nm","set","RecordCache","tsplus_module_2","LiveRecordCache","tsplus_module_3","getM","eff","$","find","tryRead","decode","getCache","read","id","data","version","err","r","c","existing","storeDirectly","save","record","cv","x","store","lock","_","tsplus_module_4","confirmVersionAndSave","OptimisticLockException"],"sourceRoot":"","sources":["../../../_src/services/simpledb/simpledb.ts"],"sourcesContent":[null]}
|
|
@@ -11,8 +11,7 @@ export function makeOpenApiSpecs(
|
|
|
11
11
|
) {
|
|
12
12
|
return Effect.gen(function*($) {
|
|
13
13
|
const ref = yield* $(Ref.make<Map<string, JSONSchema | SubSchema>>(new Map()))
|
|
14
|
-
const
|
|
15
|
-
const paths = yield* $(pipe(makeJsonSchema(rdescs), withRef))
|
|
14
|
+
const paths = yield* $(makeJsonSchema(rdescs).provideService(References, { ref }))
|
|
16
15
|
const refs = yield* $(ref.get)
|
|
17
16
|
const parameterRefs: Record<string, any> = {} // todos
|
|
18
17
|
const schemas: Record<string, any> = {}
|
package/_src/api/routing.ts
CHANGED
|
@@ -343,7 +343,7 @@ export function makeRequestHandler<
|
|
|
343
343
|
) // .instrument("Performance.RequestResponse")
|
|
344
344
|
// the first log entry should be of the request start.
|
|
345
345
|
const r2 = makeMiddlewareContext
|
|
346
|
-
? r.
|
|
346
|
+
? r.provideSomeContextEffect(makeMiddlewareContext(req, res, requestContext))
|
|
347
347
|
: // PR is not relevant here
|
|
348
348
|
r as Effect<R, E | ValidationError, void>
|
|
349
349
|
return errorHandler(
|
package/_src/api/setupRequest.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { RequestContext } from "../RequestContext.js"
|
|
|
5
5
|
*/
|
|
6
6
|
export function setupRequest<R, E, A>(self: Effect<R, E, A>, requestContext: RequestContext) {
|
|
7
7
|
return pipe(
|
|
8
|
-
self.
|
|
8
|
+
self.logSpan("request"),
|
|
9
9
|
Effect.logAnnotates({
|
|
10
10
|
requestRootId: requestContext.rootId,
|
|
11
11
|
requestId: requestContext.id,
|
package/_src/instrument.ts
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
export function instr<R, E, A>(self: Effect<R, E, A>, name: string, properties?: Record<string, string>) {
|
|
5
5
|
return self
|
|
6
6
|
.tap(() => Effect.logDebug(`instrumented`).logAnnotate("properties", (properties || {}).$$.pretty))
|
|
7
|
-
.
|
|
7
|
+
.logSpan(name)
|
|
8
8
|
// trackMetric(name, time, properties))
|
|
9
9
|
}
|
package/_src/rateLimit.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export function withPermitsDuration(permits: number, duration: DUR) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
1
|
+
// /**
|
|
2
|
+
// * Executes the specified effect, acquiring the specified number of permits
|
|
3
|
+
// * immediately before the effect begins execution and releasing them
|
|
4
|
+
// * delayed by duration after the effect completes execution, whether by success,
|
|
5
|
+
// * failure, or interruption.
|
|
6
|
+
// *
|
|
7
|
+
// * @tsplus static effect/stm/TSemaphore.Ops withPermitsDuration
|
|
8
|
+
// * @tsplus pipeable effect/stm/TSemaphore withPermitsDuration
|
|
9
|
+
// */
|
|
10
|
+
// export function withPermitsDuration(permits: number, duration: DUR) {
|
|
11
|
+
// return (self: TSemaphore): <R, E, A>(effect: Effect<R, E, A>) => Effect<R, E, A> => {
|
|
12
|
+
// return effect =>
|
|
13
|
+
// Effect.uninterruptibleMask(
|
|
14
|
+
// restore =>
|
|
15
|
+
// restore(self.acquireN(permits).commit)
|
|
16
|
+
// > restore(effect)
|
|
17
|
+
// .ensuring(
|
|
18
|
+
// self.releaseN(permits)
|
|
19
|
+
// .commit
|
|
20
|
+
// .delay(duration)
|
|
21
|
+
// )
|
|
22
|
+
// )
|
|
23
|
+
// }
|
|
24
|
+
// }
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Executes the specified effect, acquiring the specified number of permits
|
|
@@ -95,7 +95,7 @@ function renderFake(addr: EmailData | EmailData[], makeId: () => number) {
|
|
|
95
95
|
email: `test+${makeId()}@nomizz.com`
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
const eq =
|
|
98
|
+
const eq = Equivalence.string.contramap((to: { name?: string; email: string } | string) =>
|
|
99
99
|
typeof to === "string" ? to.toLowerCase() : to.email.toLowerCase()
|
|
100
100
|
)
|
|
101
101
|
|
|
@@ -482,7 +482,7 @@ export function buildWhereCosmosQuery(
|
|
|
482
482
|
filter.where.filter(_ => _.key.includes(".-1."))
|
|
483
483
|
.map(_ => _.key.split(".-1.")[0])
|
|
484
484
|
.map(_ => `JOIN ${_} IN f.${_}`)
|
|
485
|
-
.uniq(
|
|
485
|
+
.uniq(Equivalence.string)
|
|
486
486
|
.join("\n")
|
|
487
487
|
}
|
|
488
488
|
WHERE f.id != @id AND ${
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { flow } from "@effect-app/core/Function"
|
|
2
2
|
import * as MO from "@effect-app/schema"
|
|
3
|
-
import type * as Eq from "@effect-ts/core/Equal"
|
|
4
3
|
|
|
5
4
|
import type { CachedRecord, DBRecord } from "./shared.js"
|
|
6
5
|
import { getRecordName, makeMap, SerializedDBRecord } from "./shared.js"
|
|
@@ -28,7 +27,7 @@ export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>
|
|
|
28
27
|
function find(id: string) {
|
|
29
28
|
return storage
|
|
30
29
|
.find(getRecordName(type, id))
|
|
31
|
-
.map(_ => _.map(s => JSON.parse(s)
|
|
30
|
+
.map(_ => _.map(s => JSON.parse(s)))
|
|
32
31
|
.flatMapOpt(parseSDB)
|
|
33
32
|
.mapOpt(({ data, version }) => ({
|
|
34
33
|
data: JSON.parse(data) as EA,
|
|
@@ -36,16 +35,16 @@ export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>
|
|
|
36
35
|
}))
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
function findBy<V extends Partial<A>>(keys: V, eq:
|
|
38
|
+
function findBy<V extends Partial<A>>(keys: V, eq: Equivalence<V>) {
|
|
40
39
|
// Naive implementation, fine for in memory testing purposes.
|
|
41
40
|
return Effect.gen(function*($) {
|
|
42
41
|
for (const [, value] of storage) {
|
|
43
|
-
const sdb_ = JSON.parse(value)
|
|
42
|
+
const sdb_ = JSON.parse(value)
|
|
44
43
|
const sdb = yield* $(parseSDB(sdb_))
|
|
45
44
|
const cr = { data: JSON.parse(sdb.data) as EA, version: sdb.version }
|
|
46
45
|
const r = yield* $(
|
|
47
46
|
decode(cr.data).flatMap(d =>
|
|
48
|
-
eq
|
|
47
|
+
eq(d as unknown as V)(keys)
|
|
49
48
|
? Effect(d)
|
|
50
49
|
: Effect.fail("not equals")
|
|
51
50
|
).exit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeOpenApiSpecs.d.ts","sourceRoot":"","sources":["../../../_src/api/express/makeOpenApiSpecs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,iDAAiD,CAAA;AAI9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,IAAI,EAAE,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"makeOpenApiSpecs.d.ts","sourceRoot":"","sources":["../../../_src/api/express/makeOpenApiSpecs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,iDAAiD,CAAA;AAI9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,IAAI,EAAE,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDlB"}
|
|
@@ -2,14 +2,12 @@ import * as tracer_1 from "@effect/io/Debug";
|
|
|
2
2
|
const fileName_1 = "packages/infra/_src/api/express/makeOpenApiSpecs.ts";
|
|
3
3
|
import * as tsplus_module_1 from "@effect/io/Ref";
|
|
4
4
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
5
|
-
import * as tsplus_module_3 from "@effect-app/core/Function";
|
|
6
5
|
import { References } from "@effect-app/infra-adapters/Openapi/atlas-plutus/Schema/index";
|
|
7
6
|
import { makeJsonSchema } from "./makeJsonSchema.js";
|
|
8
7
|
export function makeOpenApiSpecs(rdescs, info) {
|
|
9
8
|
return tracer_1.withCallTrace(fileName_1 + ":12:17")(tsplus_module_2.gen(function* ($) {
|
|
10
9
|
const ref = yield* $(tracer_1.withCallTrace(fileName_1 + ":13:30")(tsplus_module_1.make(new Map())));
|
|
11
|
-
const
|
|
12
|
-
const paths = yield* $(tsplus_module_3.pipe(makeJsonSchema(rdescs), withRef));
|
|
10
|
+
const paths = yield* $(tracer_1.withCallTrace(fileName_1 + ":14:51")(tsplus_module_2.provideService(References, { ref }))(makeJsonSchema(rdescs)));
|
|
13
11
|
const refs = yield* $(tsplus_module_1.get(ref));
|
|
14
12
|
const parameterRefs = {}; // todos
|
|
15
13
|
const schemas = {};
|
|
@@ -53,4 +51,4 @@ export function makeOpenApiSpecs(rdescs, info) {
|
|
|
53
51
|
};
|
|
54
52
|
}));
|
|
55
53
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZU9wZW5BcGlTcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3MvbWFrZU9wZW5BcGlTcGVjcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhEQUE4RCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUdwRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE1BQW9DLEVBQ3BDLElBQWlCO0lBRWpCLHFEQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQywrQ0FBQyxxQkFBOEMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFDLENBQUE7UUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZFQUFzQyxVQUFVLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBekQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFvQyxDQUFDLENBQUE7UUFDbEYsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBQyxHQUFHLEVBQUssQ0FBQTtRQUM5QixNQUFNLGFBQWEsR0FBd0IsRUFBRSxDQUFBLENBQUMsUUFBUTtRQUN0RCxNQUFNLE9BQU8sR0FBd0IsRUFBRSxDQUFBO1FBQ3ZDLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsWUFBWSxFQUFFLEtBQUs7YUFDcEI7U0FDRixDQUFBLENBQUMsbURBQW1EO1FBQ3JELE1BQU0sVUFBVSxHQUFHLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUE7UUFFMUUsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEMsZ0RBQWdEO1lBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDN0I7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU87WUFDaEIsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztvQkFDbkIsQ0FBQyxDQUFDO3dCQUNBLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7d0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7d0JBQ3pCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7cUJBQ3RCO29CQUNELENBQUMsQ0FBQyxTQUFTO2dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztvQkFDbkIsQ0FBQyxDQUFDO3dCQUNBLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7d0JBQ3ZCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7cUJBQ3RCO29CQUNELENBQUMsQ0FBQyxTQUFTO2dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QjtZQUNELElBQUksRUFBRSxFQUFFO1lBQ1IsS0FBSztZQUNMLFVBQVU7WUFDVixRQUFRO1NBQ1QsQ0FBQTtJQUNILENBQUMsQ0FBQyxFQUFBO0FBQ0osQ0FBQyJ9
|
package/dist/api/reportError.js
CHANGED
|
@@ -12,9 +12,19 @@ export class RequestException extends CauseException {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
export const reportRequestError_ = reportError(cause => new RequestException(cause));
|
|
15
|
-
export const reportRequestError = (cause, context) => tsplus_module_2.serviceWithEffect(tsplus_module_1.tag
|
|
15
|
+
export const reportRequestError = (cause, context) => tracer_1.withCallTrace(fileName_1 + ":13:22")(tsplus_module_2.serviceWithEffect(tsplus_module_1.tag, requestContext => reportRequestError_(cause, { requestContext, ...context })));
|
|
16
16
|
export const logRequestError_ = logError(cause => new RequestException(cause));
|
|
17
|
-
export const logRequestError = (cause, context) => tsplus_module_2.serviceWithEffect(tsplus_module_1.tag
|
|
17
|
+
export const logRequestError = (cause, context) => tracer_1.withCallTrace(fileName_1 + ":18:22")(tsplus_module_2.serviceWithEffect(tsplus_module_1.tag, requestContext => logRequestError_(cause, { requestContext, ...context }))
|
|
18
|
+
/**
|
|
19
|
+
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
20
|
+
* new fiber is attached to the global scope, when the fiber executing the
|
|
21
|
+
* returned effect terminates, the forked fiber will continue running.
|
|
22
|
+
*
|
|
23
|
+
* Reports errors.
|
|
24
|
+
*
|
|
25
|
+
* @tsplus getter effect/io/Effect forkDaemonReportRequest
|
|
26
|
+
*/
|
|
27
|
+
);
|
|
18
28
|
/**
|
|
19
29
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
20
30
|
* new fiber is attached to the global scope, when the fiber executing the
|
|
@@ -41,4 +51,4 @@ export function forkDaemonReportRequestUnexpected(self) {
|
|
|
41
51
|
? reportRequestError(cause)
|
|
42
52
|
: logRequestError(cause)))(self)));
|
|
43
53
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9yZXBvcnRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM3QyxPQUErQixzQkFBc0IsQ0FBQTtBQUVyRCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsY0FBaUI7SUFDeEQsWUFBWSxLQUFlO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDekIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBRXBGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUE2QyxFQUFFLEVBQUUsK0NBQ3pHLHVEQUFvQyxjQUFjLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQSxDQUFBO0FBRW5ILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUU5RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQTZDLEVBQUUsRUFBRSwrQ0FDdEcsdURBQW9DLGNBQWMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUVoSDs7Ozs7Ozs7R0FRRztDQVY2RyxDQUFBO0FBRWhIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFVLElBQXFCO0lBQ3BFLDJEQUFPLDRFQUFtQixrQkFBa0IsR0FBckMsSUFBSSxDQUFrQyxHQUN2QjtBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQVUsSUFBcUI7SUFDOUUsMkRBQU8sNEVBQW1CLEtBQUssQ0FBQyxFQUFFLENBQ2hDLGtDQUFBLEtBQUssQ0FBb0IsSUFBSSxzQkFBQSxLQUFLLENBQVE7UUFDeEMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUhyQixJQUFJLENBSVYsR0FDcUI7QUFDeEIsQ0FBQyJ9
|