1
Fork 0
webextension-storage/README.md

1.1 KiB

@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.