http-problem-details-parser
Version:
HTTP Problem Details parser for JavaScript/TypeScript clients
25 lines • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.mapExtensions = exports.fromJSON = exports.fromObject = void 0;
const http_problem_details_1 = require("http-problem-details");
const fromObject = (object, mappers) => {
const { status, title, detail, type, instance } = object;
const document = new http_problem_details_1.ProblemDocument({
status,
title,
detail,
type,
instance
});
return mappers ? exports.mapExtensions(object, document, mappers) : document;
};
exports.fromObject = fromObject;
const fromJSON = (json, extensionMappers) => exports.fromObject(JSON.parse(json), extensionMappers);
exports.fromJSON = fromJSON;
const mapExtensions = (object, document, mappers) => {
const mapper = mappers.find((m) => m.type === document.type);
const extension = mapper === null || mapper === void 0 ? void 0 : mapper.map(object);
return new http_problem_details_1.ProblemDocument(document, extension);
};
exports.mapExtensions = mapExtensions;
//# sourceMappingURL=index.js.map