UNPKG

mongo-milestone

Version:

*A life-saving little tool to work around the lack of ACID Transactions in MongoDB*

63 lines (43 loc) 1.98 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.registeredMethods = exports.wrapMethod = exports.spawn = exports.run = exports.bulkRegister = exports.unregister = exports.register = exports.isReady = exports.Action = exports.Milestone = exports.configure = undefined; var _q = require('q'); var _q2 = _interopRequireDefault(_q); var _moment = require('moment'); var _moment2 = _interopRequireDefault(_moment); var _Milestone = require('./domain/Milestone'); var _Milestone2 = _interopRequireDefault(_Milestone); var _Action = require('./domain/Action'); var _Action2 = _interopRequireDefault(_Action); var _dispatcher = require('./dispatcher'); var _config = require('./config'); var _db = require('./db'); var _robot = require('./robot'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const deferred = _q2.default.defer(); const isReady = deferred.promise; const configure = (mongoConnectionString, retryTimespan, jobsCollectionName) => { (0, _config.setup)(mongoConnectionString, retryTimespan, jobsCollectionName); _q2.default.spawn(function* () { try { const result = yield (0, _db.connect)(); deferred.resolve({ register: _dispatcher.register, unregister: _dispatcher.unregister, bulkRegister: _dispatcher.registerMethods, run: _robot.run, spawn: _robot.spawn, wrapMethod: _dispatcher.wrapMethod }); } catch (e) { deferred.reject(e); } }); return isReady; }; exports.configure = configure; exports.Milestone = _Milestone2.default; exports.Action = _Action2.default; exports.isReady = isReady; exports.register = _dispatcher.register; exports.unregister = _dispatcher.unregister; exports.bulkRegister = _dispatcher.registerMethods; exports.run = _robot.run; exports.spawn = _robot.spawn; exports.wrapMethod = _dispatcher.wrapMethod; exports.registeredMethods = _dispatcher.registeredMethods;