forked from final-form/final-form-arrays
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.d.test.ts
30 lines (25 loc) · 1020 Bytes
/
index.d.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// tslint:disable no-console
import { Config, createForm, AnyObject } from 'final-form'
import arrayMutators from './index'
import { Mutators } from './index'
const onSubmit: Config['onSubmit'] = (values, callback) => {}
const form = createForm({
mutators: { ...arrayMutators },
onSubmit
})
// Get form.mutators (default as object) and cast to Mutators
const mutators: Mutators = (form.mutators as any) as Mutators
mutators.insert('customers', 0, { firstName: '', lastName: '' })
mutators.concat('customers', [
{ firstName: '', lastName: '' },
{ firstName: '', lastName: '' }
])
mutators.move('customers', 0, 1)
const customer = mutators.pop('customers')
mutators.push('customers', { firstName: '', lastName: '' })
mutators.removeBatch('customers', [0])
const removed = mutators.remove('customers', 0)
const shifted = mutators.shift('customers')
mutators.swap('customers', 0, 1)
mutators.update('customers', 0, { firstName: '', lastName: '' })
mutators.unshift('customers', { firstName: '', lastName: '' })