@markvivanco/app-version-checker
Version:
React App version checking and update prompts for React, React Native, and web applications
63 lines (57 loc) • 2.34 kB
TypeScript
import { B as BaseStorageProvider } from '../../storage-provider.interface-BSIiOlJN.js';
/**
* LocalStorage implementation of IStorageProvider
* For use in web browsers
*/
declare class LocalStorageProvider extends BaseStorageProvider {
private readonly prefix;
constructor(prefix?: string);
private getKey;
getLastCheckTime(): Promise<number | null>;
setLastCheckTime(timestamp: number): Promise<void>;
getRemindLaterTime(): Promise<number | null>;
setRemindLaterTime(timestamp: number): Promise<void>;
clearRemindLaterTime(): Promise<void>;
getDismissCount(): Promise<number>;
incrementDismissCount(): Promise<void>;
getLastShownVersion(): Promise<string | null>;
setLastShownVersion(version: string): Promise<void>;
getAutoUpdateEnabled(): Promise<boolean>;
setAutoUpdateEnabled(enabled: boolean): Promise<void>;
getAllPreferences(): Promise<Record<string, any>>;
clearAll(): Promise<void>;
}
/**
* AsyncStorage implementation of IStorageProvider
* For use with React Native AsyncStorage or similar async storage APIs
*/
/**
* Interface matching React Native AsyncStorage API
*/
interface IAsyncStorage {
getItem(key: string): Promise<string | null>;
setItem(key: string, value: string): Promise<void>;
removeItem(key: string): Promise<void>;
getAllKeys?(): Promise<string[]>;
multiRemove?(keys: string[]): Promise<void>;
}
declare class AsyncStorageProvider extends BaseStorageProvider {
private readonly storage;
private readonly prefix;
constructor(storage: IAsyncStorage, prefix?: string);
private getKey;
getLastCheckTime(): Promise<number | null>;
setLastCheckTime(timestamp: number): Promise<void>;
getRemindLaterTime(): Promise<number | null>;
setRemindLaterTime(timestamp: number): Promise<void>;
clearRemindLaterTime(): Promise<void>;
getDismissCount(): Promise<number>;
incrementDismissCount(): Promise<void>;
getLastShownVersion(): Promise<string | null>;
setLastShownVersion(version: string): Promise<void>;
getAutoUpdateEnabled(): Promise<boolean>;
setAutoUpdateEnabled(enabled: boolean): Promise<void>;
getAllPreferences(): Promise<Record<string, any>>;
clearAll(): Promise<void>;
}
export { AsyncStorageProvider, type IAsyncStorage, LocalStorageProvider };