@effect-app/infra 0.181.4 → 0.182.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 +34 -0
- package/_cjs/api/defaultErrorHandler.cjs +2 -2
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/routing/base.cjs +8 -8
- package/_cjs/api/routing/base.cjs.map +1 -1
- package/_cjs/api/routing/defaultErrorHandler.cjs +3 -3
- package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/routing/makeRequestHandler.cjs +5 -5
- package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +1 -1
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +6 -6
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +1 -1
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +4 -4
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +3 -3
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +2 -2
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +4 -4
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository/dsl.cjs +2 -2
- package/_cjs/services/Repository/dsl.cjs.map +1 -1
- package/_cjs/services/Repository/ext.cjs +14 -14
- package/_cjs/services/Repository/ext.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +26 -26
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +7 -7
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/ContextMapContainer.cjs +6 -6
- package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +14 -12
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +15 -15
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +19 -19
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +23 -23
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +9 -9
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +14 -14
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +10 -10
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +11 -11
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +21 -21
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +5 -5
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/dist/api/defaultErrorHandler.js +7 -3
- package/dist/api/routing/base.js +15 -14
- package/dist/api/routing/defaultErrorHandler.js +10 -4
- package/dist/api/routing/makeRequestHandler.js +11 -6
- package/dist/errorReporter.js +2 -2
- package/dist/rateLimit.js +10 -7
- package/dist/services/Emailer/fake.js +3 -2
- package/dist/services/Operations/live.js +7 -6
- package/dist/services/Operations/service.js +10 -7
- package/dist/services/QueueMaker/errors.js +3 -3
- package/dist/services/QueueMaker/memQueue.js +11 -8
- package/dist/services/QueueMaker/sbqueue.js +5 -3
- package/dist/services/Repository/dsl.js +3 -3
- package/dist/services/Repository/ext.js +28 -15
- package/dist/services/RepositoryBase.js +46 -29
- package/dist/services/RequestContextContainer.js +12 -10
- package/dist/services/Store/ContextMapContainer.js +12 -9
- package/dist/services/Store/Cosmos.js +34 -21
- package/dist/services/Store/Disk.js +20 -16
- package/dist/services/Store/Memory.js +32 -25
- package/dist/services/Store/Redis.js +38 -27
- package/dist/services/simpledb/cosmosdb.js +20 -11
- package/dist/services/simpledb/diskdb.js +25 -19
- package/dist/services/simpledb/memdb.js +16 -12
- package/dist/services/simpledb/mongodb.js +19 -11
- package/dist/services/simpledb/redisdb.d.ts +3 -3
- package/dist/services/simpledb/redisdb.js +32 -20
- package/dist/services/simpledb/shared.d.ts +5 -5
- package/dist/services/simpledb/simpledb.js +14 -9
- package/package.json +10 -10
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.RedisSerializedDBRecord = void 0;
|
|
7
7
|
exports.createContext = createContext;
|
|
8
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/
|
|
9
|
-
var tsplus_module_2 = _interopRequireWildcard(require("
|
|
8
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@effect/schema/Schema"));
|
|
9
|
+
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect"));
|
|
10
10
|
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
11
11
|
var tsplus_module_4 = _interopRequireWildcard(require("effect/Option"));
|
|
12
12
|
var tsplus_module_5 = _interopRequireWildcard(require("@effect/schema/Parser"));
|
|
@@ -22,39 +22,39 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
22
22
|
const ttl = 10 * 1000;
|
|
23
23
|
function createContext() {
|
|
24
24
|
return (type, encode, decode, schemaVersion, makeIndexKey) => {
|
|
25
|
-
const getData = (0, _Function.flow)(encode, _ =>
|
|
25
|
+
const getData = (0, _Function.flow)(encode, _ => _.map(JSON.stringify));
|
|
26
26
|
return {
|
|
27
27
|
find: simpledb.find(find, decode, type),
|
|
28
28
|
findByIndex: getIdx,
|
|
29
29
|
save: simpledb.store(find, store, lockRedisRecord, type)
|
|
30
30
|
};
|
|
31
31
|
function find(id) {
|
|
32
|
-
return
|
|
32
|
+
return tsplus_module_3.flatMapOption(_redisClient.RedisClient.flatMap(_ => _.hmgetAll(getKey(id))), v => tsplus_module_2.mapError(tsplus_module_1.decodeUnknown(RedisSerializedDBRecord)(v).map(({
|
|
33
33
|
data,
|
|
34
34
|
version
|
|
35
35
|
}) => ({
|
|
36
36
|
data: JSON.parse(data),
|
|
37
37
|
version
|
|
38
|
-
})), e => new _shared.ConnectionException(new Error(e.toString()))))
|
|
38
|
+
})), e => new _shared.ConnectionException(new Error(e.toString())))).orDie;
|
|
39
39
|
}
|
|
40
40
|
function store(record, currentVersion) {
|
|
41
41
|
const version = currentVersion.map(cv => (parseInt(cv) + 1).toString()).getOrElse(() => "1");
|
|
42
42
|
return tsplus_module_4.match(currentVersion, {
|
|
43
|
-
onNone: () =>
|
|
43
|
+
onNone: () => tsplus_module_2.scoped(tsplus_module_2.zipRight(lockIndex(record), tsplus_module_2.zipRight(tsplus_module_2.zipRight(tsplus_module_3.zipRightOption(getIndex(record), tsplus_module_2.fail(() => new Error("Combination already exists, abort"))), getData(record))
|
|
44
44
|
// TODO: instead use MULTI & EXEC to make it in one command?
|
|
45
|
-
|
|
45
|
+
.flatMap(data => hmSetRec(getKey(record.id), new RedisSerializedDBRecord({
|
|
46
46
|
version,
|
|
47
47
|
timestamp: new Date(),
|
|
48
48
|
data
|
|
49
|
-
}))), setIndex(record))
|
|
49
|
+
}))), setIndex(record)).orDie.map(() => ({
|
|
50
50
|
version,
|
|
51
51
|
data: record
|
|
52
52
|
})))),
|
|
53
|
-
onSome: () =>
|
|
53
|
+
onSome: () => getData(record).flatMap(data => hmSetRec(getKey(record.id), new RedisSerializedDBRecord({
|
|
54
54
|
version,
|
|
55
55
|
timestamp: new Date(),
|
|
56
56
|
data
|
|
57
|
-
})))
|
|
57
|
+
}))).orDie.map(() => ({
|
|
58
58
|
version,
|
|
59
59
|
data: record
|
|
60
60
|
}))
|
|
@@ -73,34 +73,34 @@ function createContext() {
|
|
|
73
73
|
return lockRedisIdx(index);
|
|
74
74
|
}
|
|
75
75
|
function getIdx(index) {
|
|
76
|
-
return
|
|
76
|
+
return _redisClient.RedisClient.flatMap(_ => _.hget(getIdxKey(index), index.key).map(_ => _.map(i => i)));
|
|
77
77
|
}
|
|
78
78
|
function setIdx(index, r) {
|
|
79
|
-
return
|
|
79
|
+
return _redisClient.RedisClient.flatMap(_ => _.hset(getIdxKey(index), index.key, r.id));
|
|
80
80
|
}
|
|
81
81
|
function lockRedisIdx(index) {
|
|
82
82
|
const lockKey = getIdxLockKey(index);
|
|
83
83
|
// acquire
|
|
84
|
-
return
|
|
84
|
+
return tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(_redisClient.RedisClient.flatMap(({
|
|
85
85
|
lock
|
|
86
|
-
}) =>
|
|
86
|
+
}) => tsplus_module_2.tryPromise(() => lock.lock(lockKey, ttl))), {
|
|
87
87
|
onFailure: err => new _shared.CouldNotAquireDbLockException(type, lockKey, err),
|
|
88
88
|
// release
|
|
89
89
|
onSuccess: lock => ({
|
|
90
|
-
release:
|
|
90
|
+
release: tsplus_module_2.tryPromise(() => lock.unlock()).orDie
|
|
91
91
|
})
|
|
92
92
|
}), l => l.release);
|
|
93
93
|
}
|
|
94
94
|
function lockRedisRecord(id) {
|
|
95
95
|
// acquire
|
|
96
|
-
return
|
|
96
|
+
return tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(_redisClient.RedisClient.flatMap(({
|
|
97
97
|
lock
|
|
98
|
-
}) =>
|
|
98
|
+
}) => tsplus_module_2.tryPromise(() => lock.lock(getLockKey(id), ttl))), {
|
|
99
99
|
onFailure: err => new _shared.CouldNotAquireDbLockException(type, id, err),
|
|
100
100
|
// release
|
|
101
101
|
onSuccess: lock => ({
|
|
102
102
|
// TODO
|
|
103
|
-
release:
|
|
103
|
+
release: tsplus_module_2.tryPromise(() => lock.unlock()).orDie
|
|
104
104
|
})
|
|
105
105
|
}), l => l.release);
|
|
106
106
|
}
|
|
@@ -119,10 +119,10 @@ function createContext() {
|
|
|
119
119
|
};
|
|
120
120
|
function hmSetRec(key, val) {
|
|
121
121
|
const enc = tsplus_module_5.encodeSync(RedisSerializedDBRecord)(val);
|
|
122
|
-
return
|
|
122
|
+
return _redisClient.RedisClient.flatMap(({
|
|
123
123
|
client
|
|
124
|
-
}) =>
|
|
125
|
-
client.hmset(key, "version", enc.version, "timestamp", enc.timestamp, "data", enc.data, err => err ? res(new _shared.ConnectionException(err)) : res(
|
|
124
|
+
}) => tsplus_module_2.uninterruptible(tsplus_module_2.async(res => {
|
|
125
|
+
client.hmset(key, "version", enc.version, "timestamp", enc.timestamp, "data", enc.data, err => err ? res(new _shared.ConnectionException(err)) : res(tsplus_module_2.sync(() => void 0)));
|
|
126
126
|
})));
|
|
127
127
|
}
|
|
128
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redisdb.cjs","names":["_Function","require","_redisClient","S","_interopRequireWildcard","_shared","simpledb","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ttl","createContext","type","encode","decode","schemaVersion","makeIndexKey","getData","flow","_","
|
|
1
|
+
{"version":3,"file":"redisdb.cjs","names":["_Function","require","_redisClient","S","_interopRequireWildcard","_shared","simpledb","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ttl","createContext","type","encode","decode","schemaVersion","makeIndexKey","getData","flow","_","map","JSON","stringify","find","findByIndex","getIdx","save","store","lockRedisRecord","id","tsplus_module_3","flatMapOption","RedisClient","flatMap","hmgetAll","getKey","v","tsplus_module_2","mapError","tsplus_module_1","decodeUnknown","RedisSerializedDBRecord","data","version","parse","ConnectionException","Error","toString","orDie","record","currentVersion","cv","parseInt","getOrElse","tsplus_module_4","match","onNone","scoped","zipRight","lockIndex","zipRightOption","getIndex","fail","hmSetRec","timestamp","Date","setIndex","onSome","index","setIdx","lockRedisIdx","hget","getIdxKey","key","hset","lockKey","getIdxLockKey","acquireRelease","mapBoth","lock","tryPromise","onFailure","err","CouldNotAquireDbLockException","onSuccess","release","unlock","l","getLockKey","getRecordName","getIndexName","doc","val","enc","tsplus_module_5","encodeSync","client","uninterruptible","async","res","hmset","sync","Class","string","exports"],"sources":["../../../_src/services/simpledb/redisdb.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ const getM = type => eff => tsplus_module_1.gen(function* ($) {
|
|
|
45
45
|
const {
|
|
46
46
|
get
|
|
47
47
|
} = yield* $(RecordCache);
|
|
48
|
-
return yield* $(
|
|
48
|
+
return yield* $(get(type).flatMap(eff));
|
|
49
49
|
});
|
|
50
50
|
function find(tryRead, decode, type) {
|
|
51
51
|
const getCache = getM(type);
|
|
@@ -63,16 +63,16 @@ function find(tryRead, decode, type) {
|
|
|
63
63
|
}
|
|
64
64
|
function storeDirectly(save, type) {
|
|
65
65
|
const getCache = getM(type);
|
|
66
|
-
return record => getCache(c =>
|
|
66
|
+
return record => getCache(c => tsplus_module_4.mapOption(c.find(record.id), x => x.version).flatMap(cv => save(record, cv)).tap(r => c.set(record.id, r)).map(r => r.data));
|
|
67
67
|
}
|
|
68
68
|
function store(tryRead, save, lock, type) {
|
|
69
69
|
const getCache = getM(type);
|
|
70
|
-
return record => getCache(c =>
|
|
70
|
+
return record => getCache(c => tsplus_module_4.mapOption(c.find(record.id), x => x.version).flatMap(_ => tsplus_module_5.match(_, {
|
|
71
71
|
onNone: () => save(record, tsplus_module_5.none()),
|
|
72
72
|
onSome: confirmVersionAndSave(record)
|
|
73
|
-
})).tap(r => c.set(record.id, r))
|
|
73
|
+
})).tap(r => c.set(record.id, r)).map(r => r.data));
|
|
74
74
|
function confirmVersionAndSave(record) {
|
|
75
|
-
return cv => tsplus_module_1.scoped(tsplus_module_1.zipRight(lock(record.id), tsplus_module_1.zipRight(
|
|
75
|
+
return cv => tsplus_module_1.scoped(tsplus_module_1.zipRight(lock(record.id), tsplus_module_1.zipRight(tryRead(record.id).flatMap(_ => tsplus_module_5.match(_, {
|
|
76
76
|
onNone: () => tsplus_module_1.fail(new InvalidStateError("record is gone")),
|
|
77
77
|
onSome: tsplus_module_1.succeed
|
|
78
78
|
})).tap(({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpledb.cjs","names":["_shared","require","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InvalidStateError","constructor","message","details","_tag","exports","makeLiveRecordCache","m","Map","type","tsplus_module_1","sync","ex","nm","makeMap","RecordCache","tsplus_module_2","GenericTag","LiveRecordCache","tsplus_module_3","effect","getM","eff","gen","$","flatMap","find","tryRead","decode","getCache","read","id","tsplus_module_4","mapOption","tapOption","flatMapOption","data","version","mapBoth","onFailure","err","onSuccess","c","orElse","existing","storeDirectly","save","record","
|
|
1
|
+
{"version":3,"file":"simpledb.cjs","names":["_shared","require","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","InvalidStateError","constructor","message","details","_tag","exports","makeLiveRecordCache","m","Map","type","tsplus_module_1","sync","ex","nm","makeMap","RecordCache","tsplus_module_2","GenericTag","LiveRecordCache","tsplus_module_3","effect","getM","eff","gen","$","flatMap","find","tryRead","decode","getCache","read","id","tsplus_module_4","mapOption","tapOption","flatMapOption","data","version","mapBoth","onFailure","err","onSuccess","c","orElse","existing","storeDirectly","save","record","x","cv","tap","map","store","lock","_","tsplus_module_5","match","onNone","none","onSome","confirmVersionAndSave","scoped","zipRight","fail","succeed","OptimisticLockException","unit","some"],"sources":["../../../_src/services/simpledb/simpledb.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAA8D,SAAAC,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,SAAAI,wBAAAJ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAe,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAGxD,MAAOY,iBAAiB;EAE5BC,YAAqBC,OAAe,EAAWC,OAAiB;IAA3C,KAAAD,OAAO,GAAPA,OAAO;IAAmB,KAAAC,OAAO,GAAPA,OAAO;IAD7C,KAAAC,IAAI,GAAG,mBAAmB;EACgC;;AACpEC,OAAA,CAAAL,iBAAA,GAAAA,iBAAA;AAEK,SAAUM,mBAAmBA,CAAA;EACjC,MAAMC,CAAC,GAAG,IAAIC,GAAG,EAAsC;EACvD,OAAO;IACLrB,GAAG,EAAMsB,IAAY,IACnBC,eAAA,CAAAC,IAAA,CAAY,MAAK;MACf,MAAMC,EAAE,GAAGL,CAAC,CAACpB,GAAG,CAACsB,IAAI,CAAC;MACtB,IAAI,CAACG,EAAE,EAAE;QACP,MAAMC,EAAE,GAAG,IAAAC,eAAO,GAAmB;QACrCP,CAAC,CAACR,GAAG,CAACU,IAAI,EAAEI,EAAE,CAAC;QACf,OAAOA,EAAwC;MACjD;MACA,OAAOD,EAAwC;IACjD,CAAC;GACJ;AACH;AAIA;AACO,MAAMG,WAAW,GAAAV,OAAA,CAAAU,WAAA,GAAGC,eAAA,CAAAC,UAAU,CAAc,uBAAuB,CAAC;AAEpE,MAAMC,eAAe,GAAAb,OAAA,CAAAa,eAAA,GAAGC,eAAA,CAAAC,MAAA,CAAiDL,WAAW,EAA5DL,eAAA,CAAAC,IAAA,CAAY,MAAML,mBAAmB,EAAE,CAAC,CAAqB;AAE5F,MAAMe,IAAI,GAAOZ,IAAY,IAAea,GAA+D,IACzGZ,eAAA,CAAAa,GAAA,CAAW,WAAUC,CAAC;EACpB,MAAM;IAAErC;EAAG,CAAE,GAAG,OAAOqC,CAAC,CAACT,WAAW,CAAC;EACrC,OAAO,OAAOS,CAAC,CAACrC,GAAG,CAAIsB,IAAI,CAAC,CAACgB,OAAO,CAACH,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEE,SAAUI,IAAIA,CAClBC,OAA+D,EAC/DC,MAA8C,EAC9CnB,IAAY;EAEZ,MAAMoB,QAAQ,GAAGR,IAAI,CAAIZ,IAAI,CAAC;EAC9B,MAAMqB,IAAI,GAAIC,EAAU,IACtBC,eAAA,CAAAC,SAAA,CAAAD,eAAA,CAAAE,SAAA,CAAAF,eAAA,CAAAG,aAAA,CAAAR,OAAO,CAACI,EAAE,CAAC,EACG,CAAC;IAAEK,IAAI;IAAEC;EAAO,CAAE,KAC5B3B,eAAA,CAAA4B,OAAA,CAAAV,MAAM,CAACQ,IAAI,CAAC,EAAS;IACnBG,SAAS,EAAGC,GAAG,IAAK,IAAIxC,iBAAiB,CAAC,wBAAwB,EAAEwC,GAAG,CAAC;IACxEC,SAAS,EAAGL,IAAI,KAAM;MAAEA,IAAI;MAAEC;IAAO,CAAE;GACxC,CAAC,CACH,EACQxD,CAAC,IAAKgD,QAAQ,CAAEa,CAAC,IAAKA,CAAC,CAAC3C,GAAG,CAACgC,EAAE,EAAElD,CAAC,CAAC,CAAC,CAAC,EACpCA,CAAC,IAAKA,CAAC,CAACuD,IAAI,CAAC;EAE1B,OAAQL,EAAU,IAChBF,QAAQ,CAAEa,CAAC,IACThC,eAAA,CAAAiC,MAAA,CAAAX,eAAA,CAAAC,SAAA,CAAAS,CAAC,CACEhB,IAAI,CAACK,EAAE,CAAC,EACAa,QAAQ,IAAKA,QAAQ,CAACR,IAAI,CAAC,EAC5B,MAAMN,IAAI,CAACC,EAAE,CAAC,CAAC,CAC1B;AACL;AAEM,SAAUc,aAAaA,CAC3BC,IAAuE,EACvErC,IAAY;EAEZ,MAAMoB,QAAQ,GAAGR,IAAI,CAAIZ,IAAI,CAAC;EAC9B,OAAQsC,MAAS,IACflB,QAAQ,CAAEa,CAAC,IACTV,eAAA,CAAAC,SAAA,CAAAS,CAAC,CACEhB,IAAI,CAACqB,MAAM,CAAChB,EAAE,CAAC,EACPiB,CAAC,IAAKA,CAAC,CAACX,OAAO,CAAC,CACxBZ,OAAO,CAAEwB,EAAE,IAAKH,IAAI,CAACC,MAAM,EAAEE,EAAE,CAAC,CAAC,CACjCC,GAAG,CAAErE,CAAC,IAAK6D,CAAC,CAAC3C,GAAG,CAACgD,MAAM,CAAChB,EAAE,EAAElD,CAAC,CAAC,CAAC,CAC/BsE,GAAG,CAAEtE,CAAC,IAAKA,CAAC,CAACuD,IAAI,CAAC,CACtB;AACL;AAEM,SAAUgB,KAAKA,CACnBzB,OAA+D,EAC/DmB,IAAuE,EACvEO,IAAqD,EACrD5C,IAAY;EAEZ,MAAMoB,QAAQ,GAAGR,IAAI,CAAIZ,IAAI,CAAC;EAC9B,OAAQsC,MAAS,IACflB,QAAQ,CAAEa,CAAC,IACTV,eAAA,CAAAC,SAAA,CAAAS,CAAC,CACEhB,IAAI,CAACqB,MAAM,CAAChB,EAAE,CAAC,EACPiB,CAAC,IAAKA,CAAC,CAACX,OAAO,CAAC,CACxBZ,OAAO,CAAE6B,CAAC,IAAKC,eAAA,CAAAC,KAAA,CAAAF,CAAC,EAAO;IAAEG,MAAM,EAAEA,CAAA,KAAMX,IAAI,CAACC,MAAM,EAAEQ,eAAA,CAAAG,IAAA,EAAa,CAAC;IAAEC,MAAM,EAAEC,qBAAqB,CAACb,MAAM;EAAC,CAAE,CAAC,CAAC,CAC7GG,GAAG,CAAErE,CAAC,IAAK6D,CAAC,CAAC3C,GAAG,CAACgD,MAAM,CAAChB,EAAE,EAAElD,CAAC,CAAC,CAAC,CAC/BsE,GAAG,CAAEtE,CAAC,IAAKA,CAAC,CAACuD,IAAI,CAAC,CACtB;EAEH,SAASwB,qBAAqBA,CAACb,MAAS;IACtC,OAAQE,EAAW,IAAIvC,eAAA,CAAAmD,MAAA,CACrBnD,eAAA,CAAAoD,QAAA,CAAAT,IAAI,CAACN,MAAM,CAAChB,EAAE,CAAC,EAEXrB,eAAA,CAAAoD,QAAA,CAAAnC,OAAO,CAACoB,MAAM,CAAChB,EAAE,CAAC,CACfN,OAAO,CAAE6B,CAAC,IACTC,eAAA,CAAAC,KAAA,CAAAF,CAAC,EACC;MAAEG,MAAM,EAAEA,CAAA,KAAM/C,eAAA,CAAAqD,IAAA,CAAY,IAAI/D,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;MAAE2D,MAAM,EAAAjD,eAAA,CAAAsD;IAAgB,CAAE,CAC/F,CACF,CACAd,GAAG,CAAC,CAAC;MAAEb;IAAO,CAAE,KACfA,OAAO,KAAKY,EAAE,GACV,IAAIgB,+BAAuB,CAACxD,IAAI,EAAEsC,MAAM,CAAChB,EAAE,CAAC,GAC7CrB,eAAA,CAAAwD,IAAY,CAChB,EACSpB,IAAI,CAACC,MAAM,EAAEQ,eAAA,CAAAY,IAAA,CAAYlB,EAAE,CAAC,CAAC,CAAC,CAC3C,CACM;EACb;AACF"}
|
|
@@ -7,7 +7,9 @@ export function defaultBasicErrorHandler(_req, res, r2) {
|
|
|
7
7
|
const sendError = (code) => (body) => tsplus_module_1.sync(() => res.status(code).send(body));
|
|
8
8
|
return tsplus_module_1.catchAll(tsplus_module_1.catchTag(tsplus_module_1.tapErrorCause(r2, (cause) => tsplus_module_2.isFailure(cause) ? logRequestError(cause) : tsplus_module_1.unit), "ValidationError", (err) => sendError(400)(err.errors))
|
|
9
9
|
// final catch all; expecting never so that unhandled known errors will show up
|
|
10
|
-
, (err) => tsplus_module_1.
|
|
10
|
+
, (err) => tsplus_module_1.logError("Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect" + err)
|
|
11
|
+
.map(() => err)
|
|
12
|
+
.flatMap(tsplus_module_1.die));
|
|
11
13
|
}
|
|
12
14
|
const optimisticConcurrencySchedule = tsplus_module_3.once && tsplus_module_3.recurWhile((a) => a._tag === "OptimisticConcurrencyException");
|
|
13
15
|
export function defaultErrorHandler(req, res, r2) {
|
|
@@ -25,6 +27,8 @@ export function defaultErrorHandler(req, res, r2) {
|
|
|
25
27
|
"OptimisticConcurrencyException": sendError(412)
|
|
26
28
|
})
|
|
27
29
|
// final catch all; expecting never so that unhandled known errors will show up
|
|
28
|
-
, (err) => tsplus_module_1.
|
|
30
|
+
, (err) => tsplus_module_1.logError("Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect" + err)
|
|
31
|
+
.map(() => err)
|
|
32
|
+
.flatMap(tsplus_module_1.die));
|
|
29
33
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdEVycm9ySGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL2RlZmF1bHRFcnJvckhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRTlDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUUzQyxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLElBQXFCLEVBQ3JCLEdBQXFCLEVBQ3JCLEVBQW9DO0lBRXBDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFLENBQUMscUJBQVksR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNyRyxPQUFPLHlCQUFBLHlCQUFBLDhCQUFBLEVBQUUsRUFDUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsMEJBQUEsS0FBSyxDQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFZLENBQUMsRUFDekUsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakUsK0VBQStFO01BQ3JFLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FDdkIseUJBRUksZ0dBQWdHLEdBQUcsR0FBRyxDQUN2RztTQUNBLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFjLENBQUM7U0FDekIsT0FBTyxxQkFBWSxDQUN2QixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sNkJBQTZCLEdBQUcsd0JBQ2pDLDJCQUFxQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxnQ0FBZ0MsQ0FBQyxDQUFBO0FBRTdGLE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsR0FBb0IsRUFDcEIsR0FBcUIsRUFDckIsRUFBb0M7SUFFcEMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sS0FBSyxPQUFPO1FBQy9CLENBQUMsQ0FBQyxzQkFBQSxFQUFFLEVBQU8sNkJBQTZCLENBQUM7UUFDekMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUNOLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQWEsRUFBRSxFQUFFLENBQUMscUJBQVksR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUNyRyxPQUFPLHlCQUFBLDBCQUFBLDhCQUFBLEVBQUUsRUFDUSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsMEJBQUEsS0FBSyxDQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFZLENBQUMsRUFDeEU7UUFDVCxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDdEQsZUFBZSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFDL0Isa0JBQWtCLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQztRQUNsQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQ25DLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUM7UUFDbkMsNElBQTRJO1FBQzVJLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUM7S0FDakQsQ0FBQztJQUNGLCtFQUErRTtNQUNyRSxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQ3ZCLHlCQUVJLGdHQUFnRyxHQUFHLEdBQUcsQ0FDdkc7U0FDQSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBYyxDQUFDO1NBQ3pCLE9BQU8scUJBQVksQ0FDdkIsQ0FBQTtBQUNMLENBQUMifQ==
|
package/dist/api/routing/base.js
CHANGED
|
@@ -28,38 +28,39 @@ export function decodeErrors(x) {
|
|
|
28
28
|
// )
|
|
29
29
|
// const structValidation = DSL.structF(ValidationApplicative)
|
|
30
30
|
export function parseRequestParams(parsers) {
|
|
31
|
-
return ({ body, cookies, headers, params, query }) => tsplus_module_1.
|
|
32
|
-
body: tsplus_module_1.
|
|
33
|
-
.parseBody(body))
|
|
31
|
+
return ({ body, cookies, headers, params, query }) => tsplus_module_1.all({
|
|
32
|
+
body: tsplus_module_1.exit(parsers
|
|
33
|
+
.parseBody(body)).flatMap((_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
34
34
|
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
35
35
|
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
36
36
|
? { _tag: "Success", value: _.value }
|
|
37
37
|
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
38
|
-
cookie: tsplus_module_1.
|
|
39
|
-
.parseCookie(cookies))
|
|
38
|
+
cookie: tsplus_module_1.exit(parsers
|
|
39
|
+
.parseCookie(cookies)).flatMap((_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
40
40
|
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
41
41
|
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
42
42
|
? { _tag: "Success", value: _.value }
|
|
43
43
|
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
44
|
-
headers: tsplus_module_1.
|
|
45
|
-
.parseHeaders(headers))
|
|
44
|
+
headers: tsplus_module_1.exit(parsers
|
|
45
|
+
.parseHeaders(headers)).flatMap((_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
46
46
|
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
47
47
|
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
48
48
|
? { _tag: "Success", value: _.value }
|
|
49
49
|
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
50
|
-
query: tsplus_module_1.
|
|
51
|
-
.parseQuery(query))
|
|
50
|
+
query: tsplus_module_1.exit(parsers
|
|
51
|
+
.parseQuery(query)).flatMap((_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
52
52
|
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
53
53
|
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
54
54
|
? { _tag: "Success", value: _.value }
|
|
55
55
|
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) })),
|
|
56
|
-
path: tsplus_module_1.
|
|
57
|
-
.parsePath(params))
|
|
56
|
+
path: tsplus_module_1.exit(parsers
|
|
57
|
+
.parsePath(params)).flatMap((_) => tsplus_module_2.isFailure(_) && !tsplus_module_3.isFailure(_.cause)
|
|
58
58
|
? tsplus_module_1.failCauseSync(() => _.cause)
|
|
59
59
|
: tsplus_module_1.sync(() => tsplus_module_2.isSuccess(_)
|
|
60
60
|
? { _tag: "Success", value: _.value }
|
|
61
61
|
: { _tag: "Failure", errors: tsplus_module_3.failures(_.cause) }))
|
|
62
|
-
})
|
|
62
|
+
})
|
|
63
|
+
.flatMap(({ body, cookie, headers, path, query }) => {
|
|
63
64
|
const errors = [];
|
|
64
65
|
if (body._tag === "Failure") {
|
|
65
66
|
errors.push(makeError("body")(body.errors));
|
|
@@ -109,7 +110,7 @@ function makeError(type) {
|
|
|
109
110
|
return (e) => [{ type, errors: decodeErrors(e) }];
|
|
110
111
|
}
|
|
111
112
|
export function respondSuccess(encodeResponse) {
|
|
112
|
-
return (req, res) => tsplus_module_4.flow(encodeResponse(req), tsplus_module_1.succeed, (_) =>
|
|
113
|
+
return (req, res) => tsplus_module_4.flow(encodeResponse(req), tsplus_module_1.succeed, (_) => _.flatMap((r) => tsplus_module_1.sync(() => {
|
|
113
114
|
r === undefined
|
|
114
115
|
? res.status(204).send()
|
|
115
116
|
: res.status(200).send(JSON.stringify(r));
|
|
@@ -144,4 +145,4 @@ export function makeRequestParsers(Request) {
|
|
|
144
145
|
parseQuery
|
|
145
146
|
};
|
|
146
147
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL3JvdXRpbmcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFFdkQsaURBQWlEO0FBQ2pELE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFHdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBMkYxRCxvREFBb0Q7QUFDcEQsaUNBQWlDO0FBQ2pDLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFDbkMsTUFBTTtBQUNOLG1FQUFtRTtBQUNuRSxpQ0FBaUM7QUFDakMsTUFBTTtBQUNOLHFDQUFxQztBQUNyQyxJQUFJO0FBQ0osTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFVO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNaLENBQUM7QUFFRCxpRUFBaUU7QUFDakUsK0ZBQStGO0FBQy9GLDRCQUE0QjtBQUM1QixNQUFNO0FBQ04sSUFBSTtBQUVKLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsa0JBQWtCLENBT2hDLE9BQStEO0lBRS9ELE9BQU8sQ0FDTCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBTXRDLEVBQ0QsRUFBRSxDQUNGLG9CQUNPO1FBQ0gsSUFBSSxFQUFFLHFCQUFBLE9BQU87YUFDVixTQUFTLENBQUMsSUFBSSxDQUFDLEVBRWYsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYiwwQkFBQSxDQUFDLENBQVksSUFBSSxDQUFDLDBCQUFBLENBQUMsQ0FBQyxLQUFLLENBQVk7WUFDbkMsQ0FBQyxDQUFFLDhCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFvQztZQUN6RSxDQUFDLENBQUMscUJBQVksR0FBRyxFQUFFLENBQ2pCLDBCQUFBLENBQUMsQ0FBWTtnQkFDWCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDOUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUFFLENBQUMsQ0FBQyxLQUFLLENBQVMsRUFBRSxDQUNsRCxDQUNKO1FBQ0gsTUFBTSxFQUFFLHFCQUFBLE9BQU87YUFDWixXQUFXLENBQUMsT0FBTyxDQUFDLEVBRXBCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsMEJBQUEsQ0FBQyxDQUFZLElBQUksQ0FBQywwQkFBQSxDQUFDLENBQUMsS0FBSyxDQUFZO1lBQ25DLENBQUMsQ0FBRSw4QkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBb0M7WUFDekUsQ0FBQyxDQUFDLHFCQUFZLEdBQUcsRUFBRSxDQUNqQiwwQkFBQSxDQUFDLENBQVk7Z0JBQ1gsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQzlDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBRSxDQUFDLENBQUMsS0FBSyxDQUFTLEVBQUUsQ0FDbEQsQ0FDSjtRQUNILE9BQU8sRUFBRSxxQkFBQSxPQUFPO2FBQ2IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUVyQixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLDBCQUFBLENBQUMsQ0FBWSxJQUFJLENBQUMsMEJBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBWTtZQUNuQyxDQUFDLENBQUUsOEJBQXFCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQW9DO1lBQ3pFLENBQUMsQ0FBQyxxQkFBWSxHQUFHLEVBQUUsQ0FDakIsMEJBQUEsQ0FBQyxDQUFZO2dCQUNYLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM5QyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBUyxFQUFFLENBQ2xELENBQ0o7UUFDSCxLQUFLLEVBQUUscUJBQUEsT0FBTzthQUNYLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFFakIsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYiwwQkFBQSxDQUFDLENBQVksSUFBSSxDQUFDLDBCQUFBLENBQUMsQ0FBQyxLQUFLLENBQVk7WUFDbkMsQ0FBQyxDQUFFLDhCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFvQztZQUN6RSxDQUFDLENBQUMscUJBQVksR0FBRyxFQUFFLENBQ2pCLDBCQUFBLENBQUMsQ0FBWTtnQkFDWCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBa0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDOUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUFFLENBQUMsQ0FBQyxLQUFLLENBQVMsRUFBRSxDQUNsRCxDQUNKO1FBQ0gsSUFBSSxFQUFFLHFCQUFBLE9BQU87YUFDVixTQUFTLENBQUMsTUFBTSxDQUFDLEVBRWpCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsMEJBQUEsQ0FBQyxDQUFZLElBQUksQ0FBQywwQkFBQSxDQUFDLENBQUMsS0FBSyxDQUFZO1lBQ25DLENBQUMsQ0FBRSw4QkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBb0M7WUFDekUsQ0FBQyxDQUFDLHFCQUFZLEdBQUcsRUFBRSxDQUNqQiwwQkFBQSxDQUFDLENBQVk7Z0JBQ1gsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQzlDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBRSxDQUFDLENBQUMsS0FBSyxDQUFTLEVBQUUsQ0FDbEQsQ0FDSjtLQUNKLENBQUM7U0FDRCxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQ2xELE1BQU0sTUFBTSxHQUFjLEVBQUUsQ0FBQTtRQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNqRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDN0MsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUMvQyxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDeEMsQ0FBQztRQUNELE9BQU8scUJBQVksR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQU07WUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFNO1lBQ3JCLE9BQU8sRUFBRSxPQUFPLENBQUMsS0FBTTtZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQU07WUFDakIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFNO1NBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQUE7QUFDUixDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLCtFQUErRTtBQUMvRSx1Q0FBdUM7QUFDdkMsZ0RBQWdEO0FBQ2hELE9BQU87QUFDUCxxRUFBcUU7QUFDckUsTUFBTTtBQUNOLGtDQUFrQztBQUNsQyx1QkFBdUI7QUFDdkIsb0RBQW9EO0FBQ3BELG9CQUFvQjtBQUNwQixTQUFTO0FBQ1QsY0FBYztBQUNkLHlFQUF5RTtBQUN6RSxRQUFRO0FBQ1IsTUFBTTtBQUNOLElBQUk7QUFFSixTQUFTLFNBQVMsQ0FBQyxJQUFZO0lBQzdCLE9BQU8sQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLGNBQTJDO0lBRTNDLE9BQU8sQ0FBQyxHQUFTLEVBQUUsR0FBcUIsRUFBRSxFQUFFLENBQzFDLGdCQUFBLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLDJCQUFrQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQzlDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNkLHFCQUFZLEdBQUcsRUFBRTtRQUNmLENBQUMsS0FBSyxTQUFTO1lBQ2IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ3hCLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDN0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxDQUFBO0FBQ1IsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FnQmhDLE9BZVk7SUFFWixNQUFNLEVBQUUsR0FBRyxxQkFBWSxHQUFHLEVBQUUsQ0FDMUIsNkJBQ2dCLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUEyQixDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQ3hCLENBQUE7SUFDRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUUvRCxNQUFNLEVBQUUsR0FBRyxxQkFBWSxHQUFHLEVBQUUsQ0FDMUIsNkJBQ2dCLE9BQU8sQ0FBQyxLQUFLLENBQUM7U0FDM0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUEyQixDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQ3hCLENBQUE7SUFDRCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU3RCxNQUFNLEVBQUUsR0FBRyxxQkFBWSxHQUFHLEVBQUUsQ0FDMUIsNkJBQ2dCLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUEyQixDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQ3hCLENBQUE7SUFDRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU1RCxNQUFNLEVBQUUsR0FBRyxxQkFBWSxHQUFHLEVBQUUsQ0FDMUIsNkJBQ2dCLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUEyQixDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQ3hCLENBQUE7SUFDRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU1RCxNQUFNLEVBQUUsR0FBRyxxQkFBWSxHQUFHLEVBQUUsQ0FDMUIsNkJBQ2dCLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDNUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUEyQixDQUFDO1NBQ3ZDLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQ3hCLENBQUE7SUFDRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU5RCxPQUFPO1FBQ0wsU0FBUztRQUNULFdBQVc7UUFDWCxZQUFZO1FBQ1osU0FBUztRQUNULFVBQVU7S0FDWCxDQUFBO0FBQ0gsQ0FBQyJ9
|
|
@@ -15,14 +15,18 @@ export function defaultBasicErrorHandler(_req, res, r2) {
|
|
|
15
15
|
const sendError = (code) => (body) => tsplus_module_4.sync(() => tsplus_module_3.setStatus(code)(tsplus_module_3.setBody(res, tsplus_module_2.unsafeJson(body))));
|
|
16
16
|
return tsplus_module_4.catchAll(tsplus_module_4.catchTag(tsplus_module_4.tapErrorCause(r2, (cause) => tsplus_module_5.isFailure(cause) ? logRequestError(cause) : tsplus_module_4.unit), "ValidationError", (err) => sendError(400)(err.errors))
|
|
17
17
|
// final catch all; expecting never so that unhandled known errors will show up
|
|
18
|
-
, (err) => tsplus_module_4.
|
|
18
|
+
, (err) => tsplus_module_4.logError("Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect" + err)
|
|
19
|
+
.map(() => err)
|
|
20
|
+
.flatMap(tsplus_module_4.die));
|
|
19
21
|
}
|
|
20
22
|
const optimisticConcurrencySchedule = tsplus_module_6.once && tsplus_module_6.recurWhile((a) => a._tag === "OptimisticConcurrencyException");
|
|
21
23
|
export function defaultErrorHandler(req, res, r2) {
|
|
22
24
|
const r3 = req.method === "PATCH"
|
|
23
25
|
? tsplus_module_4.retry(r2, optimisticConcurrencySchedule)
|
|
24
26
|
: r2;
|
|
25
|
-
const sendError = (code, schema) => (body) =>
|
|
27
|
+
const sendError = (code, schema) => (body) => tsplus_module_7.encode(schema)(body)
|
|
28
|
+
.orDie
|
|
29
|
+
.andThen((body) => tsplus_module_3.setBody(tsplus_module_3.setStatus(code)(res), tsplus_module_2.unsafeJson(body)));
|
|
26
30
|
return tsplus_module_4.catchAll(tsplus_module_4.catchTags(tsplus_module_4.tapErrorCause(r3, (cause) => tsplus_module_5.isFailure(cause) ? logRequestError(cause) : tsplus_module_4.unit), {
|
|
27
31
|
"JWTError": (err) => tsplus_module_4.succeed(tsplus_module_3.unsafeJson({ message: err.error.message }, {
|
|
28
32
|
status: err
|
|
@@ -39,6 +43,8 @@ export function defaultErrorHandler(req, res, r2) {
|
|
|
39
43
|
"OptimisticConcurrencyException": sendError(412, OptimisticConcurrencyException)
|
|
40
44
|
})
|
|
41
45
|
// final catch all; expecting never so that unhandled known errors will show up
|
|
42
|
-
, (err) => tsplus_module_4.
|
|
46
|
+
, (err) => tsplus_module_4.logError("Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect" + err)
|
|
47
|
+
.map(() => err)
|
|
48
|
+
.flatMap(tsplus_module_4.die));
|
|
43
49
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdEVycm9ySGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL3JvdXRpbmcvZGVmYXVsdEVycm9ySGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBRTFELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQiw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDaEIsTUFBTSwwQkFBMEIsQ0FBQTtBQUNqQyxPQUFPLEVBQVksV0FBVyxFQUFtRCxNQUFNLFlBQVksQ0FBQTtBQVNuRyxNQUFNLE9BQU8sUUFBUyxTQUFRLGdCQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQU12RDtDQUFHO0FBRUwsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRTNDLE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsSUFBdUIsRUFDdkIsR0FBdUIsRUFDdkIsRUFBa0Q7SUFFbEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBYSxFQUFFLEVBQUUsQ0FDcEQscUJBQVksR0FBRyxFQUFFLENBQUMsMEJBQWlELElBQUksRUFBckQsd0JBQUEsR0FBRyxFQUFTLDJCQUFvQixJQUFJLENBQUMsQ0FBQyxDQUFnQixDQUFDLENBQUE7SUFDM0UsT0FBTyx5QkFBQSx5QkFBQSw4QkFBQSxFQUFFLEVBQ1EsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLDBCQUFBLEtBQUssQ0FBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBWSxDQUFDLEVBQ3pFLGlCQUFpQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0s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
|
|
@@ -31,10 +31,11 @@ export function makeRequestHandler(handler, errorHandler, middlewareLayer) {
|
|
|
31
31
|
// : () => encoder
|
|
32
32
|
const requestParsers = makeRequestParsers(Request);
|
|
33
33
|
const parseRequest = parseRequestParams(requestParsers);
|
|
34
|
-
const getParams = tsplus_module_4.
|
|
34
|
+
const getParams = tsplus_module_4.all({
|
|
35
35
|
rcx: HttpRouteContext,
|
|
36
|
-
req:
|
|
37
|
-
})
|
|
36
|
+
req: HttpServerRequest.flatMap((req) => req.json.map((body) => ({ body, headers: req.headers })))
|
|
37
|
+
})
|
|
38
|
+
.map(({ rcx, req }) => ({
|
|
38
39
|
params: rcx.params,
|
|
39
40
|
query: rcx.searchParams,
|
|
40
41
|
body: req.body,
|
|
@@ -63,14 +64,18 @@ export function makeRequestHandler(handler, errorHandler, middlewareLayer) {
|
|
|
63
64
|
: undefined)
|
|
64
65
|
})
|
|
65
66
|
.andThen(tsplus_module_4.suspend(() => {
|
|
66
|
-
const handleRequest =
|
|
67
|
+
const handleRequest = parseRequest(pars)
|
|
68
|
+
.map(({ body, path, query }) => {
|
|
67
69
|
const hn = {
|
|
68
70
|
...body.value,
|
|
69
71
|
...query.value,
|
|
70
72
|
...path.value
|
|
71
73
|
};
|
|
72
74
|
return hn;
|
|
73
|
-
})
|
|
75
|
+
})
|
|
76
|
+
.flatMap((parsedReq) => tsplus_module_4.provideService(handle(parsedReq), handler.Request.Tag, parsedReq)
|
|
77
|
+
.flatMap(encoder)
|
|
78
|
+
.map((r) => tsplus_module_6.setStatus(r === undefined ? 204 : 200)(tsplus_module_6.setBody(res, tsplus_module_7.unsafeJson(r)))));
|
|
74
79
|
// Commands should not be interruptable.
|
|
75
80
|
const r = req.method !== "GET" ? tsplus_module_4.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
|
|
76
81
|
const r2 = middlewareLayer
|
|
@@ -119,4 +124,4 @@ export function makeRequestHandler(handler, errorHandler, middlewareLayer) {
|
|
|
119
124
|
name: tsplus_module_2.NonEmptyString255(handler.name)
|
|
120
125
|
}));
|
|
121
126
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZVJlcXVlc3RIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9hcGkvcm91dGluZy9tYWtlUmVxdWVzdEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQU03RCxPQUFPLEVBQVksZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sWUFBWSxDQUFBO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUdsRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMkJBQW9CO0lBQ2pELE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyxDQUFBO0FBMENGLE1BQU0sVUFBVSxrQkFBa0IsQ0FrQmhDLE9BYUMsRUFDRCxZQUlnRCxFQUNoRCxlQUE0QztJQVk1QyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBRWhELE1BQU0sUUFBUSxHQUErQixRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLGlCQUFDLElBQUksQ0FBQTtJQUN2RSxNQUFNLElBQUksR0FBRyxRQUFnRSxDQUFBO0lBQzdFLHVGQUF1RjtJQUN2RixNQUFNLE9BQU8sR0FBRyxRQUFRLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNO1FBQzdDLENBQUMsd0JBQUMsSUFBSSxDQUFDLE1BQU07SUFDYixrQkFBa0I7SUFDbEIsc0VBQXNFO0lBQ3RFLDhEQUE4RDtJQUM5RCxJQUFJO0lBQ0osQ0FBQyx3QkFBQyxJQUFJLENBQU8sQ0FBQTtJQUNmLHVDQUF1QztJQUN2Qyxx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
|
package/dist/errorReporter.js
CHANGED
|
@@ -20,7 +20,7 @@ export function reportError(name) {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
function reportSentry(cause, name, extras) {
|
|
23
|
-
return
|
|
23
|
+
return RequestContextContainer.getOption.map((ctx) => {
|
|
24
24
|
const context = ctx.value;
|
|
25
25
|
const scope = new Sentry.Scope();
|
|
26
26
|
if (context)
|
|
@@ -57,4 +57,4 @@ export function reportMessage(message) {
|
|
|
57
57
|
export function reportMessageM(message) {
|
|
58
58
|
return tsplus_module_2.sync(() => reportMessage(message));
|
|
59
59
|
}
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JSZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvZXJyb3JSZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEtBQUssTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBRS9FLE1BQU0sVUFBVSxXQUFXLENBQ3pCLElBQVk7SUFFWixPQUFPLENBQUMsS0FBcUIsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDakUsb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUNwQixJQUFJLDhCQUFBLEtBQUssQ0FBZ0IsRUFBRSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw2QkFBQSx5QkFBZ0IsYUFBYSxDQUFDLEVBQWMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM3RixPQUFNO1FBQ1IsQ0FBQztRQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQzNDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUM3QyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04sNkJBQUEseUJBQ1ksaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQ3JCLGFBQWEsQ0FBQztZQUMxQixNQUFNO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDekIsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFDLENBQ04sQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELFNBQVMsWUFBWSxDQUNuQixLQUFxQixFQUNyQixJQUFZLEVBQ1osTUFBMkM7SUFFM0MsT0FBTyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDbkQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQU0sQ0FBQTtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLE9BQU87WUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUE2QyxDQUFDLENBQUE7UUFDdkYsSUFBSSxNQUFNO1lBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQVMsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdkMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsSUFBWTtJQUVaLE9BQU8sQ0FBQyxLQUFlLEVBQUUsTUFBZ0MsRUFBRSxFQUFFLENBQzNELG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDcEIsSUFBSSw4QkFBQSxLQUFLLENBQWdCLEVBQUUsQ0FBQztZQUMxQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsNkJBQUEseUJBQWdCLGFBQWEsQ0FBQyxFQUFjLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ2hGLE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTiw2QkFBQSwyQkFDYyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQ3JCLGFBQWEsQ0FBQztZQUMxQixNQUFNO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDekIsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFDLENBQ04sQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFjO0lBQzdDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3RCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQWU7SUFDM0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUU5QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3ZCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQWU7SUFDNUMsT0FBTyxxQkFBWSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNsRCxDQUFDIn0=
|
package/dist/rateLimit.js
CHANGED
|
@@ -46,16 +46,18 @@ export function SEM_withPermitsDuration(permits, duration) {
|
|
|
46
46
|
* @tsplus static Collection.Ops batchPar
|
|
47
47
|
*/
|
|
48
48
|
export function batchPar(n, forEachItem, forEachBatch) {
|
|
49
|
-
return (items) => tsplus_module_3.ext_forEach(tsplus_module_2.chunk_(items, n), (_, i) =>
|
|
50
|
-
.forEachEffect((_, j) => forEachItem(_, j, i), { concurrency: "inherit" })
|
|
49
|
+
return (items) => tsplus_module_3.ext_forEach(tsplus_module_2.chunk_(items, n), (_, i) => _
|
|
50
|
+
.forEachEffect((_, j) => forEachItem(_, j, i), { concurrency: "inherit" })
|
|
51
|
+
.flatMap((_) => forEachBatch(_, i)), { concurrency: "inherit" });
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
53
54
|
* @tsplus pipeable Iterable batch
|
|
54
55
|
* @tsplus static Collection.Ops batch
|
|
55
56
|
*/
|
|
56
57
|
export function batch(n, forEachItem, forEachBatch) {
|
|
57
|
-
return (items) => tsplus_module_3.ext_forEach(tsplus_module_2.chunk_(items, n), (_, i) =>
|
|
58
|
-
.forEachEffect((_, j) => forEachItem(_, j, i), { concurrency: "inherit" })
|
|
58
|
+
return (items) => tsplus_module_3.ext_forEach(tsplus_module_2.chunk_(items, n), (_, i) => _
|
|
59
|
+
.forEachEffect((_, j) => forEachItem(_, j, i), { concurrency: "inherit" })
|
|
60
|
+
.flatMap((_) => forEachBatch(_, i)));
|
|
59
61
|
}
|
|
60
62
|
// /**
|
|
61
63
|
// * @tsplus pipeable Iterable rateLimit
|
|
@@ -81,7 +83,8 @@ export function batch(n, forEachItem, forEachBatch) {
|
|
|
81
83
|
* @tsplus static Collection.Ops naiveRateLimit
|
|
82
84
|
*/
|
|
83
85
|
export function naiveRateLimit(n, d) {
|
|
84
|
-
return (items) => ((forEachItem, forEachBatch) => tsplus_module_3.ext_forEach(tsplus_module_2.chunk_(items, n), (batch, i) => tsplus_module_1.zipRight(((i === 0) ? tsplus_module_1.unit : tsplus_module_1.sleep(d)),
|
|
85
|
-
.forEachEffect(forEachItem, { concurrency: n })
|
|
86
|
+
return (items) => ((forEachItem, forEachBatch) => tsplus_module_3.ext_forEach(tsplus_module_2.chunk_(items, n), (batch, i) => tsplus_module_1.zipRight(((i === 0) ? tsplus_module_1.unit : tsplus_module_1.sleep(d)), batch
|
|
87
|
+
.forEachEffect(forEachItem, { concurrency: n })
|
|
88
|
+
.flatMap(forEachBatch))));
|
|
86
89
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZUxpbWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9yYXRlTGltaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTTtBQUNOLDhFQUE4RTtBQUM5RSx1RUFBdUU7QUFDdkUsbUZBQW1GO0FBQ25GLCtCQUErQjtBQUMvQixLQUFLO0FBQ0wsa0VBQWtFO0FBQ2xFLGdFQUFnRTtBQUNoRSxNQUFNO0FBQ04sNkVBQTZFO0FBQzdFLDBGQUEwRjtBQUMxRix1QkFBdUI7QUFDdkIsb0NBQW9DO0FBQ3BDLHFCQUFxQjtBQUNyQixtREFBbUQ7QUFDbkQsZ0NBQWdDO0FBQ2hDLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQzVCLHFDQUFxQztBQUNyQyxrQkFBa0I7QUFDbEIsVUFBVTtBQUNWLE1BQU07QUFDTixJQUFJO0FBRUo7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBZSxFQUFFLFFBQWtCO0lBQ3pFLE9BQU8sQ0FBQyxJQUFlLEVBQXlELEVBQUU7UUFDaEYsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2hCLG9DQUNFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDVixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUN4QixPQUFPLENBQ04seUJBQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUVYLHNCQUFBLElBQUk7YUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ1YsUUFBUSxDQUFDLENBQ25CLENBQ0osQ0FDTixDQUFBO0lBQ0wsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLENBQVMsRUFDVCxXQUErRSxFQUMvRSxZQUFvRTtJQUVwRSxPQUFPLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQzVCLDRCQUFBLHVCQUFBLEtBQUssRUFDSSxDQUFDLENBQUMsRUFFUCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNQLENBQUM7U0FDRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQztTQUN6RSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQzNELEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUMzQixDQUFBO0FBQ1AsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQ25CLENBQVMsRUFDVCxXQUErRSxFQUMvRSxZQUFvRTtJQUVwRSxPQUFPLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQzVCLDRCQUFBLHVCQUFBLEtBQUssRUFDSSxDQUFDLENBQUMsRUFDTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUN0QixDQUFDO1NBQ0UsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUM7U0FDekUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBcUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUMxRCxDQUFBO0FBQ1AsQ0FBQztBQUVELE1BQU07QUFDTix5Q0FBeUM7QUFDekMsNkNBQTZDO0FBQzdDLE1BQU07QUFDTiw2QkFBNkI7QUFDN0IsZUFBZTtBQUNmLFdBQVc7QUFDWCxNQUFNO0FBQ04sc0NBQXNDO0FBQ3RDLDZCQUE2QjtBQUM3QixnREFBZ0Q7QUFDaEQsMERBQTBEO0FBQzFELFdBQVc7QUFDWCxxQ0FBcUM7QUFDckMsc0JBQXNCO0FBQ3RCLHdDQUF3QztBQUN4QyxtRkFBbUY7QUFDbkYsc0JBQXNCO0FBQ3RCLElBQUk7QUFFSjs7O0dBR0c7QUFFSCxNQUFNLFVBQVUsY0FBYyxDQUM1QixDQUFTLEVBQ1QsQ0FBTTtJQUVOLE9BQU8sQ0FBSSxLQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ2pDLFdBQXNDLEVBQ3RDLFlBQTRDLEVBQzVDLEVBQUUsQ0FDRiw0QkFBQSx1QkFBQSxLQUFLLEVBQ0ksQ0FBQyxDQUFDLEVBQ00sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDMUIseUJBQUEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHNCQUFhLENBQUMsQ0FBQyxzQkFBYSxDQUFDLENBQUMsQ0FBQyxFQUV2QyxLQUFLO1NBQ0YsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUM5QyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQ3pCLENBQ0osQ0FBQyxDQUFBO0FBQ1IsQ0FBQyJ9
|
|
@@ -2,7 +2,8 @@ import * as tsplus_module_1 from "effect/Effect";
|
|
|
2
2
|
import * as tsplus_module_2 from "effect/Layer";
|
|
3
3
|
import { pretty } from "effect-app/utils";
|
|
4
4
|
import { Emailer } from "./service.js";
|
|
5
|
-
const makeFake = tsplus_module_1.
|
|
5
|
+
const makeFake = tsplus_module_1.logDebug("FAKE Emailer Service enabled")
|
|
6
|
+
.map(() => new Emailer({
|
|
6
7
|
sendMail(msg) {
|
|
7
8
|
return tsplus_module_1.annotateLogs(tsplus_module_1.logDebug(`Fake send mail`), "msg", pretty(msg));
|
|
8
9
|
}
|
|
@@ -11,4 +12,4 @@ const makeFake = tsplus_module_1.map(tsplus_module_1.logDebug("FAKE Emailer Serv
|
|
|
11
12
|
* @tsplus static Emailer.Ops Fake
|
|
12
13
|
*/
|
|
13
14
|
export const FakeSendgrid = tsplus_module_2.effect(Emailer)(makeFake);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvRW1haWxlci9mYWtlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFdEMsTUFBTSxRQUFRLEdBQUcseUJBQ0wsOEJBQThCLENBQUM7S0FDeEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUNSLElBQUksT0FBTyxDQUFDO0lBQ1YsUUFBUSxDQUFDLEdBQUc7UUFDVixPQUFPLDZCQUFBLHlCQUFnQixnQkFBZ0IsQ0FBQyxFQUFjLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0NBQ0YsQ0FBQyxDQUNILENBQUE7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyx1QkFBaUIsT0FBTyxFQUF4QixRQUFRLENBQWlCLENBQUEifQ==
|