UNPKG

http-problem-details-mapper

Version:
40 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MapperRegistry = void 0; const DefaultErrorMapper_1 = require("./DefaultErrorMapper"); class MapperRegistry { constructor(options) { this.mappers = new Map(); let useDefaultErrorMapper = true; if (options && options.useDefaultErrorMapper === false) { useDefaultErrorMapper = false; } if (useDefaultErrorMapper) { this.registerMapper(new DefaultErrorMapper_1.DefaultErrorMapper()); } } registerMapper(mapper, replace = false) { if (replace || !this.mappers.has(mapper.error)) { this.mappers.set(mapper.error, mapper); } return this; } getMapper(error) { let constructor = error.constructor; let proto = Object.getPrototypeOf(error); let mapper; while (constructor.name !== 'Object') { mapper = this.mappers.get(constructor.name); if (mapper) { break; } else { proto = Object.getPrototypeOf(proto); constructor = proto.constructor; } } return mapper || null; } } exports.MapperRegistry = MapperRegistry; //# sourceMappingURL=MapperRegistry.js.map