{"version":3,"file":"pinia-plugin-persistedstate.751c4a4b.js","sources":["../../../node_modules/pinia-plugin-persistedstate/dist/index.mjs"],"sourcesContent":["// src/normalize.ts\nfunction isObject(v) {\n return typeof v === \"object\" && v !== null;\n}\nfunction normalizeOptions(options, factoryOptions) {\n options = isObject(options) ? options : /* @__PURE__ */ Object.create(null);\n return new Proxy(options, {\n get(target, key, receiver) {\n if (key === \"key\")\n return Reflect.get(target, key, receiver);\n return Reflect.get(target, key, receiver) || Reflect.get(factoryOptions, key, receiver);\n }\n });\n}\n\n// src/pick.ts\nfunction get(state, path) {\n return path.reduce((obj, p) => {\n return obj == null ? void 0 : obj[p];\n }, state);\n}\nfunction set(state, path, val) {\n return path.slice(0, -1).reduce((obj, p) => {\n if (/^(__proto__)$/.test(p))\n return {};\n else\n return obj[p] = obj[p] || {};\n }, state)[path[path.length - 1]] = val, state;\n}\nfunction pick(baseState, paths) {\n return paths.reduce((substate, path) => {\n const pathArray = path.split(\".\");\n return set(substate, pathArray, get(baseState, pathArray));\n }, {});\n}\n\n// src/plugin.ts\nfunction hydrateStore(store, { storage, serializer, key, debug }) {\n try {\n const fromStorage = storage == null ? void 0 : storage.getItem(key);\n if (fromStorage)\n store.$patch(serializer == null ? void 0 : serializer.deserialize(fromStorage));\n } catch (error) {\n if (debug)\n console.error(error);\n }\n}\nfunction persistState(state, { storage, serializer, key, paths, debug }) {\n try {\n const toStore = Array.isArray(paths) ? pick(state, paths) : state;\n storage.setItem(key, serializer.serialize(toStore));\n } catch (error) {\n if (debug)\n console.error(error);\n }\n}\nfunction createPersistedState(factoryOptions = {}) {\n return (context) => {\n const { auto = false } = factoryOptions;\n const {\n options: { persist = auto },\n store\n } = context;\n if (!persist)\n return;\n const persistences = (Array.isArray(persist) ? persist.map((p) => normalizeOptions(p, factoryOptions)) : [normalizeOptions(persist, factoryOptions)]).map(\n ({\n storage = localStorage,\n beforeRestore = null,\n afterRestore = null,\n serializer = {\n serialize: JSON.stringify,\n deserialize: JSON.parse\n },\n key = store.$id,\n paths = null,\n debug = false\n }) => {\n var _a;\n return {\n storage,\n beforeRestore,\n afterRestore,\n serializer,\n key: ((_a = factoryOptions.key) != null ? _a : (k) => k)(key),\n paths,\n debug\n };\n }\n );\n store.$persist = () => {\n persistences.forEach((persistence) => {\n persistState(store.$state, persistence);\n });\n };\n store.$hydrate = ({ runHooks = true } = {}) => {\n persistences.forEach((persistence) => {\n const { beforeRestore, afterRestore } = persistence;\n if (runHooks)\n beforeRestore == null ? void 0 : beforeRestore(context);\n hydrateStore(store, persistence);\n if (runHooks)\n afterRestore == null ? void 0 : afterRestore(context);\n });\n };\n persistences.forEach((persistence) => {\n const { beforeRestore, afterRestore } = persistence;\n beforeRestore == null ? void 0 : beforeRestore(context);\n hydrateStore(store, persistence);\n afterRestore == null ? void 0 : afterRestore(context);\n store.$subscribe(\n (_mutation, state) => {\n persistState(state, persistence);\n },\n {\n detached: true\n }\n );\n });\n };\n}\n\n// src/index.ts\nvar src_default = createPersistedState();\nexport {\n createPersistedState,\n src_default as default\n};\n"],"names":["isObject","v","normalizeOptions","options","factoryOptions","target","key","receiver","get","state","path","obj","p","set","val","pick","baseState","paths","substate","pathArray","hydrateStore","store","storage","serializer","debug","fromStorage","error","persistState","toStore","createPersistedState","context","auto","persist","persistences","beforeRestore","afterRestore","_a","k","persistence","runHooks","_mutation"],"mappings":"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"}