/
githubmirror
/
client
Обзор
Документация
Войти
/
githubmirror
/
client
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
rnmodules/react-native-kb/src/NativeKb.ts
69 строк
2 KB
chrisnojima
unify video trim + compression across share extension and in-chat attach. misc share fixes (#29485)
06 авг 2026, 18:54
Не верифицирован
06 авг 2026, 18:54
400178f
Код
Авторство
О чём код?
import {TurboModuleRegistry, type TurboModule} from 'react-native' import type {EventEmitter, UnsafeObject} from 'react-native/Libraries/Types/CodegenTypes' export interface Spec extends TurboModule { readonly onMetaEvent: EventEmitter<string> readonly onHardwareKeyPressed: EventEmitter<string> readonly onPasteImage: EventEmitter<Array<string>> readonly onPushNotification: EventEmitter<UnsafeObject> readonly onPushToken: EventEmitter<string> readonly onShareData: EventEmitter<{text?: string; localPaths?: Array<string>}> getTypedConstants(): { androidIsDeviceSecure: boolean androidIsTestDevice: boolean appVersionCode: string appVersionName: string darkModeSupported: boolean fsCacheDir: string fsDownloadDir: string guiConfig: string serverConfig: string uses24HourClock: boolean version: string } logSend( status: string, feedback: string, sendLogs: boolean, sendMaxBytes: boolean, traceDir: string, cpuProfileDir: string ): Promise<string> iosGetHasShownPushPrompt(): Promise<boolean> // iOS only: the Android impl rejects, so call the processMedia wrapper in // index.tsx rather than this directly — it hands the path back untouched off // iOS. startMs/endMs are the trim range, both 0 meaning the whole clip // (codegen only allows plain types here, so no nullable). processMedia( path: string, isVideo: boolean, compress: boolean, startMs: number, endMs: number, removeAudio: boolean ): Promise<string> androidShareText(text: string, mimeType: string): Promise<boolean> androidShare(text: string, mimeType: string): Promise<boolean> androidAddCompleteDownload(o: { description: string mime: string path: string showNotification: boolean title: string }): Promise<void> androidAppColorSchemeChanged(mode: string /*'system' | 'alwaysDark' | 'alwaysLight' | ''*/): void checkPushPermissions(): Promise<boolean> requestPushPermissions(): Promise<boolean> getRegistrationToken(): Promise<string> setApplicationIconBadgeNumber(n: number): void getInitialNotification(): Promise<object | null> removeAllPendingNotificationRequests(): void addNotificationRequest(config: {body: string; id: string}): Promise<void> engineReset(): void notifyJSReady(): void shareListenersRegistered(): void setEnablePasteImage(enabled: boolean): void clearLocalLogs(): Promise<void> } export default TurboModuleRegistry.getEnforcing<Spec>('Kb')