@effect-app/infra 0.24.3 → 0.25.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.
Files changed (120) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/_cjs/_ext/Array.cjs +2 -3
  3. package/_cjs/_ext/Array.cjs.map +1 -1
  4. package/_cjs/api/codec.cjs +1 -1
  5. package/_cjs/api/codec.cjs.map +1 -1
  6. package/_cjs/api/defaultErrorHandler.cjs +17 -18
  7. package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
  8. package/_cjs/api/express/makeJsonSchema.cjs +4 -4
  9. package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
  10. package/_cjs/api/express/makeOpenApiSpecs.cjs +2 -2
  11. package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
  12. package/_cjs/api/express/schema/requestHandler.cjs +45 -45
  13. package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
  14. package/_cjs/api/express/schema/routing.cjs +19 -19
  15. package/_cjs/api/express/schema/routing.cjs.map +1 -1
  16. package/_cjs/api/reportError.cjs +2 -2
  17. package/_cjs/api/reportError.cjs.map +1 -1
  18. package/_cjs/api/routing.cjs +54 -54
  19. package/_cjs/api/routing.cjs.map +1 -1
  20. package/_cjs/api/setupRequest.cjs +2 -2
  21. package/_cjs/api/setupRequest.cjs.map +1 -1
  22. package/_cjs/api/writeDocs.cjs +6 -6
  23. package/_cjs/api/writeDocs.cjs.map +1 -1
  24. package/_cjs/errorReporter.cjs +4 -4
  25. package/_cjs/errorReporter.cjs.map +1 -1
  26. package/_cjs/instrument.cjs +1 -1
  27. package/_cjs/instrument.cjs.map +1 -1
  28. package/_cjs/rateLimit.cjs +8 -8
  29. package/_cjs/rateLimit.cjs.map +1 -1
  30. package/_cjs/services/Emailer/Sendgrid.cjs +7 -8
  31. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
  32. package/_cjs/services/Emailer/fake.cjs +4 -5
  33. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  34. package/_cjs/services/Operations/live.cjs +10 -10
  35. package/_cjs/services/Operations/live.cjs.map +1 -1
  36. package/_cjs/services/Operations/service.cjs +3 -3
  37. package/_cjs/services/Operations/service.cjs.map +1 -1
  38. package/_cjs/services/QueueMaker/errors.cjs +3 -3
  39. package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
  40. package/_cjs/services/QueueMaker/memQueue.cjs +10 -11
  41. package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
  42. package/_cjs/services/QueueMaker/sbqueue.cjs +5 -5
  43. package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
  44. package/_cjs/services/Repository.cjs +21 -21
  45. package/_cjs/services/Repository.cjs.map +1 -1
  46. package/_cjs/services/Store/Cosmos.cjs +42 -42
  47. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  48. package/_cjs/services/Store/Disk.cjs +20 -21
  49. package/_cjs/services/Store/Disk.cjs.map +1 -1
  50. package/_cjs/services/Store/Memory.cjs +24 -24
  51. package/_cjs/services/Store/Memory.cjs.map +1 -1
  52. package/_cjs/services/Store/Redis.cjs +14 -15
  53. package/_cjs/services/Store/Redis.cjs.map +1 -1
  54. package/_cjs/services/Store/codeFilter.test.cjs +5 -5
  55. package/_cjs/services/Store/codeFilter.test.cjs.map +1 -1
  56. package/_cjs/services/Store/index.cjs +4 -4
  57. package/_cjs/services/Store/index.cjs.map +1 -1
  58. package/_cjs/services/Store/utils.cjs +4 -4
  59. package/_cjs/services/Store/utils.cjs.map +1 -1
  60. package/_cjs/services/simpledb/cosmosdb.cjs +19 -19
  61. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
  62. package/_cjs/services/simpledb/diskdb.cjs +18 -18
  63. package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
  64. package/_cjs/services/simpledb/memdb.cjs +9 -9
  65. package/_cjs/services/simpledb/memdb.cjs.map +1 -1
  66. package/_cjs/services/simpledb/mongodb.cjs +16 -16
  67. package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
  68. package/_cjs/services/simpledb/redisdb.cjs +20 -20
  69. package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
  70. package/_cjs/services/simpledb/simpledb.cjs +9 -9
  71. package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
  72. package/_src/RequestContext.ts +2 -2
  73. package/_src/api/reportError.ts +2 -2
  74. package/_src/rateLimit.ts +4 -4
  75. package/_src/services/QueueMaker/errors.ts +1 -1
  76. package/dist/RequestContext.d.ts +2 -2
  77. package/dist/_ext/Array.js +3 -4
  78. package/dist/api/codec.js +2 -2
  79. package/dist/api/defaultErrorHandler.js +18 -18
  80. package/dist/api/express/makeJsonSchema.js +5 -5
  81. package/dist/api/express/makeOpenApiSpecs.d.ts +1 -1
  82. package/dist/api/express/makeOpenApiSpecs.js +2 -2
  83. package/dist/api/express/schema/requestHandler.js +41 -41
  84. package/dist/api/express/schema/routing.js +20 -20
  85. package/dist/api/reportError.d.ts +2 -2
  86. package/dist/api/reportError.d.ts.map +1 -1
  87. package/dist/api/reportError.js +4 -4
  88. package/dist/api/routing.d.ts +1 -1
  89. package/dist/api/routing.d.ts.map +1 -1
  90. package/dist/api/routing.js +63 -63
  91. package/dist/api/setupRequest.js +3 -3
  92. package/dist/api/writeDocs.js +7 -7
  93. package/dist/errorReporter.js +3 -3
  94. package/dist/instrument.js +2 -2
  95. package/dist/rateLimit.d.ts +3 -3
  96. package/dist/rateLimit.js +9 -9
  97. package/dist/services/Emailer/Sendgrid.js +8 -9
  98. package/dist/services/Emailer/fake.js +5 -6
  99. package/dist/services/Operations/live.js +12 -12
  100. package/dist/services/Operations/service.js +4 -4
  101. package/dist/services/QueueMaker/errors.d.ts +1 -1
  102. package/dist/services/QueueMaker/errors.d.ts.map +1 -1
  103. package/dist/services/QueueMaker/errors.js +4 -4
  104. package/dist/services/QueueMaker/memQueue.js +10 -10
  105. package/dist/services/QueueMaker/sbqueue.js +5 -5
  106. package/dist/services/Repository.d.ts +14 -14
  107. package/dist/services/Repository.js +15 -15
  108. package/dist/services/Store/Cosmos.js +44 -44
  109. package/dist/services/Store/Disk.js +22 -23
  110. package/dist/services/Store/Memory.js +26 -26
  111. package/dist/services/Store/Redis.js +15 -16
  112. package/dist/services/Store/index.js +5 -5
  113. package/dist/services/Store/utils.js +5 -5
  114. package/dist/services/simpledb/cosmosdb.js +19 -19
  115. package/dist/services/simpledb/diskdb.js +15 -15
  116. package/dist/services/simpledb/memdb.js +10 -10
  117. package/dist/services/simpledb/mongodb.js +15 -15
  118. package/dist/services/simpledb/redisdb.js +17 -17
  119. package/dist/services/simpledb/simpledb.js +12 -12
  120. package/package.json +8 -8
@@ -3,7 +3,6 @@ import * as tsplus_module_2 from "@fp-ts/core/Option";
3
3
  import * as tsplus_module_3 from "@effect-app/prelude/_ext/misc";
4
4
  import * as tsplus_module_4 from "@effect/data/Chunk";
5
5
  import * as tsplus_module_5 from "@effect-app/core/_ext/Iterable";
6
- import * as tsplus_module_6 from "@effect-app/core/Effect";
7
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
8
7
  import * as RedisClient from "@effect-app/infra-adapters/redis-client";
9
8
  import { NotFoundError } from "../../errors.js";
@@ -18,32 +17,32 @@ export function makeRedisStore({ prefix }) {
18
17
  const updateETag = makeUpdateETag(name);
19
18
  // Very naive implementation of course.
20
19
  const key = `${prefix}${name}`;
21
- const current = yield* $(tsplus_module_1.provideService(RedisClient.RedisClient, redis)(tsplus_module_1.orDie(RedisClient.get(key))));
20
+ const current = yield* $(tsplus_module_1.provideService(tsplus_module_1.orDie(RedisClient.get(key)), RedisClient.RedisClient, redis));
22
21
  if (!tsplus_module_2.isSome(current)) {
23
22
  const m = yield* $(seed ?? tsplus_module_1.sync(() => new Map()));
24
- yield* $(tsplus_module_1.provideService(RedisClient.RedisClient, redis)(tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({ data: [...m.values()].map(e => makeETag(e)) })))));
23
+ yield* $(tsplus_module_1.provideService(tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({ data: [...m.values()].map(e => makeETag(e)) }))), RedisClient.RedisClient, redis));
25
24
  }
26
- const get = tsplus_module_1.provideService(RedisClient.RedisClient, redis)(tsplus_module_1.map(_ => _.data)(tsplus_module_1.map(x => JSON.parse(x))(tsplus_module_1.orDie(tsplus_module_1.flatMap(x => tsplus_module_3.encaseMaybeInEffect_(x, () => new NotFoundError("data", "")))(RedisClient.get(key))))));
25
+ const get = tsplus_module_1.provideService(tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.flatMap(RedisClient.get(key), x => tsplus_module_3.encaseMaybeInEffect_(x, () => new NotFoundError("data", "")))), x => JSON.parse(x)), _ => _.data), RedisClient.RedisClient, redis);
27
26
  const set = (i) => tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({ data: [...i.values()] })));
28
27
  const sem = tsplus_module_1.unsafeMakeSemaphore(1);
29
28
  const withPermit = sem.withPermits(1);
30
- const asMap = tsplus_module_1.map(x => new Map(x.map(x => [x.id, x])))(get);
31
- const all = tsplus_module_1.map(tsplus_module_4.fromIterable)(get);
32
- const batchSet = (items) => tsplus_module_1.provideService(RedisClient.RedisClient, redis)(withPermit(tsplus_module_1.map(_ => _.toReadonlyArray())(tsplus_module_1.tap(items => tsplus_module_1.flatMap(set)(tsplus_module_1.map(m => {
29
+ const asMap = tsplus_module_1.map(get, x => new Map(x.map(x => [x.id, x])));
30
+ const all = tsplus_module_1.map(get, tsplus_module_4.fromIterable);
31
+ const batchSet = (items) => tsplus_module_1.provideService(withPermit(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 => {
33
32
  const mut = m;
34
33
  items.forEach(e => mut.set(e.id, e));
35
34
  return mut;
36
- })(asMap)))(tsplus_module_5.ext_forEach(items, e => tsplus_module_1.flatMap(current => updateETag(e, current))(s.find(e.id)))))));
35
+ }), set)), _ => _.toReadonlyArray())), RedisClient.RedisClient, redis);
37
36
  const s = {
38
37
  all,
39
- filter: (filter, cursor) => tsplus_module_1.map(memFilter(filter, cursor))(all),
40
- filterJoinSelect: (filter) => tsplus_module_1.map(c => c.flatMap(codeFilterJoinSelect(filter)))(all),
41
- find: id => tsplus_module_1.map(_ => tsplus_module_2.fromNullable(_.get(id)))(asMap),
42
- set: e => tsplus_module_1.provideService(RedisClient.RedisClient, redis)(withPermit(tsplus_module_1.tap(e => tsplus_module_1.flatMap(set)(tsplus_module_1.map(_ => new Map([..._, [e.id, e]]))(asMap)))(tsplus_module_1.flatMap(current => updateETag(e, current))(s
43
- .find(e.id))))),
38
+ filter: (filter, cursor) => tsplus_module_1.map(all, memFilter(filter, cursor)),
39
+ filterJoinSelect: (filter) => tsplus_module_1.map(all, c => c.flatMap(codeFilterJoinSelect(filter))),
40
+ find: id => tsplus_module_1.map(asMap, _ => tsplus_module_2.fromNullable(_.get(id))),
41
+ set: e => tsplus_module_1.provideService(withPermit(tsplus_module_1.tap(tsplus_module_1.flatMap(s
42
+ .find(e.id), current => updateETag(e, current)), e => tsplus_module_1.flatMap(tsplus_module_1.map(asMap, _ => new Map([..._, [e.id, e]])), set))), RedisClient.RedisClient, redis),
44
43
  batchSet,
45
44
  bulkSet: batchSet,
46
- remove: (e) => tsplus_module_1.provideService(RedisClient.RedisClient, redis)(withPermit(tsplus_module_1.flatMap(set)(tsplus_module_1.map(_ => new Map([..._].filter(([_]) => _ !== e.id)))(asMap))))
45
+ remove: (e) => tsplus_module_1.provideService(withPermit(tsplus_module_1.flatMap(tsplus_module_1.map(asMap, _ => new Map([..._].filter(([_]) => _ !== e.id))), set)), RedisClient.RedisClient, redis)
47
46
  };
48
47
  return s;
49
48
  })
@@ -51,6 +50,6 @@ export function makeRedisStore({ prefix }) {
51
50
  });
52
51
  }
53
52
  export function RedisStoreLive(config) {
54
- return tsplus_module_6.toLayer(tsplus_module_1.flatMap(makeRedisStore)(tsplus_module_1.config(config)), StoreMaker);
53
+ return tsplus_module_1.toLayer(tsplus_module_1.flatMap(tsplus_module_1.config(config), makeRedisStore), StoreMaker);
55
54
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL1JlZGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssV0FBVyxNQUFNLHlDQUF5QyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBR3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFM0UsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFFLE1BQU0sRUFBaUI7SUFDdEQsT0FBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMseUJBQUMsV0FBVyxDQUFDLFdBQVcsRUFBUSxDQUFBO1FBQ3RELE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FDSixJQUFZLEVBQ1osSUFBaUQsRUFDakQsT0FBeUIsRUFDekIsRUFBRSxDQUNGLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7Z0JBQ3BCLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDdkMsdUNBQXVDO2dCQUN2QyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQTtnQkFDOUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtCQUEwQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssd0JBQXhFLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQXFELENBQUMsQ0FBQTtnQkFDbkcsSUFBSSxDQUFDLHVCQUFBLE9BQU8sQ0FBUyxFQUFF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
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL1JlZGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sS0FBSyxXQUFXLE1BQU0seUNBQXlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUzRSxNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFpQjtJQUN0RCxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyx5QkFBQyxXQUFXLENBQUMsV0FBVyxFQUFRLENBQUE7UUFDdEQsT0FBTztZQUNMLElBQUksRUFBRSxDQUNKLElBQVksRUFDWixJQUFpRCxFQUNqRCxPQUF5QixFQUN6QixFQUFFLENBQ0Ysb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUN2Qyx1Q0FBdUM7Z0JBQ3ZDLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFBO2dCQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMscURBQUEsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBc0IsV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO2dCQUNuRyxJQUFJLENBQUMsdUJBQUEsT0FBTyxDQUFTLEVBQUU7b0JB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
@@ -14,7 +14,7 @@ import { StoreMaker } from "./service.js";
14
14
  * @tsplus static StoreMaker.Ops Live
15
15
  */
16
16
  export function StoreMakerLive(config) {
17
- return tsplus_module_3.toScopedLayer(tsplus_module_2.flatMap(cfg => {
17
+ return tsplus_module_3.toScopedLayer(tsplus_module_2.flatMap(tsplus_module_2.config(config), cfg => {
18
18
  const storageUrl = tsplus_module_1.value(cfg.url);
19
19
  if (storageUrl.startsWith("mem://")) {
20
20
  console.log("Using in memory store");
@@ -26,11 +26,11 @@ export function StoreMakerLive(config) {
26
26
  }
27
27
  if (storageUrl.startsWith("redis://")) {
28
28
  console.log("Using Redis store");
29
- return tsplus_module_2.flatMap(client => tsplus_module_2.provideService(RedisClient.RedisClient, client)(makeRedisStore(cfg)))(RedisClient.makeRedisClient(makeRedis(storageUrl)));
29
+ return tsplus_module_2.flatMap(RedisClient.makeRedisClient(makeRedis(storageUrl)), client => tsplus_module_2.provideService(makeRedisStore(cfg), RedisClient.RedisClient, client));
30
30
  }
31
31
  console.log("Using Cosmos DB store");
32
- return tsplus_module_2.flatMap(client => tsplus_module_2.provideService(CosmosClient.CosmosClient, client)(makeCosmosStore(cfg)))(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName));
33
- })(tsplus_module_2.config(config)), StoreMaker);
32
+ return tsplus_module_2.flatMap(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName), client => tsplus_module_2.provideService(makeCosmosStore(cfg), CosmosClient.CosmosClient, client));
33
+ }), StoreMaker);
34
34
  }
35
35
  function makeRedis(storageUrl) {
36
36
  const url = new URL(storageUrl);
@@ -46,4 +46,4 @@ function makeRedis(storageUrl) {
46
46
  : storageUrl);
47
47
  }
48
48
  export * from "./service.js";
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssWUFBWSxNQUFNLDBDQUEwQyxDQUFBO0FBQ3hFLE9BQU8sS0FBSyxXQUFXLE1BQU0seUNBQXlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFekM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQTZCO0lBQzFELE9BQU8sOEJBQUEsd0JBQXNCLEdBQUcsQ0FBQyxFQUFFO1FBQ2pDLE1BQU0sVUFBVSx5QkFBRyxHQUFHLENBQUMsR0FBRyxDQUFNLENBQUE7UUFDaEMsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtZQUNwQyxPQUFPLDJCQUFPLGVBQWUsRUFBRSxDQUFDLENBQUE7U0FDakM7UUFDRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1lBQzFDLE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQzFCO1FBQ0QsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtZQUNoQyxPQUFPLHdCQUEyRCxNQUFNLENBQUMsRUFBRSxDQUN6RSwrQkFDRSxXQUFXLENBQUMsV0FBVyxFQUN2QixNQUFNLEVBRlIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUdsQixFQUpJLFdBQVcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBS3hELENBQUE7U0FDRjtRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUNwQyxPQUFPLHdCQUE4RCxNQUFNLENBQUMsRUFBRSxDQUM1RSwrQkFBb0MsWUFBWSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQXJFLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBa0QsRUFEakUsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBRTNELENBQUE7SUFDSCxDQUFDLHlCQXhCTSxNQUFNLEVBd0JYLEVBQ2UsVUFBVSxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLFVBQWtCO0lBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9CLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUE7SUFDN0IsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQTtJQUM3QixPQUFPLEdBQUcsRUFBRSxDQUNWLFlBQVksQ0FDVixVQUFVLEtBQUssVUFBVTtRQUN2QixDQUFDLENBQUU7WUFDRCxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtTQUN0QjtRQUNULENBQUMsQ0FBRSxVQUFrQixDQUN4QixDQUFBO0FBQ0wsQ0FBQztBQUVELGNBQWMsY0FBYyxDQUFBIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssWUFBWSxNQUFNLDBDQUEwQyxDQUFBO0FBQ3hFLE9BQU8sS0FBSyxXQUFXLE1BQU0seUNBQXlDLENBQUE7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUVwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFekM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQTZCO0lBQzFELE9BQU8sOEJBQUEsK0NBQUEsTUFBTSxHQUFnQixHQUFHLENBQUMsRUFBRTtRQUNqQyxNQUFNLFVBQVUseUJBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBTSxDQUFBO1FBQ2hDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUE7WUFDcEMsT0FBTywyQkFBTyxlQUFlLEVBQUUsQ0FBQyxDQUFBO1NBQ2pDO1FBQ0QsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtZQUMxQyxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUMxQjtRQUNELElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUE7WUFDaEMsT0FBTyx3QkFBQSxXQUFXLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFTLE1BQU0sQ0FBQyxFQUFFLENBQ3pFLCtCQUFBLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFDakIsV0FBVyxDQUFDLFdBQVcsRUFDdkIsTUFBTSxDQUNQLENBQ0YsQ0FBQTtTQUNGO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQ3BDLE9BQU8sd0JBQUEsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQVMsTUFBTSxDQUFDLEVBQUUsQ0FDNUUsK0JBQUEsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFnQixZQUFZLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUN2RSxDQUFBO0lBQ0gsQ0FBQyxDQUFDLEVBQ2UsVUFBVSxDQUFDLENBQUE7QUFDOUIsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLFVBQWtCO0lBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9CLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUE7SUFDN0IsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQTtJQUM3QixPQUFPLEdBQUcsRUFBRSxDQUNWLFlBQVksQ0FDVixVQUFVLEtBQUssVUFBVTtRQUN2QixDQUFDLENBQUU7WUFDRCxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFFBQVE7WUFDbkIsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRTtTQUN0QjtRQUNULENBQUMsQ0FBRSxVQUFrQixDQUN4QixDQUFBO0FBQ0wsQ0FBQztBQUVELGNBQWMsY0FBYyxDQUFBIn0=
@@ -75,17 +75,17 @@ export function codeFilter(filter) {
75
75
  : tsplus_module_3.none;
76
76
  }
77
77
  export function codeFilterJoinSelect(filter) {
78
- return (x) => tsplus_module_5.ext_itToChunk(tsplus_module_4.filterMap(k => {
78
+ return (x) => tsplus_module_5.ext_itToChunk(tsplus_module_4.filterMap(filter.keys, k => {
79
79
  const value = get(x, k);
80
80
  // we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
81
81
  return value
82
- ? tsplus_module_1.some(tsplus_module_4.filterMap(v =>
82
+ ? tsplus_module_1.some(tsplus_module_4.filterMap(value, v =>
83
83
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
84
  compareCaseInsensitive(v[filter.valueKey], filter.value)
85
85
  ? tsplus_module_1.some({ ...v, _rootId: x.id })
86
- : tsplus_module_3.none)(value))
86
+ : tsplus_module_3.none))
87
87
  : tsplus_module_3.none;
88
- })(filter.keys)
88
+ })
89
89
  .flatMap(_ => _));
90
90
  }
91
91
  function lowercaseIfString(val) {
@@ -99,4 +99,4 @@ function compareCaseInsensitive(valA, valB) {
99
99
  ? valA.toLowerCase() === valB.toLowerCase()
100
100
  : valA === valB;
101
101
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRS9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBSWhFLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQTtBQUVwQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUssRUFDZixFQUFFLENBQ0wsQ0FBQztJQUNDLEdBQUcsQ0FBQztJQUNKLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0NBQ3JCLENBQVEsQ0FBQTtBQUNYLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDekIsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQXdELENBQUksRUFBRSxPQUFrQixFQUFFLEVBQUUsQ0FDcEcsb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztJQUNwQixJQUFJLHVCQUFBLE9BQU8sQ0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUU7UUFDdkQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2IscUJBQVksSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3RHLENBQUE7S0FDRjtJQUNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN4QixPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQyxDQUFBO0FBRU4sTUFBTSxVQUFVLFVBQVUsQ0FBeUMsTUFBa0I7SUFDbkYsT0FBTyxD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
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1N0b3JlL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRS9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBSWhFLE9BQU8sVUFBVSxNQUFNLGFBQWEsQ0FBQTtBQUVwQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FDdEIsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUssRUFDZixFQUFFLENBQ0wsQ0FBQztJQUNDLEdBQUcsQ0FBQztJQUNKLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0NBQ3JCLENBQVEsQ0FBQTtBQUNYLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDekIsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQXdELENBQUksRUFBRSxPQUFrQixFQUFFLEVBQUUsQ0FDcEcsb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztJQUNwQixJQUFJLHVCQUFBLE9BQU8sQ0FBUyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUU7UUFDdkQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2IscUJBQVksSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3RHLENBQUE7S0FDRjtJQUNELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN4QixPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQyxDQUFBO0FBRU4sTUFBTSxVQUFVLFVBQVUsQ0FBeUMsTUFBa0I7SUFDbkYsT0FBTyxD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
@@ -11,25 +11,25 @@ class CosmosDbOperationError {
11
11
  this.message = message;
12
12
  }
13
13
  }
14
- const setup = (type, indexingPolicy) => tsplus_module_1.tap(db => tsplus_module_1.tryPromise(() => db.containers
14
+ const setup = (type, indexingPolicy) => tsplus_module_1.tap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db.containers
15
15
  .create({ id: type, indexingPolicy })
16
- .catch(err => console.warn(err))))(Cosmos.db);
16
+ .catch(err => console.warn(err))));
17
17
  // TODO: Error if current indexingPolicy does not match
18
18
  // Effect.flatMap((db) => Effect.tryPromise(() => db.container(type).(indexes)))
19
19
  export function createContext() {
20
20
  return (type, encode, decode,
21
21
  // schemaVersion: string,
22
22
  indexes) => {
23
- return tsplus_module_1.map(() => ({
23
+ return tsplus_module_1.map(setup(type, indexes), () => ({
24
24
  find: simpledb.find(find, decode, type),
25
25
  findBy,
26
26
  save: simpledb.storeDirectly(store, type)
27
- }))(setup(type, indexes));
27
+ }));
28
28
  function find(id) {
29
- return tsplus_module_1.map(_ => tsplus_module_2.map(({ _etag, data }) => ({ version: _etag, data }))(_))(tsplus_module_1.map(i => tsplus_module_2.fromNullable(i.resource))(tsplus_module_1.flatMap(db => tsplus_module_1.tryPromise(() => db.container(type).item(id).read()))(Cosmos.db)));
29
+ return tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.flatMap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db.container(type).item(id).read())), i => tsplus_module_2.fromNullable(i.resource)), _ => tsplus_module_2.map(_, ({ _etag, data }) => ({ version: _etag, data })));
30
30
  }
31
31
  function findBy(parameters) {
32
- return tsplus_module_1.map(_ => tsplus_module_2.map(_ => _.id)(_))(tsplus_module_1.map(x => tsplus_module_3.head(x.resources))(tsplus_module_1.flatMap(db => tsplus_module_1.tryPromise(() => db
32
+ return tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.flatMap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db
33
33
  .container(type)
34
34
  .items.query({
35
35
  query: `
@@ -46,26 +46,18 @@ WHERE (
46
46
  value: parameters[p]
47
47
  }))
48
48
  })
49
- .fetchAll()))(Cosmos.db)));
49
+ .fetchAll())), x => tsplus_module_3.head(x.resources)), _ => tsplus_module_2.map(_, _ => _.id));
50
50
  }
51
51
  function store(record, currentVersion) {
52
52
  return tsplus_module_1.gen(function* ($) {
53
53
  const version = "_etag"; // we get this from the etag anyway.
54
54
  const db = yield* $(Cosmos.db);
55
55
  const data = yield* $(encode(record));
56
- yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tsplus_module_1.tryPromise(() => db.container(type).items.create({
56
+ yield* $(tsplus_module_2.match(currentVersion, () => tsplus_module_1.orDie(tsplus_module_1.asUnit(tsplus_module_1.tryPromise(() => db.container(type).items.create({
57
57
  id: record.id,
58
58
  timestamp: new Date(),
59
59
  data
60
- })))), currentVersion => tsplus_module_1.flatMap(x => {
61
- if (x.statusCode === 412) {
62
- return tsplus_module_1.fail(new OptimisticLockException(type, record.id));
63
- }
64
- if (x.statusCode > 299 || x.statusCode < 200) {
65
- return tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
66
- }
67
- return tsplus_module_4.unit;
68
- })(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db
60
+ })))), currentVersion => tsplus_module_1.flatMap(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db
69
61
  .container(type)
70
62
  .item(record.id)
71
63
  .replace({
@@ -77,10 +69,18 @@ WHERE (
77
69
  type: "IfMatch",
78
70
  condition: currentVersion
79
71
  }
80
- })))))(currentVersion));
72
+ }))), x => {
73
+ if (x.statusCode === 412) {
74
+ return tsplus_module_1.fail(new OptimisticLockException(type, record.id));
75
+ }
76
+ if (x.statusCode > 299 || x.statusCode < 200) {
77
+ return tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
78
+ }
79
+ return tsplus_module_4.unit;
80
+ })));
81
81
  return { version, data: record };
82
82
  });
83
83
  }
84
84
  };
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL2Nvc21vc2RiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFcEQsT0FBTyxLQUFLLE1BQU0sTUFBTSwwQ0FBMEMsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDckQsT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFHekMsTUFBTSxzQkFBc0I7SUFDMUIsWUFBcUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0NBQ3pDO0FBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQUUsY0FBOEIsRUFBRSxFQUFFLENBQzdELG9CQUFjLEVBQUUsQ0FBQyxFQUFFLENBQ2pCLDJCQUFrQixHQUFHLEVBQUUsQ0FDckIsRUFBRSxDQUFDLFVBQVU7S0FDVixNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDO0tBQ3BDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDbkMsRUFMSCxNQUFNLENBQUMsRUFBRSxDQU1SLENBQUE7QUFDSCx1REFBdUQ7QUFDdkQsZ0ZBQWdGO0FBQ2hGLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEM7SUFDOUMseUJBQXlCO0lBQ3pCLE9BQXVCLEVBQ3ZCLEVBQUU7UUFDRixPQUFPLG9CQUF5QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3ZDLE1BQU07WUFDTixJQUFJLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1NBQzFDLENBQUMsRUFKSyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUl4QixDQUFBO1FBRUgsU0FBUyxJQUFJLENBQUMsRUFBVTtZQUN0QixPQUFPLG9CQUlILENBQUMsQ0FBQyxFQUFFLENBQ0Ysb0JBQ0UsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUF1QixDQUFBLEVBRHJFLENBQUMsQ0FFQSxFQVBBLG9CQUVBLENBQUMsQ0FBQyxFQUFFLENBQUMsNkJBQW9CLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFGcEMsd0JBQ0ksRUFBRSxDQUFDLEVBQUUsQ0FBQywyQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFnQixDQUFDLEVBRG5GLE1BQU0sQ0FBQyxFQUFFLENBQzJFLENBQy9DLENBTXpDLENBQUE7UUFDTCxDQUFDO1FBRUQsU0FBUyxNQUFNLENBQUMsVUFBa0M7WUFDaEQsT0FBTyxvQkEwQkEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQWYsQ0FBQyxDQUFlLEVBMUJyQixvQkF5QkEsQ0FBQyxDQUFDLEVBQUUsc0JBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBSyxFQXpCckIsd0JBQ0ksRUFBRSxDQUFDLEVBQUUsQ0FDWiwyQkFBa0IsR0FBRyxFQUFFLENBQ3JCLEVBQUU7aUJBQ0MsU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDZixLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUNYLEtBQUssRUFBRTtlQUNSLElBQUk7T0FDWixJQUFJOztJQUdPLFdBQVcsQ0FBQyxVQUFVLENBQUM7cUJBQ3BCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO3FCQUMxQixJQUFJLENBQUMsT0FBTyxDQUNqQjs7Q0FFZjtnQkFDZSxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzVDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtvQkFDYixLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBRTtpQkFDdEIsQ0FBQyxDQUFDO2FBQ0osQ0FBQztpQkFDRCxRQUFRLEVBQUUsQ0FDZCxFQXZCRSxNQUFNLENBQUMsRUFBRSxDQXdCYixDQUMwQixDQUNBLENBQUE7UUFDL0IsQ0FBQztRQUVELFNBQVMsS0FBSyxDQUFDLE1BQVMsRUFBRSxjQUErQjtZQUN2RCxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7Z0JBQzNCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQSxDQUFDLG9DQUFvQztnQkFFNUQsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDOUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO2dCQUVyQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04sc0JBQ0UsR0FBRyxFQUFFLDhDQUNILDJCQUFrQixHQUFHLEVBQUUsQ0FDckIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO29CQUM5QixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7b0JBQ2IsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO29CQUNyQixJQUFJO2lCQUNMLENBQUMsQ0FDSCxFQUFhLEVBQ2hCLGNBQWMsQ0FBQyxFQUFFLENBQ2Ysd0JBaUJnQixDQUFDLENBQUMsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRTt3QkFDeEIsT0FBTyxxQkFBWSxJQUFJLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtxQkFDakU7b0JBQ0QsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRTt3QkFDNUMsT0FBTyxvQkFDTCxJQUFJLHNCQUFzQixDQUN4Qiw2QkFBNkIsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUM3QyxDQUNGLENBQUE7cUJBQ0Y7b0JBQ0QsNEJBQWtCO2dCQUNwQixDQUFDLHdCQTdCRCwyQkFBa0IsR0FBRyxFQUFFLENBQ3JCLEVBQUU7cUJBQ0MsU0FBUyxDQUFDLElBQUksQ0FBQztxQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztxQkFDZixPQUFPLENBQ047b0JBQ0UsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO29CQUNiLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTtvQkFDckIsSUFBSTtpQkFDTCxFQUNEO29CQUNFLGVBQWUsRUFBRTt3QkFDZixJQUFJLEVBQUUsU0FBUzt3QkFDZixTQUFTLEVBQUUsY0FBYztxQkFDMUI7aUJBQ0YsQ0FDRixDQUNKLEVBWUMsRUF2Q04sY0FBYyxDQXdDYixDQUNGLENBQUE7Z0JBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFxQixDQUFBO1lBQ3JELENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQTtBQUNILENBQUMifQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zbW9zZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL2Nvc21vc2RiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFcEQsT0FBTyxLQUFLLE1BQU0sTUFBTSwwQ0FBMEMsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDckQsT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFHekMsTUFBTSxzQkFBc0I7SUFDMUIsWUFBcUIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0NBQ3pDO0FBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQUUsY0FBOEIsRUFBRSxFQUFFLENBQzdELG9CQUFBLE1BQU0sQ0FBQyxFQUFFLEVBQUssRUFBRSxDQUFDLEVBQUUsQ0FDakIsMkJBQWtCLEdBQUcsRUFBRSxDQUNyQixFQUFFLENBQUMsVUFBVTtLQUNWLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUM7S0FDcEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNuQyxDQUNGLENBQUE7QUFDSCx1REFBdUQ7QUFDdkQsZ0ZBQWdGO0FBQ2hGLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEM7SUFDOUMseUJBQXlCO0lBQ3pCLE9BQXVCLEVBQ3ZCLEVBQUU7UUFDRixPQUFPLG9CQUFBLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNyQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFB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
@@ -22,14 +22,14 @@ export function createContext() {
22
22
  save: simpledb.store(find(type), store, lockRecordOnDisk(type), type)
23
23
  };
24
24
  function store(record, currentVersion) {
25
- const version = tsplus_module_1.getOrElse(() => "1")(tsplus_module_1.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
26
- const getData = flow(encode, _ => tsplus_module_2.map(data => pretty({ version, timestamp: new Date(), data }))(_));
25
+ const version = tsplus_module_1.getOrElse(tsplus_module_1.map(currentVersion, cv => (parseInt(cv) + 1).toString()), () => "1");
26
+ const getData = flow(encode, _ => tsplus_module_2.map(_, data => pretty({ version, timestamp: new Date(), data })));
27
27
  const idx = makeIndexKey(record);
28
28
  return tsplus_module_1.isSome(currentVersion)
29
- ? tsplus_module_2.map(() => ({ version, data: record }))(tsplus_module_2.scoped(tsplus_module_2.zipRight(tsplus_module_2.orDie(tsplus_module_2.flatMap(x => x[record.id]
29
+ ? tsplus_module_2.map(tsplus_module_2.scoped(tsplus_module_2.zipRight(lockIndex(record), tsplus_module_2.orDie(tsplus_module_2.flatMap(readIndex(idx), x => x[record.id]
30
30
  ? tsplus_module_2.fail(() => new Error("Combination already exists, abort"))
31
- : tsplus_module_2.zipRight(writeIndex(idx, { ...x, [idx.key]: record.id }))(tsplus_module_2.flatMap(serialised => fu.writeTextFile(getFilename(type, record.id), serialised))(getData(record))))(readIndex(idx))))(lockIndex(record))))
32
- : tsplus_module_2.map(() => ({ version, data: record }))(tsplus_module_2.flatMap(serialised => fu.writeTextFile(getFilename(type, record.id), serialised))(getData(record)));
31
+ : tsplus_module_2.zipRight(tsplus_module_2.flatMap(getData(record), serialised => fu.writeTextFile(getFilename(type, record.id), serialised)), writeIndex(idx, { ...x, [idx.key]: record.id })))))), () => ({ version, data: record }))
32
+ : tsplus_module_2.map(tsplus_module_2.flatMap(getData(record), serialised => fu.writeTextFile(getFilename(type, record.id), serialised)), () => ({ version, data: record }));
33
33
  }
34
34
  function lockIndex(record) {
35
35
  const index = makeIndexKey(record);
@@ -44,32 +44,32 @@ export function createContext() {
44
44
  return lockIndexOnDisk(type)(lockKey);
45
45
  }
46
46
  function lockRecordOnDisk(type) {
47
- return (id) => tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(err => new CouldNotAquireDbLockException(type, id, err), release => ({ release }))(lockFile(getFilename(type, id))), l => l.release);
47
+ return (id) => tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(lockFile(getFilename(type, id)), err => new CouldNotAquireDbLockException(type, id, err), release => ({ release })), l => l.release);
48
48
  }
49
49
  function lockIndexOnDisk(type) {
50
- return (id) => tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(err => new CouldNotAquireDbLockException(type, id, err), release => ({ release }))(lockFile(getIdxName(type, id))), l => l.release);
50
+ return (id) => tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(lockFile(getIdxName(type, id)), err => new CouldNotAquireDbLockException(type, id, err), release => ({ release })), l => l.release);
51
51
  }
52
52
  function readFile(filePath) {
53
- return tsplus_module_2.catchAll(err => tsplus_module_2.die(new ConnectionException(err)))(fu
54
- .readTextFile(filePath));
53
+ return tsplus_module_2.catchAll(fu
54
+ .readTextFile(filePath), err => tsplus_module_2.die(new ConnectionException(err)));
55
55
  }
56
56
  function find(type) {
57
57
  return (id) => {
58
- return tsplus_module_2.map(_ => tsplus_module_1.map(s => JSON.parse(s))(_))(tryRead(getFilename(type, id)));
58
+ return tsplus_module_2.map(tryRead(getFilename(type, id)), _ => tsplus_module_1.map(_, s => JSON.parse(s)));
59
59
  };
60
60
  }
61
61
  function getIdx(index) {
62
- return tsplus_module_2.map(idx => tsplus_module_1.fromNullable(idx[index.key]))(readIndex(index));
62
+ return tsplus_module_2.map(readIndex(index), idx => tsplus_module_1.fromNullable(idx[index.key]));
63
63
  }
64
64
  function readIndex(index) {
65
- return tsplus_module_2.map(_ => tsplus_module_1.match(() => ({}), x => JSON.parse(x))(_))(tryRead(getIdxName(type, index.doc)));
65
+ return tsplus_module_2.map(tryRead(getIdxName(type, index.doc)), _ => tsplus_module_1.match(_, () => ({}), x => JSON.parse(x)));
66
66
  }
67
67
  function writeIndex(index, content) {
68
68
  return pipe(JSON.stringify(content), serialised => fu.writeTextFile(getIdxName(type, index.doc), serialised));
69
69
  }
70
70
  function tryRead(filePath) {
71
- return tsplus_module_2.flatMap(exists => !exists ? tsplus_module_2.sync(() => tsplus_module_3.none) : tsplus_module_2.map(tsplus_module_1.some)(readFile(filePath)))(fu
72
- .fileExists(filePath));
71
+ return tsplus_module_2.flatMap(fu
72
+ .fileExists(filePath), exists => !exists ? tsplus_module_2.sync(() => tsplus_module_3.none) : tsplus_module_2.map(readFile(filePath), tsplus_module_1.some));
73
73
  }
74
74
  function getFilename(type, id) {
75
75
  return `${dir}/v${schemaVersion}.${getRecordName(type, id)}.json`;
@@ -93,4 +93,4 @@ export function initialise(dir) {
93
93
  }
94
94
  initialised = true;
95
95
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlza2RiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9zaW1wbGVkYi9kaXNrZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDbkIsT0FBTyxLQUFLLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDL0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsNkJBQTZCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RyxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUd6QyxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQ0wsSUFBWSxFQUNaLE1BQWlELEVBQ2pELE1BQThDLEVBQzlDLGFBQXFCLEVBQ3JCLFlBQTZCLEVBQzdCLEdBQUcsR0FBRyxXQUFXLEVBQ2pCLEVBQUU7UUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDZixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUE7UUFDaEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvQixFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDM0M7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDN0MsV0FBVyxF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
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlza2RiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9zaW1wbGVkYi9kaXNrZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDbkIsT0FBTyxLQUFLLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDL0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsNkJBQTZCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RyxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUd6QyxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQ0wsSUFBWSxFQUNaLE1BQWlELEVBQ2pELE1BQThDLEVBQzlDLGFBQXFCLEVBQ3JCLFlBQTZCLEVBQzdCLEdBQUcsR0FBRyxXQUFXLEVBQ2pCLEVBQUU7UUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDZixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUE7UUFDaEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvQixFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FDM0M7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDN0MsV0FBVyxF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
@@ -18,37 +18,37 @@ 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(_ => tsplus_module_1.map(s => JSON.parse(s))(_))(storage
22
- .find(getRecordName(type, id))), parseSDB), ({ data, version }) => ({
21
+ return tsplus_module_3.mapOption(tsplus_module_3.flatMapOption(tsplus_module_2.map(storage
22
+ .find(getRecordName(type, id)), _ => tsplus_module_1.map(_, s => JSON.parse(s))), parseSDB), ({ data, version }) => ({
23
23
  data: JSON.parse(data),
24
24
  version
25
25
  }));
26
26
  }
27
27
  function findBy(keys, eq) {
28
28
  // Naive implementation, fine for in memory testing purposes.
29
- return tsplus_module_2.map(tsplus_module_1.fromNullable)(tsplus_module_2.gen(function* ($) {
29
+ return tsplus_module_2.map(tsplus_module_2.gen(function* ($) {
30
30
  for (const [, value] of storage) {
31
31
  const sdb_ = JSON.parse(value);
32
32
  const sdb = yield* $(parseSDB(sdb_));
33
33
  const cr = { data: JSON.parse(sdb.data), version: sdb.version };
34
- const r = yield* $(tsplus_module_2.exit(tsplus_module_2.flatMap(d => eq(keys, d)
34
+ const r = yield* $(tsplus_module_2.exit(tsplus_module_2.flatMap(decode(cr.data), d => eq(keys, d)
35
35
  ? tsplus_module_2.sync(() => d)
36
- : tsplus_module_2.fail("not equals"))(decode(cr.data))));
36
+ : tsplus_module_2.fail("not equals"))));
37
37
  if (tsplus_module_4.isSuccess(r)) {
38
38
  return r.value;
39
39
  }
40
40
  }
41
41
  return null;
42
- }));
42
+ }), tsplus_module_1.fromNullable);
43
43
  }
44
44
  function store(record, currentVersion) {
45
- const version = tsplus_module_1.getOrElse(() => "1")(tsplus_module_1.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
46
- const getData = flow(encode, _ => tsplus_module_2.map(data => JSON.stringify({ version, timestamp: new Date(), data }))(tsplus_module_2.map(JSON.stringify)(_)));
47
- return tsplus_module_2.map(() => ({ version, data: record }))(tsplus_module_2.flatMap(serialised => storage.set(getRecordName(type, record.id), serialised))(getData(record)));
45
+ const version = tsplus_module_1.getOrElse(tsplus_module_1.map(currentVersion, cv => (parseInt(cv) + 1).toString()), () => "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
48
  }
49
49
  };
50
50
  }
51
51
  function bogusLock() {
52
52
  return tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit);
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL21lbWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUd4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN4RSxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUd6Qyw0REFBNEQ7QUFDNUQsMkJBQTJCO0FBQzNCLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBa0IsQ0FBQTtBQUV6QyxNQUFNLFFBQVEsR0FBZ0MsRUFBRSxDQUFDLFdBQVcsQ0FBM0Msa0JBQWtCLENBQUMsTUFBTSxDQUFrQixDQUFBO0FBRTVELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEMsRUFDOUMsRUFBRTtRQUNGLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN2QyxNQUFNO1lBQ04sSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQ25ELENBQUE7UUFFRCxTQUFTLElBQUksQ0FBQyxFQUFVO1lBQ3RCLE9BQU8sMEJBQUEsOEJBQUEsb0JBRUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxvQkFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQXhCLENBQUMsQ0FBd0IsRUFGOUIsT0FBTztpQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxD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
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL21lbWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDaEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUd4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN4RSxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUd6Qyw0REFBNEQ7QUFDNUQsMkJBQTJCO0FBQzNCLE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBa0IsQ0FBQTtBQUV6QyxNQUFNLFFBQVEsR0FBZ0MsRUFBRSxDQUFDLFdBQVcsQ0FBM0Msa0JBQWtCLENBQUMsTUFBTSxDQUFrQixDQUFBO0FBRTVELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEMsRUFDOUMsRUFBRTtRQUNGLE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN2QyxNQUFNO1lBQ04sSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQ25ELENBQUE7UUFFRCxTQUFTLElBQUksQ0FBQyxFQUFVO1lBQ3RCLE9BQU8sMEJBQUEsOEJBQUEsb0JBQUEsT0FBTztpQkFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUN6QixDQUFDLENBQUMsRUFBRSxDQUFDLG9CQUFBLENBQUMsRUFBSyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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
@@ -8,46 +8,46 @@ 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(db => tsplus_module_1.tryPromise(() => db.collection(type).createIndexes(indexes)))(tsplus_module_1.tap(db => tsplus_module_1.tryPromise(() => db.createCollection(type).catch(err => console.warn(err))))(Mongo.db));
11
+ const setup = (type, indexes) => tsplus_module_1.flatMap(tsplus_module_1.tap(Mongo.db, db => tsplus_module_1.tryPromise(() => db.createCollection(type).catch(err => console.warn(err)))), db => tsplus_module_1.tryPromise(() => db.collection(type).createIndexes(indexes)));
12
12
  export function createContext() {
13
13
  return (type, encode, decode,
14
14
  // schemaVersion: string,
15
15
  indexes) => {
16
- return tsplus_module_1.map(() => ({
16
+ return tsplus_module_1.map(setup(type, indexes), () => ({
17
17
  find: simpledb.find(find, decode, type),
18
18
  findBy,
19
19
  save: simpledb.storeDirectly(store, type)
20
- }))(setup(type, indexes));
20
+ }));
21
21
  function find(id) {
22
- return tsplus_module_3.mapOption(tsplus_module_1.map(tsplus_module_2.fromNullable)(tsplus_module_1.flatMap(db => tsplus_module_1.tryPromise(() => db
22
+ return tsplus_module_3.mapOption(tsplus_module_1.map(tsplus_module_1.flatMap(Mongo.db, db => tsplus_module_1.tryPromise(() => db
23
23
  .collection(type)
24
- .findOne({ _id: id })))(Mongo.db)), ({ data, version }) => ({ version, data }));
24
+ .findOne({ _id: id }))), tsplus_module_2.fromNullable), ({ data, version }) => ({ version, data }));
25
25
  }
26
26
  function findBy(keys) {
27
- return tsplus_module_3.mapOption(tsplus_module_1.map(tsplus_module_2.fromNullable)(tsplus_module_1.flatMap(db => tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, { projection: { _id: 1 } })))(Mongo.db)), ({ _id }) => _id);
27
+ return tsplus_module_3.mapOption(tsplus_module_1.map(tsplus_module_1.flatMap(Mongo.db, db => tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, { projection: { _id: 1 } }))), tsplus_module_2.fromNullable), ({ _id }) => _id);
28
28
  }
29
29
  function store(record, currentVersion) {
30
30
  return tsplus_module_1.gen(function* ($) {
31
- const version = tsplus_module_2.getOrElse(() => "1")(tsplus_module_2.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
31
+ const version = tsplus_module_2.getOrElse(tsplus_module_2.map(currentVersion, cv => (parseInt(cv) + 1).toString()), () => "1");
32
32
  const db = yield* $(Mongo.db);
33
33
  const data = yield* $(encode(record));
34
- yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tsplus_module_1.tryPromise(() => db
34
+ yield* $(tsplus_module_2.match(currentVersion, () => tsplus_module_1.orDie(tsplus_module_1.asUnit(tsplus_module_1.tryPromise(() => db
35
35
  .collection(type)
36
36
  .insertOne({ _id: record.id, version, timestamp: new Date(), data }, {
37
37
  checkKeys: false // support for keys with `.` and `$`. NOTE: you can write them, read them, but NOT query for them.
38
- })))), currentVersion => tsplus_module_1.flatMap(x => {
38
+ })))), currentVersion => tsplus_module_1.flatMap(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db.collection(type).replaceOne({ _id: record.id, version: currentVersion }, {
39
+ version,
40
+ timestamp: new Date(),
41
+ data
42
+ }, { upsert: false }))), x => {
39
43
  if (!x.modifiedCount) {
40
44
  return tsplus_module_1.fail(new OptimisticLockException(type, record.id));
41
45
  }
42
46
  return tsplus_module_3.unit;
43
- })(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db.collection(type).replaceOne({ _id: record.id, version: currentVersion }, {
44
- version,
45
- timestamp: new Date(),
46
- data
47
- }, { upsert: false })))))(currentVersion));
47
+ })));
48
48
  return { version, data: record };
49
49
  });
50
50
  }
51
51
  };
52
52
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvbW9uZ29kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxPQUFPLEtBQUssS0FBSyxNQUFNLHlDQUF5QyxDQUFBO0FBRWhFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNyRCxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUd6Qyx3R0FBd0c7QUFDeEcsa0JBQWtCO0FBQ2xCLGdCQUFnQjtBQUNoQixtQ0FBbUM7QUFFbkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQUUsT0FBMkIsRUFBRSxFQUFFLENBQzFELHdCQUVXLEVBQUUsQ0FBQyxFQUFFLENBQUMsMkJBQWtCLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBRnBGLG9CQUNPLEVBQUUsQ0FBQyxFQUFFLENBQUMsMkJBQWtCLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFEL0YsS0FBSyxDQUFDLEVBQUUsQ0FDd0YsQ0FDWCxDQUFBO0FBRXZGLE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sQ0FDTCxJQUFZLEVBQ1osTUFBaUQsRUFDakQsTUFBOEM7SUFDOUMseUJBQXlCO0lBQ3pCLE9BQTJCLEVBQzNCLEVBQUU7UUFDRixPQUFPLG9CQUF5QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3ZDLE1BQU07WUFDTixJQUFJLEVBQUUsUUFBUSxD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
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvbW9uZ29kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxPQUFPLEtBQUssS0FBSyxNQUFNLHlDQUF5QyxDQUFBO0FBRWhFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNyRCxPQUFPLEtBQUssUUFBUSxNQUFNLGVBQWUsQ0FBQTtBQUd6Qyx3R0FBd0c7QUFDeEcsa0JBQWtCO0FBQ2xCLGdCQUFnQjtBQUNoQixtQ0FBbUM7QUFFbkMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQUUsT0FBMkIsRUFBRSxFQUFFLENBQzFELHdCQUFBLG9CQUFBLEtBQUssQ0FBQyxFQUFFLEVBQ0QsRUFBRSxDQUFDLEVBQUUsQ0FBQywyQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3JGLEVBQUUsQ0FBQyxFQUFFLENBQUMsMkJBQWtCLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUV2RixNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQ0wsSUFBWSxFQUNaLE1BQWlELEVBQ2pELE1BQThDO0lBQzlDLHlCQUF5QjtJQUN6QixPQUEyQixFQUMzQixFQUFFO1FBQ0YsT0FBTyxvQkFBQSxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDckMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUM7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