UNPKG

@fastnear/wallet-adapter

Version:

Wallet adapter implementations for Meteor Wallet and Near Mobile

1 lines 2.22 kB
{"version":3,"sources":["../../src/storage.ts"],"sourcesContent":["import type { AdapterStorage } from \"./types.js\";\n\nconst isStorageAvailable = () => {\n return typeof window !== \"undefined\" && window.localStorage != null;\n};\n\nexport const createDefaultStorage = (): AdapterStorage => {\n if (!isStorageAvailable()) {\n const mem = new Map<string, string>();\n return {\n get: (key: string) => mem.get(key) ?? null,\n set: (key: string, value: string) => {\n mem.set(key, value);\n },\n remove: (key: string) => {\n mem.delete(key);\n },\n };\n }\n\n return {\n get: (key: string) => window.localStorage.getItem(key),\n set: (key: string, value: string) => window.localStorage.setItem(key, value),\n remove: (key: string) => window.localStorage.removeItem(key),\n };\n};\n\nexport const readJson = async <T>(storage: AdapterStorage, key: string, fallback: T): Promise<T> => {\n try {\n const raw = await storage.get(key);\n if (raw == null) return fallback;\n return JSON.parse(raw) as T;\n } catch {\n return fallback;\n }\n};\n\nexport const writeJson = async <T>(storage: AdapterStorage, key: string, value: T): Promise<void> => {\n await storage.set(key, JSON.stringify(value));\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,qBAAqB,6BAAM;AAC/B,SAAO,OAAO,WAAW,eAAe,OAAO,gBAAgB;AACjE,GAF2B;AAIpB,MAAM,uBAAuB,6BAAsB;AACxD,MAAI,CAAC,mBAAmB,GAAG;AACzB,UAAM,MAAM,oBAAI,IAAoB;AACpC,WAAO;AAAA,MACL,KAAK,wBAAC,QAAgB,IAAI,IAAI,GAAG,KAAK,MAAjC;AAAA,MACL,KAAK,wBAAC,KAAa,UAAkB;AACnC,YAAI,IAAI,KAAK,KAAK;AAAA,MACpB,GAFK;AAAA,MAGL,QAAQ,wBAAC,QAAgB;AACvB,YAAI,OAAO,GAAG;AAAA,MAChB,GAFQ;AAAA,IAGV;AAAA,EACF;AAEA,SAAO;AAAA,IACL,KAAK,wBAAC,QAAgB,OAAO,aAAa,QAAQ,GAAG,GAAhD;AAAA,IACL,KAAK,wBAAC,KAAa,UAAkB,OAAO,aAAa,QAAQ,KAAK,KAAK,GAAtE;AAAA,IACL,QAAQ,wBAAC,QAAgB,OAAO,aAAa,WAAW,GAAG,GAAnD;AAAA,EACV;AACF,GAnBoC;AAqB7B,MAAM,WAAW,8BAAU,SAAyB,KAAa,aAA4B;AAClG,MAAI;AACF,UAAM,MAAM,MAAM,QAAQ,IAAI,GAAG;AACjC,QAAI,OAAO,KAAM,QAAO;AACxB,WAAO,KAAK,MAAM,GAAG;AAAA,EACvB,QAAQ;AACN,WAAO;AAAA,EACT;AACF,GARwB;AAUjB,MAAM,YAAY,8BAAU,SAAyB,KAAa,UAA4B;AACnG,QAAM,QAAQ,IAAI,KAAK,KAAK,UAAU,KAAK,CAAC;AAC9C,GAFyB;","names":[]}