UNPKG

react-native-zoom-us

Version:

React-native bridge for ZoomUs SDK

164 lines (163 loc) 5.85 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ZoomUsVideoView = void 0; const react_native_1 = require("react-native"); const invariant_1 = __importDefault(require("invariant")); const native_1 = require("./native"); const events_1 = __importDefault(require("./src/events")); const DEFAULT_USER_TYPE = 2; const applyLanguageMapping = (language) => { const androidLanguageMapping = { 'zh-Hans': 'zh-CN', 'zh-Hant': 'zh-TW', }; if (react_native_1.Platform.OS === 'android') { return androidLanguageMapping[language] || language; } return language; }; async function initialize({ domain = 'zoom.us', ...params }, { language = 'en', enableCustomizedMeetingUI = false, // ios only // more details inside: https://github.com/mieszko4/react-native-zoom-us/issues/28 disableShowVideoPreviewWhenJoinMeeting = true } = {}) { invariant_1.default(typeof params === 'object', 'ZoomUs.initialize expects object param. Consider to check migration docs. ' + 'Check Link: https://github.com/mieszko4/react-native-zoom-us/blob/master/docs/UPGRADING.md'); if ('jwtToken' in params) { invariant_1.default(params.jwtToken, 'ZoomUs.initialize requires jwtToken'); } else { invariant_1.default(params.clientKey, 'ZoomUs.initialize requires clientKey'); invariant_1.default(params.clientSecret, 'ZoomUs.initialize requires clientSecret'); } const mappedSettings = { language: applyLanguageMapping(language), enableCustomizedMeetingUI, disableShowVideoPreviewWhenJoinMeeting }; const mappedParams = { domain, ...params, }; return native_1.RNZoomUs.initialize(mappedParams, mappedSettings); } function isInitialized() { return native_1.RNZoomUs.isInitialized(); } async function joinMeeting(params) { let { meetingNumber, noAudio = false, noVideo = false, autoConnectAudio = false } = params; invariant_1.default(meetingNumber, 'ZoomUs.joinMeeting requires meetingNumber'); if (typeof meetingNumber !== 'string') meetingNumber = meetingNumber.toString(); // without noAudio, noVideo fields SDK can stack on joining meeting room for release build return native_1.RNZoomUs.joinMeeting({ ...params, meetingNumber, noAudio: !!noAudio, noVideo: !!noVideo, autoConnectAudio, }); } async function joinMeetingWithPassword(userName, meetingNumber, password) { console.warn("ZoomUs.joinMeetingWithPassword is deprecated. Use joinMeeting({ password: 'xxx', ... })"); return joinMeeting({ userName, meetingNumber, password, }); } async function startMeeting(params) { let { userType = DEFAULT_USER_TYPE, meetingNumber } = params; invariant_1.default(meetingNumber, 'ZoomUs.startMeeting requires meetingNumber'); if (typeof meetingNumber !== 'string') meetingNumber = meetingNumber.toString(); return native_1.RNZoomUs.startMeeting({ userType, ...params, meetingNumber }); } async function leaveMeeting() { return native_1.RNZoomUs.leaveMeeting(); } async function connectAudio() { return native_1.RNZoomUs.connectAudio(); } async function isMeetingConnected() { return native_1.RNZoomUs.isMeetingConnected(); } async function isMeetingHost() { return native_1.RNZoomUs.isMeetingHost(); } async function getInMeetingUserIdList() { return native_1.RNZoomUs.getInMeetingUserIdList(); } async function rotateMyVideo(rotation) { if (react_native_1.Platform.OS === 'android') { return native_1.RNZoomUs.rotateMyVideo(rotation); } else { throw new Error('Only support android'); } } async function muteMyVideo(muted) { return native_1.RNZoomUs.muteMyVideo(muted); } async function muteMyAudio(muted) { return native_1.RNZoomUs.muteMyAudio(muted); } async function muteAttendee(userId, muted) { return native_1.RNZoomUs.muteAttendee(userId, muted); } async function muteAllAttendee(allowUnmuteSelf) { return native_1.RNZoomUs.muteAllAttendee(allowUnmuteSelf); } async function startShareScreen() { return native_1.RNZoomUs.startShareScreen(); } async function stopShareScreen() { return native_1.RNZoomUs.stopShareScreen(); } async function switchCamera() { return native_1.RNZoomUs.switchCamera(); } async function raiseMyHand() { return native_1.RNZoomUs.raiseMyHand(); } async function lowerMyHand() { return native_1.RNZoomUs.lowerMyHand(); } var video_view_1 = require("./video-view"); Object.defineProperty(exports, "ZoomUsVideoView", { enumerable: true, get: function () { return __importDefault(video_view_1).default; } }); __exportStar(require("./src/events"), exports); exports.default = { initialize, joinMeeting, joinMeetingWithPassword, startMeeting, leaveMeeting, connectAudio, isInitialized, isMeetingHost, isMeetingConnected, getInMeetingUserIdList, rotateMyVideo, muteMyVideo, muteMyAudio, muteAttendee, muteAllAttendee, startShareScreen, stopShareScreen, switchCamera, raiseMyHand, lowerMyHand, ...events_1.default, };