diff options
Diffstat (limited to 'node_modules/webpack/lib/AbstractMethodError.js')
| -rw-r--r-- | node_modules/webpack/lib/AbstractMethodError.js | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/node_modules/webpack/lib/AbstractMethodError.js b/node_modules/webpack/lib/AbstractMethodError.js deleted file mode 100644 index 7a9d2f99..00000000 --- a/node_modules/webpack/lib/AbstractMethodError.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Ivan Kopeykin @vankop -*/ - -"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() { - /** @type {string | undefined} */ - this.stack = undefined; - Error.captureStackTrace(this); - /** @type {RegExpMatchArray | null} */ - const match = - /** @type {string} */ - (/** @type {unknown} */ (this.stack)) - .split("\n")[3] - .match(CURRENT_METHOD_REGEXP); - - this.message = match && match[1] ? createMessage(match[1]) : createMessage(); -} - -/** - * Error for abstract method - * @example - * ```js - * class FooClass { - * abstractMethod() { - * throw new AbstractMethodError(); // error message: Abstract method FooClass.abstractMethod. Must be overridden. - * } - * } - * ``` - */ -class AbstractMethodError extends WebpackError { - constructor() { - super(new Message().message); - this.name = "AbstractMethodError"; - } -} - -module.exports = AbstractMethodError; |
