UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

34 lines 1.2 kB
import "core-js/modules/web.dom-collections.iterator.js"; export function filterProps(props) { let remove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; let allowed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; if (Array.isArray(remove)) { remove = remove.reduce((acc, key) => { acc[key] = true; return acc; }, {}); } if (Array.isArray(allowed)) { allowed = allowed.reduce((acc, key) => { acc[key] = true; return acc; }, {}); } const isArray = Array.isArray(props); return Object.entries(props).reduce((acc, _ref) => { var _remove, _allowed; let [k, v] = _ref; if (isArray) { k = v; } if ((typeof remove === 'function' ? !remove(k) : typeof ((_remove = remove) === null || _remove === void 0 ? void 0 : _remove[k]) === 'undefined') || (typeof allowed === 'function' ? allowed(k) : typeof ((_allowed = allowed) === null || _allowed === void 0 ? void 0 : _allowed[k]) !== 'undefined')) { if (isArray) { acc.push(v); } else { acc[k] = v; } } return acc; }, isArray ? [] : {}); } //# sourceMappingURL=filterProps.js.map