Little function to call mutate against multiple cached keys of SWR.
Install it
$ yarn add swr swr-mutate-many
Import it and use it
import { mutateMany } from 'swr-mutate-many';
mutateMany('key-*', 'New Value', false);
Now mutateMany will change the value of any key matching the glob key-*
(any starting with key-
) to have the value "New Value"
and it won't trigger a revalidation.
mutateMany follow a similar API as SWR mutate.
- The key to mutate, in our case it could be:
- A string supporting globs to match the key, useful for simple logic
- A function which will receive the key and should return true/false if it matches, useful for complex logic
- The new value to use, a promise whose resolved value will be used or a function receiving the current value
- If the keys should be revalidated, in our case it could be:
- A boolean, as in mutate, useful if you want all to revalidate or not
- A function, which will receive the key and return a boolean, useful for complext logic