ModuleRestoreError.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. const WebpackError = require("./WebpackError");
  7. /** @typedef {import("./Module")} Module */
  8. class ModuleRestoreError extends WebpackError {
  9. /**
  10. * Creates an instance of ModuleRestoreError.
  11. * @param {Module} module module tied to dependency
  12. * @param {string | Error} err error thrown
  13. */
  14. constructor(module, err) {
  15. let message = "Module restore failed: ";
  16. /** @type {string | undefined} */
  17. const details = undefined;
  18. if (err !== null && typeof err === "object") {
  19. if (typeof err.stack === "string" && err.stack) {
  20. const stack = err.stack;
  21. message += stack;
  22. } else if (typeof err.message === "string" && err.message) {
  23. message += err.message;
  24. } else {
  25. message += err;
  26. }
  27. } else {
  28. message += String(err);
  29. }
  30. super(message);
  31. /** @type {string} */
  32. this.name = "ModuleRestoreError";
  33. /** @type {string | undefined} */
  34. this.details = details;
  35. this.module = module;
  36. this.error = err;
  37. }
  38. }
  39. /** @type {typeof ModuleRestoreError} */
  40. module.exports = ModuleRestoreError;