@effect-app/infra 0.85.0-next.4 → 0.85.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 +5 -32
- package/_cjs/_ext/Array.cjs +2 -3
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +10 -11
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +2 -3
- 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 -6
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +22 -23
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +2 -2
- package/_cjs/api/setupRequest.cjs +4 -5
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +4 -6
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +11 -12
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +8 -8
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/instrument.cjs +1 -2
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +10 -11
- 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 +7 -8
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +12 -14
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +4 -5
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +29 -31
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +5 -6
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +6 -7
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +17 -18
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +15 -16
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +16 -17
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +33 -35
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +20 -15
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +46 -49
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +18 -19
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +39 -43
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +14 -16
- 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 -7
- 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 +17 -19
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +8 -9
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +9 -11
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +18 -20
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +10 -11
- 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 +17 -18
- 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/routing.ts +59 -37
- package/_src/api/setupRequest.ts +11 -10
- 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 +10 -11
- package/_src/services/RepositoryBase.ts +8 -11
- package/_src/services/RequestContextContainer.ts +12 -7
- package/_src/services/Store/Cosmos.ts +12 -17
- 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 +4 -4
- package/dist/_ext/Array.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +3 -4
- 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 +11 -13
- 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 +3 -4
- package/dist/api/express/makeOpenApiSpecs.d.ts +1 -1
- package/dist/api/express/makeOpenApiSpecs.js +5 -7
- package/dist/api/express/schema/routing.d.ts +22 -7
- package/dist/api/express/schema/routing.d.ts.map +1 -1
- package/dist/api/express/schema/routing.js +23 -24
- 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/setupRequest.d.ts +2 -2
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +7 -7
- package/dist/api/writeDocs.d.ts +1 -1
- package/dist/api/writeDocs.d.ts.map +1 -1
- package/dist/api/writeDocs.js +5 -7
- package/dist/errorReporter.d.ts +3 -3
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +12 -13
- package/dist/errors.d.ts +7 -7
- package/dist/errors.js +9 -9
- package/dist/instrument.d.ts +1 -1
- package/dist/instrument.d.ts.map +1 -1
- package/dist/instrument.js +2 -3
- package/dist/logger/jsonLogger.d.ts +2 -2
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +11 -12
- 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 +3 -3
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +8 -9
- 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 +15 -17
- 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 +5 -6
- package/dist/services/Emailer/service.d.ts +3 -3
- 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 +37 -39
- package/dist/services/Operations/service.d.ts +8 -8
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +12 -13
- package/dist/services/QueueMaker/errors.d.ts +3 -3
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +6 -7
- package/dist/services/QueueMaker/memQueue.d.ts +3 -3
- package/dist/services/QueueMaker/memQueue.js +16 -17
- 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 +15 -16
- package/dist/services/Repository.d.ts +43 -44
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +17 -18
- package/dist/services/RepositoryBase.d.ts +15 -15
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +35 -37
- package/dist/services/RequestContextContainer.d.ts +14 -11
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +19 -18
- 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 +51 -54
- 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 +19 -20
- 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 +41 -45
- 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 +15 -17
- 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 -8
- package/dist/services/Store/service.d.ts +8 -8
- 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 +2 -2
- 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.js +17 -19
- package/dist/services/simpledb/diskdb.d.ts +4 -4
- package/dist/services/simpledb/diskdb.js +9 -10
- package/dist/services/simpledb/memdb.d.ts +4 -4
- package/dist/services/simpledb/memdb.js +11 -13
- package/dist/services/simpledb/mongodb.d.ts +5 -5
- package/dist/services/simpledb/mongodb.js +14 -16
- package/dist/services/simpledb/redisdb.d.ts +4 -4
- package/dist/services/simpledb/redisdb.js +11 -12
- package/dist/services/simpledb/shared.d.ts +4 -4
- package/dist/services/simpledb/shared.js +6 -6
- package/dist/services/simpledb/simpledb.d.ts +6 -6
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +15 -16
- package/package.json +5 -25
- package/_cjs/api/express/schema/requestHandler.cjs +0 -172
- package/_cjs/api/express/schema/requestHandler.cjs.map +0 -1
- package/_cjs/api/routing.cjs +0 -278
- package/_cjs/api/routing.cjs.map +0 -1
- package/_src/api/express/schema/requestHandler.ts +0 -372
- package/_src/api/routing.ts +0 -660
- package/dist/api/express/schema/requestHandler.d.ts +0 -71
- package/dist/api/express/schema/requestHandler.d.ts.map +0 -1
- package/dist/api/express/schema/requestHandler.js +0 -140
- package/dist/api/routing.d.ts +0 -103
- package/dist/api/routing.d.ts.map +0 -1
- package/dist/api/routing.js +0 -265
|
@@ -12,19 +12,16 @@ exports.buildWhereCosmosQuery = buildWhereCosmosQuery;
|
|
|
12
12
|
exports.makeCosmosStore = makeCosmosStore;
|
|
13
13
|
var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect"));
|
|
14
14
|
var tsplus_module_2 = _interopRequireWildcard(require("effect/Option"));
|
|
15
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/
|
|
16
|
-
var tsplus_module_4 = _interopRequireWildcard(require("
|
|
17
|
-
var tsplus_module_5 = _interopRequireWildcard(require("effect/
|
|
18
|
-
var tsplus_module_6 = _interopRequireWildcard(require("effect/
|
|
19
|
-
var tsplus_module_7 = _interopRequireWildcard(require("effect/impl/Effect"));
|
|
20
|
-
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
|
|
21
|
-
var tsplus_module_9 = _interopRequireWildcard(require("@effect-app/infra/instrument"));
|
|
15
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
16
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Chunk"));
|
|
17
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
|
|
18
|
+
var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/infra/instrument"));
|
|
22
19
|
var _utils = _interopRequireWildcard(require("@effect-app/prelude/utils"));
|
|
23
|
-
var
|
|
24
|
-
var
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
var
|
|
20
|
+
var tsplus_module_7 = _utils;
|
|
21
|
+
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
22
|
+
var tsplus_module_9 = _interopRequireWildcard(require("effect/Equivalence"));
|
|
23
|
+
var tsplus_module_10 = _interopRequireWildcard(require("@effect-app/core/_ext/ord.ext"));
|
|
24
|
+
var tsplus_module_11 = _interopRequireWildcard(require("effect/Layer"));
|
|
28
25
|
var _cosmosClient = require("@effect-app/infra-adapters/cosmos-client");
|
|
29
26
|
var _errors = require("../../errors.cjs");
|
|
30
27
|
var _service = require("./service.cjs");
|
|
@@ -36,14 +33,14 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
36
33
|
function makeCosmosStore({
|
|
37
34
|
prefix
|
|
38
35
|
}) {
|
|
39
|
-
return tsplus_module_1.
|
|
36
|
+
return tsplus_module_1.gen(function* ($) {
|
|
40
37
|
const {
|
|
41
38
|
db
|
|
42
39
|
} = yield* $(_cosmosClient.CosmosClient);
|
|
43
40
|
return {
|
|
44
|
-
make: (name, seed, config) => tsplus_module_1.
|
|
41
|
+
make: (name, seed, config) => tsplus_module_1.gen(function* ($) {
|
|
45
42
|
const containerId = `${prefix}${name}`;
|
|
46
|
-
yield* $(tsplus_module_1.
|
|
43
|
+
yield* $(tsplus_module_1.promise(() => db.containers.createIfNotExists({
|
|
47
44
|
id: containerId,
|
|
48
45
|
uniqueKeyPolicy: config?.uniqueKeys ? {
|
|
49
46
|
uniqueKeys: config.uniqueKeys
|
|
@@ -53,10 +50,10 @@ function makeCosmosStore({
|
|
|
53
50
|
const bulk = container.items.bulk.bind(container.items);
|
|
54
51
|
const execBatch = container.items.batch.bind(container.items);
|
|
55
52
|
const importedMarkerId = containerId;
|
|
56
|
-
const bulkSet = items =>
|
|
53
|
+
const bulkSet = items => tsplus_module_1.annotateLogs(tsplus_module_6.instr(tsplus_module_1.gen(function* ($) {
|
|
57
54
|
// TODO: disable batching if need atomicity
|
|
58
55
|
// we delay and batch to keep low amount of RUs
|
|
59
|
-
const b = [...items].map(x => [x,
|
|
56
|
+
const b = [...items].map(x => [x, tsplus_module_2.match(tsplus_module_2.fromNullable(x._etag), {
|
|
60
57
|
onNone: () => ({
|
|
61
58
|
operationType: "Create",
|
|
62
59
|
resourceBody: {
|
|
@@ -76,18 +73,18 @@ function makeCosmosStore({
|
|
|
76
73
|
partitionKey: config?.partitionValue(x)
|
|
77
74
|
})
|
|
78
75
|
})]);
|
|
79
|
-
const batches =
|
|
80
|
-
const batchResult = yield* $(
|
|
76
|
+
const batches = tsplus_module_4.toReadonlyArray(tsplus_module_3.chunk_(b, config?.maxBulkSize ?? 10));
|
|
77
|
+
const batchResult = yield* $(tsplus_module_5.ext_forEach(batches.map((x, i) => [i, x]), ([i, batch]) => tsplus_module_1.flatMap(tsplus_module_1.delay(tsplus_module_1.promise(() => bulk(batch.map(([, op]) => op))), tsplus_module_3.millis_(i === 0 ? 0 : 1100)), responses => tsplus_module_1.gen(function* ($) {
|
|
81
78
|
const r = responses.find(x => x.statusCode === 412 || x.statusCode === 404);
|
|
82
79
|
if (r) {
|
|
83
|
-
return yield* $(tsplus_module_1.
|
|
80
|
+
return yield* $(tsplus_module_1.fail(new _errors.OptimisticConcurrencyException({
|
|
84
81
|
type: name,
|
|
85
82
|
id: JSON.stringify(r.resourceBody?.["id"])
|
|
86
83
|
})));
|
|
87
84
|
}
|
|
88
85
|
const r2 = responses.find(x => x.statusCode > 299 || x.statusCode < 200);
|
|
89
86
|
if (r2) {
|
|
90
|
-
return yield* $(tsplus_module_1.
|
|
87
|
+
return yield* $(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + r2.statusCode)));
|
|
91
88
|
}
|
|
92
89
|
return batch.map(([e], i) => ({
|
|
93
90
|
...e,
|
|
@@ -98,8 +95,8 @@ function makeCosmosStore({
|
|
|
98
95
|
return batchResult.flat();
|
|
99
96
|
}), "cosmos.bulkSet"), "cosmos.db", containerId);
|
|
100
97
|
const batchSet = items => {
|
|
101
|
-
return
|
|
102
|
-
const batch = [...items].map(x => [x,
|
|
98
|
+
return tsplus_module_1.annotateLogs(tsplus_module_6.instr(tsplus_module_1.suspend(() => {
|
|
99
|
+
const batch = [...items].map(x => [x, tsplus_module_2.match(tsplus_module_2.fromNullable(x._etag), {
|
|
103
100
|
onNone: () => ({
|
|
104
101
|
operationType: "Create",
|
|
105
102
|
resourceBody: {
|
|
@@ -118,7 +115,7 @@ function makeCosmosStore({
|
|
|
118
115
|
})
|
|
119
116
|
})]);
|
|
120
117
|
const ex = batch.map(([, c]) => c);
|
|
121
|
-
return
|
|
118
|
+
return tsplus_module_1.flatMap(tsplus_module_1.promise(() => execBatch(ex, ex[0]?.resourceBody._partitionKey)), x => tsplus_module_1.gen(function* ($) {
|
|
122
119
|
const result = x.result ?? [];
|
|
123
120
|
const firstFailed = result.find(x => x.statusCode > 299 || x.statusCode < 200);
|
|
124
121
|
if (firstFailed) {
|
|
@@ -129,7 +126,7 @@ function makeCosmosStore({
|
|
|
129
126
|
id: "batch"
|
|
130
127
|
}));
|
|
131
128
|
}
|
|
132
|
-
return yield* $(tsplus_module_1.
|
|
129
|
+
return yield* $(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + code)));
|
|
133
130
|
}
|
|
134
131
|
return batch.map(([e], i) => ({
|
|
135
132
|
...e,
|
|
@@ -139,19 +136,19 @@ function makeCosmosStore({
|
|
|
139
136
|
}), "cosmos.batchSet"), "cosmos.db", containerId);
|
|
140
137
|
};
|
|
141
138
|
const s = {
|
|
142
|
-
all:
|
|
139
|
+
all: tsplus_module_1.annotateLogs(tsplus_module_6.instr(tsplus_module_1.flatMap(tsplus_module_1.tap(tsplus_module_1.sync(() => ({
|
|
143
140
|
query: `SELECT * FROM ${name} f WHERE f.id != @id`,
|
|
144
141
|
parameters: [{
|
|
145
142
|
name: "@id",
|
|
146
143
|
value: importedMarkerId
|
|
147
144
|
}]
|
|
148
|
-
})), q => logQuery(q)), q => tsplus_module_1.
|
|
145
|
+
})), q => logQuery(q)), q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
149
146
|
resources
|
|
150
147
|
}) => resources))), "cosmos.all"), "cosmos.db", containerId),
|
|
151
|
-
filterJoinSelect: (filter, cursor) =>
|
|
148
|
+
filterJoinSelect: (filter, cursor) => tsplus_module_1.annotateLogs(tsplus_module_6.instr(tsplus_module_1.map(tsplus_module_5.ext_forEach(filter.keys, k => tsplus_module_1.flatMap(tsplus_module_1.tap(tsplus_module_1.sync(() => buildFilterJoinSelectCosmosQuery(filter, k, name, cursor?.skip, cursor?.limit)), q => logQuery(q)), q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
152
149
|
resources
|
|
153
150
|
}) => resources)))), a => {
|
|
154
|
-
const v = a.flatMap(_ => _).map(x =>
|
|
151
|
+
const v = a.flatMap(_ => _).map(x => tsplus_module_7.spread(x, ({
|
|
155
152
|
r,
|
|
156
153
|
...rest
|
|
157
154
|
}) => ({
|
|
@@ -166,27 +163,27 @@ function makeCosmosStore({
|
|
|
166
163
|
filter: (filter, cursor) => {
|
|
167
164
|
const skip = cursor?.skip;
|
|
168
165
|
const limit = cursor?.limit;
|
|
169
|
-
return
|
|
166
|
+
return tsplus_module_1.annotateLogs(tsplus_module_6.instr(filter.type === "join_find"
|
|
170
167
|
// This is a problem if one of the multiple joined arrays can be empty!
|
|
171
168
|
// https://stackoverflow.com/questions/60320780/azure-cosmosdb-sql-join-not-returning-results-when-the-child-contains-empty-arra
|
|
172
169
|
// so we use multiple queries instead.
|
|
173
|
-
?
|
|
170
|
+
? tsplus_module_1.map(tsplus_module_5.ext_forEach(filter.keys, k => tsplus_module_1.flatMap(tsplus_module_1.tap(tsplus_module_1.sync(() => buildFindJoinCosmosQuery(filter, k, name, skip, limit)), q => logQuery(q)), q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
174
171
|
resources
|
|
175
|
-
}) => resources)))), _ => _.flatMap(_ => _)) :
|
|
172
|
+
}) => resources)))), _ => _.flatMap(_ => _)) : tsplus_module_1.flatMap(tsplus_module_1.tap(tsplus_module_1.sync(() => buildCosmosQuery(filter, name, importedMarkerId, skip, limit)), q => logQuery(q)), q => tsplus_module_1.promise(() => container.items.query(q).fetchAll().then(({
|
|
176
173
|
resources
|
|
177
174
|
}) => resources.map(_ => _.f)))), "cosmos.filter"), "cosmos.db", containerId);
|
|
178
175
|
},
|
|
179
|
-
find: id =>
|
|
176
|
+
find: id => tsplus_module_1.annotateLogs(tsplus_module_6.instr(tsplus_module_1.promise(() => container.item(id, config?.partitionValue({
|
|
180
177
|
id
|
|
181
178
|
})).read().then(({
|
|
182
179
|
resource
|
|
183
|
-
}) => tsplus_module_2.
|
|
184
|
-
set: e =>
|
|
185
|
-
onNone: () => tsplus_module_1.
|
|
180
|
+
}) => tsplus_module_2.fromNullable(resource))), "cosmos.find"), "cosmos.db", containerId),
|
|
181
|
+
set: e => tsplus_module_1.annotateLogs(tsplus_module_6.instr(tsplus_module_1.flatMap(tsplus_module_2.match(tsplus_module_2.fromNullable(e._etag), {
|
|
182
|
+
onNone: () => tsplus_module_1.promise(() => container.items.create({
|
|
186
183
|
...e,
|
|
187
184
|
_partitionKey: config?.partitionValue(e)
|
|
188
185
|
})),
|
|
189
|
-
onSome: eTag => tsplus_module_1.
|
|
186
|
+
onSome: eTag => tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).replace({
|
|
190
187
|
...e,
|
|
191
188
|
_partitionKey: config?.partitionValue(e)
|
|
192
189
|
}, {
|
|
@@ -203,29 +200,29 @@ function makeCosmosStore({
|
|
|
203
200
|
});
|
|
204
201
|
}
|
|
205
202
|
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
206
|
-
return tsplus_module_1.
|
|
203
|
+
return tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
|
|
207
204
|
}
|
|
208
|
-
return tsplus_module_1.
|
|
205
|
+
return tsplus_module_1.sync(() => ({
|
|
209
206
|
...e,
|
|
210
207
|
_etag: x.etag
|
|
211
208
|
}));
|
|
212
209
|
}), "cosmos.set"), "cosmos.db", containerId),
|
|
213
210
|
batchSet,
|
|
214
211
|
bulkSet,
|
|
215
|
-
remove: e =>
|
|
212
|
+
remove: e => tsplus_module_1.annotateLogs(tsplus_module_6.instr(tsplus_module_1.promise(() => container.item(e.id, config?.partitionValue(e)).delete()), "cosmos.remove"), "cosmos.db", containerId)
|
|
216
213
|
};
|
|
217
214
|
// handle mock data
|
|
218
|
-
const marker = yield* $(tsplus_module_1.
|
|
215
|
+
const marker = yield* $(tsplus_module_1.promise(() => container.item(importedMarkerId, importedMarkerId).read().then(({
|
|
219
216
|
resource
|
|
220
|
-
}) => tsplus_module_2.
|
|
221
|
-
if (!
|
|
217
|
+
}) => tsplus_module_2.fromNullable(resource))));
|
|
218
|
+
if (!tsplus_module_2.isSome(marker)) {
|
|
222
219
|
console.log("Creating mock data for " + name);
|
|
223
220
|
if (seed) {
|
|
224
221
|
const m = yield* $(seed);
|
|
225
|
-
yield* $(
|
|
222
|
+
yield* $(tsplus_module_8.flatMapOption(tsplus_module_1.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(m)), a => tsplus_module_1.delay(tsplus_module_1.orDie(s.bulkSet(a)), tsplus_module_3.millis_(1100))));
|
|
226
223
|
}
|
|
227
224
|
// Mark as imported
|
|
228
|
-
yield* $(tsplus_module_1.
|
|
225
|
+
yield* $(tsplus_module_1.promise(() => container.items.create({
|
|
229
226
|
_partitionKey: importedMarkerId,
|
|
230
227
|
id: importedMarkerId
|
|
231
228
|
})));
|
|
@@ -236,13 +233,13 @@ function makeCosmosStore({
|
|
|
236
233
|
});
|
|
237
234
|
}
|
|
238
235
|
function logQuery(q) {
|
|
239
|
-
return tsplus_module_1.
|
|
236
|
+
return tsplus_module_1.annotateLogs({
|
|
240
237
|
query: q.query,
|
|
241
238
|
parameters: JSON.stringify(q.parameters.reduce((acc, v) => {
|
|
242
239
|
acc[v.name] = v.value;
|
|
243
240
|
return acc;
|
|
244
241
|
}, {}), undefined, 2)
|
|
245
|
-
})(tsplus_module_1.
|
|
242
|
+
})(tsplus_module_1.logDebug("cosmos query"));
|
|
246
243
|
}
|
|
247
244
|
/**
|
|
248
245
|
* @deprecated: should build Select into Where query
|
|
@@ -307,7 +304,7 @@ function buildWhereCosmosQuery(filter, name, importedMarkerId, skip, limit) {
|
|
|
307
304
|
query: `
|
|
308
305
|
SELECT f
|
|
309
306
|
FROM ${name} AS f
|
|
310
|
-
${
|
|
307
|
+
${tsplus_module_10.uniqArray(tsplus_module_9.string)(filter.where.filter(_ => _.key.includes(".-1.")).map(_ => _.key.split(".-1.")[0]).map(_ => `JOIN ${_} IN f.${_}`)).join("\n")}
|
|
311
308
|
WHERE f.id != @id AND ${filter.where.map(_ => _.key.includes(".-1.") ? {
|
|
312
309
|
..._,
|
|
313
310
|
f: _.key.split(".-1.")[0],
|
|
@@ -377,6 +374,6 @@ class CosmosDbOperationError {
|
|
|
377
374
|
}
|
|
378
375
|
}
|
|
379
376
|
function CosmosStoreLive(config) {
|
|
380
|
-
return
|
|
377
|
+
return tsplus_module_11.effect(_service.StoreMaker)(tsplus_module_1.flatMap(tsplus_module_1.config(config), makeCosmosStore));
|
|
381
378
|
}
|
|
382
379
|
//# sourceMappingURL=Cosmos.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cosmos.cjs","names":["_cosmosClient","require","_errors","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeCosmosStore","prefix","tsplus_module_1","Effect","gen","$","db","CosmosClient","make","name","seed","config","containerId","promise","containers","createIfNotExists","id","uniqueKeyPolicy","uniqueKeys","undefined","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","tsplus_module_7","annotateLogs","tsplus_module_9","instr","b","map","x","tsplus_module_3","match","tsplus_module_2","Option","fromNullable","_etag","onNone","operationType","resourceBody","omit","_partitionKey","partitionValue","partitionKey","onSome","eTag","ifMatch","batches","tsplus_module_5","toReadonlyArray","tsplus_module_4","chunk_","maxBulkSize","batchResult","tsplus_module_8","ext_forEach","flatMap","delay","op","tsplus_module_6","Duration","millis","responses","find","statusCode","fail","OptimisticConcurrencyException","type","JSON","stringify","r2","die","CosmosDbOperationError","flat","batchSet","suspend","ex","c","result","firstFailed","code","s","all","tap","sync","query","parameters","value","q","logQuery","fetchAll","then","resources","filterJoinSelect","filter","cursor","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","v","_","tsplus_module_10","spread","rest","buildFindJoinCosmosQuery","buildCosmosQuery","f","item","read","resource","create","replace","accessCondition","condition","etag","remove","delete","marker","isSome","console","log","m","tsplus_module_11","flatMapOption","CollectionToNonEmptyReadonlyArray","orDie","reduce","acc","logDebug","lm","valueKey","buildLegacyCosmosQuery","String","by","buildWhereCosmosQuery","tsplus_module_13","uniqArray","tsplus_module_12","Equivalence","string","where","key","includes","split","join","lk","lowerIfNeeded","lv","mode","constructor","message","CosmosStoreLive","tsplus_module_14","effect","StoreMaker"],"sources":["../../../_src/services/Store/Cosmos.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Cosmos.cjs","names":["_cosmosClient","require","_errors","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeCosmosStore","prefix","tsplus_module_1","gen","$","db","CosmosClient","make","name","seed","config","containerId","promise","containers","createIfNotExists","id","uniqueKeyPolicy","uniqueKeys","undefined","container","bulk","items","bind","execBatch","batch","importedMarkerId","bulkSet","annotateLogs","tsplus_module_6","instr","b","map","x","tsplus_module_2","match","fromNullable","_etag","onNone","operationType","resourceBody","omit","_partitionKey","partitionValue","partitionKey","onSome","eTag","ifMatch","batches","tsplus_module_4","toReadonlyArray","tsplus_module_3","chunk_","maxBulkSize","batchResult","tsplus_module_5","ext_forEach","flatMap","delay","op","millis_","responses","find","statusCode","fail","OptimisticConcurrencyException","type","JSON","stringify","r2","die","CosmosDbOperationError","flat","batchSet","suspend","ex","c","result","firstFailed","code","s","all","tap","sync","query","parameters","value","q","logQuery","fetchAll","then","resources","filterJoinSelect","filter","cursor","keys","k","buildFilterJoinSelectCosmosQuery","skip","limit","v","_","tsplus_module_7","spread","rest","buildFindJoinCosmosQuery","buildCosmosQuery","f","item","read","resource","create","replace","accessCondition","condition","etag","remove","delete","marker","isSome","console","log","m","tsplus_module_8","flatMapOption","CollectionToNonEmptyReadonlyArray","orDie","reduce","acc","logDebug","lm","valueKey","buildLegacyCosmosQuery","String","by","buildWhereCosmosQuery","tsplus_module_10","uniqArray","tsplus_module_9","string","where","key","includes","split","join","lk","lowerIfNeeded","lv","mode","constructor","message","CosmosStoreLive","tsplus_module_11","effect","StoreMaker"],"sources":["../../../_src/services/Store/Cosmos.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -5,11 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.DiskStoreLive = DiskStoreLive;
|
|
7
7
|
exports.makeDiskStore = makeDiskStore;
|
|
8
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/
|
|
9
|
-
var tsplus_module_2 = _interopRequireWildcard(require("effect/
|
|
10
|
-
var tsplus_module_3 = _interopRequireWildcard(require("
|
|
11
|
-
var tsplus_module_4 = _interopRequireWildcard(require("effect/
|
|
12
|
-
var tsplus_module_5 = _interopRequireWildcard(require("effect/impl/Layer"));
|
|
8
|
+
var tsplus_module_1 = _interopRequireWildcard(require("effect/Effect"));
|
|
9
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
10
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/FiberRef"));
|
|
11
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Layer"));
|
|
13
12
|
var fu = _interopRequireWildcard(require("@effect-app/infra-adapters/fileUtil"));
|
|
14
13
|
var _fs = _interopRequireDefault(require("fs"));
|
|
15
14
|
var _Memory = require("./Memory.cjs");
|
|
@@ -20,7 +19,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
20
19
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
21
20
|
|
|
22
21
|
function makeDiskStoreInt(prefix, namespace, dir, name, seed) {
|
|
23
|
-
return
|
|
22
|
+
return tsplus_module_1.gen(function* ($) {
|
|
24
23
|
const file = dir + "/" + prefix + name + (namespace === "primary" ? "" : "-" + namespace) + ".json";
|
|
25
24
|
const fsStore = {
|
|
26
25
|
get: tsplus_module_1.orDie(tsplus_module_1.map(fu.readTextFile(file), x => JSON.parse(x))),
|
|
@@ -31,13 +30,13 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed) {
|
|
|
31
30
|
const sem = tsplus_module_1.unsafeMakeSemaphore(1);
|
|
32
31
|
const withPermit = sem.withPermits(1);
|
|
33
32
|
const flushToDisk = withPermit(tsplus_module_1.flatMap(store.all, fsStore.setRaw));
|
|
34
|
-
const flushToDiskInBackground = tsplus_module_1.forkDaemon(tsplus_module_1.uninterruptible(tsplus_module_1.tapErrorCause(flushToDisk, err =>
|
|
33
|
+
const flushToDiskInBackground = tsplus_module_1.forkDaemon(tsplus_module_1.uninterruptible(tsplus_module_1.tapErrorCause(flushToDisk, err => tsplus_module_1.sync(() => console.error(err)))));
|
|
35
34
|
return {
|
|
36
35
|
...store,
|
|
37
|
-
batchSet:
|
|
38
|
-
bulkSet:
|
|
39
|
-
set:
|
|
40
|
-
remove:
|
|
36
|
+
batchSet: tsplus_module_2.flow(store.batchSet, t => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
|
|
37
|
+
bulkSet: tsplus_module_2.flow(store.bulkSet, t => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
|
|
38
|
+
set: tsplus_module_2.flow(store.set, t => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
|
|
39
|
+
remove: tsplus_module_2.flow(store.remove, t => tsplus_module_1.tap(t, () => flushToDiskInBackground))
|
|
41
40
|
};
|
|
42
41
|
});
|
|
43
42
|
}
|
|
@@ -48,27 +47,27 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed) {
|
|
|
48
47
|
function makeDiskStore({
|
|
49
48
|
prefix
|
|
50
49
|
}, dir) {
|
|
51
|
-
return
|
|
50
|
+
return tsplus_module_1.sync(() => {
|
|
52
51
|
if (!_fs.default.existsSync(dir)) {
|
|
53
52
|
_fs.default.mkdirSync(dir);
|
|
54
53
|
}
|
|
55
54
|
return {
|
|
56
|
-
make: (name, seed, config) =>
|
|
55
|
+
make: (name, seed, config) => tsplus_module_1.gen(function* ($) {
|
|
57
56
|
const storesSem = tsplus_module_1.unsafeMakeSemaphore(1);
|
|
58
57
|
const primary = yield* $(makeDiskStoreInt(prefix, "primary", dir, name, seed));
|
|
59
58
|
const stores = new Map([["primary", primary]]);
|
|
60
|
-
const getStore = !config?.allowNamespace ?
|
|
59
|
+
const getStore = !config?.allowNamespace ? tsplus_module_1.succeed(primary) : tsplus_module_1.flatMap(tsplus_module_3.get(_Memory.storeId), namespace => {
|
|
61
60
|
const store = stores.get(namespace);
|
|
62
61
|
if (store) {
|
|
63
|
-
return
|
|
62
|
+
return tsplus_module_1.succeed(store);
|
|
64
63
|
}
|
|
65
64
|
if (!config.allowNamespace(namespace)) {
|
|
66
65
|
throw new Error(`Namespace ${namespace} not allowed!`);
|
|
67
66
|
}
|
|
68
|
-
return storesSem.withPermits(1)(
|
|
67
|
+
return storesSem.withPermits(1)(tsplus_module_1.suspend(() => {
|
|
69
68
|
const existing = stores.get(namespace);
|
|
70
|
-
if (existing) return
|
|
71
|
-
return tsplus_module_1.tap(makeDiskStoreInt(prefix, namespace, dir, name, seed), store =>
|
|
69
|
+
if (existing) return tsplus_module_1.sync(() => existing);
|
|
70
|
+
return tsplus_module_1.tap(makeDiskStoreInt(prefix, namespace, dir, name, seed), store => tsplus_module_1.sync(() => stores.set(namespace, store)));
|
|
72
71
|
}));
|
|
73
72
|
});
|
|
74
73
|
const s = {
|
|
@@ -87,6 +86,6 @@ function makeDiskStore({
|
|
|
87
86
|
});
|
|
88
87
|
}
|
|
89
88
|
function DiskStoreLive(config, dir) {
|
|
90
|
-
return
|
|
89
|
+
return tsplus_module_4.effect(_service.StoreMaker)(tsplus_module_1.flatMap(tsplus_module_1.config(config), _ => makeDiskStore(_, dir)));
|
|
91
90
|
}
|
|
92
91
|
//# sourceMappingURL=Disk.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","
|
|
1
|
+
{"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","tsplus_module_1","gen","$","file","fsStore","orDie","map","readTextFile","x","JSON","parse","setRaw","v","stringify","undefined","json","writeTextFile","store","makeMemoryStoreInt","fs","existsSync","flatMap","all","sem","unsafeMakeSemaphore","withPermit","withPermits","flushToDisk","flushToDiskInBackground","forkDaemon","uninterruptible","tapErrorCause","err","sync","console","error","batchSet","tsplus_module_2","flow","tap","bulkSet","remove","makeDiskStore","mkdirSync","make","config","storesSem","primary","stores","Map","getStore","allowNamespace","succeed","tsplus_module_3","storeId","Error","suspend","existing","s","_","find","args","filter","filterJoinSelect","DiskStoreLive","tsplus_module_4","effect","StoreMaker"],"sources":["../../../_src/services/Store/Disk.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -7,18 +7,14 @@ exports.makeMemoryStore = exports.MemoryStoreLive = void 0;
|
|
|
7
7
|
exports.makeMemoryStoreInt = makeMemoryStoreInt;
|
|
8
8
|
exports.memFilter = memFilter;
|
|
9
9
|
exports.storeId = exports.restoreFromRequestContext = void 0;
|
|
10
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/
|
|
10
|
+
var tsplus_module_1 = _interopRequireWildcard(require("effect/ReadonlyArray"));
|
|
11
11
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
12
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/
|
|
12
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Option"));
|
|
13
13
|
var tsplus_module_4 = _interopRequireWildcard(require("effect/FiberRef"));
|
|
14
|
-
var tsplus_module_5 = _interopRequireWildcard(require("effect/
|
|
15
|
-
var tsplus_module_6 = _interopRequireWildcard(require("effect/
|
|
16
|
-
var tsplus_module_7 = _interopRequireWildcard(require("effect/
|
|
17
|
-
var tsplus_module_8 = _interopRequireWildcard(require("effect/
|
|
18
|
-
var tsplus_module_9 = _interopRequireWildcard(require("effect/Ref"));
|
|
19
|
-
var tsplus_module_10 = _interopRequireWildcard(require("effect/impl/Ref"));
|
|
20
|
-
var tsplus_module_11 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
|
|
21
|
-
var tsplus_module_12 = _interopRequireWildcard(require("effect/Option"));
|
|
14
|
+
var tsplus_module_5 = _interopRequireWildcard(require("effect/Effect"));
|
|
15
|
+
var tsplus_module_6 = _interopRequireWildcard(require("effect/Chunk"));
|
|
16
|
+
var tsplus_module_7 = _interopRequireWildcard(require("effect/Ref"));
|
|
17
|
+
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
|
|
22
18
|
var _RequestContextContainer = require("../RequestContextContainer.cjs");
|
|
23
19
|
var _service = require("./service.cjs");
|
|
24
20
|
var _utils = require("./utils.cjs");
|
|
@@ -43,71 +39,71 @@ function memFilter(filter, cursor) {
|
|
|
43
39
|
return r;
|
|
44
40
|
};
|
|
45
41
|
}
|
|
46
|
-
const storeId = exports.storeId = tsplus_module_4.
|
|
47
|
-
const restoreFromRequestContext = exports.restoreFromRequestContext =
|
|
42
|
+
const storeId = exports.storeId = tsplus_module_4.unsafeMake("primary");
|
|
43
|
+
const restoreFromRequestContext = exports.restoreFromRequestContext = tsplus_module_5.flatMap(_RequestContextContainer.RequestContextContainer.get, ctx => tsplus_module_4.set(storeId, ctx.namespace ?? "primary"));
|
|
48
44
|
function logQuery(filter, cursor) {
|
|
49
|
-
return
|
|
45
|
+
return tsplus_module_5.annotateLogs({
|
|
50
46
|
query: JSON.stringify(filter, undefined, 2),
|
|
51
47
|
cursor: JSON.stringify(cursor, undefined, 2)
|
|
52
|
-
})(
|
|
48
|
+
})(tsplus_module_5.logDebug("mem query"));
|
|
53
49
|
}
|
|
54
50
|
function makeMemoryStoreInt(name, seed) {
|
|
55
|
-
return
|
|
51
|
+
return tsplus_module_5.gen(function* ($) {
|
|
56
52
|
const updateETag = (0, _utils.makeUpdateETag)(name);
|
|
57
|
-
const items_ = yield* $(seed ??
|
|
58
|
-
const items = new Map(
|
|
53
|
+
const items_ = yield* $(seed ?? tsplus_module_5.sync(() => []));
|
|
54
|
+
const items = new Map(tsplus_module_6.map(tsplus_module_2.ext_itToChunk(items_), _ => [_.id, _]));
|
|
59
55
|
const makeStore = () => new Map([...items.entries()].map(([id, e]) => [id, (0, _utils.makeETag)(e)]));
|
|
60
|
-
const store =
|
|
61
|
-
const sem =
|
|
56
|
+
const store = tsplus_module_7.unsafeMake(makeStore());
|
|
57
|
+
const sem = tsplus_module_5.unsafeMakeSemaphore(1);
|
|
62
58
|
const withPermit = sem.withPermits(1);
|
|
63
|
-
const values =
|
|
64
|
-
const all =
|
|
65
|
-
const batchSet = items => withPermit(
|
|
59
|
+
const values = tsplus_module_5.map(tsplus_module_7.get(store), s => s.values());
|
|
60
|
+
const all = tsplus_module_5.map(values, tsplus_module_1.fromIterable);
|
|
61
|
+
const batchSet = items => withPermit(tsplus_module_5.map(tsplus_module_5.tap(tsplus_module_8.ext_forEach(items, i => tsplus_module_5.flatMap(s.find(i.id), current => updateETag(i, current))), items => tsplus_module_5.flatMap(tsplus_module_5.map(tsplus_module_7.get(store), m => {
|
|
66
62
|
const mut = m;
|
|
67
63
|
items.forEach(e => mut.set(e.id, e));
|
|
68
64
|
return mut;
|
|
69
|
-
}), _ =>
|
|
65
|
+
}), _ => tsplus_module_7.set(store, _))), _ => _));
|
|
70
66
|
const s = {
|
|
71
67
|
all,
|
|
72
|
-
find: id =>
|
|
73
|
-
filter: (filter, cursor) =>
|
|
74
|
-
filterJoinSelect: filter =>
|
|
75
|
-
set: e => withPermit(
|
|
68
|
+
find: id => tsplus_module_5.map(tsplus_module_7.get(store), _ => tsplus_module_3.fromNullable(_.get(id))),
|
|
69
|
+
filter: (filter, cursor) => tsplus_module_5.map(tsplus_module_5.tap(all, () => logQuery(filter, cursor)), memFilter(filter, cursor)),
|
|
70
|
+
filterJoinSelect: filter => tsplus_module_5.map(all, c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))),
|
|
71
|
+
set: e => withPermit(tsplus_module_5.tap(tsplus_module_5.flatMap(s.find(e.id), current => updateETag(e, current)), e => tsplus_module_5.flatMap(tsplus_module_5.map(tsplus_module_7.get(store), _ => new Map([..._, [e.id, e]])), _ => tsplus_module_7.set(store, _)))),
|
|
76
72
|
batchSet,
|
|
77
73
|
bulkSet: batchSet,
|
|
78
|
-
remove: e => withPermit(
|
|
74
|
+
remove: e => withPermit(tsplus_module_5.flatMap(tsplus_module_5.map(tsplus_module_7.get(store), _ => new Map([..._].filter(([_]) => _ !== e.id))), _ => tsplus_module_7.set(store, _)))
|
|
79
75
|
};
|
|
80
76
|
return s;
|
|
81
77
|
});
|
|
82
78
|
}
|
|
83
79
|
const makeMemoryStore = () => ({
|
|
84
|
-
make: (name, seed, config) =>
|
|
85
|
-
const storesSem =
|
|
80
|
+
make: (name, seed, config) => tsplus_module_5.gen(function* ($) {
|
|
81
|
+
const storesSem = tsplus_module_5.unsafeMakeSemaphore(1);
|
|
86
82
|
const primary = yield* $(makeMemoryStoreInt(name, seed));
|
|
87
83
|
const stores = new Map([["primary", primary]]);
|
|
88
|
-
const getStore = !config?.allowNamespace ?
|
|
84
|
+
const getStore = !config?.allowNamespace ? tsplus_module_5.succeed(primary) : tsplus_module_5.flatMap(tsplus_module_4.get(storeId), namespace => {
|
|
89
85
|
const store = stores.get(namespace);
|
|
90
86
|
if (store) {
|
|
91
|
-
return
|
|
87
|
+
return tsplus_module_5.succeed(store);
|
|
92
88
|
}
|
|
93
89
|
if (!config.allowNamespace(namespace)) {
|
|
94
90
|
throw new Error(`Namespace ${namespace} not allowed!`);
|
|
95
91
|
}
|
|
96
|
-
return storesSem.withPermits(1)(
|
|
92
|
+
return storesSem.withPermits(1)(tsplus_module_5.suspend(() => {
|
|
97
93
|
const store = stores.get(namespace);
|
|
98
|
-
if (store) return
|
|
99
|
-
return
|
|
94
|
+
if (store) return tsplus_module_5.sync(() => store);
|
|
95
|
+
return tsplus_module_5.tap(makeMemoryStoreInt(name, seed), store => tsplus_module_5.sync(() => stores.set(namespace, store)));
|
|
100
96
|
}));
|
|
101
97
|
});
|
|
102
98
|
const s = {
|
|
103
|
-
all:
|
|
104
|
-
find: (...args) =>
|
|
105
|
-
filter: (...args) =>
|
|
106
|
-
filterJoinSelect: (...args) =>
|
|
107
|
-
set: (...args) =>
|
|
108
|
-
batchSet: (...args) =>
|
|
109
|
-
bulkSet: (...args) =>
|
|
110
|
-
remove: (...args) =>
|
|
99
|
+
all: tsplus_module_5.flatMap(getStore, _ => _.all),
|
|
100
|
+
find: (...args) => tsplus_module_5.flatMap(getStore, _ => _.find(...args)),
|
|
101
|
+
filter: (...args) => tsplus_module_5.flatMap(getStore, _ => _.filter(...args)),
|
|
102
|
+
filterJoinSelect: (...args) => tsplus_module_5.flatMap(getStore, _ => _.filterJoinSelect(...args)),
|
|
103
|
+
set: (...args) => tsplus_module_5.flatMap(getStore, _ => _.set(...args)),
|
|
104
|
+
batchSet: (...args) => tsplus_module_5.flatMap(getStore, _ => _.batchSet(...args)),
|
|
105
|
+
bulkSet: (...args) => tsplus_module_5.flatMap(getStore, _ => _.bulkSet(...args)),
|
|
106
|
+
remove: (...args) => tsplus_module_5.flatMap(getStore, _ => _.remove(...args))
|
|
111
107
|
};
|
|
112
108
|
return s;
|
|
113
109
|
})
|