@effect-app/infra 0.8.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/_cjs/api/express/makeOpenApiSpecs.cjs +2 -4
  3. package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
  4. package/_cjs/api/reportError.cjs +13 -4
  5. package/_cjs/api/reportError.cjs.map +1 -1
  6. package/_cjs/api/routing.cjs +4 -4
  7. package/_cjs/api/routing.cjs.map +1 -1
  8. package/_cjs/api/setupRequest.cjs +2 -2
  9. package/_cjs/api/setupRequest.cjs.map +1 -1
  10. package/_cjs/instrument.cjs +1 -1
  11. package/_cjs/instrument.cjs.map +1 -1
  12. package/_cjs/rateLimit.cjs +31 -24
  13. package/_cjs/rateLimit.cjs.map +1 -1
  14. package/_cjs/services/Emailer/Sendgrid.cjs +7 -6
  15. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
  16. package/_cjs/services/Emailer/fake.cjs +2 -1
  17. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  18. package/_cjs/services/Store/Cosmos.cjs +3 -3
  19. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  20. package/_cjs/services/Store/Disk.cjs +2 -1
  21. package/_cjs/services/Store/Disk.cjs.map +1 -1
  22. package/_cjs/services/Store/Memory.cjs +4 -4
  23. package/_cjs/services/Store/Memory.cjs.map +1 -1
  24. package/_cjs/services/Store/Redis.cjs +22 -22
  25. package/_cjs/services/Store/Redis.cjs.map +1 -1
  26. package/_cjs/services/Store/index.cjs +4 -5
  27. package/_cjs/services/Store/index.cjs.map +1 -1
  28. package/_cjs/services/simpledb/memdb.cjs +8 -8
  29. package/_cjs/services/simpledb/memdb.cjs.map +1 -1
  30. package/_cjs/services/simpledb/simpledb.cjs +1 -1
  31. package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
  32. package/_src/api/express/makeOpenApiSpecs.ts +1 -2
  33. package/_src/api/routing.ts +1 -1
  34. package/_src/api/setupRequest.ts +1 -1
  35. package/_src/instrument.ts +1 -1
  36. package/_src/rateLimit.ts +24 -24
  37. package/_src/services/Emailer/Sendgrid.ts +1 -1
  38. package/_src/services/Store/Cosmos.ts +1 -1
  39. package/_src/services/simpledb/memdb.ts +4 -5
  40. package/dist/api/express/makeOpenApiSpecs.d.ts.map +1 -1
  41. package/dist/api/express/makeOpenApiSpecs.js +2 -4
  42. package/dist/api/reportError.js +13 -3
  43. package/dist/api/routing.js +5 -5
  44. package/dist/api/setupRequest.js +3 -3
  45. package/dist/instrument.js +2 -2
  46. package/dist/rateLimit.d.ts +1 -12
  47. package/dist/rateLimit.d.ts.map +1 -1
  48. package/dist/rateLimit.js +32 -24
  49. package/dist/services/Emailer/Sendgrid.js +8 -7
  50. package/dist/services/Emailer/fake.js +3 -2
  51. package/dist/services/Store/Cosmos.js +4 -4
  52. package/dist/services/Store/Disk.js +3 -2
  53. package/dist/services/Store/Memory.js +5 -5
  54. package/dist/services/Store/Redis.js +23 -23
  55. package/dist/services/Store/index.js +5 -6
  56. package/dist/services/simpledb/memdb.d.ts +2 -2
  57. package/dist/services/simpledb/memdb.d.ts.map +1 -1
  58. package/dist/services/simpledb/memdb.js +8 -8
  59. package/dist/services/simpledb/simpledb.js +2 -2
  60. package/package.json +8 -8
@@ -46,7 +46,7 @@ const makeMemoryStore = () => ({
46
46
  const withPermit = sem.withPermits(1);
47
47
  const values = tracer_1.withCallTrace(fileName_1 + ":41:32")(tsplus_module_6.map(s => s.values()))(tsplus_module_7.get(store));
48
48
  const all = tracer_1.withCallTrace(fileName_1 + ":42:26")(tsplus_module_6.map(tsplus_module_1.fromIterable))(values);
49
- const batchSet = items => withPermit(tracer_1.withCallTrace(fileName_1 + ":55:12")(tsplus_module_6.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":46:12")(tsplus_module_6.tap(items => tracer_1.withCallTrace(fileName_1 + ":53:16")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":48:16")(tsplus_module_6.map(m => {
49
+ const batchSet = items => withPermit(tracer_1.withCallTrace(fileName_1 + ":55:12")(tsplus_module_6.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":46:12")(tsplus_module_6.tap(items => tracer_1.withCallTrace(fileName_1 + ":53:16")(tsplus_module_6.flatMap(_ => tracer_1.withCallTrace(fileName_1 + ":53:35")(tsplus_module_7.set(store, _))))(tracer_1.withCallTrace(fileName_1 + ":48:16")(tsplus_module_6.map(m => {
50
50
  const mut = tsplus_module_5.ROMap.toMutable(m);
51
51
  items.forEach(e => mut.set(e.id, e));
52
52
  return tsplus_module_5.ROMap.fromMutable(mut);
@@ -56,15 +56,15 @@ const makeMemoryStore = () => ({
56
56
  find: id => tracer_1.withCallTrace(fileName_1 + ":59:31")(tsplus_module_6.map(tsplus_module_5.ROMap.lookup(id)))(tsplus_module_7.get(store)),
57
57
  filter: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":60:89")(tsplus_module_6.map(memFilter(filter, cursor)))(all),
58
58
  filterJoinSelect: filter => tracer_1.withCallTrace(fileName_1 + ":62:15")(tsplus_module_6.map(c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))))(all),
59
- set: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":67:14")(tsplus_module_6.tap(e => tracer_1.withCallTrace(fileName_1 + ":67:60")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":67:33")(tsplus_module_6.map(tsplus_module_5.ROMap.insert(e.id, e)))(tsplus_module_7.get(store)))))(tracer_1.withCallTrace(fileName_1 + ":66:14")(tsplus_module_6.flatMap(current => updateETag(e, current)))(s.find(e.id)))),
59
+ set: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":67:14")(tsplus_module_6.tap(e => tracer_1.withCallTrace(fileName_1 + ":67:60")(tsplus_module_6.flatMap(_ => tracer_1.withCallTrace(fileName_1 + ":67:79")(tsplus_module_7.set(store, _))))(tracer_1.withCallTrace(fileName_1 + ":67:33")(tsplus_module_6.map(tsplus_module_5.ROMap.insert(e.id, e)))(tsplus_module_7.get(store)))))(tracer_1.withCallTrace(fileName_1 + ":66:14")(tsplus_module_6.flatMap(current => updateETag(e, current)))(s.find(e.id)))),
60
60
  batchSet,
61
61
  bulkSet: batchSet,
62
- remove: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":71:62")(tsplus_module_6.flatMap(_ => tsplus_module_7.set(store)(_)))(tracer_1.withCallTrace(fileName_1 + ":71:38")(tsplus_module_6.map(tsplus_module_5.ROMap.remove(e.id)))(tsplus_module_7.get(store))))
62
+ remove: e => withPermit(tracer_1.withCallTrace(fileName_1 + ":71:62")(tsplus_module_6.flatMap(_ => tracer_1.withCallTrace(fileName_1 + ":71:81")(tsplus_module_7.set(store, _))))(tracer_1.withCallTrace(fileName_1 + ":71:38")(tsplus_module_6.map(tsplus_module_5.ROMap.remove(e.id)))(tsplus_module_7.get(store))))
63
63
  };
64
64
  return s;
65
65
  }))
66
66
  });
67
67
  exports.makeMemoryStore = makeMemoryStore;
68
- const MemoryStoreLive = tsplus_module_9.makeLayer(_service.StoreMaker)(makeMemoryStore());
68
+ const MemoryStoreLive = tsplus_module_9.makeLayer(_service.StoreMaker, makeMemoryStore());
69
69
  exports.MemoryStoreLive = MemoryStoreLive;
70
70
  //# sourceMappingURL=Memory.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Memory.cjs","mappings":"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","names":["memFilter","filter","cursor","c","skip","limit","tsplus_module_3","tsplus_module_1","r","undefined","makeMemoryStore","make","name","existing","_config","tracer_1","tsplus_module_6","$","updateETag","items","tsplus_module_5","empty","store","tsplus_module_7","entries","map","id","e","sem","withPermit","withPermits","values","s","all","batchSet","_","toReadonlyArray","m","mut","toMutable","forEach","set","fromMutable","tsplus_module_8","i","current","find","lookup","filterJoinSelect","flatMap","insert","bulkSet","remove","MemoryStoreLive","tsplus_module_9"],"sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"Memory.cjs","mappings":"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","names":["memFilter","filter","cursor","c","skip","limit","tsplus_module_3","tsplus_module_1","r","undefined","makeMemoryStore","make","name","existing","_config","tracer_1","tsplus_module_6","$","updateETag","items","tsplus_module_5","empty","store","tsplus_module_7","entries","map","id","e","sem","withPermit","withPermits","values","s","all","batchSet","_","toReadonlyArray","m","mut","toMutable","forEach","set","fromMutable","tsplus_module_8","i","current","find","lookup","filterJoinSelect","flatMap","insert","bulkSet","remove","MemoryStoreLive","tsplus_module_9"],"sourceRoot":"","sources":["../../../_src/services/Store/Memory.ts"],"sourcesContent":[null]}
@@ -7,12 +7,12 @@ exports.RedisStoreLive = RedisStoreLive;
7
7
  exports.makeRedisStore = makeRedisStore;
8
8
  var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
9
9
  var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
10
- var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Effect"));
11
- var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/data/Option"));
12
- var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/prelude"));
13
- var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/prelude/_ext/Prelude.ext"));
14
- var tsplus_module_6 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
15
- var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
10
+ var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Option"));
11
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/prelude"));
12
+ var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/prelude/_ext/Prelude.ext"));
13
+ var tsplus_module_5 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
14
+ var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
15
+ var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/Effect"));
16
16
  var RedisClient = _interopRequireWildcard(require("@effect-app/infra-adapters/redis-client"));
17
17
  var _errors = require("../../errors.cjs");
18
18
  var _Memory = require("./Memory.cjs");
@@ -31,35 +31,35 @@ function makeRedisStore({
31
31
  const updateETag = (0, _utils.makeUpdateETag)(name);
32
32
  // Very naive implementation of course.
33
33
  const key = `${prefix}${name}`;
34
- const current = yield* $(tracer_1.withCallTrace(fileName_1 + ":23:63")(tsplus_module_2.provideService(tsplus_module_1.orDie(RedisClient.get(key)), RedisClient.RedisClient, redis)));
35
- if (!tsplus_module_3.isSome(current)) {
36
- const m = yield* $(existing ?? tracer_1.withCallTrace(fileName_1 + ":25:44")(tsplus_module_1.sync(() => tsplus_module_4.ROMap.empty)));
37
- yield* $(tracer_1.withCallTrace(fileName_1 + ":29:18")(tsplus_module_2.provideService(tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({
34
+ const current = yield* $(tracer_1.withCallTrace(fileName_1 + ":23:63")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(tsplus_module_1.orDie(RedisClient.get(key))));
35
+ if (!tsplus_module_2.isSome(current)) {
36
+ const m = yield* $(existing ?? tracer_1.withCallTrace(fileName_1 + ":25:44")(tsplus_module_1.sync(() => tsplus_module_3.ROMap.empty)));
37
+ yield* $(tracer_1.withCallTrace(fileName_1 + ":29:18")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({
38
38
  data: [...m.values()].map(e => (0, _utils.makeETag)(e))
39
- }))), RedisClient.RedisClient, redis)));
39
+ })))));
40
40
  }
41
- const get = tracer_1.withCallTrace(fileName_1 + ":37:14")(tsplus_module_2.provideService(tracer_1.withCallTrace(fileName_1 + ":36:14")(tsplus_module_1.map(_ => _.data))(tracer_1.withCallTrace(fileName_1 + ":35:14")(tsplus_module_1.map(x => JSON.parse(x)))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":33:14")(tsplus_module_1.flatMap(x => tsplus_module_5.encaseMaybeInEffect_(x, () => new _errors.NotFoundError("data", ""))))(RedisClient.get(key))))), RedisClient.RedisClient, redis));
41
+ const get = tracer_1.withCallTrace(fileName_1 + ":37:14")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(tracer_1.withCallTrace(fileName_1 + ":36:14")(tsplus_module_1.map(_ => _.data))(tracer_1.withCallTrace(fileName_1 + ":35:14")(tsplus_module_1.map(x => JSON.parse(x)))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":33:14")(tsplus_module_1.flatMap(x => tsplus_module_4.encaseMaybeInEffect_(x, () => new _errors.NotFoundError("data", ""))))(RedisClient.get(key))))));
42
42
  const set = i => tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({
43
43
  data: [...i.values()]
44
44
  })));
45
45
  const sem = tsplus_module_1.unsafeMakeSemaphore(1);
46
46
  const withPermit = sem.withPermits(1);
47
- const asMap = tracer_1.withCallTrace(fileName_1 + ":44:29")(tsplus_module_1.map(x => tsplus_module_4.ROMap.make(x.map(x => [x.id, x]))))(get);
48
- const all = tracer_1.withCallTrace(fileName_1 + ":45:27")(tsplus_module_1.map(tsplus_module_6.fromIterable))(get);
49
- const batchSet = items => tracer_1.withCallTrace(fileName_1 + ":60:16")(tsplus_module_2.provideService(withPermit(tracer_1.withCallTrace(fileName_1 + ":58:16")(tsplus_module_1.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":49:16")(tsplus_module_1.tap(items => tracer_1.withCallTrace(fileName_1 + ":56:20")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":51:20")(tsplus_module_1.map(m => {
50
- const mut = tsplus_module_4.ROMap.toMutable(m);
47
+ const asMap = tracer_1.withCallTrace(fileName_1 + ":44:29")(tsplus_module_1.map(x => tsplus_module_3.ROMap.make(x.map(x => [x.id, x]))))(get);
48
+ const all = tracer_1.withCallTrace(fileName_1 + ":45:27")(tsplus_module_1.map(tsplus_module_5.fromIterable))(get);
49
+ const batchSet = items => tracer_1.withCallTrace(fileName_1 + ":60:16")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(withPermit(tracer_1.withCallTrace(fileName_1 + ":58:16")(tsplus_module_1.map(_ => _.toReadonlyArray()))(tracer_1.withCallTrace(fileName_1 + ":49:16")(tsplus_module_1.tap(items => tracer_1.withCallTrace(fileName_1 + ":56:20")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":51:20")(tsplus_module_1.map(m => {
50
+ const mut = tsplus_module_3.ROMap.toMutable(m);
51
51
  items.forEach(e => mut.set(e.id, e));
52
- return tsplus_module_4.ROMap.fromMutable(mut);
53
- }))(asMap))))(tsplus_module_7.ext_forEach(items, e => tracer_1.withCallTrace(fileName_1 + ":48:48")(tsplus_module_1.flatMap(current => updateETag(e, current)))(s.find(e.id)))))), RedisClient.RedisClient, redis));
52
+ return tsplus_module_3.ROMap.fromMutable(mut);
53
+ }))(asMap))))(tsplus_module_6.ext_forEach(items, e => tracer_1.withCallTrace(fileName_1 + ":48:48")(tsplus_module_1.flatMap(current => updateETag(e, current)))(s.find(e.id)))))));
54
54
  const s = {
55
55
  all,
56
56
  filter: (filter, cursor) => tracer_1.withCallTrace(fileName_1 + ":64:19")(tsplus_module_1.map((0, _Memory.memFilter)(filter, cursor)))(all),
57
57
  filterJoinSelect: filter => tracer_1.withCallTrace(fileName_1 + ":66:19")(tsplus_module_1.map(c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))))(all),
58
- find: id => tracer_1.withCallTrace(fileName_1 + ":67:31")(tsplus_module_1.map(tsplus_module_4.ROMap.lookup(id)))(asMap),
59
- set: e => tracer_1.withCallTrace(fileName_1 + ":74:18")(tsplus_module_2.provideService(withPermit(tracer_1.withCallTrace(fileName_1 + ":72:18")(tsplus_module_1.tap(e => tracer_1.withCallTrace(fileName_1 + ":72:60")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":72:33")(tsplus_module_1.map(tsplus_module_4.ROMap.insert(e.id, e)))(asMap))))(tracer_1.withCallTrace(fileName_1 + ":71:18")(tsplus_module_1.flatMap(current => updateETag(e, current)))(s.find(e.id)))), RedisClient.RedisClient, redis)),
58
+ find: id => tracer_1.withCallTrace(fileName_1 + ":67:31")(tsplus_module_1.map(tsplus_module_3.ROMap.lookup(id)))(asMap),
59
+ set: e => tracer_1.withCallTrace(fileName_1 + ":74:18")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(withPermit(tracer_1.withCallTrace(fileName_1 + ":72:18")(tsplus_module_1.tap(e => tracer_1.withCallTrace(fileName_1 + ":72:60")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":72:33")(tsplus_module_1.map(tsplus_module_3.ROMap.insert(e.id, e)))(asMap))))(tracer_1.withCallTrace(fileName_1 + ":71:18")(tsplus_module_1.flatMap(current => updateETag(e, current)))(s.find(e.id))))),
60
60
  batchSet,
61
61
  bulkSet: batchSet,
62
- remove: e => tracer_1.withCallTrace(fileName_1 + ":80:18")(tsplus_module_2.provideService(withPermit(tracer_1.withCallTrace(fileName_1 + ":78:45")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":78:21")(tsplus_module_1.map(tsplus_module_4.ROMap.remove(e.id)))(asMap))), RedisClient.RedisClient, redis))
62
+ remove: e => tracer_1.withCallTrace(fileName_1 + ":80:18")(tsplus_module_1.provideService(RedisClient.RedisClient, redis))(withPermit(tracer_1.withCallTrace(fileName_1 + ":78:45")(tsplus_module_1.flatMap(set))(tracer_1.withCallTrace(fileName_1 + ":78:21")(tsplus_module_1.map(tsplus_module_3.ROMap.remove(e.id)))(asMap))))
63
63
  };
64
64
  return s;
65
65
  }))
@@ -67,6 +67,6 @@ function makeRedisStore({
67
67
  }));
68
68
  }
69
69
  function RedisStoreLive(config) {
70
- return tsplus_module_1.toLayer(_service.StoreMaker)(tracer_1.withCallTrace(fileName_1 + ":91:24")(tsplus_module_1.flatMap(makeRedisStore))(tsplus_module_1.config(config)));
70
+ return tsplus_module_7.toLayer(tracer_1.withCallTrace(fileName_1 + ":91:24")(tsplus_module_1.flatMap(makeRedisStore))(tsplus_module_1.config(config)), _service.StoreMaker);
71
71
  }
72
72
  //# sourceMappingURL=Redis.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Redis.cjs","mappings":"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","names":["makeRedisStore","prefix","tsplus_module_1","$","redis","RedisClient","make","name","existing","_config","tracer_1","updateETag","key","current","tsplus_module_2","get","tsplus_module_3","m","tsplus_module_4","empty","set","JSON","stringify","data","values","map","e","_","x","parse","tsplus_module_5","NotFoundError","i","sem","withPermit","withPermits","asMap","id","all","batchSet","items","toReadonlyArray","mut","toMutable","forEach","fromMutable","tsplus_module_7","s","find","filter","cursor","filterJoinSelect","c","flatMap","lookup","insert","bulkSet","remove","RedisStoreLive","config","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"Redis.cjs","mappings":"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","names":["makeRedisStore","prefix","tsplus_module_1","$","redis","RedisClient","make","name","existing","_config","tracer_1","updateETag","key","current","get","tsplus_module_2","m","tsplus_module_3","empty","set","JSON","stringify","data","values","map","e","_","x","parse","tsplus_module_4","NotFoundError","i","sem","withPermit","withPermits","asMap","id","all","batchSet","items","toReadonlyArray","mut","toMutable","forEach","fromMutable","tsplus_module_6","s","find","filter","cursor","filterJoinSelect","c","flatMap","lookup","insert","bulkSet","remove","RedisStoreLive","config","tsplus_module_7","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"sourcesContent":[null]}
@@ -11,7 +11,6 @@ var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
11
11
  var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Config/Secret"));
12
12
  var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
13
13
  var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
14
- var tsplus_module_4 = _interopRequireWildcard(require("@effect/io/Layer"));
15
14
  var CosmosClient = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
16
15
  var RedisClient = _interopRequireWildcard(require("@effect-app/infra-adapters/redis-client"));
17
16
  var _redis = require("redis");
@@ -38,7 +37,7 @@ const fileName_1 = "packages/infra/_src/services/Store/index.ts";
38
37
  * @tsplus static StoreMaker.Ops Live
39
38
  */
40
39
  function StoreMakerLive(config) {
41
- return tsplus_module_4.scoped(_service.StoreMaker)(tracer_1.withCallTrace(fileName_1 + ":17:24")(tsplus_module_2.flatMap(cfg => {
40
+ return tsplus_module_3.toScopedLayer(tracer_1.withCallTrace(fileName_1 + ":17:24")(tsplus_module_2.flatMap(cfg => {
42
41
  const storageUrl = tsplus_module_1.value(cfg.url);
43
42
  if (storageUrl.startsWith("mem://")) {
44
43
  console.log("Using in memory store");
@@ -50,11 +49,11 @@ function StoreMakerLive(config) {
50
49
  }
51
50
  if (storageUrl.startsWith("redis://")) {
52
51
  console.log("Using Redis store");
53
- return tracer_1.withCallTrace(fileName_1 + ":29:65")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":30:29")(tsplus_module_3.provideService((0, _Redis.makeRedisStore)(cfg), RedisClient.RedisClient, client))))(RedisClient.makeRedisClient(makeRedis(storageUrl)));
52
+ return tracer_1.withCallTrace(fileName_1 + ":29:65")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":30:29")(tsplus_module_2.provideService(RedisClient.RedisClient, client))((0, _Redis.makeRedisStore)(cfg))))(RedisClient.makeRedisClient(makeRedis(storageUrl)));
54
53
  }
55
54
  console.log("Using Cosmos DB store");
56
- return tracer_1.withCallTrace(fileName_1 + ":38:66")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":39:28")(tsplus_module_3.provideService((0, _Cosmos.makeCosmosStore)(cfg), CosmosClient.CosmosClient, client))))(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName));
57
- }))(tsplus_module_2.config(config)));
55
+ return tracer_1.withCallTrace(fileName_1 + ":38:66")(tsplus_module_2.flatMap(client => tracer_1.withCallTrace(fileName_1 + ":39:28")(tsplus_module_2.provideService(CosmosClient.CosmosClient, client))((0, _Cosmos.makeCosmosStore)(cfg))))(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName));
56
+ }))(tsplus_module_2.config(config)), _service.StoreMaker);
58
57
  }
59
58
  function makeRedis(storageUrl) {
60
59
  const url = new URL(storageUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","mappings":";;;;;;;;;;;;;;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAmDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA4B;AAAA;;AAjD5B;;;AAGM,SAAUA,cAAc,CAACC,MAA6B;EAC1D,OAAOC,uBAyBUC,mBAAU,EAzBpBC,sEAAsBC,GAAG,IAAG;IACjC,MAAMC,UAAU,yBAAGD,GAAG,CAACE,GAAG,CAAM;IAChC,IAAID,UAAU,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE;MACnCC,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;MACpC,qDAAOC,2BAAO,2BAAe,GAAE,CAAC;;IAElC,IAAIL,UAAU,CAACE,UAAU,CAAC,SAAS,CAAC,EAAE;MACpCC,OAAO,CAACC,GAAG,CAAC,6BAA6B,CAAC;MAC1C,OAAO,uBAAa,EAACL,GAAG,CAAC;;IAE3B,IAAIC,UAAU,CAACE,UAAU,CAAC,UAAU,CAAC,EAAE;MACrCC,OAAO,CAACC,GAAG,CAAC,mBAAmB,CAAC;MAChC,OAAON,sEAA2DQ,MAAM,IAAGR,8CACzES,wDAAc,EAACR,GAAG,CAAC,EACjBS,WAAW,CAACA,WAAW,EACvBF,MAAM,CACP,IAJIE,WAAW,CAACC,eAAe,CAACC,SAAS,CAACV,UAAU,CAAC,CAAC,CAKxD;;IAGHG,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;IACpC,OAAON,sEAA8DQ,MAAM,IAAGR,8CAC5ES,0DAAe,EAACR,GAAG,CAAC,EAAgBY,YAAY,CAACA,YAAY,EAAEL,MAAM,CAAC,IADjEK,YAAY,CAACC,gBAAgB,CAACZ,UAAU,EAAED,GAAG,CAACc,MAAM,CAAC,CAE3D;EACH,CAAC,0BAxBMlB,MAAM,EAwBX,CAC0B;AAC9B;AAEA,SAASe,SAAS,CAACV,UAAkB;EACnC,MAAMC,GAAG,GAAG,IAAIa,GAAG,CAACd,UAAU,CAAC;EAC/B,MAAMe,QAAQ,GAAGd,GAAG,CAACc,QAAQ;EAC7B,MAAMC,QAAQ,GAAGf,GAAG,CAACe,QAAQ;EAC7B,OAAO,MACL,uBAAY,EACVhB,UAAU,KAAK,UAAU,GACpB;IACDiB,IAAI,EAAEF,QAAQ;IACdG,IAAI,EAAE,IAAI;IACVC,SAAS,EAAEH,QAAQ;IACnBI,GAAG,EAAE;MAAEC,UAAU,EAAEN;IAAQ;GACpB,GACNf,UAAkB,CACxB;AACL","names":["StoreMakerLive","config","tsplus_module_4","StoreMaker","tracer_1","cfg","storageUrl","url","startsWith","console","log","tsplus_module_2","client","tsplus_module_3","RedisClient","makeRedisClient","makeRedis","CosmosClient","makeCosmosClient","dbName","URL","hostname","password","host","port","auth_pass","tls","servername"],"sourceRoot":"","sources":["../../../_src/services/Store/index.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"index.cjs","mappings":";;;;;;;;;;;;;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAmDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA4B;AAAA;;AAjD5B;;;AAGM,SAAUA,cAAc,CAACC,MAA6B;EAC1D,OAAOC,oGAAsBC,GAAG,IAAG;IACjC,MAAMC,UAAU,yBAAGD,GAAG,CAACE,GAAG,CAAM;IAChC,IAAID,UAAU,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE;MACnCC,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;MACpC,qDAAOC,2BAAO,2BAAe,GAAE,CAAC;;IAElC,IAAIL,UAAU,CAACE,UAAU,CAAC,SAAS,CAAC,EAAE;MACpCC,OAAO,CAACC,GAAG,CAAC,6BAA6B,CAAC;MAC1C,OAAO,uBAAa,EAACL,GAAG,CAAC;;IAE3B,IAAIC,UAAU,CAACE,UAAU,CAAC,UAAU,CAAC,EAAE;MACrCC,OAAO,CAACC,GAAG,CAAC,mBAAmB,CAAC;MAChC,OAAOE,sEAA2DC,MAAM,IACtED,6EACEE,WAAW,CAACA,WAAW,EACvBD,MAAM,GAFR,yBAAc,EAACR,GAAG,CAAC,CAGlB,GAJIS,WAAW,CAACC,eAAe,CAACC,SAAS,CAACV,UAAU,CAAC,CAAC,CAKxD;;IAGHG,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;IACpC,OAAOE,sEAA8DC,MAAM,IACzED,6EAAoCK,YAAY,CAACA,YAAY,EAAEJ,MAAM,GAArE,2BAAe,EAACR,GAAG,CAAC,CAAkD,GADjEY,YAAY,CAACC,gBAAgB,CAACZ,UAAU,EAAED,GAAG,CAACc,MAAM,CAAC,CAE3D;EACH,CAAC,0BAxBMhB,MAAM,EAwBX,EACeiB,mBAAU,CAAC;AAC9B;AAEA,SAASJ,SAAS,CAACV,UAAkB;EACnC,MAAMC,GAAG,GAAG,IAAIc,GAAG,CAACf,UAAU,CAAC;EAC/B,MAAMgB,QAAQ,GAAGf,GAAG,CAACe,QAAQ;EAC7B,MAAMC,QAAQ,GAAGhB,GAAG,CAACgB,QAAQ;EAC7B,OAAO,MACL,uBAAY,EACVjB,UAAU,KAAK,UAAU,GACpB;IACDkB,IAAI,EAAEF,QAAQ;IACdG,IAAI,EAAE,IAAI;IACVC,SAAS,EAAEH,QAAQ;IACnBI,GAAG,EAAE;MAAEC,UAAU,EAAEN;IAAQ;GACpB,GACNhB,UAAkB,CACxB;AACL","names":["StoreMakerLive","config","tsplus_module_3","cfg","storageUrl","url","startsWith","console","log","tsplus_module_2","tracer_1","client","RedisClient","makeRedisClient","makeRedis","CosmosClient","makeCosmosClient","dbName","StoreMaker","URL","hostname","password","host","port","auth_pass","tls","servername"],"sourceRoot":"","sources":["../../../_src/services/Store/index.ts"],"sourcesContent":[null]}
@@ -28,7 +28,7 @@ function createContext() {
28
28
  save: simpledb.store(find, store, bogusLock, type)
29
29
  };
30
30
  function find(id) {
31
- return tracer_1.withCallTrace(fileName_1 + ":33:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":32:10")(tsplus_module_3.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":31:10")(tsplus_module_2.map(_ => tsplus_module_1.map(s => JSON.parse(s))(_)))(storage.find((0, _shared.getRecordName)(type, id))), parseSDB)), ({
31
+ return tracer_1.withCallTrace(fileName_1 + ":32:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":31:10")(tsplus_module_3.flatMapOpt(tracer_1.withCallTrace(fileName_1 + ":30:10")(tsplus_module_2.map(_ => tsplus_module_1.map(s => JSON.parse(s))(_)))(storage.find((0, _shared.getRecordName)(type, id))), parseSDB)), ({
32
32
  data,
33
33
  version
34
34
  }) => ({
@@ -38,7 +38,7 @@ function createContext() {
38
38
  }
39
39
  function findBy(keys, eq) {
40
40
  // Naive implementation, fine for in memory testing purposes.
41
- return tracer_1.withCallTrace(fileName_1 + ":58:10")(tsplus_module_2.map(tsplus_module_1.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":41:21")(tsplus_module_2.gen(function* ($) {
41
+ return tracer_1.withCallTrace(fileName_1 + ":57:10")(tsplus_module_2.map(tsplus_module_1.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":40:21")(tsplus_module_2.gen(function* ($) {
42
42
  for (const [, value] of storage) {
43
43
  const sdb_ = JSON.parse(value);
44
44
  const sdb = yield* $(parseSDB(sdb_));
@@ -46,7 +46,7 @@ function createContext() {
46
46
  data: JSON.parse(sdb.data),
47
47
  version: sdb.version
48
48
  };
49
- const r = yield* $(tsplus_module_2.exit(tracer_1.withCallTrace(fileName_1 + ":47:29")(tsplus_module_2.flatMap(d => eq.equals(keys, d) ? tracer_1.withCallTrace(fileName_1 + ":49:19")(tsplus_module_2.sync(() => d)) : tracer_1.withCallTrace(fileName_1 + ":50:26")(tsplus_module_2.fail("not equals"))))(decode(cr.data))));
49
+ const r = yield* $(tsplus_module_2.exit(tracer_1.withCallTrace(fileName_1 + ":46:29")(tsplus_module_2.flatMap(d => eq(d)(keys) ? tracer_1.withCallTrace(fileName_1 + ":48:19")(tsplus_module_2.sync(() => d)) : tracer_1.withCallTrace(fileName_1 + ":49:26")(tsplus_module_2.fail("not equals"))))(decode(cr.data))));
50
50
  if (tsplus_module_4.isSuccess(r)) {
51
51
  return r.value;
52
52
  }
@@ -56,19 +56,19 @@ function createContext() {
56
56
  }
57
57
  function store(record, currentVersion) {
58
58
  const version = tsplus_module_1.getOrElse(() => "1")(tsplus_module_1.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
59
- const getData = (0, _Function.flow)(encode, _ => tracer_1.withCallTrace(fileName_1 + ":68:36")(tsplus_module_2.map(data => JSON.stringify({
59
+ const getData = (0, _Function.flow)(encode, _ => tracer_1.withCallTrace(fileName_1 + ":67:36")(tsplus_module_2.map(data => JSON.stringify({
60
60
  version,
61
61
  timestamp: new Date(),
62
62
  data
63
- })))(tracer_1.withCallTrace(fileName_1 + ":68:16")(tsplus_module_2.map(JSON.stringify))(_)));
64
- return tracer_1.withCallTrace(fileName_1 + ":72:10")(tsplus_module_2.map(() => ({
63
+ })))(tracer_1.withCallTrace(fileName_1 + ":67:16")(tsplus_module_2.map(JSON.stringify))(_)));
64
+ return tracer_1.withCallTrace(fileName_1 + ":71:10")(tsplus_module_2.map(() => ({
65
65
  version,
66
66
  data: record
67
- })))(tracer_1.withCallTrace(fileName_1 + ":71:10")(tsplus_module_2.flatMap(serialised => storage.set((0, _shared.getRecordName)(type, record.id), serialised)))(getData(record)));
67
+ })))(tracer_1.withCallTrace(fileName_1 + ":70:10")(tsplus_module_2.flatMap(serialised => storage.set((0, _shared.getRecordName)(type, record.id), serialised)))(getData(record)));
68
68
  }
69
69
  };
70
70
  }
71
71
  function bogusLock() {
72
- return tracer_1.withCallTrace(fileName_1 + ":78:22")(tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit));
72
+ return tracer_1.withCallTrace(fileName_1 + ":77:22")(tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit));
73
73
  }
74
74
  //# sourceMappingURL=memdb.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"memdb.cjs","mappings":"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","names":["storage","parseSDB","MO","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","simpledb","findBy","save","store","bogusLock","id","tsplus_module_3","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","tracer_1","$","value","sdb_","sdb","cr","r","d","equals","tsplus_module_2","tsplus_module_4","record","currentVersion","cv","parseInt","toString","getData","stringify","timestamp","Date","serialised","set"],"sourceRoot":"","sources":["../../../_src/services/simpledb/memdb.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"memdb.cjs","mappings":"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","names":["storage","parseSDB","MO","condemnFail","SerializedDBRecord","Parser","createContext","type","encode","decode","find","simpledb","findBy","save","store","bogusLock","id","tsplus_module_3","_","tsplus_module_1","s","JSON","parse","data","version","keys","eq","tracer_1","$","value","sdb_","sdb","cr","r","d","tsplus_module_2","tsplus_module_4","record","currentVersion","cv","parseInt","toString","getData","stringify","timestamp","Date","serialised","set"],"sourceRoot":"","sources":["../../../_src/services/simpledb/memdb.ts"],"sourcesContent":[null]}
@@ -42,7 +42,7 @@ function makeLiveRecordCache() {
42
42
  // module tag
43
43
  const RecordCache = tsplus_module_2.Tag();
44
44
  exports.RecordCache = RecordCache;
45
- const LiveRecordCache = tsplus_module_1.toLayer(RecordCache)(tracer_1.withCallTrace(fileName_1 + ":31:32")(tsplus_module_1.sync(() => makeLiveRecordCache())));
45
+ const LiveRecordCache = tsplus_module_3.toLayer(tracer_1.withCallTrace(fileName_1 + ":31:32")(tsplus_module_1.sync(() => makeLiveRecordCache())), RecordCache);
46
46
  exports.LiveRecordCache = LiveRecordCache;
47
47
  const getM = type => eff => tracer_1.withCallTrace(fileName_1 + ":35:12")(tsplus_module_1.gen(function* ($) {
48
48
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"simpledb.cjs","mappings":"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","names":["InvalidStateError","constructor","message","details","makeLiveRecordCache","m","Map","get","type","tracer_1","tsplus_module_1","ex","nm","set","RecordCache","tsplus_module_2","LiveRecordCache","getM","eff","$","find","tryRead","decode","getCache","read","id","tsplus_module_3","data","version","err","r","c","existing","storeDirectly","save","record","cv","x","store","lock","_","tsplus_module_4","confirmVersionAndSave","OptimisticLockException"],"sourceRoot":"","sources":["../../../_src/services/simpledb/simpledb.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"simpledb.cjs","mappings":"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","names":["InvalidStateError","constructor","message","details","makeLiveRecordCache","m","Map","get","type","tracer_1","tsplus_module_1","ex","nm","set","RecordCache","tsplus_module_2","LiveRecordCache","tsplus_module_3","getM","eff","$","find","tryRead","decode","getCache","read","id","data","version","err","r","c","existing","storeDirectly","save","record","cv","x","store","lock","_","tsplus_module_4","confirmVersionAndSave","OptimisticLockException"],"sourceRoot":"","sources":["../../../_src/services/simpledb/simpledb.ts"],"sourcesContent":[null]}
@@ -11,8 +11,7 @@ export function makeOpenApiSpecs(
11
11
  ) {
12
12
  return Effect.gen(function*($) {
13
13
  const ref = yield* $(Ref.make<Map<string, JSONSchema | SubSchema>>(new Map()))
14
- const withRef = Effect.provideService(References)({ ref })
15
- const paths = yield* $(pipe(makeJsonSchema(rdescs), withRef))
14
+ const paths = yield* $(makeJsonSchema(rdescs).provideService(References, { ref }))
16
15
  const refs = yield* $(ref.get)
17
16
  const parameterRefs: Record<string, any> = {} // todos
18
17
  const schemas: Record<string, any> = {}
@@ -343,7 +343,7 @@ export function makeRequestHandler<
343
343
  ) // .instrument("Performance.RequestResponse")
344
344
  // the first log entry should be of the request start.
345
345
  const r2 = makeMiddlewareContext
346
- ? r.provideSomeEnvironmentEffect(makeMiddlewareContext(req, res, requestContext))
346
+ ? r.provideSomeContextEffect(makeMiddlewareContext(req, res, requestContext))
347
347
  : // PR is not relevant here
348
348
  r as Effect<R, E | ValidationError, void>
349
349
  return errorHandler(
@@ -5,7 +5,7 @@ import { RequestContext } from "../RequestContext.js"
5
5
  */
6
6
  export function setupRequest<R, E, A>(self: Effect<R, E, A>, requestContext: RequestContext) {
7
7
  return pipe(
8
- self.withSpan("request"),
8
+ self.logSpan("request"),
9
9
  Effect.logAnnotates({
10
10
  requestRootId: requestContext.rootId,
11
11
  requestId: requestContext.id,
@@ -4,6 +4,6 @@
4
4
  export function instr<R, E, A>(self: Effect<R, E, A>, name: string, properties?: Record<string, string>) {
5
5
  return self
6
6
  .tap(() => Effect.logDebug(`instrumented`).logAnnotate("properties", (properties || {}).$$.pretty))
7
- .withSpan(name)
7
+ .logSpan(name)
8
8
  // trackMetric(name, time, properties))
9
9
  }
package/_src/rateLimit.ts CHANGED
@@ -1,27 +1,27 @@
1
- /**
2
- * Executes the specified effect, acquiring the specified number of permits
3
- * immediately before the effect begins execution and releasing them
4
- * delayed by duration after the effect completes execution, whether by success,
5
- * failure, or interruption.
6
- *
7
- * @tsplus static effect/stm/TSemaphore.Ops withPermitsDuration
8
- * @tsplus pipeable effect/stm/TSemaphore withPermitsDuration
9
- */
10
- export function withPermitsDuration(permits: number, duration: DUR) {
11
- return (self: TSemaphore): <R, E, A>(effect: Effect<R, E, A>) => Effect<R, E, A> => {
12
- return effect =>
13
- Effect.uninterruptibleMask(
14
- restore =>
15
- restore(self.acquireN(permits).commit)
16
- > restore(effect)
17
- .ensuring(
18
- self.releaseN(permits)
19
- .commit
20
- .delay(duration)
21
- )
22
- )
23
- }
24
- }
1
+ // /**
2
+ // * Executes the specified effect, acquiring the specified number of permits
3
+ // * immediately before the effect begins execution and releasing them
4
+ // * delayed by duration after the effect completes execution, whether by success,
5
+ // * failure, or interruption.
6
+ // *
7
+ // * @tsplus static effect/stm/TSemaphore.Ops withPermitsDuration
8
+ // * @tsplus pipeable effect/stm/TSemaphore withPermitsDuration
9
+ // */
10
+ // export function withPermitsDuration(permits: number, duration: DUR) {
11
+ // return (self: TSemaphore): <R, E, A>(effect: Effect<R, E, A>) => Effect<R, E, A> => {
12
+ // return effect =>
13
+ // Effect.uninterruptibleMask(
14
+ // restore =>
15
+ // restore(self.acquireN(permits).commit)
16
+ // > restore(effect)
17
+ // .ensuring(
18
+ // self.releaseN(permits)
19
+ // .commit
20
+ // .delay(duration)
21
+ // )
22
+ // )
23
+ // }
24
+ // }
25
25
 
26
26
  /**
27
27
  * Executes the specified effect, acquiring the specified number of permits
@@ -95,7 +95,7 @@ function renderFake(addr: EmailData | EmailData[], makeId: () => number) {
95
95
  email: `test+${makeId()}@nomizz.com`
96
96
  }
97
97
  }
98
- const eq = Equal.string.contramap((to: { name?: string; email: string } | string) =>
98
+ const eq = Equivalence.string.contramap((to: { name?: string; email: string } | string) =>
99
99
  typeof to === "string" ? to.toLowerCase() : to.email.toLowerCase()
100
100
  )
101
101
 
@@ -482,7 +482,7 @@ export function buildWhereCosmosQuery(
482
482
  filter.where.filter(_ => _.key.includes(".-1."))
483
483
  .map(_ => _.key.split(".-1.")[0])
484
484
  .map(_ => `JOIN ${_} IN f.${_}`)
485
- .uniq(Equal.string)
485
+ .uniq(Equivalence.string)
486
486
  .join("\n")
487
487
  }
488
488
  WHERE f.id != @id AND ${
@@ -1,6 +1,5 @@
1
1
  import { flow } from "@effect-app/core/Function"
2
2
  import * as MO from "@effect-app/schema"
3
- import type * as Eq from "@effect-ts/core/Equal"
4
3
 
5
4
  import type { CachedRecord, DBRecord } from "./shared.js"
6
5
  import { getRecordName, makeMap, SerializedDBRecord } from "./shared.js"
@@ -28,7 +27,7 @@ export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>
28
27
  function find(id: string) {
29
28
  return storage
30
29
  .find(getRecordName(type, id))
31
- .map(_ => _.map(s => JSON.parse(s) as unknown))
30
+ .map(_ => _.map(s => JSON.parse(s)))
32
31
  .flatMapOpt(parseSDB)
33
32
  .mapOpt(({ data, version }) => ({
34
33
  data: JSON.parse(data) as EA,
@@ -36,16 +35,16 @@ export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>
36
35
  }))
37
36
  }
38
37
 
39
- function findBy<V extends Partial<A>>(keys: V, eq: Eq.Equal<V>) {
38
+ function findBy<V extends Partial<A>>(keys: V, eq: Equivalence<V>) {
40
39
  // Naive implementation, fine for in memory testing purposes.
41
40
  return Effect.gen(function*($) {
42
41
  for (const [, value] of storage) {
43
- const sdb_ = JSON.parse(value) as unknown
42
+ const sdb_ = JSON.parse(value)
44
43
  const sdb = yield* $(parseSDB(sdb_))
45
44
  const cr = { data: JSON.parse(sdb.data) as EA, version: sdb.version }
46
45
  const r = yield* $(
47
46
  decode(cr.data).flatMap(d =>
48
- eq.equals(keys, d as unknown as V)
47
+ eq(d as unknown as V)(keys)
49
48
  ? Effect(d)
50
49
  : Effect.fail("not equals")
51
50
  ).exit
@@ -1 +1 @@
1
- {"version":3,"file":"makeOpenApiSpecs.d.ts","sourceRoot":"","sources":["../../../_src/api/express/makeOpenApiSpecs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,iDAAiD,CAAA;AAI9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,IAAI,EAAE,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDlB"}
1
+ {"version":3,"file":"makeOpenApiSpecs.d.ts","sourceRoot":"","sources":["../../../_src/api/express/makeOpenApiSpecs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,iDAAiD,CAAA;AAI9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EACpC,IAAI,EAAE,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDlB"}
@@ -2,14 +2,12 @@ import * as tracer_1 from "@effect/io/Debug";
2
2
  const fileName_1 = "packages/infra/_src/api/express/makeOpenApiSpecs.ts";
3
3
  import * as tsplus_module_1 from "@effect/io/Ref";
4
4
  import * as tsplus_module_2 from "@effect/io/Effect";
5
- import * as tsplus_module_3 from "@effect-app/core/Function";
6
5
  import { References } from "@effect-app/infra-adapters/Openapi/atlas-plutus/Schema/index";
7
6
  import { makeJsonSchema } from "./makeJsonSchema.js";
8
7
  export function makeOpenApiSpecs(rdescs, info) {
9
8
  return tracer_1.withCallTrace(fileName_1 + ":12:17")(tsplus_module_2.gen(function* ($) {
10
9
  const ref = yield* $(tracer_1.withCallTrace(fileName_1 + ":13:30")(tsplus_module_1.make(new Map())));
11
- const withRef = tracer_1.withCallTrace(fileName_1 + ":14:21")(tsplus_module_2.provideService(References)({ ref }));
12
- const paths = yield* $(tsplus_module_3.pipe(makeJsonSchema(rdescs), withRef));
10
+ const paths = yield* $(tracer_1.withCallTrace(fileName_1 + ":14:51")(tsplus_module_2.provideService(References, { ref }))(makeJsonSchema(rdescs)));
13
11
  const refs = yield* $(tsplus_module_1.get(ref));
14
12
  const parameterRefs = {}; // todos
15
13
  const schemas = {};
@@ -53,4 +51,4 @@ export function makeOpenApiSpecs(rdescs, info) {
53
51
  };
54
52
  }));
55
53
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZU9wZW5BcGlTcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3MvbWFrZU9wZW5BcGlTcGVjcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4REFBOEQsQ0FBQTtBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFHcEQsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixNQUFvQyxFQUNwQyxJQUFpQjtJQUVqQixxREFBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsK0NBQUMscUJBQThDLElBQUksR0FBRyxFQUFFLENBQUMsRUFBQyxDQUFBO1FBQzlFLE1BQU0sT0FBTyxpREFBRywrQkFBc0IsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBLENBQUE7UUFDMUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFBLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUM3RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFCQUFDLEdBQUcsRUFBSyxDQUFBO1FBQzlCLE1BQU0sYUFBYSxHQUF3QixFQUFFLENBQUEsQ0FBQyxRQUFRO1FBQ3RELE1BQU0sT0FBTyxHQUF3QixFQUFFLENBQUE7UUFDdkMsTUFBTSxlQUFlLEdBQUc7WUFDdEIsVUFBVSxFQUFFO2dCQUNWLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixZQUFZLEVBQUUsS0FBSzthQUNwQjtTQUNGLENBQUEsQ0FBQyxtREFBbUQ7UUFDckQsTUFBTSxVQUFVLEdBQUcsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsQ0FBQTtRQUUxRSxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNsQyxnREFBZ0Q7WUFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUM3QjtRQUVELE9BQU87WUFDTCxPQUFPLEVBQUUsT0FBTztZQUNoQixJQUFJLEVBQUU7Z0JBQ0osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsR0FBRztnQkFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUNuQixDQUFDLENBQUM7d0JBQ0EsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTt3QkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSzt3QkFDekIsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRztxQkFDdEI7b0JBQ0QsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO29CQUNuQixDQUFDLENBQUM7d0JBQ0EsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTt3QkFDdkIsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRztxQkFDdEI7b0JBQ0QsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCO1lBQ0QsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLO1lBQ0wsVUFBVTtZQUNWLFFBQVE7U0FDVCxDQUFBO0lBQ0gsQ0FBQyxDQUFDLEVBQUE7QUFDSixDQUFDIn0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZU9wZW5BcGlTcGVjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3MvbWFrZU9wZW5BcGlTcGVjcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhEQUE4RCxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUdwRCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE1BQW9DLEVBQ3BDLElBQWlCO0lBRWpCLHFEQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQywrQ0FBQyxxQkFBOEMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFDLENBQUE7UUFDOUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZFQUFzQyxVQUFVLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBekQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFvQyxDQUFDLENBQUE7UUFDbEYsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBQyxHQUFHLEVBQUssQ0FBQTtRQUM5QixNQUFNLGFBQWEsR0FBd0IsRUFBRSxDQUFBLENBQUMsUUFBUTtRQUN0RCxNQUFNLE9BQU8sR0FBd0IsRUFBRSxDQUFBO1FBQ3ZDLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsWUFBWSxFQUFFLEtBQUs7YUFDcEI7U0FDRixDQUFBLENBQUMsbURBQW1EO1FBQ3JELE1BQU0sVUFBVSxHQUFHLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUE7UUFFMUUsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEMsZ0RBQWdEO1lBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDN0I7UUFFRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU87WUFDaEIsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztvQkFDbkIsQ0FBQyxDQUFDO3dCQUNBLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7d0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7d0JBQ3pCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7cUJBQ3RCO29CQUNELENBQUMsQ0FBQyxTQUFTO2dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztvQkFDbkIsQ0FBQyxDQUFDO3dCQUNBLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7d0JBQ3ZCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7cUJBQ3RCO29CQUNELENBQUMsQ0FBQyxTQUFTO2dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN0QjtZQUNELElBQUksRUFBRSxFQUFFO1lBQ1IsS0FBSztZQUNMLFVBQVU7WUFDVixRQUFRO1NBQ1QsQ0FBQTtJQUNILENBQUMsQ0FBQyxFQUFBO0FBQ0osQ0FBQyJ9
@@ -12,9 +12,19 @@ export class RequestException extends CauseException {
12
12
  }
13
13
  }
14
14
  export const reportRequestError_ = reportError(cause => new RequestException(cause));
15
- export const reportRequestError = (cause, context) => tsplus_module_2.serviceWithEffect(tsplus_module_1.tag)(requestContext => reportRequestError_(cause, { requestContext, ...context }));
15
+ export const reportRequestError = (cause, context) => tracer_1.withCallTrace(fileName_1 + ":13:22")(tsplus_module_2.serviceWithEffect(tsplus_module_1.tag, requestContext => reportRequestError_(cause, { requestContext, ...context })));
16
16
  export const logRequestError_ = logError(cause => new RequestException(cause));
17
- export const logRequestError = (cause, context) => tsplus_module_2.serviceWithEffect(tsplus_module_1.tag)(requestContext => logRequestError_(cause, { requestContext, ...context }));
17
+ export const logRequestError = (cause, context) => tracer_1.withCallTrace(fileName_1 + ":18:22")(tsplus_module_2.serviceWithEffect(tsplus_module_1.tag, requestContext => logRequestError_(cause, { requestContext, ...context }))
18
+ /**
19
+ * Forks the effect into a new fiber attached to the global scope. Because the
20
+ * new fiber is attached to the global scope, when the fiber executing the
21
+ * returned effect terminates, the forked fiber will continue running.
22
+ *
23
+ * Reports errors.
24
+ *
25
+ * @tsplus getter effect/io/Effect forkDaemonReportRequest
26
+ */
27
+ );
18
28
  /**
19
29
  * Forks the effect into a new fiber attached to the global scope. Because the
20
30
  * new fiber is attached to the global scope, when the fiber executing the
@@ -41,4 +51,4 @@ export function forkDaemonReportRequestUnexpected(self) {
41
51
  ? reportRequestError(cause)
42
52
  : logRequestError(cause)))(self)));
43
53
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9yZXBvcnRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM3QyxPQUErQixzQkFBc0IsQ0FBQTtBQUVyRCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsY0FBaUI7SUFDeEQsWUFBWSxLQUFlO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDekIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBRXBGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUE2QyxFQUFFLEVBQUUsQ0FDekcsdURBQW9DLGNBQWMsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBRW5ILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUU5RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQTZDLEVBQUUsRUFBRSxDQUN0Ryx1REFBb0MsY0FBYyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFaEg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQVUsSUFBcUI7SUFDcEUsMkRBQU8sNEVBQW1CLGtCQUFrQixHQUFyQyxJQUFJLENBQWtDLEdBQ3ZCO0FBQ3hCLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FBVSxJQUFxQjtJQUM5RSwyREFBTyw0RUFBbUIsS0FBSyxDQUFDLEVBQUUsQ0FDaEMsa0NBQUEsS0FBSyxDQUFvQixJQUFJLHNCQUFBLEtBQUssQ0FBUTtRQUN4QyxDQUFDLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBSHJCLElBQUksQ0FJVixHQUNxQjtBQUN4QixDQUFDIn0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9yZXBvcnRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM3QyxPQUErQixzQkFBc0IsQ0FBQTtBQUVyRCxNQUFNLE9BQU8sZ0JBQW9CLFNBQVEsY0FBaUI7SUFDeEQsWUFBWSxLQUFlO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDekIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBRXBGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUE2QyxFQUFFLEVBQUUsK0NBQ3pHLHVEQUFvQyxjQUFjLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQSxDQUFBO0FBRW5ILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUU5RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQTZDLEVBQUUsRUFBRSwrQ0FDdEcsdURBQW9DLGNBQWMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUVoSDs7Ozs7Ozs7R0FRRztDQVY2RyxDQUFBO0FBRWhIOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFVLElBQXFCO0lBQ3BFLDJEQUFPLDRFQUFtQixrQkFBa0IsR0FBckMsSUFBSSxDQUFrQyxHQUN2QjtBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQVUsSUFBcUI7SUFDOUUsMkRBQU8sNEVBQW1CLEtBQUssQ0FBQyxFQUFFLENBQ2hDLGtDQUFBLEtBQUssQ0FBb0IsSUFBSSxzQkFBQSxLQUFLLENBQVE7UUFDeEMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUhyQixJQUFJLENBSVYsR0FDcUI7QUFDeEIsQ0FBQyJ9