UNPKG

@nitrogenbuilder/client-react

Version:

Nitrogen Builder React Client

24 lines (23 loc) 677 B
export function getDefault(prop, def) { if (def === undefined || def === null) { return prop; } if (prop === undefined || prop === null || (typeof prop === 'object' && Object.keys(prop).length === 0)) { return def; } return prop; } export default function getProps(props, defaults) { if (!defaults) return props; let newProps = {}; let keys = Object.keys(props); // merge default keys into keys keys = keys.concat(Object.keys(defaults).filter((key) => !keys.includes(key))); keys.forEach((key) => { newProps[key] = getDefault(props[key], defaults[key]); }); return newProps; }