import type { Prop } from '@nitrogenbuilder/types'; export function getDefault(prop: any, propV: Prop) { const def = propV.default ?? ''; if (def === undefined || def === null || def === '') { return prop; } if (prop === undefined || prop === null) { return def; } if (typeof prop === 'object') { if (typeof def === 'object') { if (propV.responsive) { if ('mobile' in prop) { return { ...prop }; } let returnObject: any = {}; if ('mobile' in def) { returnObject.mobile = def.mobile; } if ('tablet' in prop) { return { ...returnObject, ...prop }; } if ('tablet' in def) { returnObject.tablet = def.tablet; } if ('laptop' in prop) { return { ...returnObject, ...prop }; } } return { ...def, ...prop }; } throw new Error( "Default value should be responsive, but it ain't bruh. " + JSON.stringify(prop, null, 2) + JSON.stringify(propV, null, 2) ); } return prop; }