@effect-app/infra 0.13.0 → 0.14.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 (121) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/_cjs/api/codec.cjs +2 -4
  3. package/_cjs/api/codec.cjs.map +1 -1
  4. package/_cjs/api/defaultErrorHandler.cjs +18 -21
  5. package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
  6. package/_cjs/api/express/makeJsonSchema.cjs +4 -4
  7. package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
  8. package/_cjs/api/express/makeOpenApiSpecs.cjs +5 -7
  9. package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
  10. package/_cjs/api/express/schema/requestHandler.cjs +57 -56
  11. package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
  12. package/_cjs/api/express/schema/routing.cjs +22 -22
  13. package/_cjs/api/express/schema/routing.cjs.map +1 -1
  14. package/_cjs/api/reportError.cjs +6 -17
  15. package/_cjs/api/reportError.cjs.map +1 -1
  16. package/_cjs/api/routing.cjs +70 -70
  17. package/_cjs/api/routing.cjs.map +1 -1
  18. package/_cjs/api/setupRequest.cjs +2 -4
  19. package/_cjs/api/setupRequest.cjs.map +1 -1
  20. package/_cjs/api/writeDocs.cjs +6 -8
  21. package/_cjs/api/writeDocs.cjs.map +1 -1
  22. package/_cjs/errorReporter.cjs +11 -13
  23. package/_cjs/errorReporter.cjs.map +1 -1
  24. package/_cjs/errors.cjs +1 -1
  25. package/_cjs/errors.cjs.map +1 -1
  26. package/_cjs/instrument.cjs +1 -3
  27. package/_cjs/instrument.cjs.map +1 -1
  28. package/_cjs/rateLimit.cjs +6 -8
  29. package/_cjs/rateLimit.cjs.map +1 -1
  30. package/_cjs/services/Emailer/Sendgrid.cjs +12 -18
  31. package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
  32. package/_cjs/services/Emailer/fake.cjs +4 -7
  33. package/_cjs/services/Emailer/fake.cjs.map +1 -1
  34. package/_cjs/services/Operations/live.cjs +23 -26
  35. package/_cjs/services/Operations/live.cjs.map +1 -1
  36. package/_cjs/services/Operations/service.cjs +3 -5
  37. package/_cjs/services/Operations/service.cjs.map +1 -1
  38. package/_cjs/services/Repository.cjs +28 -30
  39. package/_cjs/services/Repository.cjs.map +1 -1
  40. package/_cjs/services/Store/Cosmos.cjs +58 -58
  41. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  42. package/_cjs/services/Store/Disk.cjs +15 -16
  43. package/_cjs/services/Store/Disk.cjs.map +1 -1
  44. package/_cjs/services/Store/Memory.cjs +14 -16
  45. package/_cjs/services/Store/Memory.cjs.map +1 -1
  46. package/_cjs/services/Store/Redis.cjs +22 -23
  47. package/_cjs/services/Store/Redis.cjs.map +1 -1
  48. package/_cjs/services/Store/codeFilter.test.cjs +1 -1
  49. package/_cjs/services/Store/index.cjs +7 -7
  50. package/_cjs/services/Store/index.cjs.map +1 -1
  51. package/_cjs/services/Store/service.cjs +2 -4
  52. package/_cjs/services/Store/service.cjs.map +1 -1
  53. package/_cjs/services/Store/utils.cjs +16 -17
  54. package/_cjs/services/Store/utils.cjs.map +1 -1
  55. package/_cjs/services/simpledb/cosmosdb.cjs +23 -25
  56. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
  57. package/_cjs/services/simpledb/diskdb.cjs +20 -21
  58. package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
  59. package/_cjs/services/simpledb/memdb.cjs +11 -13
  60. package/_cjs/services/simpledb/memdb.cjs.map +1 -1
  61. package/_cjs/services/simpledb/mongodb.cjs +20 -22
  62. package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
  63. package/_cjs/services/simpledb/redisdb.cjs +25 -25
  64. package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
  65. package/_cjs/services/simpledb/shared.cjs +4 -6
  66. package/_cjs/services/simpledb/shared.cjs.map +1 -1
  67. package/_cjs/services/simpledb/simpledb.cjs +16 -17
  68. package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
  69. package/_src/errors.ts +1 -1
  70. package/_src/services/simpledb/memdb.ts +1 -1
  71. package/dist/RequestContext.d.ts +12 -12
  72. package/dist/api/codec.js +3 -5
  73. package/dist/api/defaultErrorHandler.js +20 -21
  74. package/dist/api/express/makeJsonSchema.js +3 -5
  75. package/dist/api/express/makeOpenApiSpecs.js +5 -7
  76. package/dist/api/express/schema/requestHandler.d.ts +5 -5
  77. package/dist/api/express/schema/requestHandler.js +50 -52
  78. package/dist/api/express/schema/routing.js +21 -23
  79. package/dist/api/reportError.js +6 -18
  80. package/dist/api/routing.js +65 -67
  81. package/dist/api/setupRequest.js +3 -5
  82. package/dist/api/writeDocs.js +7 -9
  83. package/dist/errorReporter.js +10 -12
  84. package/dist/errors.js +2 -2
  85. package/dist/instrument.js +2 -4
  86. package/dist/rateLimit.js +7 -9
  87. package/dist/services/Emailer/Sendgrid.js +15 -22
  88. package/dist/services/Emailer/fake.js +5 -8
  89. package/dist/services/Emailer/service.d.ts +1 -1
  90. package/dist/services/Operations/live.js +24 -27
  91. package/dist/services/Operations/service.js +4 -6
  92. package/dist/services/Repository.d.ts +4 -4
  93. package/dist/services/Repository.js +22 -24
  94. package/dist/services/Store/Cosmos.d.ts +1 -1
  95. package/dist/services/Store/Cosmos.js +61 -63
  96. package/dist/services/Store/Disk.js +16 -19
  97. package/dist/services/Store/Memory.d.ts +1 -1
  98. package/dist/services/Store/Memory.js +16 -18
  99. package/dist/services/Store/Redis.d.ts +1 -1
  100. package/dist/services/Store/Redis.js +21 -24
  101. package/dist/services/Store/index.js +6 -8
  102. package/dist/services/Store/service.d.ts +1 -1
  103. package/dist/services/Store/service.js +3 -5
  104. package/dist/services/Store/utils.d.ts +2 -2
  105. package/dist/services/Store/utils.js +18 -19
  106. package/dist/services/simpledb/cosmosdb.d.ts +2 -2
  107. package/dist/services/simpledb/cosmosdb.js +23 -25
  108. package/dist/services/simpledb/diskdb.d.ts +2 -2
  109. package/dist/services/simpledb/diskdb.js +18 -18
  110. package/dist/services/simpledb/memdb.d.ts +3 -3
  111. package/dist/services/simpledb/memdb.js +13 -14
  112. package/dist/services/simpledb/mongodb.d.ts +2 -2
  113. package/dist/services/simpledb/mongodb.js +18 -20
  114. package/dist/services/simpledb/redisdb.d.ts +8 -8
  115. package/dist/services/simpledb/redisdb.js +21 -23
  116. package/dist/services/simpledb/shared.d.ts +9 -9
  117. package/dist/services/simpledb/shared.js +5 -7
  118. package/dist/services/simpledb/simpledb.d.ts +1 -1
  119. package/dist/services/simpledb/simpledb.js +19 -19
  120. package/package.json +12 -12
  121. package/tsconfig.json +5 -1
@@ -4,10 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createContext = createContext;
7
- var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
8
7
  var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
9
- var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Option"));
10
- var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/data/ReadonlyArray"));
8
+ var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/core/Option"));
9
+ var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/core/ReadonlyArray"));
11
10
  var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Effect"));
12
11
  var _utils = require("@effect-app/core/utils");
13
12
  var Cosmos = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
@@ -15,38 +14,37 @@ var _shared = require("./shared.cjs");
15
14
  var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
16
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
- const fileName_1 = "packages/infra/_src/services/simpledb/cosmosdb.ts";
19
17
  class CosmosDbOperationError {
20
18
  constructor(message) {
21
19
  this.message = message;
22
20
  }
23
21
  }
24
- const setup = (type, indexingPolicy) => tracer_1.withCallTrace(fileName_1 + ":15:13")(tsplus_module_1.tap(db => tracer_1.withCallTrace(fileName_1 + ":16:12")(tsplus_module_1.tryPromise(() => db.containers.create({
22
+ const setup = (type, indexingPolicy) => tsplus_module_1.tap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db.containers.create({
25
23
  id: type,
26
24
  indexingPolicy
27
- }).catch(err => console.warn(err))))))(Cosmos.db);
25
+ }).catch(err => console.warn(err))));
28
26
  // TODO: Error if current indexingPolicy does not match
29
27
  // Effect.flatMap((db) => Effect.tryPromise(() => db.container(type).(indexes)))
30
28
  function createContext() {
31
29
  return (type, encode, decode,
32
30
  // schemaVersion: string,
33
31
  indexes) => {
34
- return tracer_1.withCallTrace(fileName_1 + ":32:33")(tsplus_module_1.map(() => ({
32
+ return tsplus_module_1.map(setup(type, indexes), () => ({
35
33
  find: simpledb.find(find, decode, type),
36
34
  findBy,
37
35
  save: simpledb.storeDirectly(store, type)
38
- })))(setup(type, indexes));
36
+ }));
39
37
  function find(id) {
40
- return tracer_1.withCallTrace(fileName_1 + ":42:10")(tsplus_module_1.map(_ => tsplus_module_2.map(({
38
+ 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(({
41
39
  _etag,
42
40
  data
43
41
  }) => ({
44
42
  version: _etag,
45
43
  data
46
- }))(_)))(tracer_1.withCallTrace(fileName_1 + ":41:10")(tsplus_module_1.map(i => tsplus_module_2.fromNullable(i.resource)))(tracer_1.withCallTrace(fileName_1 + ":40:10")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":40:31")(tsplus_module_1.tryPromise(() => db.container(type).item(id).read()))))(Cosmos.db)));
44
+ }))(_));
47
45
  }
48
46
  function findBy(parameters) {
49
- return tracer_1.withCallTrace(fileName_1 + ":77:10")(tsplus_module_1.map(_ => tsplus_module_2.map(_ => _.id)(_)))(tracer_1.withCallTrace(fileName_1 + ":76:10")(tsplus_module_1.map(x => tsplus_module_3.head(x.resources)))(tracer_1.withCallTrace(fileName_1 + ":52:10")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":53:18")(tsplus_module_1.tryPromise(() => db.container(type).items.query({
47
+ return tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.flatMap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db.container(type).items.query({
50
48
  query: `
51
49
  SELECT TOP 1 ${type}.id
52
50
  FROM ${type} i
@@ -58,26 +56,18 @@ WHERE (
58
56
  name: `@${p}`,
59
57
  value: parameters[p]
60
58
  }))
61
- }).fetchAll()))))(Cosmos.db)));
59
+ }).fetchAll())), x => tsplus_module_3.head(x.resources)), _ => tsplus_module_2.map(_ => _.id)(_));
62
60
  }
63
61
  function store(record, currentVersion) {
64
- return tracer_1.withCallTrace(fileName_1 + ":81:21")(tsplus_module_1.gen(function* ($) {
62
+ return tsplus_module_1.gen(function* ($) {
65
63
  const version = "_etag"; // we get this from the etag anyway.
66
64
  const db = yield* $(Cosmos.db);
67
65
  const data = yield* $(encode(record));
68
- yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tracer_1.withCallTrace(fileName_1 + ":90:22")(tsplus_module_1.tryPromise(() => db.container(type).items.create({
66
+ yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tsplus_module_1.tryPromise(() => db.container(type).items.create({
69
67
  id: record.id,
70
68
  timestamp: new Date(),
71
69
  data
72
- }))))), currentVersion => tracer_1.withCallTrace(fileName_1 + ":115:23")(tsplus_module_1.flatMap(x => {
73
- if (x.statusCode === 412) {
74
- return tracer_1.withCallTrace(fileName_1 + ":117:33")(tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id)));
75
- }
76
- if (x.statusCode > 299 || x.statusCode < 200) {
77
- return tracer_1.withCallTrace(fileName_1 + ":120:33")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode)));
78
- }
79
- return tsplus_module_4.unit;
80
- }))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":98:22")(tsplus_module_1.tryPromise(() => db.container(type).item(record.id).replace({
70
+ })))), currentVersion => tsplus_module_1.flatMap(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db.container(type).item(record.id).replace({
81
71
  id: record.id,
82
72
  timestamp: new Date(),
83
73
  data
@@ -86,12 +76,20 @@ WHERE (
86
76
  type: "IfMatch",
87
77
  condition: currentVersion
88
78
  }
89
- }))))))(currentVersion));
79
+ }))), x => {
80
+ if (x.statusCode === 412) {
81
+ return tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id));
82
+ }
83
+ if (x.statusCode > 299 || x.statusCode < 200) {
84
+ return tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
85
+ }
86
+ return tsplus_module_4.unit;
87
+ }))(currentVersion));
90
88
  return {
91
89
  version,
92
90
  data: record
93
91
  };
94
- }));
92
+ });
95
93
  }
96
94
  };
97
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cosmosdb.cjs","mappings":"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","names":["CosmosDbOperationError","constructor","message","setup","type","indexingPolicy","tracer_1","db","tsplus_module_1","containers","create","id","catch","err","console","warn","Cosmos","createContext","encode","decode","indexes","find","simpledb","findBy","save","storeDirectly","store","_","tsplus_module_2","_etag","data","version","i","resource","container","item","read","parameters","x","tsplus_module_3","resources","items","query","map","k","join","p","name","value","fetchAll","record","currentVersion","$","timestamp","Date","statusCode","OptimisticLockException","replace","accessCondition","condition"],"sourceRoot":"","sources":["../../../_src/services/simpledb/cosmosdb.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"cosmosdb.cjs","mappings":"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","names":["CosmosDbOperationError","constructor","message","setup","type","indexingPolicy","tsplus_module_1","db","containers","create","id","catch","err","console","warn","createContext","encode","decode","indexes","find","simpledb","findBy","save","storeDirectly","store","container","item","read","i","tsplus_module_2","resource","_","_etag","data","version","parameters","items","query","map","k","join","p","name","value","fetchAll","x","tsplus_module_3","resources","record","currentVersion","$","Cosmos","timestamp","Date","replace","accessCondition","condition","statusCode","OptimisticLockException"],"sourceRoot":"","sources":["../../../_src/services/simpledb/cosmosdb.ts"],"sourcesContent":[null]}
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createContext = createContext;
7
7
  exports.initialise = initialise;
8
- var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
9
- var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Option"));
8
+ var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/core/Option"));
10
9
  var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
10
+ var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Option"));
11
11
  var _Function = require("@effect-app/core/Function");
12
12
  var _fs = _interopRequireDefault(require("fs"));
13
13
  var PLF = _interopRequireWildcard(require("proper-lockfile"));
@@ -18,7 +18,6 @@ var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
- const fileName_1 = "packages/infra/_src/services/simpledb/diskdb.ts";
22
21
  function createContext() {
23
22
  return (type, encode, decode, schemaVersion, makeIndexKey, dir = "./data.js") => {
24
23
  initialise(dir);
@@ -34,22 +33,22 @@ function createContext() {
34
33
  };
35
34
  function store(record, currentVersion) {
36
35
  const version = tsplus_module_1.getOrElse(() => "1")(tsplus_module_1.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
37
- const getData = (0, _Function.flow)(encode, _ => tracer_1.withCallTrace(fileName_1 + ":40:16")(tsplus_module_2.map(data => (0, _utils.pretty)({
36
+ const getData = (0, _Function.flow)(encode, _ => tsplus_module_2.map(_, data => (0, _utils.pretty)({
38
37
  version,
39
38
  timestamp: new Date(),
40
39
  data
41
- })))(_));
40
+ })));
42
41
  const idx = makeIndexKey(record);
43
- return tsplus_module_1.isSome(currentVersion) ? tracer_1.withCallTrace(fileName_1 + ":55:19")(tsplus_module_2.map(() => ({
44
- version,
45
- data: record
46
- })))(tsplus_module_2.scoped(tracer_1.withCallTrace(fileName_1 + ":46:12")(tsplus_module_2.zipRight(tsplus_module_2.orDie(tracer_1.withCallTrace(fileName_1 + ":47:28")(tsplus_module_2.flatMap(x => x[record.id] ? tracer_1.withCallTrace(fileName_1 + ":49:26")(tsplus_module_2.fail(() => new Error("Combination already exists, abort"))) : tracer_1.withCallTrace(fileName_1 + ":52:20")(tsplus_module_2.zipRight(writeIndex(idx, {
42
+ return tsplus_module_1.isSome(currentVersion) ? 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] ? tsplus_module_2.fail(() => new Error("Combination already exists, abort")) : tsplus_module_2.zipRight(tsplus_module_2.flatMap(getData(record), serialised => fu.writeTextFile(getFilename(type, record.id), serialised)), writeIndex(idx, {
47
43
  ...x,
48
44
  [idx.key]: record.id
49
- })))(tracer_1.withCallTrace(fileName_1 + ":51:20")(tsplus_module_2.flatMap(serialised => fu.writeTextFile(getFilename(type, record.id), serialised)))(getData(record)))))(readIndex(idx)))))(lockIndex(record)))) : tracer_1.withCallTrace(fileName_1 + ":58:12")(tsplus_module_2.map(() => ({
45
+ })))))), () => ({
46
+ version,
47
+ data: record
48
+ })) : tsplus_module_2.map(tsplus_module_2.flatMap(getData(record), serialised => fu.writeTextFile(getFilename(type, record.id), serialised)), () => ({
50
49
  version,
51
50
  data: record
52
- })))(tracer_1.withCallTrace(fileName_1 + ":57:12")(tsplus_module_2.flatMap(serialised => fu.writeTextFile(getFilename(type, record.id), serialised)))(getData(record)));
51
+ }));
53
52
  }
54
53
  function lockIndex(record) {
55
54
  const index = makeIndexKey(record);
@@ -64,34 +63,34 @@ function createContext() {
64
63
  return lockIndexOnDisk(type)(lockKey);
65
64
  }
66
65
  function lockRecordOnDisk(type) {
67
- return id => tracer_1.withCallTrace(fileName_1 + ":80:11")(tsplus_module_2.acquireRelease(tracer_1.withCallTrace(fileName_1 + ":77:41")(tsplus_module_2.mapBoth(err => new _shared.CouldNotAquireDbLockException(type, id, err), release => ({
66
+ return id => tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(lockFile(getFilename(type, id)), err => new _shared.CouldNotAquireDbLockException(type, id, err), release => ({
68
67
  release
69
- })))(lockFile(getFilename(type, id))), l => l.release));
68
+ })), l => l.release);
70
69
  }
71
70
  function lockIndexOnDisk(type) {
72
- return id => tracer_1.withCallTrace(fileName_1 + ":90:11")(tsplus_module_2.acquireRelease(tracer_1.withCallTrace(fileName_1 + ":87:40")(tsplus_module_2.mapBoth(err => new _shared.CouldNotAquireDbLockException(type, id, err), release => ({
71
+ return id => tsplus_module_2.acquireRelease(tsplus_module_2.mapBoth(lockFile(getIdxName(type, id)), err => new _shared.CouldNotAquireDbLockException(type, id, err), release => ({
73
72
  release
74
- })))(lockFile(getIdxName(type, id))), l => l.release));
73
+ })), l => l.release);
75
74
  }
76
75
  function readFile(filePath) {
77
- return tracer_1.withCallTrace(fileName_1 + ":98:10")(tsplus_module_2.catchAll(err => tracer_1.withCallTrace(fileName_1 + ":98:33")(tsplus_module_2.die(new _shared.ConnectionException(err)))))(fu.readTextFile(filePath));
76
+ return tsplus_module_2.catchAll(fu.readTextFile(filePath), err => tsplus_module_2.die(new _shared.ConnectionException(err)));
78
77
  }
79
78
  function find(type) {
80
79
  return id => {
81
- return tracer_1.withCallTrace(fileName_1 + ":103:47")(tsplus_module_2.map(_ => tsplus_module_1.map(s => JSON.parse(s))(_)))(tryRead(getFilename(type, id)));
80
+ return tsplus_module_2.map(tryRead(getFilename(type, id)), _ => tsplus_module_1.map(s => JSON.parse(s))(_));
82
81
  };
83
82
  }
84
83
  function getIdx(index) {
85
- return tracer_1.withCallTrace(fileName_1 + ":110:31")(tsplus_module_2.map(idx => tsplus_module_1.fromNullable(idx[index.key])))(readIndex(index));
84
+ return tsplus_module_2.map(readIndex(index), idx => tsplus_module_1.fromNullable(idx[index.key]));
86
85
  }
87
86
  function readIndex(index) {
88
- return tracer_1.withCallTrace(fileName_1 + ":114:51")(tsplus_module_2.map(_ => tsplus_module_1.match(() => ({}), x => JSON.parse(x))(_)))(tryRead(getIdxName(type, index.doc)));
87
+ return tsplus_module_2.map(tryRead(getIdxName(type, index.doc)), _ => tsplus_module_1.match(() => ({}), x => JSON.parse(x))(_));
89
88
  }
90
89
  function writeIndex(index, content) {
91
90
  return (0, _Function.pipe)(JSON.stringify(content), serialised => fu.writeTextFile(getIdxName(type, index.doc), serialised));
92
91
  }
93
92
  function tryRead(filePath) {
94
- return tracer_1.withCallTrace(fileName_1 + ":130:10")(tsplus_module_2.flatMap(exists => !exists ? tracer_1.withCallTrace(fileName_1 + ":130:38")(tsplus_module_2.sync(() => tsplus_module_1.none)) : tracer_1.withCallTrace(fileName_1 + ":130:76")(tsplus_module_2.map(tsplus_module_1.some))(readFile(filePath))))(fu.fileExists(filePath));
93
+ return tsplus_module_2.flatMap(fu.fileExists(filePath), exists => !exists ? tsplus_module_2.sync(() => tsplus_module_3.none) : tsplus_module_2.map(readFile(filePath), tsplus_module_1.some));
95
94
  }
96
95
  function getFilename(type, id) {
97
96
  return `${dir}/v${schemaVersion}.${(0, _shared.getRecordName)(type, id)}.json`;
@@ -102,7 +101,7 @@ function createContext() {
102
101
  };
103
102
  }
104
103
  function lockFile(fileName) {
105
- return tracer_1.withCallTrace(fileName_1 + ":144:17")(tsplus_module_2.tryPromise(() => PLF.lock(fileName).then((0, _Function.flow)(tsplus_module_2.tryPromise, _ => tsplus_module_2.orDie(_)))));
104
+ return tsplus_module_2.tryPromise(() => PLF.lock(fileName).then((0, _Function.flow)(tsplus_module_2.tryPromise, _ => tsplus_module_2.orDie(_))));
106
105
  }
107
106
  // TODO: ugh.
108
107
  let initialised = false;
@@ -1 +1 @@
1
- {"version":3,"file":"diskdb.cjs","mappings":"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","names":["createContext","type","encode","decode","schemaVersion","makeIndexKey","dir","initialise","globalLock","typeLockKey","getIdxName","fs","existsSync","writeFileSync","find","simpledb","findByIndex","getIdx","save","store","lockRecordOnDisk","record","currentVersion","version","tsplus_module_1","cv","parseInt","toString","getData","_","tracer_1","data","timestamp","Date","idx","x","id","tsplus_module_2","Error","writeIndex","key","serialised","fu","writeTextFile","getFilename","readIndex","lockIndex","index","lockDiskIndex","lockKey","lockIndexOnDisk","err","CouldNotAquireDbLockException","release","lockFile","l","readFile","filePath","ConnectionException","readTextFile","s","JSON","parse","tryRead","doc","content","stringify","exists","fileExists","fileName","PLF","lock","then","initialised","mkdirSync"],"sourceRoot":"","sources":["../../../_src/services/simpledb/diskdb.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"diskdb.cjs","mappings":"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","names":["createContext","type","encode","decode","schemaVersion","makeIndexKey","dir","initialise","globalLock","typeLockKey","getIdxName","fs","existsSync","writeFileSync","find","simpledb","findByIndex","getIdx","save","store","lockRecordOnDisk","record","currentVersion","version","tsplus_module_1","cv","parseInt","toString","getData","_","tsplus_module_2","data","timestamp","Date","idx","x","id","Error","serialised","fu","writeTextFile","getFilename","writeIndex","key","lockIndex","index","lockDiskIndex","lockKey","lockIndexOnDisk","err","CouldNotAquireDbLockException","release","l","readFile","filePath","readTextFile","ConnectionException","s","JSON","parse","readIndex","doc","content","stringify","tryRead","fileExists","exists","lockFile","fileName","PLF","lock","then","initialised","mkdirSync"],"sourceRoot":"","sources":["../../../_src/services/simpledb/diskdb.ts"],"sourcesContent":[null]}
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createContext = createContext;
7
- var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
8
- var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Option"));
7
+ var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/core/Option"));
9
8
  var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
10
9
  var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
11
10
  var tsplus_module_4 = _interopRequireWildcard(require("@effect/io/Exit"));
@@ -15,7 +14,6 @@ var _shared = require("./shared.cjs");
15
14
  var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
16
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
- const fileName_1 = "packages/infra/_src/services/simpledb/memdb.ts";
19
17
  // When we are in-process, we want to share the same Storage
20
18
  // Do not try this at home.
21
19
  const storage = (0, _shared.makeMap)();
@@ -28,17 +26,17 @@ function createContext() {
28
26
  save: simpledb.store(find, store, bogusLock, type)
29
27
  };
30
28
  function find(id) {
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)), ({
29
+ return tsplus_module_3.mapOpt(tsplus_module_3.flatMapOpt(tsplus_module_2.map(storage.find((0, _shared.getRecordName)(type, id)), _ => tsplus_module_1.map(s => JSON.parse(s))(_)), parseSDB), ({
32
30
  data,
33
31
  version
34
32
  }) => ({
35
33
  data: JSON.parse(data),
36
34
  version
37
- })));
35
+ }));
38
36
  }
39
37
  function findBy(keys, eq) {
40
38
  // Naive implementation, fine for in memory testing purposes.
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* ($) {
39
+ return tsplus_module_2.map(tsplus_module_2.gen(function* ($) {
42
40
  for (const [, value] of storage) {
43
41
  const sdb_ = JSON.parse(value);
44
42
  const sdb = yield* $(parseSDB(sdb_));
@@ -46,29 +44,29 @@ function createContext() {
46
44
  data: JSON.parse(sdb.data),
47
45
  version: sdb.version
48
46
  };
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))));
47
+ const r = yield* $(tsplus_module_2.exit(tsplus_module_2.flatMap(decode(cr.data), d => eq(keys, d) ? tsplus_module_2.sync(() => d) : tsplus_module_2.fail("not equals"))));
50
48
  if (tsplus_module_4.isSuccess(r)) {
51
49
  return r.value;
52
50
  }
53
51
  }
54
52
  return null;
55
- })));
53
+ }), tsplus_module_1.fromNullable);
56
54
  }
57
55
  function store(record, currentVersion) {
58
56
  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 + ":67:36")(tsplus_module_2.map(data => JSON.stringify({
57
+ const getData = (0, _Function.flow)(encode, _ => tsplus_module_2.map(tsplus_module_2.map(_, JSON.stringify), data => JSON.stringify({
60
58
  version,
61
59
  timestamp: new Date(),
62
60
  data
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(() => ({
61
+ })));
62
+ return tsplus_module_2.map(tsplus_module_2.flatMap(getData(record), serialised => storage.set((0, _shared.getRecordName)(type, record.id), serialised)), () => ({
65
63
  version,
66
64
  data: 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)));
65
+ }));
68
66
  }
69
67
  };
70
68
  }
71
69
  function bogusLock() {
72
- return tracer_1.withCallTrace(fileName_1 + ":77:22")(tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit));
70
+ return tsplus_module_2.acquireRelease(tsplus_module_3.unit, () => tsplus_module_3.unit);
73
71
  }
74
72
  //# 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","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","tsplus_module_2","$","value","sdb_","sdb","cr","r","d","tsplus_module_4","record","currentVersion","cv","parseInt","toString","getData","stringify","timestamp","Date","serialised","set"],"sourceRoot":"","sources":["../../../_src/services/simpledb/memdb.ts"],"sourcesContent":[null]}
@@ -4,68 +4,61 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createContext = createContext;
7
- var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
8
7
  var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
9
- var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/data/Option"));
8
+ var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/core/Option"));
10
9
  var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
11
10
  var Mongo = _interopRequireWildcard(require("@effect-app/infra-adapters/mongo-client"));
12
11
  var _shared = require("./shared.cjs");
13
12
  var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
14
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
- const fileName_1 = "packages/infra/_src/services/simpledb/mongodb.ts";
17
15
  // const makeFromIndexKeys = (indexKeys: string[], unique: boolean) => indexKeys.reduce((prev, cur) => {
18
16
  // prev[cur] = 1
19
17
  // return prev
20
18
  // }, {} as Record<string, number>)
21
- const setup = (type, indexes) => tracer_1.withCallTrace(fileName_1 + ":17:6")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":17:27")(tsplus_module_1.tryPromise(() => db.collection(type).createIndexes(indexes)))))(tracer_1.withCallTrace(fileName_1 + ":16:6")(tsplus_module_1.tap(db => tracer_1.withCallTrace(fileName_1 + ":16:23")(tsplus_module_1.tryPromise(() => db.createCollection(type).catch(err => console.warn(err))))))(Mongo.db));
19
+ 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)));
22
20
  function createContext() {
23
21
  return (type, encode, decode,
24
22
  // schemaVersion: string,
25
23
  indexes) => {
26
- return tracer_1.withCallTrace(fileName_1 + ":27:33")(tsplus_module_1.map(() => ({
24
+ return tsplus_module_1.map(setup(type, indexes), () => ({
27
25
  find: simpledb.find(find, decode, type),
28
26
  findBy,
29
27
  save: simpledb.storeDirectly(store, type)
30
- })))(setup(type, indexes));
28
+ }));
31
29
  function find(id) {
32
- return tracer_1.withCallTrace(fileName_1 + ":43:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":42:10")(tsplus_module_1.map(tsplus_module_2.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":35:10")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":36:18")(tsplus_module_1.tryPromise(() => db.collection(type).findOne({
30
+ return tsplus_module_3.mapOpt(tsplus_module_1.map(tsplus_module_1.flatMap(Mongo.db, db => tsplus_module_1.tryPromise(() => db.collection(type).findOne({
33
31
  _id: id
34
- })))))(Mongo.db)), ({
32
+ }))), tsplus_module_2.fromNullable), ({
35
33
  data,
36
34
  version
37
35
  }) => ({
38
36
  version,
39
37
  data
40
- })));
38
+ }));
41
39
  }
42
40
  function findBy(keys) {
43
- return tracer_1.withCallTrace(fileName_1 + ":52:10")(tsplus_module_3.mapOpt(tracer_1.withCallTrace(fileName_1 + ":51:10")(tsplus_module_1.map(tsplus_module_2.fromNullable))(tracer_1.withCallTrace(fileName_1 + ":48:10")(tsplus_module_1.flatMap(db => tracer_1.withCallTrace(fileName_1 + ":49:18")(tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, {
41
+ return tsplus_module_3.mapOpt(tsplus_module_1.map(tsplus_module_1.flatMap(Mongo.db, db => tsplus_module_1.tryPromise(() => db.collection(type).findOne(keys, {
44
42
  projection: {
45
43
  _id: 1
46
44
  }
47
- })))))(Mongo.db)), ({
45
+ }))), tsplus_module_2.fromNullable), ({
48
46
  _id
49
- }) => _id));
47
+ }) => _id);
50
48
  }
51
49
  function store(record, currentVersion) {
52
- return tracer_1.withCallTrace(fileName_1 + ":56:21")(tsplus_module_1.gen(function* ($) {
50
+ return tsplus_module_1.gen(function* ($) {
53
51
  const version = tsplus_module_2.getOrElse(() => "1")(tsplus_module_2.map(cv => (parseInt(cv) + 1).toString())(currentVersion));
54
52
  const db = yield* $(Mongo.db);
55
53
  const data = yield* $(encode(record));
56
- yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tracer_1.withCallTrace(fileName_1 + ":66:22")(tsplus_module_1.tryPromise(() => db.collection(type).insertOne({
54
+ yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tsplus_module_1.tryPromise(() => db.collection(type).insertOne({
57
55
  _id: record.id,
58
56
  version,
59
57
  timestamp: new Date(),
60
58
  data
61
59
  }, {
62
60
  checkKeys: false // support for keys with `.` and `$`. NOTE: you can write them, read them, but NOT query for them.
63
- }))))), currentVersion => tracer_1.withCallTrace(fileName_1 + ":87:23")(tsplus_module_1.flatMap(x => {
64
- if (!x.modifiedCount) {
65
- return tracer_1.withCallTrace(fileName_1 + ":89:33")(tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id)));
66
- }
67
- return tsplus_module_3.unit;
68
- }))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":77:22")(tsplus_module_1.tryPromise(() => db.collection(type).replaceOne({
61
+ })))), currentVersion => tsplus_module_1.flatMap(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db.collection(type).replaceOne({
69
62
  _id: record.id,
70
63
  version: currentVersion
71
64
  }, {
@@ -74,12 +67,17 @@ function createContext() {
74
67
  data
75
68
  }, {
76
69
  upsert: false
77
- }))))))(currentVersion));
70
+ }))), x => {
71
+ if (!x.modifiedCount) {
72
+ return tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id));
73
+ }
74
+ return tsplus_module_3.unit;
75
+ }))(currentVersion));
78
76
  return {
79
77
  version,
80
78
  data: record
81
79
  };
82
- }));
80
+ });
83
81
  }
84
82
  };
85
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mongodb.cjs","mappings":"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","names":["setup","type","indexes","tracer_1","db","tsplus_module_1","collection","createIndexes","createCollection","catch","err","console","warn","Mongo","createContext","encode","decode","find","simpledb","findBy","save","storeDirectly","store","id","tsplus_module_3","findOne","_id","data","version","keys","projection","record","currentVersion","$","tsplus_module_2","cv","parseInt","toString","insertOne","timestamp","Date","checkKeys","x","modifiedCount","OptimisticLockException","replaceOne","upsert"],"sourceRoot":"","sources":["../../../_src/services/simpledb/mongodb.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"mongodb.cjs","mappings":"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","names":["setup","type","indexes","tsplus_module_1","db","createCollection","catch","err","console","warn","collection","createIndexes","createContext","encode","decode","find","simpledb","findBy","save","storeDirectly","store","id","tsplus_module_3","findOne","_id","data","version","keys","projection","record","currentVersion","$","tsplus_module_2","cv","parseInt","toString","Mongo","insertOne","timestamp","Date","checkKeys","replaceOne","upsert","x","modifiedCount","OptimisticLockException"],"sourceRoot":"","sources":["../../../_src/services/simpledb/mongodb.ts"],"sourcesContent":[null]}