mirror of
https://gitcode.com/gh_mirrors/re/react-native-pushy.git
synced 2025-09-17 20:16:09 +08:00
37 lines
967 B
TypeScript
37 lines
967 B
TypeScript
import { createContext, useContext } from 'react';
|
|
import { CheckResult, ProgressData } from './type';
|
|
import { Pushy } from './client';
|
|
|
|
const noop = () => {};
|
|
const asyncNoop = () => Promise.resolve();
|
|
|
|
export const defaultContext = {
|
|
checkUpdate: asyncNoop,
|
|
switchVersion: noop,
|
|
switchVersionLater: noop,
|
|
markSuccess: noop,
|
|
dismissError: noop,
|
|
downloadUpdate: asyncNoop,
|
|
downloadAndInstallApk: noop,
|
|
currentHash: '',
|
|
packageVersion: '',
|
|
};
|
|
|
|
export const PushyContext = createContext<{
|
|
checkUpdate: () => Promise<void>;
|
|
switchVersion: () => void;
|
|
switchVersionLater: () => void;
|
|
markSuccess: () => void;
|
|
dismissError: () => void;
|
|
downloadUpdate: () => Promise<void>;
|
|
downloadAndInstallApk: (url: string) => void;
|
|
currentHash: string;
|
|
packageVersion: string;
|
|
client?: Pushy;
|
|
progress?: ProgressData;
|
|
updateInfo?: CheckResult;
|
|
lastError?: Error;
|
|
}>(defaultContext);
|
|
|
|
export const usePushy = () => useContext(PushyContext);
|