mongodash 1.7.0 → 2.0.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.
@@ -1,6 +1,14 @@
1
- "use strict";
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ "use strict";
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.secureOnError = exports.defaultOnError = void 0;
10
+ exports.defaultOnError = void 0;
11
+ exports.secureOnError = secureOnError;
4
12
  const defaultOnError = (error) => {
5
13
  console.error(error);
6
14
  };
@@ -15,5 +23,4 @@ function secureOnError(onError) {
15
23
  }
16
24
  };
17
25
  }
18
- exports.secureOnError = secureOnError;
19
26
  //# sourceMappingURL=OnError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OnError.js","sourceRoot":"","sources":["../../src/OnError.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,GAAY,CAAC,KAAK,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF,SAAgB,aAAa,CAAC,OAAgB;IAC1C,OAAO,CAAC,KAAK,EAAE,EAAE;QACb,IAAI;YACA,OAAO,CAAC,KAAK,CAAC,CAAC;SAClB;QAAC,OAAO,cAAc,EAAE;YACrB,yBAAyB;SAC5B;IACL,CAAC,CAAC;AACN,CAAC;AARD,sCAQC"}
1
+ {"version":3,"file":"OnError.js","sourceRoot":"","sources":["../../src/OnError.ts"],"names":[],"mappings":";;;AAMA,sCAQC;AAZM,MAAM,cAAc,GAAY,CAAC,KAAK,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF,SAAgB,aAAa,CAAC,OAAgB;IAC1C,OAAO,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,cAAc,EAAE,CAAC;YACtB,yBAAyB;QAC7B,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
@@ -1,6 +1,14 @@
1
- "use strict";
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ "use strict";
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.secureOnInfo = exports.defaultOnInfo = void 0;
10
+ exports.defaultOnInfo = void 0;
11
+ exports.secureOnInfo = secureOnInfo;
4
12
  const defaultOnInfo = (info) => {
5
13
  console.log(info.message);
6
14
  };
@@ -15,5 +23,4 @@ function secureOnInfo(onInfo) {
15
23
  }
16
24
  };
17
25
  }
18
- exports.secureOnInfo = secureOnInfo;
19
26
  //# sourceMappingURL=OnInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OnInfo.js","sourceRoot":"","sources":["../../src/OnInfo.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAW,CAAC,IAAI,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,SAAgB,YAAY,CAAC,MAAc;IACvC,OAAO,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI;YACA,MAAM,CAAC,IAAI,CAAC,CAAC;SAChB;QAAC,OAAO,cAAc,EAAE;YACrB,yBAAyB;SAC5B;IACL,CAAC,CAAC;AACN,CAAC;AARD,oCAQC"}
1
+ {"version":3,"file":"OnInfo.js","sourceRoot":"","sources":["../../src/OnInfo.ts"],"names":[],"mappings":";;;AAMA,oCAQC;AAZM,MAAM,aAAa,GAAW,CAAC,IAAI,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,SAAgB,YAAY,CAAC,MAAc;IACvC,OAAO,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,cAAc,EAAE,CAAC;YACtB,yBAAyB;QAC7B,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
@@ -1,6 +1,13 @@
1
- "use strict";
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ "use strict";
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createContinuousLock = void 0;
10
+ exports.createContinuousLock = createContinuousLock;
4
11
  function createContinuousLock(collection, documentId, lockProperty, lockTime, onError) {
5
12
  let taskInProgress = true;
6
13
  let prolongLockTimeoutId = null;
@@ -36,5 +43,4 @@ function createContinuousLock(collection, documentId, lockProperty, lockTime, on
36
43
  await lastProlongPromise;
37
44
  };
38
45
  }
39
- exports.createContinuousLock = createContinuousLock;
40
46
  //# sourceMappingURL=createContinuousLock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createContinuousLock.js","sourceRoot":"","sources":["../../src/createContinuousLock.ts"],"names":[],"mappings":";;;AAKA,SAAgB,oBAAoB,CAChC,UAAoC,EACpC,UAAkB,EAClB,YAAgC,EAChC,QAAgB,EAChB,OAAgB;IAEhB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,oBAAoB,GAAyC,IAAI,CAAC;IACtE,IAAI,kBAAkB,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,mCAAmC;IAEjG,SAAS,mBAAmB;QACxB,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,oBAAoB,GAAG,IAAI,CAAC;YAC5B,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI;oBACA,oCAAoC;oBACpC,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAS,CAAC,CAAC;iBAChI;gBAAC,OAAO,GAAG,EAAE;oBACV,2CAA2C;oBAC3C,OAAO,CAAC,GAAY,CAAC,CAAC;iBACzB;wBAAS;oBACN,IAAI,cAAc,EAAE;wBAChB,yCAAyC;wBACzC,mBAAmB,EAAE,CAAC;qBACzB;iBACJ;YACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,mBAAmB,EAAE,CAAC;IAEtB,0BAA0B;IAC1B,OAAO,KAAK,IAAI,EAAE;QACd,cAAc,GAAG,KAAK,CAAC,CAAC,0BAA0B;QAClD,IAAI,oBAAoB,EAAE;YACtB,YAAY,CAAC,oBAAoB,CAAC,CAAC;SACtC;QACD,MAAM,kBAAkB,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC;AAzCD,oDAyCC"}
1
+ {"version":3,"file":"createContinuousLock.js","sourceRoot":"","sources":["../../src/createContinuousLock.ts"],"names":[],"mappings":";;AAKA,oDAyCC;AAzCD,SAAgB,oBAAoB,CAChC,UAAoC,EACpC,UAAkB,EAClB,YAAgC,EAChC,QAAgB,EAChB,OAAgB;IAEhB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,oBAAoB,GAAyC,IAAI,CAAC;IACtE,IAAI,kBAAkB,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,mCAAmC;IAEjG,SAAS,mBAAmB;QACxB,oBAAoB,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,oBAAoB,GAAG,IAAI,CAAC;YAC5B,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC;oBACD,oCAAoC;oBACpC,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,UAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAS,CAAC,CAAC;gBACjI,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,2CAA2C;oBAC3C,OAAO,CAAC,GAAY,CAAC,CAAC;gBAC1B,CAAC;wBAAS,CAAC;oBACP,IAAI,cAAc,EAAE,CAAC;wBACjB,yCAAyC;wBACzC,mBAAmB,EAAE,CAAC;oBAC1B,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,mBAAmB,EAAE,CAAC;IAEtB,0BAA0B;IAC1B,OAAO,KAAK,IAAI,EAAE;QACd,cAAc,GAAG,KAAK,CAAC,CAAC,0BAA0B;QAClD,IAAI,oBAAoB,EAAE,CAAC;YACvB,YAAY,CAAC,oBAAoB,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,kBAAkB,CAAC;IAC7B,CAAC,CAAC;AACN,CAAC"}
@@ -1,4 +1,11 @@
1
- "use strict";
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ "use strict";
2
9
  var __rest = (this && this.__rest) || function (s, e) {
3
10
  var t = {};
4
11
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -11,7 +18,13 @@ var __rest = (this && this.__rest) || function (s, e) {
11
18
  return t;
12
19
  };
13
20
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.cronTask = exports.scheduleCronTaskImmediately = exports.startCronTasks = exports.stopCronTasks = exports.init = exports.runCronTask = exports.CODE_CRON_TASK_FAILED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_STARTED = void 0;
21
+ exports.CODE_CRON_TASK_FAILED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_STARTED = void 0;
22
+ exports.runCronTask = runCronTask;
23
+ exports.init = init;
24
+ exports.stopCronTasks = stopCronTasks;
25
+ exports.startCronTasks = startCronTasks;
26
+ exports.scheduleCronTaskImmediately = scheduleCronTaskImmediately;
27
+ exports.cronTask = cronTask;
15
28
  // import * as _debug from 'debug';
16
29
  const cron_parser_1 = require("cron-parser");
17
30
  const parse_duration_1 = require("parse-duration");
@@ -69,7 +82,7 @@ function createIntervalFunctionFromScalar(interval) {
69
82
  if (/^CRON /i.test(interval)) {
70
83
  try {
71
84
  const expression = interval.slice(5);
72
- const parsedExpression = (0, cron_parser_1.parseExpression)(expression, state.cronExpressionParserOptions);
85
+ const parsedExpression = cron_parser_1.default.parse(expression, state.cronExpressionParserOptions);
73
86
  return () => parsedExpression.next().toDate();
74
87
  }
75
88
  catch (err) {
@@ -104,7 +117,6 @@ async function runCronTask(taskId) {
104
117
  ensureStarted();
105
118
  });
106
119
  }
107
- exports.runCronTask = runCronTask;
108
120
  function ensureIndex() {
109
121
  if (!state.ensureIndexPromise) {
110
122
  state.ensureIndexPromise = Promise.all([
@@ -151,11 +163,12 @@ async function findATaskToRun(enforcedTask) {
151
163
  },
152
164
  }, {
153
165
  sort: {
154
- runImmediately: -1,
155
- runSince: 1,
166
+ runImmediately: -1, // prefer manual triggering
167
+ runSince: 1, // prefer more delayed tasks
156
168
  'runLog.0.finishedAt': 1, // prefer tasks waiting longer
157
169
  },
158
170
  projection: { _id: true, runImmediately: true },
171
+ includeResultMetadata: true,
159
172
  });
160
173
  if (!document) {
161
174
  if (enforcedTask) {
@@ -185,10 +198,11 @@ async function processTask(task, enforcedTask) {
185
198
  let nextRunScheduled = false;
186
199
  const start = new Date();
187
200
  try {
188
- await (function mongoDashRunTaskNotCyclic() {
201
+ function mongoDashRunTaskNotCyclic() {
189
202
  _onInfo({ message: `Cron task '${task.taskId}' started.`, taskId: task.taskId, code: exports.CODE_CRON_TASK_STARTED });
190
203
  return task.task();
191
- })();
204
+ }
205
+ await mongoDashRunTaskNotCyclic();
192
206
  const duration = Date.now() - start.getTime();
193
207
  _onInfo({ message: `Cron task '${task.taskId}' finished in ${duration}ms.`, taskId: task.taskId, code: exports.CODE_CRON_TASK_FINISHED, duration });
194
208
  }
@@ -328,7 +342,6 @@ function init({ runCronTasks, cronTaskFilter, cronExpressionParserOptions, onErr
328
342
  _taskFilter = cronTaskFilter;
329
343
  state.cronExpressionParserOptions = cronExpressionParserOptions;
330
344
  }
331
- exports.init = init;
332
345
  function ensureStarted() {
333
346
  // terminate waiting if there is any
334
347
  if (state.nextTaskTimeoutId) {
@@ -348,14 +361,12 @@ function stopCronTasks() {
348
361
  clearTimeout(state.nextTaskTimeoutId);
349
362
  }
350
363
  }
351
- exports.stopCronTasks = stopCronTasks;
352
364
  function startCronTasks() {
353
365
  state.shouldRun = true;
354
366
  if (state.tasks.size) {
355
367
  ensureStarted();
356
368
  }
357
369
  }
358
- exports.startCronTasks = startCronTasks;
359
370
  async function scheduleCronTaskImmediately(taskId) {
360
371
  const { matchedCount } = await state.collection.updateOne({ _id: taskId }, { $set: { runImmediately: true } });
361
372
  if (!matchedCount) {
@@ -365,7 +376,6 @@ async function scheduleCronTaskImmediately(taskId) {
365
376
  ensureStarted();
366
377
  }
367
378
  }
368
- exports.scheduleCronTaskImmediately = scheduleCronTaskImmediately;
369
379
  async function cronTask(taskId, interval, task) {
370
380
  await initPromise_1.initPromise;
371
381
  if (state.tasks.has(taskId)) {
@@ -387,5 +397,4 @@ async function cronTask(taskId, interval, task) {
387
397
  ensureStarted();
388
398
  }
389
399
  }
390
- exports.cronTask = cronTask;
391
400
  //# sourceMappingURL=cronTasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cronTasks.js","sourceRoot":"","sources":["../../src/cronTasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cronTasks.js","sourceRoot":"","sources":["../../src/cronTasks.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,19 @@
1
- 'use strict';
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ 'use strict';
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCollection = exports.init = void 0;
10
+ exports.init = init;
11
+ exports.getCollection = getCollection;
4
12
  const getMongoClient_1 = require("./getMongoClient");
5
13
  let collectionFactory;
6
14
  function init(options) {
7
15
  collectionFactory = options.collectionFactory;
8
16
  }
9
- exports.init = init;
10
17
  let depthCallCounter = 0;
11
18
  function getCollection(name) {
12
19
  try {
@@ -23,5 +30,4 @@ function getCollection(name) {
23
30
  depthCallCounter--;
24
31
  }
25
32
  }
26
- exports.getCollection = getCollection;
27
33
  //# sourceMappingURL=getCollection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCollection.js","sourceRoot":"","sources":["../../src/getCollection.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAGb,qDAAkD;AAIlD,IAAI,iBAA2C,CAAC;AAahD,SAAgB,IAAI,CAAC,OAAoB;IACrC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AAClD,CAAC;AAFD,oBAEC;AAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,SAAgB,aAAa,CAAI,IAAY;IACzC,IAAI;QACA,gBAAgB,EAAE,CAAC;QACnB,IAAI,iBAAiB,IAAI,gBAAgB,KAAK,CAAC,EAAE;YAC7C,MAAM,UAAU,GAAyB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE;gBACZ,OAAO,UAAU,CAAC;aACrB;SACJ;QACD,OAAO,IAAA,+BAAc,GAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACjD;YAAS;QACN,gBAAgB,EAAE,CAAC;KACtB;AACL,CAAC;AAbD,sCAaC"}
1
+ {"version":3,"file":"getCollection.js","sourceRoot":"","sources":["../../src/getCollection.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAoBb,oBAEC;AAID,sCAaC;AApCD,qDAAkD;AAIlD,IAAI,iBAA2C,CAAC;AAahD,SAAgB,IAAI,CAAC,OAAoB;IACrC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AAClD,CAAC;AAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,SAAgB,aAAa,CAAqB,IAAY;IAC1D,IAAI,CAAC;QACD,gBAAgB,EAAE,CAAC;QACnB,IAAI,iBAAiB,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAyB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,UAAU,CAAC;YACtB,CAAC;QACL,CAAC;QACD,OAAO,IAAA,+BAAc,GAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAI,IAAI,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACP,gBAAgB,EAAE,CAAC;IACvB,CAAC;AACL,CAAC"}
@@ -1,6 +1,14 @@
1
- 'use strict';
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ 'use strict';
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.init = exports.getMongoClient = void 0;
10
+ exports.getMongoClient = getMongoClient;
11
+ exports.init = init;
4
12
  const mongodb_1 = require("mongodb");
5
13
  let mongoClientInstance;
6
14
  function getMongoClient() {
@@ -9,7 +17,6 @@ function getMongoClient() {
9
17
  }
10
18
  return mongoClientInstance;
11
19
  }
12
- exports.getMongoClient = getMongoClient;
13
20
  async function init(options) {
14
21
  if ('mongoClient' in options) {
15
22
  if ('clientOptions' in options) {
@@ -22,13 +29,10 @@ async function init(options) {
22
29
  }
23
30
  else if ('uri' in options) {
24
31
  mongoClientInstance = new mongodb_1.MongoClient(options.uri, options.clientOptions);
32
+ await mongoClientInstance.connect();
25
33
  }
26
34
  else {
27
35
  throw new Error('The `mongoClient` or the connection `uri` parameter has to be specified.');
28
36
  }
29
- if (options.autoConnect) {
30
- await mongoClientInstance.connect();
31
- }
32
37
  }
33
- exports.init = init;
34
38
  //# sourceMappingURL=getMongoClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMongoClient.js","sourceRoot":"","sources":["../../src/getMongoClient.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,qCAA0D;AAE1D,IAAI,mBAAgC,CAAC;AAErC,SAAgB,cAAc;IAC1B,IAAI,CAAC,mBAAmB,EAAE;QACtB,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;KAC/D;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AALD,wCAKC;AAOM,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC3C,IAAI,aAAa,IAAI,OAAO,EAAE;QAC1B,IAAI,eAAe,IAAI,OAAO,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;SAC5F;QACD,IAAI,KAAK,IAAI,OAAO,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;SAClF;QACD,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;KAC7C;SAAM,IAAI,KAAK,IAAI,OAAO,EAAE;QACzB,mBAAmB,GAAG,IAAI,qBAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;KAC7E;SAAM;QACH,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;KAC/F;IAED,IAAI,OAAO,CAAC,WAAW,EAAE;QACrB,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC;KACvC;AACL,CAAC;AAlBD,oBAkBC"}
1
+ {"version":3,"file":"getMongoClient.js","sourceRoot":"","sources":["../../src/getMongoClient.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAKb,wCAKC;AAMD,oBAeC;AA9BD,qCAA0D;AAE1D,IAAI,mBAAgC,CAAC;AAErC,SAAgB,cAAc;IAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAMM,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC3C,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,eAAe,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnF,CAAC;QACD,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC;IAC9C,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,mBAAmB,GAAG,IAAI,qBAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC1E,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAChG,CAAC;AACL,CAAC"}
package/dist/lib/index.js CHANGED
@@ -1,12 +1,21 @@
1
- "use strict";
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ "use strict";
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.init = exports.withTransaction = exports.LockAlreadyAcquiredError = exports.isLockAlreadyAcquiredError = exports.withLock = exports.getMongoClient = exports.getCollection = exports.CODE_CRON_TASK_FAILED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_STARTED = exports.stopCronTasks = exports.startCronTasks = exports.scheduleCronTaskImmediately = exports.runCronTask = exports.cronTask = void 0;
10
+ exports.registerPostCommitHook = exports.withTransaction = exports.LockAlreadyAcquiredError = exports.isLockAlreadyAcquiredError = exports.withLock = exports.getMongoClient = exports.getCollection = exports.CODE_CRON_TASK_FAILED = exports.CODE_CRON_TASK_SCHEDULED = exports.CODE_CRON_TASK_FINISHED = exports.CODE_CRON_TASK_STARTED = exports.stopCronTasks = exports.startCronTasks = exports.scheduleCronTaskImmediately = exports.runCronTask = exports.cronTask = void 0;
11
+ exports.init = init;
4
12
  const cronTasks_1 = require("./cronTasks");
5
13
  const getCollection_1 = require("./getCollection");
6
14
  const getMongoClient_1 = require("./getMongoClient");
7
15
  const OnError_1 = require("./OnError");
8
16
  const OnInfo_1 = require("./OnInfo");
9
17
  const withLock_1 = require("./withLock");
18
+ const withTransaction_1 = require("./withTransaction");
10
19
  const initPromise_1 = require("./initPromise");
11
20
  var cronTasks_2 = require("./cronTasks");
12
21
  Object.defineProperty(exports, "cronTask", { enumerable: true, get: function () { return cronTasks_2.cronTask; } });
@@ -26,11 +35,12 @@ var withLock_2 = require("./withLock");
26
35
  Object.defineProperty(exports, "withLock", { enumerable: true, get: function () { return withLock_2.withLock; } });
27
36
  Object.defineProperty(exports, "isLockAlreadyAcquiredError", { enumerable: true, get: function () { return withLock_2.isLockAlreadyAcquiredError; } });
28
37
  Object.defineProperty(exports, "LockAlreadyAcquiredError", { enumerable: true, get: function () { return withLock_2.LockAlreadyAcquiredError; } });
29
- var withTransaction_1 = require("./withTransaction");
30
- Object.defineProperty(exports, "withTransaction", { enumerable: true, get: function () { return withTransaction_1.withTransaction; } });
38
+ var withTransaction_2 = require("./withTransaction");
39
+ Object.defineProperty(exports, "withTransaction", { enumerable: true, get: function () { return withTransaction_2.withTransaction; } });
40
+ Object.defineProperty(exports, "registerPostCommitHook", { enumerable: true, get: function () { return withTransaction_2.registerPostCommitHook; } });
31
41
  let initCalled = false;
32
42
  async function init(options) {
33
- var _a, _b, _c, _d, _e, _f;
43
+ var _a, _b, _c, _d, _e;
34
44
  if (initCalled) {
35
45
  throw new Error('init method can be called only once.');
36
46
  }
@@ -39,6 +49,7 @@ async function init(options) {
39
49
  const onInfo = options.onInfo ? (0, OnInfo_1.secureOnInfo)(options.onInfo) : OnInfo_1.defaultOnInfo;
40
50
  (0, getCollection_1.init)({ collectionFactory: (_a = options.collectionFactory) !== null && _a !== void 0 ? _a : null });
41
51
  (0, withLock_1.init)({ onError });
52
+ (0, withTransaction_1.init)({ onError, onInfo });
42
53
  (0, cronTasks_1.init)({
43
54
  runCronTasks: (_b = options.runCronTasks) !== null && _b !== void 0 ? _b : true,
44
55
  cronExpressionParserOptions: (_c = options.cronExpressionParserOptions) !== null && _c !== void 0 ? _c : {},
@@ -47,8 +58,7 @@ async function init(options) {
47
58
  cronTaskCaller: (_d = options.cronTaskCaller) !== null && _d !== void 0 ? _d : ((task) => task()),
48
59
  cronTaskFilter: (_e = options.cronTaskFilter) !== null && _e !== void 0 ? _e : (() => true),
49
60
  });
50
- await (0, getMongoClient_1.init)(Object.assign(Object.assign({}, options), { autoConnect: (_f = options.autoConnect) !== null && _f !== void 0 ? _f : true }));
61
+ await (0, getMongoClient_1.init)(options);
51
62
  (0, initPromise_1.resolveInitPromise)();
52
63
  }
53
- exports.init = init;
54
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyF;AACzF,mDAAqG;AACrG,qDAAqG;AACrG,uCAAmE;AACnE,qCAA+D;AAC/D,yCAAkD;AAClD,+CAAmD;AACnD,yCAaqB;AAZjB,qGAAA,QAAQ,OAAA;AAER,wGAAA,WAAW,OAAA;AACX,wHAAA,2BAA2B,OAAA;AAC3B,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AAGb,mHAAA,sBAAsB,OAAA;AACtB,oHAAA,uBAAuB,OAAA;AACvB,qHAAA,wBAAwB,OAAA;AACxB,kHAAA,qBAAqB,OAAA;AAEzB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,uCAA6G;AAApG,oGAAA,QAAQ,OAAA;AAAE,sHAAA,0BAA0B,OAAA;AAAmB,oHAAA,wBAAwB,OAAA;AACxF,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AAExB,IAAI,UAAU,GAAG,KAAK,CAAC;AAShB,KAAK,UAAU,IAAI,CAAC,OAAoB;;IAC3C,IAAI,UAAU,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KAC3D;IACD,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,uBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAc,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAa,CAAC;IAE7E,IAAA,oBAAiB,EAAC,EAAE,iBAAiB,EAAE,MAAA,OAAO,CAAC,iBAAiB,mCAAI,IAAI,EAAE,CAAC,CAAC;IAE5E,IAAA,eAAY,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1B,IAAA,gBAAa,EAAC;QACV,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI;QAC1C,2BAA2B,EAAE,MAAA,OAAO,CAAC,2BAA2B,mCAAI,EAAE;QACtE,OAAO;QACP,MAAM;QACN,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5D,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACzD,CAAC,CAAC;IAEH,MAAM,IAAA,qBAAe,kCACd,OAAO,KACV,WAAW,EAAE,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAI,IAC1C,CAAC;IAEH,IAAA,gCAAkB,GAAE,CAAC;AACzB,CAAC;AA5BD,oBA4BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAqCA,oBA2BC;AAhED,2CAAyF;AACzF,mDAAqG;AACrG,qDAAqG;AACrG,uCAAmE;AACnE,qCAA+D;AAC/D,yCAAkD;AAClD,uDAAgE;AAChE,+CAAmD;AACnD,yCAaqB;AAZjB,qGAAA,QAAQ,OAAA;AAER,wGAAA,WAAW,OAAA;AACX,wHAAA,2BAA2B,OAAA;AAC3B,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AAGb,mHAAA,sBAAsB,OAAA;AACtB,oHAAA,uBAAuB,OAAA;AACvB,qHAAA,wBAAwB,OAAA;AACxB,kHAAA,qBAAqB,OAAA;AAEzB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AAEvB,uCAA6G;AAApG,oGAAA,QAAQ,OAAA;AAAE,sHAAA,0BAA0B,OAAA;AAAmB,oHAAA,wBAAwB,OAAA;AACxF,qDAA4F;AAAnF,kHAAA,eAAe,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AAEhD,IAAI,UAAU,GAAG,KAAK,CAAC;AAShB,KAAK,UAAU,IAAI,CAAC,OAAoB;;IAC3C,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5D,CAAC;IACD,UAAU,GAAG,IAAI,CAAC;IAElB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,uBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAc,CAAC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAY,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,sBAAa,CAAC;IAE7E,IAAA,oBAAiB,EAAC,EAAE,iBAAiB,EAAE,MAAA,OAAO,CAAC,iBAAiB,mCAAI,IAAI,EAAE,CAAC,CAAC;IAE5E,IAAA,eAAY,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1B,IAAA,sBAAmB,EAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAEzC,IAAA,gBAAa,EAAC;QACV,YAAY,EAAE,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI;QAC1C,2BAA2B,EAAE,MAAA,OAAO,CAAC,2BAA2B,mCAAI,EAAE;QACtE,OAAO;QACP,MAAM;QACN,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5D,cAAc,EAAE,MAAA,OAAO,CAAC,cAAc,mCAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KACzD,CAAC,CAAC;IAEH,MAAM,IAAA,qBAAe,EAAC,OAAO,CAAC,CAAC;IAE/B,IAAA,gCAAkB,GAAE,CAAC;AACzB,CAAC"}
@@ -1,4 +1,11 @@
1
- "use strict";
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ "use strict";
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
10
  exports.resolveInitPromise = exports.initPromise = void 0;
4
11
  let _resolve;
@@ -1,6 +1,16 @@
1
- 'use strict';
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ 'use strict';
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withLock = exports.isLockAlreadyAcquiredError = exports.LockAlreadyAcquiredError = exports.init = void 0;
10
+ exports.LockAlreadyAcquiredError = void 0;
11
+ exports.init = init;
12
+ exports.isLockAlreadyAcquiredError = isLockAlreadyAcquiredError;
13
+ exports.withLock = withLock;
4
14
  // import * as _debug from 'debug';
5
15
  const mongodb_1 = require("mongodb");
6
16
  const createContinuousLock_1 = require("./createContinuousLock");
@@ -11,7 +21,6 @@ let onError;
11
21
  function init(options) {
12
22
  onError = options.onError;
13
23
  }
14
- exports.init = init;
15
24
  const lockAcquiredMessage = 'The lock is already acquired.';
16
25
  const expirationKey = 'expiresAt';
17
26
  let collectionPromise;
@@ -39,7 +48,6 @@ function isLockAlreadyAcquiredError(err, key) {
39
48
  }
40
49
  return key ? err.key === key : true;
41
50
  }
42
- exports.isLockAlreadyAcquiredError = isLockAlreadyAcquiredError;
43
51
  async function withLock(key, callback, { maxWaitForLock = 3 * 1000, startingDelay = 50, expireIn = 15 * 1000 } = {}) {
44
52
  const lockId = new mongodb_1.ObjectId();
45
53
  const stringKey = `${key}`;
@@ -110,5 +118,4 @@ async function withLock(key, callback, { maxWaitForLock = 3 * 1000, startingDela
110
118
  }
111
119
  return value;
112
120
  }
113
- exports.withLock = withLock;
114
121
  //# sourceMappingURL=withLock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withLock.js","sourceRoot":"","sources":["../../src/withLock.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,mCAAmC;AACnC,qCAA2D;AAC3D,iEAA8D;AAC9D,mDAAgD;AAEhD,mCAAgC;AAEhC,8CAA8C;AAE9C,IAAI,OAAgB,CAAC;AAErB,SAAgB,IAAI,CAAC,OAA6B;IAC9C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AAC9B,CAAC;AAFD,oBAEC;AAkBD,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAC5D,MAAM,aAAa,GAAG,WAAW,CAAC;AAElC,IAAI,iBAAoD,CAAC;AACzD,KAAK,UAAU,mBAAmB;IAC9B,IAAI,CAAC,iBAAiB,EAAE;QACpB,iBAAiB,GAAG,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,UAAU,GAAG,IAAA,6BAAa,EAAe,OAAO,CAAC,CAAC;YACxD,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;YACxG,OAAO,UAAU,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC;KACR;IACD,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,MAAa,wBAAyB,SAAQ,KAAK;IAC/C,YAA4B,GAAY;QACpC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QADH,QAAG,GAAH,GAAG,CAAS;IAExC,CAAC;CACJ;AAJD,4DAIC;AAED,SAAgB,0BAA0B,CAAC,GAAY,EAAE,GAAa;IAClE,MAAM,UAAU,GAAG,GAAG,YAAY,wBAAwB,CAAC;IAC3D,IAAI,CAAC,UAAU,EAAE;QACb,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAND,gEAMC;AAEM,KAAK,UAAU,QAAQ,CAC1B,GAAY,EACZ,QAAyB,EACzB,EAAE,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,aAAa,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,GAAG,IAAI,KAAsB,EAAE;IAE7F,MAAM,MAAM,GAAG,IAAI,kBAAQ,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC;IACtD,yGAAyG;IAEzG,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE/C,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAE3E,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC3B,+BAA+B;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI;YACA,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;YACnE,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC5E,MAAM,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/D;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAU,GAAkB,CAAC,IAAI,CAAC,EAAE;gBAC3D,MAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;aAC3C;YACD,MAAM,WAAW,EAAE,CAAC,CAAC,sCAAsC;YAC3D,MAAM,GAAG,CAAC;SACb;gBAAS;YACN,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YACjD,wDAAwD;SAC3D;IACL,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE;QAC9C,IAAI;YACA,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;SACT;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,gBAAgB,GAAG,IAAA,eAAM,EAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC7E,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;YAE/C,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7D,IAAI,QAAQ,IAAI,oBAAoB,IAAI,QAAQ,IAAI,aAAa,EAAE;gBAC/D,sCAAsC;gBACtC,QAAQ,GAAG,QAAQ,CAAC;gBACpB,QAAQ,GAAG,oBAAoB,CAAC;aACnC;YAED,2CAA2C;YAE3C,IAAI,0BAA0B,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,QAAQ,IAAI,oBAAoB,EAAE;gBAC1E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;aACjE;iBAAM;gBACH,MAAM,GAAG,CAAC;aACb;SACJ;KACJ;IAED,MAAM,kBAAkB,GAAG,IAAA,2CAAoB,EAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEzG,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAEzE,IAAI,KAAQ,CAAC;IACb,IAAI,GAAU,CAAC;IACf,IAAI;QACA,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;KAC5B;IAAC,OAAO,KAAK,EAAE;QACZ,GAAG,GAAG,KAAc,CAAC;KACxB;IAED,MAAM,OAAO,EAAE,CAAC;IAChB,IAAI,GAAI,EAAE;QACN,MAAM,GAAG,CAAC;KACb;IAED,OAAO,KAAM,CAAC;AAClB,CAAC;AAjFD,4BAiFC"}
1
+ {"version":3,"file":"withLock.js","sourceRoot":"","sources":["../../src/withLock.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,55 @@
1
- 'use strict';
1
+ /**!
2
+ * mongodash v2.0.0
3
+ * https://github.com/VaclavObornik/mongodash.git
4
+ *
5
+ * Copyright (c) 2025 Václav Oborník
6
+ * Released under the MIT license
7
+ */
8
+ 'use strict';
2
9
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withTransaction = void 0;
10
+ exports.init = init;
11
+ exports.registerPostCommitHook = registerPostCommitHook;
12
+ exports.withTransaction = withTransaction;
4
13
  const getMongoClient_1 = require("./getMongoClient");
14
+ const postCommitHooks = new WeakMap();
15
+ let _onError;
16
+ let _onInfo;
17
+ function init(options) {
18
+ _onError = options.onError;
19
+ _onInfo = options.onInfo;
20
+ }
21
+ function registerPostCommitHook(session, hook) {
22
+ if (!session.inTransaction()) {
23
+ throw new Error('It is not possible to register a post commit hook without active transaction.');
24
+ }
25
+ const hooks = postCommitHooks.get(session);
26
+ if (!hooks) {
27
+ throw new Error("Post-commit hooks can be registered only for sessions created by mongodash's withTransaction function.");
28
+ }
29
+ hooks.push(hook);
30
+ }
5
31
  async function withTransaction(callback, options) {
6
32
  const clientSession = (0, getMongoClient_1.getMongoClient)().startSession();
33
+ postCommitHooks.set(clientSession, []);
7
34
  try {
8
35
  let returnValue;
9
36
  await clientSession.withTransaction(async () => {
10
37
  returnValue = await callback(clientSession);
11
38
  }, options);
39
+ const hooks = postCommitHooks.get(clientSession); // eslint-disable-line @typescript-eslint/no-non-null-assertion
40
+ if (hooks.length > 0) {
41
+ const results = await Promise.allSettled(hooks.map((hook) => hook()));
42
+ results.forEach((result) => {
43
+ if (result.status === 'rejected') {
44
+ _onError(result.reason);
45
+ }
46
+ });
47
+ }
12
48
  return returnValue; // eslint-disable-line @typescript-eslint/no-non-null-assertion
13
49
  }
14
50
  finally {
51
+ postCommitHooks.delete(clientSession);
15
52
  await clientSession.endSession();
16
53
  }
17
54
  }
18
- exports.withTransaction = withTransaction;
19
55
  //# sourceMappingURL=withTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withTransaction.js","sourceRoot":"","sources":["../../src/withTransaction.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAGb,qDAAkD;AAE3C,KAAK,UAAU,eAAe,CAAI,QAAgD,EAAE,OAA4B;IACnH,MAAM,aAAa,GAAG,IAAA,+BAAc,GAAE,CAAC,YAAY,EAAE,CAAC;IAEtD,IAAI;QACA,IAAI,WAAc,CAAC;QAEnB,MAAM,aAAa,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YAC3C,WAAW,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,WAAY,CAAC,CAAC,+DAA+D;KACvF;YAAS;QACN,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;KACpC;AACL,CAAC;AAdD,0CAcC"}
1
+ {"version":3,"file":"withTransaction.js","sourceRoot":"","sources":["../../src/withTransaction.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAkBb,oBAGC;AAED,wDAYC;AAED,0CA4BC;AA9DD,qDAAkD;AAWlD,MAAM,eAAe,GAAG,IAAI,OAAO,EAAmC,CAAC;AACvE,IAAI,QAAiB,CAAC;AACtB,IAAI,OAAe,CAAC;AAEpB,SAAgB,IAAI,CAAC,OAAoB;IACrC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAsB,EAAE,IAAoB;IAC/E,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,wGAAwG,CAAC,CAAC;IAC9H,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,eAAe,CAAI,QAAgD,EAAE,OAA4B;IACnH,MAAM,aAAa,GAAG,IAAA,+BAAc,GAAE,CAAC,YAAY,EAAE,CAAC;IAEtD,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAEvC,IAAI,CAAC;QACD,IAAI,WAAc,CAAC;QAEnB,MAAM,aAAa,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YAC3C,WAAW,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChD,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC,CAAC,+DAA+D;QAElH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACvB,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,WAAY,CAAC,CAAC,+DAA+D;IACxF,CAAC;YAAS,CAAC;QACP,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACtC,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare type OnError = (error: Error) => void;
1
+ export type OnError = (error: Error) => void;
2
2
  export declare const defaultOnError: OnError;
3
3
  export declare function secureOnError(onError: OnError): OnError;
@@ -1,4 +1,4 @@
1
- export declare type OnInfo = (info: {
1
+ export type OnInfo = (info: {
2
2
  message: string;
3
3
  code: string;
4
4
  } & Record<string, string | number | Date>) => void;
@@ -1,6 +1,6 @@
1
1
  import { Collection } from 'mongodb';
2
2
  import { OnError } from './OnError';
3
- declare type StopContinuousLock = () => Promise<void>;
3
+ type StopContinuousLock = () => Promise<void>;
4
4
  export declare function createContinuousLock<DocumentType extends {
5
5
  _id: string;
6
6
  }>(collection: Collection<DocumentType>, documentId: string, lockProperty: keyof DocumentType, lockTime: number, onError: OnError): StopContinuousLock;
@@ -1,16 +1,16 @@
1
- import { ParserOptions as CronExpressionParserOptions } from 'cron-parser';
1
+ import { CronExpressionOptions } from 'cron-parser';
2
2
  import { OnError } from './OnError';
3
3
  import { OnInfo } from './OnInfo';
4
4
  export declare const CODE_CRON_TASK_STARTED = "cronTaskStarted";
5
5
  export declare const CODE_CRON_TASK_FINISHED = "cronTaskFinished";
6
6
  export declare const CODE_CRON_TASK_SCHEDULED = "cronTaskScheduled";
7
7
  export declare const CODE_CRON_TASK_FAILED = "cronTaskFailed";
8
- export declare type TaskFunction = () => Promise<unknown> | void;
9
- export declare type ScalarInterval = number | string;
10
- export declare type StaticInterval = ScalarInterval | Date;
11
- export declare type IntervalFunction = () => StaticInterval | Promise<StaticInterval>;
12
- export declare type Interval = ScalarInterval | IntervalFunction;
13
- export declare type TaskId = string;
8
+ export type TaskFunction = () => Promise<unknown> | void;
9
+ export type ScalarInterval = number | string;
10
+ export type StaticInterval = ScalarInterval | Date;
11
+ export type IntervalFunction = () => StaticInterval | Promise<StaticInterval>;
12
+ export type Interval = ScalarInterval | IntervalFunction;
13
+ export type TaskId = string;
14
14
  export interface CronTaskCaller {
15
15
  <T>(task: () => Promise<T>): Promise<T> | T;
16
16
  }
@@ -20,9 +20,9 @@ export interface CronTaskFilter {
20
20
  }): boolean;
21
21
  }
22
22
  export declare function runCronTask(taskId: TaskId): Promise<void>;
23
- export declare type InitOptions = {
23
+ export type InitOptions = {
24
24
  runCronTasks: boolean;
25
- cronExpressionParserOptions: CronExpressionParserOptions;
25
+ cronExpressionParserOptions: CronExpressionOptions;
26
26
  onError: OnError;
27
27
  onInfo: OnInfo;
28
28
  cronTaskCaller: CronTaskCaller;
@@ -1,6 +1,6 @@
1
- import { Collection } from 'mongodb';
2
- export declare type CollectionFactory = <T>(name: string) => Collection<T> | null;
3
- export declare type InitOptions = {
1
+ import { Collection, Document } from 'mongodb';
2
+ export type CollectionFactory = <T extends Document>(name: string) => Collection<T> | null;
3
+ export type InitOptions = {
4
4
  /**
5
5
  * @deprecated
6
6
  * @experimental
@@ -11,4 +11,4 @@ export declare type InitOptions = {
11
11
  collectionFactory: CollectionFactory | null;
12
12
  };
13
13
  export declare function init(options: InitOptions): void;
14
- export declare function getCollection<T>(name: string): Collection<T>;
14
+ export declare function getCollection<T extends Document>(name: string): Collection<T>;
@@ -1,15 +1,12 @@
1
1
  import { MongoClient, MongoClientOptions } from 'mongodb';
2
2
  export declare function getMongoClient(): MongoClient;
3
- declare type CommonOptions = {
4
- autoConnect?: boolean;
5
- };
6
- declare type ReadyClientOptions = CommonOptions & {
3
+ type ReadyClientOptions = {
7
4
  mongoClient: MongoClient;
8
5
  };
9
- declare type UriOptions = CommonOptions & {
6
+ type UriOptions = {
10
7
  uri: string;
11
8
  clientOptions?: MongoClientOptions;
12
9
  };
13
- export declare type InitOptions = ReadyClientOptions | UriOptions;
10
+ export type InitOptions = ReadyClientOptions | UriOptions;
14
11
  export declare function init(options: InitOptions): Promise<void>;
15
12
  export {};
@@ -8,10 +8,10 @@ export { getCollection } from './getCollection';
8
8
  export { getMongoClient } from './getMongoClient';
9
9
  export { OnError } from './OnError';
10
10
  export { withLock, isLockAlreadyAcquiredError, WithLockOptions, LockAlreadyAcquiredError } from './withLock';
11
- export { withTransaction } from './withTransaction';
12
- declare type PackageOptions = {
11
+ export { withTransaction, registerPostCommitHook, PostCommitHook } from './withTransaction';
12
+ type PackageOptions = {
13
13
  onError?: OnError;
14
14
  onInfo?: OnInfo;
15
15
  };
16
- export declare type InitOptions = PackageOptions & GetMongoClientInitOptions & Partial<CronTasksInitOptions> & Partial<GetCollectionInitOptions>;
16
+ export type InitOptions = PackageOptions & GetMongoClientInitOptions & Partial<CronTasksInitOptions> & Partial<GetCollectionInitOptions>;
17
17
  export declare function init(options: InitOptions): Promise<void>;
@@ -3,9 +3,9 @@ import { OnError } from './OnError';
3
3
  export declare function init(options: {
4
4
  onError: OnError;
5
5
  }): void;
6
- export declare type LockKey = string | number | ObjectId;
7
- export declare type LockCallback<T> = () => Promise<T>;
8
- export declare type WithLockOptions = {
6
+ export type LockKey = string | number | ObjectId;
7
+ export type LockCallback<T> = () => Promise<T>;
8
+ export type WithLockOptions = {
9
9
  maxWaitForLock?: number;
10
10
  startingDelay?: number;
11
11
  expireIn?: number;
@@ -1,2 +1,11 @@
1
1
  import { ClientSession, TransactionOptions } from 'mongodb';
2
+ import { OnError } from './OnError';
3
+ import { OnInfo } from './OnInfo';
4
+ export type InitOptions = {
5
+ onError: OnError;
6
+ onInfo: OnInfo;
7
+ };
8
+ export type PostCommitHook = () => void | Promise<void>;
9
+ export declare function init(options: InitOptions): void;
10
+ export declare function registerPostCommitHook(session: ClientSession, hook: PostCommitHook): void;
2
11
  export declare function withTransaction<T>(callback: (session: ClientSession) => Promise<T>, options?: TransactionOptions): Promise<T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodash",
3
- "version": "1.7.0",
3
+ "version": "2.0.0",
4
4
  "description": "An utility library delivering super-useful and super-simple tools using MongoDB",
5
5
  "main": "./dist/lib/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -33,9 +33,9 @@
33
33
  "init": "ts-node tools/init.ts"
34
34
  },
35
35
  "dependencies": {
36
- "cron-parser": "^4.2.0",
37
- "debug": "^4.3.2",
38
- "parse-duration": "^1.0.0"
36
+ "cron-parser": "^5.4.0",
37
+ "debug": "^4.4.3",
38
+ "parse-duration": "^1.1.2"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "mongodb": ">=4"
@@ -49,9 +49,9 @@
49
49
  "@stryker-mutator/jest-runner": "^5.6.1",
50
50
  "@types/correlation-id": "^2.1.2",
51
51
  "@types/debug": "^4.1.7",
52
- "@types/jest": "^27.4.0",
52
+ "@types/jest": "^30.0.0",
53
53
  "@types/lodash": "^4.14.172",
54
- "@types/node": "^17.0.13",
54
+ "@types/node": "^24.10.0",
55
55
  "@types/sinon": "^10.0.2",
56
56
  "@typescript-eslint/eslint-plugin": "^5.10.1",
57
57
  "@typescript-eslint/parser": "^5.10.1",
@@ -63,21 +63,21 @@
63
63
  "eslint-plugin-no-only-tests": "^2.6.0",
64
64
  "eslint-plugin-prettier": "^4.0.0",
65
65
  "husky": "^7.0.2",
66
- "jest": "^27.4.7",
67
- "jest-config": "^27.4.7",
66
+ "jest": "^30.2.0",
67
+ "jest-config": "^30.2.0",
68
68
  "jest-transform-stub": "^2.0.0",
69
69
  "lint-staged": "^12.3.2",
70
70
  "lodash": "^4.17.21",
71
- "mongodb": "^6.12.0",
71
+ "mongodb": "^7.0.0",
72
72
  "npm-run-all": "^4.1.5",
73
73
  "organize-imports-cli": "^0.9.0",
74
74
  "prettier": "^2.3.2",
75
75
  "rimraf": "^3.0.2",
76
76
  "semantic-release": "^19.0.2",
77
77
  "sinon": "^13.0.0",
78
- "ts-jest": "^27.1.3",
79
- "ts-node": "^10.2.1",
80
- "typescript": "^4.5.4"
78
+ "ts-jest": "^29.4.5",
79
+ "ts-node": "^10.9.2",
80
+ "typescript": "^5.9.3"
81
81
  },
82
82
  "keywords": [
83
83
  "mongodb",