UNPKG

agora-react-native-rtm

Version:

React Native around the Agora RTM SDKs for Android and iOS agora

64 lines (63 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cleanIrisExtraData = cleanIrisExtraData; exports.processRTMClientEventMap = processRTMClientEventMap; /** * @ignore */ function cleanIrisExtraData(data) { if (data === null || typeof data !== 'object') { return data; } if (Array.isArray(data)) { return data.map(item => cleanIrisExtraData(item)); } return Object.fromEntries(Object.entries(data).filter(([key]) => !key.endsWith('_str')).map(([key, value]) => [key, cleanIrisExtraData(value)])); } function processRTMClientEventMap(handler, event, jsonParams) { switch (event) { case 'presence': if (handler.presence !== undefined) { handler.presence(cleanIrisExtraData(jsonParams.event)); } break; case 'message': if (handler.message !== undefined) { handler.message(cleanIrisExtraData(jsonParams.event)); } break; case 'storage': if (handler.storage !== undefined) { handler.storage(cleanIrisExtraData(jsonParams.event)); } break; case 'lock': if (handler.lock !== undefined) { handler.lock(cleanIrisExtraData(jsonParams.event)); } break; case 'topic': if (handler.topic !== undefined) { handler.topic(cleanIrisExtraData(jsonParams.event)); } break; case 'tokenPrivilegeWillExpire': if (handler.tokenPrivilegeWillExpire !== undefined) { handler.tokenPrivilegeWillExpire(jsonParams.channelName); } break; case 'linkState': if (handler.linkState !== undefined) { handler.linkState(cleanIrisExtraData(jsonParams.event)); } break; case 'token': if (handler.token !== undefined) { handler.token(cleanIrisExtraData(jsonParams.event)); } break; } } //# sourceMappingURL=RTMEvents.js.map