UNPKG

@applicaster/zapp-react-native-bridge

Version:

Applicaster Zapp React Native modules

72 lines (59 loc) 1.93 kB
import { logError } from "./logger"; const bridgeNotFountMessage = (storage: string) => `${storage} native module not found`; class BridgeNotFound extends Error { constructor(storage: string) { super(bridgeNotFountMessage(storage)); logError(storage, this); } } export function throwBridgeNotFoundError(storage: string) { // @ts-ignore if (process.env.NODE_ENV === "test") return; throw new BridgeNotFound(storage); } class UndefinedKeyError extends Error { constructor(message, storage: string) { super(message); logError(storage, this); } } export function throwUndefinedKeyError(storage: string, message: string) { throw new UndefinedKeyError(message, storage); } class UndefinedValueError extends Error { constructor(message, _storage: string, key) { super(message); logError(message, this, { key }); } } export function throwUndefinedValueError(storage, message, key) { throw new UndefinedValueError(message, storage, key); } class NativeStorageError extends Error { constructor(message, storage: string, data: Record<string, any>) { super(message); logError(storage, this, data); } } export function throwNativeStorageError( storage: string, message: string, key: string, namespace: string = "Applicaster.v2", value?: any ) { throw new NativeStorageError(message, storage, { key, namespace, value }); } export const getItemError = ({ message }: Error, secure = false) => `An error occured while getting an item from native${ secure ? " secure" : "" } storage: ${message}`; export const setItemError = ({ message }: Error, secure = false) => `An error occured while setting an item in native${ secure ? " secure" : "" } storage: ${message}`; export const removeItemError = ({ message }: Error, secure = false) => `An error occured while removing an item from native${ secure ? " secure" : "" } storage: ${message}`;