UNPKG

cheetah-framework

Version:

Cheetah Framework JS used in all our applications

55 lines (45 loc) 1.07 kB
import Vue from 'vue' const STORAGE_KEY = 'cheetah_data_store' function loadFromStorage () { try { const data = localStorage.getItem(STORAGE_KEY) return data ? JSON.parse(data) : {} } catch (e) { console.error('Failed to load data store from localStorage:', e) return {} } } function saveToStorage (data) { try { localStorage.setItem(STORAGE_KEY, JSON.stringify(data)) } catch (e) { console.error('Failed to save data store to localStorage:', e) } } export default new Vue({ data () { return { state: loadFromStorage() } }, methods: { add (key, value) { this.$set(this.state, key, value) saveToStorage(this.state) }, get (key) { return this.state[key] }, remove (key) { this.$delete(this.state, key) saveToStorage(this.state) }, clear () { Object.keys(this.state).forEach(key => this.$delete(this.state, key)) saveToStorage(this.state) }, has (key) { return Object.prototype.hasOwnProperty.call(this.state, key) } } })