summaryrefslogtreecommitdiff
path: root/packages/frontend/src/local-storage.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/local-storage.ts')
-rw-r--r--packages/frontend/src/local-storage.ts24
1 files changed, 18 insertions, 6 deletions
diff --git a/packages/frontend/src/local-storage.ts b/packages/frontend/src/local-storage.ts
index 8029bca68d..5b8ba77e01 100644
--- a/packages/frontend/src/local-storage.ts
+++ b/packages/frontend/src/local-storage.ts
@@ -3,7 +3,7 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
-type Keys =
+export type Keys =
'v' |
'lastVersion' |
'instance' |
@@ -38,12 +38,22 @@ type Keys =
`aiscript:${string}` |
'lastEmojisFetchedAt' | // DEPRECATED, stored in indexeddb (13.9.0~)
'emojis' | // DEPRECATED, stored in indexeddb (13.9.0~);
- `channelLastReadedAt:${string}`
+ `channelLastReadedAt:${string}` |
+ `idbfallback::${string}`
+
+// セッション毎に廃棄されるLocalStorage代替(セーフモードなどで使用できそう)
+//const safeSessionStorage = new Map<Keys, string>();
export const miLocalStorage = {
- getItem: (key: Keys): string | null => window.localStorage.getItem(key),
- setItem: (key: Keys, value: string): void => window.localStorage.setItem(key, value),
- removeItem: (key: Keys): void => window.localStorage.removeItem(key),
+ getItem: (key: Keys): string | null => {
+ return window.localStorage.getItem(key);
+ },
+ setItem: (key: Keys, value: string): void => {
+ window.localStorage.setItem(key, value);
+ },
+ removeItem: (key: Keys): void => {
+ window.localStorage.removeItem(key);
+ },
getItemAsJson: (key: Keys): any | undefined => {
const item = miLocalStorage.getItem(key);
if (item === null) {
@@ -51,5 +61,7 @@ export const miLocalStorage = {
}
return JSON.parse(item);
},
- setItemAsJson: (key: Keys, value: any): void => window.localStorage.setItem(key, JSON.stringify(value)),
+ setItemAsJson: (key: Keys, value: any): void => {
+ miLocalStorage.setItem(key, JSON.stringify(value));
+ },
};