Skip to content

Commit f39a609

Browse files
committed
refactor(useForm): improve defaults update logic
Refactor the logic for updating form defaults to handle single and multiple field updates more clearly. This change improves code readability and ensures that defaults are always cloned before modification.
1 parent 2901ea6 commit f39a609

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

packages/svelte5/src/useForm.svelte.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,16 @@ export default function useForm<TForm extends FormDataType<TForm>>(
127127

128128
if (typeof fieldOrFields === 'undefined') {
129129
defaults = cloneDeep(getData())
130+
} else if (typeof fieldOrFields === 'string') {
131+
// Update single field
132+
const newDefaults = cloneDeep(defaults)
133+
set(newDefaults, fieldOrFields, maybeValue)
134+
defaults = newDefaults
130135
} else {
131-
defaults =
132-
typeof fieldOrFields === 'string'
133-
? set(cloneDeep(defaults), fieldOrFields, maybeValue)
134-
: Object.assign(cloneDeep(defaults), fieldOrFields)
136+
// Update multiple fields
137+
const newDefaults = cloneDeep(defaults)
138+
Object.assign(newDefaults, fieldOrFields)
139+
defaults = newDefaults
135140
}
136141

137142
return form

0 commit comments

Comments
 (0)