![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/vreg/node_modules/webpack/lib/ |
"use strict"; const WebpackError = require("./WebpackError"); const CURRENT_METHOD_REGEXP = /at ([a-zA-Z0-9_.]*)/; /** * @param {string=} method method name * @returns {string} message */ function createMessage(method) { return `Abstract method${method ? " " + method : ""}. Must be overridden.`; } /** * @constructor */ function Message() { this.stack = undefined; Error.captureStackTrace(this); /** @type {RegExpMatchArray} */ const match = this.stack.split("\n")[3].match(CURRENT_METHOD_REGEXP); this.message = match && match[1] ? createMessage(match[1]) : createMessage(); } /** * Error for abstract method * @example * class FooClass { * abstractMethod() { * throw new AbstractMethodError(); // error message: Abstract method FooClass.abstractMethod. Must be overriden. * } * } * */ class AbstractMethodError extends WebpackError { constructor() { super(new Message().message); this.name = "AbstractMethodError"; } } module.exports = AbstractMethodError;