@storyous/mongodb 1.0.7 → 1.0.9

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.
@@ -0,0 +1 @@
1
+ import './getMongoClient';
@@ -6,28 +6,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  require("./getMongoClient");
7
7
  const assert_1 = __importDefault(require("assert"));
8
8
  const mocha_1 = require("mocha");
9
- const mongodb_1 = require("mongodb");
10
9
  const lib_1 = require("../lib");
11
10
  (0, mocha_1.describe)('packages/mongodb/appData', () => {
12
11
  (0, mocha_1.it)('should ensureDocumentExists works', async () => {
13
- const testDocument = { _id: new mongodb_1.ObjectId() };
12
+ const testDocument = { _id: new lib_1.ObjectId() };
14
13
  const res = await lib_1.appData.ensureDocumentExists(testDocument);
15
14
  assert_1.default.deepStrictEqual(res?.acknowledged, true);
16
15
  const resAgain = await lib_1.appData.ensureDocumentExists(testDocument);
17
16
  assert_1.default.deepStrictEqual(resAgain, null);
18
17
  });
19
18
  (0, mocha_1.it)('should updateDocument works', async () => {
20
- const testDocument = { _id: new mongodb_1.ObjectId() };
19
+ const testDocument = { _id: new lib_1.ObjectId() };
21
20
  await lib_1.appData.ensureDocumentExists(testDocument);
22
21
  await lib_1.appData.updateDocument(testDocument._id, { $set: { foo: 'bar' } });
23
22
  const res = await lib_1.appData.getDocument(testDocument._id);
24
23
  assert_1.default.deepStrictEqual(res?.foo, 'bar');
25
24
  });
26
25
  (0, mocha_1.it)('should updateDocument works wit upsert', async () => {
27
- const testDocument = { _id: new mongodb_1.ObjectId() };
26
+ const testDocument = { _id: new lib_1.ObjectId() };
28
27
  await lib_1.appData.updateDocument(testDocument._id, { $set: { foo: 'bar' } }, true);
29
28
  const res = await lib_1.appData.getDocument(testDocument._id);
30
29
  assert_1.default.deepStrictEqual(res?.foo, 'bar');
31
30
  });
32
31
  });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwRGF0YS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwRGF0YS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNEJBQTBCO0FBQzFCLG9EQUE0QjtBQUM1QixpQ0FBcUM7QUFDckMscUNBQW1DO0FBQ25DLGdDQUFpQztBQUVqQyxJQUFBLGdCQUFRLEVBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO0lBRXRDLElBQUEsVUFBRSxFQUFDLG1DQUFtQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQy9DLE1BQU0sWUFBWSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksa0JBQVEsRUFBRSxFQUFFLENBQUM7UUFFN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFPLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFRLENBQUM7UUFDcEUsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVoRCxNQUFNLFFBQVEsR0FBRyxNQUFNLGFBQU8sQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRSxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLFVBQUUsRUFBQyw2QkFBNkIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN6QyxNQUFNLFlBQVksR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLGtCQUFRLEVBQUUsRUFBRSxDQUFDO1FBQzdDLE1BQU0sYUFBTyxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sYUFBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELGdCQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLFVBQUUsRUFBQyx3Q0FBd0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNwRCxNQUFNLFlBQVksR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLGtCQUFRLEVBQUUsRUFBRSxDQUFDO1FBQzdDLE1BQU0sYUFBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxhQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMifQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwRGF0YS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwRGF0YS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNEJBQTBCO0FBQzFCLG9EQUE0QjtBQUM1QixpQ0FBcUM7QUFDckMsZ0NBQTJDO0FBRTNDLElBQUEsZ0JBQVEsRUFBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7SUFFdEMsSUFBQSxVQUFFLEVBQUMsbUNBQW1DLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDL0MsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxjQUFRLEVBQUUsRUFBRSxDQUFDO1FBRTdDLE1BQU0sR0FBRyxHQUFHLE1BQU0sYUFBTyxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBUSxDQUFDO1FBQ3BFLGdCQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFaEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxhQUFPLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEUsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxVQUFFLEVBQUMsNkJBQTZCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekMsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxjQUFRLEVBQUUsRUFBRSxDQUFDO1FBQzdDLE1BQU0sYUFBTyxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sYUFBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV6RSxNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELGdCQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLFVBQUUsRUFBQyx3Q0FBd0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNwRCxNQUFNLFlBQVksR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLGNBQVEsRUFBRSxFQUFFLENBQUM7UUFDN0MsTUFBTSxhQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLGFBQU8sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hELGdCQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,8 +1,7 @@
1
1
  import './getMongoClient';
2
2
  import assert from 'assert';
3
3
  import { describe, it } from 'mocha';
4
- import { ObjectId } from 'mongodb';
5
- import { appData } from '../lib';
4
+ import { appData, ObjectId } from '../lib';
6
5
 
7
6
  describe('packages/mongodb/appData', () => {
8
7
 
@@ -0,0 +1 @@
1
+ export {};
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const assert_1 = __importDefault(require("assert"));
7
7
  const lodash_1 = require("lodash");
8
8
  const mocha_1 = require("mocha");
9
- const mongodb_1 = require("mongodb");
10
9
  const lib_1 = require("../lib");
11
10
  const getMongoClient_1 = __importDefault(require("./getMongoClient"));
12
11
  (0, mocha_1.describe)('packages/mongodb/fixtures', () => {
@@ -14,12 +13,12 @@ const getMongoClient_1 = __importDefault(require("./getMongoClient"));
14
13
  let collection;
15
14
  const collectionName = 'currency';
16
15
  const oldArray = [
17
- { _id: new mongodb_1.ObjectId(), name: 'CZK' },
18
- { _id: new mongodb_1.ObjectId(), name: 'EUR' },
16
+ { _id: new lib_1.ObjectId(), name: 'CZK' },
17
+ { _id: new lib_1.ObjectId(), name: 'EUR' },
19
18
  ];
20
19
  const newArray = [
21
20
  ...oldArray,
22
- { _id: new mongodb_1.ObjectId(), name: 'USD' },
21
+ { _id: new lib_1.ObjectId(), name: 'USD' },
23
22
  ];
24
23
  (0, mocha_1.before)(async () => {
25
24
  mongoClient = await (0, getMongoClient_1.default)();
@@ -37,4 +36,4 @@ const getMongoClient_1 = __importDefault(require("./getMongoClient"));
37
36
  assert_1.default.deepStrictEqual(await collection.countDocuments(), 3);
38
37
  });
39
38
  });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpeHR1cmVzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbUNBQThCO0FBQzlCLGlDQUVlO0FBQ2YscUNBQTREO0FBQzVELGdDQUFrQztBQUNsQyxzRUFBd0Q7QUFFeEQsSUFBQSxnQkFBUSxFQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUN2QyxJQUFJLFdBQXdCLENBQUM7SUFDN0IsSUFBSSxVQUFzQixDQUFDO0lBQzNCLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUVsQyxNQUFNLFFBQVEsR0FBRztRQUNiLEVBQUUsR0FBRyxFQUFFLElBQUksa0JBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7UUFDcEMsRUFBRSxHQUFHLEVBQUUsSUFBSSxrQkFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTtLQUN2QyxDQUFDO0lBRUYsTUFBTSxRQUFRLEdBQUc7UUFDYixHQUFHLFFBQVE7UUFDWCxFQUFFLEdBQUcsRUFBRSxJQUFJLGtCQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO0tBQ3ZDLENBQUM7SUFFRixJQUFBLGNBQU0sRUFBQyxLQUFLLElBQUksRUFBRTtRQUNkLFdBQVcsR0FBRyxNQUFNLElBQUEsd0JBQXdCLEdBQUUsQ0FBQztRQUMvQyxVQUFVLEdBQUcsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsa0JBQVUsRUFBQyxLQUFLLElBQUksRUFBRTtRQUNsQixNQUFNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFBLFVBQUUsRUFBQyxzQkFBc0IsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNsQyxNQUFNLGNBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFN0QsTUFBTSxjQUFRLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELGdCQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdELE1BQU0sY0FBUSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIn0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpeHR1cmVzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbUNBQThCO0FBQzlCLGlDQUVlO0FBRWYsZ0NBQTRDO0FBQzVDLHNFQUF3RDtBQUV4RCxJQUFBLGdCQUFRLEVBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO0lBQ3ZDLElBQUksV0FBd0IsQ0FBQztJQUM3QixJQUFJLFVBQXNCLENBQUM7SUFDM0IsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDO0lBRWxDLE1BQU0sUUFBUSxHQUFHO1FBQ2IsRUFBRSxHQUFHLEVBQUUsSUFBSSxjQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO1FBQ3BDLEVBQUUsR0FBRyxFQUFFLElBQUksY0FBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRTtLQUN2QyxDQUFDO0lBRUYsTUFBTSxRQUFRLEdBQUc7UUFDYixHQUFHLFFBQVE7UUFDWCxFQUFFLEdBQUcsRUFBRSxJQUFJLGNBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7S0FDdkMsQ0FBQztJQUVGLElBQUEsY0FBTSxFQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2QsV0FBVyxHQUFHLE1BQU0sSUFBQSx3QkFBd0IsR0FBRSxDQUFDO1FBQy9DLFVBQVUsR0FBRyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxrQkFBVSxFQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE1BQU0sVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVILElBQUEsVUFBRSxFQUFDLHNCQUFzQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2xDLE1BQU0sY0FBUSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RCxnQkFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU3RCxNQUFNLGNBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEQsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFN0QsTUFBTSxjQUFRLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELGdCQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sVUFBVSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMifQ==
@@ -3,8 +3,8 @@ import { noop } from 'lodash';
3
3
  import {
4
4
  before, beforeEach, describe, it,
5
5
  } from 'mocha';
6
- import { Collection, MongoClient, ObjectId } from 'mongodb';
7
- import { fixtures } from '../lib';
6
+ import { Collection, MongoClient } from 'mongodb';
7
+ import { fixtures, ObjectId } from '../lib';
8
8
  import connectAndGetMongoClient from './getMongoClient';
9
9
 
10
10
  describe('packages/mongodb/fixtures', () => {
@@ -0,0 +1,3 @@
1
+ import { MongoClient } from 'mongodb';
2
+ declare const connectAndGetMongoClient: () => Promise<MongoClient>;
3
+ export default connectAndGetMongoClient;
@@ -0,0 +1,3 @@
1
+ import { Migration } from '@storyous/mongodb';
2
+ declare const _default: Migration;
3
+ export = _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ import './getMongoClient';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { Collection, InsertOneResult, WithId } from 'mongodb';
2
+ import { Key } from '../mongoClient';
3
+ declare const appData: {
4
+ readonly _collection: Collection<any>;
5
+ _failReads: number;
6
+ ensureDocumentExists(document: {
7
+ _id: Key;
8
+ }): Promise<Document | InsertOneResult | null>;
9
+ updateDocument(_id: Key, update: Object, upsert?: boolean): Promise<WithId<any | null>>;
10
+ getDocument(_id: Key): Promise<WithId<any | null>>;
11
+ };
12
+ export default appData;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * noLaterThan = In what time by now should be the latest attempt executed
3
+ * startAttemptsDelay = Starting attempts delay
4
+ */
5
+ declare const concurrentTask: <T>(task: () => Promise<T>, { noLaterThan, startAttemptsDelay }?: {
6
+ noLaterThan?: number | undefined;
7
+ startAttemptsDelay?: number | undefined;
8
+ }) => Promise<any>;
9
+ export default concurrentTask;
@@ -0,0 +1,5 @@
1
+ import { Collection, Document } from 'mongodb';
2
+ declare const fixtures: {
3
+ ensureInCollection(_fixtures: Document[], collection: Collection): Promise<any>;
4
+ };
5
+ export default fixtures;
@@ -0,0 +1,3 @@
1
+ import { Collection } from 'mongodb';
2
+ declare const _default: <T extends Document = Document>(name: string) => Collection<T>;
3
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { Collection } from 'mongodb';
2
+ import { Key } from './mongoClient';
3
+ export declare type LockCallback<T> = () => Promise<T>;
4
+ export declare type LockerOptions = {
5
+ noLaterThan?: number;
6
+ startAttemptsDelay?: number;
7
+ expireIn?: number;
8
+ };
9
+ declare const _default: (collection: Collection) => Promise<(<T>(key: Key, callback: LockCallback<T>, { noLaterThan, startAttemptsDelay, expireIn }?: LockerOptions) => Promise<T>)>;
10
+ export default _default;
package/lib/index.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { ObjectId } from 'mongodb';
2
+ import appData from './appData';
3
+ import fixtures from './fixtures';
4
+ import getCollection from './getCollection';
5
+ import getMongoLocker, { LockCallback, LockerOptions } from './getMongoLocker';
6
+ import Migration from './migrations/Migration';
7
+ import MigrationsStore from './migrations/MigrationsStore';
8
+ import runMigrations from './migrations/runMigrations';
9
+ import mongoClient from './mongoClient';
10
+ import mongoLocker from './mongoLocker';
11
+ import withTransaction from './withTransaction';
12
+ export { appData, fixtures, getCollection, getMongoLocker, LockCallback, LockerOptions, Migration, MigrationsStore, mongoClient, mongoLocker, runMigrations, withTransaction, ObjectId, };
package/lib/index.js CHANGED
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.withTransaction = exports.runMigrations = exports.mongoLocker = exports.mongoClient = exports.MigrationsStore = exports.Migration = exports.getMongoLocker = exports.getCollection = exports.fixtures = exports.appData = void 0;
6
+ exports.ObjectId = exports.withTransaction = exports.runMigrations = exports.mongoLocker = exports.mongoClient = exports.MigrationsStore = exports.Migration = exports.getMongoLocker = exports.getCollection = exports.fixtures = exports.appData = void 0;
7
+ const mongodb_1 = require("mongodb");
8
+ Object.defineProperty(exports, "ObjectId", { enumerable: true, get: function () { return mongodb_1.ObjectId; } });
7
9
  const appData_1 = __importDefault(require("./appData"));
8
10
  exports.appData = appData_1.default;
9
11
  const fixtures_1 = __importDefault(require("./fixtures"));
@@ -24,4 +26,4 @@ const mongoLocker_1 = __importDefault(require("./mongoLocker"));
24
26
  exports.mongoLocker = mongoLocker_1.default;
25
27
  const withTransaction_1 = __importDefault(require("./withTransaction"));
26
28
  exports.withTransaction = withTransaction_1.default;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3REFBZ0M7QUFZNUIsa0JBWkcsaUJBQU8sQ0FZSDtBQVhYLDBEQUFrQztBQVk5QixtQkFaRyxrQkFBUSxDQVlIO0FBWFosb0VBQTRDO0FBWXhDLHdCQVpHLHVCQUFhLENBWUg7QUFYakIsc0VBQStFO0FBWTNFLHlCQVpHLHdCQUFjLENBWUg7QUFYbEIsdUVBQStDO0FBYzNDLG9CQWRHLG1CQUFTLENBY0g7QUFiYixtRkFBMkQ7QUFjdkQsMEJBZEcseUJBQWUsQ0FjSDtBQWJuQiwrRUFBdUQ7QUFnQm5ELHdCQWhCRyx1QkFBYSxDQWdCSDtBQWZqQixnRUFBd0M7QUFhcEMsc0JBYkcscUJBQVcsQ0FhSDtBQVpmLGdFQUF3QztBQWFwQyxzQkFiRyxxQkFBVyxDQWFIO0FBWmYsd0VBQWdEO0FBYzVDLDBCQWRHLHlCQUFlLENBY0gifQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxQ0FBbUM7QUF5Qi9CLHlGQXpCSyxrQkFBUSxPQXlCTDtBQXhCWix3REFBZ0M7QUFZNUIsa0JBWkcsaUJBQU8sQ0FZSDtBQVhYLDBEQUFrQztBQVk5QixtQkFaRyxrQkFBUSxDQVlIO0FBWFosb0VBQTRDO0FBWXhDLHdCQVpHLHVCQUFhLENBWUg7QUFYakIsc0VBQStFO0FBWTNFLHlCQVpHLHdCQUFjLENBWUg7QUFYbEIsdUVBQStDO0FBYzNDLG9CQWRHLG1CQUFTLENBY0g7QUFiYixtRkFBMkQ7QUFjdkQsMEJBZEcseUJBQWUsQ0FjSDtBQWJuQiwrRUFBdUQ7QUFnQm5ELHdCQWhCRyx1QkFBYSxDQWdCSDtBQWZqQixnRUFBd0M7QUFhcEMsc0JBYkcscUJBQVcsQ0FhSDtBQVpmLGdFQUF3QztBQWFwQyxzQkFiRyxxQkFBVyxDQWFIO0FBWmYsd0VBQWdEO0FBYzVDLDBCQWRHLHlCQUFlLENBY0gifQ==
package/lib/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ObjectId } from 'mongodb';
1
2
  import appData from './appData';
2
3
  import fixtures from './fixtures';
3
4
  import getCollection from './getCollection';
@@ -22,4 +23,5 @@ export {
22
23
  mongoLocker,
23
24
  runMigrations,
24
25
  withTransaction,
26
+ ObjectId,
25
27
  };
@@ -0,0 +1,6 @@
1
+ export default class Migration {
2
+ description: string;
3
+ up: Function;
4
+ down: Function;
5
+ constructor(description: string, up: Function, down?: () => null);
6
+ }
@@ -0,0 +1,13 @@
1
+ import { CallbackError, Migration } from 'migrate';
2
+ import { Logger } from 'winston';
3
+ export default class MigrationsStore {
4
+ private _logger;
5
+ private _safeMigration;
6
+ constructor(_logger: Logger, path: string, _safeMigration: boolean);
7
+ save(set: Object, cb: CallbackError): void;
8
+ load(cb: (err: any, store: {
9
+ lastRun?: string;
10
+ migrations: Pick<Migration, 'title' | 'description' | 'timestamp'>[];
11
+ }) => void): void;
12
+ private _checkValidMigrations;
13
+ }
@@ -0,0 +1,12 @@
1
+ import { Logger } from 'winston';
2
+ /**
3
+ * In case of fail - logs the result and returns rejected promise
4
+ * @param {Logger} logger Logger
5
+ * @param {string} directory Path to directory where migrations are
6
+ * @param {boolean} continueOnError If app crashes on error or continue
7
+ * @param {boolean} safeMigration Do not allow to rewrite all migrations with empty array
8
+ */
9
+ export default function runMigrations(logger: Logger, directory: string, { continueOnError, safeMigration, }: {
10
+ continueOnError?: boolean | undefined;
11
+ safeMigration?: boolean | undefined;
12
+ }): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import { Migration } from '@storyous/mongodb';
2
+ declare const _default: Migration;
3
+ export = _default;
@@ -0,0 +1,8 @@
1
+ import { MongoClient, MongoClientOptions, ObjectId } from 'mongodb';
2
+ export declare type Key = string | number | ObjectId;
3
+ declare const mongoClient: {
4
+ _client: MongoClient | null;
5
+ init(mongodbUrl: string, mongoOptions?: MongoClientOptions | undefined): void;
6
+ getClient(): MongoClient;
7
+ };
8
+ export default mongoClient;
@@ -0,0 +1,6 @@
1
+ declare const mongoErrorCodes: {
2
+ DUPLICATE_KEY_INSERT: number;
3
+ DUPLICATE_KEY_UPDATE: number;
4
+ DUPLICATE_KEY: number[];
5
+ };
6
+ export default mongoErrorCodes;
@@ -0,0 +1,3 @@
1
+ import { LockCallback, LockerOptions } from './getMongoLocker';
2
+ import { Key } from './mongoClient';
3
+ export default function <T>(key: Key, callback: LockCallback<T>, options?: LockerOptions): Promise<T>;
@@ -0,0 +1,3 @@
1
+ import { ClientSession, TransactionOptions } from 'mongodb';
2
+ declare const _default: <T>(callback: (session: ClientSession) => Promise<T>, options?: TransactionOptions | undefined) => Promise<T>;
3
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storyous/mongodb",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/Storyous/mono-utils#readme",
6
6
  "license": "ISC",
@@ -39,5 +39,5 @@
39
39
  "devDependencies": {
40
40
  "@types/sinon": "^10.0.11"
41
41
  },
42
- "gitHead": "4ea95d722ba6e85e9b6939128a2d37860fbb00f1"
42
+ "gitHead": "e1bf31c544aa59b8c203b3fffc3bd3b2fe83576c"
43
43
  }