Skip to content

API > @wxt-dev/storage > WxtStorage

Interface: WxtStorage

Contents

Methods

defineItem()

defineItem(key)

defineItem<TValue, TMetadata>(key): WxtStorageItem<null | TValue, TMetadata>

Define a storage item with a default value, type, or versioning.

Read full docs: https://wxt.dev/guide/extension-apis/storage.html#defining-storage-items

Type parameters

TValue

TMetadata extends Record<string, unknown> = object

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

Source

packages/storage/dist/index.d.mts:139

defineItem(key, options)

defineItem<TValue, TMetadata>(key, options): WxtStorageItem<TValue, TMetadata>

Type parameters

TValue

TMetadata extends Record<string, unknown> = object

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

options: WxtStorageItemOptions<TValue>

Source

packages/storage/dist/index.d.mts:140


getItem()

getItem(key, opts)

getItem<TValue>(key, opts): Promise<TValue>

Get an item from storage, or return null if it doesn't exist.

Type parameters

TValue

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

opts: GetItemOptions<TValue> & object

Returns
Example
ts
await storage.getItem<number>("local:installDate");
Source

packages/storage/dist/index.d.mts:9

getItem(key, opts)

getItem<TValue>(key, opts?): Promise<null | TValue>

Type parameters

TValue

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

opts?: GetItemOptions<TValue>

Source

packages/storage/dist/index.d.mts:12


getItems()

getItems(keys): Promise<object[]>

Get multiple items from storage. The return order is guaranteed to be the same as the order requested.

Parameters

keys: (`local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}` | WxtStorageItem<any, any> | object)[]

Returns

Example

ts
await storage.getItems(["local:installDate", "session:someCounter"]);

Source

packages/storage/dist/index.d.mts:20


getMeta()

getMeta<T>(key): Promise<T>

Return an object containing metadata about the key. Object is stored at key + "$". If value is not an object, it returns an empty object.

Type parameters

T extends Record<string, unknown>

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

Returns

Example

ts
await storage.getMeta("local:installDate");

Source

packages/storage/dist/index.d.mts:34


getMetas()

getMetas(keys): Promise<object[]>

Get the metadata of multiple storage items.

Parameters

keys: (`local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}` | WxtStorageItem<any, any>)[]

Returns

An array containing storage keys and their metadata.

Source

packages/storage/dist/index.d.mts:41


removeItem()

removeItem(key, opts?): Promise<void>

Removes an item from storage.

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

opts?: RemoveItemOptions

Returns

Example

ts
await storage.removeItem("local:installDate");

Source

packages/storage/dist/index.d.mts:95


removeItems()

removeItems(keys): Promise<void>

Remove a list of keys from storage.

Parameters

keys: (`local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}` | WxtStorageItem<any, any> | object | object)[]

Source

packages/storage/dist/index.d.mts:99


removeMeta()

removeMeta(key, properties?): Promise<void>

Remove the entire metadata for a key, or specific properties by name.

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

properties?: string | string[]

Returns

Example

ts
// Remove all metadata properties from the item
await storage.removeMeta("local:installDate");

// Remove only specific the "v" field
await storage.removeMeta("local:installDate", "v")

Source

packages/storage/dist/index.d.mts:116


restoreSnapshot()

restoreSnapshot(base, data): Promise<void>

Restores the results of snapshot. If new properties have been saved since the snapshot, they are not overridden. Only values existing in the snapshot are overridden.

Parameters

base: StorageArea

data: any

Source

packages/storage/dist/index.d.mts:125


setItem()

setItem<T>(key, value): Promise<void>

Set a value in storage. Setting a value to null or undefined is equivalent to calling removeItem.

Type parameters

T

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

value: null | T

Returns

Example

ts
await storage.setItem<number>("local:installDate", Date.now());

Source

packages/storage/dist/index.d.mts:52


setItems()

setItems(values): Promise<void>

Set multiple values in storage. If a value is set to null or undefined, the key is removed.

Parameters

values: (object | object)[]

Returns

Example

ts
await storage.setItem([
  { key: "local:installDate", value: Date.now() },
  { key: "session:someCounter, value: 5 },
]);

Source

packages/storage/dist/index.d.mts:62


setMeta()

setMeta<T>(key, properties): Promise<void>

Sets metadata properties. If some properties are already set, but are not included in the properties parameter, they will not be removed.

Type parameters

T extends Record<string, unknown>

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

properties: null | T

Returns

Example

ts
await storage.setMeta("local:installDate", { appVersion });

Source

packages/storage/dist/index.d.mts:76


setMetas()

setMetas(metas): Promise<void>

Set the metadata of multiple storage items.

Parameters

metas: (object | object)[]

Source

packages/storage/dist/index.d.mts:82


snapshot()

snapshot(base, opts?): Promise<Record<string, unknown>>

Return all the items in storage.

Parameters

base: StorageArea

opts?: SnapshotOptions

Source

packages/storage/dist/index.d.mts:120


unwatch()

unwatch(): void

Remove all watch listeners.

Source

packages/storage/dist/index.d.mts:133


watch()

watch<T>(key, cb): Unwatch

Watch for changes to a specific key in storage.

Type parameters

T

Parameters

key: `local:${string}` | `sync:${string}` | `managed:${string}` | `session:${string}`

cb: WatchCallback<null | T>

Source

packages/storage/dist/index.d.mts:129


Generated using typedoc-plugin-markdown and TypeDoc