NativeWebSocketModule.js 971 B

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * Copyright (c) Facebook, Inc. and its affiliates.
  3. *
  4. * This source code is licensed under the MIT license found in the
  5. * LICENSE file in the root directory of this source tree.
  6. *
  7. * @flow
  8. * @format
  9. */
  10. 'use strict';
  11. import type {TurboModule} from '../TurboModule/RCTExport';
  12. import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
  13. export interface Spec extends TurboModule {
  14. +connect: (
  15. url: string,
  16. protocols: ?Array<string>,
  17. options: {|headers?: Object|},
  18. socketID: number,
  19. ) => void;
  20. +send: (message: string, forSocketID: number) => void;
  21. +sendBinary: (base64String: string, forSocketID: number) => void;
  22. +ping: (socketID: number) => void;
  23. +close: (code: number, reason: string, socketID: number) => void;
  24. // RCTEventEmitter
  25. +addListener: (eventName: string) => void;
  26. +removeListeners: (count: number) => void;
  27. }
  28. export default (TurboModuleRegistry.getEnforcing<Spec>(
  29. 'WebSocketModule',
  30. ): Spec);