@effect-app/infra 0.182.0 → 0.182.3

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.
Files changed (85) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/_cjs/api/defaultErrorHandler.cjs +2 -2
  3. package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
  4. package/_cjs/api/routing/base.cjs +8 -8
  5. package/_cjs/api/routing/base.cjs.map +1 -1
  6. package/_cjs/api/routing/defaultErrorHandler.cjs +3 -3
  7. package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
  8. package/_cjs/api/routing/makeRequestHandler.cjs +5 -5
  9. package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
  10. package/_cjs/errorReporter.cjs +1 -1
  11. package/_cjs/errorReporter.cjs.map +1 -1
  12. package/_cjs/rateLimit.cjs +6 -6
  13. package/_cjs/rateLimit.cjs.map +1 -1
  14. package/_cjs/services/Emailer/fake.cjs +1 -1
  15. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  16. package/_cjs/services/Operations/live.cjs +4 -4
  17. package/_cjs/services/Operations/live.cjs.map +1 -1
  18. package/_cjs/services/Operations/service.cjs +3 -3
  19. package/_cjs/services/Operations/service.cjs.map +1 -1
  20. package/_cjs/services/QueueMaker/errors.cjs +2 -2
  21. package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
  22. package/_cjs/services/QueueMaker/memQueue.cjs +4 -4
  23. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  24. package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
  25. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  26. package/_cjs/services/Repository/dsl.cjs +2 -2
  27. package/_cjs/services/Repository/dsl.cjs.map +1 -1
  28. package/_cjs/services/Repository/ext.cjs +14 -14
  29. package/_cjs/services/Repository/ext.cjs.map +1 -1
  30. package/_cjs/services/RepositoryBase.cjs +26 -26
  31. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  32. package/_cjs/services/RequestContextContainer.cjs +7 -7
  33. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  34. package/_cjs/services/Store/ContextMapContainer.cjs +6 -6
  35. package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
  36. package/_cjs/services/Store/Cosmos.cjs +14 -12
  37. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  38. package/_cjs/services/Store/Disk.cjs +15 -15
  39. package/_cjs/services/Store/Disk.cjs.map +1 -1
  40. package/_cjs/services/Store/Memory.cjs +19 -19
  41. package/_cjs/services/Store/Memory.cjs.map +1 -1
  42. package/_cjs/services/Store/Redis.cjs +23 -23
  43. package/_cjs/services/Store/Redis.cjs.map +1 -1
  44. package/_cjs/services/simpledb/cosmosdb.cjs +9 -9
  45. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
  46. package/_cjs/services/simpledb/diskdb.cjs +14 -14
  47. package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
  48. package/_cjs/services/simpledb/memdb.cjs +10 -10
  49. package/_cjs/services/simpledb/memdb.cjs.map +1 -1
  50. package/_cjs/services/simpledb/mongodb.cjs +11 -11
  51. package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
  52. package/_cjs/services/simpledb/redisdb.cjs +21 -21
  53. package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
  54. package/_cjs/services/simpledb/simpledb.cjs +5 -5
  55. package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
  56. package/dist/api/defaultErrorHandler.js +7 -3
  57. package/dist/api/routing/base.js +15 -14
  58. package/dist/api/routing/defaultErrorHandler.js +10 -4
  59. package/dist/api/routing/makeRequestHandler.js +11 -6
  60. package/dist/errorReporter.js +2 -2
  61. package/dist/rateLimit.js +10 -7
  62. package/dist/services/Emailer/fake.js +3 -2
  63. package/dist/services/Operations/live.js +7 -6
  64. package/dist/services/Operations/service.js +10 -7
  65. package/dist/services/QueueMaker/errors.js +3 -3
  66. package/dist/services/QueueMaker/memQueue.js +11 -8
  67. package/dist/services/QueueMaker/sbqueue.js +5 -3
  68. package/dist/services/Repository/dsl.js +3 -3
  69. package/dist/services/Repository/ext.js +28 -15
  70. package/dist/services/RepositoryBase.js +46 -29
  71. package/dist/services/RequestContextContainer.js +12 -10
  72. package/dist/services/Store/ContextMapContainer.js +12 -9
  73. package/dist/services/Store/Cosmos.js +34 -21
  74. package/dist/services/Store/Disk.js +20 -16
  75. package/dist/services/Store/Memory.js +32 -25
  76. package/dist/services/Store/Redis.js +38 -27
  77. package/dist/services/simpledb/cosmosdb.js +20 -11
  78. package/dist/services/simpledb/diskdb.js +25 -19
  79. package/dist/services/simpledb/memdb.js +16 -12
  80. package/dist/services/simpledb/mongodb.js +19 -11
  81. package/dist/services/simpledb/redisdb.d.ts +3 -3
  82. package/dist/services/simpledb/redisdb.js +32 -20
  83. package/dist/services/simpledb/shared.d.ts +5 -5
  84. package/dist/services/simpledb/simpledb.js +14 -9
  85. package/package.json +5 -5
@@ -1,7 +1,7 @@
1
1
  import * as tsplus_module_1 from "@effect/schema/Schema";
2
- import * as tsplus_module_2 from "effect/Effect";
3
- import * as tsplus_module_3 from "@effect-app/core/Effect";
4
- import * as tsplus_module_4 from "effect/Option";
2
+ import * as tsplus_module_2 from "@effect-app/core/Effect";
3
+ import * as tsplus_module_3 from "effect/Option";
4
+ import * as tsplus_module_4 from "effect/Effect";
5
5
  import * as tsplus_module_5 from "effect/Exit";
6
6
  import { flow } from "@effect-app/core/Function";
7
7
  import { getRecordName, makeMap, SerializedDBRecord } from "./shared.js";
@@ -18,37 +18,41 @@ export function createContext() {
18
18
  save: simpledb.store(find, store, bogusLock, type)
19
19
  };
20
20
  function find(id) {
21
- return tsplus_module_3.mapOption(tsplus_module_3.flatMapOption(tsplus_module_2.map(storage
22
- .find(getRecordName(type, id)), (_) => _.map((s) => JSON.parse(s))), parseSDB), ({ data, version }) => ({
21
+ return tsplus_module_2.mapOption(tsplus_module_2.flatMapOption(storage
22
+ .find(getRecordName(type, id))
23
+ .map((_) => _.map((s) => JSON.parse(s))), parseSDB), ({ data, version }) => ({
23
24
  data: JSON.parse(data),
24
25
  version
25
26
  }));
26
27
  }
27
28
  function findBy(keys, eq) {
28
29
  // Naive implementation, fine for in memory testing purposes.
29
- return tsplus_module_2.map(tsplus_module_2.gen(function* ($) {
30
+ return tsplus_module_4.gen(function* ($) {
30
31
  for (const [, value] of storage) {
31
32
  const sdb_ = JSON.parse(value);
32
33
  const sdb = yield* $(parseSDB(sdb_));
33
34
  const cr = { data: JSON.parse(sdb.data), version: sdb.version };
34
- const r = yield* $(tsplus_module_2.exit(tsplus_module_2.filterOrFail(decode(cr.data), (d) => eq(keys, d), () => "not equals")));
35
+ const r = yield* $(tsplus_module_4.exit(tsplus_module_4.filterOrFail(decode(cr.data), (d) => eq(keys, d), () => "not equals")));
35
36
  if (tsplus_module_5.isSuccess(r)) {
36
37
  return r.value;
37
38
  }
38
39
  }
39
40
  return null;
40
- }), tsplus_module_4.fromNullable);
41
+ })
42
+ .map(tsplus_module_3.fromNullable);
41
43
  }
42
44
  function store(record, currentVersion) {
43
45
  const version = currentVersion
44
46
  .map((cv) => (parseInt(cv) + 1).toString())
45
47
  .getOrElse(() => "1");
46
- const getData = flow(encode, (_) => tsplus_module_2.map(tsplus_module_2.map(_, JSON.stringify), (data) => JSON.stringify({ version, timestamp: new Date(), data })));
47
- return tsplus_module_2.map(tsplus_module_2.flatMap(getData(record), (serialised) => storage.set(getRecordName(type, record.id), serialised)), () => ({ version, data: record }));
48
+ const getData = flow(encode, (_) => _.map(JSON.stringify).map((data) => JSON.stringify({ version, timestamp: new Date(), data })));
49
+ return getData(record)
50
+ .flatMap((serialised) => storage.set(getRecordName(type, record.id), serialised))
51
+ .map(() => ({ version, data: record }));
48
52
  }
49
53
  };
50
54
  }
51
55
  function bogusLock() {
52
- return tsplus_module_2.acquireRelease(tsplus_module_2.unit, () => tsplus_module_2.unit);
56
+ return tsplus_module_4.acquireRelease(tsplus_module_4.unit, () => tsplus_module_4.unit);
53
57
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL21lbWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBR2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hFLE9BQU8sS0FBSyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBR3pDLDREQUE0RDtBQUM1RCwyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFrQixDQUFBO0FBRXpDLE1BQU0sUUFBUSxpQ0FBRyxrQkFBa0IsQ0FBYyxDQUFBO0FBRWpELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEMsRUFDOUMsRUFBRTtRQUNGLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN2QyxNQUFNO1lBQ04sSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQ25ELENBQUE7UUFFRCxTQUFTLElBQUksQ0FBQyxFQUFVO1lBQ3RCLE9BQU8sMEJBQUEsOEJBQUEsb0JBQUEsT0FBTztpQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUN6QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzVCLFFBQVEsQ0FBQyxFQUNiLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVB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
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL21lbWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBR2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hFLE9BQU8sS0FBSyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBR3pDLDREQUE0RDtBQUM1RCwyQkFBMkI7QUFDM0IsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFrQixDQUFBO0FBRXpDLE1BQU0sUUFBUSxpQ0FBRyxrQkFBa0IsQ0FBYyxDQUFBO0FBRWpELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEMsRUFDOUMsRUFBRTtRQUNGLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN2QyxNQUFNO1lBQ04sSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQ25ELENBQUE7UUFFRCxTQUFTLElBQUksQ0FBQyxFQUFVO1lBQ3RCLE9BQU8sMEJBQUEsOEJBQUEsT0FBTztpQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDNUIsUUFBUSxDQUFDLEVBQ2IsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFPO2dCQUM1QixPQUFPO2FBQ1IsQ0FBQyxDQUFDLENBQUE7UUFDUCxDQUFDO1FBRUQsU0FBUyxNQUFNLENBQXVCLElBQU8sRUFBRSxFQUFrQjtZQUMvRCw2REFBNkQ7WUFDN0QsT0FBTyxvQkFDQSxRQUFRLENBQUMsRUFBQyxDQUFDO2dCQUNkLEtBQUssTUFBTSxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ2hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQzlCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtvQkFDcEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtvQkFDckUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxzQkFDaEIsNkJBQUEsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFpQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBRXhFLENBQUE7b0JBQ0QsSUFBSSwwQkFBQSxDQUFDLENBQVksRUFBRSxDQUFDO3dCQUNsQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUE7b0JBQ2hCLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsQ0FBQztpQkFDRCxHQUFHLDhCQUFxQixDQUFBO1FBQzdCLENBQUM7UUFFRCxTQUFTLEtBQUssQ0FBQyxNQUFTLEVBQUUsY0FBK0I7WUFDdkQsTUFBTSxPQUFPLEdBQUcsY0FBYztpQkFDM0IsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztpQkFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRXZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FDbEIsTUFBTSxFQUNOLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUNyRyxDQUFBO1lBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDO2lCQUNuQixPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7aUJBQ2hGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQXNCLENBQUEsQ0FBQyxDQUFBO1FBQzlELENBQUM7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUyxTQUFTO0lBQ2hCLE9BQU8scURBQTJCLEdBQUcsRUFBRSxxQkFBWSxDQUFDLENBQUE7QUFDdEQsQ0FBQyJ9
@@ -8,24 +8,29 @@ import * as simpledb from "./simpledb.js";
8
8
  // prev[cur] = 1
9
9
  // return prev
10
10
  // }, {} as Record<string, number>)
11
- const setup = (type, indexes) => tsplus_module_1.flatMap(MongoClient
12
- .tap(({ db }) => tsplus_module_1.tryPromise(() => db.createCollection(type).catch((err) => console.warn(err)))), ({ db }) => tsplus_module_1.tryPromise(() => db.collection(type).createIndexes(indexes)));
11
+ const setup = (type, indexes) => MongoClient
12
+ .tap(({ db }) => tsplus_module_1.tryPromise(() => db.createCollection(type).catch((err) => console.warn(err))))
13
+ .flatMap(({ db }) => tsplus_module_1.tryPromise(() => db.collection(type).createIndexes(indexes)));
13
14
  export function createContext() {
14
15
  return (type, encode, decode,
15
16
  // schemaVersion: string,
16
17
  indexes) => {
17
- return tsplus_module_1.map(setup(type, indexes), () => ({
18
+ return setup(type, indexes).map(() => ({
18
19
  find: simpledb.find(find, decode, type),
19
20
  findBy,
20
21
  save: simpledb.storeDirectly(store, type)
21
22
  }));
22
23
  function find(id) {
23
- return tsplus_module_3.mapOption(tsplus_module_1.map(tsplus_module_1.flatMap(MongoClient, ({ db }) => tsplus_module_1.tryPromise(() => db
24
+ return tsplus_module_3.mapOption(MongoClient
25
+ .flatMap(({ db }) => tsplus_module_1.tryPromise(() => db
24
26
  .collection(type)
25
- .findOne({ _id: { equals: id } }))), tsplus_module_2.fromNullable), ({ data, version }) => ({ version, data }));
27
+ .findOne({ _id: { equals: id } })))
28
+ .map(tsplus_module_2.fromNullable), ({ data, version }) => ({ version, data }));
26
29
  }
27
30
  function findBy(keys) {
28
- return tsplus_module_3.mapOption(tsplus_module_1.map(tsplus_module_1.flatMap(MongoClient, ({ db }) => tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, { projection: { _id: 1 } }))), tsplus_module_2.fromNullable), ({ _id }) => _id);
31
+ return tsplus_module_3.mapOption(MongoClient
32
+ .flatMap(({ db }) => tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, { projection: { _id: 1 } })))
33
+ .map(tsplus_module_2.fromNullable), ({ _id }) => _id);
29
34
  }
30
35
  function store(record, currentVersion) {
31
36
  return tsplus_module_1.gen(function* ($) {
@@ -35,17 +40,20 @@ export function createContext() {
35
40
  const { db } = yield* $(MongoClient);
36
41
  const data = yield* $(encode(record));
37
42
  yield* $(tsplus_module_2.match(currentVersion, {
38
- onNone: () => tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db
43
+ onNone: () => tsplus_module_1.tryPromise(() => db
39
44
  .collection(type)
40
45
  .insertOne({ _id: record.id, version, timestamp: new Date(), data }, {
41
46
  checkKeys: false // support for keys with `.` and `$`. NOTE: you can write them, read them, but NOT query for them.
42
47
  }))
43
- .asUnit),
44
- onSome: (currentVersion) => tsplus_module_1.flatMap(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db.collection(type).replaceOne({ _id: record.id, version: currentVersion }, {
48
+ .asUnit
49
+ .orDie,
50
+ onSome: (currentVersion) => tsplus_module_1.tryPromise(() => db.collection(type).replaceOne({ _id: record.id, version: currentVersion }, {
45
51
  version,
46
52
  timestamp: new Date(),
47
53
  data
48
- }, { upsert: false }))), (x) => {
54
+ }, { upsert: false }))
55
+ .orDie
56
+ .flatMap((x) => {
49
57
  if (!x.modifiedCount) {
50
58
  return new OptimisticLockException(type, record.id);
51
59
  }
@@ -57,4 +65,4 @@ export function createContext() {
57
65
  }
58
66
  };
59
67
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvbW9uZ29kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFHckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3JELE9BQU8sS0FBSyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBR3pDLHdHQUF3RztBQUN4RyxrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLG1DQUFtQztBQUVuQyxNQUFNLEtBQUssR0FBRyxDQUFDLElBQVksRUFBRSxPQUEyQixFQUFFLEVBQUUsQ0FDMUQsd0JBQUEsV0FBVztLQUNSLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLDJCQUFrQixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM3RixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLDJCQUFrQixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFN0YsTUFBTSxVQUFVLGFBQWE7SUFDM0IsT0FBTyxDQUNMLElBQVksRUFDWixNQUFpRCxFQUNqRCxNQUE4QztJQUM5Qyx5QkFBeUI7SUFDekIsT0FBMkIsRUFDM0IsRUFBRTtRQUNGLE9BQU8sb0JBQUEsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxD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
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvbW9uZ29kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFHckUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3JELE9BQU8sS0FBSyxRQUFRLE1BQU0sZUFBZSxDQUFBO0FBR3pDLHdHQUF3RztBQUN4RyxrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLG1DQUFtQztBQUVuQyxNQUFNLEtBQUssR0FBRyxDQUFDLElBQVksRUFBRSxPQUEyQixFQUFFLEVBQUUsQ0FDMUQsV0FBVztLQUNSLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLDJCQUFrQixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyRyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQywyQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRTdGLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEM7SUFDOUMseUJBQXlCO0lBQ3pCLE9BQTJCLEVBQzNCLEVBQUU7UUFDRixPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDckMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDdkMsTUFBTTtZQUNOLElBQUksRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUM7U0FDMUMsQ0FBQyxDQUFDLENBQUE7UUFFSCxTQUFTLElBQUksQ0FBQyxFQUFVO1lBQ3RCLE9BQU8sMEJBQUEsV0FBVztpQkFDZixPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FDbEIsMkJBQWtCLEdBQUcsRUFBRSxDQUNyQixFQUFFO2lCQUNDLFVBQVUsQ0FBQyxJQUFJLENBQUM7aUJBQ2hCLE9BQU8sQ0FBNEMsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUMvRSxDQUNGO2lCQUNBLEdBQUcsOEJBQXFCLEVBQ2pCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUF1QixDQUFBLENBQUMsQ0FBQTtRQUMzRSxDQUFDO1FBRUQsU0FBUyxNQUFNLENBQUMsSUFBNEI7WUFDMUMsT0FBTywwQkFBQSxXQUFXO2lCQUNmLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUNsQiwyQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQWdCLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDdEc7aUJBQ0EsR0FBRyw4QkFBcUIsRUFDakIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsU0FBUyxLQUFLLENBQUMsTUFBUyxFQUFFLGNBQStCO1lBQ3ZELE9BQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDM0IsTUFBTSxPQUFPLEdBQUcsY0FBYztxQkFDM0IsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztxQkFDMUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUV2QixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUNwQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7Z0JBQ3JDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTixzQkFBQSxjQUFjLEVBQ1o7b0JBQ0UsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUNYLDJCQUNjLEdBQUcsRUFBRSxDQUNmLEVBQUU7eUJBQ0MsVUFBVSxDQUFDLElBQUksQ0FBQzt5QkFDaEIsU0FBUyxDQUNSLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxFQUMvRDt3QkFDRSxTQUFTLEVBQUUsS0FBSyxDQUFDLGtHQUFrRztxQkFDaEcsQ0FDdEIsQ0FDSjt5QkFDQSxNQUFNO3lCQUNOLEtBQUs7b0JBQ1YsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDekIsMkJBQ2MsR0FBRyxFQUFFLENBQ2YsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQzVCLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFTLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxFQUNsRDt3QkFDRSxPQUFPO3dCQUNQLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTt3QkFDckIsSUFBSTtxQkFDTCxFQUNELEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUNsQixDQUNGO3lCQUNBLEtBQUs7eUJBQ0wsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQzs0QkFDckIsT0FBTyxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7d0JBQ3JELENBQUM7d0JBQ0QsNEJBQWtCO29CQUNwQixDQUFDLENBQUM7aUJBQ1AsQ0FDRixDQUNGLENBQUE7Z0JBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFxQixDQUFBO1lBQ3JELENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQTtBQUNILENBQUMifQ==
@@ -12,16 +12,16 @@ export declare function createContext<TKey extends string, EA, A extends DBRecor
12
12
  };
13
13
  declare const RedisSerializedDBRecord_base: S.EnhancedClass<{
14
14
  readonly data: string;
15
- readonly timestamp: Date;
16
15
  readonly version: string;
16
+ readonly timestamp: Date;
17
17
  }, {
18
18
  readonly data: string;
19
- readonly timestamp: string;
20
19
  readonly version: string;
20
+ readonly timestamp: string;
21
21
  }, never, {
22
22
  readonly data: string;
23
- readonly timestamp: Date;
24
23
  readonly version: string;
24
+ readonly timestamp: Date;
25
25
  }, RedisSerializedDBRecord, {
26
26
  version: S.Schema<string, string, never>;
27
27
  timestamp: S.Schema<Date, string, never> & {
@@ -1,5 +1,5 @@
1
- import * as tsplus_module_1 from "effect/Effect";
2
- import * as tsplus_module_2 from "@effect/schema/Schema";
1
+ import * as tsplus_module_1 from "@effect/schema/Schema";
2
+ import * as tsplus_module_2 from "effect/Effect";
3
3
  import * as tsplus_module_3 from "@effect-app/core/Effect";
4
4
  import * as tsplus_module_4 from "effect/Option";
5
5
  import * as tsplus_module_5 from "@effect/schema/Parser";
@@ -12,35 +12,43 @@ import * as simpledb from "./simpledb.js";
12
12
  const ttl = 10 * 1000;
13
13
  export function createContext() {
14
14
  return (type, encode, decode, schemaVersion, makeIndexKey) => {
15
- const getData = flow(encode, (_) => tsplus_module_1.map(_, JSON.stringify));
15
+ const getData = flow(encode, (_) => _.map(JSON.stringify));
16
16
  return {
17
17
  find: simpledb.find(find, decode, type),
18
18
  findByIndex: getIdx,
19
19
  save: simpledb.store(find, store, lockRedisRecord, type)
20
20
  };
21
21
  function find(id) {
22
- return tsplus_module_1.orDie(tsplus_module_3.flatMapOption(tsplus_module_1.flatMap(RedisClient, (_) => _.hmgetAll(getKey(id))), (v) => tsplus_module_1.mapError(tsplus_module_1.map(tsplus_module_2.decodeUnknown(RedisSerializedDBRecord)(v), ({ data, version }) => ({
22
+ return tsplus_module_3.flatMapOption(RedisClient
23
+ .flatMap((_) => _.hmgetAll(getKey(id))), (v) => tsplus_module_2.mapError(tsplus_module_1.decodeUnknown(RedisSerializedDBRecord)(v)
24
+ .map(({ data, version }) => ({
23
25
  data: JSON.parse(data),
24
26
  version
25
- })), (e) => new ConnectionException(new Error(e.toString())))));
27
+ })), (e) => new ConnectionException(new Error(e.toString()))))
28
+ .orDie;
26
29
  }
27
30
  function store(record, currentVersion) {
28
31
  const version = currentVersion
29
32
  .map((cv) => (parseInt(cv) + 1).toString())
30
33
  .getOrElse(() => "1");
31
34
  return tsplus_module_4.match(currentVersion, {
32
- onNone: () => tsplus_module_1.scoped(tsplus_module_1.zipRight(lockIndex(record), tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.zipRight(tsplus_module_1.flatMap(tsplus_module_1.zipRight(tsplus_module_3.zipRightOption(getIndex(record), tsplus_module_1.fail(() => new Error("Combination already exists, abort"))), getData(record))
33
- // TODO: instead use MULTI & EXEC to make it in one command?
34
- , (data) => hmSetRec(getKey(record.id), new RedisSerializedDBRecord({
35
+ onNone: () => tsplus_module_2.scoped(tsplus_module_2.zipRight(lockIndex(record), tsplus_module_2.zipRight(tsplus_module_2.zipRight(tsplus_module_3.zipRightOption(getIndex(record), tsplus_module_2.fail(() => new Error("Combination already exists, abort"))), getData(record))
36
+ // TODO: instead use MULTI & EXEC to make it in one command?
37
+ .flatMap((data) => hmSetRec(getKey(record.id), new RedisSerializedDBRecord({
35
38
  version,
36
39
  timestamp: new Date(),
37
40
  data
38
- }))), setIndex(record))), () => ({ version, data: record })))),
39
- onSome: () => tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.flatMap(getData(record), (data) => hmSetRec(getKey(record.id), new RedisSerializedDBRecord({
41
+ }))), setIndex(record))
42
+ .orDie
43
+ .map(() => ({ version, data: record })))),
44
+ onSome: () => getData(record)
45
+ .flatMap((data) => hmSetRec(getKey(record.id), new RedisSerializedDBRecord({
40
46
  version,
41
47
  timestamp: new Date(),
42
48
  data
43
- })))), () => ({ version, data: record }))
49
+ })))
50
+ .orDie
51
+ .map(() => ({ version, data: record }))
44
52
  });
45
53
  }
46
54
  function getIndex(record) {
@@ -56,30 +64,34 @@ export function createContext() {
56
64
  return lockRedisIdx(index);
57
65
  }
58
66
  function getIdx(index) {
59
- return tsplus_module_1.flatMap(RedisClient, (_) => tsplus_module_1.map(_.hget(getIdxKey(index), index.key), (_) => _.map((i) => i)));
67
+ return RedisClient.flatMap((_) => _.hget(getIdxKey(index), index.key).map((_) => _.map((i) => i)));
60
68
  }
61
69
  function setIdx(index, r) {
62
- return tsplus_module_1.flatMap(RedisClient, (_) => _.hset(getIdxKey(index), index.key, r.id));
70
+ return RedisClient.flatMap((_) => _.hset(getIdxKey(index), index.key, r.id));
63
71
  }
64
72
  function lockRedisIdx(index) {
65
73
  const lockKey = getIdxLockKey(index);
66
74
  // acquire
67
- return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(tsplus_module_1.flatMap(RedisClient, ({ lock }) => tsplus_module_1.tryPromise(() => lock.lock(lockKey, ttl))), {
75
+ return tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(RedisClient
76
+ .flatMap(({ lock }) => tsplus_module_2.tryPromise(() => lock.lock(lockKey, ttl))), {
68
77
  onFailure: (err) => new CouldNotAquireDbLockException(type, lockKey, err),
69
78
  // release
70
79
  onSuccess: (lock) => ({
71
- release: tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => lock.unlock()))
80
+ release: tsplus_module_2.tryPromise(() => lock.unlock())
81
+ .orDie
72
82
  })
73
83
  }), (l) => l.release);
74
84
  }
75
85
  function lockRedisRecord(id) {
76
86
  // acquire
77
- return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(tsplus_module_1.flatMap(RedisClient, ({ lock }) => tsplus_module_1.tryPromise(() => lock.lock(getLockKey(id), ttl))), {
87
+ return tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(RedisClient
88
+ .flatMap(({ lock }) => tsplus_module_2.tryPromise(() => lock.lock(getLockKey(id), ttl))), {
78
89
  onFailure: (err) => new CouldNotAquireDbLockException(type, id, err),
79
90
  // release
80
91
  onSuccess: (lock) => ({
81
92
  // TODO
82
- release: tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => lock.unlock()))
93
+ release: tsplus_module_2.tryPromise(() => lock.unlock())
94
+ .orDie
83
95
  })
84
96
  }), (l) => l.release);
85
97
  }
@@ -98,10 +110,10 @@ export function createContext() {
98
110
  };
99
111
  function hmSetRec(key, val) {
100
112
  const enc = tsplus_module_5.encodeSync(RedisSerializedDBRecord)(val);
101
- return tsplus_module_1.flatMap(RedisClient, ({ client }) => tsplus_module_1.uninterruptible(tsplus_module_1.async((res) => {
113
+ return RedisClient.flatMap(({ client }) => tsplus_module_2.uninterruptible(tsplus_module_2.async((res) => {
102
114
  client.hmset(key, "version", enc.version, "timestamp", enc.timestamp, "data", enc.data, (err) => err
103
115
  ? res(new ConnectionException(err))
104
- : res(tsplus_module_1.sync(() => void 0)));
116
+ : res(tsplus_module_2.sync(() => void 0)));
105
117
  })));
106
118
  }
107
119
  }
@@ -111,4 +123,4 @@ export class RedisSerializedDBRecord extends S.Class()({
111
123
  data: S.string
112
124
  }) {
113
125
  }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNkYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvcmVkaXNkYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ3JFLE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFHdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDN0csT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFekMsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQTtBQUVyQixNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQ0wsSUFBWSxFQUNaLE1BQWlELEVBQ2pELE1BQThDLEVBQzlDLGFBQXFCLEVBQ3JCLFlBQTZCLEVBQzdCLEVBQUU7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxvQkFBQSxDQUFDLEVBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7UUFDMUQsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3ZDLFdBQVcsRUFBRSxNQUFNO1lBQ25CLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQztTQUN6RCxDQUFBO1FBRUQsU0FBUyxJQUFJLENBQUMsRUFBVTtZQUN0Qiw2QkFBTyw4QkFBQSx3QkFBQSxXQUFXLEVBQ1AsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFD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
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNkYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvcmVkaXNkYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ3JFLE9BQU8sS0FBSyxDQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFHdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDN0csT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFekMsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQTtBQUVyQixNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQ0wsSUFBWSxFQUNaLE1BQWlELEVBQ2pELE1BQThDLEVBQzlDLGFBQXFCLEVBQ3JCLFlBQTZCLEVBQzdCLEVBQUU7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQzFELE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN2QyxXQUFXLEVBQUUsTUFBTTtZQUNuQixJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUM7U0FDekQsQ0FBQTtRQUVELFNBQVMsSUFBSSxDQUFDLEVBQVU7WUFDdEIsT0FBTyw4QkFBQSxXQUFXO2lCQUNmLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxF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
@@ -39,16 +39,16 @@ export interface DBRecord<TKey extends string> {
39
39
  }
40
40
  declare const SerializedDBRecord_base: S.EnhancedClass<{
41
41
  readonly data: string;
42
- readonly timestamp: Date;
43
42
  readonly version: string;
43
+ readonly timestamp: Date;
44
44
  }, {
45
45
  readonly data: string;
46
- readonly timestamp: string;
47
46
  readonly version: string;
47
+ readonly timestamp: string;
48
48
  }, never, {
49
49
  readonly data: string;
50
- readonly timestamp: Date;
51
50
  readonly version: string;
51
+ readonly timestamp: Date;
52
52
  }, SerializedDBRecord, {
53
53
  version: S.Schema<string, string, never>;
54
54
  timestamp: S.Schema<Date, string, never> & {
@@ -60,12 +60,12 @@ export declare class SerializedDBRecord extends SerializedDBRecord_base {
60
60
  }
61
61
  export declare function makeSerialisedDBRecord(s: Schema<any>): S.Schema<{
62
62
  readonly data: any;
63
- readonly timestamp: Date;
64
63
  readonly version: number;
64
+ readonly timestamp: Date;
65
65
  }, {
66
66
  readonly data: any;
67
- readonly timestamp: string;
68
67
  readonly version: number;
68
+ readonly timestamp: string;
69
69
  }, never>;
70
70
  export interface CachedRecord<T> {
71
71
  version: string;
@@ -30,7 +30,7 @@ export const RecordCache = tsplus_module_2.GenericTag("@services/RecordCache");
30
30
  export const LiveRecordCache = tsplus_module_3.effect(RecordCache)(tsplus_module_1.sync(() => makeLiveRecordCache()));
31
31
  const getM = (type) => (eff) => tsplus_module_1.gen(function* ($) {
32
32
  const { get } = yield* $(RecordCache);
33
- return yield* $(tsplus_module_1.flatMap(get(type), eff));
33
+ return yield* $(get(type).flatMap(eff));
34
34
  });
35
35
  export function find(tryRead, decode, type) {
36
36
  const getCache = getM(type);
@@ -43,20 +43,25 @@ export function find(tryRead, decode, type) {
43
43
  }
44
44
  export function storeDirectly(save, type) {
45
45
  const getCache = getM(type);
46
- return (record) => getCache((c) => tsplus_module_1.map(tsplus_module_1.flatMap(tsplus_module_4.mapOption(c
47
- .find(record.id), (x) => x.version), (cv) => save(record, cv))
48
- .tap((r) => c.set(record.id, r)), (r) => r.data));
46
+ return (record) => getCache((c) => tsplus_module_4.mapOption(c
47
+ .find(record.id), (x) => x.version)
48
+ .flatMap((cv) => save(record, cv))
49
+ .tap((r) => c.set(record.id, r))
50
+ .map((r) => r.data));
49
51
  }
50
52
  export function store(tryRead, save, lock, type) {
51
53
  const getCache = getM(type);
52
- return (record) => getCache((c) => tsplus_module_1.map(tsplus_module_1.flatMap(tsplus_module_4.mapOption(c
53
- .find(record.id), (x) => x.version), (_) => tsplus_module_5.match(_, { onNone: () => save(record, tsplus_module_5.none()), onSome: confirmVersionAndSave(record) }))
54
- .tap((r) => c.set(record.id, r)), (r) => r.data));
54
+ return (record) => getCache((c) => tsplus_module_4.mapOption(c
55
+ .find(record.id), (x) => x.version)
56
+ .flatMap((_) => tsplus_module_5.match(_, { onNone: () => save(record, tsplus_module_5.none()), onSome: confirmVersionAndSave(record) }))
57
+ .tap((r) => c.set(record.id, r))
58
+ .map((r) => r.data));
55
59
  function confirmVersionAndSave(record) {
56
- return (cv) => tsplus_module_1.scoped(tsplus_module_1.zipRight(lock(record.id), tsplus_module_1.zipRight(tsplus_module_1.flatMap(tryRead(record.id), (_) => tsplus_module_5.match(_, { onNone: () => tsplus_module_1.fail(new InvalidStateError("record is gone")), onSome: tsplus_module_1.succeed }))
60
+ return (cv) => tsplus_module_1.scoped(tsplus_module_1.zipRight(lock(record.id), tsplus_module_1.zipRight(tryRead(record.id)
61
+ .flatMap((_) => tsplus_module_5.match(_, { onNone: () => tsplus_module_1.fail(new InvalidStateError("record is gone")), onSome: tsplus_module_1.succeed }))
57
62
  .tap(({ version }) => version !== cv
58
63
  ? new OptimisticLockException(type, record.id)
59
64
  : tsplus_module_1.unit), save(record, tsplus_module_5.some(cv)))));
60
65
  }
61
66
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL3NpbXBsZWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUc5RCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQXFCLE9BQWUsRUFBVyxPQUFpQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVcsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUR2RCxTQUFJLEdBQUcsbUJBQW1CLENBQUE7SUFDZ0MsQ0FBQztDQUNyRTtBQUVELE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUE7SUFDdkQsT0FBTztRQUNMLEdBQUcsRUFBRSxDQUFJLElBQVksRUFBRSxFQUFFLENBQ3ZCLHFCQUFZLEdBQUcsRUFBRTtZQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNSLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBbUIsQ0FBQTtnQkFDckMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2YsT0FBTyxFQUF3QyxDQUFBO1lBQ2pELENBQUM7WUFDRCxPQUFPLEVBQXdDLENBQUE7UUFDakQsQ0FBQyxDQUFDO0tBQ0wsQ0FBQTtBQUNILENBQUM7QUFJRCxhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGdCQUFBLFVBQVUsQ0FBYyx1QkFBdUIsQ0FBQyxDQUFBO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyx1QkFBaUQsV0FBVyxFQUE1RCxxQkFBWSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQXFCLENBQUE7QUFFNUYsTUFBTSxJQUFJLEdBQUcsQ0FBSSxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQVUsR0FBK0QsRUFBRSxFQUFFLENBQzdHLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7SUFDcEIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNyQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBQSxHQUFHLENBQUksSUFBSSxDQUFDLEVBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUM1QyxDQUFDLENBQUMsQ0FBQTtBQUVKLE1BQU0sVUFBVSxJQUFJLENBQ2xCLE9BQStELEVBQy9ELE1BQThDLEVBQzlDLElBQVk7SUFFWixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUksSUFBSSxDQUFDLENBQUE7SUFDOUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUMxQiwwQkFBQSwwQkFBQSw4QkFBQSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQ0csQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQ2hDLHdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBUztRQUNuQixTQUFTLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDO1FBQ3hFLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQztLQUN6QyxDQUFDLENBQ0gsRUFDTyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3JDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFMUIsT0FBTyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQ3BCLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsdUJBQUEsMEJBQUEsQ0FBQztTQUNFLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDRCxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUM1QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDMUIsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUMzQixJQUF1RSxFQUN2RSxJQUFZO0lBRVosTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFJLElBQUksQ0FBQyxDQUFBO0lBQzlCLE9BQU8sQ0FBQyxNQUFTLEVBQUUsRUFBRSxDQUNuQixRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLG9CQUFBLHdCQUFBLDBCQUFBLENBQUM7U0FDRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUNSLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQ2hCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQzNCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ3RCLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FDbkIsT0FBK0QsRUFDL0QsSUFBdUUsRUFDdkUsSUFBcUQsRUFDckQsSUFBWTtJQUVaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBSSxJQUFJLENBQUMsQ0FBQTtJQUM5QixPQUFPLENBQUMsTUFBUyxFQUFFLEVBQUUsQ0FDbkIsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDYixvQkFBQSx3QkFBQSwwQkFBQSxDQUFDO1NBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFDUixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUNoQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsc0JBQUEsQ0FBQyxFQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsc0JBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDN0csR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDM0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FDdEIsQ0FBQTtJQUVILFNBQVMscUJBQXFCLENBQUMsTUFBUztRQUN0QyxPQUFPLENBQUMsRUFBVyxFQUFFLEVBQUUsd0JBQ3JCLHlCQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBRVgseUJBQUEsd0JBQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFDUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2Isc0JBQUEsQ0FBQyxFQUNDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLHFCQUFZLElBQUksaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLE1BQU0seUJBQWdCLEVBQUUsQ0FDL0YsQ0FDRjthQUNBLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUNuQixPQUFPLEtBQUssRUFBRTtZQUNaLENBQUMsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzlDLENBQUMscUJBQVksQ0FDaEIsRUFDUyxJQUFJLENBQUMsTUFBTSxFQUFFLHFCQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDM0MsQ0FDTSxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUMifQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL3NpbXBsZWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUc5RCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQXFCLE9BQWUsRUFBVyxPQUFpQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVcsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUR2RCxTQUFJLEdBQUcsbUJBQW1CLENBQUE7SUFDZ0MsQ0FBQztDQUNyRTtBQUVELE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUE7SUFDdkQsT0FBTztRQUNMLEdBQUcsRUFBRSxDQUFJLElBQVksRUFBRSxFQUFFLENBQ3ZCLHFCQUFZLEdBQUcsRUFBRTtZQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNSLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBbUIsQ0FBQTtnQkFDckMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ2YsT0FBTyxFQUF3QyxDQUFBO1lBQ2pELENBQUM7WUFDRCxPQUFPLEVBQXdDLENBQUE7UUFDakQsQ0FBQyxDQUFDO0tBQ0wsQ0FBQTtBQUNILENBQUM7QUFJRCxhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGdCQUFBLFVBQVUsQ0FBYyx1QkFBdUIsQ0FBQyxDQUFBO0FBRTNFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyx1QkFBaUQsV0FBVyxFQUE1RCxxQkFBWSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQXFCLENB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "0.182.0",
3
+ "version": "0.182.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -22,10 +22,10 @@
22
22
  "pure-rand": "6.0.4",
23
23
  "redlock": "^4.2.0",
24
24
  "@effect-app/core": "0.136.0",
25
- "@effect-app/fluent-extensions": "0.130.0",
26
- "@effect-app/infra-adapters": "0.123.0",
27
- "effect-app": "0.158.0",
28
- "@effect-app/schema": "0.189.0"
25
+ "@effect-app/infra-adapters": "0.123.3",
26
+ "@effect-app/schema": "0.189.0",
27
+ "effect-app": "0.158.3",
28
+ "@effect-app/fluent-extensions": "0.130.3"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@babel/cli": "^7.23.9",