import _forEach from 'lodash/forEach' import _get from 'lodash/get' export const getFormInitialValues = (fieldsSections: IFormFieldsSection[]) => { const initialValues: { [key: string]: string | number | boolean } = {} const isWindowDefined = typeof window !== 'undefined' const userData = JSON.parse( isWindowDefined ? window.localStorage.getItem('user_data') || '{}' : '{}' ) as IProfileData _forEach(fieldsSections, item => { _forEach(item.fields, fieldItem => { switch (fieldItem.name) { case 'country': case 'numTickets': case 'state': initialValues[fieldItem.name] = '' break case 'brandOptIn': initialValues[fieldItem.name] = true break case 'confirmEmail': initialValues[fieldItem.name] = _get(userData, fieldItem.name) || _get(userData, 'email') || '' break default: initialValues[fieldItem.name] = _get(userData, fieldItem.name) || '' break } }) }) return initialValues }