@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
|
@@ -7,9 +7,10 @@ var _exportNames = {
|
|
|
7
7
|
StoreMakerLive: true
|
|
8
8
|
};
|
|
9
9
|
exports.StoreMakerLive = StoreMakerLive;
|
|
10
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/ConfigSecret"));
|
|
10
|
+
var tsplus_module_1 = _interopRequireWildcard(require("effect/ConfigSecret.impl"));
|
|
11
11
|
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect"));
|
|
12
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/
|
|
12
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Effect.impl"));
|
|
13
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Layer.impl"));
|
|
13
14
|
var CosmosClient = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
|
|
14
15
|
var RedisClient = _interopRequireWildcard(require("@effect-app/infra-adapters/redis-client"));
|
|
15
16
|
var _redis = require("redis");
|
|
@@ -37,11 +38,11 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
37
38
|
* @tsplus static StoreMaker.Ops Live
|
|
38
39
|
*/
|
|
39
40
|
function StoreMakerLive(config) {
|
|
40
|
-
return
|
|
41
|
+
return tsplus_module_4.scoped(_service.StoreMaker)(tsplus_module_3.flatMap(tsplus_module_3.config(config), cfg => {
|
|
41
42
|
const storageUrl = tsplus_module_1.value(cfg.url);
|
|
42
43
|
if (storageUrl.startsWith("mem://")) {
|
|
43
44
|
console.log("Using in memory store");
|
|
44
|
-
return tsplus_module_2.sync(() => (0, _Memory.makeMemoryStore)());
|
|
45
|
+
return tsplus_module_2.Effect.sync(() => (0, _Memory.makeMemoryStore)());
|
|
45
46
|
}
|
|
46
47
|
if (storageUrl.startsWith("disk://")) {
|
|
47
48
|
const dir = storageUrl.replace("disk://", "");
|
|
@@ -50,10 +51,10 @@ function StoreMakerLive(config) {
|
|
|
50
51
|
}
|
|
51
52
|
if (storageUrl.startsWith("redis://")) {
|
|
52
53
|
console.log("Using Redis store");
|
|
53
|
-
return
|
|
54
|
+
return tsplus_module_3.flatMap(RedisClient.makeRedisClient(makeRedis(storageUrl)), client => tsplus_module_3.provideService((0, _Redis.makeRedisStore)(cfg), RedisClient.RedisClient, client));
|
|
54
55
|
}
|
|
55
56
|
console.log("Using Cosmos DB store");
|
|
56
|
-
return
|
|
57
|
+
return tsplus_module_3.flatMap(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName), client => tsplus_module_3.provideService((0, _Cosmos.makeCosmosStore)(cfg), CosmosClient.CosmosClient, client));
|
|
57
58
|
}));
|
|
58
59
|
}
|
|
59
60
|
function makeRedis(storageUrl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["CosmosClient","_interopRequireWildcard","require","RedisClient","_redis","_Cosmos","_Disk","_Memory","_Redis","_service","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","StoreMakerLive","config","
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["CosmosClient","_interopRequireWildcard","require","RedisClient","_redis","_Cosmos","_Disk","_Memory","_Redis","_service","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","n","__proto__","a","getOwnPropertyDescriptor","u","i","set","StoreMakerLive","config","tsplus_module_4","scoped","StoreMaker","tsplus_module_3","flatMap","cfg","storageUrl","tsplus_module_1","value","url","startsWith","console","log","tsplus_module_2","Effect","sync","makeMemoryStore","dir","replace","makeDiskStore","makeRedisClient","makeRedis","client","provideService","makeRedisStore","makeCosmosClient","dbName","makeCosmosStore","URL","hostname","password","createClient","host","port","auth_pass","tls","servername"],"sources":["../../../_src/services/Store/index.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ class StoreMaker extends tsplus_module_1.TagClass() {}
|
|
|
17
17
|
* @tsplus static ContextMap.Ops Make
|
|
18
18
|
*/
|
|
19
19
|
exports.StoreMaker = StoreMaker;
|
|
20
|
-
const makeMap = exports.makeMap = tsplus_module_2.sync(() => {
|
|
20
|
+
const makeMap = exports.makeMap = tsplus_module_2.Effect.sync(() => {
|
|
21
21
|
const etags = new Map();
|
|
22
22
|
const getEtag = id => etags.get(id);
|
|
23
23
|
const setEtag = (id, eTag) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.cjs","names":["StoreMaker","tsplus_module_1","TagClass","exports","makeMap","tsplus_module_2","sync","etags","Map","getEtag","id","get","setEtag","eTag","undefined","delete","set","parsedCache","parserCache","setAndReturn","p","np","parserEnv","lax","cache","getOrSetParser","i","getOrSet","getOrSetParsers","parsers","Object","entries","reduce","prev","k","v","parse","c","f","nf","ContextMap"],"sources":["../../../_src/services/Store/service.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAmFA;;;;AAIM,MAAgBA,UAAW,SAAQC,eAAA,CAAAC,QAAQ,EAAc;AAQ/D;;;AAAAC,OAAA,CAAAH,UAAA,GAAAA,UAAA;AAGO,MAAMI,OAAO,GAAAD,OAAA,CAAAC,OAAA,GAAGC,eAAA,CAAAC,
|
|
1
|
+
{"version":3,"file":"service.cjs","names":["StoreMaker","tsplus_module_1","TagClass","exports","makeMap","tsplus_module_2","Effect","sync","etags","Map","getEtag","id","get","setEtag","eTag","undefined","delete","set","parsedCache","parserCache","setAndReturn","p","np","parserEnv","lax","cache","getOrSetParser","i","getOrSet","getOrSetParsers","parsers","Object","entries","reduce","prev","k","v","parse","c","f","nf","ContextMap"],"sources":["../../../_src/services/Store/service.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAmFA;;;;AAIM,MAAgBA,UAAW,SAAQC,eAAA,CAAAC,QAAQ,EAAc;AAQ/D;;;AAAAC,OAAA,CAAAH,UAAA,GAAAA,UAAA;AAGO,MAAMI,OAAO,GAAAD,OAAA,CAAAC,OAAA,GAAGC,eAAA,CAAAC,MAAM,CAACC,IAAI,CAAC,MAAiB;EAClD,MAAMC,KAAK,GAAG,IAAIC,GAAG,EAAkB;EACvC,MAAMC,OAAO,GAAIC,EAAU,IAAKH,KAAK,CAACI,GAAG,CAACD,EAAE,CAAC;EAC7C,MAAME,OAAO,GAAGA,CAACF,EAAU,EAAEG,IAAwB,KAAI;IACvDA,IAAI,KAAKC,SAAS,GAAGP,KAAK,CAACQ,MAAM,CAACL,EAAE,CAAC,GAAGH,KAAK,CAACS,GAAG,CAACN,EAAE,EAAEG,IAAI,CAAC;EAC7D,CAAC;EAED,MAAMI,WAAW,GAAG,IAAIT,GAAG,EAGxB;EAEH,MAAMU,WAAW,GAAG,IAAIV,GAAG,EAGxB;EAEH,MAAMW,YAAY,GAAGA,CACnBC,CAAkB,EAClBC,EAA+B,KAC7B;IACFH,WAAW,CAACF,GAAG,CAACI,CAAC,EAAEC,EAAE,CAAC;IACtB,OAAOA,EAAE;EACX,CAAC;EAED,MAAMC,SAAS,GAAc;IAC3B;IACA;IACAC,GAAG,EAAE,KAAK;IACVC,KAAK,EAAE;MACLC,cAAc,EAAGL,CAAC,IAAKF,WAAW,CAACP,GAAG,CAACS,CAAC,CAAC,IAAID,YAAY,CAACC,CAAC,EAAGM,CAAC,IAAKJ,SAAS,CAACE,KAAM,CAACG,QAAQ,CAACD,CAAC,EAAEN,CAAC,CAAC,CAAC;MACpGQ,eAAe,EAAGC,OAAO,IAAI;QAC3B,OAAOC,MAAM,CAACC,OAAO,CAACF,OAAO,CAAC,CAACG,MAAM,CAAC,CAACC,IAAI,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAI;UACrDF,IAAI,CAACC,CAAC,CAAC,GAAGZ,SAAS,CAACE,KAAM,CAACC,cAAc,CAACU,CAAC,CAAC;UAC5C,OAAOF,IAAI;QACb,CAAC,EAAE,EAAS,CAAC;MACf,CAAC;MACDN,QAAQ,EAAEA,CAACD,CAAC,EAAEU,KAAK,KAAS;QAC1B,MAAMC,CAAC,GAAGpB,WAAW,CAACN,GAAG,CAACyB,KAAK,CAAC;QAChC,IAAIC,CAAC,EAAE;UACL,MAAMC,CAAC,GAAGD,CAAC,CAAC1B,GAAG,CAACe,CAAC,CAAC;UAClB,IAAIY,CAAC,EAAE;YACL;YACA,OAAOA,CAAC;UACV,CAAC,MAAM;YACL,MAAMC,EAAE,GAAGH,KAAK,CAACV,CAAC,EAAEJ,SAAS,CAAC;YAC9Be,CAAC,CAACrB,GAAG,CAACU,CAAC,EAAEa,EAAE,CAAC;YACZ,OAAOA,EAAE;UACX;QACF,CAAC,MAAM;UACL,MAAMA,EAAE,GAAGH,KAAK,CAACV,CAAC,EAAEJ,SAAS,CAAC;UAC9BL,WAAW,CAACD,GAAG,CAACoB,KAAK,EAAE,IAAI5B,GAAG,CAAC,CAAC,CAACkB,CAAC,EAAEa,EAAE,CAAC,CAAC,CAAC,CAAC;UAC1C,OAAOA,EAAE;QACX;MACF;;GAEH;EAED,OAAO;IACL5B,GAAG,EAAEF,OAAO;IACZO,GAAG,EAAEJ,OAAO;IACZU;GACD;AACH,CAAC,CAAC;AAEF;;;;AAIM,MAAgBkB,UAAW,SAAQxC,eAAA,CAAAC,QAAQ,EAAc;AAI9DC,OAAA,CAAAsC,UAAA,GAAAA,UAAA"}
|
|
@@ -7,10 +7,10 @@ exports.codeFilter = codeFilter;
|
|
|
7
7
|
exports.codeFilterJoinSelect = codeFilterJoinSelect;
|
|
8
8
|
exports.makeUpdateETag = exports.makeETag = void 0;
|
|
9
9
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect-app/prelude/_ext/misc"));
|
|
10
|
-
var tsplus_module_2 = _interopRequireWildcard(require("effect/Option"));
|
|
10
|
+
var tsplus_module_2 = _interopRequireWildcard(require("effect/Option.impl"));
|
|
11
11
|
var tsplus_module_3 = _interopRequireWildcard(require("effect/Effect"));
|
|
12
|
-
var tsplus_module_4 = _interopRequireWildcard(require("
|
|
13
|
-
var tsplus_module_5 = _interopRequireWildcard(require("effect/ReadonlyArray"));
|
|
12
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Option"));
|
|
13
|
+
var tsplus_module_5 = _interopRequireWildcard(require("effect/ReadonlyArray.impl"));
|
|
14
14
|
var _utils = require("@effect-app/prelude/utils");
|
|
15
15
|
var _errors = require("../../errors.cjs");
|
|
16
16
|
var _objectHash = _interopRequireDefault(require("object-hash"));
|
|
@@ -25,7 +25,7 @@ const makeETag = ({
|
|
|
25
25
|
_etag: (0, _objectHash.default)(e)
|
|
26
26
|
});
|
|
27
27
|
exports.makeETag = makeETag;
|
|
28
|
-
const makeUpdateETag = type => (e, current) => tsplus_module_3.gen(function* ($) {
|
|
28
|
+
const makeUpdateETag = type => (e, current) => tsplus_module_3.Effect.gen(function* ($) {
|
|
29
29
|
if (e._etag) {
|
|
30
30
|
yield* $(tsplus_module_1.encaseMaybeInEffect_(current, () => new _errors.OptimisticConcurrencyException({
|
|
31
31
|
type,
|
|
@@ -49,16 +49,16 @@ exports.makeUpdateETag = makeUpdateETag;
|
|
|
49
49
|
function codeFilter(filter) {
|
|
50
50
|
return x => filter.type === "startsWith"
|
|
51
51
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
|
-
? lowercaseIfString(x[filter.by]).startsWith(filter.value.toLowerCase()) ?
|
|
52
|
+
? lowercaseIfString(x[filter.by]).startsWith(filter.value.toLowerCase()) ? tsplus_module_4.Option.some(x) : tsplus_module_4.Option.none() : filter.type === "endsWith"
|
|
53
53
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
-
? lowercaseIfString(x[filter.by]).endsWith(filter.value.toLowerCase()) ?
|
|
54
|
+
? lowercaseIfString(x[filter.by]).endsWith(filter.value.toLowerCase()) ? tsplus_module_4.Option.some(x) : tsplus_module_4.Option.none() : filter.type === "contains"
|
|
55
55
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
56
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
57
|
-
? lowercaseIfString(x[filter.by]).includes(filter.value.toLowerCase()) ?
|
|
57
|
+
? lowercaseIfString(x[filter.by]).includes(filter.value.toLowerCase()) ? tsplus_module_4.Option.some(x) : tsplus_module_4.Option.none() : filter.type === "join_find" ? filter.keys.some(k => {
|
|
58
58
|
const value = (0, _utils.get)(x, k);
|
|
59
59
|
// we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
|
|
60
60
|
return value && value.some(v => compareCaseInsensitive(v[filter.valueKey], filter.value));
|
|
61
|
-
}) ?
|
|
61
|
+
}) ? tsplus_module_4.Option.some(x) : tsplus_module_4.Option.none()
|
|
62
62
|
// TODO: support mixed or/and
|
|
63
63
|
: filter.mode === "or" ? filter.where.some(p => {
|
|
64
64
|
const k = (0, _utils.get)(x, p.key);
|
|
@@ -91,7 +91,7 @@ function codeFilter(filter) {
|
|
|
91
91
|
case undefined:
|
|
92
92
|
return compareCaseInsensitive(k, p.value);
|
|
93
93
|
}
|
|
94
|
-
}) ?
|
|
94
|
+
}) ? tsplus_module_4.Option.some(x) : tsplus_module_4.Option.none() : filter.where.every(p => {
|
|
95
95
|
const k = (0, _utils.get)(x, p.key);
|
|
96
96
|
switch (p.t) {
|
|
97
97
|
case "in":
|
|
@@ -126,18 +126,18 @@ function codeFilter(filter) {
|
|
|
126
126
|
// TODO: or vs and
|
|
127
127
|
.some(_ => compareCaseInsensitive((0, _utils.get)(_, p.key.split(".-1.")[1]), p.value)) : compareCaseInsensitive(k, p.value);
|
|
128
128
|
}
|
|
129
|
-
}) ?
|
|
129
|
+
}) ? tsplus_module_4.Option.some(x) : tsplus_module_4.Option.none();
|
|
130
130
|
}
|
|
131
131
|
function codeFilterJoinSelect(filter) {
|
|
132
132
|
return x => tsplus_module_5.filterMap(filter.keys, k => {
|
|
133
133
|
const value = (0, _utils.get)(x, k);
|
|
134
134
|
// we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
|
|
135
|
-
return value ?
|
|
135
|
+
return value ? tsplus_module_4.Option.some(tsplus_module_5.filterMap(value, v =>
|
|
136
136
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
137
|
-
compareCaseInsensitive(v[filter.valueKey], filter.value) ?
|
|
137
|
+
compareCaseInsensitive(v[filter.valueKey], filter.value) ? tsplus_module_4.Option.some({
|
|
138
138
|
...v,
|
|
139
139
|
_rootId: x.id
|
|
140
|
-
}) : tsplus_module_4.none)) : tsplus_module_4.none;
|
|
140
|
+
}) : tsplus_module_4.Option.none())) : tsplus_module_4.Option.none();
|
|
141
141
|
}).flatMap(_ => _);
|
|
142
142
|
}
|
|
143
143
|
function lowercaseIfString(val) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","names":["_utils","require","_errors","_objectHash","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeETag","_etag","objectHash","exports","makeUpdateETag","type","current","tsplus_module_3","gen","$","tsplus_module_1","encaseMaybeInEffect_","OptimisticConcurrencyException","id","found","tsplus_module_2","isSome","value","newE","codeFilter","filter","x","lowercaseIfString","by","startsWith","toLowerCase","
|
|
1
|
+
{"version":3,"file":"utils.cjs","names":["_utils","require","_errors","_objectHash","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeETag","_etag","objectHash","exports","makeUpdateETag","type","current","tsplus_module_3","Effect","gen","$","tsplus_module_1","encaseMaybeInEffect_","OptimisticConcurrencyException","id","found","tsplus_module_2","isSome","value","newE","codeFilter","filter","x","lowercaseIfString","by","startsWith","toLowerCase","tsplus_module_4","Option","some","none","endsWith","includes","keys","k","v","compareCaseInsensitive","valueKey","mode","where","p","key","ltCaseInsensitive","lteCaseInsensitive","gtCaseInsensitive","gteCaseInsensitive","undefined","every","split","_","codeFilterJoinSelect","tsplus_module_5","filterMap","_rootId","flatMap","val","valA","valB"],"sources":["../../../_src/services/Store/utils.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -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.impl"));
|
|
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":"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"}
|
|
@@ -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.impl"));
|
|
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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"}
|