buildfire.localStorage
Shared Local Storage
LocalStorage works in isolated mode for plugins so that plugin instances don't share the same localStorage
. This behavior is applied on the standard window.localStorage
or using buildfire.localStorage
.
LocalStorage is limited to 2k (2048) characters in length for the plugin instance as a whole. If more storage is required consider using File System.
If you are trying to save data in order for it to be accessable on other plugins, consider using appData
. It has more features, its scalable and persisted.
It is recommended to use buildfire.localStorage
instead of standard window.localStorage
to have access to errors and to avoid browser incompatibilities in the future.
buildfire.localStorage
Acting very similar to window.localStorage
. However, called synchronously with a callback and a return value when applicable.
getItem()
buildfire.localStorage.getItem(key, callback)
Retrieves the previously saved value under this key and returns the value inside the callback.
buildfire.localStorage.getItem("myItem", (error, value) => {
if (error) return console.error("something went wrong!", error);
if (value) {
console.log("myItem: ", value);
} else {
console.log("Nothing was previously saved");
}
});
key
Name | Type | Required | Description | Default |
---|---|---|---|---|
key | string | yes | Unique identifier for your data |
callback(err, value)
Name | Type | Description |
---|---|---|
err | string | error string, null when operation is successful |
value | string | Value saved in localstorage |
setItem()
buildfire.localStorage.setItem(key, value, callback)
This method will tell the app to save the value
under the key
and does not return a value.
buildfire.localStorage.setItem("myItem", "Hello World", (error) => {
if (error) return console.error("something went wrong!", error);
console.log("All is well, data saved and other plugins can now access it");
});
key
Name | Type | Required | Description | Default |
---|---|---|---|---|
key | string | yes | Unique identifier for your data |
value
Name | Type | Required | Description | Default |
---|---|---|---|---|
value | string | yes | Value to be saved in localStorage |
callback(err)
Name | Type | Description |
---|---|---|
err | string | error string, null when operation is successful |
removeItem()
buildfire.localStorage.removeItem(key, callback)
Removes the previously saved value under the key
and does not return a value.
buildfire.localStorage.removeItem("myItem", (error) => {
if (error) return console.error("something went wrong!", error);
console.log("value removed");
});
key
Name | Type | Required | Description | Default |
---|---|---|---|---|
key | string | yes | Unique identifier for your data |
callback(err)
Name | Type | Description |
---|---|---|
err | string | error string, null when operation is successful |
clear()
buildfire.localStorage.clear(callback)
Removes all plugin's localStorage
keys and values. It does not return any value.
buildfire.localStorage.clear((error) => {
if (error) return console.error("something went wrong!", error);
console.log("localStorage cleared");
});
window.localStorage
getItem()
window.localStorage.getItem(key)
Gets the item from local storage
let myItem = window.localStorage.getItem("myItem");
setItem()
window.localStorage.setItem(key, value)
Asigns a new value to local storage item
window.localStorage.setItem("myItem", "newValue");
removeItem()
window.localStorage.removeItem(key)
Removes a value from local storage
window.localStorage.removeItem("myItem");
clear()
window.localStorage.clear()
Clears whole local storage
window.localStorage.clear();
Using indexed syntax []
is not supported and is not persisted in iOS. setItem
and getItem
should be used instead.