react-native-flix-codepush
Version:
A modern CodePush implementation for React Native applications
26 lines (24 loc) • 1.08 kB
text/typescript
import { TurboModuleRegistry } from 'react-native';
import type { TurboModule } from 'react-native/Libraries/TurboModule/RCTExport';
import type {
CodePushConfig,
CodePushLocalPackage,
CodePushRemotePackage
} from './types';
export interface Spec extends TurboModule {
getUpdateMetadata(): Promise<CodePushLocalPackage | null>;
installUpdate(packageHash: string, installMode: string): Promise<void>;
restartApp(onlyIfUpdateIsPending: boolean): Promise<void>;
downloadUpdate(updatePackage: CodePushRemotePackage): Promise<CodePushLocalPackage>;
processPackage(packageData: ArrayBuffer, packageHash: string, updatePackage: CodePushRemotePackage): Promise<CodePushLocalPackage>;
getConfiguration(): Promise<CodePushConfig>;
getAppVersion(): Promise<string>;
getDeviceId(): Promise<string>;
saveUpdateMetadata(updatePackage: CodePushLocalPackage): Promise<void>;
clearUpdates(): Promise<void>;
getConstants(): {
isNewArchitectureEnabled: boolean;
isHermesEnabled: boolean;
};
}
export default TurboModuleRegistry.getEnforcing<Spec>('FlixCodePush');