@zakodium/adonis-mongodb 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.
package/README.md CHANGED
@@ -26,10 +26,7 @@ MongoDB provider for AdonisJS 5.
26
26
 
27
27
  This provider requires AdonisJS v5 and won't work with AdonisJS v4.
28
28
 
29
- We recommend using MongoDB >=4.4, because creation of collections and indexes in
30
- migrations will be transactional and will be properly rolled back in case of error.
31
-
32
- If you use a version < 4.4, you might run into issues with partially applied migrations.
29
+ We recommend using MongoDB >=5.0. Earlier versions are not tested.
33
30
 
34
31
  ## Installation
35
32
 
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  declare module '@ioc:Zakodium/Mongodb/Database' {
3
- import { EventEmitter } from 'events';
4
- import { MongoClientOptions, Collection, Db, ClientSession, MongoClient } from 'mongodb';
3
+ import { EventEmitter } from 'node:events';
4
+ import { MongoClientOptions, Collection, Db, ClientSession, MongoClient, Document } from 'mongodb';
5
5
  /**
6
6
  * Shape of the configuration in `config/mongodb.ts`.
7
7
  */
@@ -109,7 +109,7 @@ declare module '@ioc:Zakodium/Mongodb/Database' {
109
109
  on(event: 'disconnect:start', callback: (connection: ConnectionContract) => void): this;
110
110
  on(event: 'disconnect:error', callback: (error: Error, connection: ConnectionContract) => void): this;
111
111
  database(): Promise<Db>;
112
- collection<TSchema = unknown>(collectionName: string): Promise<Collection<TSchema>>;
112
+ collection<TSchema extends Document>(collectionName: string): Promise<Collection<TSchema>>;
113
113
  transaction<TResult>(handler: (client: ClientSession, db: Db) => Promise<TResult>): Promise<TResult>;
114
114
  }
115
115
  const Database: DatabaseContract;
@@ -18,7 +18,7 @@ const MigrationCommand_1 = __importDefault(require("./util/MigrationCommand"));
18
18
  class MongodbListMigrations extends MigrationCommand_1.default {
19
19
  async run(db) {
20
20
  try {
21
- const connection = this.getConnection(db);
21
+ const connection = await this.getConnection(db);
22
22
  const database = await connection.database();
23
23
  const coll = database.collection('__adonis_mongodb');
24
24
  const migrations = await this.getMigrations(connection.config);
@@ -30,7 +30,7 @@ class MongodbListMigrations extends MigrationCommand_1.default {
30
30
  /**
31
31
  * Push a new row to the table
32
32
  */
33
- migrations.forEach(({ name, file }, idx) => {
33
+ for (const [idx, { name, file }] of migrations.entries()) {
34
34
  const document = migrationDocuments.find((doc) => doc.name === name);
35
35
  const { description } = imports[idx];
36
36
  table.push([
@@ -41,7 +41,7 @@ class MongodbListMigrations extends MigrationCommand_1.default {
41
41
  document ? document.batch : 'NA',
42
42
  description || '',
43
43
  ]);
44
- });
44
+ }
45
45
  // eslint-disable-next-line no-console
46
46
  console.log(table.toString());
47
47
  }
@@ -62,4 +62,4 @@ __decorate([
62
62
  __metadata("design:returntype", Promise)
63
63
  ], MongodbListMigrations.prototype, "run", null);
64
64
  exports.default = MongodbListMigrations;
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYkxpc3RNaWdyYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY29tbWFuZHMvTW9uZ29kYkxpc3RNaWdyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0VBQXlEO0FBQ3pELDREQUFrQztBQUlsQywrRUFBdUQ7QUFFdkQsTUFBcUIscUJBQXNCLFNBQVEsMEJBQWdCO0lBUTFELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBb0I7UUFDbkMsSUFBSTtZQUNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFL0QsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFekQsTUFBTSxLQUFLLEdBQUcsSUFBSSxvQkFBUSxDQUFDO2dCQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7YUFDN0MsQ0FBQyxDQUFDO1lBRUgsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1lBRUY7O2VBRUc7WUFDSCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFFckUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckMsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDVCxJQUFJO29CQUNKLFFBQVE7d0JBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQzt3QkFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztvQkFDakMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO29CQUNoQyxXQUFXLElBQUksRUFBRTtpQkFDbEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMvQjtnQkFBUztZQUNSLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7O0FBOUNhLGlDQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFDekMsaUNBQVcsR0FBRyx5QkFBeUIsQ0FBQztBQUN4Qyw4QkFBUSxHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUdGO0lBREMsSUFBQSxtQkFBTSxFQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQzs7OztnREF3Q3JDO0FBL0NILHdDQWdEQyJ9
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYkxpc3RNaWdyYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY29tbWFuZHMvTW9uZ29kYkxpc3RNaWdyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0VBQXlEO0FBQ3pELDREQUFrQztBQUlsQywrRUFBdUQ7QUFFdkQsTUFBcUIscUJBQXNCLFNBQVEsMEJBQWdCO0lBUXBELEFBQU4sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFvQjtRQUNuQyxJQUFJO1lBQ0YsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sUUFBUSxHQUFHLE1BQU0sVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNyRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRS9ELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRXpELE1BQU0sS0FBSyxHQUFHLElBQUksb0JBQVEsQ0FBQztnQkFDekIsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO2FBQzdDLENBQUMsQ0FBQztZQUVILE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekQsQ0FBQztZQUVGOztlQUVHO1lBQ0gsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN4RCxNQUFNLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBRXJFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUM7b0JBQ1QsSUFBSTtvQkFDSixRQUFRO3dCQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7d0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7b0JBQ2pDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtvQkFDaEMsV0FBVyxJQUFJLEVBQUU7aUJBQ2xCLENBQUMsQ0FBQzthQUNKO1lBRUQsc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDL0I7Z0JBQVM7WUFDUixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDN0I7SUFDSCxDQUFDOztBQTlDYSxpQ0FBVyxHQUFHLDBCQUEwQixDQUFDO0FBQ3pDLGlDQUFXLEdBQUcseUJBQXlCLENBQUM7QUFDeEMsOEJBQVEsR0FBRztJQUN2QixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFHVztJQURaLElBQUEsbUJBQU0sRUFBQyxDQUFDLDJCQUEyQixDQUFDLENBQUM7Ozs7Z0RBd0NyQztBQS9DSCx3Q0FnREMifQ==
@@ -8,26 +8,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- const path_1 = require("path");
15
+ const node_path_1 = __importDefault(require("node:path"));
13
16
  const standalone_1 = require("@adonisjs/core/build/standalone");
14
17
  class MongodbMakeMigration extends standalone_1.BaseCommand {
15
18
  async run() {
16
- const { name } = this;
17
- if (name.includes('/')) {
19
+ if (this.name.includes('/')) {
18
20
  this.logger.error('name argument should not contain any slash');
19
21
  process.exitCode = 1;
20
22
  return;
21
23
  }
22
24
  const folder = 'mongodb/migrations';
23
- const stub = (0, path_1.join)(__dirname, '../../templates/migration.txt');
25
+ const stub = node_path_1.default.join(__dirname, '../../templates/migration.txt');
24
26
  this.generator
25
- .addFile(name, { prefix: String(Date.now()), pattern: 'snakecase' })
27
+ .addFile(this.name, { prefix: String(Date.now()), pattern: 'snakecase' })
26
28
  .stub(stub)
27
29
  .destinationDir(folder)
28
- .appRoot(this.application.makePathFromCwd())
30
+ .appRoot(this.application.appRoot)
29
31
  .apply({
30
- className: `${name[0].toUpperCase()}${name.slice(1)}Migration`,
32
+ className: `${this.name[0].toUpperCase()}${this.name.slice(1)}Migration`,
31
33
  });
32
34
  await this.generator.run();
33
35
  }
@@ -46,4 +48,4 @@ __decorate([
46
48
  __metadata("design:type", String)
47
49
  ], MongodbMakeMigration.prototype, "connection", void 0);
48
50
  exports.default = MongodbMakeMigration;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYk1ha2VNaWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb21tYW5kcy9Nb25nb2RiTWFrZU1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLCtCQUE0QjtBQUU1QixnRUFBMkU7QUFFM0UsTUFBcUIsb0JBQXFCLFNBQVEsd0JBQVc7SUFhcEQsS0FBSyxDQUFDLEdBQUc7UUFDZCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDO1FBRXBDLE1BQU0sSUFBSSxHQUFHLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxTQUFTO2FBQ1gsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQ25FLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDVixjQUFjLENBQUMsTUFBTSxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQzNDLEtBQUssQ0FBQztZQUNMLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXO1NBQy9ELENBQUMsQ0FBQztRQUNMLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDOztBQWpDYSxnQ0FBVyxHQUFHLHdCQUF3QixDQUFDO0FBQ3ZDLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUMsNkJBQVEsR0FBRztJQUN2QixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFHRjtJQURDLGlCQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLENBQUM7O2tEQUN2QztBQUdwQjtJQURDLGtCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLDhDQUE4QyxFQUFFLENBQUM7O3dEQUNwRDtBQVg1Qix1Q0FtQ0MifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYk1ha2VNaWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb21tYW5kcy9Nb25nb2RiTWFrZU1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLDBEQUE2QjtBQUU3QixnRUFBMkU7QUFFM0UsTUFBcUIsb0JBQXFCLFNBQVEsd0JBQVc7SUFhcEQsS0FBSyxDQUFDLEdBQUc7UUFDZCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7WUFDaEUsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDckIsT0FBTztTQUNSO1FBRUQsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUM7UUFFcEMsTUFBTSxJQUFJLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLCtCQUErQixDQUFDLENBQUM7UUFFbkUsSUFBSSxDQUFDLFNBQVM7YUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQ3hFLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDVixjQUFjLENBQUMsTUFBTSxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQzthQUNqQyxLQUFLLENBQUM7WUFDTCxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUN4RCxDQUFDLENBQ0YsV0FBVztTQUNiLENBQUMsQ0FBQztRQUNMLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDOztBQWxDYSxnQ0FBVyxHQUFHLHdCQUF3QixDQUFDO0FBQ3ZDLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUMsNkJBQVEsR0FBRztJQUN2QixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFFRjtJQUFDLGlCQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLENBQUM7O2tEQUN2QztBQUVwQjtJQUFDLGtCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLDhDQUE4QyxFQUFFLENBQUM7O3dEQUNwRDtBQVg1Qix1Q0FvQ0MifQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -29,10 +33,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
29
33
  };
30
34
  Object.defineProperty(exports, "__esModule", { value: true });
31
35
  const standalone_1 = require("@adonisjs/core/build/standalone");
36
+ const mongodb_1 = require("mongodb");
32
37
  const MigrationCommand_1 = __importStar(require("./util/MigrationCommand"));
33
38
  class MongodbMigrate extends MigrationCommand_1.default {
34
39
  async _executeMigration(db) {
35
- const connection = this.getConnection(db);
40
+ const connection = await this.getConnection(db);
36
41
  const migrations = await this.getMigrations(connection.config);
37
42
  const migrationLockColl = await connection.collection(MigrationCommand_1.migrationLockCollectionName);
38
43
  const migrationColl = await connection.collection(MigrationCommand_1.migrationCollectionName);
@@ -45,13 +50,14 @@ class MongodbMigrate extends MigrationCommand_1.default {
45
50
  });
46
51
  if (lock.modifiedCount === 0 && lock.upsertedCount === 0) {
47
52
  this.logger.error('A migration is already running');
53
+ this.exitCode = 1;
48
54
  await db.manager.closeAll();
49
- process.exit(1);
55
+ await this.exit();
50
56
  }
51
57
  const migrationDocs = await migrationColl.find({}).toArray();
52
- const dbMigrationNames = migrationDocs.map((m) => m.name);
58
+ const dbMigrationNames = new Set(migrationDocs.map((m) => m.name));
53
59
  // Keep migrations that are not yet registered
54
- const unregisteredMigrations = migrations.filter((migration) => !dbMigrationNames.includes(migration.name));
60
+ const unregisteredMigrations = migrations.filter((migration) => !dbMigrationNames.has(migration.name));
55
61
  // Keep migrations that are not yet registered
56
62
  let successfullyExecuted = 0;
57
63
  // Get the next incremental batch value
@@ -78,13 +84,14 @@ class MongodbMigrate extends MigrationCommand_1.default {
78
84
  const migration = new Migration(connection.name, this.logger, session);
79
85
  await migration.execUp();
80
86
  await migrationColl.insertOne({
87
+ _id: new mongodb_1.ObjectId(),
81
88
  name,
82
89
  date: new Date(),
83
90
  batch: newBatch,
84
91
  }, { session });
85
92
  }
86
- catch (err) {
87
- lastTransactionError = err;
93
+ catch (error) {
94
+ lastTransactionError = error;
88
95
  await session.abortTransaction();
89
96
  }
90
97
  });
@@ -136,4 +143,4 @@ __decorate([
136
143
  __metadata("design:returntype", Promise)
137
144
  ], MongodbMigrate.prototype, "run", null);
138
145
  exports.default = MongodbMigrate;
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYk1pZ3JhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb21tYW5kcy9Nb25nb2RiTWlncmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBeUQ7QUFLekQsNEVBR2lDO0FBU2pDLE1BQXFCLGNBQWUsU0FBUSwwQkFBZ0I7SUFPbEQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQW9CO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sVUFBVSxDQUFDLFVBQVUsQ0FDbkQsOENBQTJCLENBQzVCLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxNQUFNLFVBQVUsQ0FBQyxVQUFVLENBQy9DLDBDQUF1QixDQUN4QixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxTQUFTLENBQzVDO1lBQ0UsR0FBRyxFQUFFLGdCQUFnQjtTQUN0QixFQUNEO1lBQ0UsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtTQUN4QixFQUNEO1lBQ0UsTUFBTSxFQUFFLElBQUk7U0FDYixDQUNGLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDcEQsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakI7UUFFRCxNQUFNLGFBQWEsR0FBRyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUQsOENBQThDO1FBQzlDLE1BQU0sc0JBQXNCLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FDOUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDMUQsQ0FBQztRQUVGLDhDQUE4QztRQUM5QyxJQUFJLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUU3Qix1Q0FBdUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxhQUFhO2FBQzlCLFNBQVMsQ0FBdUI7WUFDL0I7Z0JBQ0UsUUFBUSxFQUFFO29CQUNSLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7aUJBQzdCO2FBQ0Y7U0FDRixDQUFDO2FBQ0QsT0FBTyxFQUFFLENBQUM7UUFFYixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN0QixRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7U0FDbEM7UUFFRCxJQUFJLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNoQyxLQUFLLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksc0JBQXNCLEVBQUU7WUFDbkQsMkRBQTJEO1lBQzNELE1BQU0sVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQzdDLElBQUk7b0JBQ0YsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRXBFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLHdCQUF3QixJQUFJLEdBQzFCLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDdEMsRUFBRSxDQUNILENBQUM7b0JBQ0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQzdCLFVBQVUsQ0FBQyxJQUFJLEVBQ2YsSUFBSSxDQUFDLE1BQU0sRUFDWCxPQUFPLENBQ1IsQ0FBQztvQkFDRixNQUFNLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFFekIsTUFBTSxhQUFhLENBQUMsU0FBUyxDQUMzQjt3QkFDRSxJQUFJO3dCQUNKLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTt3QkFDaEIsS0FBSyxFQUFFLFFBQVE7cUJBQ2hCLEVBQ0QsRUFBRSxPQUFPLEVBQUUsQ0FDWixDQUFDO2lCQUNIO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNaLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztvQkFDM0IsTUFBTSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDbEM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksb0JBQW9CLEVBQUU7Z0JBQ3hCLE1BQU07YUFDUDtZQUVELG9CQUFvQixFQUFFLENBQUM7U0FDeEI7UUFFRCxNQUFNLGlCQUFpQixDQUFDLFNBQVMsQ0FDL0I7WUFDRSxHQUFHLEVBQUUsZ0JBQWdCO1lBQ3JCLE9BQU8sRUFBRSxJQUFJO1NBQ2QsRUFDRDtZQUNFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7U0FDekIsQ0FDRixDQUFDO1FBRUYsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxtQkFBbUIsR0FDdkIsc0JBQXNCLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDO1lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLHlCQUF5QixvQkFBb0IsY0FDM0Msb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUNsRCxHQUNFLG1CQUFtQixHQUFHLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQyxLQUNFLG1CQUFtQixHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNyRCwrQkFBK0I7Z0JBQ2pDLENBQUMsQ0FBQyxFQUNOLEVBQUUsQ0FDSCxDQUFDO1NBQ0g7YUFBTSxJQUFJLG9CQUFvQixLQUFLLElBQUksRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3RDLDhFQUE4RTtZQUM5RSxzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUdNLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBb0I7UUFDbkMsSUFBSTtZQUNGLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2xDO2dCQUFTO1lBQ1IsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzs7QUFsSmEsMEJBQVcsR0FBRyx1QkFBdUIsQ0FBQztBQUN0QywwQkFBVyxHQUFHLDRCQUE0QixDQUFDO0FBQzNDLHVCQUFRLEdBQUc7SUFDdkIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBd0lGO0lBREMsSUFBQSxtQkFBTSxFQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQzs7Ozt5Q0FPckM7QUFuSkgsaUNBb0pDIn0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYk1pZ3JhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb21tYW5kcy9Nb25nb2RiTWlncmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0VBQXlEO0FBQ3pELHFDQUFtQztBQUluQyw0RUFHaUM7QUFjakMsTUFBcUIsY0FBZSxTQUFRLDBCQUFnQjtJQU9sRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsRUFBb0I7UUFDbEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFL0QsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLFVBQVUsQ0FBQyxVQUFVLENBQ25ELDhDQUEyQixDQUM1QixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsTUFBTSxVQUFVLENBQUMsVUFBVSxDQUMvQywwQ0FBdUIsQ0FDeEIsQ0FBQztRQUVGLE1BQU0sSUFBSSxHQUFHLE1BQU0saUJBQWlCLENBQUMsU0FBUyxDQUM1QztZQUNFLEdBQUcsRUFBRSxnQkFBZ0I7U0FDdEIsRUFDRDtZQUNFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7U0FDeEIsRUFDRDtZQUNFLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FDRixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLENBQUMsRUFBRTtZQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1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
@@ -17,7 +17,7 @@ export default abstract class MigrationCommand extends BaseCommand {
17
17
  static commandName: string;
18
18
  static description: string;
19
19
  connection: string;
20
- protected getConnection(db: DatabaseContract): ConnectionContract;
20
+ protected getConnection(db: DatabaseContract): Promise<ConnectionContract>;
21
21
  protected getMigrations(config: MongodbConnectionConfig): Promise<MigrationDescription[]>;
22
22
  protected importMigration(file: string): Promise<{
23
23
  Migration: MigrationModule['default'];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -32,18 +36,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
32
36
  };
33
37
  Object.defineProperty(exports, "__esModule", { value: true });
34
38
  exports.migrationLockCollectionName = exports.migrationCollectionName = void 0;
35
- const promises_1 = require("fs/promises");
36
- const path_1 = require("path");
39
+ const promises_1 = require("node:fs/promises");
40
+ const node_path_1 = __importDefault(require("node:path"));
37
41
  const standalone_1 = require("@adonisjs/core/build/standalone");
38
42
  const transformMigrations_1 = __importDefault(require("./transformMigrations"));
39
43
  const folder = 'mongodb/migrations';
40
44
  exports.migrationCollectionName = '__adonis_mongodb';
41
45
  exports.migrationLockCollectionName = '__adonis_mongodb_lock';
42
46
  class MigrationCommand extends standalone_1.BaseCommand {
43
- getConnection(db) {
47
+ async getConnection(db) {
44
48
  if (this.connection && !db.manager.has(this.connection)) {
45
49
  this.logger.error(`No MongoDB connection registered with name "${this.connection}"`);
46
- process.exit(1);
50
+ this.exitCode = 1;
51
+ await this.exit();
47
52
  }
48
53
  return db.connection(this.connection);
49
54
  }
@@ -52,13 +57,17 @@ class MigrationCommand extends standalone_1.BaseCommand {
52
57
  ? config.migrations
53
58
  : [folder];
54
59
  const rawMigrationFiles = await Promise.all(folders
55
- .map((folder) => (0, path_1.join)(this.application.appRoot, folder))
60
+ .map((folder) => node_path_1.default.join(this.application.appRoot, folder))
56
61
  .map(async (migrationsPath) => {
57
62
  try {
58
63
  const files = await (0, promises_1.readdir)(migrationsPath);
59
64
  return files
60
- .filter((file) => (0, path_1.extname)(file) === '.js' || (0, path_1.extname)(file) === '.ts')
61
- .map((file) => (0, path_1.join)(migrationsPath, file));
65
+ .filter((file) => {
66
+ return (
67
+ // Only include code and exclude type declaration files.
68
+ /\.[cm]?[jt]s$/.test(file) && !/\.d\.[cm]?ts$/.test(file));
69
+ })
70
+ .map((file) => node_path_1.default.join(migrationsPath, file));
62
71
  }
63
72
  catch {
64
73
  return [];
@@ -67,7 +76,8 @@ class MigrationCommand extends standalone_1.BaseCommand {
67
76
  return (0, transformMigrations_1.default)(rawMigrationFiles, this.logger);
68
77
  }
69
78
  async importMigration(file) {
70
- const module = await Promise.resolve().then(() => __importStar(require(file)));
79
+ var _a;
80
+ const module = await (_a = file, Promise.resolve().then(() => __importStar(require(_a))));
71
81
  const { default: Migration, description } = module;
72
82
  if (!Migration || typeof Migration !== 'function') {
73
83
  throw new Error(`Migration in ${file} must export a default class`);
@@ -85,4 +95,4 @@ __decorate([
85
95
  __metadata("design:type", String)
86
96
  ], MigrationCommand.prototype, "connection", void 0);
87
97
  exports.default = MigrationCommand;
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbW1hbmRzL3V0aWwvTWlncmF0aW9uQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXNDO0FBQ3RDLCtCQUFxQztBQUVyQyxnRUFBcUU7QUFXckUsZ0ZBRStCO0FBRS9CLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDO0FBRXZCLFFBQUEsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUM7QUFDN0MsUUFBQSwyQkFBMkIsR0FBRyx1QkFBdUIsQ0FBQztBQVduRSxNQUE4QixnQkFBaUIsU0FBUSx3QkFBVztJQVd0RCxhQUFhLENBQUMsRUFBb0I7UUFDMUMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLCtDQUErQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQ2xFLENBQUM7WUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsS0FBSyxDQUFDLGFBQWEsQ0FDM0IsTUFBK0I7UUFFL0IsTUFBTSxPQUFPLEdBQ1gsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUNuQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVmLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN6QyxPQUFPO2FBQ0osR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN2RCxHQUFHLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFO1lBQzVCLElBQUk7Z0JBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLGtCQUFPLEVBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sS0FBSztxQkFDVCxNQUFNLENBQ0wsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUEsY0FBTyxFQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFBLGNBQU8sRUFBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQzdEO3FCQUNBLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxXQUFJLEVBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDOUM7WUFBQyxNQUFNO2dCQUNOLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsT0FBTyxJQUFBLDZCQUFtQixFQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FDN0IsSUFBWTtRQUVaLE1BQU0sTUFBTSxHQUFvQix3REFBYSxJQUFJLEdBQUMsQ0FBQztRQUNuRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSw4QkFBOEIsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztBQXpEYSx5QkFBUSxHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVZLDRCQUFXLEdBQUcsYUFBYSxDQUFDO0FBQzVCLDRCQUFXLEdBQUcsYUFBYSxDQUFDO0FBRzFDO0lBREMsa0JBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsOENBQThDLEVBQUUsQ0FBQzs7b0RBQ3BEO0FBVDVCLG1DQTJEQyJ9
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbW1hbmRzL3V0aWwvTWlncmF0aW9uQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUEyQztBQUMzQywwREFBNkI7QUFFN0IsZ0VBQXFFO0FBV3JFLGdGQUUrQjtBQUUvQixNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQztBQUV2QixRQUFBLHVCQUF1QixHQUFHLGtCQUFrQixDQUFDO0FBQzdDLFFBQUEsMkJBQTJCLEdBQUcsdUJBQXVCLENBQUM7QUFXbkUsTUFBOEIsZ0JBQWlCLFNBQVEsd0JBQVc7SUFXdEQsS0FBSyxDQUFDLGFBQWEsQ0FDM0IsRUFBb0I7UUFFcEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLCtDQUErQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQ2xFLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNsQixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNuQjtRQUNELE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVTLEtBQUssQ0FBQyxhQUFhLENBQzNCLE1BQStCO1FBRS9CLE1BQU0sT0FBTyxHQUNYLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUMvQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDbkIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFZixNQUFNLGlCQUFpQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDekMsT0FBTzthQUNKLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsbUJBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7YUFDNUQsR0FBRyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsRUFBRTtZQUM1QixJQUFJO2dCQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBQSxrQkFBTyxFQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLEtBQUs7cUJBQ1QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2YsT0FBTztvQkFDTCx3REFBd0Q7b0JBQ3hELGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMxRCxDQUFDO2dCQUNKLENBQUMsQ0FBQztxQkFDRCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLG1CQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ25EO1lBQUMsTUFBTTtnQkFDTixPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUVGLE9BQU8sSUFBQSw2QkFBbUIsRUFBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVTLEtBQUssQ0FBQyxlQUFlLENBQzdCLElBQVk7O1FBRVosTUFBTSxNQUFNLEdBQW9CLFlBQWEsSUFBSSwwREFBQyxDQUFDO1FBQ25ELE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sU0FBUyxLQUFLLFVBQVUsRUFBRTtZQUNqRCxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLDhCQUE4QixDQUFDLENBQUM7U0FDckU7UUFDRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0FBL0RhLHlCQUFRLEdBQUc7SUFDdkIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRVksNEJBQVcsR0FBRyxhQUFhLENBQUM7QUFDNUIsNEJBQVcsR0FBRyxhQUFhLENBQUM7QUFFMUM7SUFBQyxrQkFBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFdBQVcsRUFBRSw4Q0FBOEMsRUFBRSxDQUFDOztvREFDcEQ7QUFUNUIsbUNBaUVDIn0=
@@ -1,19 +1,24 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const path_1 = require("path");
6
+ const node_path_1 = __importDefault(require("node:path"));
4
7
  const matchTimestamp = /^(?<timestamp>\d+)_.*$/;
5
8
  function transformMigrations(rawMigrations, logger) {
6
9
  // Separate name and file fields
7
10
  const migrations = rawMigrations
8
11
  .flat()
9
- .sort((a, b) => (0, path_1.basename)(a, (0, path_1.extname)(a)).localeCompare((0, path_1.basename)(b, (0, path_1.extname)(a))))
12
+ .sort((a, b) => node_path_1.default
13
+ .basename(a, node_path_1.default.extname(a))
14
+ .localeCompare(node_path_1.default.basename(b, node_path_1.default.extname(a))))
10
15
  .map((migrationFile) => ({
11
- name: (0, path_1.basename)(migrationFile, (0, path_1.extname)(migrationFile)),
16
+ name: node_path_1.default.basename(migrationFile, node_path_1.default.extname(migrationFile)),
12
17
  file: migrationFile,
13
18
  }));
14
19
  // Check migration file names
15
20
  let hadBadName = false;
16
- migrations.forEach(({ name, file }) => {
21
+ for (const { name, file } of migrations) {
17
22
  const match = matchTimestamp.exec(name);
18
23
  const timestamp = Number(match?.groups?.timestamp);
19
24
  if (Number.isNaN(timestamp) || timestamp === 0) {
@@ -22,7 +27,7 @@ function transformMigrations(rawMigrations, logger) {
22
27
  logger.error(`Invalid migration file: ${file}. Name must start with a timestamp`);
23
28
  }
24
29
  }
25
- });
30
+ }
26
31
  if (hadBadName) {
27
32
  throw new Error('some migration files are malformed');
28
33
  }
@@ -36,4 +41,4 @@ function transformMigrations(rawMigrations, logger) {
36
41
  return migrations;
37
42
  }
38
43
  exports.default = transformMigrations;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtTWlncmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbW1hbmRzL3V0aWwvdHJhbnNmb3JtTWlncmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUF5QztBQUl6QyxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQU9oRCxTQUF3QixtQkFBbUIsQ0FDekMsYUFBeUIsRUFDekIsTUFBZTtJQUVmLGdDQUFnQztJQUNoQyxNQUFNLFVBQVUsR0FBMkIsYUFBYTtTQUNyRCxJQUFJLEVBQUU7U0FDTixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDYixJQUFBLGVBQVEsRUFBQyxDQUFDLEVBQUUsSUFBQSxjQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBQSxlQUFRLEVBQUMsQ0FBQyxFQUFFLElBQUEsY0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDL0Q7U0FDQSxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsSUFBSSxFQUFFLElBQUEsZUFBUSxFQUFDLGFBQWEsRUFBRSxJQUFBLGNBQU8sRUFBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDLENBQUMsQ0FBQztJQUVOLDZCQUE2QjtJQUM3QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDdkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7UUFDcEMsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRTtZQUM5QyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxLQUFLLENBQ1YsMkJBQTJCLElBQUksb0NBQW9DLENBQ3BFLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLFVBQVUsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztLQUN2RDtJQUVELHdDQUF3QztJQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FDeEIsVUFBVSxDQUFDLE1BQU0sQ0FDZixDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDbEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQ3hFLENBQ0YsQ0FBQztJQUNGLElBQUksVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBeUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUNyRCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2hCLENBQUM7S0FDSDtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFqREQsc0NBaURDIn0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtTWlncmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbW1hbmRzL3V0aWwvdHJhbnNmb3JtTWlncmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDBEQUE2QjtBQUk3QixNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQU9oRCxTQUF3QixtQkFBbUIsQ0FDekMsYUFBeUIsRUFDekIsTUFBZTtJQUVmLGdDQUFnQztJQUNoQyxNQUFNLFVBQVUsR0FBMkIsYUFBYTtTQUNyRCxJQUFJLEVBQUU7U0FDTixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDYixtQkFBSTtTQUNELFFBQVEsQ0FBQyxDQUFDLEVBQUUsbUJBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDNUIsYUFBYSxDQUFDLG1CQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BEO1NBQ0EsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksRUFBRSxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsbUJBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxFQUFFLGFBQWE7S0FDcEIsQ0FBQyxDQUFDLENBQUM7SUFFTiw2QkFBNkI7SUFDN0IsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLEtBQUssTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxVQUFVLEVBQUU7UUFDdkMsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRTtZQUM5QyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxLQUFLLENBQ1YsMkJBQTJCLElBQUksb0NBQW9DLENBQ3BFLENBQUM7YUFDSDtTQUNGO0tBQ0Y7SUFDRCxJQUFJLFVBQVUsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztLQUN2RDtJQUVELHdDQUF3QztJQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FDeEIsVUFBVSxDQUFDLE1BQU0sQ0FDZixDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDbEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQ3hFLENBQ0YsQ0FBQztJQUNGLElBQUksVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBeUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUNyRCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2hCLENBQUM7S0FDSDtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFuREQsc0NBbURDIn0=
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@adonisjs/logger/build/adonis-typings/logger" />
2
2
  /// <reference types="node" />
3
- import { EventEmitter } from 'events';
4
- import { MongoClient, Db, Collection, ClientSession } from 'mongodb';
3
+ import { EventEmitter } from 'node:events';
4
+ import { MongoClient, Db, Collection, ClientSession, Document } from 'mongodb';
5
5
  import { LoggerContract } from '@ioc:Adonis/Core/Logger';
6
6
  import type { MongodbConnectionConfig, ConnectionContract } from '@ioc:Zakodium/Mongodb/Database';
7
7
  export declare interface Connection {
@@ -24,6 +24,6 @@ export declare class Connection extends EventEmitter implements ConnectionContra
24
24
  connect(): Promise<Db>;
25
25
  disconnect(): Promise<void>;
26
26
  database(): Promise<Db>;
27
- collection<TSchema = unknown>(collectionName: string): Promise<Collection<TSchema>>;
27
+ collection<TSchema extends Document>(collectionName: string): Promise<Collection<TSchema>>;
28
28
  transaction<TResult>(handler: (session: ClientSession, db: Db) => Promise<TResult>): Promise<TResult>;
29
29
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Connection = void 0;
4
- const events_1 = require("events");
4
+ const node_events_1 = require("node:events");
5
5
  const utils_1 = require("@poppinss/utils");
6
6
  const mongodb_1 = require("mongodb");
7
7
  var ConnectionStatus;
@@ -9,7 +9,7 @@ var ConnectionStatus;
9
9
  ConnectionStatus["CONNECTED"] = "CONNECTED";
10
10
  ConnectionStatus["DISCONNECTED"] = "DISCONNECTED";
11
11
  })(ConnectionStatus || (ConnectionStatus = {}));
12
- class Connection extends events_1.EventEmitter {
12
+ class Connection extends node_events_1.EventEmitter {
13
13
  constructor(name, config, logger) {
14
14
  super();
15
15
  this.name = name;
@@ -81,4 +81,4 @@ class Connection extends events_1.EventEmitter {
81
81
  }
82
82
  }
83
83
  exports.Connection = Connection;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9EYXRhYmFzZS9Db25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFzQztBQUV0QywyQ0FBNEM7QUFDNUMscUNBQXFFO0FBUXJFLElBQUssZ0JBR0o7QUFIRCxXQUFLLGdCQUFnQjtJQUNuQiwyQ0FBdUIsQ0FBQTtJQUN2QixpREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSEksZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUdwQjtBQXlCRCxNQUFhLFVBQVcsU0FBUSxxQkFBWTtJQVUxQyxZQUNFLElBQVksRUFDWixNQUErQixFQUMvQixNQUFzQjtRQUV0QixLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxxQkFBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQzdDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixNQUFNLElBQUksaUJBQVMsQ0FDakIscUNBQXFDLEVBQ3JDLEdBQUcsRUFDSCxzQkFBc0IsQ0FDdkIsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFTSxPQUFP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
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9EYXRhYmFzZS9Db25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEyQztBQUUzQywyQ0FBNEM7QUFDNUMscUNBQStFO0FBUS9FLElBQUssZ0JBR0o7QUFIRCxXQUFLLGdCQUFnQjtJQUNuQiwyQ0FBdUIsQ0FBQTtJQUN2QixpREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSEksZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUdwQjtBQXlCRCxNQUFhLFVBQVcsU0FBUSwwQkFBWTtJQVUxQyxZQUNFLElBQVksRUFDWixNQUErQixFQUMvQixNQUFzQjtRQUV0QixLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxxQkFBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQzdDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixNQUFNLElBQUksaUJBQVMsQ0FDakIscUNBQXFDLEVBQ3JDLEdBQUcsRUFDSCxzQkFBc0IsQ0FDdkIsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFTSxPQUFP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
@@ -17,7 +17,9 @@ function createMigration(Database) {
17
17
  this.$session = session;
18
18
  }
19
19
  createCollections(collectionNames) {
20
- collectionNames.forEach((collectionName) => this.createCollection(collectionName));
20
+ for (const collectionName of collectionNames) {
21
+ this.createCollection(collectionName);
22
+ }
21
23
  }
22
24
  createCollection(collectionName) {
23
25
  this.$operations.push({
@@ -120,4 +122,4 @@ function isDropIndex(op) {
120
122
  function isCustom(op) {
121
123
  return op.type === MigrationType.Custom;
122
124
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLElBQUssYUFLSjtBQUxELFdBQUssYUFBYTtJQUNoQixzREFBcUMsQ0FBQTtJQUNyQyx3Q0FBdUIsQ0FBQTtJQUN2Qiw0Q0FBMkIsQ0FBQTtJQUMzQixrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTEksYUFBYSxLQUFiLGFBQWEsUUFLakI7QUFnQ0QsOERBQThEO0FBQzlELFNBQXdCLGVBQWUsQ0FBQyxRQUEwQjtJQUNoRSxNQUFlLFNBQVM7UUFPdEIsWUFDRSxVQUE4QixFQUM5QixNQUFjLEVBQ2QsT0FBc0I7WUFUaEIsZ0JBQVcsR0FBeUIsRUFBRSxDQUFDO1lBVzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUMxQixDQUFDO1FBRU0saUJBQWlCLENBQUMsZUFBeUI7WUFDaEQsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FDdEMsQ0FBQztRQUNKLENBQUM7UUFFTSxnQkFBZ0IsQ0FBQyxjQUFzQjtZQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0I7Z0JBQ3BDLGNBQWM7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRU0sU0FBUyxDQUNkLGNBQXNCLEVBQ3RCLFNBQWlCLEVBQ2pCLE9BQTRCO1lBRTVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVM7Z0JBQzdCLGNB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
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLElBQUssYUFLSjtBQUxELFdBQUssYUFBYTtJQUNoQixzREFBcUMsQ0FBQTtJQUNyQyx3Q0FBdUIsQ0FBQTtJQUN2Qiw0Q0FBMkIsQ0FBQTtJQUMzQixrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTEksYUFBYSxLQUFiLGFBQWEsUUFLakI7QUFnQ0QsOERBQThEO0FBQzlELFNBQXdCLGVBQWUsQ0FBQyxRQUEwQjtJQUNoRSxNQUFlLFNBQVM7UUFPdEIsWUFDRSxVQUE4QixFQUM5QixNQUFjLEVBQ2QsT0FBc0I7WUFUaEIsZ0JBQVcsR0FBeUIsRUFBRSxDQUFDO1lBVzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUMxQixDQUFDO1FBRU0saUJBQWlCLENBQUMsZUFBeUI7WUFDaEQsS0FBSyxNQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUM7UUFFTSxnQkFBZ0IsQ0FBQyxjQUFzQjtZQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0I7Z0JBQ3BDLGNBQWM7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRU0sU0FBUyxDQUNkLGNBQXNCLEVBQ3RCLFNBQWlCLEVBQ2pCLE9BQTRCO1lBRTVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVM7Z0JBQzdCLGNBQWM7Z0JBQ2Qs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
@@ -4,11 +4,11 @@ import { MongodbDocument, QueryContract, NoExtraProperties, ModelAttributes, Mod
4
4
  declare class Query<ModelType extends typeof BaseModel> implements QueryContract<InstanceType<ModelType>> {
5
5
  private filter;
6
6
  private options;
7
- private modelConstructor;
7
+ private ModelConstructor;
8
8
  private localCustomSort;
9
9
  private localOptions;
10
10
  private getDriverOptions;
11
- constructor(filter: Filter<ModelAttributes<InstanceType<ModelType>>>, options: ModelAdapterOptions<Omit<FindOptions<ModelAttributes<InstanceType<ModelType>>>, ForbiddenQueryOptions>> | undefined, modelConstructor: ModelType);
11
+ constructor(filter: Filter<ModelAttributes<InstanceType<ModelType>>>, options: ModelAdapterOptions<Omit<FindOptions<ModelAttributes<InstanceType<ModelType>>>, ForbiddenQueryOptions>> | undefined, ModelConstructor: ModelType);
12
12
  sort(sort: QuerySortObject): this;
13
13
  sortBy(field: string, direction?: SortDirection): this;
14
14
  skip(skip: number): this;
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.BaseAutoIncrementModel = exports.BaseModel = void 0;
7
- const assert_1 = __importDefault(require("assert"));
7
+ const node_assert_1 = __importDefault(require("node:assert"));
8
8
  const utils_1 = require("@poppinss/utils");
9
9
  const lodash_1 = require("lodash");
10
10
  const pluralize_1 = __importDefault(require("pluralize"));
@@ -24,10 +24,15 @@ const forbiddenQueryOptions = [
24
24
  'explain',
25
25
  ];
26
26
  class Query {
27
- constructor(filter, options, modelConstructor) {
27
+ getDriverOptions() {
28
+ return { ...mergeDriverOptions(this.options), ...this.localOptions };
29
+ }
30
+ constructor(filter, options,
31
+ // eslint-disable-next-line @typescript-eslint/naming-convention
32
+ ModelConstructor) {
28
33
  this.filter = filter;
29
34
  this.options = options;
30
- this.modelConstructor = modelConstructor;
35
+ this.ModelConstructor = ModelConstructor;
31
36
  this.localCustomSort = false;
32
37
  this.localOptions = {
33
38
  sort: {
@@ -42,9 +47,6 @@ class Query {
42
47
  }
43
48
  }
44
49
  }
45
- getDriverOptions() {
46
- return { ...mergeDriverOptions(this.options), ...this.localOptions };
47
- }
48
50
  sort(sort) {
49
51
  if (!this.localCustomSort) {
50
52
  this.localCustomSort = true;
@@ -79,13 +81,13 @@ class Query {
79
81
  return this;
80
82
  }
81
83
  async first() {
82
- const collection = await this.modelConstructor.getCollection();
84
+ const collection = await this.ModelConstructor.getCollection();
83
85
  const driverOptions = this.getDriverOptions();
84
86
  const result = await collection.findOne(this.filter, driverOptions);
85
87
  if (result === null) {
86
88
  return null;
87
89
  }
88
- const instance = new this.modelConstructor(result, {
90
+ const instance = new this.ModelConstructor(result, {
89
91
  // @ts-expect-error Unavoidable error.
90
92
  collection,
91
93
  session: driverOptions.session,
@@ -100,41 +102,38 @@ class Query {
100
102
  return result;
101
103
  }
102
104
  async all() {
103
- const collection = await this.modelConstructor.getCollection();
105
+ const collection = await this.ModelConstructor.getCollection();
104
106
  const driverOptions = this.getDriverOptions();
105
- const result = await collection
106
- .find(this.filter, driverOptions)
107
- .toArray();
108
- return result.map((value) => new this.modelConstructor(value, {
107
+ const result = await collection.find(this.filter, driverOptions).toArray();
108
+ return result.map((value) => new this.ModelConstructor(value, {
109
109
  // @ts-expect-error Unavoidable error.
110
110
  collection,
111
111
  session: driverOptions.session,
112
112
  }, true));
113
113
  }
114
114
  async count() {
115
- const collection = await this.modelConstructor.getCollection();
115
+ const collection = await this.ModelConstructor.getCollection();
116
116
  const driverOptions = this.getDriverOptions();
117
117
  return collection.countDocuments(this.filter, driverOptions);
118
118
  }
119
119
  async distinct(key) {
120
- const collection = await this.modelConstructor.getCollection();
120
+ const collection = await this.ModelConstructor.getCollection();
121
121
  const driverOptions = this.getDriverOptions();
122
- return collection.distinct(key, this.filter, driverOptions);
122
+ const result = await collection.distinct(key, this.filter, driverOptions);
123
+ return result;
123
124
  }
124
125
  async explain(verbosity) {
125
- const collection = await this.modelConstructor.getCollection();
126
+ const collection = await this.ModelConstructor.getCollection();
126
127
  const driverOptions = this.getDriverOptions();
127
- return collection
128
- .find(this.filter, driverOptions)
129
- .explain(verbosity);
128
+ return collection.find(this.filter, driverOptions).explain(verbosity);
130
129
  }
131
130
  async *[Symbol.asyncIterator]() {
132
- const collection = await this.modelConstructor.getCollection();
131
+ const collection = await this.ModelConstructor.getCollection();
133
132
  const driverOptions = this.getDriverOptions();
134
133
  for await (const value of collection.find(this.filter, driverOptions)) {
135
134
  if (value === null)
136
135
  continue;
137
- yield new this.modelConstructor(value, {
136
+ yield new this.ModelConstructor(value, {
138
137
  // @ts-expect-error Unavoidable error.
139
138
  collection,
140
139
  session: driverOptions.session,
@@ -162,7 +161,7 @@ class BaseModel {
162
161
  this.$isDeleted = false;
163
162
  this.$collection = null;
164
163
  if (dbObj) {
165
- this.$original = alreadyExists === true ? (0, lodash_1.cloneDeep)(dbObj) : {};
164
+ this.$original = alreadyExists ? (0, lodash_1.cloneDeep)(dbObj) : {};
166
165
  this.$attributes = dbObj;
167
166
  }
168
167
  else {
@@ -204,7 +203,7 @@ class BaseModel {
204
203
  /**
205
204
  * No-op when already booted.
206
205
  */
207
- if (this.booted === true) {
206
+ if (this.booted) {
208
207
  return;
209
208
  }
210
209
  this.booted = true;
@@ -316,7 +315,7 @@ class BaseModel {
316
315
  return new Query(filter, options, this);
317
316
  }
318
317
  static async getCollection(connection = this.connection) {
319
- (0, assert_1.default)(this.$database, 'Model should only be accessed from IoC container');
318
+ (0, node_assert_1.default)(this.$database, 'Model should only be accessed from IoC container');
320
319
  const connectionInstance = this.$database.connection(connection);
321
320
  return connectionInstance.collection(this.collectionName);
322
321
  }
@@ -398,12 +397,15 @@ class BaseModel {
398
397
  session: this.$options?.session,
399
398
  };
400
399
  if (!this.$isPersisted) {
400
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
401
401
  const result = await collection.insertOne(toSet, driverOptions);
402
402
  this.$attributes._id = result.insertedId;
403
403
  this.$isPersisted = true;
404
404
  }
405
405
  else {
406
- await collection.updateOne({ _id: this.$attributes._id }, { $set: toSet }, driverOptions);
406
+ await collection.updateOne(
407
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
408
+ { _id: this.$attributes._id }, { $set: toSet }, driverOptions);
407
409
  }
408
410
  this.$original = (0, lodash_1.cloneDeep)(this.$attributes);
409
411
  return true;
@@ -416,15 +418,16 @@ class BaseModel {
416
418
  session: this.$options?.session,
417
419
  };
418
420
  const result = await collection.deleteOne({
421
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
419
422
  _id: this.$attributes._id,
420
423
  }, driverOptions);
421
424
  this.$isDeleted = true;
422
425
  return result.deletedCount === 1;
423
426
  }
424
427
  merge(values) {
425
- Object.entries(values).forEach(([key, value]) => {
428
+ for (const [key, value] of Object.entries(values)) {
426
429
  this.$attributes[key] = value;
427
- });
430
+ }
428
431
  return this;
429
432
  }
430
433
  fill(values) {
@@ -452,19 +455,24 @@ class BaseAutoIncrementModel extends BaseModel {
452
455
  if (this._id === undefined) {
453
456
  const connection = BaseAutoIncrementModel.$database.connection();
454
457
  const counterCollection = await connection.collection('__adonis_mongodb_counters');
455
- const doc = await counterCollection.findOneAndUpdate({ _id: this.constructor.collectionName }, { $inc: { count: 1 } }, { ...driverOptions, upsert: true, returnDocument: 'after' });
456
- (0, assert_1.default)(doc.value, 'upsert should always create a document');
458
+ const doc = await counterCollection.findOneAndUpdate(
459
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
460
+ { _id: this.constructor.collectionName }, { $inc: { count: 1 } }, { ...driverOptions, upsert: true, returnDocument: 'after' });
461
+ (0, node_assert_1.default)(doc.value, 'upsert should always create a document');
457
462
  toSet._id = doc.value.count;
463
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
458
464
  await collection.insertOne(toSet, driverOptions);
459
465
  this.$attributes._id = doc.value.count;
460
466
  this.$isPersisted = true;
461
467
  }
462
468
  else {
463
- await collection.updateOne({ _id: this.$attributes._id }, { $set: toSet }, driverOptions);
469
+ await collection.updateOne(
470
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
471
+ { _id: this.$attributes._id }, { $set: toSet }, driverOptions);
464
472
  }
465
473
  this.$original = (0, lodash_1.cloneDeep)(this.$attributes);
466
474
  return true;
467
475
  }
468
476
  }
469
477
  exports.BaseAutoIncrementModel = BaseAutoIncrementModel;
470
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBRTVCLDJDQUFrRTtBQUNsRSxtQ0FBK0Q7QUFpQi9ELDBEQUFrQztBQWVsQyxpREFBOEM7QUFFOUMsU0FBUyxrQkFBa0IsQ0FFekIsT0FBK0M7SUFDL0MsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLEVBQXNCLENBQUM7SUFDNUMsT0FBTztRQUNMLEdBQUcsT0FBTyxDQUFDLGFBQWE7UUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNO0tBQ0osQ0FBQztBQUN4QixDQUFDO0FBUUQsTUFBTSxxQkFBcUIsR0FBNEI7SUFDckQsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsU0FBUztDQUNWLENBQUM7QUFFRixNQUFNLEtBQUs7SUFnQlQsWUFDVSxNQUF3RCxFQUN4RCxPQU9LLEVBQ0wsZ0JBQTJCO1FBVDNCLFdBQU0sR0FBTixNQUFNLENBQWtEO1FBQ3hELFlBQU8sR0FBUCxPQUFPLENBT0Y7UUFDTCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVc7UUF2QjdCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQXNCO1lBQ3hDLElBQUksRUFBRTtnQkFDSixHQUFHLEVBQUUsWUFBWTthQUNsQjtTQUNGLENBQUM7UUFvQkEsSUFBSSxPQUFPLEVBQUUsYUFBYSxFQUFFO1lBQzFCLEtBQUssTUFBTSxHQUFHLElBQUkscUJBQXFCLEVBQUU7Z0JBQ3ZDLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7b0JBQ2hDLE1BQU0sSUFBSSxTQUFTLENBQUMsR0FBRyxHQUFHLDBDQUEwQyxDQUFDLENBQUM7aUJBQ3ZFO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUF6Qk8sZ0JBQWdCO1FBR3RCLE9BQU8sRUFBRSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FB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
478
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTW9kZWwvTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBRWpDLDJDQUFrRTtBQUNsRSxtQ0FBK0Q7QUFnQi9ELDBEQUFrQztBQWVsQyxpREFBOEM7QUFFOUMsU0FBUyxrQkFBa0IsQ0FFekIsT0FBK0M7SUFDL0MsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLEVBQXNCLENBQUM7SUFDNUMsT0FBTztRQUNMLEdBQUcsT0FBTyxDQUFDLGFBQWE7UUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNO0tBQ0osQ0FBQztBQUN4QixDQUFDO0FBUUQsTUFBTSxxQkFBcUIsR0FBNEI7SUFDckQsTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0lBQ1AsU0FBUztDQUNWLENBQUM7QUFFRixNQUFNLEtBQUs7SUFVRCxnQkFBZ0I7UUFHdEIsT0FBTyxFQUFFLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxZQUNVLE1BQXdELEVBQ3hELE9BT0s7SUFDYixnRUFBZ0U7SUFDeEQsZ0JBQTJCO1FBVjNCLFdBQU0sR0FBTixNQUFNLENBQWtEO1FBQ3hELFlBQU8sR0FBUCxPQUFPLENBT0Y7UUFFTCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVc7UUF4QjdCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQXNCO1lBQ3hDLElBQUksRUFBRTtnQkFDSixHQUFHLEVBQUUsWUFBWTthQUNsQjtTQUNGLENBQUM7UUFxQkEsSUFBSSxPQUFPLEVBQUUsYUFBYSxFQUFFO1lBQzFCLEtBQUssTUFBTSxHQUFHLElBQUkscUJBQXFCLEVBQUU7Z0JBQ3ZDLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7b0JBQ2hDLE1BQU0sSUFBSSxTQUFTLENBQUMsR0FBRyxHQUFHLDBDQUEwQyxDQUFDLENBQUM7aUJBQ3ZFO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTSxJQUFJLENBQUMsSUFBcUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQy9CO2FBQU07WUFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWEsRUFBRSxZQUEyQixXQUFXO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sSUFBSSxDQUFDLElBQVk7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsTUFBTSxJQUFJLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFO1lBQ1osTUFBTSxJQUFJLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1NBQ25EO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLE1BQU0sSUFBSSxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtZQUNiLE1BQU0sSUFBSSxTQUFTLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNoQixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNwRSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUN4QyxNQUFNLEVBQ047WUFDRSxzQ0FBc0M7WUFDdEMsVUFBVTtZQUNWLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTztTQUMvQixFQUNELElBQUksQ0FDc0IsQ0FBQztRQUM3QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxpQkFBUyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHO1FBQ2QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDL0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0UsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUNmLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FDdkIsS0FBSyxFQUNMO1lBQ0Usc0NBQXNDO1lBQ3RDLFVBQVU7WUFDVixPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU87U0FDL0IsRUFDRCxJQUFJLENBQ3NCLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDL0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsT0FBTyxVQUFVLENBQUMsY0FBYyxDQUM5QixJQUFJLENBQUMsTUFBTSxFQUNYLGFBQTZCLENBQzlCLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBYyxHQUFXO1FBQzVDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9ELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLFFBQVEsQ0FDdEMsR0FBRyxFQUNILElBQUksQ0FBQyxNQUFNLEVBQ1gsYUFBZ0MsQ0FDakMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQWdDO1FBQ25ELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9ELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlDLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBR2xDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQy9ELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlDLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNyRSxJQUFJLEtBQUssS0FBSyxJQUFJO2dCQUFFLFNBQVM7WUFDN0IsTUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FDN0IsS0FBSyxFQUNMO2dCQUNFLHNDQUFzQztnQkFDdEMsVUFBVTtnQkFDVixPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU87YUFDL0IsRUFDRCxJQUFJLENBQ3NCLENBQUM7U0FDOUI7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLHFCQUFxQixDQUFDLGVBQXVCO0lBQ3BELE9BQU8sSUFBQSxrQkFBUyxFQUFDLElBQUEsbUJBQVMsRUFBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFPRCxTQUFTLFVBQVUsQ0FBQyxPQUFxQjtJQUN2QyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJO1FBQUUsT0FBTztJQUNyQyxPQUFPLENBQUMsSUFBSSxHQUFHO1FBQ2IsR0FBRyxFQUFFLENBQUMsQ0FBQztLQUNSLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsTUFBZSxFQUFFLEdBQVc7SUFDMUMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFRRCxNQUFhLFNBQVM7SUFzQnBCLFlBQ0UsS0FBK0IsRUFDL0IsT0FBeUMsRUFDekMsYUFBYSxHQUFHLEtBQUs7UUFaaEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGdCQUFXLEdBRVYsSUFBSSxDQUFDO1FBUWQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBQSxrQkFBUyxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1NBQ3ZCO1FBRUQsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztTQUN2QztRQUVELElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO1FBRUQsaURBQWlEO1FBQ2pELE9BQU8sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLDJCQUFZLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR00sTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUEwQjtRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM1QixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FDckIsSUFBWSxFQUNaLFVBQWlDLEVBQUU7UUFFbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJO1FBQ2hCOzs7V0FHRztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3JCO1FBRUQ7O1dBRUc7UUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixJQUFBLDRCQUFvQixFQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDcEMsWUFBWSxFQUFFLGdCQUFnQjtZQUM5QixZQUFZLEVBQUUscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QyxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFBLDRCQUFvQixFQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDcEMsWUFBWSxFQUFFLG9CQUFvQjtZQUNsQyxZQUFZLEVBQUUsSUFBSSxHQUFHLEVBQUU7WUFDdkIsUUFBUSxFQUFFLFNBQVM7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUV2QixNQUF3RCxFQUN4RCxPQUFvRDtRQUVwRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FFeEIsS0FBd0QsRUFDeEQsT0FBK0M7UUFFL0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQy9CLHNDQUFzQztZQUN0QyxVQUFVO1lBQ1YsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO1NBQy9CLENBQTRCLENBQUM7UUFDOUIsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUN2QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBRTVCLE1BQWdFLEVBQ2hFLE9BQStDO1FBRS9DLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlDLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQzFCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxzQ0FBc0M7WUFDdEMsVUFBVTtZQUNWLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTztTQUMvQixDQUE0QixDQUNoQyxDQUFDO1FBQ0YsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7WUFDaEMsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztTQUN4QztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FFdEIsRUFBa0MsRUFDbEMsT0FFQztRQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlDLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFFdkIsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxNQUFNLEtBQUssSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUN2QixNQUFNO1FBQ04sc0NBQXNDO1FBQ3RDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLEVBQzlDLElBQUksQ0FDc0IsQ0FBQztRQUM3QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBRTVCLEVBQWtDLEVBQ2xDLE9BRUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLElBQUksaUJBQVMsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUN4RTtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FFeEIsR0FBVyxFQUNYLEtBQWMsRUFDZCxPQUVDO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFFNUIsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxNQUFNLEtBQUssSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUN2QixNQUFNO1FBQ04sc0NBQXNDO1FBQ3RDLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLEVBQzlDLElBQUksQ0FDc0IsQ0FBQztRQUM3QixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBRTlCLEdBQVcsRUFDWCxLQUFjLEVBQ2QsT0FFQztRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxNQUFNLElBQUksaUJBQVMsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUN4RTtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FFMUIsR0FBMEMsRUFDMUMsT0FFQztRQUVELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlDLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVTtZQUM3QixzQ0FBc0M7YUFDckMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDO2FBQzFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDMUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNULElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLHNDQUFzQztZQUN0QyxVQUFVO1lBQ1YsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO1NBQy9CLENBQTRCLENBQ2hDLENBQUM7UUFDRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBRXJCLE9BRUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUMxQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2Ysc0NBQXNDO1lBQ3RDLFVBQVU7WUFDVixPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU87U0FDL0IsQ0FBNEIsQ0FDaEMsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUVqQixTQUEyRCxFQUFFLEVBQzdELE9BS0M7UUFFRCxPQUFPLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUUvQixVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVU7UUFFNUIsSUFBQSxxQkFBTSxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsa0RBQWtELENBQUMsQ0FBQztRQUMzRSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDL0MsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7WUFDNUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUEsZUFBTSxFQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxDQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztnQkFDakMsQ0FBQyxJQUFBLGdCQUFPLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FDckMsQ0FBQztRQUNKLENBQUMsQ0FBbUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixNQUFNLElBQUksaUJBQVMsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCO1FBRzVCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQStCLENBQUM7UUFDekQsSUFBSSxDQUFDLFdBQVc7WUFDZCxDQUFDLE1BQU0sV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUVqQyxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbEQsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELDBFQUEwRTtRQUMxRSx3RUFBd0U7UUFDeEUsNkNBQTZDO1FBQzdDLE1BQU0sS0FBSyxHQUFHLEVBQWUsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUNqQyxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUNqQyxLQUFLLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztRQUV0QixLQUFLLE1BQU0sQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksWUFBWSxFQUFFO1lBQ2pELEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7U0FDOUI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUNmLE9BQWdEO1FBRWhELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqQyxNQUFNLGFBQWEsR0FBRztZQUNwQixHQUFHLE9BQU8sRUFBRSxhQUFhO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU87U0FDaEMsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLDhEQUE4RDtZQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7YUFBTTtZQUNMLE1BQU0sVUFBVSxDQUFDLFNBQVM7WUFDeEIsOERBQThEO1lBQzlELEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEVBQzdCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUNmLGFBQWEsQ0FDZCxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEsa0JBQVMsRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FDakIsT0FBNkM7UUFFN0MsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNsRCxNQUFNLGFBQWEsR0FBRztZQUNwQixHQUFHLE9BQU8sRUFBRSxhQUFhO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU87U0FDaEMsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FDdkM7WUFDRSw4REFBOEQ7WUFDOUQsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRztTQUMxQixFQUNELGFBQWEsQ0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsT0FBTyxNQUFNLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sS0FBSyxDQUNWLE1BQXlFO1FBRXpFLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sSUFBSSxDQUNULE1BQXlFO1FBRXpFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFO1NBQ2IsQ0FBQztRQUNGLElBQUksU0FBUztZQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBNWJELDhCQTRiQztBQUVELE1BQWEsc0JBQXVCLFNBQVEsU0FBUztJQUc1QyxLQUFLLENBQUMsSUFBSSxDQUNmLE9BQWdEO1FBRWhELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25DLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqQyxNQUFNLGFBQWEsR0FBRztZQUNwQixHQUFHLE9BQU8sRUFBRSxhQUFhO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU87U0FDaEMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUU7WUFDMUIsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxVQUFVLENBQUMsVUFBVSxDQUNuRCwyQkFBMkIsQ0FDNUIsQ0FBQztZQUVGLE1BQU0sR0FBRyxHQUFHLE1BQU0saUJBQWlCLENBQUMsZ0JBQWdCO1lBQ2xELDhEQUE4RDtZQUM5RCxFQUFFLEdBQUcsRUFBRyxJQUFJLENBQUMsV0FBZ0MsQ0FBQyxjQUFjLEVBQUUsRUFDOUQsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFDdEIsRUFBRSxHQUFHLGFBQWEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FDNUQsQ0FBQztZQUNGLElBQUEscUJBQU0sRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLHdDQUF3QyxDQUFDLENBQUM7WUFDNUQsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUM1Qiw4REFBOEQ7WUFDOUQsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUMxQjthQUFNO1lBQ0wsTUFBTSxVQUFVLENBQUMsU0FBUztZQUN4Qiw4REFBOEQ7WUFDOUQsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsRUFDN0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQ2YsYUFBYSxDQUNkLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBQSxrQkFBUyxFQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQTdDRCx3REE2Q0MifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zakodium/adonis-mongodb",
3
- "version": "0.13.0",
3
+ "version": "0.14.1",
4
4
  "description": "MongoDB provider for AdonisJs",
5
5
  "main": "./lib/providers/MongodbProvider.js",
6
6
  "types": "./lib/adonis-typings/index.d.ts",
@@ -61,26 +61,26 @@
61
61
  },
62
62
  "homepage": "https://github.com/zakodium/adonis-mongodb#readme",
63
63
  "devDependencies": {
64
- "@adonisjs/auth": "^8.0.10",
65
- "@adonisjs/core": "^5.4.1",
66
- "@adonisjs/logger": "^4.1.1",
67
- "@poppinss/cliui": "^2.2.5",
68
- "@types/jest": "^27.0.3",
69
- "@types/lodash": "^4.14.177",
64
+ "@adonisjs/auth": "^8.2.3",
65
+ "@adonisjs/core": "^5.9.0",
66
+ "@adonisjs/logger": "^4.1.5",
67
+ "@poppinss/cliui": "^3.0.5",
68
+ "@types/jest": "^29.4.0",
69
+ "@types/lodash": "^4.14.191",
70
70
  "@types/pluralize": "0.0.29",
71
- "@zakodium/eslint-config": "^5.1.0",
72
- "eslint": "^8.3.0",
73
- "jest": "^27.3.1",
74
- "prettier": "^2.4.1",
75
- "rimraf": "^3.0.2",
76
- "ts-jest": "^27.0.7",
77
- "typescript": "^4.5.2"
71
+ "eslint": "^8.34.0",
72
+ "eslint-config-zakodium": "^7.0.0",
73
+ "jest": "^29.4.2",
74
+ "prettier": "^2.8.4",
75
+ "rimraf": "^4.1.2",
76
+ "ts-jest": "^29.0.5",
77
+ "typescript": "^4.9.5"
78
78
  },
79
79
  "dependencies": {
80
- "@poppinss/utils": "^3.3.1",
81
- "cli-table3": "^0.6.0",
80
+ "@poppinss/utils": "^5.0.0",
81
+ "cli-table3": "^0.6.3",
82
82
  "lodash": "^4.17.21",
83
- "mongodb": "^4.2.0",
83
+ "mongodb": "^5.0.1",
84
84
  "pluralize": "^8.0.0"
85
85
  }
86
86
  }
@@ -1,7 +1,7 @@
1
- import { EventEmitter } from 'events';
1
+ import { EventEmitter } from 'node:events';
2
2
 
3
3
  import { Exception } from '@poppinss/utils';
4
- import { MongoClient, Db, Collection, ClientSession } from 'mongodb';
4
+ import { MongoClient, Db, Collection, ClientSession, Document } from 'mongodb';
5
5
 
6
6
  import { LoggerContract } from '@ioc:Adonis/Core/Logger';
7
7
  import type {
@@ -114,7 +114,7 @@ export class Connection extends EventEmitter implements ConnectionContract {
114
114
  return this._ensureDb();
115
115
  }
116
116
 
117
- public async collection<TSchema = unknown>(
117
+ public async collection<TSchema extends Document>(
118
118
  collectionName: string,
119
119
  ): Promise<Collection<TSchema>> {
120
120
  const db = await this._ensureDb();
package/src/Migration.ts CHANGED
@@ -69,9 +69,9 @@ export default function createMigration(Database: DatabaseContract): any {
69
69
  }
70
70
 
71
71
  public createCollections(collectionNames: string[]): void {
72
- collectionNames.forEach((collectionName) =>
73
- this.createCollection(collectionName),
74
- );
72
+ for (const collectionName of collectionNames) {
73
+ this.createCollection(collectionName);
74
+ }
75
75
  }
76
76
 
77
77
  public createCollection(collectionName: string): void {
@@ -1,4 +1,4 @@
1
- import assert from 'assert';
1
+ import assert from 'node:assert';
2
2
 
3
3
  import { defineStaticProperty, Exception } from '@poppinss/utils';
4
4
  import { cloneDeep, isEqual, pickBy, snakeCase } from 'lodash';
@@ -16,7 +16,6 @@ import {
16
16
  FindOptions,
17
17
  InsertOneOptions,
18
18
  SortDirection,
19
- WithId,
20
19
  } from 'mongodb';
21
20
  import pluralize from 'pluralize';
22
21
 
@@ -84,7 +83,8 @@ class Query<ModelType extends typeof BaseModel>
84
83
  >
85
84
  >
86
85
  | undefined,
87
- private modelConstructor: ModelType,
86
+ // eslint-disable-next-line @typescript-eslint/naming-convention
87
+ private ModelConstructor: ModelType,
88
88
  ) {
89
89
  if (options?.driverOptions) {
90
90
  for (const key of forbiddenQueryOptions) {
@@ -132,13 +132,13 @@ class Query<ModelType extends typeof BaseModel>
132
132
  }
133
133
 
134
134
  public async first(): Promise<InstanceType<ModelType> | null> {
135
- const collection = await this.modelConstructor.getCollection();
135
+ const collection = await this.ModelConstructor.getCollection();
136
136
  const driverOptions = this.getDriverOptions();
137
137
  const result = await collection.findOne(this.filter, driverOptions);
138
138
  if (result === null) {
139
139
  return null;
140
140
  }
141
- const instance = new this.modelConstructor(
141
+ const instance = new this.ModelConstructor(
142
142
  result,
143
143
  {
144
144
  // @ts-expect-error Unavoidable error.
@@ -159,17 +159,12 @@ class Query<ModelType extends typeof BaseModel>
159
159
  }
160
160
 
161
161
  public async all(): Promise<Array<InstanceType<ModelType>>> {
162
- const collection = await this.modelConstructor.getCollection();
162
+ const collection = await this.ModelConstructor.getCollection();
163
163
  const driverOptions = this.getDriverOptions();
164
- const result = await collection
165
- .find(
166
- this.filter as Filter<WithId<ModelAttributes<InstanceType<ModelType>>>>,
167
- driverOptions,
168
- )
169
- .toArray();
164
+ const result = await collection.find(this.filter, driverOptions).toArray();
170
165
  return result.map(
171
166
  (value) =>
172
- new this.modelConstructor(
167
+ new this.ModelConstructor(
173
168
  value,
174
169
  {
175
170
  // @ts-expect-error Unavoidable error.
@@ -182,7 +177,7 @@ class Query<ModelType extends typeof BaseModel>
182
177
  }
183
178
 
184
179
  public async count(): Promise<number> {
185
- const collection = await this.modelConstructor.getCollection();
180
+ const collection = await this.ModelConstructor.getCollection();
186
181
  const driverOptions = this.getDriverOptions();
187
182
  return collection.countDocuments(
188
183
  this.filter,
@@ -191,37 +186,30 @@ class Query<ModelType extends typeof BaseModel>
191
186
  }
192
187
 
193
188
  public async distinct<T = unknown>(key: string): Promise<T[]> {
194
- const collection = await this.modelConstructor.getCollection();
189
+ const collection = await this.ModelConstructor.getCollection();
195
190
  const driverOptions = this.getDriverOptions();
196
- return collection.distinct(
191
+ const result = await collection.distinct(
197
192
  key,
198
193
  this.filter,
199
194
  driverOptions as DistinctOptions,
200
195
  );
196
+ return result;
201
197
  }
202
198
 
203
199
  public async explain(verbosity?: ExplainVerbosityLike): Promise<Document> {
204
- const collection = await this.modelConstructor.getCollection();
200
+ const collection = await this.ModelConstructor.getCollection();
205
201
  const driverOptions = this.getDriverOptions();
206
- return collection
207
- .find(
208
- this.filter as Filter<WithId<ModelAttributes<InstanceType<ModelType>>>>,
209
- driverOptions,
210
- )
211
- .explain(verbosity);
202
+ return collection.find(this.filter, driverOptions).explain(verbosity);
212
203
  }
213
204
 
214
205
  public async *[Symbol.asyncIterator](): AsyncIterableIterator<
215
206
  InstanceType<ModelType>
216
207
  > {
217
- const collection = await this.modelConstructor.getCollection();
208
+ const collection = await this.ModelConstructor.getCollection();
218
209
  const driverOptions = this.getDriverOptions();
219
- for await (const value of collection.find(
220
- this.filter as Filter<WithId<ModelAttributes<InstanceType<ModelType>>>>,
221
- driverOptions,
222
- )) {
210
+ for await (const value of collection.find(this.filter, driverOptions)) {
223
211
  if (value === null) continue;
224
- yield new this.modelConstructor(
212
+ yield new this.ModelConstructor(
225
213
  value,
226
214
  {
227
215
  // @ts-expect-error Unavoidable error.
@@ -288,7 +276,7 @@ export class BaseModel {
288
276
  alreadyExists = false,
289
277
  ) {
290
278
  if (dbObj) {
291
- this.$original = alreadyExists === true ? cloneDeep(dbObj) : {};
279
+ this.$original = alreadyExists ? cloneDeep(dbObj) : {};
292
280
  this.$attributes = dbObj;
293
281
  } else {
294
282
  this.$original = {};
@@ -342,7 +330,7 @@ export class BaseModel {
342
330
  /**
343
331
  * No-op when already booted.
344
332
  */
345
- if (this.booted === true) {
333
+ if (this.booted) {
346
334
  return;
347
335
  }
348
336
 
@@ -649,11 +637,13 @@ export class BaseModel {
649
637
  session: this.$options?.session,
650
638
  };
651
639
  if (!this.$isPersisted) {
640
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
652
641
  const result = await collection.insertOne(toSet, driverOptions);
653
642
  this.$attributes._id = result.insertedId;
654
643
  this.$isPersisted = true;
655
644
  } else {
656
645
  await collection.updateOne(
646
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
657
647
  { _id: this.$attributes._id },
658
648
  { $set: toSet },
659
649
  driverOptions,
@@ -674,6 +664,7 @@ export class BaseModel {
674
664
  };
675
665
  const result = await collection.deleteOne(
676
666
  {
667
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
677
668
  _id: this.$attributes._id,
678
669
  },
679
670
  driverOptions,
@@ -685,9 +676,9 @@ export class BaseModel {
685
676
  public merge<T extends Partial<Omit<ModelAttributes<this>, '_id'>>>(
686
677
  values: NoExtraProperties<Partial<Omit<ModelAttributes<this>, '_id'>>, T>,
687
678
  ): this {
688
- Object.entries(values).forEach(([key, value]) => {
679
+ for (const [key, value] of Object.entries(values)) {
689
680
  this.$attributes[key] = value;
690
- });
681
+ }
691
682
  return this;
692
683
  }
693
684
 
@@ -726,17 +717,20 @@ export class BaseAutoIncrementModel extends BaseModel {
726
717
  );
727
718
 
728
719
  const doc = await counterCollection.findOneAndUpdate(
720
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
729
721
  { _id: (this.constructor as typeof BaseModel).collectionName },
730
722
  { $inc: { count: 1 } },
731
723
  { ...driverOptions, upsert: true, returnDocument: 'after' },
732
724
  );
733
725
  assert(doc.value, 'upsert should always create a document');
734
726
  toSet._id = doc.value.count;
727
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
735
728
  await collection.insertOne(toSet, driverOptions);
736
729
  this.$attributes._id = doc.value.count;
737
730
  this.$isPersisted = true;
738
731
  } else {
739
732
  await collection.updateOne(
733
+ // @ts-expect-error Unavoidable error, as _id is unknown here.
740
734
  { _id: this.$attributes._id },
741
735
  { $set: toSet },
742
736
  driverOptions,
@@ -1,7 +1,7 @@
1
1
  import BaseMigration from '@ioc:Zakodium/Mongodb/Migration';
2
2
 
3
3
  export default class ${className} extends BaseMigration {
4
- public up(): void {
4
+ public override up(): void {
5
5
  // Write your migration here.
6
6
  // For example:
7
7
  // this.createCollection('my_coll');