New in 0.19
A Context Storage plugin is a node.js module that exposes a function on its module.exports
that can be used to create new instances of the plugin. The object returned by the
function must have the following functions:
Function | Description |
---|---|
ContextStore.open() | Open the storage ready for use |
ContextStore.close() | Close the storage |
ContextStore.get(scope, key, callback) | Get values from the store |
ContextStore.set(scope, key, value, callback) | Set values in the store |
ContextStore.keys(scope, callback) | Get a list of all keys in the store |
ContextStore.delete(scope) | Delete all keys for a given scope |
ContextStore.clean(activeNodes) | Clean the context store |
Open the storage ready for use. This is called before any store values are accessed.
Returns a Promise
that resolves when the store is ready for access.
Called when the runtime is stopped so no further key values will be accessed.
Returns a Promise
that resolves with the store is closed.
Argument | Description |
---|---|
scope | the scope of the key |
key | the key, or array of keys, to return the value(s) for. |
callback | optional a callback function to invoke with the key value |
The key
argument can be either a String identifying a single key, or an Array
of Strings identifying multiple keys to return the values for.
If the optional callback
argument is provided, it must be a function that takes
two or more arguments:
function callback(error, value1, value2, ... ) {
}
If no callback is provided, and the store supports synchronous access, the
get
function should return the individual value, or array of values for the keys.
If the store does not support synchronous access it should throw an error.
Argument | Description |
---|---|
scope | the scope of the key |
key | the key, or array of keys, to set the value(s) for. |
value | the value, or array of values |
callback | optional a callback function to invoke when the value is set |
The key
argument can be either a String identifying a single key, or an Array
of Strings identifying multiple keys to set.
key |
value |
Action |
---|---|---|
String | Any | Stores value under key |
Array | Array | Stores each element of the value array under the corresponding key value. If value has fewer elements than key , it sets the missing values to null . |
Array | not-Array | Stores value as the value of the first key - uses null for any remaining keys. |
If the optional callback
argument is provided, it will be called when the value
has been stored. It takes a single argument, error
, to indicate any errors hit
whilst storing the values.
function callback(error) {
}
If no callback is provided, and the store supports synchronous access, the
set
function should return once the value is stored. If the store does not support
synchronous access it should throw an error.
Argument | Description |
---|---|
scope | the scope of the keys to return |
callback | optional a callback function to invoke with the list of keys |
Gets a list of all keys under the given scope.
If the optional callback
argument is provided, it must be a function that takes
two or more arguments:
function callback(error, keys) {
}
If no callback is provided, and the store supports synchronous access, the
keys
function should return the array of keys. If the store does not support
synchronous access it should throw an error.
Argument | Description |
---|---|
scope | the scope to delete |
Argument | Description |
---|---|
activeNodes | a list of all node/flow ids that are still active |
Returns a promise that resolves when store has removed any context scopes that
are no longer required. The activeNodes
list can be used to identify what nodes
and flows are still considered active.
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy