FreeSewing plugins can provide store methods, which facilitate data handling within a pattern.
Signature
To provide one or more store methods, your plugin should have a store
property that
is an array where each member is itself an array with two members:
- The first member holds the key to attach the method to (in dot notation)
- The second member holds the method to attach
mjs
const myPlugin = {
name: 'example',
version: '0.0.1',
store: [
[
'log.panic',
function(store, ...params
) {
store.setIfUnset('logs.panic', new Array())
store.push(...params)
}
]
}
}
Arguments
All store methods receive at least two arguments:
store
: The store object itself...params
: All additional plugins that were passed to the store method
Overwriting store methods
You are allowed to overwrite existing store methods.
As it happens, this is how you should implement a custom logging solution,
by overwriting the logging methods under the store’s log
key,
However, the following store methods cannot be overwritten:
extend()
get()
push()
set()
setIfUnset()
unset()
Return value
Store methods do not need to return anything. If they do, it will be ignored.