Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mongtype

Package Overview
Dependencies
Maintainers
1
Versions
45
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mongtype - npm Package Compare versions

Comparing version 1.0.6 to 1.1.0

26

dist/db.js

@@ -19,12 +19,22 @@ "use strict";

const injection_js_1 = require("injection-js");
const retry = require("retry");
let Database = class Database {
get connection() {
if (!this.db) {
try {
this.db = mongodb_1.MongoClient.connect(this.uri);
console.log(`Mongo: Connection opened: ${this.uri}`);
}
catch (e) {
console.error('Mongo: Connection error', e);
}
const operation = retry.operation();
operation.attempt((attempt) => {
this.db = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
try {
const db = yield mongodb_1.MongoClient.connect(this.uri);
console.log(`Mongo: Connection opened: ${this.uri}`);
resolve(db);
}
catch (e) {
if (operation.retry(e))
return;
console.error('Mongo: Connection error', e);
reject(e);
}
}));
});
}

@@ -44,2 +54,2 @@ return this.db;

exports.Database = Database;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUFxRjtBQUNyRiwrQ0FBMEM7QUFHMUMsSUFBYSxRQUFRLEdBQXJCO0lBS0UsSUFBSSxVQUFVO1FBQ1osRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNiLElBQUksQ0FBQztnQkFDSCxJQUFJLENBQUMsRUFBRSxHQUFHLHFCQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUFDLEtBQUssQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFSyxPQUFPLENBQUMsR0FBRzs7WUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7S0FBQTtDQUVGLENBQUE7QUF2QlksUUFBUTtJQURwQix5QkFBVSxFQUFFO0dBQ0EsUUFBUSxDQXVCcEI7QUF2QlksNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcGRhdGVXcml0ZU9wUmVzdWx0LCBPYmplY3RJRCwgTW9uZ29DbGllbnQsIERiLCBDb2xsZWN0aW9uIH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnaW5qZWN0aW9uLWpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGFiYXNlIHtcblxuICBwcml2YXRlIGRiOiBQcm9taXNlPERiPjtcbiAgcHJpdmF0ZSB1cmk6IHN0cmluZztcbiAgXG4gIGdldCBjb25uZWN0aW9uKCk6IFByb21pc2U8RGI+IHtcbiAgICBpZiAoIXRoaXMuZGIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuZGIgPSBNb25nb0NsaWVudC5jb25uZWN0KHRoaXMudXJpKTtcbiAgICAgICAgY29uc29sZS5sb2coYE1vbmdvOiBDb25uZWN0aW9uIG9wZW5lZDogJHt0aGlzLnVyaX1gKTtcbiAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdNb25nbzogQ29ubmVjdGlvbiBlcnJvcicsIGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRiO1xuICB9XG5cbiAgYXN5bmMgY29ubmVjdCh1cmkpOiBQcm9taXNlPERiPiB7XG4gICAgdGhpcy51cmkgPSB1cmk7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbjtcbiAgfVxuXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFDQUFxRjtBQUNyRiwrQ0FBMEM7QUFDMUMsK0JBQStCO0FBRy9CLElBQWEsUUFBUSxHQUFyQjtJQUtFLElBQUksVUFBVTtRQUNaLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDYixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFcEMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU87Z0JBQ3hCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBTyxPQUFPLEVBQUUsTUFBTTtvQkFDMUMsSUFBSSxDQUFDO3dCQUNILE1BQU0sRUFBRSxHQUFHLE1BQU0scUJBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFDckQsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNkLENBQUM7b0JBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDVixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUFDLE1BQU0sQ0FBQzt3QkFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDNUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNaLENBQUM7Z0JBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFSyxPQUFPLENBQUMsR0FBRzs7WUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7S0FBQTtDQUVGLENBQUE7QUFoQ1ksUUFBUTtJQURwQix5QkFBVSxFQUFFO0dBQ0EsUUFBUSxDQWdDcEI7QUFoQ1ksNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcGRhdGVXcml0ZU9wUmVzdWx0LCBPYmplY3RJRCwgTW9uZ29DbGllbnQsIERiLCBDb2xsZWN0aW9uIH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnaW5qZWN0aW9uLWpzJztcbmltcG9ydCAqIGFzIHJldHJ5IGZyb20gJ3JldHJ5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGFiYXNlIHtcblxuICBwcml2YXRlIGRiOiBQcm9taXNlPERiPjtcbiAgcHJpdmF0ZSB1cmk6IHN0cmluZztcbiAgXG4gIGdldCBjb25uZWN0aW9uKCk6IFByb21pc2U8RGI+IHtcbiAgICBpZiAoIXRoaXMuZGIpIHtcbiAgICAgIGNvbnN0IG9wZXJhdGlvbiA9IHJldHJ5Lm9wZXJhdGlvbigpO1xuXG4gICAgICBvcGVyYXRpb24uYXR0ZW1wdCgoYXR0ZW1wdCkgPT4ge1xuICAgICAgICB0aGlzLmRiID0gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkYiA9IGF3YWl0IE1vbmdvQ2xpZW50LmNvbm5lY3QodGhpcy51cmkpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYE1vbmdvOiBDb25uZWN0aW9uIG9wZW5lZDogJHt0aGlzLnVyaX1gKTtcbiAgICAgICAgICAgIHJlc29sdmUoZGIpO1xuICAgICAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICAgICAgaWYgKG9wZXJhdGlvbi5yZXRyeShlKSkgcmV0dXJuO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignTW9uZ286IENvbm5lY3Rpb24gZXJyb3InLCBlKTtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGI7XG4gIH1cblxuICBhc3luYyBjb25uZWN0KHVyaSk6IFByb21pc2U8RGI+IHtcbiAgICB0aGlzLnVyaSA9IHVyaTtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9uO1xuICB9XG5cbn1cbiJdfQ==
{
"name": "mongtype",
"version": "1.0.6",
"version": "1.1.0",
"description": "Mongo Repository for Node written in TypeScript",

@@ -35,4 +35,5 @@ "main": "dist/index.js",

"mongodb": "^2.2.25",
"reflect-metadata": "^0.1.10"
"reflect-metadata": "^0.1.10",
"retry": "^0.10.1"
}
}
import { UpdateWriteOpResult, ObjectID, MongoClient, Db, Collection } from 'mongodb';
import { Injectable } from 'injection-js';
import * as retry from 'retry';

@@ -12,8 +13,17 @@ @Injectable()

if (!this.db) {
try {
this.db = MongoClient.connect(this.uri);
console.log(`Mongo: Connection opened: ${this.uri}`);
} catch(e) {
console.error('Mongo: Connection error', e);
}
const operation = retry.operation();
operation.attempt((attempt) => {
this.db = new Promise(async (resolve, reject) => {
try {
const db = await MongoClient.connect(this.uri);
console.log(`Mongo: Connection opened: ${this.uri}`);
resolve(db);
} catch(e) {
if (operation.retry(e)) return;
console.error('Mongo: Connection error', e);
reject(e);
}
});
});
}

@@ -20,0 +30,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc