UNPKG

softchatjs-core

Version:
2 lines 2.38 kB
"use strict";var l=Object.create;var o=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,B=Object.prototype.hasOwnProperty;var C=(n,e)=>{for(var t in e)o(n,t,{get:e[t],enumerable:!0})},d=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of E(e))!B.call(n,a)&&a!==t&&o(n,a,{get:()=>e[a],enumerable:!(i=h(e,a))||i.enumerable});return n};var A=(n,e,t)=>(t=n!=null?l(M(n)):{},d(e||!n||!n.__esModule?o(t,"default",{value:n,enumerable:!0}):t,n)),f=n=>d(o({},"__esModule",{value:!0}),n);var S={};C(S,{default:()=>c});module.exports=f(S);var T=A(require("moment"));var g=()=>{let n="",e="abcdef0123456789";for(let t=0;t<32;t++){let i=Math.floor(Math.random()*e.length),a=e.charAt(i);(t===8||t===12||t===16||t===20)&&(n+="-"),n+=a}return n};var p=()=>({createdAt:new Date,updatedAt:new Date});var r=class r{constructor(e,t){this.connection=e,this.participants=t}static getInstance(e,t){return r.conversation||(r.conversation=new r(e,t)),r.conversation}generateConversation(e,t){let i=p(),a=this.participants.map(s=>s.uid),I={id:g(),uid:this.connection.userMeta.uid,participantId:this.connection.userMeta.uid,participantDetails:{...this.connection.userMeta,...i},...i},m=this.participants.map(s=>({id:g(),uid:s.uid,participantId:s.uid,participantDetails:{...s,...i},...i})),u=[I,...m];return{name:e,participants:[this.connection.userMeta.uid,...a],admins:[this.connection.userMeta.uid],conversationId:t,messages:[],conversationType:"broadcast-chat",participantList:u,meta:null,groupMeta:null,...i}}create(e=`${this.participants.length} Recipients`){try{if(!this.connection)throw new Error("Inialize uesr before calling method");let t=g(),i=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:i,lastMessage:null,unread:[]},this.reset(),this.connection.emit("broadcast_list_meta_changed",{broadcastListMeta:this.connection.broadcastListMeta}),{[t]:{conversation:i,lastMessage:null,unread:[]}}}catch(t){t instanceof Error&&console.error(t.message)}}reset(){r.conversation=null}};r.conversation=null;var c=r; //# sourceMappingURL=Broadcast.js.map