UNPKG

magnet-core

Version:

Magnet's core, a simple module loader.

51 lines 1.88 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const fp_1 = require("lodash/fp"); // Wait Promise.all to finish all promise // http://stackoverflow.com/a/31424853/788518 function reflect(promise) { return __awaiter(this, void 0, void 0, function* () { try { const value = yield promise; return { value, status: 'resolved' }; } catch (error) { return { error, status: 'rejected' }; } }); } exports.reflect = reflect; function isClass(v) { return typeof v === 'function' && v.prototype.constructor === v; } exports.isClass = isClass; function retrieveReflect(list, field) { return fp_1.flow(fp_1.map(field), fp_1.compact)(list); } exports.retrieveReflect = retrieveReflect; function errorHandler(app, err) { return __awaiter(this, void 0, void 0, function* () { if (err) { app.log.error(err); } try { yield app.magnet.shutdown(app); app.log.info('Complete teardown all Magnet\'s module'); process.exit(); } catch (err) { app.log.error(err); process.exit(1); } }); } exports.errorHandler = errorHandler; //# sourceMappingURL=utils.js.map