48 lines
1.1 KiB
Text
48 lines
1.1 KiB
Text
---
|
|
title: Store.extend()
|
|
---
|
|
|
|
The `Store.extend()` method can be used to extend the store with new
|
|
functionality by passing an array of methods and the path to the location in
|
|
the store where they should be attached. It is typically not used directly, but
|
|
rather through a plugin.
|
|
|
|
## Signature
|
|
|
|
```js
|
|
Store Store.extend(Array methods=[])
|
|
```
|
|
|
|
:::tip
|
|
This method is chainable as it returns the `Store` object
|
|
:::
|
|
|
|
The single argument should be an Array of methods to add to the
|
|
store. Each entry in the array should be an array itself holding a path in
|
|
dot notation and a method, as such:
|
|
|
|
The expected first parameter for the method is the `Store` instance.
|
|
|
|
```js
|
|
function myCustomMethod(store, ...otherArguments) {
|
|
// Do something clever
|
|
}
|
|
|
|
const store = new Store([['path.to.the.method', myCustomMethod]])
|
|
```
|
|
|
|
With the configuration above, you can call `store.path.to.the.method()` and it
|
|
will run `myCustomMethod()`.
|
|
|
|
Stores the value of `value` in the store under key `key`.
|
|
|
|
## Notes
|
|
|
|
The Store will not allow you to extend any of the following keys:
|
|
|
|
- `set`
|
|
- `setIfUnset`
|
|
- `push`
|
|
- `unset`
|
|
- `get`
|
|
- `extend`
|