navy
Version:
Quick and powerful development environments using Docker and Docker Compose
41 lines (30 loc) • 1.13 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.start = exports.fix = exports.catchInvariant = void 0;
var _util = _interopRequireDefault(require("util"));
var _invariant = _interopRequireDefault(require("invariant"));
var _chalk = _interopRequireDefault(require("chalk"));
const fix = async (message, ...params) => {
(0, _invariant.default)(params.length > 0, "DOCTOR_FIX_NO_PARAMS: Expected params to be passed to doctor fix");
const fixCallback = params[params.length - 1];
console.log(_chalk.default.yellow('----->', _util.default.format(message, ...params.slice(0, -1))));
await fixCallback();
};
exports.fix = fix;
const start = message => {
console.log(_chalk.default.dim('----->', message));
};
exports.start = start;
const catchInvariant = async (code, fn, catchCallback) => {
try {
await fn();
} catch (ex) {
if (ex.name === 'Invariant Violation' && ex.message.indexOf(code) === 0) {
await catchCallback();
}
}
};
exports.catchInvariant = catchInvariant;