| 247 | dispatch(state => insert(state, index, ...values)); |
| 248 | }, |
| 249 | insertBefore(key: Key, ...values: T[]) { |
| 250 | dispatch(state => { |
| 251 | let index = state.items.findIndex(item => getKey?.(item) === key); |
| 252 | if (index === -1) { |
| 253 | if (state.items.length === 0) { |
| 254 | index = 0; |
| 255 | } else { |
| 256 | return state; |
| 257 | } |
| 258 | } |
| 259 | |
| 260 | return insert(state, index, ...values); |
| 261 | }); |
| 262 | }, |
| 263 | insertAfter(key: Key, ...values: T[]) { |
| 264 | dispatch(state => { |
| 265 | let index = state.items.findIndex(item => getKey?.(item) === key); |