PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` /* 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} */ 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 overridden. * } * } * */ class AbstractMethodError extends WebpackError { constructor() { super(new Message().message); this.name = "AbstractMethodError"; } } module.exports = AbstractMethodError;