@applicaster/zapp-react-native-bridge
Version:
Applicaster Zapp React Native modules
44 lines (36 loc) • 1.06 kB
text/typescript
/* eslint-disable brace-style */
import {
SecureStorageMock,
StorageMock,
toObject,
DEFAULT_NAMESPACE,
} from "./storageMock";
class AndroidLocalStorage
extends SecureStorageMock
implements NativeAndroidLocalStorageI
{
async getNamespace(namespace = DEFAULT_NAMESPACE) {
if (!this.items.has(namespace || DEFAULT_NAMESPACE)) {
throw new Error("namespace not found");
}
return Promise.resolve({
[".namespace"]: namespace, // eslint-disable-line no-useless-computed-key
...toObject(this.items.get(namespace || DEFAULT_NAMESPACE)),
});
}
}
class AndroidSessionStorage
extends StorageMock
implements NativeSessionStorageI
{
async getAllItems(namespace = DEFAULT_NAMESPACE) {
if (!this.items.has(namespace || DEFAULT_NAMESPACE)) {
throw new Error("namespace not found");
}
return Promise.resolve(
toObject(this.items.get(namespace || DEFAULT_NAMESPACE))
);
}
}
export const localStorage = new AndroidLocalStorage();
export const sessionStorage = new AndroidSessionStorage();