📄 useStorageAsync¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 2 |
| 📦 Imports | 14 |
| ⚡ Async/Await Patterns | 1 |
| 📐 Interfaces | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/core/useStorageAsync/index.ts
📦 Imports¶
| Name | Source |
|---|---|
RemovableRef |
@vueuse/shared |
MaybeRefOrGetter |
vue |
StorageLikeAsync |
../ssr-handlers |
SerializerAsync |
../useStorage |
UseStorageOptions |
../useStorage |
watchWithFilter |
@vueuse/shared |
deepRef |
vue |
shallowRef |
vue |
toValue |
vue |
defaultWindow |
../_configurable |
getSSRHandler |
../ssr-handlers |
useEventListener |
../useEventListener |
StorageSerializers |
../useStorage |
guessSerializerType |
../useStorage/guess |
Async/Await Patterns¶
| Type | Function | Await Expressions | Promise Chains |
|---|---|---|---|
| async-function | read |
storage.getItem(key), storage.setItem(key, await serializer.write(rawInit)), ... | none |
Functions¶
useStorageAsync(…): RemovableRef<string> & Promise<RemovableRef<string>>¶
Parameters:
keystringinitialValueMaybeRefOrGetter<string>storageStorageLikeAsyncoptionsUseStorageAsyncOptions<string>
Returns: RemovableRef<string> & Promise<RemovableRef<string>>
Code
Internal helpers¶
Declared inside another function in this file.
read(event: StorageEvent): Promise<void>¶
Parameters:
eventStorageEvent
Returns: Promise<void>
Calls:
storage.getItemstorage.setItemserializer.writeserializer.readmergeDefaultsArray.isArrayonError
Code
async function read(event?: StorageEvent) {
if (!storage || (event && event.key !== key))
return
try {
const rawValue = event ? event.newValue : await storage.getItem(key)
if (rawValue == null) {
data.value = rawInit
if (writeDefaults && rawInit !== null)
await storage.setItem(key, await serializer.write(rawInit))
}
else if (mergeDefaults) {
const value = await serializer.read(rawValue)
if (typeof mergeDefaults === 'function')
data.value = mergeDefaults(value, rawInit)
else if (type === 'object' && !Array.isArray(value))
data.value = { ...(rawInit as any), ...value }
else data.value = value
}
else {
data.value = await serializer.read(rawValue)
}
}
catch (e) {
onError(e)
}
}
Interfaces¶
UseStorageAsyncOptions<T>¶
Interface Code
Properties¶
| Name | Type | Optional | Description |
|---|---|---|---|
serializer |
SerializerAsync<T> |
✓ | not shown |
onReady |
(value: T) => void |
✓ | not shown |
Generated by Syntax Scribe