UNPKG

@tencentcloud/lite-chat

Version:

Tencent Cloud Chat SDK for Web/Mini Program/uni-app/React Native/Donut

2 lines (1 loc) 22.2 kB
!function(i,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(i="undefined"!=typeof globalThis?globalThis:i||self).TencentCloudChatSignaling=e()}(this,(function(){"use strict";function i(i,e,n,t){return new(n||(n=Promise))((function(s,a){function o(i){try{g(t.next(i))}catch(i){a(i)}}function r(i){try{g(t.throw(i))}catch(i){a(i)}}function g(i){var e;i.done?s(i.value):(e=i.value,e instanceof n?e:new n((function(i){i(e)}))).then(o,r)}g((t=t.apply(i,e||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const e=1,n=2,t=3,s=4,a=5,o="TIMCustomElem",r="C2C",g="GROUP",l="invite",c="accept",v="cancel",u="reject",h="modifyInvitation",d="signaling",I=8010,_="signaling-timeout";function S(i){return i.filter((i=>{if(i.type===o){const{cloudCustomData:e="",payload:{data:n=""}={}}=i,t=e.match(/"type":"tsignaling"/),s=n.match(/inviteID/),a=n.match(/actionType/);return t||s&&a}return!1}))}function p(i){const{data:e}=i.payload;try{return JSON.parse(e)}catch(i){return console.error(i),null}}function f(i,e){return i.toString(16).padStart(e,"0")}function m(i){if(i<0||i>53)throw new Error("Number of digits must be between 0 and 53");if(i<=30)return Math.floor(Math.random()*(1<<i));const e=i-30;return Math.floor(Math.random()*(1<<e))*(1<<30)+Math.floor(Math.random()*(1<<30))}var D=new class{constructor(){this._onlineSignalingMap=new Map,this._isSignalingListening=!1}init(i){this._core=i,i.notificationCenter.subscribeInnerEvent(i.InnerEvent.DESTROY,this._dispose,this),i.notificationCenter.subscribeInnerEvent(i.InnerEvent.LOGOUT,this._reset,this)}getOnlineSignalingMap(){return this._onlineSignalingMap}hasSignaling(i){return this._onlineSignalingMap.has(i)}getSignaling(i){return this._onlineSignalingMap.get(i)}saveSignaling(i,e){return this._onlineSignalingMap.set(i,e)}removeSignaling(i){return this._onlineSignalingMap.delete(i)}isInvitationValid(i){const e=`${d}.isInvitationValid`,{inviteID:n,groupID:t,inviter:s}=i,a=s===this._core.common.getCurrentUserID();if(!this._onlineSignalingMap.has(n))return!1;const{inviteeList:o}=this._onlineSignalingMap.get(n);if(console.log(`${e} inviteID:${n} inviteeList:${o} groupID:${t}`),t){if(a)return o.length>0;const i=this._core.common.getCurrentUserID();return o.includes(i)}return!0}updateSignaling(i){const e=`${d}.updateSignaling`,{inviteID:n,inviter:t,inviteeList:s,groupID:a}=i;if(console.log(`${e} inviteID:${n} inviter:${t} groupID:${a}`),a&&this.hasSignaling(n)){const i=s[0],{inviteeList:t}=this._onlineSignalingMap.get(n);t.includes(i)&&(t.splice(t.indexOf(i),1),console.log(`${e} remove ${i}. localInviteeList.length:${t.length}`)),0===t.length&&this.removeSignaling(n)}else this.removeSignaling(n)}setSignalingListenStatus(i){this._isSignalingListening=i}getSignalingListenStatus(){return this._isSignalingListening}_dispose(){var i,e;this._reset(),null===(i=this._core)||void 0===i||i.notificationCenter.unSubscribeInnerEvent(this._core.InnerEvent.DESTROY,this._dispose,this),null===(e=this._core)||void 0===e||e.notificationCenter.unSubscribeInnerEvent(this._core.InnerEvent.LOGOUT,this._reset,this),this._isSignalingListening=!1}_reset(){this._onlineSignalingMap.clear()}};var E=new class{init(i){this._core=i}createInviteSignaling(i){const e=this._generateInviteID(),n=this._createInviteSignalingData(Object.assign(Object.assign({},i),{inviteID:e})),{groupID:t,inviteeList:s}=n,a=t||s[0];return{signaling:this._createSignaling(n,a),signalingData:n,signalingExtensionOptions:this._createSignalingExtensionOptions(i)}}createAcceptSignaling(i){const e=this._createAcceptSignalingData(i),{groupID:n,inviter:t}=e,s=n||t;return{signaling:this._createSignaling(e,s),signalingData:e,signalingExtensionOptions:this._createSignalingExtensionOptions(i)}}createCancelSignaling(i){const e=this._createCancelSignalingData(i),{groupID:n,inviteeList:t}=e,s=n||t[0];return{signaling:this._createSignaling(e,s),signalingData:e,signalingExtensionOptions:this._createSignalingExtensionOptions(i)}}createRejectSignaling(i){const e=this._createRejectSignalingData(i),{groupID:n,inviter:t}=e,s=n||t;return{signaling:this._createSignaling(e,s),signalingData:e,signalingExtensionOptions:this._createSignalingExtensionOptions(i)}}createTimeoutSignaling(i){const{isInviter:e=!1}=i,n=this._createTimeoutSignalingData(i),{groupID:t,inviteeList:s,inviter:a}=n,o=t||(e?s[0]:a);return{signaling:this._createSignaling(n,o),signalingData:n,signalingExtensionOptions:this._createSignalingExtensionOptions(n)}}_createSignalingExtensionOptions(i){var e,n;const{data:t="",onlineUserOnly:s,inviteID:a="",offlinePushInfo:o,actionType:r}=i,g=(null===(n=null===(e=D.getSignaling(a))||void 0===e?void 0:e.signaling)||void 0===n?void 0:n._onlineOnlyFlag)||!1;return{onlineUserOnly:s||g,offlinePushInfo:o,messageControlInfo:this._createMessageControlInfo(t,r)}}_createMessageControlInfo(i,e){const n=e===a&&!!i.match(/excludeTimeoutSignalingFromHistoryMessage/),t=!!i.match(/excludeFromHistoryMessage/)||!!i.match(/excludeOriginalSignalingFromHistoryMessage/);return{excludedFromContentModeration:!0,excludedFromUnreadCount:n||t,excludedFromLastMessage:n||t}}_createInviteSignalingData(i){const n=`${d}._createInviteSignalingData`,{userID:t,timeout:s=0,groupID:a="",inviteeList:o=[]}=i,r=this._core.common.getCurrentUserID(),g=Object.assign(Object.assign({},this._generateBaseSignalData(i)),{actionType:e,inviter:r,inviteeList:a?o:[t],timeout:s});return console.log(`${n} signalingData:`,g),g}_createAcceptSignalingData(i){const e=`${d}._createAcceptSignalingData`,{inviteID:n}=i,s=this._core.common.getCurrentUserID(),{inviter:a,groupID:o}=D.getSignaling(n),r=Object.assign(Object.assign({},this._generateBaseSignalData(i)),{actionType:t,groupID:o,inviter:a,inviteeList:[s]});return console.log(`${e} signalingData:`,r),r}_createCancelSignalingData(i){const e=`${d}._createCancelSignalingData`,{inviteID:t}=i,s=this._core.common.getCurrentUserID(),{inviteeList:a,groupID:o}=D.getSignaling(t),r=Object.assign(Object.assign({},this._generateBaseSignalData(i)),{actionType:n,groupID:o,inviter:s,inviteeList:a});return console.log(`${e} signalingData:`,r),r}_createRejectSignalingData(i){const e=`${d}._createRejectSignalingData`,{inviteID:n}=i,t=this._core.common.getCurrentUserID(),{inviter:a,groupID:o}=D.getSignaling(n),r=Object.assign(Object.assign({},this._generateBaseSignalData(i)),{actionType:s,groupID:o,inviter:a,inviteeList:[t]});return console.log(`${e} signalingData:`,r),r}_createTimeoutSignalingData(i){const e=`${d}._createTimeoutSignalingData`,{isInviter:n=!1,inviteID:t}=i,{inviteeList:s,inviter:o}=D.getSignaling(t),r=this._core.common.getCurrentUserID(),g=Object.assign(Object.assign({},this._generateBaseSignalData(i)),{actionType:a,inviter:o,inviteeList:n?s:[r]});return console.log(`${e} signalingData:`,g),g}_createSignaling(i,e){var n,t,s;const{groupID:a=""}=i,o={to:e,conversationType:a?g:r,priority:"High",payload:{data:JSON.stringify(i)}};return null===(s=null===(t=null===(n=this._core)||void 0===n?void 0:n.message)||void 0===t?void 0:t.messageFactory)||void 0===s?void 0:s.createCustomMessage(o)}_generateInviteID(){return[f(m(32),8),f(m(16),4),f(16384|m(12),4),f(32768|m(14),4),f(m(48),12)].join("-")}_generateBaseSignalData(i){const{data:e="",inviteID:n="",groupID:t=""}=i;return{businessID:1,timeout:0,data:e,inviteID:n,groupID:t}}};var O=new class{constructor(){this._isProcessingSignaling=!1}init(i){this._core=i,i.helper.registerApi({apiName:"invite",context:this}),i.helper.registerApi({apiName:"accept",context:this}),i.helper.registerApi({apiName:"cancel",context:this}),i.helper.registerApi({apiName:"reject",context:this}),i.helper.registerApi({apiName:"modifyInvitation",context:this}),i.helper.registerApi({apiName:"getSignalingInfo",context:this}),i.helper.registerApi({apiName:"addSignalingListener",context:this}),i.helper.registerApi({apiName:"removeSignalingListener",context:this}),i.notificationCenter.subscribeInnerEvent(i.InnerEvent.DESTROY,this._dispose,this),i.notificationCenter.subscribeInnerEvent(i.InnerEvent.LOGOUT,this._reset,this)}invite(e){return i(this,void 0,void 0,(function*(){var i;console.log(`${d}.invite params:${JSON.stringify(e)}`);try{this._validateBeforeInvite(e);const{signaling:n,signalingData:t,signalingExtensionOptions:s}=E.createInviteSignaling(e),a=yield this._sendSignaling(n,s);if(0===(null==a?void 0:a.code)){const{inviteID:e,timeout:s}=t;return D.saveSignaling(e,Object.assign(Object.assign({},t),{signaling:n})),s>0&&(null===(i=this._core)||void 0===i||i.helper.taskScheduler.addOnceTask({id:`${_}-${e}`,intervalMs:1e3*(s+5),callback:this.handleInvitationExpiryTimer.bind(this,e)})),Object.assign(Object.assign({},a),{inviteID:e})}return a}catch(i){throw console.error(`${d}.invite error:${i}`),i}}))}accept(e){return i(this,void 0,void 0,(function*(){console.log(`${d}.accept params:${JSON.stringify(e)}`);try{const{inviteID:i}=e;this._validateBeforeAccept(i),this._isProcessingSignaling=!0;const{signaling:n,signalingData:t,signalingExtensionOptions:s}=E.createAcceptSignaling(e),a=yield this._sendSignaling(n,s);return 0===(null==a?void 0:a.code)?(D.updateSignaling(t),Object.assign(Object.assign({},a),{inviteID:i})):a}catch(i){throw console.error(`${d}.accept error:${i}`),i}finally{this._isProcessingSignaling=!1}}))}cancel(e){return i(this,void 0,void 0,(function*(){console.log(`${d}.cancel params:${JSON.stringify(e)}`);try{const{inviteID:i}=e;this._validateBeforeCancel(i),this._isProcessingSignaling=!0;const{signaling:n,signalingExtensionOptions:t}=E.createCancelSignaling(e),s=yield this._sendSignaling(n,t);return 0===(null==s?void 0:s.code)?(D.removeSignaling(i),Object.assign(Object.assign({},s),{inviteID:i})):s}catch(i){throw console.error(`${d}.cancel error:${i}`),i}finally{this._isProcessingSignaling=!1}}))}reject(e){return i(this,void 0,void 0,(function*(){console.log(`${d}.reject params:${JSON.stringify(e)}`);try{const{inviteID:i}=e;this._validateBeforeReject(i),this._isProcessingSignaling=!0;const{signaling:n,signalingExtensionOptions:t}=E.createRejectSignaling(e),s=yield this._sendSignaling(n,t);return 0===(null==s?void 0:s.code)?(D.removeSignaling(i),Object.assign(Object.assign({},s),{inviteID:i})):s}catch(i){throw console.error(`${d}.reject error:${i}`),i}finally{this._isProcessingSignaling=!1}}))}modifyInvitation(e){return i(this,void 0,void 0,(function*(){var i,n;console.log(`${d}.modifyInvitation params:${JSON.stringify(e)}`);const{inviteID:t,data:s}=e;let a="";try{this._validateBeforeModifyInvitation(t);const e=D.getSignaling(t),{signaling:o}=e,r=function(i,e){var n={};for(var t in i)Object.prototype.hasOwnProperty.call(i,t)&&e.indexOf(t)<0&&(n[t]=i[t]);if(null!=i&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(t=Object.getOwnPropertySymbols(i);s<t.length;s++)e.indexOf(t[s])<0&&Object.prototype.propertyIsEnumerable.call(i,t[s])&&(n[t[s]]=i[t[s]])}return n}(e,["signaling"]);a=o.payload.data,r.data=s,o.payload.data=JSON.stringify(r);const g=yield null===(n=null===(i=this._core)||void 0===i?void 0:i.message.messageAction)||void 0===n?void 0:n.modifyMessage(o);return D.hasSignaling(t)&&D.saveSignaling(t,Object.assign(Object.assign({},r),{signaling:o})),g}catch(i){if(a){const{signaling:i}=D.getSignaling(t);i.payload.data=a}throw i}}))}getSignalingInfo(i){if(0===S([i]).length)return;const n=p(i),t={businessID:n.businessID||1,inviteID:n.inviteID,groupID:n.groupID||"",inviter:n.inviter||"",inviteeList:n.inviteeList||[],data:n.data||"",actionType:n.actionType||e,timeout:n.timeout||0};return console.log(`${d} getSignalingInfo `,t),t}addSignalingListener(i,e,n){var t,s;i===(null===(t=this._core)||void 0===t?void 0:t.SignalingEvent.NEW_INVITATION_RECEIVED)&&D.setSignalingListenStatus(!0),null===(s=this._core)||void 0===s||s.notificationCenter.subscribeOuterEvent(i,e,n)}removeSignalingListener(i,e,n){var t,s;i===(null===(t=this._core)||void 0===t?void 0:t.SignalingEvent.NEW_INVITATION_RECEIVED)&&D.setSignalingListenStatus(!1),null===(s=this._core)||void 0===s||s.notificationCenter.unSubscribeOuterEvent(i,e,n)}handleInvitationExpiryTimer(i){const e=D.getOnlineSignalingMap(),n=this._core.common.getCurrentUserID();if(!e.has(i))return;const t=e.get(i).inviter===n;this._sendTimeoutNotice({inviteID:i,isInviter:t})}_sendSignaling(e,n){return i(this,void 0,void 0,(function*(){var i,t,s;return null===(s=null===(t=null===(i=this._core)||void 0===i?void 0:i.message)||void 0===t?void 0:t.messageSender)||void 0===s?void 0:s.sendMessage(e,n)}))}_sendTimeoutNotice(e){return i(this,void 0,void 0,(function*(){var i,n,t;console.log(`${d}._sendTimeoutNotice params:${JSON.stringify(e)}`);const{isInviter:s,inviteID:a}=e,{signaling:o,signalingData:r,signalingExtensionOptions:g}=E.createTimeoutSignaling(e),l=yield this._sendSignaling(o,g);if(0===(null==l?void 0:l.code)){const{data:e,groupID:g,inviteeList:l,inviter:c}=r;null===(i=this._core)||void 0===i||i.notificationCenter.emitOuterEvent(null===(n=this._core)||void 0===n?void 0:n.SignalingEvent.INVITATION_TIMEOUT,{name:null===(t=this._core)||void 0===t?void 0:t.SignalingEvent.INVITATION_TIMEOUT,data:{data:e,groupID:g,inviteID:a,inviteeList:l,inviter:c,isSelfTimeout:!0,message:o}}),s?D.removeSignaling(a):D.updateSignaling(r)}}))}_validateInviteId(i,e){if(!D.hasSignaling(e))throw new this._core.helper.ChatError({functionName:i,code:I})}_validateProcessStatus(i){if(this._isProcessingSignaling)throw new this._core.helper.ChatError({functionName:i,message:"processing other signaling operations"})}_validateBeforeInvite(i){const e=l,{userID:n}=i,t=this._core.common.getCurrentUserID();if(n===t)throw new this._core.helper.ChatError({functionName:e,message:`cannot invite yourself, currentUserId:${t}, inviteeId:${n}`})}_validateBeforeAccept(i){const e=c;this._validateInviteId(e,i),this._validateProcessStatus(e);const n=this._core.common.getCurrentUserID(),{inviteeList:t}=D.getSignaling(i);if(!t.includes(n)){const t=`userID:${n} not in inviteeList. inviteID:${i}`;throw new this._core.helper.ChatError({functionName:e,message:t})}}_validateBeforeCancel(i){const e=v;this._validateInviteId(e,i),this._validateProcessStatus(e);const n=this._core.common.getCurrentUserID(),{inviter:t}=D.getSignaling(i);if(t!==n){const i=`unmatched inviter:${t} and my userID:${n}`;throw new this._core.helper.ChatError({functionName:e,message:i})}}_validateBeforeReject(i){const e=u;this._validateInviteId(e,i),this._validateProcessStatus(e);const n=this._core.common.getCurrentUserID(),{inviteeList:t}=D.getSignaling(i);if(!t.includes(n)){const t=`userID:${n} not in inviteeList. inviteID:${i}`;throw new this._core.helper.ChatError({functionName:e,message:t})}}_validateBeforeModifyInvitation(i){const e=h;this._validateInviteId(e,i)}_dispose(){var i,e;this._reset(),null===(i=this._core)||void 0===i||i.notificationCenter.unSubscribeInnerEvent(this._core.InnerEvent.DESTROY,this._dispose,this),null===(e=this._core)||void 0===e||e.notificationCenter.unSubscribeInnerEvent(this._core.InnerEvent.LOGOUT,this._reset,this)}_reset(){this._isProcessingSignaling=!1}};var b=new class{constructor(){this._actionProcessor=new Map([[e,this._onNewInvitationReceived.bind(this)],[s,this._onInviteeRejected.bind(this)],[t,this._onInviteeAccepted.bind(this)],[n,this._onInvitationCancelled.bind(this)],[a,this._onInvitationTimeout.bind(this)]])}init(i){this._core=i,i.notificationCenter.subscribeOuterEvent(i.OuterEvent.MESSAGE_RECEIVED,this._handleMessageReceived,this),i.notificationCenter.subscribeOuterEvent(i.OuterEvent.MESSAGE_MODIFIED,this._handleMessageModified,this),i.notificationCenter.subscribeInnerEvent(i.InnerEvent.DESTROY,this._dispose,this)}handleActionSignaling(i){i.forEach((i=>{const e=p(i);if(e){const n=this._actionProcessor.get(e.actionType);null==n||n(e,i)}}))}_handleMessageReceived(i){if(!D.getSignalingListenStatus())return;const e=S(i.data);0!==e.length&&this.handleActionSignaling(e)}_handleMessageModified(i){if(!D.getSignalingListenStatus())return;const e=S(i.data);e.length>0&&e.forEach((i=>{const e=p(i);e&&this._onInvitationModified(e,i)}))}_onNewInvitationReceived(i,e){var n,t;const s=`${d}._onNewInvitationReceived`,{inviteID:a,inviteeList:o,groupID:r}=i,g=this._core.common.getCurrentUserID();console.log(`${s} signalingData:${JSON.stringify(i)}}`);if(r&&!o.includes(g))return;let{timeout:l}=i;const c=Date.now()/1e3-e.time;l>0&&c>0&&l>c&&(l-=c);const v=D.getSignaling(a);v!==i&&(v||D.saveSignaling(a,Object.assign(Object.assign({},i),{signaling:e})),l>0&&(null===(n=this._core)||void 0===n||n.helper.taskScheduler.addOnceTask({id:`${_}-${a}`,intervalMs:1e3*l,callback:O.handleInvitationExpiryTimer.bind(O,a)})),this._emitEvent({name:null===(t=this._core)||void 0===t?void 0:t.SignalingEvent.NEW_INVITATION_RECEIVED,data:Object.assign(Object.assign({},this._generateBaseEmitData(i)),{inviteeList:o})}))}_onInviteeRejected(i){var e;const n=`${d}._onInviteeRejected`,{inviteID:t,inviter:s,groupID:a,inviteeList:o}=i,r=D.hasSignaling(t);console.log(`${n} inviteID:${t} hasInviteID:${r} inviter:${s} groupID:${a}`),r&&(D.updateSignaling(i),this._emitEvent({name:null===(e=this._core)||void 0===e?void 0:e.SignalingEvent.INVITEE_REJECTED,data:Object.assign(Object.assign({},this._generateBaseEmitData(i)),{invitee:o[0]})}))}_onInviteeAccepted(i){var e;const n=`${d}._onInviteeAccepted`,{inviteID:t,inviter:s,groupID:a,inviteeList:o}=i,r=D.hasSignaling(t);console.log(`${n} inviteID:${t} hasInviteID:${r} inviter:${s} groupID:${a}`),r&&(D.updateSignaling(i),this._emitEvent({name:null===(e=this._core)||void 0===e?void 0:e.SignalingEvent.INVITEE_ACCEPTED,data:Object.assign(Object.assign({},this._generateBaseEmitData(i)),{invitee:o[0]})}))}_onInvitationCancelled(i){var e;const n=`${d}._onInvitationCancelled`,{inviteID:t,inviter:s,groupID:a}=i,o=D.hasSignaling(t);console.log(`${n} inviteID:${t} hasInviteID:${o} inviter:${s} groupID:${a}`),o&&(D.removeSignaling(t),this._emitEvent({name:null===(e=this._core)||void 0===e?void 0:e.SignalingEvent.INVITATION_CANCELLED,data:this._generateBaseEmitData(i)}))}_onInvitationTimeout(i){var e;const n=`${d}._onInvitationTimeout`,{inviteID:t,inviteeList:s}=i,a=D.hasSignaling(t);console.log(`${n} inviteID:${t} hasInviteID:${a} data:${i.data}`),a&&(D.updateSignaling(i),this._emitEvent({name:null===(e=this._core)||void 0===e?void 0:e.SignalingEvent.INVITATION_TIMEOUT,data:Object.assign(Object.assign({},this._generateBaseEmitData(i)),{inviteeList:s,isSelfTimeout:!1})}))}_onInvitationModified(i,e){var n;const t=`${d}._onInvitationModified`,{inviteID:s,data:a}=i,o=D.hasSignaling(s);console.log(`${t} inviteID:${s} data:${a}`),o&&(D.saveSignaling(s,Object.assign(Object.assign({},i),{signaling:e})),this._emitEvent({name:null===(n=this._core)||void 0===n?void 0:n.SignalingEvent.INVITATION_MODIFIED,data:{inviteID:s,data:a}}))}_emitEvent(i){var e;null===(e=this._core)||void 0===e||e.notificationCenter.emitOuterEvent(i.name,i)}_generateBaseEmitData(i){const{inviteID:e,inviter:n,groupID:t,data:s}=i;return{inviteID:e,inviter:n,groupID:t,data:s||""}}_dispose(){var i,e,n;null===(i=this._core)||void 0===i||i.notificationCenter.unSubscribeOuterEvent(this._core.OuterEvent.MESSAGE_RECEIVED,this._handleMessageReceived,this),null===(e=this._core)||void 0===e||e.notificationCenter.unSubscribeOuterEvent(this._core.OuterEvent.MESSAGE_MODIFIED,this._handleMessageModified,this),null===(n=this._core)||void 0===n||n.notificationCenter.unSubscribeOuterEvent(this._core.InnerEvent.DESTROY,this._dispose,this)}};var y=new class{constructor(){this._offlineSignalingMap=new Map}init(i){this._core=i;const{notificationCenter:e,helper:n,constants:{InnerEvent:t,WORKFLOW_STEP:s,WORKFLOW_NAME:a}}=i;e.subscribeInnerEvent(t.DESTROY,this._dispose,this),e.subscribeInnerEvent(t.LOGOUT,this._reset,this),n.registerWorkflowStep(a.SYNC_SERVER_INFO_AFTER_LOGIN,s.SIGNALING_MESSAGE_RECOVER,this._handleC2COfflineMessage,this)}_handleC2COfflineMessage(i){const{result:{unreadMessageMap:e}={}}=i||{};if(!(0!==(null==e?void 0:e.size)&&D.getSignalingListenStatus()))return;const n=S([...e.values()]);if(0!==n.length&&(n.forEach((i=>{this._handleC2CActionType(i)})),this._offlineSignalingMap.size>0)){const i=this._sortOfflineSignalingByTime();b.handleActionSignaling(i)}}_handleC2CActionType(i){const n=p(i);if(!n)return;const{actionType:t}=n;t===e?this._saveValidOfflineInvite(n,i):this._removeOfflineInvite(n)}_saveValidOfflineInvite(i,e){const{inviteID:n,inviteeList:t=[],timeout:s=0}=i,a=this._core.common.getCurrentUserID();if(!t.includes(a))return;const o=Date.now()/1e3-e.time;s>0&&o>s&&0!==s||this._offlineSignalingMap.set(n,Object.assign(Object.assign({},i),{signalingList:[e]}))}_removeOfflineInvite(i){const{inviteID:e=""}=i;this._offlineSignalingMap.has(e)&&this._offlineSignalingMap.delete(e)}_sortOfflineSignalingByTime(){let i=[];return this._offlineSignalingMap.forEach((e=>{i=[...i,...e.signalingList]})),i.sort(((i,e)=>i.time-e.time))}_dispose(){var i,e;this._reset(),null===(i=this._core)||void 0===i||i.notificationCenter.unSubscribeInnerEvent(this._core.InnerEvent.LOGOUT,this._reset,this),null===(e=this._core)||void 0===e||e.notificationCenter.unSubscribeInnerEvent(this._core.InnerEvent.DESTROY,this._dispose,this)}_reset(){this._offlineSignalingMap.clear()}};const $={invite:{userID:{required:!0,rules:["string"],allowEmpty:!1},data:{required:!1,rules:["string"],allowEmpty:!0},timeout:{required:!1,rules:["number"],allowEmpty:!1},onlineUserOnly:{required:!1,rules:["boolean"],allowEmpty:!1},offlinePushInfo:{required:!1,rules:["object"],allowEmpty:!1}},cancel:{inviteID:{required:!0,rules:["string"],allowEmpty:!1},data:{required:!1,rules:["string"],allowEmpty:!0}},accept:{inviteID:{required:!0,rules:["string"],allowEmpty:!1},data:{required:!1,rules:["string"],allowEmpty:!0}},reject:{inviteID:{required:!0,rules:["string"],allowEmpty:!1},data:{required:!1,rules:["string"],allowEmpty:!0}},modifyInvitation:{inviteID:{required:!0,rules:["string"],allowEmpty:!1},data:{required:!1,rules:["string"],allowEmpty:!0}}},C={invite:!0,cancel:!0,accept:!0,reject:!0,modifyInvitation:!0};return new class{install(i){O.init(i),b.init(i),E.init(i),D.init(i),y.init(i),i.helper.registerValidateConfig({auth:C,params:$})}}}));