UNPKG

@apideck/portman

Version:

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

31 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.omitByPath = void 0; var tslib_1 = require("tslib"); var dot_object_1 = tslib_1.__importDefault(require("dot-object")); var isObject_1 = require("./isObject"); var omitByPath = function (objectOrArray, path) { var _a; if (!(0, isObject_1.isObject)(objectOrArray) && !Array.isArray(objectOrArray)) return objectOrArray; var dot = new dot_object_1.default(); if (Array.isArray(objectOrArray)) { var indexKey = (_a = path.match(/\d+/g)) === null || _a === void 0 ? void 0 : _a[0]; if (indexKey && objectOrArray[indexKey] && !path.includes('.')) { objectOrArray.splice(Number(indexKey), 1); return objectOrArray; } if (indexKey && objectOrArray[indexKey] && path.includes('.')) { var item = objectOrArray[indexKey]; var subPath = path.substring(path.indexOf('.') + 1); if (subPath) { objectOrArray[indexKey] = (0, exports.omitByPath)(item, subPath); } return objectOrArray; } } dot.delete(path, objectOrArray); return objectOrArray; }; exports.omitByPath = omitByPath; //# sourceMappingURL=omitByPath.js.map