vue-persistent-storage-manager v3.0.12
Vue plugin that wraps the StorageManager API and provides the state of the
persistent-storagepermission alongside a storage estimate.
Features
- 🔧 Persistent storage: Request and monitor the
persistent-storagepermission. - 💽 Storage estimate: Get storage quota and usage estimates.
- 🔁 Reactive: Provides observable state using Vue's reactivity
- ✔️ SSR: Supports server-side-rendering by validating the availability of the StorageManager API.
Installation
# yarn
$ yarn add vue-persistent-storage-manager
# npm
$ npm install vue-persistent-storage-managerUsage
import Vue from 'vue'
import { VuePersistentStorageManager } from 'vue-persistent-storage-manager'
Vue.use(VuePersistentStorageManager, { watchStorage: true })Options are not required.
In this case, watchStorage will default to false.
Note: If
watchStorageis set totrue, the functionslocalStorage.setItemandlocalStorage.removeItemare replaced by functions that update the StorageEstimate. The original functions will still be called and are available aslocalStorage.originalSetItemandlocalStorage.originalRemoveItem
<template>
<div>
<button
:disabled="!$storageManager.isAvailable || $storageManager.isPersistent"
@click="$storageManager.requestPersistentStorage()"
>
{{
$storageManager.isPersistent
? 'Persistence granted'
: 'Request persistence'
}}
</button>
<p>{{ (100 * $storageEstimate.usage) / $storageEstimate.quota }}%</p>
<p>{{ $storageEstimate.usage / 1000000 }}MB</p>
</div>
</template>Nuxt
- Create the file
plugins/persistentStorageManager.tswith the following content.
import Vue from 'vue'
import { VuePersistentStorageManager } from 'vue-persistent-storage-manager'
export default () => {
Vue.use(VuePersistentStorageManager, { watchStorage: true })
}- Update the
pluginsarray innuxt.config.js.
export default {
plugins: [{ src: '~/plugins/persistentStorageManager.ts' }],
}Development
# install dependencies
$ yarn install
# build for production
$ yarn build
# lint project files
$ yarn lint
# run tests
$ yarn testLicense
MIT - Copyright © Jan Müller
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago