1
0

handler.js 981 B

1234567891011121314151617181920212223242526
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.DefaultErrorHandler = void 0;
  4. /**
  5. * Protocol for handling options-related issues.
  6. */
  7. const types_1 = require("./types");
  8. /**
  9. * Default handler for options-related issues.
  10. */
  11. class DefaultErrorHandler {
  12. handle(err, ctx) {
  13. switch (err) {
  14. case types_1.OptionsError.invalidOptionsParam:
  15. throw new TypeError(`Invalid "options" parameter: ${JSON.stringify(ctx.options)}`);
  16. case types_1.OptionsError.invalidDefaultsParam:
  17. throw new TypeError(`Invalid "defaults" parameter: ${JSON.stringify(ctx.defaults)}`);
  18. case types_1.OptionsError.optionNotRecognized:
  19. throw new Error(`Option "${ctx.key}" is not recognized.`);
  20. // istanbul ignore next:
  21. default:
  22. return ctx.options; // this will never happen
  23. }
  24. }
  25. }
  26. exports.DefaultErrorHandler = DefaultErrorHandler;