I have a native module and I would like to type it.
Here is an example of my module's interface
export interface BBAudioPlayer {
  playSound: (sound: 'click' | 'tada') => Promise<void>;
  pause: () => Promise<void>;
}
and that is how I use it:
NativeModules.BBAudioPlayer.playSound('tada');
How can extend NativeModules to add the types of my new module?
// extendNativeModules.d.ts
// import original module declarations
import 'react-native';
export interface BBAudioPlayerInterface {
  playSound: (sound: 'click' | 'tada') => Promise<void>;
  pause: () => Promise<void>;
}
// and extend them!
declare module 'react-native' {
  interface NativeModulesStatic {
    BBAudioPlayer: BBAudioPlayerInterface;
  }
}

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With