UNPKG

@apideck/portman

Version:

Port OpenAPI Spec to Postman Collection, with contract & variation tests included

31 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.overwriteCollectionKeyValues = void 0; var tslib_1 = require("tslib"); var utils_1 = require("../../utils"); var overwriteCollectionKeyValues = function (collectionJson, dictionary) { var _a; if (!collectionJson || !(0, utils_1.isObject)(collectionJson) || ((_a = Object.keys(dictionary)) === null || _a === void 0 ? void 0 : _a.length) === 0) return collectionJson; if (Array.isArray(collectionJson)) { return collectionJson.map(function (item) { return (0, exports.overwriteCollectionKeyValues)(item, dictionary); }); } var targets = Object.keys(dictionary); var mapped = Object.keys(collectionJson).reduce(function (r, key) { var _a, _b; if (Array.isArray(r[key])) { return tslib_1.__assign(tslib_1.__assign({}, r), (_a = {}, _a[key] = r[key].map(function (arrObj) { return (0, exports.overwriteCollectionKeyValues)(arrObj, dictionary); }), _a)); } if ((0, utils_1.isObject)(r[key])) { return tslib_1.__assign(tslib_1.__assign({}, r), (_b = {}, _b[key] = (0, exports.overwriteCollectionKeyValues)(r[key], dictionary), _b)); } if (!targets.includes(r[key])) return r; return tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, r), collectionJson), { value: dictionary[r[key]] }); }, collectionJson); return mapped; }; exports.overwriteCollectionKeyValues = overwriteCollectionKeyValues; //# sourceMappingURL=overwriteCollectionKeyValues.js.map