@effect-app/infra 0.83.12 → 0.84.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/_cjs/_ext/Array.cjs +3 -2
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +11 -10
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +3 -2
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.test.cjs +2 -2
- package/_cjs/api/express/makeJsonSchema.test.cjs.map +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +6 -4
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +25 -23
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +22 -20
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +2 -2
- package/_cjs/api/routing.cjs +56 -53
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +3 -2
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +6 -4
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +12 -11
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +8 -8
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/instrument.cjs +2 -1
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +11 -10
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +5 -5
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +4 -4
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +8 -7
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +14 -12
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +5 -4
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +31 -29
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +6 -5
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +7 -6
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +18 -17
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +16 -15
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +17 -16
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +35 -33
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +12 -10
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +49 -46
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +19 -18
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +43 -39
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +16 -14
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +1 -1
- package/_cjs/services/Store/index.cjs +7 -6
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +1 -1
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +13 -13
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +19 -17
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +9 -8
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +11 -9
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +20 -18
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +11 -10
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/shared.cjs +5 -5
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +18 -17
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/api/authorization.jwt.ts +1 -1
- package/_src/api/defaultErrorHandler.ts +2 -2
- package/_src/api/express/routing.ts.bak +8 -8
- package/_src/api/express/schema/requestHandler.ts +12 -12
- package/_src/api/express/schema/routing.ts +11 -11
- package/_src/api/routing.ts +14 -13
- package/_src/errorReporter.ts +1 -1
- package/_src/services/Emailer/Sendgrid.ts +1 -1
- package/_src/services/Operations/live.ts +5 -5
- package/_src/services/QueueMaker/errors.ts +1 -1
- package/_src/services/QueueMaker/memQueue.ts +2 -2
- package/_src/services/QueueMaker/sbqueue.ts +1 -1
- package/_src/services/Repository.ts +9 -9
- package/_src/services/RepositoryBase.ts +8 -6
- package/_src/services/RequestContextContainer.ts +1 -1
- package/_src/services/Store/Cosmos.ts +17 -12
- package/_src/services/Store/Disk.ts +4 -4
- package/_src/services/Store/Memory.ts +4 -4
- package/_src/services/Store/Redis.ts +1 -1
- package/_src/services/Store/index.test.ts.bak +5 -5
- package/_src/services/Store/index.ts +1 -1
- package/_src/services/Store/utils.ts +16 -16
- package/_src/services/simpledb/diskdb.ts +1 -1
- package/_src/services/simpledb/memdb.ts +1 -1
- package/_src/services/simpledb/redisdb.ts +1 -1
- package/_src/services/simpledb/shared.ts +1 -1
- package/_src/services/simpledb/simpledb.ts +3 -3
- package/dist/RequestContext.d.ts +20 -20
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -3
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/codec.d.ts.map +1 -1
- package/dist/api/defaultErrorHandler.d.ts +2 -2
- package/dist/api/defaultErrorHandler.d.ts.map +1 -1
- package/dist/api/defaultErrorHandler.js +13 -11
- package/dist/api/express/makeJsonSchema.d.ts +2 -2
- package/dist/api/express/makeJsonSchema.d.ts.map +1 -1
- package/dist/api/express/makeJsonSchema.js +4 -3
- package/dist/api/express/makeOpenApiSpecs.d.ts +1 -1
- package/dist/api/express/makeOpenApiSpecs.js +7 -5
- package/dist/api/express/schema/requestHandler.d.ts +8 -8
- package/dist/api/express/schema/requestHandler.d.ts.map +1 -1
- package/dist/api/express/schema/requestHandler.js +36 -34
- package/dist/api/express/schema/routing.d.ts +2 -2
- package/dist/api/express/schema/routing.js +23 -21
- package/dist/api/reportError.d.ts +5 -5
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +2 -2
- package/dist/api/routing.d.ts +6 -6
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +60 -57
- package/dist/api/setupRequest.d.ts +2 -2
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +4 -3
- package/dist/api/writeDocs.d.ts +1 -1
- package/dist/api/writeDocs.d.ts.map +1 -1
- package/dist/api/writeDocs.js +7 -5
- package/dist/errorReporter.d.ts +3 -3
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +13 -12
- package/dist/errors.d.ts +7 -7
- package/dist/errors.js +9 -9
- package/dist/filter.d.ts.map +1 -1
- package/dist/instrument.d.ts +1 -1
- package/dist/instrument.d.ts.map +1 -1
- package/dist/instrument.js +3 -2
- package/dist/logger/jsonLogger.d.ts +2 -2
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +12 -11
- package/dist/logger/logFmtLogger.d.ts +2 -2
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +6 -6
- package/dist/logger/shared.d.ts +1 -1
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +5 -5
- package/dist/rateLimit.d.ts +4 -4
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +9 -8
- package/dist/services/Emailer/Sendgrid.d.ts +1 -1
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +17 -15
- package/dist/services/Emailer/fake.d.ts +1 -1
- package/dist/services/Emailer/fake.d.ts.map +1 -1
- package/dist/services/Emailer/fake.js +6 -5
- package/dist/services/Emailer/service.d.ts +4 -4
- package/dist/services/Operations/live.d.ts +1 -1
- package/dist/services/Operations/live.d.ts.map +1 -1
- package/dist/services/Operations/live.js +39 -37
- package/dist/services/Operations/service.d.ts +9 -9
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +13 -12
- package/dist/services/QueueMaker/errors.d.ts +5 -5
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +7 -6
- package/dist/services/QueueMaker/memQueue.d.ts +3 -3
- package/dist/services/QueueMaker/memQueue.js +17 -16
- package/dist/services/QueueMaker/sbqueue.d.ts +4 -4
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +16 -15
- package/dist/services/Repository.d.ts +32 -32
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +18 -17
- package/dist/services/RepositoryBase.d.ts +32 -83
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +37 -35
- package/dist/services/RequestContextContainer.d.ts +9 -9
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +15 -13
- package/dist/services/Store/Cosmos.d.ts +3 -3
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +54 -51
- package/dist/services/Store/Disk.d.ts +3 -3
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +20 -19
- package/dist/services/Store/Memory.d.ts +5 -5
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +45 -41
- package/dist/services/Store/Redis.d.ts +3 -3
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +17 -15
- package/dist/services/Store/index.d.ts +1 -1
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +8 -7
- package/dist/services/Store/service.d.ts +10 -10
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/Store/service.js +2 -2
- package/dist/services/Store/utils.d.ts +3 -3
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +21 -21
- package/dist/services/simpledb/cosmosdb.d.ts +5 -5
- package/dist/services/simpledb/cosmosdb.d.ts.map +1 -1
- package/dist/services/simpledb/cosmosdb.js +19 -17
- package/dist/services/simpledb/diskdb.d.ts +5 -5
- package/dist/services/simpledb/diskdb.d.ts.map +1 -1
- package/dist/services/simpledb/diskdb.js +10 -9
- package/dist/services/simpledb/memdb.d.ts +5 -5
- package/dist/services/simpledb/memdb.d.ts.map +1 -1
- package/dist/services/simpledb/memdb.js +13 -11
- package/dist/services/simpledb/mongodb.d.ts +5 -5
- package/dist/services/simpledb/mongodb.d.ts.map +1 -1
- package/dist/services/simpledb/mongodb.js +16 -14
- package/dist/services/simpledb/redisdb.d.ts +11 -11
- package/dist/services/simpledb/redisdb.d.ts.map +1 -1
- package/dist/services/simpledb/redisdb.js +12 -11
- package/dist/services/simpledb/shared.d.ts +13 -13
- package/dist/services/simpledb/shared.js +6 -6
- package/dist/services/simpledb/simpledb.d.ts +7 -7
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +16 -15
- package/package.json +5 -5
|
@@ -5,8 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createContext = createContext;
|
|
7
7
|
var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect"));
|
|
8
|
-
var tsplus_module_2 = _interopRequireWildcard(require("effect/
|
|
9
|
-
var tsplus_module_3 = _interopRequireWildcard(require("
|
|
8
|
+
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect.impl"));
|
|
9
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Option"));
|
|
10
|
+
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/EffectX"));
|
|
11
|
+
var tsplus_module_5 = _interopRequireWildcard(require("effect/Option.impl"));
|
|
10
12
|
var _mongoClient = require("@effect-app/infra-adapters/mongo-client");
|
|
11
13
|
var _shared = require("./shared.cjs");
|
|
12
14
|
var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
|
|
@@ -16,28 +18,28 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
16
18
|
// prev[cur] = 1
|
|
17
19
|
// return prev
|
|
18
20
|
// }, {} as Record<string, number>)
|
|
19
|
-
const setup = (type, indexes) =>
|
|
21
|
+
const setup = (type, indexes) => tsplus_module_2.flatMap(tsplus_module_2.tap(_mongoClient.MongoClient, ({
|
|
20
22
|
db
|
|
21
|
-
}) => tsplus_module_1.tryPromise(() => db.createCollection(type).catch(err => console.warn(err)))), ({
|
|
23
|
+
}) => tsplus_module_1.Effect.tryPromise(() => db.createCollection(type).catch(err => console.warn(err)))), ({
|
|
22
24
|
db
|
|
23
|
-
}) => tsplus_module_1.tryPromise(() => db.collection(type).createIndexes(indexes)));
|
|
25
|
+
}) => tsplus_module_1.Effect.tryPromise(() => db.collection(type).createIndexes(indexes)));
|
|
24
26
|
function createContext() {
|
|
25
27
|
return (type, encode, decode,
|
|
26
28
|
// schemaVersion: string,
|
|
27
29
|
indexes) => {
|
|
28
|
-
return
|
|
30
|
+
return tsplus_module_2.map(setup(type, indexes), () => ({
|
|
29
31
|
find: simpledb.find(find, decode, type),
|
|
30
32
|
findBy,
|
|
31
33
|
save: simpledb.storeDirectly(store, type)
|
|
32
34
|
}));
|
|
33
35
|
function find(id) {
|
|
34
|
-
return
|
|
36
|
+
return tsplus_module_4.mapOption(tsplus_module_2.map(tsplus_module_2.flatMap(_mongoClient.MongoClient, ({
|
|
35
37
|
db
|
|
36
|
-
}) => tsplus_module_1.tryPromise(() => db.collection(type).findOne({
|
|
38
|
+
}) => tsplus_module_1.Effect.tryPromise(() => db.collection(type).findOne({
|
|
37
39
|
_id: {
|
|
38
40
|
equals: id
|
|
39
41
|
}
|
|
40
|
-
}))),
|
|
42
|
+
}))), tsplus_module_3.Option.fromNullable), ({
|
|
41
43
|
data,
|
|
42
44
|
version
|
|
43
45
|
}) => ({
|
|
@@ -46,25 +48,25 @@ function createContext() {
|
|
|
46
48
|
}));
|
|
47
49
|
}
|
|
48
50
|
function findBy(keys) {
|
|
49
|
-
return
|
|
51
|
+
return tsplus_module_4.mapOption(tsplus_module_2.map(tsplus_module_2.flatMap(_mongoClient.MongoClient, ({
|
|
50
52
|
db
|
|
51
|
-
}) => tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, {
|
|
53
|
+
}) => tsplus_module_1.Effect.tryPromise(() => db.collection(type).findOne(keys, {
|
|
52
54
|
projection: {
|
|
53
55
|
_id: 1
|
|
54
56
|
}
|
|
55
|
-
}))),
|
|
57
|
+
}))), tsplus_module_3.Option.fromNullable), ({
|
|
56
58
|
_id
|
|
57
59
|
}) => _id);
|
|
58
60
|
}
|
|
59
61
|
function store(record, currentVersion) {
|
|
60
|
-
return tsplus_module_1.gen(function* ($) {
|
|
61
|
-
const version =
|
|
62
|
+
return tsplus_module_1.Effect.gen(function* ($) {
|
|
63
|
+
const version = tsplus_module_5.getOrElse(tsplus_module_5.map(currentVersion, cv => (parseInt(cv) + 1).toString()), () => "1");
|
|
62
64
|
const {
|
|
63
65
|
db
|
|
64
66
|
} = yield* $(_mongoClient.MongoClient);
|
|
65
67
|
const data = yield* $(encode(record));
|
|
66
|
-
yield* $(
|
|
67
|
-
onNone: () =>
|
|
68
|
+
yield* $(tsplus_module_5.match(currentVersion, {
|
|
69
|
+
onNone: () => tsplus_module_2.orDie(tsplus_module_2.asUnit(tsplus_module_1.Effect.tryPromise(() => db.collection(type).insertOne({
|
|
68
70
|
_id: record.id,
|
|
69
71
|
version,
|
|
70
72
|
timestamp: new Date(),
|
|
@@ -73,7 +75,7 @@ function createContext() {
|
|
|
73
75
|
checkKeys: false // support for keys with `.` and `$`. NOTE: you can write them, read them, but NOT query for them.
|
|
74
76
|
})))),
|
|
75
77
|
|
|
76
|
-
onSome: currentVersion =>
|
|
78
|
+
onSome: currentVersion => tsplus_module_2.flatMap(tsplus_module_2.orDie(tsplus_module_1.Effect.tryPromise(() => db.collection(type).replaceOne({
|
|
77
79
|
_id: record.id,
|
|
78
80
|
version: currentVersion
|
|
79
81
|
}, {
|
|
@@ -86,7 +88,7 @@ function createContext() {
|
|
|
86
88
|
if (!x.modifiedCount) {
|
|
87
89
|
return new _shared.OptimisticLockException(type, record.id);
|
|
88
90
|
}
|
|
89
|
-
return tsplus_module_1.unit;
|
|
91
|
+
return tsplus_module_1.Effect.unit;
|
|
90
92
|
})
|
|
91
93
|
}));
|
|
92
94
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.cjs","names":["_mongoClient","require","_shared","simpledb","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","setup","type","indexes","
|
|
1
|
+
{"version":3,"file":"mongodb.cjs","names":["_mongoClient","require","_shared","simpledb","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","setup","type","indexes","tsplus_module_2","flatMap","tap","MongoClient","db","tsplus_module_1","Effect","tryPromise","createCollection","catch","err","console","warn","collection","createIndexes","createContext","encode","decode","map","find","findBy","save","storeDirectly","store","id","tsplus_module_4","mapOption","findOne","_id","equals","tsplus_module_3","Option","fromNullable","data","version","keys","projection","record","currentVersion","gen","$","tsplus_module_5","getOrElse","cv","parseInt","toString","match","onNone","orDie","asUnit","insertOne","timestamp","Date","checkKeys","onSome","replaceOne","upsert","x","modifiedCount","OptimisticLockException","unit"],"sources":["../../../_src/services/simpledb/mongodb.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -5,9 +5,10 @@ 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/Effect"));
|
|
9
|
-
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/
|
|
10
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/Option"));
|
|
8
|
+
var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect.impl"));
|
|
9
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/EffectX"));
|
|
10
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Option.impl"));
|
|
11
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Effect"));
|
|
11
12
|
var _Function = require("@effect-app/core/Function");
|
|
12
13
|
var _redisClient = require("@effect-app/infra-adapters/redis-client");
|
|
13
14
|
var MO = _interopRequireWildcard(require("@effect-app/schema"));
|
|
@@ -38,7 +39,7 @@ function createContext() {
|
|
|
38
39
|
function store(record, currentVersion) {
|
|
39
40
|
const version = tsplus_module_3.getOrElse(tsplus_module_3.map(currentVersion, cv => (parseInt(cv) + 1).toString()), () => "1");
|
|
40
41
|
return tsplus_module_3.match(currentVersion, {
|
|
41
|
-
onNone: () => tsplus_module_1.scoped(tsplus_module_1.zipRight(lockIndex(record), tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.zipRight(tsplus_module_1.flatMap(tsplus_module_1.zipRight(tsplus_module_2.zipRightOption(getIndex(record),
|
|
42
|
+
onNone: () => tsplus_module_1.scoped(tsplus_module_1.zipRight(lockIndex(record), tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.zipRight(tsplus_module_1.flatMap(tsplus_module_1.zipRight(tsplus_module_2.zipRightOption(getIndex(record), tsplus_module_4.Effect.fail(() => new Error("Combination already exists, abort"))), getData(record))
|
|
42
43
|
// TODO: instead use MULTI & EXEC to make it in one command?
|
|
43
44
|
, data => hmSetRec(getKey(record.id), {
|
|
44
45
|
version,
|
|
@@ -81,11 +82,11 @@ function createContext() {
|
|
|
81
82
|
// acquire
|
|
82
83
|
return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(tsplus_module_1.flatMap(_redisClient.RedisClient, ({
|
|
83
84
|
lock
|
|
84
|
-
}) =>
|
|
85
|
+
}) => tsplus_module_4.Effect.tryPromise(() => lock.lock(lockKey, ttl))), {
|
|
85
86
|
onFailure: err => new _shared.CouldNotAquireDbLockException(type, lockKey, err),
|
|
86
87
|
// release
|
|
87
88
|
onSuccess: lock => ({
|
|
88
|
-
release: tsplus_module_1.orDie(
|
|
89
|
+
release: tsplus_module_1.orDie(tsplus_module_4.Effect.tryPromise(() => lock.unlock()))
|
|
89
90
|
})
|
|
90
91
|
}), l => l.release);
|
|
91
92
|
}
|
|
@@ -93,12 +94,12 @@ function createContext() {
|
|
|
93
94
|
// acquire
|
|
94
95
|
return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(tsplus_module_1.flatMap(_redisClient.RedisClient, ({
|
|
95
96
|
lock
|
|
96
|
-
}) =>
|
|
97
|
+
}) => tsplus_module_4.Effect.tryPromise(() => lock.lock(getLockKey(id), ttl))), {
|
|
97
98
|
onFailure: err => new _shared.CouldNotAquireDbLockException(type, id, err),
|
|
98
99
|
// release
|
|
99
100
|
onSuccess: lock => ({
|
|
100
101
|
// TODO
|
|
101
|
-
release: tsplus_module_1.orDie(
|
|
102
|
+
release: tsplus_module_1.orDie(tsplus_module_4.Effect.tryPromise(() => lock.unlock()))
|
|
102
103
|
})
|
|
103
104
|
}), l => l.release);
|
|
104
105
|
}
|
|
@@ -119,8 +120,8 @@ function createContext() {
|
|
|
119
120
|
const enc = RedisSerializedDBRecord.Encoder(val);
|
|
120
121
|
return tsplus_module_1.flatMap(_redisClient.RedisClient, ({
|
|
121
122
|
client
|
|
122
|
-
}) => tsplus_module_1.uninterruptible(
|
|
123
|
-
client.hmset(key, "version", enc.version, "timestamp", enc.timestamp, "data", enc.data, err => err ? res(new _shared.ConnectionException(err)) : res(
|
|
123
|
+
}) => tsplus_module_1.uninterruptible(tsplus_module_4.Effect.async(res => {
|
|
124
|
+
client.hmset(key, "version", enc.version, "timestamp", enc.timestamp, "data", enc.data, err => err ? res(new _shared.ConnectionException(err)) : res(tsplus_module_4.Effect.sync(() => void 0)));
|
|
124
125
|
})));
|
|
125
126
|
}
|
|
126
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redisdb.cjs","names":["_Function","require","_redisClient","MO","_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","_","tsplus_module_1","map","JSON","stringify","find","findByIndex","getIdx","save","store","lockRedisRecord","id","orDie","tsplus_module_2","flatMapOption","flatMap","RedisClient","hmgetAll","getKey","v","mapError","pipe","RedisSerializedDBRecord","Parser","condemnFail","data","version","parse","ConnectionException","Error","toString","record","currentVersion","tsplus_module_3","getOrElse","cv","parseInt","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","Encoder","client","uninterruptible","async","res","hmset","sync","Model","prop","string","date","exports"],"sources":["../../../_src/services/simpledb/redisdb.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"redisdb.cjs","names":["_Function","require","_redisClient","MO","_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","_","tsplus_module_1","map","JSON","stringify","find","findByIndex","getIdx","save","store","lockRedisRecord","id","orDie","tsplus_module_2","flatMapOption","flatMap","RedisClient","hmgetAll","getKey","v","mapError","pipe","RedisSerializedDBRecord","Parser","condemnFail","data","version","parse","ConnectionException","Error","toString","record","currentVersion","tsplus_module_3","getOrElse","cv","parseInt","match","onNone","scoped","zipRight","lockIndex","zipRightOption","getIndex","tsplus_module_4","Effect","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","Encoder","client","uninterruptible","async","res","hmset","sync","Model","prop","string","date","exports"],"sources":["../../../_src/services/simpledb/redisdb.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ var tsplus_module_3 = _interopRequireWildcard(require("effect/Effect"));
|
|
|
14
14
|
var MO = _interopRequireWildcard(require("@effect-app/schema"));
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
|
-
class CouldNotAquireDbLockException extends tsplus_module_1.TaggedError("CouldNotAquireDbLockException") {
|
|
17
|
+
class CouldNotAquireDbLockException extends tsplus_module_1.Data.TaggedError("CouldNotAquireDbLockException") {
|
|
18
18
|
constructor(type, id, error) {
|
|
19
19
|
super({
|
|
20
20
|
type,
|
|
@@ -25,7 +25,7 @@ class CouldNotAquireDbLockException extends tsplus_module_1.TaggedError("CouldNo
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
exports.CouldNotAquireDbLockException = CouldNotAquireDbLockException;
|
|
28
|
-
class OptimisticLockException extends tsplus_module_1.TaggedError("OptimisticLockException") {
|
|
28
|
+
class OptimisticLockException extends tsplus_module_1.Data.TaggedError("OptimisticLockException") {
|
|
29
29
|
constructor(type, id) {
|
|
30
30
|
super({
|
|
31
31
|
type,
|
|
@@ -35,7 +35,7 @@ class OptimisticLockException extends tsplus_module_1.TaggedError("OptimisticLoc
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.OptimisticLockException = OptimisticLockException;
|
|
38
|
-
class ConnectionException extends tsplus_module_1.TaggedError("ConnectionException") {
|
|
38
|
+
class ConnectionException extends tsplus_module_1.Data.TaggedError("ConnectionException") {
|
|
39
39
|
constructor(cause) {
|
|
40
40
|
super({
|
|
41
41
|
cause,
|
|
@@ -68,9 +68,9 @@ function getRecordName(type, id) {
|
|
|
68
68
|
function makeMap() {
|
|
69
69
|
const map = new Map();
|
|
70
70
|
return {
|
|
71
|
-
find: k => tsplus_module_3.sync(() => tsplus_module_2.fromNullable(map.get(k))),
|
|
71
|
+
find: k => tsplus_module_3.Effect.sync(() => tsplus_module_2.Option.fromNullable(map.get(k))),
|
|
72
72
|
[Symbol.iterator]: () => map[Symbol.iterator](),
|
|
73
|
-
set: (k, v) => tsplus_module_3.sync(() => {
|
|
73
|
+
set: (k, v) => tsplus_module_3.Effect.sync(() => {
|
|
74
74
|
map.set(k, v);
|
|
75
75
|
})
|
|
76
76
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.cjs","names":["MO","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CouldNotAquireDbLockException","tsplus_module_1","TaggedError","constructor","type","id","error","message","exports","OptimisticLockException","ConnectionException","cause","_errorTag","SerializedDBRecord","Model","version","prop","string","timestamp","date","data","makeSerialisedDBRecord","s","props","number","getIndexName","getRecordName","makeMap","map","Map","find","k","tsplus_module_3","sync","tsplus_module_2","fromNullable","Symbol","iterator","v"],"sources":["../../../_src/services/simpledb/shared.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,EAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAwC,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,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGlC,MAAOY,6BACX,SAAQC,eAAA,CAAAC,
|
|
1
|
+
{"version":3,"file":"shared.cjs","names":["MO","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CouldNotAquireDbLockException","tsplus_module_1","Data","TaggedError","constructor","type","id","error","message","exports","OptimisticLockException","ConnectionException","cause","_errorTag","SerializedDBRecord","Model","version","prop","string","timestamp","date","data","makeSerialisedDBRecord","s","props","number","getIndexName","getRecordName","makeMap","map","Map","find","k","tsplus_module_3","Effect","sync","tsplus_module_2","Option","fromNullable","Symbol","iterator","v"],"sources":["../../../_src/services/simpledb/shared.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -10,10 +10,11 @@ exports.store = store;
|
|
|
10
10
|
exports.storeDirectly = storeDirectly;
|
|
11
11
|
var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect"));
|
|
12
12
|
var tsplus_module_2 = _interopRequireWildcard(require("effect/Context"));
|
|
13
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/Layer"));
|
|
14
|
-
var tsplus_module_4 = _interopRequireWildcard(require("
|
|
15
|
-
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/
|
|
13
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Layer.impl"));
|
|
14
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Effect.impl"));
|
|
15
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/EffectX"));
|
|
16
16
|
var tsplus_module_6 = _interopRequireWildcard(require("effect/Option"));
|
|
17
|
+
var tsplus_module_7 = _interopRequireWildcard(require("effect/Option.impl"));
|
|
17
18
|
var _shared = require("./shared.cjs");
|
|
18
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -28,7 +29,7 @@ exports.InvalidStateError = InvalidStateError;
|
|
|
28
29
|
function makeLiveRecordCache() {
|
|
29
30
|
const m = new Map();
|
|
30
31
|
return {
|
|
31
|
-
get: type => tsplus_module_1.sync(() => {
|
|
32
|
+
get: type => tsplus_module_1.Effect.sync(() => {
|
|
32
33
|
const ex = m.get(type);
|
|
33
34
|
if (!ex) {
|
|
34
35
|
const nm = (0, _shared.makeMap)();
|
|
@@ -41,44 +42,44 @@ function makeLiveRecordCache() {
|
|
|
41
42
|
}
|
|
42
43
|
// module tag
|
|
43
44
|
const RecordCache = exports.RecordCache = tsplus_module_2.Tag();
|
|
44
|
-
const LiveRecordCache = exports.LiveRecordCache = tsplus_module_3.effect(RecordCache)(tsplus_module_1.sync(() => makeLiveRecordCache()));
|
|
45
|
-
const getM = type => eff => tsplus_module_1.gen(function* ($) {
|
|
45
|
+
const LiveRecordCache = exports.LiveRecordCache = tsplus_module_3.effect(RecordCache)(tsplus_module_1.Effect.sync(() => makeLiveRecordCache()));
|
|
46
|
+
const getM = type => eff => tsplus_module_1.Effect.gen(function* ($) {
|
|
46
47
|
const {
|
|
47
48
|
get
|
|
48
49
|
} = yield* $(RecordCache);
|
|
49
|
-
return yield* $(
|
|
50
|
+
return yield* $(tsplus_module_4.flatMap(get(type), eff));
|
|
50
51
|
});
|
|
51
52
|
function find(tryRead, decode, type) {
|
|
52
53
|
const getCache = getM(type);
|
|
53
|
-
const read = id =>
|
|
54
|
+
const read = id => tsplus_module_5.mapOption(tsplus_module_5.tapOption(tsplus_module_5.flatMapOption(tryRead(id), ({
|
|
54
55
|
data,
|
|
55
56
|
version
|
|
56
|
-
}) =>
|
|
57
|
+
}) => tsplus_module_4.mapBoth(decode(data), {
|
|
57
58
|
onFailure: err => new InvalidStateError("DB serialisation Issue", err),
|
|
58
59
|
onSuccess: data => ({
|
|
59
60
|
data,
|
|
60
61
|
version
|
|
61
62
|
})
|
|
62
63
|
})), r => getCache(c => c.set(id, r))), r => r.data);
|
|
63
|
-
return id => getCache(c =>
|
|
64
|
+
return id => getCache(c => tsplus_module_4.orElse(tsplus_module_5.mapOption(c.find(id), existing => existing.data), () => read(id)));
|
|
64
65
|
}
|
|
65
66
|
function storeDirectly(save, type) {
|
|
66
67
|
const getCache = getM(type);
|
|
67
|
-
return record => getCache(c =>
|
|
68
|
+
return record => getCache(c => tsplus_module_4.map(tsplus_module_4.tap(tsplus_module_4.flatMap(tsplus_module_5.mapOption(c.find(record.id), x => x.version), cv => save(record, cv)), r => c.set(record.id, r)), r => r.data));
|
|
68
69
|
}
|
|
69
70
|
function store(tryRead, save, lock, type) {
|
|
70
71
|
const getCache = getM(type);
|
|
71
|
-
return record => getCache(c =>
|
|
72
|
-
onNone: () => save(record,
|
|
72
|
+
return record => getCache(c => tsplus_module_4.map(tsplus_module_4.tap(tsplus_module_4.flatMap(tsplus_module_5.mapOption(c.find(record.id), x => x.version), _ => tsplus_module_7.match(_, {
|
|
73
|
+
onNone: () => save(record, tsplus_module_6.Option.none()),
|
|
73
74
|
onSome: confirmVersionAndSave(record)
|
|
74
75
|
})), r => c.set(record.id, r)), r => r.data));
|
|
75
76
|
function confirmVersionAndSave(record) {
|
|
76
|
-
return cv =>
|
|
77
|
-
onNone: () => tsplus_module_1.fail(new InvalidStateError("record is gone")),
|
|
78
|
-
onSome: tsplus_module_1.succeed
|
|
77
|
+
return cv => tsplus_module_4.scoped(tsplus_module_4.zipRight(lock(record.id), tsplus_module_4.zipRight(tsplus_module_4.tap(tsplus_module_4.flatMap(tryRead(record.id), _ => tsplus_module_7.match(_, {
|
|
78
|
+
onNone: () => tsplus_module_1.Effect.fail(new InvalidStateError("record is gone")),
|
|
79
|
+
onSome: tsplus_module_1.Effect.succeed
|
|
79
80
|
})), ({
|
|
80
81
|
version
|
|
81
|
-
}) => version !== cv ? new _shared.OptimisticLockException(type, record.id) : tsplus_module_1.unit), save(record, tsplus_module_6.some(cv)))));
|
|
82
|
+
}) => version !== cv ? new _shared.OptimisticLockException(type, record.id) : tsplus_module_1.Effect.unit), save(record, tsplus_module_6.Option.some(cv)))));
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
//# sourceMappingURL=simpledb.cjs.map
|
|
@@ -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","Tag","LiveRecordCache","tsplus_module_3","effect","getM","eff","gen","$","flatMap","find","tryRead","decode","getCache","read","id","
|
|
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","Effect","sync","ex","nm","makeMap","RecordCache","tsplus_module_2","Tag","LiveRecordCache","tsplus_module_3","effect","getM","eff","gen","$","tsplus_module_4","flatMap","find","tryRead","decode","getCache","read","id","tsplus_module_5","mapOption","tapOption","flatMapOption","data","version","mapBoth","onFailure","err","onSuccess","c","orElse","existing","storeDirectly","save","record","map","tap","x","cv","store","lock","_","tsplus_module_7","match","onNone","tsplus_module_6","Option","none","onSome","confirmVersionAndSave","scoped","zipRight","fail","succeed","OptimisticLockException","unit","some"],"sources":["../../../_src/services/simpledb/simpledb.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export const scopes = Ex.classic(demandScopes)
|
|
|
42
42
|
)
|
|
43
43
|
return (
|
|
44
44
|
cfg.AUTH_DISABLED
|
|
45
|
-
? Effect(null)
|
|
45
|
+
? Effect.sync(() => null)
|
|
46
46
|
: // eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
47
47
|
handleJwt(req, res, () => scopes(req, res, () => {}))
|
|
48
48
|
).zipRight(
|
|
@@ -7,7 +7,7 @@ export function defaultBasicErrorHandler<R>(
|
|
|
7
7
|
res: express.Response,
|
|
8
8
|
r2: Effect<R, ValidationError, void>
|
|
9
9
|
) {
|
|
10
|
-
const sendError = (code: number) => (body: unknown) => Effect(res.status(code).send(body))
|
|
10
|
+
const sendError = (code: number) => (body: unknown) => Effect.sync(() => res.status(code).send(body))
|
|
11
11
|
return r2
|
|
12
12
|
.tapErrorCause((cause) => cause.isFailure() ? logRequestError(cause) : Effect.unit)
|
|
13
13
|
.catchTag("ValidationError", (err) => sendError(400)(err.errors))
|
|
@@ -33,7 +33,7 @@ export function defaultErrorHandler<R>(
|
|
|
33
33
|
const r3 = req.method === "PATCH"
|
|
34
34
|
? r2.retry(optimisticConcurrencySchedule)
|
|
35
35
|
: r2
|
|
36
|
-
const sendError = (code: number) => (body: unknown) => Effect(res.status(code).send(body))
|
|
36
|
+
const sendError = (code: number) => (body: unknown) => Effect.sync(() => res.status(code).send(body))
|
|
37
37
|
return r3
|
|
38
38
|
.tapErrorCause((cause) => cause.isFailure() ? logRequestError(cause) : Effect.unit)
|
|
39
39
|
.catchTags({
|
|
@@ -76,7 +76,7 @@ export function match<
|
|
|
76
76
|
h
|
|
77
77
|
)
|
|
78
78
|
).zipRight(
|
|
79
|
-
Effect(makeRouteDescriptor(r.Request.path, r.Request.method, r))
|
|
79
|
+
Effect.sync(() => makeRouteDescriptor(r.Request.path, r.Request.method, r))
|
|
80
80
|
)
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -180,14 +180,14 @@ export function handleRequest<
|
|
|
180
180
|
}))
|
|
181
181
|
// final catch all; expecting never so that unhandled known errors will show up
|
|
182
182
|
.catchAll((err: never) =>
|
|
183
|
-
Effect(
|
|
183
|
+
Effect.sync(() =>
|
|
184
184
|
console.error(
|
|
185
185
|
"Program error, compiler probably silenced, got an unsupported Error in Error Channel of Effect",
|
|
186
186
|
err
|
|
187
187
|
)
|
|
188
188
|
).flatMap(Effect.die)
|
|
189
189
|
)
|
|
190
|
-
// .tapCause(() => Effect(res.status(500).send()))
|
|
190
|
+
// .tapCause(() => Effect.sync(() => res.status(500).send()))
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
// Additional convenience helpers
|
|
@@ -242,7 +242,7 @@ export function get<
|
|
|
242
242
|
r,
|
|
243
243
|
h
|
|
244
244
|
)
|
|
245
|
-
).zipRight(Effect(makeRouteDescriptor(path, "GET", r)))
|
|
245
|
+
).zipRight(Effect.sync(() => makeRouteDescriptor(path, "GET", r)))
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
export function post<
|
|
@@ -295,7 +295,7 @@ export function post<
|
|
|
295
295
|
r,
|
|
296
296
|
h
|
|
297
297
|
)
|
|
298
|
-
).zipRight(Effect(makeRouteDescriptor(path, "POST", r)))
|
|
298
|
+
).zipRight(Effect.sync(() => makeRouteDescriptor(path, "POST", r)))
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
export function put<
|
|
@@ -348,7 +348,7 @@ export function put<
|
|
|
348
348
|
r,
|
|
349
349
|
h
|
|
350
350
|
)
|
|
351
|
-
).zipRight(Effect(makeRouteDescriptor(path, "PUT", r)))
|
|
351
|
+
).zipRight(Effect.sync(() => makeRouteDescriptor(path, "PUT", r)))
|
|
352
352
|
}
|
|
353
353
|
|
|
354
354
|
export function patch<
|
|
@@ -401,7 +401,7 @@ export function patch<
|
|
|
401
401
|
r,
|
|
402
402
|
h
|
|
403
403
|
)
|
|
404
|
-
).zipRight(Effect(makeRouteDescriptor(path, "PATCH", r)))
|
|
404
|
+
).zipRight(Effect.sync(() => makeRouteDescriptor(path, "PATCH", r)))
|
|
405
405
|
}
|
|
406
406
|
|
|
407
407
|
function del<
|
|
@@ -454,7 +454,7 @@ function del<
|
|
|
454
454
|
r,
|
|
455
455
|
h
|
|
456
456
|
)
|
|
457
|
-
).zipRight(Effect(makeRouteDescriptor(path, "DELETE", r)))
|
|
457
|
+
).zipRight(Effect.sync(() => makeRouteDescriptor(path, "DELETE", r)))
|
|
458
458
|
}
|
|
459
459
|
|
|
460
460
|
export { del as delete }
|