UNPKG

@openzeppelin/defender-as-code

Version:
34 lines (33 loc) 1.4 kB
"use strict"; /** * @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); };