HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/f/r/e/frenchy/www/french-american.org/current/node_modules/editions/edition-node-0.8/util.js
'use strict'; // 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 = require('errlop/edition-node-0.8/index.js');
/**
 * 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.
 * @param {Object} opts
 * @param {string} opts.message
 * @param {string} opts.code
 * @param {string} opts.level
 * @param {Errlop|Error} [parent]
 * @returns {Errlop}
 * @private
 */


function errtion(_ref, parent) {
  var message = _ref.message,
      code = _ref.code,
      level = _ref.level;
  if (this) throw new Error('errtion is not to be created with new');
  var error = new Errlop(message, parent);
  if (code) error.code = code;
  if (level) error.level = level;
  return error;
}
/**
 * Converts anything to a string, by returning strings and serialising objects.
 * @param {any} value
 * @returns {string}
 * @private
 */


function stringify(value) {
  return typeof value === 'string' ? value : JSON.stringify(value);
}
/**
 * Converts a version range like `4 || 6` to `>=4`.
 * @param {string} range
 * @returns {string}
 * @private
 */


function simplifyRange(range) {
  return range.replace(/^([.\-\w]+)(\s.+)?$/, '>=$1');
}

module.exports = {
  errtion: errtion,
  stringify: stringify,
  simplifyRange: simplifyRange
};