@amityco/ts-sdk-react-native
Version:
Amity Social Cloud Typescript SDK
1 lines • 463 kB
JavaScript
var Amity=function(e,t,n,a,s,o,i,r,c,d,l,u,h){"use strict";function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var g,p,y,v,f,b=m(n),I=m(a),C=m(s),w=m(o),S=m(i),O=m(r),T=m(c),A=m(d),R=m(u),P=m(h);e.MembershipAcceptanceTypeEnum=void 0,(g=e.MembershipAcceptanceTypeEnum||(e.MembershipAcceptanceTypeEnum={})).AUTOMATIC="automatic",g.INVITATION="invitation",e.AmityAutoSubscription=void 0,(p=e.AmityAutoSubscription||(e.AmityAutoSubscription={})).CHAT="chat",p.NETWORK="network",p.LIVESTREAM="livestream",p.BLOCK="block",e.UserTypeEnum=void 0,(y=e.UserTypeEnum||(e.UserTypeEnum={})).SIGNED_IN="signed-in",y.VISITOR="visitor",y.BOT="bot",e.SearchUsersByEnum=void 0,(v=e.SearchUsersByEnum||(e.SearchUsersByEnum={})).DISPLAY_NAME="displayName",v.PROFILE_HANDLE="profileHandle",v.USER_ID="userId",e.UserReportTypeEnum=void 0,(f=e.UserReportTypeEnum||(e.UserReportTypeEnum={})).DISPLAY_NAME="displayName",f.DESCRIPTION="description",f.AVATAR="avatarFileId",f.BEHAVIOR="behavior";const D=Object.freeze({FILE:"file",IMAGE:"image",VIDEO:"video",CLIP:"clip",AUDIO:"audio"}),U=Object.freeze({"1080P":"1080p","720P":"720p","480P":"480p","360P":"360p",ORIGINAL:"original"}),k=Object.freeze({UPLOADED:"uploaded",TRANSCODING:"transcoding",TRANSCODED:"transcoded",TRANSCODE_FAILED:"transcodeFailed"}),j=Object.freeze({LOW:"low",MEDIUM:"medium",HIGH:"high",ORIGINAL:"original"});var E,M;e.FileAccessTypeEnum=void 0,(E=e.FileAccessTypeEnum||(e.FileAccessTypeEnum={})).PUBLIC="public",E.NETWORK="network",e.AmityChannelNotificationModeEnum=void 0,(M=e.AmityChannelNotificationModeEnum||(e.AmityChannelNotificationModeEnum={})).Default="default",M.Silent="silent",M.Subscribe="subscribe";const q=Object.freeze({ONLY_ADMIN_CAN_POST:"ONLY_ADMIN_CAN_POST",ADMIN_REVIEW_POST_REQUIRED:"ADMIN_REVIEW_POST_REQUIRED",ANYONE_CAN_POST:"ANYONE_CAN_POST"}),x=Object.freeze({ONLY_ADMIN_CAN_POST:{needApprovalOnPostCreation:!1,onlyAdminCanPost:!0},ADMIN_REVIEW_POST_REQUIRED:{needApprovalOnPostCreation:!0,onlyAdminCanPost:!1},ANYONE_CAN_POST:{needApprovalOnPostCreation:!1,onlyAdminCanPost:!1}}),K="ONLY_ADMIN_CAN_POST";var N;e.AmityCommunityType=void 0,(N=e.AmityCommunityType||(e.AmityCommunityType={})).Default="default",N.Event="event";const F=Object.freeze({STORY:"story",CLIP:"clip",CHAT:"chat",POST:"post",MESSAGE:"message"});var _;e.ContentFlagReasonEnum=void 0,(_=e.ContentFlagReasonEnum||(e.ContentFlagReasonEnum={})).CommunityGuidelines="Against community guidelines",_.HarassmentOrBullying="Harassment or bullying",_.SelfHarmOrSuicide="Self-harm or suicide",_.ViolenceOrThreateningContent="Violence or threatening content",_.SellingRestrictedItems="Selling and promoting restricted items",_.SexualContentOrNudity="Sexual content or nudity",_.SpamOrScams="Spam or scams",_.FalseInformation="False information or misinformation",_.Others="Others";const B=Object.freeze({TEXT:"text",IMAGE:"image",FILE:"file",VIDEO:"video",AUDIO:"audio",CUSTOM:"custom"}),$=Object.freeze({TEXT:"text",IMAGE:"image",FILE:"file",VIDEO:"video",LIVESTREAM:"liveStream",POLL:"poll",CLIP:"clip",AUDIO:"audio",ROOM:"room"}),L=Object.freeze({TEXT:"text",IMAGE:"image",VIDEO:"video",FILE:"file",AUDIO:"audio",MIXED:"mixed"});var Q,J,V,H,z,G,Y,W,X,Z,ee,te,ne,ae,se,oe,ie,re,ce,de,le,ue;e.InvitationTypeEnum=void 0,(Q=e.InvitationTypeEnum||(e.InvitationTypeEnum={})).CommunityMemberInvite="communityMemberInvite",Q.LivestreamCohostInvite="livestreamCohostInvite",e.InvitationStatusEnum=void 0,(J=e.InvitationStatusEnum||(e.InvitationStatusEnum={})).Pending="pending",J.Approved="approved",J.Rejected="rejected",J.Cancelled="cancelled",e.InvitationSortByEnum=void 0,(V=e.InvitationSortByEnum||(e.InvitationSortByEnum={})).FirstCreated="firstCreated",V.LastCreated="lastCreated",e.InvitationTargetTypeEnum=void 0,(H=e.InvitationTargetTypeEnum||(e.InvitationTargetTypeEnum={})).Community="community",H.Room="room",e.JoinRequestStatusEnum=void 0,(z=e.JoinRequestStatusEnum||(e.JoinRequestStatusEnum={})).Pending="pending",z.Approved="approved",z.Rejected="rejected",z.Cancelled="cancelled",e.JoinResultStatusEnum=void 0,(G=e.JoinResultStatusEnum||(e.JoinResultStatusEnum={})).Success="success",G.Pending="pending",e.FeedDataTypeEnum=void 0,(Y=e.FeedDataTypeEnum||(e.FeedDataTypeEnum={})).Text="text",Y.Video="video",Y.Image="image",Y.File="file",Y.Audio="audio",Y.LiveStream="liveStream",Y.Clip="clip",Y.Poll="poll",Y.Room="room",e.FeedSortByEnum=void 0,(W=e.FeedSortByEnum||(e.FeedSortByEnum={})).LastCreated="lastCreated",W.FirstCreated="firstCreated",W.LastUpdated="lastUpdated",W.FirstUpdated="firstUpdated",e.FeedSourceEnum=void 0,(X=e.FeedSourceEnum||(e.FeedSourceEnum={})).Community="community",X.User="user",e.FeedTypeEnum=void 0,(Z=e.FeedTypeEnum||(e.FeedTypeEnum={})).Reviewing="reviewing",Z.Published="published",Z.Declined="declined",e.AmityEventType=void 0,(ee=e.AmityEventType||(e.AmityEventType={})).Virtual="virtual",ee.InPerson="in_person",e.AmityEventOriginType=void 0,(te=e.AmityEventOriginType||(e.AmityEventOriginType={})).Community="community",te.User="user",e.AmityEventStatus=void 0,(ne=e.AmityEventStatus||(e.AmityEventStatus={})).Scheduled="scheduled",ne.Live="live",ne.Ended="ended",ne.Cancelled="cancelled",e.AmityEventResponseStatus=void 0,(ae=e.AmityEventResponseStatus||(e.AmityEventResponseStatus={})).Going="going",ae.NotGoing="not_going",e.AmityEventSortOption=void 0,(se=e.AmityEventSortOption||(e.AmityEventSortOption={})).StartTime="startTime",se.CreatedAt="createdAt",e.AmityEventOrderOption=void 0,(oe=e.AmityEventOrderOption||(e.AmityEventOrderOption={})).Ascending="asc",oe.Descending="desc",e.AmitySharableContentType=void 0,(ie=e.AmitySharableContentType||(e.AmitySharableContentType={})).POST="post",ie.COMMUNITY="community",ie.USER="user",ie.LIVESTREAM="livestream",ie.EVENT="event",e.AnalyticsSourceTypeEnum=void 0,(re=e.AnalyticsSourceTypeEnum||(e.AnalyticsSourceTypeEnum={})).POST="post",re.ROOM="room",e.UserNotificationModuleNameEnum=void 0,(ce=e.UserNotificationModuleNameEnum||(e.UserNotificationModuleNameEnum={})).CHAT="chat",ce.SOCIAL="social",ce.VIDEO_STREAMING="video-streaming",e.CommunityNotificationEventNameEnum=void 0,(de=e.CommunityNotificationEventNameEnum||(e.CommunityNotificationEventNameEnum={})).POST_CREATED="post.created",de.POST_REACTED="post.reacted",de.COMMENT_CREATED="comment.created",de.COMMENT_REPLIED="comment.replied",de.COMMENT_REACTED="comment.reacted",de.STORY_CREATED="story.created",de.STORY_REACTED="story.reacted",de.STORY_COMMENT_CREATED="story-comment.created",de.LIVESTREAM_START="video-streaming.didStart",e.NotificationSettingsLevelEnum=void 0,(le=e.NotificationSettingsLevelEnum||(e.NotificationSettingsLevelEnum={})).USER="user",le.COMMUNITY="community",le.CHANNEL="channel",e.NotificationRolesFilterTypeEnum=void 0,(ue=e.NotificationRolesFilterTypeEnum||(e.NotificationRolesFilterTypeEnum={})).ALL="all",ue.ONLY="only";const he=function(){try{return"v7.25.0-umd"}catch(e){return"__dev__"}}(),me=5,ge=20,pe="cache_then_server",ye="For using Live Collection feature you need to enable Cache!",ve="Observing unsynced object is not supported by Live Object.",fe=-5,be=1e3,Ie=6e5,Ce="/api/v1/feeds/for-you",we="dead",Se=6e4,Oe=e=>JSON.stringify(e,((e,t)=>{return"object"==typeof t?(n=t,Object.keys(n).sort().reduce(((e,t)=>Object.assign(Object.assign({},e),{[t]:n[t]})),{})):t;var n})),Te=e=>JSON.parse(e),Ae=(e,t)=>e===t||!(!e||!t)&&("object"==typeof e&&Object.keys(e).every((n=>Ae(e[n],t[n])))),Re=e=>[400400,400300].includes(e),Pe=e=>["skip"].some((t=>t in e)),De=e=>["after","before","first","last","limit"].some((t=>t in e)),Ue=e=>"limit"in e,ke=e=>(null==e?void 0:e.hasOwnProperty("data"))&&(null==e?void 0:e.hasOwnProperty("nextPage"))&&(null==e?void 0:e.hasOwnProperty("prevPage")),je=(e,n)=>{var a;if(!e||!Object.keys(e).length)return;let s={};return"skiplimit"===n?s={skip:null!==(a=e.after)&&void 0!==a?a:0,limit:e.limit}:"afterbefore"===n&&De(e)?((null==e?void 0:e.before)&&(s=Object.assign(Object.assign({},s),{before:e.before})),(null==e?void 0:e.after)&&(s=Object.assign(Object.assign({},s),{after:e.after})),Number.isNaN(Number(null==e?void 0:e.limit))||(s=Object.assign(Object.assign({},s),{limit:e.limit}))):"afterbeforeraw"===n&&(s=e),Object.keys(s).length?t.encode(JSON.stringify(s)):void 0},Ee=e=>{if(!e)return;const n=JSON.parse(t.decode(e));if(Pe(n))return{after:n.skip,limit:n.limit};if(De(n)){if("before"in n)return{before:n.before,limit:n.last};if("after"in n)return{after:n.after,limit:n.first}}},Me=e=>"locally"in e,qe=e=>"optimistically"in e,xe=e=>Me(e)||qe(e),Ke=e=>null==e?void 0:e.hasOwnProperty("cachedAt"),Ne=(e,t=6e4)=>{var n;return Date.now()-(null!==(n=null==e?void 0:e.cachedAt)&&void 0!==n?n:0)<=t},Fe=(e,...t)=>({func:e,args:t}),_e=(e,t=6e4)=>"cache_only"===e?{lifeSpan:1/0}:{lifeSpan:t<Se?Se:t},Be=({func:e,args:t},n,a=_e("cache_then_server"))=>{let s;const{lifeSpan:o}=_e("cache_then_server",a.lifeSpan);if(xe(e)){try{s=qe(e)?e.optimistically(...t):e.locally(...t)}catch(e){null==n||n($e(void 0,{origin:"local",loading:!1,error:e}))}const a=Ke(s)&&Ne(s,o);if(null==n||n($e(s,{origin:"local",loading:!(Me(e)&&a)})),a)return}else null==n||n($e(void 0,{origin:"local",loading:!0}));e(...t).then((e=>{null==n||n($e(e,{origin:"server",loading:!1}))})).catch((e=>{null==n||n($e(void 0,{origin:"server",loading:!1,error:e}))}))};function $e(e,t){return ke(e)||Ke(e)?Object.assign(Object.assign({},t),e):Object.assign(Object.assign({},t),{data:e})}class Le extends Error{constructor(e,t,n){super(`Amity SDK (${t}): ${e}`),this.code=t,this.level=n,this.type="ASC",this.timestamp=Date.now(),Error.captureStackTrace&&Error.captureStackTrace(this,Le)}}class Qe extends Le{constructor(e,t,n){super(e,t,n)}}class Je extends Le{constructor(e=8e5,t="fatal"){super("Unexpected error",e,t)}}class Ve extends Le{constructor(e,t="SDK client is having connection issues"){super(`${t} (${e})`,"disconnected"===e?800211:800210,"error"),this.event=e}}class He extends Le{constructor(e){super(e,800110,"error")}}let ze=null;const Ge=()=>{if(!ze)throw new Le("There is no active client",8e5,"fatal");return ze},Ye=e=>{ze=e},We={user:({userId:e})=>e,file:({fileId:e})=>e,role:({roleId:e})=>e,channel:({channelInternalId:e})=>e,subChannel:({subChannelId:e})=>e,channelUsers:({channelId:e,userId:t})=>`${e}#${t}`,archivedChannel:({channelId:e})=>e,message:({messageId:e,referenceId:t})=>null!=t?t:e,messagePreviewChannel:({channelId:e})=>`${e}`,messagePreviewSubChannel:({subChannelId:e})=>`${e}`,channelUnreadInfo:({channelId:e})=>e,subChannelUnreadInfo:({subChannelId:e})=>e,channelUnread:({channelId:e})=>e,channelMarker:({entityId:e,userId:t})=>`${e}#${t}`,subChannelMarker:({entityId:e,feedId:t,userId:n})=>`${e}#${t}#${n}`,messageMarker:({feedId:e,contentId:t,creatorId:n})=>`${e}#${t}#${n}`,feedMarker:({feedId:e,entityId:t})=>`${e}#${t}`,userMarker:({userId:e})=>e,community:({communityId:e})=>e,category:({categoryId:e})=>e,communityUsers:({communityId:e,userId:t})=>`${e}#${t}`,post:({postId:e})=>e,comment:({commentId:e})=>e,commentChildren:({commentId:e})=>e,poll:({pollId:e})=>e,reaction:({referenceType:e,referenceId:t})=>`${e}#${t}`,reactor:({reactionId:e})=>e,stream:({streamId:e})=>e,streamModeration:({streamId:e})=>e,follow:({from:e,to:t})=>`${e}#${t}`,followInfo:({userId:e})=>e,followCount:({userId:e})=>e,feed:({targetId:e,feedId:t})=>`${e}#${t}`,story:({referenceId:e})=>e,storyTarget:({targetId:e})=>e,ad:({adId:e})=>e,advertiser:({advertiserId:e})=>e,pin:({placement:e,referenceId:t})=>`${e}#${t}`,pinTarget:({targetId:e})=>e,notificationTrayItem:({_id:e})=>e,notificationTraySeen:({userId:e})=>e,invitation:({_id:e})=>e,joinRequest:({joinRequestId:e})=>e,room:({roomId:e})=>e,viewer:({userId:e})=>e,event:({eventId:e})=>e,eventResponse:({userId:e})=>e,product:({productId:e})=>e,feedMetadata:({postId:e})=>e},Xe=e=>We[e],Ze={users:"user",files:"file",roles:"role",stories:"story",storyTargets:"storyTarget",channels:"channel",messageFeeds:"subChannel",channelUsers:"channelUsers",archives:"archivedChannel",messages:"message",messagePreviewChannel:"messagePreviewChannel",messagePreviewSubChannel:"messagePreviewSubChannel",channelUnreadInfo:"channelUnreadInfo",subChannelUnreadInfo:"subChannelUnreadInfo",userEntityMarkers:"channelMarker",userFeedMarkers:"subChannelMarker",contentMarkers:"messageMarker",feedMarkers:"feedMarker",userMarkers:"userMarker",communities:"community",categories:"category",communityUsers:"communityUsers",posts:"post",postChildren:"post",comments:"comment",commentChildren:"comment",polls:"poll",reactors:"reactor",reactions:"reaction",videoStreamings:"stream",videoStreamingChildren:"stream",videoStreamModerations:"streamModeration",follows:"follow",followCounts:"followCount",feeds:"feed",ads:"ad",advertisers:"advertiser",pinTargets:"pinTarget",pins:"pin",notificationTrayItems:"notificationTrayItem",invitations:"invitation",joinRequests:"joinRequest",rooms:"room",events:"event",viewers:"viewer",eventResponses:"eventResponse",products:"product",feedMetadata:"feedMetadata"};function et(e=(new Date).toISOString()){return new Date(new Date(e).getTime()+1).toISOString()}const tt=e=>{const{log:t,cache:n}=Ge();if(n)return t("cache/api/queryCache",{key:e}),Object.keys(n.data).filter((t=>{const n=Te(t);return Ae(e,n)})).map((e=>n.data[e]))},nt=e=>{const{log:t,cache:n}=Ge();if(!n)return;t("cache/api/pullFromCache",e);const a=Oe(e);return n.data[a]?n.data[a]:void 0},at=(e,t,n={cachedAt:Date.now()})=>{const{log:a,cache:s}=Ge();if(!s)return!1;a("cache/api/pushToCache",{key:e,data:t,options:n}),!(null==n?void 0:n.hasOwnProperty("offline"))&&s.persistIf&&(n.offline=s.persistIf(e,t));const o=Oe(e);return s.data[o]=Object.assign({key:e,data:t},n),!0},st=(e,t,n)=>{const{log:a,cache:s}=Ge();if(!s)return!1;a("cache/api/mergeInCache",{key:e,mutation:t});const o=nt(e);if(!o)return!1;const i="function"==typeof t?t(o.data):Object.assign(Object.assign({},o.data),t);return r=o.data,!("updatedAt"in(c=i)&&"updatedAt"in r&&new Date(c.updatedAt)<new Date(r.updatedAt))&&(at(e,i,n),!0);var r,c},ot=(e,t,n={cachedAt:Date.now()})=>{const{log:a,cache:s}=Ge();if(!s)return!1;a("cache/api/upsertInCache",{key:e,data:t,options:n});return nt(e)?st(e,t,n):at(e,t,n)},it=(e,t=!1)=>{const{log:n,cache:a}=Ge();if(!a)return!1;if(n("cache/api/dropFromCache",{key:e,exact:t}),!t)return Object.keys(a.data).map((e=>Te(e))).filter((t=>Ae(e,t))).map((e=>it(e,!0))).every((e=>e));const s=Oe(e);return s in a.data&&(delete a.data[s],!0)},rt=(e,t,n)=>void 0!==n?e.filter((e=>JSON.stringify(e[t])===JSON.stringify(n))):e,ct=(e,t,n)=>void 0!==n?e.filter((e=>"string"==typeof e[t]&&"string"==typeof n&&String(e[t]).toLowerCase().match(n.toLowerCase()))):e,dt=(e,t,n)=>(null==n?void 0:n.length)?e.filter((e=>Array.isArray(e[t])&&n.some((n=>e[t].includes(n))))):e,lt=(e,t,n)=>"all"===t?e:e.filter((e=>{var a;if("community"===e.type)return!0;const s=Xe("channelUsers")({channelId:e.channelPublicId,userId:n}),o=null===(a=nt(["channelUsers","get",s]))||void 0===a?void 0:a.data;return"member"===t?o&&"none"!==o.membership:!o||"none"===o.membership})),ut=(e,t)=>e.filter((({targetId:e,feedId:n})=>{var a;const s=null===(a=nt(["feed","get",Xe("feed")({targetId:e,feedId:n})]))||void 0===a?void 0:a.data;return s&&s.feedType===t})),ht=(e,t,n)=>"all"===t?e:e.filter((e=>{var a;const s=Xe("communityUsers")({communityId:e.communityId,userId:n}),o=null===(a=nt(["communityUsers","get",s]))||void 0===a?void 0:a.data;return"member"===t?o&&"member"===o.communityMembership:!o||"none"!==o.communityMembership})),mt=(e,t)=>e.reduce(((e,n)=>{var a;if(null==t?void 0:t.includes(n.dataType))return[...e,n];if(((null==n?void 0:n.children)||[]).length>0){const s=null===(a=nt(["post","get",n.children[0]]))||void 0===a?void 0:a.data;return(null==t?void 0:t.includes(null==s?void 0:s.dataType))?e:[...e,n]}return e}),[]),gt=(e,t)=>{const n=new RegExp(t,"i");return e.filter((e=>{var t;return!!e.userId.match(n)||e.user&&(null===(t=e.user.displayName)||void 0===t?void 0:t.match(n))}))},pt=()=>{var e;const{userId:t}=Ge(),n=new Set;return(null!==(e=tt(["follow","get"]))&&void 0!==e?e:[]).map((e=>e.data)).filter((e=>"blocked"===(null==e?void 0:e.status)&&(e.from===t||e.to===t))).forEach((e=>{n.add(e.from===t?e.to:e.from)})),n},yt=e=>{const t=pt();return 0===t.size?e:e.filter((e=>{var n,a;if(t.has(e.postedUserId))return!1;return!(null!==(a=null===(n=e.mentionees)||void 0===n?void 0:n.flatMap((e=>"user"===e.type?e.userIds:[])))&&void 0!==a?a:[]).some((e=>t.has(e)))}))},vt=e=>{const t=pt();return 0===t.size?e:e.filter((e=>!t.has(e.userId)))},ft=({displayName:e},{displayName:t})=>e&&t?e.localeCompare(t):e?-1:1,bt=({name:e},{name:t})=>e&&t?e.localeCompare(t):e?-1:1,It=({createdAt:e},{createdAt:t})=>new Date(e).valueOf()-new Date(t).valueOf(),Ct=({localSortingDate:e},{localSortingDate:t})=>new Date(t).getTime()-new Date(e).getTime(),wt=({createdAt:e},{createdAt:t})=>new Date(t).valueOf()-new Date(e).valueOf(),St=({updatedAt:e=0},{updatedAt:t=0})=>new Date(e).valueOf()-new Date(t).valueOf(),Ot=({updatedAt:e=0},{updatedAt:t=0})=>new Date(t).valueOf()-new Date(e).valueOf(),Tt=({lastActivity:e},{lastActivity:t})=>new Date(t).valueOf()-new Date(e).valueOf(),At=e=>{if(void 0===e)return;const t=new Date(e).valueOf();if(!Number.isNaN(t))return e;console.warn("untilAt is an invalid Date — ignoring, pagination will not be bounded")},Rt=(e,t,n)=>{const a=new Date(e).valueOf(),s=new Date(t).valueOf();return"firstCreated"===n?a>=s:a<=s};let Pt=null;const Dt=()=>{if(!Pt)throw new Le("Connect client first",8e5,"fatal");return Pt},Ut=e=>{Pt={_id:e._id,userId:e.userId,path:e.path}};let kt,jt=[];const Et=e=>{clearTimeout(kt),jt.push(e),kt=setTimeout((()=>{jt.forEach((e=>e())),jt=[]}),0)},Mt=["connect","message","disconnect","error","close","end","reconnect","video-streaming.didStart","video-streaming.didRecord","video-streaming.didStop","video-streaming.didFlag","video-streaming.didTerminate","video-streaming.viewerDidBan","video-streaming.viewerDidUnban","liveReaction.created"],qt=(e,t,n,a)=>{const{log:s,emitter:o}=e,i=Date.now();s(`${t}(tmpid: ${i}) > listen`);const r=(...e)=>{s(`${t}(tmpid: ${i}) > trigger`,e);try{a(...e)}catch(e){s(`${t}(tmpid: ${i}) > error`,e)}};return o.on(n,r),()=>{s(`${t}(tmpid: ${i}) > dispose`),o.off(n,r)}},xt=(e,t)=>{const{emitter:n}=Ge();Et((()=>{n.emit(e,t)}))};let Kt,Nt;async function Ft(){var e;const{mqtt:t,emitter:n,token:a}=Ge();if(!t)return;const s=null!==(e=null==a?void 0:a.accessToken)&&void 0!==e?e:"",o=Dt();Kt===s&&Nt===o._id||(Kt=s,Nt=o._id,await t.connect({accessToken:Kt,userId:Nt}),((e,t)=>{Mt.forEach((n=>{null==e||e.on(n,((...e)=>{t.emit(n,1===e.length?e[0]:e)}))})),e.on("message",((e,n)=>{const a=JSON.parse(n.toString());t.emit(a.eventType,a.data)}))})(t,n))}const _t=e=>Object.assign(Object.assign({},e),{get avatar(){var t;if(!e.avatarFileId)return;return null===(t=nt(["file","get",`${e.avatarFileId}`]))||void 0===t?void 0:t.data}}),Bt=()=>{var e;const t=Ge();if(!t)throw new Le("Connect client first",8e5,"fatal");const n=null===(e=nt(["user","get",t.userId]))||void 0===e?void 0:e.data;return n?_t(n):null};var $t;e.SubscriptionLevels=void 0,($t=e.SubscriptionLevels||(e.SubscriptionLevels={})).COMMUNITY="community",$t.POST="post",$t.COMMENT="comment",$t.POST_AND_COMMENT="post_and_comment",$t.USER="user";const Lt=(e,t)=>{switch(t){case"post":return`${e}/post/+`;case"comment":return`${e}/post/+/comment/+`;case"post_and_comment":return`${e}/post/#`;default:return e}},Qt=e=>e.path.split("/user/")[0],Jt=()=>{const e=Dt();return`${Qt(e)}/membership/${e._id}/+/+`},Vt=()=>{const e=Dt();return`${Qt(e)}/membership/+/${e._id}/+`},Ht=({channelId:e,subChannelId:t})=>{const n=Dt();return`${Qt(n)}/marker/channel/${e}/message/${t}`},zt=()=>Qt(Dt()),Gt=()=>{const e=Dt();return`${Qt(e)}/smartfeed/${e._id}/channels`},Yt=()=>{const e=Dt();return`${Qt(e)}/smartfeed/${e._id}/messagefeeds`},Wt=()=>{const e=Dt();return`${Qt(e)}/smartfeed/${e._id}/messages`},Xt=()=>{const e=Dt();return`${Qt(e)}/videostreaming`};function Zt(e,t){const{mqtt:n}=Ge();return n?(Ft(),n.subscribe(e,t)):()=>null}var en;const tn="object"==typeof globalThis?globalThis:"object"==typeof global?global:window,{process:nn={}}=tn,an="production"===(null===(en=nn.env)||void 0===en?void 0:en.NODE_ENV),sn={EU:"eu",SG:"sg",US:"us"},on={http:"https://apix.{region}.amity.co",upload:"https://upload.{region}.amity.co",mqtt:"wss://sse.{region}.amity.co:443/mqtt"};function rn(e,t){return on[e].replace("{region}",t)}class cn{constructor(){this._listener=new Map}onNetworkActivities(e){return this._listener.set(e,e),()=>{this._listener.delete(e)}}setNetworkActivities(e,t){this._listener.forEach((n=>n(e,t)))}destroy(){this._listener.clear()}}let dn;var ln,un=()=>(dn||(dn=new cn),dn);!function(e){e.UserDeleted="User Deleted",e.UserGlobalBanned="User Global Banned",e.TokenExpired="Token Expired"}(ln||(ln={}));let hn=new AbortController;const mn=e=>{switch(e){case ln.UserGlobalBanned:throw new Le(e,400312,"fatal");case ln.UserDeleted:throw new Le(e,400100,"fatal");case ln.TokenExpired:throw xt("tokenExpired","tokenExpired"),new Le(e,800403,"fatal");default:throw new Le("Request Aborted",8e5,"error")}};let gn=0;const pn=e=>{const t={maxSockets:100,maxFreeSockets:10,timeout:6e4,freeSocketTimeout:3e4},n=C.default.create({baseURL:e,httpAgent:new w.default(t),httpsAgent:new o.HttpsAgent(t),signal:hn.signal});return n.defaults.withCredentials=!1,n.interceptors.request.use((e=>{if("/api/v5/sessions"===e.url)return e;if(e.metadata){const{tokenExpiry:t,isGlobalBanned:n,isUserDeleted:a}=e.metadata;n&&(hn.abort(),mn(ln.UserGlobalBanned)),a&&(hn.abort(),mn(ln.UserDeleted))}return e})),n.interceptors.response.use((e=>{var t;const n=new Headers;Object.entries(e.headers).forEach((([e,t])=>{"string"==typeof t&&n.append(e,t)}));const a=(e.config.baseURL||"")+(e.config.url||""),s=null===(t=e.config.method)||void 0===t?void 0:t.toUpperCase(),o={method:s,headers:e.config.headers};return"GET"!==s&&"HEAD"!==s&&(o.body=e.config.data),un().setNetworkActivities(new Request(a,o),{data:e.data,status:e.status,statusText:e.statusText,headers:n}),e}),(e=>{var t,n,a;const{response:s}=e;if(400100===(null==s?void 0:s.data.code)&&xt("tokenTerminated","terminated"),400323===(null===(t=null==s?void 0:s.data)||void 0===t?void 0:t.code))throw function(){const e=Date.now();e-gn<2e3||(gn=e,xt("visitorUsageLimitReached",void 0))}(),new Le("Visitor usage limit exceeded",400323,"error");if((null===(n=null==s?void 0:s.data)||void 0===n?void 0:n.status)&&(e=>{if("success"===e.status)return e.data;if("fail"===e.status)throw new Je(e.code);if("error"===e.status)throw new Qe(e.message,e.code,"error")})(null==s?void 0:s.data),hn.signal.aborted)throw e;throw new Error(null!==(a=null==s?void 0:s.data)&&void 0!==a?a:e)})),n.defaults.paramsSerializer={encode:e=>encodeURIComponent(e)},n};class yn{constructor(){this._sessionState="notLoggedIn",this._listener=new Map}onSessionStateChange(e){return this._listener.set(e,e),()=>{this._listener.delete(e)}}setSessionState(e,t){this._sessionState!==e&&(this._sessionState=e,this._listener.forEach((n=>n(e,t))))}destroy(){this._listener.clear()}}let vn;var fn=()=>(vn||(vn=new yn),vn);const bn=e=>fn().onSessionStateChange(e),In={[e.AmityAutoSubscription.NETWORK]:[zt],[e.AmityAutoSubscription.CHAT]:[Gt,Yt,Wt],[e.AmityAutoSubscription.LIVESTREAM]:[Xt],[e.AmityAutoSubscription.BLOCK]:[Jt,Vt]},Cn=[e.AmityAutoSubscription.CHAT,e.AmityAutoSubscription.NETWORK,e.AmityAutoSubscription.LIVESTREAM,e.AmityAutoSubscription.BLOCK],wn=Object.values(e.AmityAutoSubscription);class Sn{constructor(){this.refCountByFeature=new Map,this.disposers=new Map,this.seed()}seed(){this.refCountByFeature.clear(),Cn.forEach((e=>this.refCountByFeature.set(e,1)))}isActive(e){var t;return(null!==(t=this.refCountByFeature.get(e))&&void 0!==t?t:0)>0}subscribeTopics(e){this.unsubscribeTopics(e),this.disposers.set(e,In[e].map((e=>Zt(e()))))}unsubscribeTopics(e){var t;(null!==(t=this.disposers.get(e))&&void 0!==t?t:[]).forEach((e=>e())),this.disposers.delete(e)}initialize(){wn.forEach((e=>{this.isActive(e)&&this.subscribeTopics(e)}))}subscribe(e){var t;const n=(null!==(t=this.refCountByFeature.get(e))&&void 0!==t?t:0)+1;this.refCountByFeature.set(e,n),1===n&&this.subscribeTopics(e)}unsubscribe(e){var t;const n=Math.max(0,(null!==(t=this.refCountByFeature.get(e))&&void 0!==t?t:0)-1);this.refCountByFeature.set(e,n),0===n&&this.unsubscribeTopics(e)}subscriptions(){return wn.map((e=>({feature:e,isActive:this.isActive(e),isSystem:!0,topicCount:In[e].length})))}reset(){wn.forEach((e=>this.unsubscribeTopics(e))),this.disposers.clear(),this.seed()}}let On=null;const Tn=()=>(On||(On=new Sn),On);class An{constructor(){this.store={},this.store={}}clear(){this.store={}}getItem(e){return this.store[e]||null}setItem(e,t){this.store[e]=String(t)}removeItem(e){delete this.store[e]}get length(){return Object.keys(this.store).length}key(e){return Object.keys(this.store)[e]||null}}const Rn=()=>"undefined"!=typeof window&&window.localStorage?window:{localStorage:new An},Pn=async(e,t)=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product?(await O.default.setItem(e,t),!0):new Promise((n=>{Rn().localStorage.setItem(e,t),n(!0)})),Dn=async e=>{if("undefined"!=typeof navigator&&"ReactNative"===navigator.product){return await O.default.getItem(e)}return new Promise((t=>{t(Rn().localStorage.getItem(e))}))},Un=()=>T.default.v4().toString();let kn=0;if("undefined"!=typeof BroadcastChannel&&"undefined"!=typeof window){const e=Un(),t={},n=new BroadcastChannel("amity_ts_sdk");let a;n.postMessage({type:"startup",tabId:e}),n.onmessage=({data:s})=>{s.tabId!==e&&("startup"===s.type&&n.postMessage({type:"identify",tabId:e,tabIndex:kn}),"identify"===s.type&&void 0!==s.tabIndex&&s.tabId&&(t[s.tabId]=s.tabIndex,a||(a=setTimeout((()=>{const e=Object.values(t).sort();e&&0!==e.length&&(kn=e.reduce(((e,t)=>e<t?e:t+1),0))}),15))))}}const jn=async()=>{var e;const t=`${null!==(e=Ge().prefixDeviceIdKey)&&void 0!==e?e:""}#deviceId`,n=await Dn(t);if(n)return n;const a=`ascWebSdk#${Un()}`;return await Pn(t,a),a},En=()=>{const e=(()=>{var e,t;return(null===(e=nn.versions)||void 0===e?void 0:e.node)?nn.versions.node:navigator?`${navigator.product.toLowerCase()}#${null!==(t=navigator.userAgent)&&void 0!==t?t:"unknown_agent"}`:"unknown_model"})();return{kind:"web",model:e,sdkVersion:he}},Mn=1e3;var qn;!function(e){e[e.IDENTIFIER_REJECTED=2]="IDENTIFIER_REJECTED",e[e.CLIENT_IDENTIFIER_NOT_VALID=133]="CLIENT_IDENTIFIER_NOT_VALID",e[e.BAD_USERNAME_OR_PASSWORD=134]="BAD_USERNAME_OR_PASSWORD",e[e.NOT_AUTHORIZED=135]="NOT_AUTHORIZED"}(qn||(qn={}));const xn=e=>{let t,n="disconnected";const a=new Set,s=e=>{n!==e&&(n=e,a.forEach((t=>{t(e)})))},o=new Map;function i(e,n,a){const s=(t,s)=>{var r;if(t||128===(null===(r=null==s?void 0:s[0])||void 0===r?void 0:r.qos))if(n<2){const t=Math.min(2**n*1e3,5e3);console.warn(`Failed to subscribe to topic ${e} (attempt ${n+1}/3). Retrying in ${t}ms.`);const s=setTimeout((()=>{i(e,n+1,a)}),t);o.set(e,{timer:s,callback:a})}else{o.delete(e);const n=t?new Le(t.message,8e5,"error"):new Je(8e5,"error");console.warn(`Failed to subscribe to topic ${e} after 3 attempts`,n),null==a||a(n)}else o.delete(e),console.log(`Subscribed to topic ${e}`),null==a||a()};t?t.subscribe(e,{qos:0},s):s(new Error("No connection to broker"),[])}return{connect:async function(n){const a=await(async e=>`mqttjs_${await jn()}_${e}_${kn}`)(n.userId);return s("connecting"),t&&(s("disconnecting"),t.removeAllListeners(),t.end(!0)),t=S.default.connect(e,function(e){return Object.assign({clean:!1,clientId:`mqttjs_ + ${Math.random().toString(16).substring(2,10)}`,protocolId:"MQTT",protocolVersion:5,reconnectPeriod:Mn,resubscribe:!0,keepalive:30,properties:{sessionExpiryInterval:4294967295}},e)}({username:n.userId,password:n.accessToken,clientId:a})),t.on("connect",(()=>{t.options.reconnectPeriod=Mn,s("connected"),Tn().initialize()})),t.on("error",(e=>{switch("code"in e?e.code:void 0){case 2:case 133:case 134:case 135:t.end(),s("disconnected")}})),t.on("reconnect",(()=>{s("reconnecting"),t.options.reconnectPeriod=Math.min(2*(t.options.reconnectPeriod||Mn),8e3)})),t.on("close",(()=>{o.forEach((({timer:e})=>clearTimeout(e))),o.clear()})),new Promise((e=>t.once("connect",(()=>e()))))},async disconnect(){if(this.connected)return new Promise((e=>null==t?void 0:t.end(!0,void 0,(()=>e()))))},reconnect:async()=>new Promise((e=>{null==t||t.reconnect(),e()})),listen:e=>(a.add(e),n&&e(n),()=>{a.delete(e)}),get connected(){return!!(null==t?void 0:t.connected)},on(e,n){null==t||t.on(e,n)},once(e,n){null==t||t.once(e,n)},off(e,n){void 0!==n?null==t||t.off(e,n):null==t||t.removeAllListeners(e)},removeAllListeners(){null==t||t.removeAllListeners()},subscribe(e,t){return i(e,0,t),()=>this.unsubscribe(e)},unsubscribe(e){var n;const a=o.get(e);if(void 0!==a){clearTimeout(a.timer),o.delete(e);const t=new Le("Subscription retry cancelled due to unsubscribe call",8e5,"error");null===(n=a.callback)||void 0===n||n.call(a,t)}null==t||t.unsubscribe(e)}}},Kn=async()=>{const e=Ge(),{data:t}=await e.http.get("/api/v3/network-settings/chat");return t},Nn=(e={},t,n=!0)=>{Object.entries(e).forEach((([e,a])=>{const s=Ze[e];if(!s)return;const o=Xe(s);o&&a&&a.forEach((e=>{(n?at:ot)([s,"get",o(e)],e,t)}))}))},Fn=(e,t)=>{const{log:n,cache:a}=Ge(),s=[e,we,t],o={cachedAt:Date.now()};a&&(n("cache/api/pushToTombstone",{cacheKey:s,data:o}),it([e,"get",t],!0),at(s,o))};function _n(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(a=Object.getOwnPropertySymbols(e);s<a.length;s++)t.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(e,a[s])&&(n[a[s]]=e[a[s]])}return n}const Bn=(e,t="userId",n="user")=>{var a;return null!==(a=null==e?void 0:e.map((e=>((e,t="userId",n="user")=>e[n]?e:Object.assign({get[n](){var n;if(!Ge().cache)return;return(null===(n=nt(["user","get",e[t]]))||void 0===n?void 0:n.data)||void 0}},e))(e,t,n))))&&void 0!==a?a:e},$n=(e,t,n="userId",a="user")=>{const s=e,o=t,i=s[o],r=_n(s,["symbol"==typeof o?o:o+""]),c=Bn(i,n,a);return Object.assign(Object.assign({},r),{[t]:c})};function Ln(e){return e.map((e=>{var{isMentioned:t}=e,n=_n(e,["isMentioned"]);return Object.assign({hasMentioned:t},n)}))}function Qn(e){return Ln(e)}function Jn(e){return Ln(e)}const Vn=e=>{var t,n;return null!==(n=null===(t=nt(["messagePreviewChannel","get",e]))||void 0===t?void 0:t.data)&&void 0!==n?n:null},Hn=e=>new Date(e).getTime(),zn=e=>{var t,n;return null!==(n=null===(t=nt(["messagePreviewSubChannel","get",e]))||void 0===t?void 0:t.data)&&void 0!==n?n:null},Gn=e=>{var t;const n=e.messagePreviewId?zn(e.subChannelId):null,a=n?Object.assign(Object.assign({},n),{user:null===(t=nt(["user","get",null==n?void 0:n.creatorId]))||void 0===t?void 0:t.data}):null;return Object.assign(Object.assign({},e),{messagePreview:a})},Yn=e=>{var t,n;const a={messagePreviewSubChannel:null!==(n=null===(t=e.messages)||void 0===t?void 0:t.map((t=>(t=>{var n;const a=null===(n=e.messageFeeds)||void 0===n?void 0:n.find((e=>e.messageFeedId===t.messageFeedId)),{channelPublicId:s,messageFeedId:o,messageId:i,creatorPublicId:r,data:c,dataType:d,isDeleted:l,segment:u,createdAt:h,updatedAt:m}=t;return{messagePreviewId:i,channelId:s,subChannelId:o,data:c,dataType:d,isDeleted:l,segment:u,creatorId:r,createdAt:h,updatedAt:m,subChannelName:null==a?void 0:a.name,subChannelUpdatedAt:null==a?void 0:a.updatedAt}})(t))))&&void 0!==n?n:[]};Nn(a)};function Wn(e,t){return Object.create(Object.getPrototypeOf(e),Object.assign(Object.assign({},Object.getOwnPropertyDescriptors(e)),Object.getOwnPropertyDescriptors(t)))}function Xn(e,t,n){at(["subChannel","get",e],Wn(t,n))}const Zn=(e,t)=>{const{log:n,cache:a}=Ge(),s=[e,we,t];if(!a)return;n("cache/api/isInTombstone",s);const o=nt(s),{lifeSpan:i}=_e("cache_then_server",18e4);if(o&&Ne(o.data,i))throw new Qe("Item not found!",400400,"error")},ea=e=>{var t;const n=["channelUnreadInfo","get",e],a=null===(t=nt(n))||void 0===t?void 0:t.data,s=tt(["subChannelUnreadInfo","get"]);let o=0,i=!1;if(s&&(null==s?void 0:s.length)>0){const t=null==s?void 0:s.filter((({data:t})=>t.channelId===e&&!t.isDeleted));o=t.map((({data:e})=>e.unreadCount)).reduce(((e,t)=>e+t),0),i=t.some((({data:e})=>e.isMentioned))}const r=Object.assign(Object.assign({},null!=a?a:{channelId:e,createdAt:(new Date).toISOString()}),{updatedAt:(new Date).toISOString(),unreadCount:o,isMentioned:i});return at(n,r),r},ta=e=>{const{feedMarkers:t,userFeedMarkers:n}=e;if(t.length>0&&n.length>0){const e=[],a=new Map(t.map((e=>[e.feedId,e])));n.forEach((t=>{const n=a.get(t.feedId);if(n&&n.feedId===t.feedId){const a=n.lastSegment-t.readToSegment,s={subChannelId:n.feedId,channelId:n.entityId,readToSegment:t.readToSegment,lastSegment:n.lastSegment,lastMentionSegment:t.lastMentionSegment,unreadCount:Math.max(0,a),isMentioned:t.isMentioned,isDeleted:n.isDeleted,createdAt:t.createdAt,updatedAt:t.updatedAt};Nn({subChannelUnreadInfo:[s]}),e.includes(n.entityId)||e.push(n.entityId)}})),e.forEach((e=>{ea(e)}))}},na=async()=>{const e=Ge();e.log("channel/getUserMarker");const{data:t}=await e.http.get("/api/v1/markers/userMarker"),{userMarkers:n}=t,a=e.cache&&Date.now();e.cache&&Nn({userMarkers:n},{cachedAt:a}),xt("local.userMarker.fetched",{userMarkers:n});return{data:n.reduce(((e,t)=>null==e||new Date(e.lastSyncAt).getTime()<new Date(t.lastSyncAt).getTime()?t:e),void 0),cachedAt:a}},aa=e=>{var t,n;const a=null===(t=nt(["message","get",e]))||void 0===t?void 0:t.data;if(a)return a;const s=tt(["message","get"]);return null===(n=null==s?void 0:s.find((({data:t})=>t.messageId===e)))||void 0===n?void 0:n.data},sa=e=>!0===e&&void 0;function oa(e,t,n){var a,s;if(n)return n.hasMentioned;const o=Ge();if(o.isUnreadCountEnabled&&o.getMarkerSyncConsistentMode()){const e=null===(a=nt(["subChannelUnreadInfo","get",t]))||void 0===a?void 0:a.data;return!!e&&e.isMentioned}const i={entityId:e,feedId:t,userId:Dt()._id},r=null===(s=nt(["subChannelMarker","get",Xe("subChannelMarker")(i)]))||void 0===s?void 0:s.data;return!!r&&r.hasMentioned}const ia=["broadcast","conversation","community"],ra=({channelType:e})=>ia.includes(e);function ca(e){var{channelId:t,channelPublicId:n,channelType:a,childCount:s,creatorId:o,creatorPublicId:i,lastMessageId:r,lastMessageTimestamp:c,messageFeedId:d,name:l}=e,u=_n(e,["channelId","channelPublicId","channelType","childCount","creatorId","creatorPublicId","lastMessageId","lastMessageTimestamp","messageFeedId","name"]);return Object.assign(Object.assign({get unreadCount(){return function(e,t,n){var a,s;if(n)return n.unreadCount;const o=Ge();if(o.isUnreadCountEnabled&&o.getMarkerSyncConsistentMode()){const e=null===(a=nt(["subChannelUnreadInfo","get",t]))||void 0===a?void 0:a.data;return e?e.isDeleted?0:e.unreadCount:0}const i={entityId:e,feedId:t,userId:Dt()._id},r=null===(s=nt(["subChannelMarker","get",Xe("subChannelMarker")(i)]))||void 0===s?void 0:s.data;return r?r.unreadCount:0}(t,d)},get hasMentioned(){return oa(t,d)},get isMentioned(){return oa(t,d)}},u),{channelId:n,creatorId:i,displayName:l,lastActivity:c,latestMessageId:r,messageCount:s,subChannelId:d,isUnreadCountSupport:ra({channelType:a})})}function da(e,t,n){var a;const s=(e=>{var t,n,a;const s=null===(n=null===(t=tt(["message","get"]))||void 0===t?void 0:t.find((({data:t})=>t.messageId===e.messageId)))||void 0===n?void 0:n.data;return s?Object.assign(Object.assign(Object.assign({},s),e),{referenceId:null!==(a=s.referenceId)&&void 0!==a?a:e.referenceId}):e})(e),{channelPublicId:o,childCount:i,creatorPublicId:r,mentionedUsers:c,messageFeedId:d,myReactions:l,reactionCount:u,reactions:h,referenceId:m,segment:g,messageId:p,creatorId:y}=s,v=_n(s,["channelPublicId","childCount","creatorPublicId","mentionedUsers","messageFeedId","myReactions","reactionCount","reactions","referenceId","segment","messageId","creatorId"]);let f;m&&(f=nt(["message","get",m])),f||(f=nt(["message","get",p]));const b=Object.assign(Object.assign({},v),{messageId:p,channelId:o,channelSegment:g,childrenNumber:i,creatorId:r,creatorPrivateId:e.creatorId,reactions:null!=h?h:{},myReactions:l||(null!==(a=null==f?void 0:f.data.myReactions)&&void 0!==a?a:[]),reactionsCount:u,subChannelId:d,uniqueId:f?f.data.uniqueId:p,referenceId:m,syncState:"synced"});return c&&(b.mentionees=c.map((e=>"channel"===e.type?e:{type:"user",userIds:e.userPublicIds}))),t&&t.length&&n&&((e,t,n)=>{const a=Ge(),s=aa(e.messageId),o=(null==s?void 0:s.myReactions)||[];Object.assign(e,{myReactions:o});const i=t[0];i&&i.userId===a.userId&&("message.reactionAdded"!==n||o.includes(i.reactionName)||Object.assign(e,{myReactions:[...o,i.reactionName]}),"message.reactionRemoved"===n&&o.includes(i.reactionName)&&Object.assign(e,{myReactions:o.filter((e=>e!==i.reactionName))}))})(b,t,n),b}const la={},ua=async(e,t)=>{const n=e.messages.map((({messageId:e})=>e));if(n.length>0){Nn({messages:(a=e).messages.map((e=>da(e,a.reactions)))});const t=n.join("");la[t]&&clearTimeout(la[t]),la[t]=setTimeout((()=>{try{(async e=>{const t=Ge();t.log("channel/getMessageMarkers",e);const{data:n}=await t.http.get("/api/v1/markers/messages",{params:{messageIds:e}}),{contentMarkers:a,feedMarkers:s,userMarkers:o}=n,i=t.cache&&Date.now();t.cache&&Nn({contentMarkers:a,feedMarkers:s,userMarkers:o},{cachedAt:i}),xt("local.feedMarker.fetched",{feedMarkers:s}),xt("local.messageMarker.fetched",{contentMarkers:a}),xt("local.userMarker.fetched",{userMarkers:o})})(n)}catch(e){}}),2e3)}var a;const{messageFeeds:s}=e,o=_n(e,["messageFeeds"]);return s&&s.length>0&&(null==s||s.forEach((e=>{var t,n;const a=null!==(n=null===(t=nt(["subChannel","get",e.messageFeedId]))||void 0===t?void 0:t.data)&&void 0!==n?n:{},s=_n(ca(e),["unreadCount","isMentioned"]);Xn(e.messageFeedId,a,s)}))),Object.assign(Object.assign({},o),{messages:e.messages.map((n=>da(n,e.reactions,t)))})};function ha(e){var{subChannelId:t,mentionees:n,dataType:a,data:s}=e,o=_n(e,["subChannelId","mentionees","dataType","data"]);return a===B.IMAGE||a===B.FILE?Object.assign({messageFeedId:t,mentionedUsers:n,dataType:a,data:Object.assign({caption:""},s)},o):Object.assign({messageFeedId:t,mentionedUsers:n,dataType:a,data:s},o)}function ma(e){var{sortBy:t,subChannelId:n,includingTags:a,excludingTags:s,includeDeleted:o,aroundMessageId:i,limit:r,type:c}=e,d=_n(e,["sortBy","subChannelId","includingTags","excludingTags","includeDeleted","aroundMessageId","limit","type"]);const l=Object.assign(Object.assign({},d),{messageFeedId:n,isDeleted:sa(o),options:{sortBy:t,limit:r||me,around:i}});return a&&(l.includeTags=a),c&&(l.dataType=c),s&&(l.excludeTags=s),l}function ga(e){return Object.assign(Object.assign({},e),{isGlobalBanned:(null==e?void 0:e.isGlobalBan)||!1})}const pa=["broadcast","conversation","community"],ya=({channelType:e})=>pa.includes(e),va=async e=>{const t=e.messageFeeds.filter(ya).map((({messageFeedId:e})=>e));if(t.length>0){(e=>{Nn({messageFeeds:e.messageFeeds.map((e=>ca(e)))})})(e);try{await(async(e,t={limit:100})=>{const n=Ge();n.log("channel/getSubChannelMarkers",e,t);const{data:a}=await n.http.get("/api/v1/markers/message-feeds",{params:{messageFeedIds:e,options:{token:je(t,"skiplimit")}}}),{paging:s}=a,o=_n(a,["paging"]),{userEntityMarkers:i,userFeedMarkers:r,userMarkers:c,feedMarkers:d}=o;n.isUnreadCountEnabled&&n.getMarkerSyncConsistentMode()&&ta({feedMarkers:d,userFeedMarkers:r});const l=Qn(i),u=Jn(r),h=n.cache&&Date.now();n.cache&&Nn({userEntityMarkers:l,userFeedMarkers:u,userMarkers:c},{cachedAt:h}),xt("local.channelMarker.fetched",{userEntityMarkers:l}),xt("local.subChannelMarker.fetched",{userFeedMarkers:u}),xt("local.userMarker.fetched",{userMarkers:c});const m=Ee(s.next);return{data:u,cachedAt:h,prevPage:Ee(s.previous),nextPage:m}})(t)}catch(e){}}Yn(e);const n=e.messageFeeds.map(ca),a=e.messages.map((e=>da(e))),s=e.users.map(ga);return Object.assign(Object.assign({},e),{messageFeeds:n,messages:a,users:s})};const fa=async e=>{const t=Ge();t.log("channel/getSubChannel",e),Zn("subChannel",e);try{const n=await t.http.get(`/api/v5/message-feeds/${encodeURIComponent(e)}`),a=await va(n.data),s=t.cache&&Date.now();return t.cache&&Nn(a,{cachedAt:s}),xt("local.message-feed.fetched",a),{data:a.messageFeeds[0],cachedAt:s}}catch(t){throw Re(null==t?void 0:t.code)&&Fn("subChannel",e),t}};fa.locally=e=>{const t=Ge();if(t.log("channel/getSubChannel.locally",e),!t.cache)return;const n=nt(["subChannel","get",e]);return n?{data:n.data,cachedAt:n.cachedAt}:void 0};const ba=async e=>{var t;let n=null===(t=nt(["subChannel","get",e]))||void 0===t?void 0:t.data;return n||(n=(await fa(e)).data),n},Ia=async e=>{const t=await(async()=>Ge().getMessagePreviewSetting(!1))(),{channelId:n,messageId:a,creatorId:s,createdAt:o,updatedAt:i,data:r,dataType:c,subChannelId:d,channelSegment:l,isDeleted:u}=e,h=await ba(d);"no-message-preview"!==t?(e=>{var t;const n=null===(t=nt(["messagePreviewSubChannel","get",e.subChannelId]))||void 0===t?void 0:t.data;return!n||n.segment<=e.channelSegment||Hn(n.createdAt)<=Hn(e.createdAt)})(e)&&(at(["messagePreviewSubChannel","get",e.subChannelId],{channelId:n,creatorId:s,messagePreviewId:a,createdAt:o,updatedAt:i,subChannelId:d,data:r,dataType:c,segment:l,isDeleted:u,subChannelUpdatedAt:null==h?void 0:h.updatedAt,subChannelName:null==h?void 0:h.displayName}),Xn(e.subChannelId,h,{lastActivity:o,messagePreviewId:a})):Hn(h.lastActivity)<Hn(o)&&Xn(e.subChannelId,h,{lastActivity:o})},Ca=async e=>{var t;const{channelId:n,messageId:a,creatorId:s,createdAt:o,updatedAt:i,data:r,dataType:c,subChannelId:d,channelSegment:l,isDeleted:u}=e,h=null===(t=nt(["messagePreviewSubChannel","get",e.subChannelId]))||void 0===t?void 0:t.data;if(h&&h.messagePreviewId===e.messageId){const t=await ba(d);at(["messagePreviewSubChannel","get",e.subChannelId],{channelId:n,creatorId:s,messagePreviewId:a,createdAt:o,updatedAt:i,subChannelId:d,data:r,dataType:c,segment:l,isDeleted:u,subChannelUpdatedAt:t.updatedAt,subChannelName:h.subChannelName})}},wa=async e=>{const{channelId:t,messageId:n,creatorId:a,createdAt:s,updatedAt:o,data:i,dataType:r,subChannelId:c,channelSegment:d,isDeleted:l}=e;if((e=>{var t;const n=null===(t=nt(["messagePreviewChannel","get",e.channelId]))||void 0===t?void 0:t.data;return!n||Hn(n.createdAt)<=Hn(e.createdAt)})(e)){const u=await ba(c);at(["messagePreviewChannel","get",e.channelId],{channelId:t,creatorId:a,messagePreviewId:n,createdAt:s,updatedAt:o,subChannelId:c,data:i,dataType:r,segment:d,isDeleted:l,subChannelUpdatedAt:null==u?void 0:u.updatedAt,subChannelName:null==u?void 0:u.displayName})}},Sa=async e=>{var t;const{channelId:n,messageId:a,creatorId:s,createdAt:o,updatedAt:i,data:r,dataType:c,subChannelId:d,channelSegment:l,isDeleted:u}=e,h=null===(t=nt(["messagePreviewChannel","get",e.channelId]))||void 0===t?void 0:t.data;if(h&&h.messagePreviewId===e.messageId){const t=await ba(d);at(["messagePreviewChannel","get",e.channelId],{channelId:n,creatorId:s,messagePreviewId:a,createdAt:o,updatedAt:i,subChannelId:d,data:r,dataType:c,segment:l,isDeleted:u,subChannelUpdatedAt:t.updatedAt,subChannelName:h.subChannelName})}},Oa=async e=>{var t,n,a,s;const{channelId:o,subChannelId:i}=e,r=null===(t=nt(["messagePreviewChannel","get",o]))||void 0===t?void 0:t.data;if((null==r?void 0:r.subChannelId)===i){const e=null===(n=nt(["subChannel","get",i]))||void 0===n?void 0:n.data;at(["messagePreviewChannel","get",o],Object.assign(Object.assign({},r),{subChannelName:null==e?void 0:e.displayName,subChannelUpdatedAt:null==e?void 0:e.updatedAt}))}const c=null===(a=nt(["messagePreviewSubChannel","get",i]))||void 0===a?void 0:a.data;if(c&&new Date(c.updatedAt).valueOf()>new Date(e.updatedAt).valueOf()){const e=null===(s=nt(["subChannel","get",i]))||void 0===s?void 0:s.data;at(["messagePreviewSubChannel","get",i],Object.assign(Object.assign({},c),{subChannelName:null==e?void 0:e.displayName,subChannelUpdatedAt:null==e?void 0:e.updatedAt}))}},Ta=["broadcast","conversation","community"],Aa=({type:e})=>Ta.includes(e);function Ra(e,t={isMessagePreviewUpdated:!0}){var n;let{messagePreviewId:a}=e;const s=null===(n=nt(["messagePreviewChannel","get",e.channelId]))||void 0===n?void 0:n.data;return(null==s?void 0:s.messagePreviewId)&&!t.isMessagePreviewUpdated&&(a=s.messagePreviewId),Object.assign(Object.assign({},e),{defaultSubChannelId:e.channelInternalId,isUnreadCountSupport:Aa(e),messagePreviewId:a})}const Pa=(e,t={isMessagePreviewUpdated:!0})=>{Nn({channels:e.channels.map((e=>Ra(e,{isMessagePreviewUpdated:t.isMessagePreviewUpdated})))})},Da=async(e,t={isMessagePreviewUpdated:!0})=>{const n=Ge(),a=await n.getMessagePreviewSetting(!1);if(t.isMessagePreviewUpdated&&"no-message-preview"!==a&&e.messagePreviews&&e.messagePreviews.length>0&&(e=>{var t;const n=(null!==(t=e.messagePreviews)&&void 0!==t?t:[]).map((t=>{var n;const a=null===(n=e.messageFeedsInfo)||void 0===n?void 0:n.find((e=>e.messageFeedId===t.messageFeedId)),{channelPublicId:s,messageFeedId:o,data:i,dataType:r,isDeleted:c,segment:d,creatorPublicId:l,createdAt:u,updatedAt:h}=t;return{channelId:s,subChannelId:o,data:i,dataType:r,isDeleted:c,segment:d,creatorId:l,createdAt:u,updatedAt:h,subChannelName:null==a?void 0:a.name,messagePreviewId:null==a?void 0:a.messagePreviewId,subChannelUpdatedAt:null==a?void 0:a.updatedAt}})).filter((e=>{var t;const n=null===(t=nt(["messagePreviewChannel","get",e.channelId]))||void 0===t?void 0:t.data;return!n||Hn(n.createdAt)<=Hn(e.createdAt)}));0!==n.length&&Nn({messagePreviewChannel:n})})(e),n.useLegacyUnreadCount)(({currentUserId:e,channels:t,channelUsers:n})=>{var a,s;const o=[];for(let i=0;i<t.length;i+=1)if(Aa(t[i])){const r=["channelUnread","get",t[i].channelId],c=n.find((n=>n.channelId===t[i].channelId&&n.userId===e)),d=null===(a=nt(r))||void 0===a?void 0:a.data,l=Math.max(null!==(s=null==d?void 0:d.lastSegment)&&void 0!==s?s:0,t[i].messageCount);let u=null,h=null,m=0,g=!1;if(c){const e=c.readToSegment,t=c.lastMentionedSegment;u="number"==typeof(null==d?void 0:d.readToSegment)&&("number"!=typeof e||d.readToSegment>e)?d.readToSegment:null!=e?e:null,h="number"==typeof(null==d?void 0:d.lastMentionedSegment)&&("number"!=typeof t||d.lastMentionedSegment>t)?d.lastMentionedSegment:null!=t?t:null;const n=null!=u?u:0;m=Math.max(l-n,0),g="number"==typeof h&&n<h}const p={channelId:t[i].channelId,lastSegment:l,readToSegment:u,lastMentionedSegment:h,unreadCount:m,isMentioned:g,isDeleted:t[i].isDeleted||!1};at(r,p),o.push(p)}o.length>0&&xt("local.channelUnread.updated",o)})({channels:e.channels,channelUsers:e.channelUsers,currentUserId:n.userId});else{const n=e.channels.filter(Aa).map((({channelInternalId:e})=>e));if(n.length>0){Pa(e,{isMessagePreviewUpdated:t.isMessagePreviewUpdated});try{await(async e=>{const t=Ge();t.log("channel/getChannelMarkers",e);const{data:n}=await t.http.get("/api/v1/markers/channels",{params:{channelIds:e}}),{userEntityMarkers:a,userMarkers:s}=n,o=Qn(a),i=t.cache&&Date.now();return t.cache&&Nn({userEntityMarkers:o,userMarkers:s},{cachedAt:i}),xt("local.channelMarker.fetched",{userEntityMarkers:o}),xt("local.userMarker.fetched",{userMarkers:s}),{data:o,cachedAt:i}})(n)}catch(e){}}}const s=e.channels.map((e=>Ra(e,{isMessagePreviewUpdated:t.isMessagePreviewUpdated}))),o=e.channelUsers.map((e=>{return t=e,Object.assign(Object.assign({},t),{get user(){var e;if(Ge().cache)return(null===(e=nt(["user","get",t.userId]))||void 0===e?void 0:e.data)||void 0}});var t})),i=e.users.map(ga),r=_n(e,["messageFeedsInfo","messagePreviews"]);return Object.assign(Object.assign({},r),{users:i,channels:s,channelUsers:o})},Ua=async e=>{const t=Ge();t.log("channel/getUserMessageFeedMakers",e);const{data:n}=await t.http.get("/api/v1/markers/user-message-feed",{params:{channelIds:e}});return xt("local.userMessageFeedMarker.fetched",{userMessageFeedMarker:n}),n},ka=async e=>{const t=Ge(),n=await Ua(e.channels.map((({channelInternalId:e})=>e))),{feedMarkers:a,userFeedMarkers:s}=n;ta({feedMarkers:a,userFeedMarkers:s}),t.log("channel/prepareUnreadCountInfo",e.channels)},ja=(e,t)=>{var n,a,s,o;const i=Ge();return i.isUnreadCountEnabled&&i.getMarkerSyncConsistentMode()?null!==(a=null===(n=(e=>{var t;return null===(t=nt(["channelUnreadInfo","get",e]))||void 0===t?void 0:t.data})(e.channelPublicId))||void 0===n?void 0:n.isMentioned)&&void 0!==a&&a:void 0!==(null==t?void 0:t.hasMentioned)?null==t?void 0:t.hasMentioned:null!==(o=null===(s=(e=>{var t;const n={entityId:e,userId:Dt()._id};return null===(t=nt(["channelMarker","get",Xe("channelMarker")(n)]))||void 0===t?void 0:t.data})(e.channelPublicId))||void 0===s?void 0:s.hasMentioned)&&void 0!==o&&o},Ea=(e,t)=>{var n,a,s,o,i;const r=Ge();return r.isUnreadCountEnabled&&r.getMarkerSyncConsistentMode()?null!==(a=null===(n=(e=>{var t;return null===(t=nt(["channelUnreadInfo","get",e]))||void 0===t?void 0:t.data})(e.channelInternalId))||void 0===n?void 0:n.unreadCount)&&void 0!==a?a:0:(null==t?void 0:t.isDeleted)?0:null!==(i=null!==(s=null==t?void 0:t.unreadCount)&&void 0!==s?s:null===(o=(e=>{var t;const n={entityId:e,userId:Dt()._id};return null===(t=nt(["channelMarker","get",Xe("channelMarker")(n)]))||void 0===t?void 0:t.data})(e.channelInternalId))||void 0===o?void 0:o.unreadCount)&&void 0!==i?i:0},Ma=e=>{var t;return null===(t=nt(["channelUnread","get",e]))||void 0===t?void 0:t.data},qa=e=>{const t=Ge(),n=_n(e,["messageCount"]);return Wn(n,{get unreadCount(){var e,t;return null!==(t=null===(e=Ma(n.channelId))||void 0===e?void 0:e.unreadCount)&&void 0!==t?t:0},get subChannelsUnreadCount(){return Ea(n)},get isMentioned(){var e,a;return t.useLegacyUnreadCount?null!==(a=null===(e=Ma(n.channelId))||void 0===e?void 0:e.isMentioned)&&void 0!==a&&a:ja(n)}})},xa=e=>Object.assign(Object.assign({},e),{get user(){return(()=>{var t;const n=["user","get",e.userId],a=null===(t=nt(n))||void 0===t?void 0:t.data;return a?_t(a):void 0})()}}),Ka=e=>{const t=Ge();t.log("channel/getMyMembership.locally");const n=nt(["channelUsers","get",`${e}#${t.userId}`]);if(!n)throw new Qe("Item not found!",400400,"error");return{data:n.data,