@nitrogenbuilder/client-react
Version:
Nitrogen Builder React Client
16 lines (15 loc) • 588 B
JavaScript
export function getDefault(prop, def) {
if (def === undefined || def === null || def === '') {
return prop;
}
if (prop === undefined || prop === null) {
return def;
}
if (typeof prop === 'object') {
if (typeof def === 'object') {
return { ...def, ...prop }; // TODO: If this is a responsive prop, merge mobile first. So if prop.mobile is set, we DO NOT use def.desktop. If prop.laptop is set, we DO use def.mobile.
}
throw new Error("Default value should be responsive, but it ain't bruh");
}
return prop;
}