34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
'use strict';
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
// As Errlop uses Editions, we should use a specific Errlop edition
|
|
// As otherwise, the circular reference may fail on some machines
|
|
// https://github.com/bevry/errlop/issues/2
|
|
var errlop_1 = __importDefault(require("errlop"));
|
|
/**
|
|
* Allow code and level inputs on Errlop.
|
|
* We do this instead of a class extension, as class extensions do not interop well on node 0.8, which is our target.
|
|
*/
|
|
function errtion(opts, parent) {
|
|
var message = opts.message, code = opts.code, level = opts.level;
|
|
var error = new errlop_1.default(message, parent);
|
|
if (code)
|
|
error.code = code;
|
|
if (level)
|
|
error.level = level;
|
|
return error;
|
|
}
|
|
exports.errtion = errtion;
|
|
/** Converts anything to a string, by returning strings and serialising objects. */
|
|
function stringify(value) {
|
|
return typeof value === 'string' ? value : JSON.stringify(value);
|
|
}
|
|
exports.stringify = stringify;
|
|
/** Converts a version range like `4 || 6` to `>=4` */
|
|
function simplifyRange(range) {
|
|
return range.replace(/^([.\-\w]+)(\s.+)?$/, '>=$1');
|
|
}
|
|
exports.simplifyRange = simplifyRange;
|