@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
@@ -10,31 +10,31 @@ import * as simpledb from "./simpledb.js";
10
10
  const ttl = 10 * 1000;
11
11
  export function createContext() {
12
12
  return (type, encode, decode, schemaVersion, makeIndexKey) => {
13
- const getData = flow(encode, _ => tsplus_module_1.map(JSON.stringify)(_));
13
+ const getData = flow(encode, _ => tsplus_module_1.map(_, JSON.stringify));
14
14
  return {
15
15
  find: simpledb.find(find, decode, type),
16
16
  findByIndex: getIdx,
17
17
  save: simpledb.store(find, store, lockRedisRecord, type)
18
18
  };
19
19
  function find(id) {
20
- return tsplus_module_1.orDie(tsplus_module_2.flatMapOption(RED.hmgetAll(getKey(id)), v => tsplus_module_1.mapError(e => new ConnectionException(new Error(e.toString())))(tsplus_module_1.map(({ data, version }) => ({
20
+ return tsplus_module_1.orDie(tsplus_module_2.flatMapOption(RED.hmgetAll(getKey(id)), v => tsplus_module_1.mapError(tsplus_module_1.map(pipe(RedisSerializedDBRecord.Parser, MO.condemnFail)(v), ({ data, version }) => ({
21
21
  data: JSON.parse(data),
22
22
  version
23
- }))(pipe(RedisSerializedDBRecord.Parser, MO.condemnFail)(v)))));
23
+ })), e => new ConnectionException(new Error(e.toString())))));
24
24
  }
25
25
  function store(record, currentVersion) {
26
- const version = tsplus_module_3.getOrElse(() => "1")(tsplus_module_3.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
27
- return tsplus_module_3.match(() => tsplus_module_1.scoped(tsplus_module_1.zipRight(tsplus_module_1.map(() => ({ version, data: record }))(tsplus_module_1.orDie(tsplus_module_1.zipRight(setIndex(record))(tsplus_module_1.flatMap(data => hmSetRec(getKey(record.id), {
26
+ const version = tsplus_module_3.getOrElse(tsplus_module_3.map(currentVersion, cv => (parseInt(cv) + 1).toString()), () => "1");
27
+ return tsplus_module_3.match(currentVersion, () => 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_2.zipRightOption(getIndex(record), tsplus_module_1.fail(() => new Error("Combination already exists, abort"))), getData(record))
28
+ // TODO: instead use MULTI & EXEC to make it in one command?
29
+ , data => hmSetRec(getKey(record.id), {
28
30
  version,
29
31
  timestamp: new Date(),
30
32
  data
31
- }))(tsplus_module_1.zipRight(getData(record))(tsplus_module_2.zipRightOption(getIndex(record), tsplus_module_1.fail(() => new Error("Combination already exists, abort"))))
32
- // TODO: instead use MULTI & EXEC to make it in one command?
33
- )))))(lockIndex(record))), () => tsplus_module_1.map(() => ({ version, data: record }))(tsplus_module_1.orDie(tsplus_module_1.flatMap(data => hmSetRec(getKey(record.id), {
33
+ })), setIndex(record))), () => ({ version, data: record })))), () => tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.flatMap(getData(record), data => hmSetRec(getKey(record.id), {
34
34
  version,
35
35
  timestamp: new Date(),
36
36
  data
37
- }))(getData(record)))))(currentVersion);
37
+ }))), () => ({ version, data: record })));
38
38
  }
39
39
  function getIndex(record) {
40
40
  const index = makeIndexKey(record);
@@ -49,7 +49,7 @@ export function createContext() {
49
49
  return lockRedisIdx(index);
50
50
  }
51
51
  function getIdx(index) {
52
- return tsplus_module_1.map(_ => tsplus_module_3.map(i => i)(_))(RED.hget(getIdxKey(index), index.key));
52
+ return tsplus_module_1.map(RED.hget(getIdxKey(index), index.key), _ => tsplus_module_3.map(_, i => i));
53
53
  }
54
54
  function setIdx(index, r) {
55
55
  return RED.hset(getIdxKey(index), index.key, r.id);
@@ -57,20 +57,20 @@ export function createContext() {
57
57
  function lockRedisIdx(index) {
58
58
  const lockKey = getIdxLockKey(index);
59
59
  // acquire
60
- return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(err => new CouldNotAquireDbLockException(type, lockKey, err),
60
+ return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(tsplus_module_1.flatMap(RED.lock, lock => tsplus_module_1.tryPromise(() => lock.lock(lockKey, ttl))), err => new CouldNotAquireDbLockException(type, lockKey, err),
61
61
  // release
62
62
  lock => ({
63
63
  release: tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => lock.unlock()))
64
- }))(tsplus_module_1.flatMap(lock => tsplus_module_1.tryPromise(() => lock.lock(lockKey, ttl)))(RED.lock)), l => l.release);
64
+ })), l => l.release);
65
65
  }
66
66
  function lockRedisRecord(id) {
67
67
  // acquire
68
- return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(err => new CouldNotAquireDbLockException(type, id, err),
68
+ return tsplus_module_1.acquireRelease(tsplus_module_1.mapBoth(tsplus_module_1.flatMap(RED.lock, lock => tsplus_module_1.tryPromise(() => lock.lock(getLockKey(id), ttl))), err => new CouldNotAquireDbLockException(type, id, err),
69
69
  // release
70
70
  lock => ({
71
71
  // TODO
72
72
  release: tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => lock.unlock()))
73
- }))(tsplus_module_1.flatMap(lock => tsplus_module_1.tryPromise(() => lock.lock(getLockKey(id), ttl)))(RED.lock)), l => l.release);
73
+ })), l => l.release);
74
74
  }
75
75
  function getKey(id) {
76
76
  return `v${schemaVersion}.${getRecordName(type, id)}`;
@@ -87,11 +87,11 @@ export function createContext() {
87
87
  };
88
88
  function hmSetRec(key, val) {
89
89
  const enc = RedisSerializedDBRecord.Encoder(val);
90
- return tsplus_module_1.flatMap(client => tsplus_module_1.uninterruptible(tsplus_module_1.async(res => {
90
+ return tsplus_module_1.flatMap(RED.client, client => tsplus_module_1.uninterruptible(tsplus_module_1.async(res => {
91
91
  client.hmset(key, "version", enc.version, "timestamp", enc.timestamp, "data", enc.data, err => err
92
92
  ? res(tsplus_module_1.fail(new ConnectionException(err)))
93
93
  : res(tsplus_module_1.sync(() => void 0)));
94
- })))(RED.client);
94
+ })));
95
95
  }
96
96
  }
97
97
  export class RedisSerializedDBRecord extends MO.Model()({
@@ -100,4 +100,4 @@ export class RedisSerializedDBRecord extends MO.Model()({
100
100
  data: MO.prop(MO.string)
101
101
  }) {
102
102
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNkYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvcmVkaXNkYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBR3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0seUNBQXlDLENBQUE7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDN0csT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFekMsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQTtBQUVyQixNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQ0wsSUFBWSxFQUNaLE1BQWlELEVBQ2pELE1BQThDLEVBQzlDLGFBQXFCLEVBQ3JCLFlBQTZCLEVBQzdCLEVBQUU7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQU0sSUFBSSxDQUFDLFNBQVMsRUFBcEIsQ0FBQyxDQUFvQixDQUFDLENBQUE7UUFDeEQsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDO1lBQ3ZDLFdBQVcsRUFBRSxNQUFNO1lBQ25CLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQztTQUN6RCxDQUFBO1FBRUQsU0FBUyxJQUFJLENBQUMsRUFBVTtZQUN0Qiw2QkFBTyw4QkFBQSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMs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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNkYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvc2ltcGxlZGIvcmVkaXNkYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBR3hDLE9BQU8sS0FBSyxHQUFHLE1BQU0seUNBQXlDLENBQUE7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDN0csT0FBTyxLQUFLLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFekMsTUFBTSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQTtBQUVyQixNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLENBQ0wsSUFBWSxFQUNaLE1BQWlELEVBQ2pELE1BQThDLEVBQzlDLGFBQXFCLEVBQ3JCLFlBQTZCLEVBQzdCLEVBQUU7UUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQUEsQ0FBQyxFQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ3hELE9BQU87WUFDTCxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQztZQUN2QyxXQUFXLEVBQUUsTUFBTTtZQUNuQixJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUM7U0FDekQsQ0FBQTtRQUVELFNBQVMsSUFBSSxDQUFDLEVBQVU7WUFDdEIsNkJBQU8sOEJBQUEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENB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
@@ -27,30 +27,30 @@ export function makeLiveRecordCache() {
27
27
  }
28
28
  // module tag
29
29
  export const RecordCache = tsplus_module_2.Tag();
30
- export const LiveRecordCache = tsplus_module_3.toLayer(tsplus_module_1.sync(() => makeLiveRecordCache()), RecordCache);
30
+ export const LiveRecordCache = tsplus_module_1.toLayer(tsplus_module_1.sync(() => makeLiveRecordCache()), RecordCache);
31
31
  const getM = (type) => (eff) => tsplus_module_1.gen(function* ($) {
32
32
  const { get } = yield* $(tsplus_module_1.service(RecordCache));
33
- return yield* $(tsplus_module_1.flatMap(eff)(get(type)));
33
+ return yield* $(tsplus_module_1.flatMap(get(type), eff));
34
34
  });
35
35
  export function find(tryRead, decode, type) {
36
36
  const getCache = getM(type);
37
- const read = (id) => tsplus_module_3.mapOption(tsplus_module_3.tapOption(tsplus_module_3.flatMapOption(tryRead(id), ({ data, version }) => tsplus_module_1.mapBoth(err => new InvalidStateError("DB serialisation Issue", err), data => ({ data, version }))(decode(data))), r => getCache(c => c.set(id, r))), r => r.data);
38
- return (id) => getCache(c => tsplus_module_1.orElse(() => read(id))(tsplus_module_3.mapOption(c
39
- .find(id), existing => existing.data)));
37
+ const read = (id) => tsplus_module_3.mapOption(tsplus_module_3.tapOption(tsplus_module_3.flatMapOption(tryRead(id), ({ data, version }) => tsplus_module_1.mapBoth(decode(data), err => new InvalidStateError("DB serialisation Issue", err), data => ({ data, version }))), r => getCache(c => c.set(id, r))), r => r.data);
38
+ return (id) => getCache(c => tsplus_module_1.orElse(tsplus_module_3.mapOption(c
39
+ .find(id), existing => existing.data), () => read(id)));
40
40
  }
41
41
  export function storeDirectly(save, type) {
42
42
  const getCache = getM(type);
43
- return (record) => getCache(c => tsplus_module_1.map(r => r.data)(tsplus_module_1.tap(r => c.set(record.id, r))(tsplus_module_1.flatMap(cv => save(record, cv))(tsplus_module_3.mapOption(c
44
- .find(record.id), x => x.version)))));
43
+ return (record) => getCache(c => tsplus_module_1.map(tsplus_module_1.tap(tsplus_module_1.flatMap(tsplus_module_3.mapOption(c
44
+ .find(record.id), x => x.version), cv => save(record, cv)), r => c.set(record.id, r)), r => r.data));
45
45
  }
46
46
  export function store(tryRead, save, lock, type) {
47
47
  const getCache = getM(type);
48
- return (record) => getCache(c => tsplus_module_1.map(r => r.data)(tsplus_module_1.tap(r => c.set(record.id, r))(tsplus_module_1.flatMap(_ => tsplus_module_5.match(() => save(record, tsplus_module_4.none), confirmVersionAndSave(record))(_))(tsplus_module_3.mapOption(c
49
- .find(record.id), x => x.version)))));
48
+ return (record) => getCache(c => tsplus_module_1.map(tsplus_module_1.tap(tsplus_module_1.flatMap(tsplus_module_3.mapOption(c
49
+ .find(record.id), x => x.version), _ => tsplus_module_5.match(_, () => save(record, tsplus_module_4.none), confirmVersionAndSave(record))), r => c.set(record.id, r)), r => r.data));
50
50
  function confirmVersionAndSave(record) {
51
- return (cv) => tsplus_module_1.scoped(tsplus_module_1.zipRight(tsplus_module_1.zipRight(save(record, tsplus_module_5.some(cv)))(tsplus_module_1.tap(({ version }) => version !== cv
51
+ return (cv) => tsplus_module_1.scoped(tsplus_module_1.zipRight(lock(record.id), tsplus_module_1.zipRight(tsplus_module_1.tap(tsplus_module_1.flatMap(tryRead(record.id), _ => tsplus_module_5.match(_, () => tsplus_module_1.fail(new InvalidStateError("record is gone")), tsplus_module_1.succeed)), ({ version }) => version !== cv
52
52
  ? tsplus_module_1.fail(new OptimisticLockException(type, record.id))
53
- : tsplus_module_3.unit)(tsplus_module_1.flatMap(_ => tsplus_module_5.match(() => tsplus_module_1.fail(new InvalidStateError("record is gone")), tsplus_module_1.succeed)(_))(tryRead(record.id)))))(lock(record.id)));
53
+ : tsplus_module_3.unit), save(record, tsplus_module_5.some(cv)))));
54
54
  }
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL3NpbXBsZWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUc5RCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQXFCLE9BQWUsRUFBVyxPQUFpQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVcsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUR2RCxTQUFJLEdBQUcsbUJBQW1CLENBQUE7SUFDZ0MsQ0FBQztDQUNyRTtBQUVELE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUE7SUFDdkQsT0FBTztRQUNMLEdBQUcsRUFBRSxDQUFJLElBQVksRUFBRSxFQUFFLENBQ3ZCLHFCQUFZLEdBQUcsRUFBRTtZQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDUCxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQW1CLENBQUE7Z0JBQ3JDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUNmLE9BQU8sRUFBd0MsQ0FBQTthQUNoRDtZQUNELE9BQU8sRUFBd0MsQ0FBQTtRQUNqRCxDQUFDLENBQUM7S0FDTCxDQUFBO0FBQ0gsQ0FBQztBQUlELGFBQWE7QUFDYixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsZ0JBQUEsR0FBRyxFQUFlLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLHdCQUFBLDJCQUFPLG1CQUFtQixFQUFFLENBQUMsRUFBUyxXQUFXLENBQUMsQ0FBQTtBQUVqRixNQUFNLElBQUksR0FBRyxDQUFJLElBQVksRUFBRSxF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
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL3NpbXBsZWRiL3NpbXBsZWRiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUc5RCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQXFCLE9BQWUsRUFBVyxPQUFpQjtRQUEzQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQVcsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUR2RCxTQUFJLEdBQUcsbUJBQW1CLENBQUE7SUFDZ0MsQ0FBQztDQUNyRTtBQUVELE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxDQUFDLEdBQUcsSUFBSSxHQUFHLEVBQXNDLENBQUE7SUFDdkQsT0FBTztRQUNMLEdBQUcsRUFBRSxDQUFJLElBQVksRUFBRSxFQUFFLENBQ3ZCLHFCQUFZLEdBQUcsRUFBRTtZQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDUCxNQUFNLEVBQUUsR0FBRyxPQUFPLEVBQW1CLENBQUE7Z0JBQ3JDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUNmLE9BQU8sRUFBd0MsQ0FBQTthQUNoRDtZQUNELE9BQU8sRUFBd0MsQ0FBQTtRQUNqRCxDQUFDLENBQUM7S0FDTCxDQUFBO0FBQ0gsQ0FBQztBQUlELGFBQWE7QUFDYixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsZ0JBQUEsR0FBRyxFQUFlLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLHdCQUFBLDJCQUFPLG1CQUFtQixFQUFFLENBQUMsRUFBUyxXQUFXLENBQUMsQ0FBQTtBQUVqRixNQUFNLElBQUksR0FBRyxDQUFJLElBQVksRUFBRSxF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
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "0.24.3",
3
+ "version": "0.25.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "@azure/cosmos": "^3.17.2",
8
8
  "@azure/service-bus": "^7.8.0",
9
9
  "@effect/io": "^0.1.11",
10
- "@fp-ts/core": "^0.2.0",
10
+ "@fp-ts/core": "^0.2.1",
11
11
  "@effect/data": "^0.1.0",
12
12
  "@sendgrid/helpers": "^7.7.0",
13
13
  "@sendgrid/mail": "^7.7.0",
@@ -20,14 +20,14 @@
20
20
  "proper-lockfile": "^4.1.2",
21
21
  "pure-rand": "^6.0.0",
22
22
  "redlock": "^4.2.0",
23
- "@effect-app/core": "0.21.3",
24
- "@effect-app/prelude": "0.20.3",
25
- "@effect-app/infra-adapters": "0.19.3",
26
- "@effect-app/schema": "0.17.3"
23
+ "@effect-app/prelude": "0.21.0",
24
+ "@effect-app/core": "0.22.0",
25
+ "@effect-app/schema": "0.18.0",
26
+ "@effect-app/infra-adapters": "0.20.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@babel/cli": "^7.20.7",
30
- "@sentry/node": "^7.36.0",
30
+ "@sentry/node": "^7.37.0",
31
31
  "@types/express": "^4.17.17",
32
32
  "@types/node": "~18.13.0",
33
33
  "@types/proper-lockfile": "^4.1.2",
@@ -43,7 +43,7 @@
43
43
  "ts-node": "^10.9.1",
44
44
  "typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.170/compiler/typescript.tgz",
45
45
  "vitest": "^0.28.4",
46
- "@effect-app/compiler": "0.11.1"
46
+ "@effect-app/compiler": "0.12.0"
47
47
  },
48
48
  "typesVersions": {
49
49
  "*": {