@roochnetwork/rooch-sdk-kit
Version:
Rooch SDK Kit
41 lines (40 loc) • 1.02 kB
JavaScript
// src/utils/stateStorage.ts
function createInMemoryStore() {
const store = /* @__PURE__ */ new Map();
return {
getItem(key) {
return store.get(key);
},
setItem(key, value) {
store.set(key, value);
},
removeItem(key) {
store.delete(key);
}
};
}
var StorageType = /* @__PURE__ */ ((StorageType2) => {
StorageType2[StorageType2["Session"] = 0] = "Session";
StorageType2[StorageType2["Local"] = 1] = "Local";
return StorageType2;
})(StorageType || {});
function getDefaultStorage(type) {
let storage;
switch (type) {
case 0 /* Session */:
storage = typeof window !== "undefined" && window.sessionStorage ? sessionStorage : void 0;
break;
case 1 /* Local */:
storage = typeof window !== "undefined" && window.localStorage ? localStorage : void 0;
}
if (!storage) {
storage = createInMemoryStore();
}
return storage;
}
export {
StorageType,
createInMemoryStore,
getDefaultStorage
};
//# sourceMappingURL=stateStorage.js.map