UNPKG

@cran/vue.use

Version:

Cranberry Vue Use Utilities

25 lines (24 loc) 893 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useStorage = void 0; const storage_1 = require("@capacitor/storage"); const runtime_dom_1 = require("@vue/runtime-dom"); const refMap = {}; async function useStorage(key) { if (key in refMap) { const container = refMap[key] = (0, runtime_dom_1.ref)(); (0, runtime_dom_1.watch)(container, function onRefChange(next) { if (next === undefined) { void storage_1.Storage.remove({ key, }); } else { void storage_1.Storage.set({ key, value: JSON.stringify(next), }); } }); await storage_1.Storage.get({ key, }).then(function onGet({ value, }) { container.value = null != value ? JSON.parse(value) : undefined; }); } return refMap[key]; } exports.useStorage = useStorage;