|
@@ -1,7 +1,21 @@
|
|
|
export default function (Alpine) {
|
|
|
let persist = () => {
|
|
|
let alias
|
|
|
- let storage = localStorage
|
|
|
+ let storage
|
|
|
+
|
|
|
+ try {
|
|
|
+ storage = localStorage
|
|
|
+ } catch (e) {
|
|
|
+ console.error(e)
|
|
|
+ console.warn('Alpine: $persist is using temporary storage since localStorage is unavailable.')
|
|
|
+
|
|
|
+ let dummy = new Map();
|
|
|
+
|
|
|
+ storage = {
|
|
|
+ getItem: dummy.get.bind(dummy),
|
|
|
+ setItem: dummy.set.bind(dummy)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return Alpine.interceptor((initialValue, getter, setter, path, key) => {
|
|
|
let lookup = alias || `_x_${path}`
|