{"version":3,"file":"storage-Dd9OtQTB.js","sources":["../../../../s/QPortal.Frontend/src/composables/storage.ts"],"sourcesContent":["import type { SquareOAuthEnvironment } from \"@app-rest/system/squareOAuth\";\r\nimport { StripeOAuthEnvironment } from \"@app-rest/system/stripe.interfaces\";\r\nimport { IntegrationStatus } from \"@app-views/pos-solution/integration/integration.vue\";\r\n\r\ntype StorageData = {\r\n\tstripeOAuth: {\r\n\t\tEnvironment: StripeOAuthEnvironment\r\n\t\tRedirect: string,\r\n\t\tProvider: string\r\n\t}\r\n\tsquareOAuth: {\r\n\t\tEnvironment: SquareOAuthEnvironment,\r\n\t\tRedirect: string\r\n\t}\r\n\tdismissSquareTutorial: boolean,\r\n\tsquareIntegrationStatus: IntegrationStatus\r\n}\r\n\r\ntype StorageCategory = keyof StorageData;\r\n\r\nexport default function usePersistentStorage(storage: Storage = localStorage) {\r\n\treturn {\r\n\t\tsetItem(name: T, value: StorageData[T]): void {\r\n\t\t\tstorage.setItem(name, JSON.stringify(value));\r\n\t\t},\r\n\t\tgetItem(name: T): StorageData[T] | null {\r\n\t\t\tconst item = storage.getItem(name);\r\n\t\t\treturn item ? JSON.parse(item) : null;\r\n\t\t},\r\n\t\tremoveItem(name: StorageCategory): void {\r\n\t\t\tstorage.removeItem(name);\r\n\t\t}\r\n\t};\r\n}\r\n"],"names":["usePersistentStorage","storage","name","value","item"],"mappings":"AAoBwB,SAAAA,EAAqBC,EAAmB,aAAc,CACtE,MAAA,CACN,QAAmCC,EAASC,EAA6B,CACxEF,EAAQ,QAAQC,EAAM,KAAK,UAAUC,CAAK,CAAC,CAC5C,EACA,QAAmCD,EAAgC,CAC5D,MAAAE,EAAOH,EAAQ,QAAQC,CAAI,EACjC,OAAOE,EAAO,KAAK,MAAMA,CAAI,EAAI,IAClC,EACA,WAAWF,EAA6B,CACvCD,EAAQ,WAAWC,CAAI,CAAA,CAEzB,CACD"}