It provides CRUD methods for objects saved in memory.
Read the Data Provider docs to learn how to use addons.
When querying providers created with this addon, the query object can have one of the next properties:
prop
(String): Specific property of the object to be accessed.
import { Memory } from "@data-provider/memory";
const sessionStatus = new Memory("session-status", {
initialState: {
data: {
loggedIn: false
}
}
});
sessionStatus.query({ prop: "loggedIn" }).update(true);
sessionStatus.query({ prop: "loggedIn" }).read().then(result => {
console.log("Is logged in", result);
// true
});
Apart of the common Data Provider methods, next ones are available:
Updates an specific property of the stored object when the provider is queried, or the full object when not. When the object is modified, it will automatically cleans the cache of the provider and also the cache of the parent provider when it is queried (as modifying a property also modifies the full object).
data
(Any): New data to be set.
// modifies an specific property
sessionStatus.query({ prop: "loggedIn" }).update(true);
// Overwrites full object
sessionStatus.update({
loggedIn: true
});
Removes an specific property of the stored object when the provider is queried, or sets the full object as empty when not. When the object is modified, it will automatically cleans the cache of the provider and also the cache of the parent provider when it is queried (as deleting a property also modifies the full object).
// removes an specific property
sessionStatus.query({ prop: "loggedIn" }).delete();
// Sets the full object as {}
sessionStatus.delete();
Providers created with this addon will have automatically the memory
tag, so you can select all of them together using the providers
methods as in:
import { providers } from "@data-provider/core";
providers.getByTag("memory").cleanCache();
Contributors are welcome. Please read the contributing guidelines and code of conduct.