UNPKG

softchatjs-core

Version:
2 lines 1.77 kB
import E from"moment";var s=()=>{let o="",e="abcdef0123456789";for(let t=0;t<32;t++){let n=Math.floor(Math.random()*e.length),a=e.charAt(n);(t===8||t===12||t===16||t===20)&&(o+="-"),o+=a}return o};var c=()=>({createdAt:new Date,updatedAt:new Date});var i=class i{constructor(e,t){this.connection=e,this.participants=t}static getInstance(e,t){return i.conversation||(i.conversation=new i(e,t)),i.conversation}generateConversation(e,t){let n=c(),a=this.participants.map(r=>r.uid),d={id:s(),uid:this.connection.userMeta.uid,participantId:this.connection.userMeta.uid,participantDetails:{...this.connection.userMeta,...n},...n},p=this.participants.map(r=>({id:s(),uid:r.uid,participantId:r.uid,participantDetails:{...r,...n},...n})),I=[d,...p];return{name:e,participants:[this.connection.userMeta.uid,...a],admins:[this.connection.userMeta.uid],conversationId:t,messages:[],conversationType:"broadcast-chat",participantList:I,meta:null,groupMeta:null,...n}}create(e=`${this.participants.length} Recipients`){try{if(!this.connection)throw new Error("Inialize uesr before calling method");let t=s(),n=this.generateConversation(e,t),a={action:"createBroadcastList",message:{conversationId:t,name:e,participants:this.participants,token:this.connection.wsAccessConfig.token,user:this.connection.userMeta}};return this.connection.socket.send(JSON.stringify(a)),this.connection.broadcastListMeta[t]={conversation:n,lastMessage:null,unread:[]},this.reset(),this.connection.emit("broadcast_list_meta_changed",{broadcastListMeta:this.connection.broadcastListMeta}),{[t]:{conversation:n,lastMessage:null,unread:[]}}}catch(t){t instanceof Error&&console.error(t.message)}}reset(){i.conversation=null}};i.conversation=null;var g=i;export{g as default}; //# sourceMappingURL=Broadcast.mjs.map