• File: createCustomError.js
  • Full Path: /var/www/sandbox/node_modules/css-tree/lib/utils/createCustomError.js
  • Date Modified: 02/20/2025 6:18 PM
  • File size: 543 bytes
  • MIME-type: text/plain
  • Charset: utf-8
module.exports = function createCustomError(name, message) {
    // use Object.create(), because some VMs prevent setting line/column otherwise
    // (iOS Safari 10 even throws an exception)
    var error = Object.create(SyntaxError.prototype);
    var errorStack = new Error();

    error.name = name;
    error.message = message;

    Object.defineProperty(error, 'stack', {
        get: function() {
            return (errorStack.stack || '').replace(/^(.+\n){1,3}/, name + ': ' + message + '\n');
        }
    });

    return error;
};