UNPKG

13 kBSource Map (JSON)View Raw
1{"version":3,"file":"DbModule.js","names":["_err","_interopRequireDefault","require","_module","_maskUriPassword","_bluebird","_pick","_mongoose","_validOptionNames","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","mongoose","Mongoose","DbModule","_Module","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","config","keepAlive","useUnifiedTopology","useNewUrlParser","connectTimeoutMS","provider","client","reconnectios","_createClass2","value","getOptions","pick","validOptionNames","options","_init","_asyncToGenerator2","_regenerator","mark","_callee2","_this2","uri","wrap","_callee2$","_context2","prev","next","_get2","Err","debug","log","trace","maskUriPassword","Promise","connection","on","_ref","_callee","err","interval","_callee$","_context","error","warn","Bluebird","delay","setTimeout","reconnect","bind","stop","_x","set","abrupt","init","_stop","_callee3","_callee3$","_context3","close","disconnect","_reconnect","_callee4","_callee4$","_context4","run","_run","_callee5","_this3","_callee5$","_context5","resolve","reject","connect","then","sent","_healthcheck","_callee6","_callee6$","_context6","db","command","ping","_ref2","operationTime","healthcheck","Module","exports","_default"],"sources":["../src/DbModule.js"],"sourcesContent":["import Err from '@lskjs/err';\nimport Module from '@lskjs/module';\nimport maskUriPassword from '@lskjs/utils/maskUriPassword';\nimport Bluebird from 'bluebird';\nimport pick from 'lodash/pick';\nimport mongoose from 'mongoose';\nrequire('mongoose-long')(mongoose);\n\nconst { Mongoose } = mongoose;\n\n\nimport { validOptionNames } from './mongo/validOptionNames';\n\n// abstract\nexport class DbModule extends Module {\n config = {\n keepAlive: true,\n useUnifiedTopology: true,\n useNewUrlParser: true,\n // autoReconnect: true,\n // reconnectTries: __DEV__ ? 10000 : 30,\n // reconnectInterval: __DEV__ ? 30000 : 1000,\n connectTimeoutMS: 5000,\n // sets the delay between every retry (milliseconds)\n };\n\n provider = 'mongo';\n client = 'mongoose';\n Mongoose = Mongoose;\n reconnectios = 0;\n\n getOptions() {\n return {\n ...pick(this.config, validOptionNames),\n ...(this.config.options || {}),\n };\n }\n async init() {\n await super.init();\n const { uri } = this.config;\n const options = this.getOptions();\n if (!uri) throw new Err('!uri');\n if (this.debug) this.log.trace('config', maskUriPassword(uri), options); // finalOptions\n\n // eslint-disable-next-line no-shadow\n const { Mongoose } = this;\n this.client = new Mongoose();\n this.client.Promise = Promise;\n this.client.connection.on('connected', () => {\n if (this.debug) this.log.trace('connected');\n this.reconnectios = 0;\n });\n this.client.connection.on('error', async (err) => {\n this.log.error('error', err);\n const interval = this.reconnectios++ * 2000 + 1000; // eslint-disable-line no-plusplus\n if (this.debug) this.log.warn(`reconnect [delay] ${interval}ms`);\n await Bluebird.delay(interval);\n setTimeout(this.reconnect.bind(this), interval);\n });\n this.client.connection.on('disconnected', () => {\n if (this.debug) this.log.trace('disconnected');\n });\n this.client.set('debug', this.debug || false);\n return this.client;\n }\n\n async stop() {\n await super.stop();\n if (this.client) {\n if (this.client.connection) this.client.connection.close();\n this.client.disconnect();\n } else {\n this.log.warn('!client', 'cannot client.disconnect');\n }\n\n return Bluebird.delay(10);\n }\n\n async reconnect() {\n if (this.debug) this.log.trace('reconnect');\n if (this.client) {\n this.client.stop();\n this.client.run();\n } else {\n this.log.warn('!client', 'cannot client.stop and client.run');\n }\n }\n\n async run() {\n await super.run();\n this.reconnectios = 0;\n const { uri } = this.config;\n const options = this.getOptions();\n const connection = await new Promise((resolve, reject) => this.client.connect(uri, options).then(resolve, reject));\n this.log.debug('[ready]', maskUriPassword(uri));\n return connection;\n }\n async healthcheck() {\n if (!this.client) throw '!client';\n return this.client.connection.db.command({ ping: 1 }).then(({ operationTime }) => operationTime);\n }\n}\n\nexport default DbModule;\n"],"mappings":"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"}
\No newline at end of file