@openzeppelin/defender-as-code
Version:
Configure your Defender environment via code
34 lines (33 loc) • 1.4 kB
JavaScript
/**
* @notice copied from https://gist.github.com/simonrenoult/2fa79fec8f035b2d35cef0767363b227
* */
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.sanitise = void 0;
const lodash_1 = __importDefault(require("lodash"));
const sanitise = (object) => {
if (lodash_1.default.isString(object))
return _sanitiseString(object);
if (lodash_1.default.isArray(object))
return _sanitiseArray(object);
if (lodash_1.default.isPlainObject(object))
return _sanitiseObject(object);
return object;
};
exports.sanitise = sanitise;
const _sanitiseString = (string) => {
return lodash_1.default.isEmpty(string) ? null : string;
};
const _sanitiseArray = (array) => {
return lodash_1.default.filter(lodash_1.default.map(array, exports.sanitise), _isProvided);
};
const _sanitiseObject = (object) => {
return lodash_1.default.pickBy(lodash_1.default.mapValues(object, exports.sanitise), _isProvided);
};
const _isProvided = (value) => {
const typeIsNotSupported = !lodash_1.default.isNil(value) && !lodash_1.default.isString(value) && !lodash_1.default.isArray(value) && !lodash_1.default.isPlainObject(value);
return typeIsNotSupported || !lodash_1.default.isEmpty(value);
};
;