UNPKG

react-native-studia

Version:
160 lines (104 loc) 4.45 kB
// @flow 'use strict' import { NativeModules, NativeEventEmitter } from 'react-native'; import { State, Carriers, Network, type Subscription, type ServalId, type Base64, type Message, type Subscriber, Feed, PeerState, type ObservableId } from './Types'; export interface NativeFeed { ownerId: Subscriber; name: string; icon: Base64; message: Message; date: string; token: string; } export interface NativeMessage { token: string; message: string; date: string; isDelivered: boolean; isDropped: boolean; myMessage: boolean; } export interface NativeIdentity { id: Subscriber; key: string; name: string; icon: Base64; } export interface NativePeer { id: Subscriber; name: string; icon: ?Base64; isReachable: boolean; } export interface NetworkNativeModule { addListener(string): void; removeListeners(number): void; setBleEnable() : Promise<Network>; setBleDisable() : Promise<void>; setWifiEnable() : Promise<Network>; setWifiDisable() : Promise<void>; setHotspotEnable() : Promise<Network>; setHotspotDisable() : Promise<void>; setWifiDirectEnable() : Promise<Network>; setWifiDirectDisable() : Promise<void>; getState(carrier: $Values<typeof Carriers>) : Promise<$Keys<typeof State>>; BleStateChangeEvent: string; WifiStateChangeEvent: string; HotspotStateChangeEvent: string; WifiDirectStateChangeEvent: string; } export interface IdentityNativeModule { /*addListener(string): void; removeListeners(number): void;*/ createIdentity(identityName: string) : Promise<NativeIdentity>; getIdentities() : Promise<Array<NativeIdentity>>; updateIdentity(identityKey: Subscriber, identityName: string) : Promise<NativeIdentity>; runFeedObservable(identityId: Subscriber): Promise<void>; sendFeed(message: string) : Promise<NativeFeed>; stopFeedObservable(): void; getFeeds(identityId: Subscriber, observerId: ObservableId) : Promise<Array<NativeFeed>>; getContacts(identityId: Subscriber, observerId: ObservableId) : Promise<Array<NativePeer>>; getBlocklist(identityId: Subscriber, observerId: ObservableId) : Promise<Array<NativePeer>>; //getPeers(identityId: Subscriber, observerId: ObservableId) : Promise<Array<NativePeer>>; getNearby(identityId: Subscriber, observerId: ObservableId) : Promise<Array<NativePeer>>; getPeersConversations(identityId: Subscriber, observerId: ObservableId) : Promise<Array<NativePeer>>; getPeersRequests(identityId: Subscriber, observerId: ObservableId) : Promise<Array<NativePeer>>; getPeerFeeds(servalId: ServalId, observerId: ObservableId) : Promise<Array<Feed>>; getPrivateMessages(identityId: Subscriber, peerId: Subscriber, observerId: ObservableId) : Promise<Array<NativeMessage>>; runMessageObservable(identityId: Subscriber, peerId: Subscriber): Promise<void>; sendMessage(message: string) : Promise<NativeMessage>; stopMessageObservable(): void; follow(identityId: Subscriber, peerId: Subscriber) : Promise<void>; block(identityId: Subscriber, peerId: Subscriber) : Promise<void>; ignore(identityId: Subscriber, peerId: Subscriber) : Promise<void>; getPeerState(identityId: Subscriber, peerId: Subscriber) : Promise<$Keys<typeof PeerState>>; getUnreadMessages(identityId: Subscriber, observerId: ObservableId) : Promise<number>; getRequestMessages(identityId: Subscriber, observerId: ObservableId) : Promise<number>; getNearbyPeers(identityId: Subscriber, observerId: ObservableId) : Promise<number>; stopObserving(observerId: ObservableId) : void; UnreadMessagesChanged: string; RequestMessagesChanged: string; NearbyPeersChanged: string; //FeedAddedEvent: string; //FeedResetEvent: string; onFeedAddedEvent: string; //onFeedResetEvent: string; onPeerFoundEvent: string; onPeerUpdatedEvent: string; onPeersResetEvent: string; onMessageRecievedEvent: string; onMessageDeliveredEvent: string; } export const NetworkModule: NetworkNativeModule = NativeModules.Networks export const IdentityModule: IdentityNativeModule = NativeModules.Identity export const EventEmitter = NativeEventEmitter