From 8a1b68be3a64e5d2aa1070f68cc935d668a976ad Mon Sep 17 00:00:00 2001 From: Carlos Q Date: Fri, 26 Jul 2019 22:46:37 +0200 Subject: [PATCH] [react-native-incall-manager] New types definition (#37156) * Add locales property * Add member in definitions by * reverse * RN-incall-manager type definition * Remove public * Fix array declaration * Add static * Fix static, in test do a new * reverse * Class to instance of class --- types/react-native-incall-manager/index.d.ts | 68 +++++++++++++++++++ .../react-native-incall-manager-tests.ts | 43 ++++++++++++ .../react-native-incall-manager/tsconfig.json | 23 +++++++ types/react-native-incall-manager/tslint.json | 1 + 4 files changed, 135 insertions(+) create mode 100644 types/react-native-incall-manager/index.d.ts create mode 100644 types/react-native-incall-manager/react-native-incall-manager-tests.ts create mode 100644 types/react-native-incall-manager/tsconfig.json create mode 100644 types/react-native-incall-manager/tslint.json diff --git a/types/react-native-incall-manager/index.d.ts b/types/react-native-incall-manager/index.d.ts new file mode 100644 index 0000000000..f2d6535b1c --- /dev/null +++ b/types/react-native-incall-manager/index.d.ts @@ -0,0 +1,68 @@ +// Type definitions for react-native-incall-manager 3.2 +// Project: https://github.com/zxcpoiu/react-native-incall-manager#readme +// Definitions by: Carlos Quiroga +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.8 + +export interface StartSetup { + media?: string; + auto?: boolean; + ringback?: string; +} + +export interface StopSetup { + busytone?: string; +} + +declare class InCallManager { + start(setup?: StartSetup): void; + + stop(setup?: StopSetup): void; + + turnScreenOff(): void; + + turnScreenOn(): void; + + getIsWiredHeadsetPluggedIn(): Promise; + + setFlashOn(enable?: boolean, brightness?: number): number; + + setKeepScreenOn(enable?: boolean): void; + + setSpeakerphoneOn(enable?: boolean): void; + + setForceSpeakerphoneOn(_flag?: boolean): void; + + setMicrophoneMute(enable?: boolean): void; + + startRingtone( + ringtone?: string, + vibrate_pattern?: any[], + ios_category?: string, + seconds?: number + ): void; + + stopRingtone(): void; + + startRingback(ringback?: string): void; + + stopRingback(): void; + + checkRecordPermission(): Promise; + + requestRecordPermission(): Promise; + + checkCameraPermission(): Promise; + + requestCameraPermission(): Promise; + + pokeScreen(_timeout?: number): void; + + getAudioUri(audioType: string, fileType: string): any; + + chooseAudioRoute(route: any): any; +} + +declare const _default: InCallManager; + +export default _default; diff --git a/types/react-native-incall-manager/react-native-incall-manager-tests.ts b/types/react-native-incall-manager/react-native-incall-manager-tests.ts new file mode 100644 index 0000000000..7341cf10da --- /dev/null +++ b/types/react-native-incall-manager/react-native-incall-manager-tests.ts @@ -0,0 +1,43 @@ +import InCallManager from "react-native-incall-manager"; + +InCallManager.start({ media: "video" }); + +InCallManager.start(); + +InCallManager.stop({ busytone: "video" }); + +InCallManager.stop(); + +InCallManager.turnScreenOn(); + +InCallManager.turnScreenOff(); + +InCallManager.setKeepScreenOn(true); + +InCallManager.setKeepScreenOn(); + +InCallManager.setSpeakerphoneOn(); + +InCallManager.setSpeakerphoneOn(true); + +InCallManager.setMicrophoneMute(); + +InCallManager.setMicrophoneMute(false); + +InCallManager.checkRecordPermission(); + +InCallManager.requestRecordPermission(); + +InCallManager.getAudioUri("", ""); + +InCallManager.startRingtone(); + +InCallManager.startRingtone("", [], "", 0); + +InCallManager.stopRingtone(); + +InCallManager.setFlashOn(); + +InCallManager.setFlashOn(true, 1); + +InCallManager.getIsWiredHeadsetPluggedIn(); diff --git a/types/react-native-incall-manager/tsconfig.json b/types/react-native-incall-manager/tsconfig.json new file mode 100644 index 0000000000..978fcc96ee --- /dev/null +++ b/types/react-native-incall-manager/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "react-native-incall-manager-tests.ts" + ] +} diff --git a/types/react-native-incall-manager/tslint.json b/types/react-native-incall-manager/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/react-native-incall-manager/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }