@effect-app/infra 0.83.11 → 0.84.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.content +2 -36
- package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.hash +1 -1
- package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.content +6 -24
- package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.hash +1 -1
- package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.content +40 -75
- package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.hash +1 -1
- package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.hash +1 -1
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.content +1 -3
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.hash +1 -1
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.content +1 -1
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.hash +1 -1
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.content +7 -15
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.hash +1 -1
- package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.hash +1 -1
- package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.hash +1 -1
- package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.hash +1 -1
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.content +1 -5
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.hash +1 -1
- package/CHANGELOG.md +23 -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 +4 -3
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +24 -22
- 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 +1 -1
- package/_cjs/api/routing.cjs +55 -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 +5 -4
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +11 -10
- 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 +4 -4
- 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 +13 -11
- 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 +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 +11 -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 +27 -25
- 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 +6 -5
- 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.js +4 -3
- package/dist/api/defaultErrorHandler.js +12 -11
- package/dist/api/express/makeJsonSchema.js +4 -3
- package/dist/api/express/makeOpenApiSpecs.js +5 -4
- package/dist/api/express/schema/requestHandler.d.ts +1 -1
- package/dist/api/express/schema/requestHandler.js +35 -33
- package/dist/api/express/schema/routing.d.ts +1 -1
- package/dist/api/express/schema/routing.js +23 -21
- package/dist/api/reportError.d.ts +3 -3
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +1 -1
- package/dist/api/routing.d.ts +2 -2
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +59 -57
- package/dist/api/setupRequest.d.ts +1 -1
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +4 -3
- package/dist/api/writeDocs.js +6 -5
- package/dist/errorReporter.js +12 -11
- package/dist/errors.d.ts +7 -7
- package/dist/errors.js +9 -9
- package/dist/filter.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 +5 -5
- 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.js +5 -5
- package/dist/rateLimit.d.ts +2 -2
- 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 +16 -14
- 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 +2 -2
- 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 +7 -7
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +1 -1
- package/dist/services/QueueMaker/errors.d.ts +4 -4
- 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 +1 -1
- package/dist/services/QueueMaker/memQueue.js +17 -16
- package/dist/services/QueueMaker/sbqueue.d.ts +2 -2
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +16 -15
- package/dist/services/Repository.d.ts +8 -8
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +18 -17
- package/dist/services/RepositoryBase.d.ts +24 -75
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +37 -35
- package/dist/services/RequestContextContainer.d.ts +4 -4
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +14 -13
- package/dist/services/Store/Cosmos.d.ts +2 -2
- 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 +2 -2
- 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 +3 -3
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +28 -26
- package/dist/services/Store/Redis.d.ts +2 -2
- 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 +7 -6
- package/dist/services/Store/service.d.ts +5 -5
- 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 +2 -2
- 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 +2 -2
- 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 +3 -3
- 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 +2 -2
- 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 +8 -8
- 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 +4 -4
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +16 -15
- package/package.json +5 -5
|
@@ -6,24 +6,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createContext = createContext;
|
|
7
7
|
var tsplus_module_1 = _interopRequireWildcard(require("effect/Data"));
|
|
8
8
|
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect"));
|
|
9
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/
|
|
10
|
-
var tsplus_module_4 = _interopRequireWildcard(require("effect/
|
|
9
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Effect.impl"));
|
|
10
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Option.impl"));
|
|
11
|
+
var tsplus_module_5 = _interopRequireWildcard(require("effect/Option"));
|
|
12
|
+
var tsplus_module_6 = _interopRequireWildcard(require("effect/ReadonlyArray.int"));
|
|
11
13
|
var _utils = require("@effect-app/core/utils");
|
|
12
14
|
var Cosmos = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
|
|
13
15
|
var _shared = require("./shared.cjs");
|
|
14
16
|
var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
|
|
15
17
|
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
18
|
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 CosmosDbOperationError extends tsplus_module_1.TaggedError("CosmosDbOperationError") {
|
|
19
|
+
class CosmosDbOperationError extends tsplus_module_1.Data.TaggedError("CosmosDbOperationError") {
|
|
18
20
|
constructor(message) {
|
|
19
21
|
super({
|
|
20
22
|
message
|
|
21
23
|
});
|
|
22
24
|
}
|
|
23
25
|
}
|
|
24
|
-
const setup = (type, indexingPolicy) =>
|
|
26
|
+
const setup = (type, indexingPolicy) => tsplus_module_3.tap(Cosmos.CosmosClient, ({
|
|
25
27
|
db
|
|
26
|
-
}) => tsplus_module_2.tryPromise(() => db.containers.create({
|
|
28
|
+
}) => tsplus_module_2.Effect.tryPromise(() => db.containers.create({
|
|
27
29
|
id: type,
|
|
28
30
|
indexingPolicy
|
|
29
31
|
}).catch(err => console.warn(err))));
|
|
@@ -33,15 +35,15 @@ function createContext() {
|
|
|
33
35
|
return (type, encode, decode,
|
|
34
36
|
// schemaVersion: string,
|
|
35
37
|
indexes) => {
|
|
36
|
-
return
|
|
38
|
+
return tsplus_module_3.map(setup(type, indexes), () => ({
|
|
37
39
|
find: simpledb.find(find, decode, type),
|
|
38
40
|
findBy,
|
|
39
41
|
save: simpledb.storeDirectly(store, type)
|
|
40
42
|
}));
|
|
41
43
|
function find(id) {
|
|
42
|
-
return
|
|
44
|
+
return tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.flatMap(Cosmos.CosmosClient, ({
|
|
43
45
|
db
|
|
44
|
-
}) => tsplus_module_2.tryPromise(() => db.container(type).item(id).read())), i =>
|
|
46
|
+
}) => tsplus_module_2.Effect.tryPromise(() => db.container(type).item(id).read())), i => tsplus_module_5.Option.fromNullable(i.resource)), _ => tsplus_module_4.map(_, ({
|
|
45
47
|
_etag,
|
|
46
48
|
data
|
|
47
49
|
}) => ({
|
|
@@ -50,9 +52,9 @@ function createContext() {
|
|
|
50
52
|
})));
|
|
51
53
|
}
|
|
52
54
|
function findBy(parameters) {
|
|
53
|
-
return
|
|
55
|
+
return tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.flatMap(Cosmos.CosmosClient, ({
|
|
54
56
|
db
|
|
55
|
-
}) => tsplus_module_2.tryPromise(() => db.container(type).items.query({
|
|
57
|
+
}) => tsplus_module_2.Effect.tryPromise(() => db.container(type).items.query({
|
|
56
58
|
query: `
|
|
57
59
|
SELECT TOP 1 ${type}.id
|
|
58
60
|
FROM ${type} i
|
|
@@ -64,22 +66,22 @@ WHERE (
|
|
|
64
66
|
name: `@${p}`,
|
|
65
67
|
value: parameters[p]
|
|
66
68
|
}))
|
|
67
|
-
}).fetchAll())), x =>
|
|
69
|
+
}).fetchAll())), x => tsplus_module_6.head(x.resources)), _ => tsplus_module_4.map(_, _ => _.id));
|
|
68
70
|
}
|
|
69
71
|
function store(record, currentVersion) {
|
|
70
|
-
return tsplus_module_2.gen(function* ($) {
|
|
72
|
+
return tsplus_module_2.Effect.gen(function* ($) {
|
|
71
73
|
const version = "_etag"; // we get this from the etag anyway.
|
|
72
74
|
const {
|
|
73
75
|
db
|
|
74
76
|
} = yield* $(Cosmos.CosmosClient);
|
|
75
77
|
const data = yield* $(encode(record));
|
|
76
|
-
yield* $(
|
|
77
|
-
onNone: () =>
|
|
78
|
+
yield* $(tsplus_module_4.match(currentVersion, {
|
|
79
|
+
onNone: () => tsplus_module_3.orDie(tsplus_module_3.asUnit(tsplus_module_2.Effect.tryPromise(() => db.container(type).items.create({
|
|
78
80
|
id: record.id,
|
|
79
81
|
timestamp: new Date(),
|
|
80
82
|
data
|
|
81
83
|
})))),
|
|
82
|
-
onSome: currentVersion =>
|
|
84
|
+
onSome: currentVersion => tsplus_module_3.flatMap(tsplus_module_3.orDie(tsplus_module_2.Effect.tryPromise(() => db.container(type).item(record.id).replace({
|
|
83
85
|
id: record.id,
|
|
84
86
|
timestamp: new Date(),
|
|
85
87
|
data
|
|
@@ -93,9 +95,9 @@ WHERE (
|
|
|
93
95
|
return new _shared.OptimisticLockException(type, record.id);
|
|
94
96
|
}
|
|
95
97
|
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
96
|
-
return tsplus_module_2.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
|
|
98
|
+
return tsplus_module_2.Effect.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
|
|
97
99
|
}
|
|
98
|
-
return tsplus_module_2.unit;
|
|
100
|
+
return tsplus_module_2.Effect.unit;
|
|
99
101
|
})
|
|
100
102
|
}));
|
|
101
103
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmosdb.cjs","names":["_utils","require","Cosmos","_interopRequireWildcard","_shared","simpledb","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CosmosDbOperationError","tsplus_module_1","TaggedError","constructor","message","setup","type","indexingPolicy","
|
|
1
|
+
{"version":3,"file":"cosmosdb.cjs","names":["_utils","require","Cosmos","_interopRequireWildcard","_shared","simpledb","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CosmosDbOperationError","tsplus_module_1","Data","TaggedError","constructor","message","setup","type","indexingPolicy","tsplus_module_3","tap","CosmosClient","db","tsplus_module_2","Effect","tryPromise","containers","create","id","catch","err","console","warn","createContext","encode","decode","indexes","map","find","findBy","save","storeDirectly","store","flatMap","container","item","read","tsplus_module_5","Option","fromNullable","resource","_","tsplus_module_4","_etag","data","version","parameters","items","query","typedKeysOf","k","join","p","name","value","fetchAll","x","tsplus_module_6","head","resources","record","currentVersion","gen","$","match","onNone","orDie","asUnit","timestamp","Date","onSome","replace","accessCondition","condition","statusCode","OptimisticLockException","die","unit"],"sources":["../../../_src/services/simpledb/cosmosdb.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -5,9 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.createContext = createContext;
|
|
7
7
|
exports.initialise = initialise;
|
|
8
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/Option"));
|
|
9
|
-
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect"));
|
|
10
|
-
var tsplus_module_3 = _interopRequireWildcard(require("
|
|
8
|
+
var tsplus_module_1 = _interopRequireWildcard(require("effect/Option.impl"));
|
|
9
|
+
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect.impl"));
|
|
10
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Effect"));
|
|
11
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Option"));
|
|
11
12
|
var _Function = require("@effect-app/core/Function");
|
|
12
13
|
var _fs = _interopRequireDefault(require("fs"));
|
|
13
14
|
var PLF = _interopRequireWildcard(require("proper-lockfile"));
|
|
@@ -39,7 +40,7 @@ function createContext() {
|
|
|
39
40
|
data
|
|
40
41
|
})));
|
|
41
42
|
const idx = makeIndexKey(record);
|
|
42
|
-
return tsplus_module_1.isSome(currentVersion) ? tsplus_module_2.map(tsplus_module_2.scoped(tsplus_module_2.zipRight(lockIndex(record), tsplus_module_2.orDie(tsplus_module_2.flatMap(readIndex(idx), x => x[record.id] ?
|
|
43
|
+
return tsplus_module_1.isSome(currentVersion) ? tsplus_module_2.map(tsplus_module_2.scoped(tsplus_module_2.zipRight(lockIndex(record), tsplus_module_2.orDie(tsplus_module_2.flatMap(readIndex(idx), x => x[record.id] ? tsplus_module_3.Effect.fail(() => new Error("Combination already exists, abort")) : tsplus_module_2.zipRight(tsplus_module_2.flatMap(getData(record), serialised => fu.writeTextFile(getFilename(type, record.id), serialised)), writeIndex(idx, {
|
|
43
44
|
...x,
|
|
44
45
|
[idx.key]: record.id
|
|
45
46
|
})))))), () => ({
|
|
@@ -79,7 +80,7 @@ function createContext() {
|
|
|
79
80
|
}), l => l.release);
|
|
80
81
|
}
|
|
81
82
|
function readFile(filePath) {
|
|
82
|
-
return tsplus_module_2.catchAll(fu.readTextFile(filePath), err =>
|
|
83
|
+
return tsplus_module_2.catchAll(fu.readTextFile(filePath), err => tsplus_module_3.Effect.die(new _shared.ConnectionException(err)));
|
|
83
84
|
}
|
|
84
85
|
function find(type) {
|
|
85
86
|
return id => {
|
|
@@ -87,7 +88,7 @@ function createContext() {
|
|
|
87
88
|
};
|
|
88
89
|
}
|
|
89
90
|
function getIdx(index) {
|
|
90
|
-
return tsplus_module_2.map(readIndex(index), idx =>
|
|
91
|
+
return tsplus_module_2.map(readIndex(index), idx => tsplus_module_4.Option.fromNullable(idx[index.key]));
|
|
91
92
|
}
|
|
92
93
|
function readIndex(index) {
|
|
93
94
|
return tsplus_module_2.map(tryRead(getIdxName(type, index.doc)), _ => tsplus_module_1.match(_, {
|
|
@@ -99,7 +100,7 @@ function createContext() {
|
|
|
99
100
|
return (0, _Function.pipe)(JSON.stringify(content), serialised => fu.writeTextFile(getIdxName(type, index.doc), serialised));
|
|
100
101
|
}
|
|
101
102
|
function tryRead(filePath) {
|
|
102
|
-
return tsplus_module_2.flatMap(fu.fileExists(filePath), exists => !exists ?
|
|
103
|
+
return tsplus_module_2.flatMap(fu.fileExists(filePath), exists => !exists ? tsplus_module_3.Effect.sync(() => tsplus_module_4.Option.none()) : tsplus_module_2.map(readFile(filePath), tsplus_module_4.Option.some));
|
|
103
104
|
}
|
|
104
105
|
function getFilename(type, id) {
|
|
105
106
|
return `${dir}/v${schemaVersion}.${(0, _shared.getRecordName)(type, id)}.json`;
|
|
@@ -110,7 +111,7 @@ function createContext() {
|
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
113
|
function lockFile(fileName) {
|
|
113
|
-
return
|
|
114
|
+
return tsplus_module_3.Effect.tryPromise(() => PLF.lock(fileName).then((0, _Function.flow)(tsplus_module_3.Effect.tryPromise, _ => tsplus_module_2.orDie(_))));
|
|
114
115
|
}
|
|
115
116
|
// TODO: ugh.
|
|
116
117
|
let initialised = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskdb.cjs","names":["_Function","require","_fs","_interopRequireDefault","PLF","_interopRequireWildcard","_utils","fu","_shared","simpledb","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","createContext","type","encode","decode","schemaVersion","makeIndexKey","dir","initialise","globalLock","typeLockKey","getIdxName","fs","existsSync","writeFileSync","find","findByIndex","getIdx","save","store","lockRecordOnDisk","record","currentVersion","version","tsplus_module_1","getOrElse","map","cv","parseInt","toString","getData","flow","_","tsplus_module_2","data","pretty","timestamp","Date","idx","isSome","scoped","zipRight","lockIndex","orDie","flatMap","readIndex","x","id","fail","Error","serialised","writeTextFile","getFilename","writeIndex","key","index","lockDiskIndex","lockKey","lockIndexOnDisk","acquireRelease","mapBoth","lockFile","onFailure","err","CouldNotAquireDbLockException","onSuccess","release","l","readFile","filePath","catchAll","readTextFile","die","ConnectionException","tryRead","s","JSON","parse","fromNullable","doc","match","onNone","onSome","content","pipe","stringify","fileExists","exists","sync","
|
|
1
|
+
{"version":3,"file":"diskdb.cjs","names":["_Function","require","_fs","_interopRequireDefault","PLF","_interopRequireWildcard","_utils","fu","_shared","simpledb","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","createContext","type","encode","decode","schemaVersion","makeIndexKey","dir","initialise","globalLock","typeLockKey","getIdxName","fs","existsSync","writeFileSync","find","findByIndex","getIdx","save","store","lockRecordOnDisk","record","currentVersion","version","tsplus_module_1","getOrElse","map","cv","parseInt","toString","getData","flow","_","tsplus_module_2","data","pretty","timestamp","Date","idx","isSome","scoped","zipRight","lockIndex","orDie","flatMap","readIndex","x","id","tsplus_module_3","Effect","fail","Error","serialised","writeTextFile","getFilename","writeIndex","key","index","lockDiskIndex","lockKey","lockIndexOnDisk","acquireRelease","mapBoth","lockFile","onFailure","err","CouldNotAquireDbLockException","onSuccess","release","l","readFile","filePath","catchAll","readTextFile","die","ConnectionException","tryRead","s","JSON","parse","tsplus_module_4","Option","fromNullable","doc","match","onNone","onSome","content","pipe","stringify","fileExists","exists","sync","none","some","getRecordName","getIndexName","fileName","tryPromise","lock","then","initialised","mkdirSync"],"sources":["../../../_src/services/simpledb/diskdb.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,GAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,EAAA,GAAAF,uBAAA,CAAAJ,OAAA;AAEA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAJ,uBAAA,CAAAJ,OAAA;AAAyC,SAAAE,uBAAAO,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,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,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,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,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAGnC,SAAUY,aAAaA,CAAA;EAC3B,OAAO,CACLC,IAAY,EACZC,MAAiD,EACjDC,MAA8C,EAC9CC,aAAqB,EACrBC,YAA6B,EAC7BC,GAAG,GAAG,WAAW,KACf;IACFC,UAAU,CAACD,GAAG,CAAC;IACf,MAAME,UAAU,GAAG,aAAa;IAChC,MAAMC,WAAW,GAAGC,UAAU,CAACT,IAAI,EAAEO,UAAU,CAAC;IAChD,IAAI,CAACG,WAAE,CAACC,UAAU,CAACH,WAAW,CAAC,EAAE;MAC/BE,WAAE,CAACE,aAAa,CAACJ,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC;IAC5C;IAEA,OAAO;MACLK,IAAI,EAAErC,QAAQ,CAACqC,IAAI,CAACA,IAAI,CAACb,IAAI,CAAC,EAAEE,MAAM,EAAEF,IAAI,CAAC;MAC7Cc,WAAW,EAAEC,MAAM;MACnBC,IAAI,EAAExC,QAAQ,CAACyC,KAAK,CAACJ,IAAI,CAACb,IAAI,CAAC,EAAEiB,KAAK,EAAEC,gBAAgB,CAAClB,IAAI,CAAC,EAAEA,IAAI;KACrE;IAED,SAASiB,KAAKA,CAACE,MAAS,EAAEC,cAA+B;MACvD,MAAMC,OAAO,GAAGC,eAAA,CAAAC,SAAA,CAAAD,eAAA,CAAAE,GAAA,CAAAJ,cAAc,EACtBK,EAAE,IAAK,CAACC,QAAQ,CAACD,EAAE,CAAC,GAAG,CAAC,EAAEE,QAAQ,EAAE,CAAC,EAChC,MAAM,GAAG,CAAC;MACvB,MAAMC,OAAO,GAAG,IAAAC,cAAI,EAClB5B,MAAM,EACL6B,CAAC,IAAKC,eAAA,CAAAP,GAAA,CAAAM,CAAC,EAAME,IAAI,IAAK,IAAAC,aAAM,EAAC;QAAEZ,OAAO;QAAEa,SAAS,EAAE,IAAIC,IAAI,EAAE;QAAEH;MAAI,CAAE,CAAC,CAAC,CACzE;MAED,MAAMI,GAAG,GAAGhC,YAAY,CAACe,MAAM,CAAC;MAChC,OAAOG,eAAA,CAAAe,MAAA,CAAAjB,cAAc,CAAS,GAC1BW,eAAA,CAAAP,GAAA,CAAAO,eAAA,CAAAO,MAAA,CAAAP,eAAA,CAAAQ,QAAA,CAAAC,SAAS,CAACrB,MAAM,CAAC,EAAAY,eAAA,CAAAU,KAAA,CAEfV,eAAA,CAAAW,OAAA,CAAAC,SAAS,CAACP,GAAG,CAAC,EACFQ,CAAC,IACTA,CAAC,CAACzB,MAAM,CAAC0B,EAAE,CAAC,GACRC,eAAA,CAAAC,MAAM,CAACC,IAAI,CAAC,MAAM,IAAIC,KAAK,CAAC,mCAAmC,CAAC,CAAC,GACjElB,eAAA,CAAAQ,QAAA,CAAAR,eAAA,CAAAW,OAAA,CAAAd,OAAO,CAACT,MAAM,CAAC,EACL+B,UAAU,IAAK5E,EAAE,CAAC6E,aAAa,CAACC,WAAW,CAACpD,IAAI,EAAEmB,MAAM,CAAC0B,EAAE,CAAC,EAAEK,UAAU,CAAC,CAAC,EAC1EG,UAAU,CAACjB,GAAG,EAAE;QAAE,GAAGQ,CAAC;QAAE,CAACR,GAAG,CAACkB,GAAG,GAAGnC,MAAM,CAAC0B;MAAE,CAAE,CAAC,CAAC,CAC/D,EAEJ,GAEI,OAAO;QAAExB,OAAO;QAAEW,IAAI,EAAEb;MAAM,CAAsB,EAAC,GAC1DY,eAAA,CAAAP,GAAA,CAAAO,eAAA,CAAAW,OAAA,CAAAd,OAAO,CAACT,MAAM,CAAC,EACL+B,UAAU,IAAK5E,EAAE,CAAC6E,aAAa,CAACC,WAAW,CAACpD,IAAI,EAAEmB,MAAM,CAAC0B,EAAE,CAAC,EAAEK,UAAU,CAAC,CAAC,EAC/E,OAAO;QAAE7B,OAAO;QAAEW,IAAI,EAAEb;MAAM,CAAsB,EAAC;IAChE;IAEA,SAASqB,SAASA,CAACrB,MAAS;MAC1B,MAAMoC,KAAK,GAAGnD,YAAY,CAACe,MAAM,CAAC;MAClC,OAAOqC,aAAa,CAACD,KAAK,CAAC;IAC7B;IAEA,SAASC,aAAaA,CAAC1B,CAAQ;MAC7B;;;MAGA;MACA,MAAM2B,OAAO,GAAGlD,UAAU;MAC1B,OAAOmD,eAAe,CAAC1D,IAAI,CAAC,CAACyD,OAAO,CAAC;IACvC;IAEA,SAASvC,gBAAgBA,CAAClB,IAAY;MACpC,OAAQ6C,EAAU,IAChBd,eAAA,CAAA4B,cAAA,CAAA5B,eAAA,CAAA6B,OAAA,CAAAC,QAAQ,CAACT,WAAW,CAACpD,IAAI,EAAE6C,EAAE,CAAC,CAAC,EACpB;QACPiB,SAAS,EAAGC,GAAG,IAAK,IAAIC,qCAA6B,CAAChE,IAAI,EAAE6C,EAAE,EAAEkB,GAAY,CAAC;QAC7EE,SAAS,EAAGC,OAAO,KAAM;UAAEA;QAAO,CAAE;OACrC,CAAC,EAECC,CAAC,IAAKA,CAAC,CAACD,OAAO,CACjB;IACP;IAEA,SAASR,eAAeA,CAAC1D,IAAY;MACnC,OAAQ6C,EAAU,IAChBd,eAAA,CAAA4B,cAAA,CAAA5B,eAAA,CAAA6B,OAAA,CAAAC,QAAQ,CAACpD,UAAU,CAACT,IAAI,EAAE6C,EAAE,CAAC,CAAC,EACnB;QACPiB,SAAS,EAAGC,GAAG,IAAK,IAAIC,qCAA6B,CAAChE,IAAI,EAAE6C,EAAE,EAAEkB,GAAY,CAAC;QAC7EE,SAAS,EAAGC,OAAO,KAAM;UAAEA;QAAO,CAAE;OACrC,CAAC,EAECC,CAAC,IAAKA,CAAC,CAACD,OAAO,CACjB;IACP;IAEA,SAASE,QAAQA,CAACC,QAAgB;MAChC,OAAOtC,eAAA,CAAAuC,QAAA,CAAAhG,EAAE,CACNiG,YAAY,CAACF,QAAQ,CAAC,EACZN,GAAG,IAAKjB,eAAA,CAAAC,MAAM,CAACyB,GAAG,CAAC,IAAIC,2BAAmB,CAACV,GAAY,CAAC,CAAC,CAAC;IACzE;IAEA,SAASlD,IAAIA,CAACb,IAAY;MACxB,OAAQ6C,EAAU,IAAI;QACpB,OAAOd,eAAA,CAAAP,GAAA,CAAAkD,OAAO,CAACtB,WAAW,CAACpD,IAAI,EAAE6C,EAAE,CAAC,CAAC,EAClCf,CAAC,IAAKR,eAAA,CAAAE,GAAA,CAAAM,CAAC,EAAM6C,CAAC,IAAKC,IAAI,CAACC,KAAK,CAACF,CAAC,CAAqB,CAAC,CACvD;MACH,CAAC;IACH;IAEA,SAAS5D,MAAMA,CAACwC,KAAY;MAC1B,OAAOxB,eAAA,CAAAP,GAAA,CAAAmB,SAAS,CAACY,KAAK,CAAC,EAAMnB,GAAG,IAAK0C,eAAA,CAAAC,MAAM,CAACC,YAAY,CAAC5C,GAAG,CAACmB,KAAK,CAACD,GAAG,CAAC,CAAC,CAAC;IAC3E;IAEA,SAASX,SAASA,CAACY,KAAY;MAC7B,OAAOxB,eAAA,CAAAP,GAAA,CAAAkD,OAAO,CAACjE,UAAU,CAACT,IAAI,EAAEuD,KAAK,CAAC0B,GAAG,CAAC,CAAC,EACxCnD,CAAC,IACAR,eAAA,CAAA4D,KAAA,CAAApD,CAAC,EACC;QAAEqD,MAAM,EAAEA,CAAA,MAAO,EAA2B;QAAEC,MAAM,EAAGxC,CAAC,IAAKgC,IAAI,CAACC,KAAK,CAACjC,CAAC;MAAyB,CAAE,CACrG,CACJ;IACH;IAEA,SAASS,UAAUA,CAACE,KAAY,EAAE8B,OAA6B;MAC7D,OAAO,IAAAC,cAAI,EAACV,IAAI,CAACW,SAAS,CAACF,OAAO,CAAC,EAAGnC,UAAU,IAAK5E,EAAE,CAAC6E,aAAa,CAAC1C,UAAU,CAACT,IAAI,EAAEuD,KAAK,CAAC0B,GAAG,CAAC,EAAE/B,UAAU,CAAC,CAAC;IACjH;IAEA,SAASwB,OAAOA,CAACL,QAAgB;MAC/B,OAAOtC,eAAA,CAAAW,OAAA,CAAApE,EAAE,CACNkH,UAAU,CAACnB,QAAQ,CAAC,EACXoB,MAAM,IAAK,CAACA,MAAM,GAAG3C,eAAA,CAAAC,MAAM,CAAC2C,IAAI,CAAC,MAAMZ,eAAA,CAAAC,MAAM,CAACY,IAAI,EAAE,CAAC,GAAG5D,eAAA,CAAAP,GAAA,CAAA4C,QAAQ,CAACC,QAAQ,CAAC,EAAKS,eAAA,CAAAC,MAAM,CAACa,IAAI,CAAC,CAAC;IAC1G;IAEA,SAASxC,WAAWA,CAACpD,IAAY,EAAE6C,EAAU;MAC3C,OAAO,GAAGxC,GAAG,KAAKF,aAAa,IAAI,IAAA0F,qBAAa,EAAC7F,IAAI,EAAE6C,EAAE,CAAC,OAAO;IACnE;IAEA,SAASpC,UAAUA,CAACT,IAAY,EAAE6C,EAAU;MAC1C,OAAO,GAAGxC,GAAG,KAAKF,aAAa,IAAI,IAAA2F,oBAAY,EAAC9F,IAAI,EAAE6C,EAAE,CAAC,OAAO;IAClE;EACF,CAAC;AACH;AAEA,SAASgB,QAAQA,CAACkC,QAAgB;EAChC,OAAOjD,eAAA,CAAAC,MAAM,CAACiD,UAAU,CAAC,MAAM7H,GAAG,CAAC8H,IAAI,CAACF,QAAQ,CAAC,CAACG,IAAI,CAAC,IAAArE,cAAI,EAACiB,eAAA,CAAAC,MAAM,CAACiD,UAAU,EAAGlE,CAAC,IAAIC,eAAA,CAAAU,KAAA,CAACX,CAAC,CAAM,CAAC,CAAC,CAAC;AAClG;AAEA;AACA,IAAIqE,WAAW,GAAG,KAAK;AACjB,SAAU7F,UAAUA,CAACD,GAAW;EACpC,IAAI8F,WAAW,EAAE;IACf;EACF;EAEA,IAAI,CAACzF,WAAE,CAACC,UAAU,CAACN,GAAG,CAAC,EAAE;IACvBK,WAAE,CAAC0F,SAAS,CAAC/F,GAAG,CAAC;EACnB;EACA8F,WAAW,GAAG,IAAI;AACpB"}
|
|
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createContext = createContext;
|
|
7
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/Option"));
|
|
8
|
-
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect"));
|
|
9
|
-
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/
|
|
10
|
-
var tsplus_module_4 = _interopRequireWildcard(require("effect/
|
|
7
|
+
var tsplus_module_1 = _interopRequireWildcard(require("effect/Option.impl"));
|
|
8
|
+
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect.impl"));
|
|
9
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/EffectX"));
|
|
10
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Option"));
|
|
11
|
+
var tsplus_module_5 = _interopRequireWildcard(require("effect/Effect"));
|
|
12
|
+
var tsplus_module_6 = _interopRequireWildcard(require("effect/Exit.int"));
|
|
11
13
|
var _Function = require("@effect-app/core/Function");
|
|
12
14
|
var MO = _interopRequireWildcard(require("@effect-app/schema"));
|
|
13
15
|
var _shared = require("./shared.cjs");
|
|
@@ -36,7 +38,7 @@ function createContext() {
|
|
|
36
38
|
}
|
|
37
39
|
function findBy(keys, eq) {
|
|
38
40
|
// Naive implementation, fine for in memory testing purposes.
|
|
39
|
-
return tsplus_module_2.map(
|
|
41
|
+
return tsplus_module_2.map(tsplus_module_5.Effect.gen(function* ($) {
|
|
40
42
|
for (const [, value] of storage) {
|
|
41
43
|
const sdb_ = JSON.parse(value);
|
|
42
44
|
const sdb = yield* $(parseSDB(sdb_));
|
|
@@ -44,13 +46,13 @@ function createContext() {
|
|
|
44
46
|
data: JSON.parse(sdb.data),
|
|
45
47
|
version: sdb.version
|
|
46
48
|
};
|
|
47
|
-
const r = yield* $(tsplus_module_2.exit(tsplus_module_2.flatMap(decode(cr.data), d => eq(keys, d) ?
|
|
48
|
-
if (
|
|
49
|
+
const r = yield* $(tsplus_module_2.exit(tsplus_module_2.flatMap(decode(cr.data), d => eq(keys, d) ? tsplus_module_5.Effect.sync(() => d) : tsplus_module_5.Effect.fail("not equals"))));
|
|
50
|
+
if (tsplus_module_6.isSuccess(r)) {
|
|
49
51
|
return r.value;
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
return null;
|
|
53
|
-
}),
|
|
55
|
+
}), tsplus_module_4.Option.fromNullable);
|
|
54
56
|
}
|
|
55
57
|
function store(record, currentVersion) {
|
|
56
58
|
const version = tsplus_module_1.getOrElse(tsplus_module_1.map(currentVersion, cv => (parseInt(cv) + 1).toString()), () => "1");
|
|
@@ -67,6 +69,6 @@ function createContext() {
|
|
|
67
69
|
};
|
|
68
70
|
}
|
|
69
71
|
function bogusLock() {
|
|
70
|
-
return tsplus_module_2.acquireRelease(
|
|
72
|
+
return tsplus_module_2.acquireRelease(tsplus_module_5.Effect.unit, () => tsplus_module_5.Effect.unit);
|
|
71
73
|
}
|
|
72
74
|
//# sourceMappingURL=memdb.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memdb.cjs","names":["_Function","require","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","storage","makeMap","parseSDB","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","findBy","save","store","bogusLock","id","tsplus_module_3","mapOption","flatMapOption","tsplus_module_2","map","getRecordName","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","gen","$","value","sdb_","sdb","cr","exit","flatMap","d","sync","fail","
|
|
1
|
+
{"version":3,"file":"memdb.cjs","names":["_Function","require","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","storage","makeMap","parseSDB","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","findBy","save","store","bogusLock","id","tsplus_module_3","mapOption","flatMapOption","tsplus_module_2","map","getRecordName","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","tsplus_module_5","Effect","gen","$","value","sdb_","sdb","cr","exit","flatMap","d","sync","fail","tsplus_module_6","isSuccess","tsplus_module_4","Option","fromNullable","record","currentVersion","getOrElse","cv","parseInt","toString","getData","flow","stringify","timestamp","Date","serialised","acquireRelease","unit"],"sources":["../../../_src/services/simpledb/memdb.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -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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"}
|