Ergonomic WebExtension storage helper.
https://www.npmjs.com/package/@holllo/webextension-storage
Bauke 137c8eb290 | ||
---|---|---|
source | ||
tests | ||
.gitignore | ||
LICENSE | ||
README.md | ||
esbuild.ts | ||
package.json | ||
pnpm-lock.yaml | ||
tsconfig.json |
README.md
@holllo/webextension-storage 🗃
Ergonomic WebExtension storage helper.
Example
import {createValue} from "@holllo/webextension-storage";
const updatedDate = await createValue<Date>({
// A function that deserializes a string from storage to convert to the wanted
// type.
deserialize: (value) => new Date(value),
// A function that serializes the type to a string to be set in storage.
serialize: (date) => date.toISOString(),
// The key to get from storage.
key: "updatedDate",
// The StorageArea to use, defaults to local.
storage: browser.storage.sync,
// The value to use if there is none in storage.
value: new Date(),
});
// Get the inner value.
console.log(updatedDate.value);
// Set the inner value.
updatedDate.value = new Date();
// Save the value to storage.
await updatedDate.save();
// Remove the value from storage.
await updatedDate.remove();
License
Distributed under the AGPL-3.0-or-later license, see LICENSE for more information.