@effect-app/infra 0.121.1 → 0.122.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/CHANGELOG.md +18 -0
- package/_cjs/services/Emailer/Sendgrid.cjs +5 -5
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos/query.cjs +1 -1
- package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +25 -25
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +3 -3
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +14 -14
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/index.cjs +20 -40
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_src/services/Emailer/Sendgrid.ts +4 -5
- package/_src/services/Store/Cosmos/query.ts +1 -1
- package/_src/services/Store/Cosmos.ts +10 -6
- package/_src/services/Store/Disk.ts +2 -3
- package/_src/services/Store/Redis.ts +8 -15
- package/_src/services/Store/index.ts +22 -55
- package/dist/services/Emailer/Sendgrid.d.ts +2 -3
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +5 -5
- package/dist/services/Repository.d.ts +2 -2
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/RepositoryBase.d.ts +1 -1
- package/dist/services/Store/Cosmos/query.js +2 -2
- package/dist/services/Store/Cosmos.d.ts +2 -7
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +29 -28
- package/dist/services/Store/Disk.d.ts +1 -2
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +3 -3
- package/dist/services/Store/Redis.d.ts +2 -7
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +18 -17
- package/dist/services/Store/index.d.ts +2 -4
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +23 -44
- package/package.json +3 -3
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "effect/
|
|
3
|
-
import * as tsplus_module_3 from "effect/
|
|
4
|
-
import * as tsplus_module_4 from "
|
|
5
|
-
import * as tsplus_module_5 from "effect/
|
|
6
|
-
import * as tsplus_module_6 from "@effect-app/
|
|
7
|
-
import * as tsplus_module_7 from "@effect-app/
|
|
8
|
-
import * as tsplus_module_8 from "
|
|
2
|
+
import * as tsplus_module_2 from "effect/Option";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Array";
|
|
4
|
+
import * as tsplus_module_4 from "effect/Chunk";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/core/_ext/Iterable";
|
|
6
|
+
import * as tsplus_module_6 from "@effect-app/prelude/utils";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/core/Effect";
|
|
8
|
+
import * as tsplus_module_8 from "effect/Secret";
|
|
9
|
+
import * as tsplus_module_9 from "effect/Layer";
|
|
9
10
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
|
-
import { CosmosClient } from "@effect-app/infra-adapters/cosmos-client";
|
|
11
|
+
import { CosmosClient, CosmosClientLayer } from "@effect-app/infra-adapters/cosmos-client";
|
|
11
12
|
import { omit } from "@effect-app/prelude/utils";
|
|
12
13
|
import { OptimisticConcurrencyException } from "../../errors.js";
|
|
13
14
|
import { buildCosmosQuery, buildFilterJoinSelectCosmosQuery, buildFindJoinCosmosQuery, buildWhereCosmosQuery3, logQuery } from "./Cosmos/query.js";
|
|
14
15
|
import { StoreMaker } from "./service.js";
|
|
15
|
-
export function CosmosStoreLive(config) {
|
|
16
|
-
return tsplus_module_2.effect(StoreMaker)(tsplus_module_1.flatMap(config, makeCosmosStore));
|
|
17
|
-
}
|
|
18
16
|
class CosmosDbOperationError {
|
|
19
17
|
constructor(message) {
|
|
20
18
|
this.message = message;
|
|
21
19
|
}
|
|
22
20
|
} // TODO: Retry operation when running into RU limit.
|
|
23
|
-
|
|
21
|
+
function makeCosmosStore({ prefix }) {
|
|
24
22
|
return tsplus_module_1.gen(function* ($) {
|
|
25
23
|
const { db } = yield* $(CosmosClient);
|
|
26
24
|
return {
|
|
@@ -41,7 +39,7 @@ export function makeCosmosStore({ prefix }) {
|
|
|
41
39
|
// we delay and batch to keep low amount of RUs
|
|
42
40
|
const b = [...items].map((x) => [
|
|
43
41
|
x,
|
|
44
|
-
|
|
42
|
+
tsplus_module_2.match(tsplus_module_2.fromNullable(x._etag), {
|
|
45
43
|
onNone: () => ({
|
|
46
44
|
operationType: "Create",
|
|
47
45
|
resourceBody: {
|
|
@@ -62,9 +60,9 @@ export function makeCosmosStore({ prefix }) {
|
|
|
62
60
|
})
|
|
63
61
|
})
|
|
64
62
|
]);
|
|
65
|
-
const batches =
|
|
66
|
-
const batchResult = yield* $(
|
|
67
|
-
.map((x, i) => [i, x]), ([i, batch]) => tsplus_module_1.flatMap(tsplus_module_1.delay(tsplus_module_1.promise(() => bulk(batch.map(([, op]) => op))),
|
|
63
|
+
const batches = tsplus_module_4.toReadonlyArray(tsplus_module_3.chunk_(b, config?.maxBulkSize ?? 10));
|
|
64
|
+
const batchResult = yield* $(tsplus_module_5.ext_forEach(batches
|
|
65
|
+
.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* ($) {
|
|
68
66
|
const r = responses.find((x) => x.statusCode === 412 || x.statusCode === 404);
|
|
69
67
|
if (r) {
|
|
70
68
|
return yield* $(tsplus_module_1.fail(new OptimisticConcurrencyException({ type: name, id: JSON.stringify(r.resourceBody?.["id"]) })));
|
|
@@ -87,7 +85,7 @@ export function makeCosmosStore({ prefix }) {
|
|
|
87
85
|
return tsplus_module_1.withSpan(tsplus_module_1.suspend(() => {
|
|
88
86
|
const batch = [...items].map((x) => [
|
|
89
87
|
x,
|
|
90
|
-
|
|
88
|
+
tsplus_module_2.match(tsplus_module_2.fromNullable(x._etag), {
|
|
91
89
|
onNone: () => ({
|
|
92
90
|
operationType: "Create",
|
|
93
91
|
resourceBody: {
|
|
@@ -137,7 +135,7 @@ export function makeCosmosStore({ prefix }) {
|
|
|
137
135
|
.then(({ resources }) => resources))), "Cosmos.all [effect-app/infra/Store]", {
|
|
138
136
|
attributes: { "repository.container_id": containerId, "repository.model_name": name }
|
|
139
137
|
}),
|
|
140
|
-
filterJoinSelect: (filter, cursor) => tsplus_module_1.withSpan(tsplus_module_1.map(
|
|
138
|
+
filterJoinSelect: (filter, cursor) => tsplus_module_1.withSpan(tsplus_module_1.map(tsplus_module_5.ext_forEach(filter
|
|
141
139
|
.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
|
|
142
140
|
.items
|
|
143
141
|
.query(q)
|
|
@@ -145,7 +143,7 @@ export function makeCosmosStore({ prefix }) {
|
|
|
145
143
|
.then(({ resources }) => resources)))), (a) => {
|
|
146
144
|
const v = a
|
|
147
145
|
.flatMap((_) => _)
|
|
148
|
-
.map((x) =>
|
|
146
|
+
.map((x) => tsplus_module_6.spread(x, ({ r, ...rest }) => ({ ...rest, ...r })));
|
|
149
147
|
return v;
|
|
150
148
|
}), "Cosmos.filterJoinSelect [effect-app/infra/Store]", {
|
|
151
149
|
attributes: { "repository.container_id": containerId, "repository.model_name": name }
|
|
@@ -161,14 +159,14 @@ export function makeCosmosStore({ prefix }) {
|
|
|
161
159
|
// This is a problem if one of the multiple joined arrays can be empty!
|
|
162
160
|
// https://stackoverflow.com/questions/60320780/azure-cosmosdb-sql-join-not-returning-results-when-the-child-contains-empty-arra
|
|
163
161
|
// so we use multiple queries instead.
|
|
164
|
-
? tsplus_module_1.map(
|
|
162
|
+
? tsplus_module_1.map(tsplus_module_5.ext_forEach(filter
|
|
165
163
|
.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
|
|
166
164
|
.items
|
|
167
165
|
.query(q)
|
|
168
166
|
.fetchAll()
|
|
169
167
|
.then(({ resources }) => resources)))), (_) => _.flatMap((_) => _))
|
|
170
168
|
: (filter.type === "new-kid"
|
|
171
|
-
? tsplus_module_1.flatMap(tsplus_module_1.sync(() => buildWhereCosmosQuery3(filter.build(), name, importedMarkerId, f.select, skip, limit)), (q) => tsplus_module_1.promise(() => f.select
|
|
169
|
+
? tsplus_module_1.flatMap(tsplus_module_1.tap(tsplus_module_1.sync(() => buildWhereCosmosQuery3(filter.build(), name, importedMarkerId, f.select, skip, limit)), (q) => logQuery(q)), (q) => tsplus_module_1.promise(() => f.select
|
|
172
170
|
? container
|
|
173
171
|
.items
|
|
174
172
|
.query(q)
|
|
@@ -190,10 +188,10 @@ export function makeCosmosStore({ prefix }) {
|
|
|
190
188
|
find: (id) => tsplus_module_1.withSpan(tsplus_module_1.promise(() => container
|
|
191
189
|
.item(id, config?.partitionValue({ id }))
|
|
192
190
|
.read()
|
|
193
|
-
.then(({ resource }) =>
|
|
191
|
+
.then(({ resource }) => tsplus_module_2.fromNullable(resource))), "Cosmos.find [effect-app/infra/Store]", {
|
|
194
192
|
attributes: { "repository.container_id": containerId, "repository.model_name": name }
|
|
195
193
|
}),
|
|
196
|
-
set: (e) => tsplus_module_1.withSpan(tsplus_module_1.flatMap(
|
|
194
|
+
set: (e) => tsplus_module_1.withSpan(tsplus_module_1.flatMap(tsplus_module_2.match(tsplus_module_2.fromNullable(e._etag), {
|
|
197
195
|
onNone: () => tsplus_module_1.promise(() => container.items.create({
|
|
198
196
|
...e,
|
|
199
197
|
_partitionKey: config?.partitionValue(e)
|
|
@@ -228,13 +226,13 @@ export function makeCosmosStore({ prefix }) {
|
|
|
228
226
|
const marker = yield* $(tsplus_module_1.promise(() => container
|
|
229
227
|
.item(importedMarkerId, importedMarkerId)
|
|
230
228
|
.read()
|
|
231
|
-
.then(({ resource }) =>
|
|
232
|
-
if (!
|
|
229
|
+
.then(({ resource }) => tsplus_module_2.fromNullable(resource))));
|
|
230
|
+
if (!tsplus_module_2.isSome(marker)) {
|
|
233
231
|
console.log("Creating mock data for " + name);
|
|
234
232
|
if (seed) {
|
|
235
233
|
const m = yield* $(seed);
|
|
236
|
-
yield* $(
|
|
237
|
-
.bulkSet(a)),
|
|
234
|
+
yield* $(tsplus_module_7.flatMapOption(tsplus_module_1.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(m)), (a) => tsplus_module_1.delay(tsplus_module_1.orDie(s
|
|
235
|
+
.bulkSet(a)), tsplus_module_3.millis_(1100))));
|
|
238
236
|
}
|
|
239
237
|
// Mark as imported
|
|
240
238
|
yield* $(tsplus_module_1.promise(() => container.items.create({
|
|
@@ -247,4 +245,7 @@ export function makeCosmosStore({ prefix }) {
|
|
|
247
245
|
};
|
|
248
246
|
});
|
|
249
247
|
}
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9Db3Ntb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxFQUNoQyx3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDVCxNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFVekMsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUE2QjtJQUMzRCxPQUFPLHVCQUF3QyxVQUFVLEVBQWxELHdCQUFBLE1BQU0sRUFBUyxlQUFlLENBQUMsQ0FBb0IsQ0FBQTtBQUM1RCxDQUFDO0FBRUQsTUFBTSxzQkFBc0I7SUFDMUIsWUFBcUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0NBQ3pDLENBQUMsb0RBQW9EO0FBQ3RELE1BQU0sVUFBVSxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQWlCO0lBQ3ZELE9BQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3JDLE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FDSixJQUFZLEVBQ1osSUFBaUMsRUFDakMsTUFBd0IsRUFDeEIsRUFBRSxDQUNGLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7Z0JBQ3BCLE1BQU0sV0FBVyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO2dCQUN0QyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04sd0JBQWUsR0FBRyxFQUFFLENBQ2xCLEVBQUUsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUM7b0JBQzlCLEVBQUUsRUFBRSxXQUFXO29CQUNmLGVBQWUsRUFBRSxNQUFNLEVBQUUsVUFBVTt3QkFDakMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUU7d0JBQ25DLENBQUMsQ0FBQyxTQUFTO2lCQUNkLENBQUMsQ0FDSCxDQUNGLENBQUE7Z0JBQ0QsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDM0MsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDdkQsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUE7Z0JBRXBDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBZ0MsRUFBRSxFQUFFLENBQ25ELHlCQUFBLG9CQUNPLFFBQVEsQ0FBQyxFQUFDLENBQUM7b0JBQ2QsMkNBQTJDO29CQUMzQywrQ0FBK0M7b0JBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQ3RCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSjt3QkFDRSxDQUFDO3dCQUNELHNCQUFBLDZCQUFvQixDQUFDLENBQUMsS0FBSyxDQUFDLEVBQU87NEJBQ2pDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dDQUNiLGFBQWEsRUFBRSxRQUFpQjtnQ0FDaEMsWUFBWSxFQUFFO29DQUNaLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM7b0NBQ25CLGFBQWEsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztpQ0FDbEM7Z0NBQ1IsWUFBWSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDOzZCQUN4QyxDQUFDOzRCQUNGLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztnQ0FDakIsYUFBYSxFQUFFLFNBQWtCO2dDQUNqQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0NBQ1IsWUFBWSxFQUFFO29DQUNaLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM7b0NBQ25CLGFBQWEsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztpQ0FDbEM7Z0NBQ1IsT0FBTyxFQUFFLElBQUk7Z0NBQ2IsWUFBWSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDOzZCQUN4QyxDQUFDO3lCQUNILENBQUM7cUJBQ00sQ0FDYixDQUFBO29CQUNELE1BQU0sT0FBTyxtQ0FBRyx1QkFBQSxDQUFDLEVBQU8sTUFBTSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBZ0IsQ0FBQTtvQkFFbEUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUMxQiw0QkFBQSxPQUFPO3lCQUNKLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBVSxDQUFDLEVBRTdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUNiLHdCQUFBLHNCQUFBLHdCQUNXLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ3hDLHdCQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3RDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDckIsb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQzt3QkFDcEIsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQTt3QkFDN0UsSUFBSSxDQUFDLEVBQUUsQ0FBQzs0QkFDTixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDYixxQkFDRSxJQUFJLDhCQUE4QixDQUNoQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FDM0QsQ0FDRixDQUNGLENBQUE7d0JBQ0gsQ0FBQzt3QkFDRCxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUN2QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQ2hELENBQUE7d0JBQ0QsSUFBSSxFQUFFLEVBQUUsQ0FBQzs0QkFDUCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDYixvQkFDRSxJQUFJLHNCQUFzQixDQUN4Qiw2QkFBNkIsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUM5QyxDQUNGLENBQ0YsQ0FBQTt3QkFDSCxDQUFDO3dCQUNELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUM1QixHQUFHLENBQUM7NEJBQ0osb0VBQW9FOzRCQUNwRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBRSxDQUFDLElBQUk7eUJBQzFCLENBQUMsQ0FBQyxDQUFBO29CQUNMLENBQUMsQ0FBQyxDQUNILENBQ04sQ0FDSixDQUFBO29CQUNELE9BQU8sV0FBVyxDQUFDLElBQUksRUFBMEMsQ0FBQTtnQkFDbkUsQ0FBQyxDQUFDLEVBQ1EseUNBQXlDLEVBQUU7b0JBQ25ELFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7aUJBQ3RGLENBQUMsQ0FBQTtnQkFFTixNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWdDLEVBQUUsRUFBRTtvQkFDcEQsT0FBTyx5QkFBQSx3QkFDSSxHQUFHLEVBQUU7d0JBQ1osTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FDMUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKOzRCQUNFLENBQUM7NEJBQ0Qsc0JBQUEsNkJBQW9CLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBTztnQ0FDakMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7b0NBQ2IsYUFBYSxFQUFFLFFBQWlCO29DQUNoQyxZQUFZLEVBQUU7d0NBQ1osR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQzt3Q0FDbkIsYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO3FDQUNsQztpQ0FDVCxDQUFDO2dDQUNGLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztvQ0FDakIsYUFBYSxFQUFFLFNBQWtCO29DQUNqQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUU7b0NBQ1IsWUFBWSxFQUFFO3dDQUNaLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM7d0NBQ25CLGFBQWEsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztxQ0FDbEM7b0NBQ1IsT0FBTyxFQUFFLElBQUk7aUNBQ2QsQ0FBQzs2QkFDSCxDQUFDO3lCQUNNLENBQ2IsQ0FBQTt3QkFFRCxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTt3QkFFbEMsT0FBTyx3QkFBQSx3QkFDSSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDdkQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7NEJBQ3BCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFBOzRCQUM3QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUM3QixDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQ3JELENBQUE7NEJBQ0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQ0FDaEIsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUE7Z0NBQ3hDLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7b0NBQ2pDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNiLElBQUksOEJBQThCLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUNoRSxDQUFBO2dDQUNILENBQUM7Z0NBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2Isb0JBQ0UsSUFBSSxzQkFBc0IsQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsQ0FDakUsQ0FDRixDQUFBOzRCQUNILENBQUM7NEJBRUQsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0NBQzVCLEdBQUcsQ0FBQztnQ0FDSixLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUk7NkJBQ3ZCLENBQUMsQ0FBeUMsQ0FBQTt3QkFDN0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtvQkFDTCxDQUFDLENBQUMsRUFDUSwwQ0FBMEMsRUFBRTt3QkFDcEQsVUFBVSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRTtxQkFDdEYsQ0FBQyxDQUFBO2dCQUNOLENBQUMsQ0FBQTtnQkFFRCxNQUFNLENBQUMsR0FBa0I7b0JBQ3ZCLEdBQUcsRUFBRSx5QkFBQSx3QkFBQSxvQkFBQSwyQkFBTyxDQUFBO3dCQUNWLEtBQUssRUFBRSxpQkFBaUIsSUFBSSxzQkFBc0I7d0JBQ2xELFVBQVUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztxQkFDdkQsQ0FBQSxDQUFDLEVBQ0ssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNmLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUzt5QkFDTixLQUFLO3lCQUNMLEtBQUssQ0FBSyxDQUFDLENBQUM7eUJBQ1osUUFBUSxFQUFFO3lCQUNWLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUN0QyxDQUNGLEVBQ1MscUNBQXFDLEVBQUU7d0JBQy9DLFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7cUJBQ3RGLENBQUM7b0JBQ0osZ0JBQWdCLEVBQUUsQ0FDaEIsTUFBd0IsRUFDeEIsTUFBMEMsRUFDMUMsRUFBRSxDQUNGLHlCQUFBLG9CQUFBLDRCQUFBLE1BQU07eUJBQ0gsSUFBSSxFQUNVLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbkIsd0JBQUEsb0JBQUEsMkJBQU8sZ0NBQWdDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFDL0UsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNmLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUzt5QkFDTixLQUFLO3lCQUNMLEtBQUssQ0FBSSxDQUFDLENBQUM7eUJBQ1gsUUFBUSxFQUFFO3lCQUNWLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUN0QyxDQUNGLENBQ0osRUFDSSxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNULE1BQU0sQ0FBQyxHQUFHLENBQUM7NkJBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7NkJBQ2pCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ1QsZ0JBQUEsTUFBTSxDQUNKLENBQUMsRUFDRCxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLENBQUMsRUFBOEIsQ0FBQSxDQUN4RSxDQUNGLENBQUE7d0JBQ0gsT0FBTyxDQUFDLENBQUE7b0JBQ1YsQ0FBQyxDQUFDLEVBQ1Esa0RBQWtELEVBQUU7d0JBQzVELFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7cUJBQ3RGLENBQUM7b0JBQ047O3VCQUVHO29CQUNILE1BQU0sRUFBRSxDQUNOLENBQW9CLEVBQ3BCLEVBQUU7d0JBQ0YsTUFBTSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQTt3QkFDcEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQTt3QkFDdEIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFBO3dCQUUvRCxPQUFPLHlCQUFBLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxXQUFXOzRCQUNqQyx1RUFBdUU7NEJBQ3ZFLGdJQUFnSTs0QkFDaEksc0NBQXNDOzRCQUN0QyxDQUFDLENBQUMsb0JBQUEsNEJBQUEsTUFBTTtpQ0FDTCxJQUFJLEVBQ1UsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNuQix3QkFBQSxvQkFBQSwyQkFBTyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFDdkQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNmLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUztpQ0FDTixLQUFLO2lDQUNMLEtBQUssQ0FBSSxDQUFDLENBQUM7aUNBQ1gsUUFBUSxFQUFFO2lDQUNWLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUN0QyxDQUNGLENBQ0osRUFDSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ2xDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUztnQ0FDMUIsQ0FBQyxDQUFDLHdCQUFBLDJCQUFPLHNCQUFzQixDQUM3QixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQ2QsSUFBSSxFQUNKLGdCQUFnQixFQUNoQixDQUFDLENBQUMsTUFBbUQsRUFDckQsSUFBSSxFQUNKLEtBQUssQ0FDTixDQUFDLEVBQ1MsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLHdCQUFlLEdBQUcsRUFBRSxDQUNsQixDQUFDLENBQUMsTUFBTTtvQ0FDTixDQUFDLENBQUMsU0FBUzt5Q0FDUixLQUFLO3lDQUNMLEtBQUssQ0FBSSxDQUFDLENBQUM7eUNBQ1gsUUFBUSxFQUFFO3lDQUNWLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQ0FDckMsQ0FBQyxDQUFDLFNBQVM7eUNBQ1IsS0FBSzt5Q0FDTCxLQUFLLENBQVcsQ0FBQyxDQUFDO3lDQUNsQixRQUFRLEVBQUU7eUNBQ1YsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3hELENBQ0Y7Z0NBQ0gsQ0FBQyxDQUFDLHdCQUFBLG9CQUFBLDJCQUFPLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQ2hFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDZixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2Isd0JBQWUsR0FBRyxFQUFFLENBQ2xCLFNBQVM7cUNBQ04sS0FBSztxQ0FDTCxLQUFLLENBQVcsQ0FBQyxDQUFDO3FDQUNsQixRQUFRLEVBQUU7cUNBQ1YsSUFBSSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3RELENBQ0YsQ0FBQyxDQUFDLEVBQ0csd0NBQXdDLEVBQUU7NEJBQ2xELFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7eUJBQ3RGLENBQUMsQ0FBQTtvQkFDTixDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ1gseUJBQUEsd0JBQ1csR0FBRyxFQUFFLENBQ1osU0FBUzt5QkFDTixJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQVEsQ0FBQyxDQUFDO3lCQUM5QyxJQUFJLEVBQU07eUJBQ1YsSUFBSSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsNkJBQW9CLFFBQVEsQ0FBQyxDQUFDLENBQ3pELEVBQ1Msc0NBQXNDLEVBQUU7d0JBQ2hELFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7cUJBQ3RGLENBQUM7b0JBQ04sR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDVCx5QkFBQSx3QkFBQSxzQkFBQSw2QkFDZ0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUVwQjt3QkFDRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQ1gsd0JBQWUsR0FBRyxFQUFFLENBQ2xCLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDOzRCQUNyQixHQUFHLENBQUM7NEJBQ0osYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO3lCQUN6QyxDQUFDLENBQ0g7d0JBQ0gsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDZix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQ3JELEVBQUUsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDbEQ7NEJBQ0UsZUFBZSxFQUFFO2dDQUNmLElBQUksRUFBRSxTQUFTO2dDQUNmLFNBQVMsRUFBRSxJQUFJOzZCQUNoQjt5QkFDRixDQUNGLENBQ0Y7cUJBQ0osQ0FDRixFQUNRLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ2IsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDOzRCQUNqRCxPQUFPLElBQUksOEJBQThCLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTt3QkFDckUsQ0FBQzt3QkFDRCxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUM7NEJBQzdDLE9BQU8sb0JBQ0wsSUFBSSxzQkFBc0IsQ0FDeEIsNkJBQTZCLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FDN0MsQ0FDRixDQUFBO3dCQUNILENBQUM7d0JBQ0QsT0FBTywyQkFBTyxDQUFBOzRCQUNaLEdBQUcsQ0FBQzs0QkFDSixLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUk7eUJBQ2QsQ0FBQSxDQUFDLENBQUE7b0JBQ0osQ0FBQyxDQUFDLEVBQ1EscUNBQXFDLEVBQUU7d0JBQy9DLFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7cUJBQ3RGLENBQUM7b0JBQ04sUUFBUTtvQkFDUixPQUFPO29CQUNQLE1BQU0sRUFBRSxDQUFDLENBQUssRUFBRSxFQUFFLENBQ2hCLHlCQUFBLHdCQUNXLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFDOUQsd0NBQXdDLEVBQUU7d0JBQ2xELFVBQVUsRUFBRSxFQUFFLHlCQUF5QixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUU7cUJBQ3RGLENBQUM7aUJBQ1AsQ0FBQTtnQkFFRCxtQkFBbUI7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDckIsd0JBQWUsR0FBRyxFQUFFLENBQ2xCLFNBQVM7cUJBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO3FCQUN4QyxJQUFJLEVBQWtCO3FCQUN0QixJQUFJLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyw2QkFBb0IsUUFBUSxDQUFDLENBQUMsQ0FDekQsQ0FDRixDQUFBO2dCQUVELElBQUksQ0FBQyx1QkFBQSxNQUFNLENBQVMsRUFBRSxDQUFDO29CQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxDQUFBO29CQUM3QyxJQUFJLElBQUksRUFBRSxDQUFDO3dCQUNULE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTt3QkFDeEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNOLDhCQUFBLDZFQUFPLENBQUMsRUFBaUIsRUFDWCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2hCLDRDQUFBLENBQUM7NkJBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUdKLHdCQUFvQixJQUFJLENBQUMsQ0FBQyxDQUNwQyxDQUNKLENBQUE7b0JBQ0gsQ0FBQztvQkFDRCxtQkFBbUI7b0JBQ25CLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7d0JBQ3JCLGFBQWEsRUFBRSxnQkFBZ0I7d0JBQy9CLEVBQUUsRUFBRSxnQkFBZ0I7cUJBQ3JCLENBQUMsQ0FDSCxDQUNGLENBQUE7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLENBQUMsQ0FBQTtZQUNWLENBQUMsQ0FBQztTQUNMLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMifQ==
|
|
248
|
+
export function CosmosStoreLayer(cfg) {
|
|
249
|
+
return tsplus_module_9.provide(tsplus_module_9.effect(StoreMaker)(makeCosmosStore(cfg)), CosmosClientLayer(tsplus_module_8.value(cfg.url), cfg.dbName));
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29zbW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9TdG9yZS9Db3Ntb3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTtBQUMxRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixRQUFRLEVBQ1QsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBVXpDLE1BQU0sc0JBQXNCO0lBQzFCLFlBQXFCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztDQUN6QyxDQUFDLG9EQUFvRDtBQUV0RCxTQUFTLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7SUFDaEQsT0FBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDckMsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixJQUFpQyxFQUNqQyxNQUF3QixFQUN4QixFQUFFLENBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxXQUFXLEdBQUcsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUE7Z0JBQ3RDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTix3QkFBZSxHQUFHLEVBQUUsQ0FDbEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFD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
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Effect } from "effect/Effect";
|
|
2
|
-
import { Config } from "effect/Config";
|
|
3
2
|
import type { PersistenceModelType, StorageConfig, Store, StoreConfig } from "./service.js";
|
|
4
3
|
import { StoreMaker } from "./service.js";
|
|
5
4
|
/**
|
|
@@ -9,5 +8,5 @@ import { StoreMaker } from "./service.js";
|
|
|
9
8
|
export declare function makeDiskStore({ prefix }: StorageConfig, dir: string): import("effect/Effect").Effect<never, never, {
|
|
10
9
|
make: <Id extends string, PM extends PersistenceModelType<Id>, R, E>(name: string, seed?: Effect<R, E, Iterable<PM>>, config?: StoreConfig<PM>) => import("effect/Effect").Effect<R, E, Store<PM, Id>>;
|
|
11
10
|
}>;
|
|
12
|
-
export declare function
|
|
11
|
+
export declare function DiskStoreLayer(config: StorageConfig, dir: string): import("effect/Layer").Layer<never, never, StoreMaker>;
|
|
13
12
|
//# sourceMappingURL=Disk.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Disk.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Disk.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA2EzC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;+EAOtD,MAAM,SACL,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,WACxB,YAAY,EAAE,CAAC;GAyC/B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,0DAGhE"}
|
|
@@ -81,7 +81,7 @@ export function makeDiskStore({ prefix }, dir) {
|
|
|
81
81
|
};
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
export function
|
|
85
|
-
return tsplus_module_5.effect(StoreMaker)(
|
|
84
|
+
export function DiskStoreLayer(config, dir) {
|
|
85
|
+
return tsplus_module_5.effect(StoreMaker)(makeDiskStore(config, dir));
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvRGlzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRXpELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQTtBQUVuQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFekMsU0FBUyxnQkFBZ0IsQ0FDdkIsTUFBYyxFQUNkLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxJQUFZLEVBQ1osSUFBaUM7SUFFakMsT0FBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUNuRyxNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsRUFBRSwrQ0FBQSx3QkFBQSx5QkFBQSxFQUFFO2lCQUNKLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDVCw2Q0FBNkMsQ0FBQyxFQUMvQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMseUJBQUEscUJBQVksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVMsQ0FBQyxFQUFVLDBDQUEwQyxDQUFDLENBQUMsR0FFcEcsb0NBQW9DLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN4RixNQUFNLEVBQUUsQ0FBQyxDQUFlLEVBQUUsRUFBRSxDQUMxQix5QkFBQSx3QkFBQSx5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
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { Effect } from "effect/Effect";
|
|
2
2
|
import { NonEmptyReadonlyArray, NonEmptyArray } from "effect/ReadonlyArray";
|
|
3
|
-
import {
|
|
4
|
-
import { RedisClient } from "@effect-app/infra-adapters/redis-client";
|
|
5
|
-
import type { PersistenceModelType, StorageConfig, Store, StoreConfig } from "./service.js";
|
|
3
|
+
import type { StorageConfig } from "./service.js";
|
|
6
4
|
import { StoreMaker } from "./service.js";
|
|
7
|
-
export declare function
|
|
8
|
-
make: <Id extends string, PM extends PersistenceModelType<Id>, R = never, E = never>(name: string, seed?: Effect<R, E, Iterable<PM>>, _config?: StoreConfig<PM>) => import("effect/Effect").Effect<R, E, Store<PM, Id>>;
|
|
9
|
-
}>;
|
|
10
|
-
export declare function RedisStoreLive(config: Config<StorageConfig>): import("effect/Layer").Layer<RedisClient, import("effect/ConfigError").ConfigError, StoreMaker>;
|
|
5
|
+
export declare function RedisStoreLayer(cfg: StorageConfig): import("effect/Layer").Layer<never, never, StoreMaker>;
|
|
11
6
|
//# sourceMappingURL=Redis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Redis.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"names":[],"mappings":";;AAIA,OAAO,KAAK,EAA0C,aAAa,EAAsB,MAAM,cAAc,CAAA;AAC7G,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA8EzC,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,0DAIjD"}
|
|
@@ -3,14 +3,15 @@ import * as tsplus_module_2 from "effect/Option";
|
|
|
3
3
|
import * as tsplus_module_3 from "@effect-app/prelude/_ext/misc";
|
|
4
4
|
import * as tsplus_module_4 from "effect/ReadonlyArray";
|
|
5
5
|
import * as tsplus_module_5 from "@effect-app/core/_ext/Iterable";
|
|
6
|
-
import * as tsplus_module_6 from "effect/
|
|
6
|
+
import * as tsplus_module_6 from "effect/Secret";
|
|
7
|
+
import * as tsplus_module_7 from "effect/Layer";
|
|
7
8
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
import { RedisClient } from "@effect-app/infra-adapters/redis-client";
|
|
9
|
+
import { RedisClient, RedisClientLayer } from "@effect-app/infra-adapters/redis-client";
|
|
9
10
|
import { NotFoundError } from "../../errors.js";
|
|
10
11
|
import { memFilter } from "./Memory.js";
|
|
11
12
|
import { StoreMaker } from "./service.js";
|
|
12
13
|
import { codeFilterJoinSelect, makeETag, makeUpdateETag } from "./utils.js";
|
|
13
|
-
|
|
14
|
+
function makeRedisStore({ prefix }) {
|
|
14
15
|
return tsplus_module_1.gen(function* ($) {
|
|
15
16
|
const redis = yield* $(RedisClient);
|
|
16
17
|
return {
|
|
@@ -18,44 +19,44 @@ export function makeRedisStore({ prefix }) {
|
|
|
18
19
|
const updateETag = makeUpdateETag(name);
|
|
19
20
|
// Very naive implementation of course.
|
|
20
21
|
const key = `${prefix}${name}`;
|
|
21
|
-
const current = yield* $(tsplus_module_1.
|
|
22
|
+
const current = yield* $(tsplus_module_1.orDie(redis.get(key)));
|
|
22
23
|
if (!tsplus_module_2.isSome(current)) {
|
|
23
24
|
const m = yield* $(seed ?? tsplus_module_1.sync(() => []));
|
|
24
|
-
yield* $(tsplus_module_1.
|
|
25
|
-
.set(key, JSON.stringify({ data: [...m].map((e) => makeETag(e)) })))
|
|
25
|
+
yield* $(tsplus_module_1.orDie(redis
|
|
26
|
+
.set(key, JSON.stringify({ data: [...m].map((e) => makeETag(e)) }))));
|
|
26
27
|
}
|
|
27
|
-
const get = tsplus_module_1.
|
|
28
|
-
.get(key), (x) => tsplus_module_3.encaseMaybeInEffect_(x, () => new NotFoundError({ type: "data", id: "" })))), (x) => JSON.parse(x)), (_) => _.data)
|
|
28
|
+
const get = tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.flatMap(redis
|
|
29
|
+
.get(key), (x) => tsplus_module_3.encaseMaybeInEffect_(x, () => new NotFoundError({ type: "data", id: "" })))), (x) => JSON.parse(x)), (_) => _.data);
|
|
29
30
|
const set = (i) => tsplus_module_1.orDie(redis.set(key, JSON.stringify({ data: [...i.values()] })));
|
|
30
31
|
const sem = tsplus_module_1.unsafeMakeSemaphore(1);
|
|
31
32
|
const withPermit = sem.withPermits(1);
|
|
32
33
|
const asMap = tsplus_module_1.map(get, (x) => new Map(x.map((x) => [x.id, x])));
|
|
33
34
|
const all = tsplus_module_1.map(get, tsplus_module_4.fromIterable);
|
|
34
|
-
const batchSet = (items) => tsplus_module_1.
|
|
35
|
+
const batchSet = (items) => tsplus_module_1.map(tsplus_module_1.tap(tsplus_module_5.ext_forEach(items, (e) => tsplus_module_1.flatMap(s.find(e.id), (current) => updateETag(e, current))), (items) => tsplus_module_1.flatMap(tsplus_module_1.map(asMap, (m) => {
|
|
35
36
|
const mut = m;
|
|
36
37
|
items.forEach((e) => mut.set(e.id, e));
|
|
37
38
|
return mut;
|
|
38
39
|
}), set)), (_) => _)
|
|
39
|
-
.pipe(withPermit)
|
|
40
|
+
.pipe(withPermit);
|
|
40
41
|
const s = {
|
|
41
42
|
all,
|
|
42
43
|
filter: (f) => tsplus_module_1.map(all, memFilter(f)),
|
|
43
44
|
filterJoinSelect: (filter) => tsplus_module_1.map(all, (c) => c.flatMap(codeFilterJoinSelect(filter))),
|
|
44
45
|
find: (id) => tsplus_module_1.map(asMap, (_) => tsplus_module_2.fromNullable(_.get(id))),
|
|
45
|
-
set: (e) => tsplus_module_1.
|
|
46
|
+
set: (e) => tsplus_module_1.tap(tsplus_module_1.flatMap(s
|
|
46
47
|
.find(e.id), (current) => updateETag(e, current)), (e) => tsplus_module_1.flatMap(tsplus_module_1.map(asMap, (_) => new Map([..._, [e.id, e]])), set))
|
|
47
|
-
.pipe(withPermit),
|
|
48
|
+
.pipe(withPermit),
|
|
48
49
|
batchSet,
|
|
49
50
|
bulkSet: batchSet,
|
|
50
|
-
remove: (e) => tsplus_module_1.
|
|
51
|
-
.pipe(withPermit)
|
|
51
|
+
remove: (e) => tsplus_module_1.flatMap(tsplus_module_1.map(asMap, (_) => new Map([..._].filter(([_]) => _ !== e.id))), set)
|
|
52
|
+
.pipe(withPermit)
|
|
52
53
|
};
|
|
53
54
|
return s;
|
|
54
55
|
})
|
|
55
56
|
};
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
|
-
export function
|
|
59
|
-
return
|
|
59
|
+
export function RedisStoreLayer(cfg) {
|
|
60
|
+
return tsplus_module_7.provide(tsplus_module_7.effect(StoreMaker)(makeRedisStore(cfg)), RedisClientLayer(tsplus_module_6.value(cfg.url)));
|
|
60
61
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL1JlZGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRXZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFM0UsU0FBUyxjQUFjLENBQUMsRUFBRSxNQUFNLEVBQWlCO0lBQy9DLE9BQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDbkMsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixJQUFpQyxFQUNqQyxPQUF5QixFQUN6QixFQUFFLENBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUN2Qyx1Q0FBdUM7Z0JBQ3ZDLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO2dCQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLHVCQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQU8sQ0FBQTtnQkFDOUMsSUFBSSxDQUFDLHVCQUFBLE9BQU8sQ0FBUyxFQUFFLENBQUM7b0JBQ3RCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFD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
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { Config } from "effect/Config";
|
|
2
1
|
import type { StorageConfig } from "./service.js";
|
|
3
|
-
import { StoreMaker } from "./service.js";
|
|
4
2
|
/**
|
|
5
|
-
* @tsplus static StoreMaker.Ops
|
|
3
|
+
* @tsplus static StoreMaker.Ops Layer
|
|
6
4
|
* @tsplus location "@effect-app/infra/services/Store/index"
|
|
7
5
|
*/
|
|
8
|
-
export declare function
|
|
6
|
+
export declare function StoreMakerLayer(cfg: StorageConfig): import("effect/Layer").Layer<never, never, import("./service.js").StoreMaker>;
|
|
9
7
|
export * from "./service.js";
|
|
10
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;;;;;AAKjD,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,iFAkBjD;AAED,cAAc,cAAc,CAAA"}
|
|
@@ -1,50 +1,29 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Secret";
|
|
2
|
-
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "effect/Layer";
|
|
4
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { makeDiskStore } from "./Disk.js";
|
|
10
|
-
import { makeMemoryStore } from "./Memory.js";
|
|
11
|
-
import { makeRedisStore } from "./Redis.js";
|
|
12
|
-
import { StoreMaker } from "./service.js";
|
|
3
|
+
import { CosmosStoreLayer } from "./Cosmos.js";
|
|
4
|
+
import { DiskStoreLayer } from "./Disk.js";
|
|
5
|
+
import { MemoryStoreLive } from "./Memory.js";
|
|
6
|
+
import { RedisStoreLayer } from "./Redis.js";
|
|
13
7
|
/**
|
|
14
|
-
* @tsplus static StoreMaker.Ops
|
|
8
|
+
* @tsplus static StoreMaker.Ops Layer
|
|
15
9
|
*/
|
|
16
|
-
export function
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return tsplus_module_2.flatMap(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName), (client) => tsplus_module_2.provideService(makeCosmosStore(cfg), CosmosClient.CosmosClient, client));
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
function makeRedis(storageUrl) {
|
|
37
|
-
const url = new URL(storageUrl);
|
|
38
|
-
const hostname = url.hostname;
|
|
39
|
-
const password = url.password;
|
|
40
|
-
return () => createClient(storageUrl === "redis://"
|
|
41
|
-
? {
|
|
42
|
-
host: hostname,
|
|
43
|
-
port: 6380,
|
|
44
|
-
auth_pass: password,
|
|
45
|
-
tls: { servername: hostname }
|
|
46
|
-
}
|
|
47
|
-
: storageUrl);
|
|
10
|
+
export function StoreMakerLayer(cfg) {
|
|
11
|
+
const storageUrl = tsplus_module_1.value(cfg.url);
|
|
12
|
+
if (storageUrl.startsWith("mem://")) {
|
|
13
|
+
console.log("Using in memory store");
|
|
14
|
+
return MemoryStoreLive;
|
|
15
|
+
}
|
|
16
|
+
if (storageUrl.startsWith("disk://")) {
|
|
17
|
+
const dir = storageUrl.replace("disk://", "");
|
|
18
|
+
console.log("Using disk store at " + dir);
|
|
19
|
+
return DiskStoreLayer(cfg, dir);
|
|
20
|
+
}
|
|
21
|
+
if (storageUrl.startsWith("redis://")) {
|
|
22
|
+
console.log("Using Redis store");
|
|
23
|
+
return RedisStoreLayer(cfg);
|
|
24
|
+
}
|
|
25
|
+
console.log("Using Cosmos DB store");
|
|
26
|
+
return CosmosStoreLayer(cfg);
|
|
48
27
|
}
|
|
49
28
|
export * from "./service.js";
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRzVDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFrQjtJQUNoRCxNQUFNLFVBQVUseUJBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBTSxDQUFBO0lBQ2hDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNwQyxPQUFPLGVBQWUsQ0FBQTtJQUN4QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDckMsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLGNBQWMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtRQUNoQyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0lBQ3BDLE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUVELGNBQWMsY0FBYyxDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.122.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"proper-lockfile": "^4.1.2",
|
|
19
19
|
"pure-rand": "6.0.4",
|
|
20
20
|
"redlock": "^4.2.0",
|
|
21
|
-
"@effect-app/infra-adapters": "0.73.0",
|
|
22
21
|
"@effect-app/core": "0.87.0",
|
|
23
|
-
"@effect-app/prelude": "0.
|
|
22
|
+
"@effect-app/prelude": "0.94.0",
|
|
23
|
+
"@effect-app/infra-adapters": "0.74.0",
|
|
24
24
|
"@effect-app/schema": "0.84.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|