stream-chat 4.4.3-dev.0 → 4.4.3-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e){"use strict";for(var t=function(e){for(var t,r=e.length,s=r%3,i=[],a=16383,c=0,u=r-s;c<u;c+=a)i.push(o(e,c,c+a>u?u:c+a));1===s?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===s&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return i.join("")},n=[],r=[],s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,a=s.length;i<a;++i)n[i]=s[i],r[s.charCodeAt(i)]=i;function o(e,t,r){for(var s,i,a=[],o=t;o<r;o+=3)s=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),a.push(n[(i=s)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}function c(e){return"string"==typeof e}function u(e,t){return!!t&&c(e)}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63;var h=function(e){return t(new Uint8Array(function(e,t){var n=[];if(c(e)&&u(e,t)){for(var r=0,s=e.length;r<s;r++)if(e.charAt(r)){var i=t(e.charAt(r),r,e);n[r]=i}}else if(!c(e)&&!u(e,t))for(var a=0,o=e.length;a<o;a++)if(a in e){var h=t(e[a],a,e);n[a]=h}return n}(e,(function(e){return e.charCodeAt(0)}))))},l=function(e){var t,n,r,s={},i=String.fromCharCode,a=e.length,o=0,c=0,u="";for(t=0;t<64;t++)s["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)]=t;for(n=0;n<a;n++)for(o=(o<<6)+s[e.charAt(n)],c+=6;c>=8;)((r=o>>>(c-=8)&255)||n<a-2)&&(u+=i(r));return u};function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){if(null==e)return{};var n,r,s=function(e,t){if(null==e)return{};var n,r,s={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){if(e){if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function m(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t,n,r,s,i,a){try{var o=e[i](a),c=o.value}catch(e){return void n(e)}o.done?t(c):Promise.resolve(c).then(r,s)}function w(e){return function(){var t=this,n=arguments;return new Promise((function(r,s){var i=e.apply(t,n);function a(e){y(i,r,s,a,o,"next",e)}function o(e){y(i,r,s,a,o,"throw",e)}a(void 0)}))}}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function k(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _(e,t,n){return t&&k(e.prototype,t),n&&k(e,n),e}function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var U,R=(function(e){var t=function(e){var t,n=Object.prototype,r=n.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},i=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",o=s.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var s=t&&t.prototype instanceof g?t:g,i=Object.create(s.prototype),a=new O(r||[]);return i._invoke=function(e,t,n){var r=l;return function(s,i){if(r===f)throw new Error("Generator is already running");if(r===p){if("throw"===s)throw i;return L()}for(n.method=s,n.arg=i;;){var a=n.delegate;if(a){var o=U(a,n);if(o){if(o===v)continue;return o}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=h(e,t,n);if("normal"===c.type){if(r=n.done?p:d,c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=p,n.method="throw",n.arg=c.arg)}}}(e,n,a),i}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l="suspendedStart",d="suspendedYield",f="executing",p="completed",v={};function g(){}function m(){}function y(){}var w={};w[i]=function(){return this};var b=Object.getPrototypeOf,k=b&&b(b(E([])));k&&k!==n&&r.call(k,i)&&(w=k);var _=y.prototype=g.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(s,i,a,o){var c=h(e[s],e,i);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,o)}),(function(e){n("throw",e,a,o)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,o)}))}o(c.arg)}var s;this._invoke=function(e,r){function i(){return new t((function(t,s){n(e,r,t,s)}))}return s=s?s.then(i,i):i()}}function U(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,U(e,n),"throw"===n.method))return v;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var s=h(r,e.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,v;var i=s.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,v):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function E(e){if(e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,a=function n(){for(;++s<e.length;)if(r.call(e,s))return n.value=e[s],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}return{next:L}}function L(){return{value:t,done:!0}}return m.prototype=_.constructor=y,y.constructor=m,m.displayName=c(y,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,o,"GeneratorFunction")),e.prototype=Object.create(_),e},e.awrap=function(e){return{__await:e}},x(C.prototype),C.prototype[a]=function(){return this},e.AsyncIterator=C,e.async=function(t,n,r,s,i){void 0===i&&(i=Promise);var a=new C(u(t,n,r,s),i);return e.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},x(_),c(_,o,"Generator"),_[i]=function(){return this},_.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=E,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(S),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function s(r,s){return o.type="throw",o.arg=e,n.next=r,s&&(n.method="next",n.arg=t),!!s}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return s(a.catchLoc,!0);if(this.prev<a.finallyLoc)return s(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return s(a.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return s(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var s=this.tryEntries[n];if(s.tryLoc<=this.prev&&r.call(s,"finallyLoc")&&this.prev<s.finallyLoc){var i=s;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var s=r.arg;S(n)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:E(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),v}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(U={exports:{}},U.exports),U.exports),S=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}},O=Object.prototype.toString;function E(e){return"[object Array]"===O.call(e)}function L(e){return void 0===e}function A(e){return null!==e&&"object"==typeof e}function M(e){if("[object Object]"!==O.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function I(e){return"[object Function]"===O.call(e)}function T(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),E(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.call(null,e[s],s,e)}var D={isArray:E,isArrayBuffer:function(e){return"[object ArrayBuffer]"===O.call(e)},isBuffer:function(e){return null!==e&&!L(e)&&null!==e.constructor&&!L(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:A,isPlainObject:M,isUndefined:L,isDate:function(e){return"[object Date]"===O.call(e)},isFile:function(e){return"[object File]"===O.call(e)},isBlob:function(e){return"[object Blob]"===O.call(e)},isFunction:I,isStream:function(e){return A(e)&&I(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:T,merge:function e(){var t={};function n(n,r){M(t[r])&&M(n)?t[r]=e(t[r],n):M(n)?t[r]=e({},n):E(n)?t[r]=n.slice():t[r]=n}for(var r=0,s=arguments.length;r<s;r++)T(arguments[r],n);return t},extend:function(e,t,n){return T(t,(function(t,r){e[r]=n&&"function"==typeof t?S(t,n):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}};function j(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var P=function(e,t,n){if(!t)return e;var r;if(n)r=n(t);else if(D.isURLSearchParams(t))r=t.toString();else{var s=[];D.forEach(t,(function(e,t){null!=e&&(D.isArray(e)?t+="[]":e=[e],D.forEach(e,(function(e){D.isDate(e)?e=e.toISOString():D.isObject(e)&&(e=JSON.stringify(e)),s.push(j(t)+"="+j(e))})))})),r=s.join("&")}if(r){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e};function F(){this.handlers=[]}F.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},F.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},F.prototype.forEach=function(e){D.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var B=F,q=function(e,t,n){return D.forEach(n,(function(n){e=n(e,t)})),e},N=function(e){return!(!e||!e.__CANCEL__)},W=function(e,t){D.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))},z=function(e,t,n,r,s){return function(e,t,n,r,s){return e.config=t,n&&(e.code=n),e.request=r,e.response=s,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}(new Error(e),t,n,r,s)},H=D.isStandardBrowserEnv()?{write:function(e,t,n,r,s,i){var a=[];a.push(e+"="+encodeURIComponent(t)),D.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),D.isString(r)&&a.push("path="+r),D.isString(s)&&a.push("domain="+s),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}},J=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],K=D.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function r(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=r(window.location.href),function(t){var n=D.isString(t)?r(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0},G=function(e){return new Promise((function(t,n){var r=e.data,s=e.headers;D.isFormData(r)&&delete s["Content-Type"];var i=new XMLHttpRequest;if(e.auth){var a=e.auth.username||"",o=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";s.Authorization="Basic "+btoa(a+":"+o)}var c,u,h=(c=e.baseURL,u=e.url,c&&!/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(u)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(c,u):u);if(i.open(e.method.toUpperCase(),P(h,e.params,e.paramsSerializer),!0),i.timeout=e.timeout,i.onreadystatechange=function(){if(i&&4===i.readyState&&(0!==i.status||i.responseURL&&0===i.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in i?function(e){var t,n,r,s={};return e?(D.forEach(e.split("\n"),(function(e){if(r=e.indexOf(":"),t=D.trim(e.substr(0,r)).toLowerCase(),n=D.trim(e.substr(r+1)),t){if(s[t]&&J.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+", "+n:n}})),s):s}(i.getAllResponseHeaders()):null,s={data:e.responseType&&"text"!==e.responseType?i.response:i.responseText,status:i.status,statusText:i.statusText,headers:r,config:e,request:i};!function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(z("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}(t,n,s),i=null}},i.onabort=function(){i&&(n(z("Request aborted",e,"ECONNABORTED",i)),i=null)},i.onerror=function(){n(z("Network Error",e,null,i)),i=null},i.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(z(t,e,"ECONNABORTED",i)),i=null},D.isStandardBrowserEnv()){var l=(e.withCredentials||K(h))&&e.xsrfCookieName?H.read(e.xsrfCookieName):void 0;l&&(s[e.xsrfHeaderName]=l)}if("setRequestHeader"in i&&D.forEach(s,(function(e,t){void 0===r&&"content-type"===t.toLowerCase()?delete s[t]:i.setRequestHeader(t,e)})),D.isUndefined(e.withCredentials)||(i.withCredentials=!!e.withCredentials),e.responseType)try{i.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&i.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&i.upload&&i.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){i&&(i.abort(),n(e),i=null)})),r||(r=null),i.send(r)}))},X={"Content-Type":"application/x-www-form-urlencoded"};function $(e,t){!D.isUndefined(e)&&D.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var V,Q={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(V=G),V),transformRequest:[function(e,t){return W(t,"Accept"),W(t,"Content-Type"),D.isFormData(e)||D.isArrayBuffer(e)||D.isBuffer(e)||D.isStream(e)||D.isFile(e)||D.isBlob(e)?e:D.isArrayBufferView(e)?e.buffer:D.isURLSearchParams(e)?($(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):D.isObject(e)?($(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};Q.headers={common:{Accept:"application/json, text/plain, */*"}},D.forEach(["delete","get","head"],(function(e){Q.headers[e]={}})),D.forEach(["post","put","patch"],(function(e){Q.headers[e]=D.merge(X)}));var Y=Q;function Z(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var ee=function(e){return Z(e),e.headers=e.headers||{},e.data=q(e.data,e.headers,e.transformRequest),e.headers=D.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),D.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||Y.adapter)(e).then((function(t){return Z(e),t.data=q(t.data,t.headers,e.transformResponse),t}),(function(t){return N(t)||(Z(e),t&&t.response&&(t.response.data=q(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},te=function(e,t){t=t||{};var n={},r=["url","method","data"],s=["headers","auth","proxy","params"],i=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function o(e,t){return D.isPlainObject(e)&&D.isPlainObject(t)?D.merge(e,t):D.isPlainObject(t)?D.merge({},t):D.isArray(t)?t.slice():t}function c(r){D.isUndefined(t[r])?D.isUndefined(e[r])||(n[r]=o(void 0,e[r])):n[r]=o(e[r],t[r])}D.forEach(r,(function(e){D.isUndefined(t[e])||(n[e]=o(void 0,t[e]))})),D.forEach(s,c),D.forEach(i,(function(r){D.isUndefined(t[r])?D.isUndefined(e[r])||(n[r]=o(void 0,e[r])):n[r]=o(void 0,t[r])})),D.forEach(a,(function(r){r in t?n[r]=o(e[r],t[r]):r in e&&(n[r]=o(void 0,e[r]))}));var u=r.concat(s).concat(i).concat(a),h=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===u.indexOf(e)}));return D.forEach(h,c),n};function ne(e){this.defaults=e,this.interceptors={request:new B,response:new B}}ne.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=te(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[ee,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},ne.prototype.getUri=function(e){return e=te(this.defaults,e),P(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},D.forEach(["delete","get","head","options"],(function(e){ne.prototype[e]=function(t,n){return this.request(te(n||{},{method:e,url:t,data:(n||{}).data}))}})),D.forEach(["post","put","patch"],(function(e){ne.prototype[e]=function(t,n,r){return this.request(te(r||{},{method:e,url:t,data:n}))}}));var re=ne;function se(e){this.message=e}se.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},se.prototype.__CANCEL__=!0;var ie=se;function ae(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new ie(e),t(n.reason))}))}ae.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},ae.source=function(){var e;return{token:new ae((function(t){e=t})),cancel:e}};var oe=ae;function ce(e){var t=new re(e),n=S(re.prototype.request,t);return D.extend(n,re.prototype,t),D.extend(n,t),n}var ue=ce(Y);ue.Axios=re,ue.create=function(e){return ce(te(ue.defaults,e))},ue.Cancel=ie,ue.CancelToken=oe,ue.isCancel=N,ue.all=function(e){return Promise.all(e)},ue.spread=function(e){return function(t){return e.apply(null,t)}},ue.isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError};var he=ue,le=ue;he.default=le;var de=he;function fe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,s=!1,i=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){s=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(s)throw i}}return n}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ve(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pe(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ge=function(){function e(t){var n,r=this;b(this,e),x(this,"_channel",void 0),x(this,"watcher_count",void 0),x(this,"typing",void 0),x(this,"read",void 0),x(this,"messages",void 0),x(this,"pinnedMessages",void 0),x(this,"threads",void 0),x(this,"mutedUsers",void 0),x(this,"watchers",void 0),x(this,"members",void 0),x(this,"unreadCount",void 0),x(this,"membership",void 0),x(this,"last_message_at",void 0),x(this,"isUpToDate",void 0),x(this,"setIsUpToDate",(function(e){r.isUpToDate=e})),x(this,"removeMessageFromArray",(function(e,t){var n=e.filter((function(e){return!(e.id&&t.id&&e.id===t.id)}));return{removed:n.length<e.length,result:n}})),x(this,"updateUserMessages",(function(e){var t=function(e,t){for(var n=0;n<e.length;n++){var r,s=e[n];(null===(r=s.user)||void 0===r?void 0:r.id)===t.id&&(e[n]=ve(ve({},s),{},{user:t}))}};for(var n in t(r.messages,e),r.threads)t(r.threads[n],e);t(r.pinnedMessages,e)})),x(this,"deleteUserMessages",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=0;r<e.length;r++){var s,i=e[r];(null===(s=i.user)||void 0===s?void 0:s.id)===t.id&&(e[r]=n?{cid:i.cid,created_at:i.created_at,deleted_at:t.deleted_at,id:i.id,latest_reactions:[],mentioned_users:[],own_reactions:[],parent_id:i.parent_id,reply_count:i.reply_count,status:i.status,thread_participants:i.thread_participants,type:"deleted",updated_at:i.updated_at,user:i.user}:ve(ve({},i),{},{type:"deleted",deleted_at:t.deleted_at}))}};for(var s in n(r.messages,e,t),r.threads)n(r.threads[s],e,t);n(r.pinnedMessages,e,t)})),this._channel=t,this.watcher_count=0,this.typing={},this.read={},this.messages=[],this.pinnedMessages=[],this.threads={},this.mutedUsers=[],this.watchers={},this.members={},this.membership={},this.unreadCount=0,this.isUpToDate=!0,this.last_message_at=null!=(null==t||null===(n=t.state)||void 0===n?void 0:n.last_message_at)?new Date(t.state.last_message_at):null}return _(e,[{key:"addMessageSorted",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.addMessagesSorted([e],t,!1,n)}},{key:"formatMessage",value:function(e){return ve(ve({},e),{},{__html:e.html,pinned_at:e.pinned_at?new Date(e.pinned_at):null,created_at:e.created_at?new Date(e.created_at):new Date,updated_at:e.updated_at?new Date(e.updated_at):new Date,status:e.status||"received"})}},{key:"addMessagesSorted",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=0;s<e.length;s+=1){var i,a=this.formatMessage(e[s]);a.user&&null!==(i=this._channel)&&void 0!==i&&i.cid&&this._channel.getClient().state.updateUserReference(a.user,this._channel.cid),n&&a.id&&this.threads[a.id]&&delete this.threads[a.id],this.last_message_at||(this.last_message_at=new Date(a.created_at.getTime())),a.created_at.getTime()>this.last_message_at.getTime()&&(this.last_message_at=new Date(a.created_at.getTime()));var o=a.parent_id;if(o&&!a.show_in_channel||(this.messages=this._addToMessageList(this.messages,a,t,"created_at",r)),o&&!n){var c=this.threads[o]||[],u=this._addToMessageList(c,a,t,"created_at",r);this.threads[o]=u}}}},{key:"addPinnedMessages",value:function(e){for(var t=0;t<e.length;t+=1)this.addPinnedMessage(e[t])}},{key:"addPinnedMessage",value:function(e){this.pinnedMessages=this._addToMessageList(this.pinnedMessages,this.formatMessage(e),!1,"pinned_at")}},{key:"removePinnedMessage",value:function(e){var t=this.removeMessageFromArray(this.pinnedMessages,e).result;this.pinnedMessages=t}},{key:"addReaction",value:function(e,t,n){var r=this;if(t){var s=t;return this._updateMessage(t,(function(t){return s.own_reactions=r._addOwnReactionToMessage(t.own_reactions,e,n),r.formatMessage(s)})),s}}},{key:"_addOwnReactionToMessage",value:function(e,t,n){return e=(e=n?[]:this._removeOwnReactionFromMessage(e,t))||[],this._channel.getClient().userID===t.user_id&&e.push(t),e}},{key:"_removeOwnReactionFromMessage",value:function(e,t){return e?e.filter((function(e){return e.user_id!==t.user_id||e.type!==t.type})):e}},{key:"removeReaction",value:function(e,t){var n=this;if(t){var r=t;return this._updateMessage(t,(function(t){return r.own_reactions=n._removeOwnReactionFromMessage(t.own_reactions,e),n.formatMessage(r)})),r}}},{key:"removeQuotedMessageReferences",value:function(e){var t=this.messages.filter((function(t){return t.quoted_message_id===e.id})).map((function(e){var t,n;return ve(ve({},e),{},{created_at:e.created_at.toString(),pinned_at:null===(t=e.pinned_at)||void 0===t?void 0:t.toString(),updated_at:null===(n=e.updated_at)||void 0===n?void 0:n.toString()})})).map((function(t){return ve(ve({},t),{},{quoted_message:ve(ve({},e),{},{attachments:[]})})}));this.addMessagesSorted(t,!0)}},{key:"_updateMessage",value:function(e,t){var n=e.parent_id,r=e.show_in_channel,s=e.pinned;if(n&&this.threads[n]){var i=this.threads[n],a=i.findIndex((function(t){return t.id===e.id}));-1!==a&&(i[a]=t(i[a]),this.threads[n]=i)}if(!r&&!n||r){var o=this.messages.findIndex((function(t){return t.id===e.id}));-1!==o&&(this.messages[o]=t(this.messages[o]))}if(s){var c=this.pinnedMessages.findIndex((function(t){return t.id===e.id}));-1!==c&&(this.pinnedMessages[c]=t(this.pinnedMessages[c]))}}},{key:"_addToMessageList",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"created_at",s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=s||n,a=e;n&&(a=a.filter((function(e){return!(e.id&&t.id===e.id)})));var o=a.length;if(0===o&&i)return a.concat(t);if(0===o)return m(a);var c=t[r].getTime(),u=a[o-1][r].getTime()<c;if(u&&i)return a.concat(t);if(u)return m(a);for(var h=0,l=0,d=o-1;h<=d;)a[l=Math.floor((d+h)/2)][r].getTime()<=c?h=l+1:d=l-1;if(!n&&t.id){if(a[h]&&t.id===a[h].id)return a[h]=t,m(a);if(a[h-1]&&t.id===a[h-1].id)return a[h-1]=t,m(a)}return i&&a.splice(h,0,t),m(a)}},{key:"removeMessage",value:function(e){var t=!1;if(e.parent_id&&this.threads[e.parent_id]){var n=this.removeMessageFromArray(this.threads[e.parent_id],e),r=n.removed,s=n.result;this.threads[e.parent_id]=s,t=r}else{var i=this.removeMessageFromArray(this.messages,e),a=i.removed,o=i.result;this.messages=o,t=a}return t}},{key:"filterErrorMessages",value:function(){var e=this.messages.filter((function(e){return"error"!==e.type}));this.messages=e}},{key:"clean",value:function(){for(var e=new Date,t=0,n=Object.entries(this.typing);t<n.length;t++){var r=fe(n[t],2),s=r[0],i=r[1],a="string"==typeof i.received_at?new Date(i.received_at):i.received_at||new Date;e.getTime()-a.getTime()>7e3&&(delete this.typing[s],this._channel.getClient().dispatchEvent({cid:this._channel.cid,type:"typing.stop",user:{id:s}}))}}},{key:"clearMessages",value:function(){this.messages=[],this.pinnedMessages=[]}}]),e}();function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ye(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?me(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var we={"channel.created":!0,"channel.deleted":!0,"channel.hidden":!0,"channel.muted":!0,"channel.truncated":!0,"channel.unmuted":!0,"channel.updated":!0,"channel.visible":!0,"health.check":!0,"member.added":!0,"member.removed":!0,"member.updated":!0,"message.deleted":!0,"message.new":!0,"message.read":!0,"message.updated":!0,"notification.added_to_channel":!0,"notification.channel_deleted":!0,"notification.channel_mutes_updated":!0,"notification.channel_truncated":!0,"notification.invite_accepted":!0,"notification.invite_rejected":!0,"notification.invited":!0,"notification.mark_read":!0,"notification.message_new":!0,"notification.mutes_updated":!0,"notification.removed_from_channel":!0,"reaction.deleted":!0,"reaction.new":!0,"reaction.updated":!0,"typing.start":!0,"typing.stop":!0,"user.banned":!0,"user.deleted":!0,"user.presence.changed":!0,"user.unbanned":!0,"user.updated":!0,"user.watching.start":!0,"user.watching.stop":!0,"connection.changed":!0,"connection.recovered":!0},be=ye(ye({},we),{},{all:!0}),ke=function(e){return be[e]||!1},_e="object"==typeof self?self.FormData:window.FormData;function xe(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ce(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ue(e,t){e.then().catch((function(e){console.warn("failed to do ".concat(t,", ran into error: "),e)}))}var Re=function(e){return new Promise((function(t){return setTimeout(t,e)}))};function Se(e){return e&&("[object Function]"===Object.prototype.toString.call(e)||"function"==typeof e||e instanceof Function)}var Oe={TOKEN_EXPIRED:40,WS_CLOSED_SUCCESS:1e3};function Ee(e,t,n){var r,s=new _e;return null!==(r=e)&&"object"===f(r)&&(r.readable||"function"==typeof r._read)||function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}(e)||function(e){return"undefined"!=typeof window&&"File"in window&&e instanceof File}(e)?t?s.append("file",e,t):s.append("file",e):s.append("file",{uri:e,name:t||e.split("/").reverse()[0],contentType:n||void 0,type:n||void 0}),s}function Le(e){var t,n=[],r=xe(Array.isArray(e)?e:[e]);try{for(r.s();!(t=r.n()).done;){var s=t.value,i=Object.entries(s);i.length>1&&console.warn("client._buildSort() - multiple fields in a single sort object detected. Object's field order is not guaranteed");for(var a=0,o=i;a<o.length;a++){var c=fe(o[a],2),u=c[0],h=c[1];n.push({field:u,direction:h})}}}catch(e){r.e(e)}finally{r.f()}return n}function Ae(e){var t=Math.min(500+2e3*e,25e3),n=Math.min(Math.max(250,2e3*(e-1)),25e3);return Math.floor(Math.random()*(t-n)+n)}function Me(){return(e=function(e){var t=new Uint8Array(e);return De(t),t}(16))[6]=15&e[6]|64,e[8]=191&e[8]|128,Ie(e.subarray(0,4))+"-"+Ie(e.subarray(4,6))+"-"+Ie(e.subarray(6,8))+"-"+Ie(e.subarray(8,10))+"-"+Ie(e.subarray(10,16));var e}function Ie(e){for(var t="",n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,"0");return t}function Te(e){for(var t=Math.pow(2,8*e.byteLength/e.length),n=0;n<e.length;n++)e[n]=Math.random()*t}var De="undefined"!=typeof crypto?crypto.getRandomValues.bind(crypto):"undefined"!=typeof msCrypto?msCrypto.getRandomValues.bind(msCrypto):Te;function je(e){var t={};return e?(Object.getOwnPropertyNames(e).forEach((function(n){t[n]=e[n]})),t):t}function Pe(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Fe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Fe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function Fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ne=function(){function e(t,n,r,s){var i=this;b(this,e),x(this,"_client",void 0),x(this,"type",void 0),x(this,"id",void 0),x(this,"data",void 0),x(this,"_data",void 0),x(this,"cid",void 0),x(this,"listeners",void 0),x(this,"state",void 0),x(this,"initialized",void 0),x(this,"lastKeyStroke",void 0),x(this,"lastTypingEvent",void 0),x(this,"isTyping",void 0),x(this,"disconnected",void 0),x(this,"create",w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={watch:!1,state:!1,presence:!1},e.next=3,i.query(t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))),x(this,"_callChannelListeners",(function(e){var t=i,n=[];t.listeners.all&&n.push.apply(n,m(t.listeners.all)),t.listeners[e.type]&&n.push.apply(n,m(t.listeners[e.type]));for(var r=0,s=n;r<s.length;r++){var a=s[r];"string"!=typeof a&&a(e)}})),x(this,"_channelURL",(function(){if(!i.id)throw new Error("channel id is not defined");return"".concat(i.getClient().baseURL,"/channels/").concat(i.type,"/").concat(i.id)}));if(!/^[\w_-]+$/.test(n))throw new Error("Invalid chat type ".concat(n,', letters, numbers and "_-" are allowed'));if("string"==typeof r&&!/^[\w!_-]+$/.test(r))throw new Error("Invalid chat id ".concat(r,', letters, numbers and "!-_" are allowed'));this._client=t,this.type=n,this.id=r,this.data=s,this._data=qe({},s),this.cid="".concat(n,":").concat(r),this.listeners={},this.state=new ge(this),this.initialized=!1,this.lastTypingEvent=null,this.isTyping=!1,this.disconnected=!1}var t,n,r,s,i,a,o,c,u,h,l,d,p,v,g,y,k,C,U,S,O,E,L,A,M,I,T,D,j,P,F,B,q,N,W;return _(e,[{key:"getClient",value:function(){if(!0===this.disconnected)throw Error("You can't use a channel after client.disconnect() was called");return this._client}},{key:"getConfig",value:function(){return this.getClient().configs[this.type]}},{key:"sendMessage",value:(W=w(R.mark((function e(t,n){var r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL()+"/message",qe({message:t},n));case 2:return r=e.sent,this.state.unreadCount=0,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return W.apply(this,arguments)})},{key:"sendFile",value:function(e,t,n,r){return this.getClient().sendFile("".concat(this._channelURL(),"/file"),e,t,n,r)}},{key:"sendImage",value:function(e,t,n,r){return this.getClient().sendFile("".concat(this._channelURL(),"/image"),e,t,n,r)}},{key:"deleteFile",value:function(e){return this.getClient().delete("".concat(this._channelURL(),"/file"),{url:e})}},{key:"deleteImage",value:function(e){return this.getClient().delete("".concat(this._channelURL(),"/image"),{url:e})}},{key:"sendEvent",value:(N=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().post(this._channelURL()+"/event",{event:t});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return N.apply(this,arguments)})},{key:"search",value:(q=w(R.mark((function e(t){var n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=s.length>1&&void 0!==s[1]?s[1]:{}).offset||!n.sort&&!n.next){e.next=3;break}throw Error("Cannot specify offset with sort or next parameters");case 3:if(r=qe(qe({filter_conditions:{cid:this.cid}},n),{},{sort:n.sort?Le(n.sort):void 0}),"string"!=typeof t){e.next=8;break}r.query=t,e.next=13;break;case 8:if("object"!==f(t)){e.next=12;break}r.message_filter_conditions=t,e.next=13;break;case 12:throw Error("Invalid type ".concat(f(t)," for query parameter"));case 13:return e.next=15,this.getClient().wsPromise;case 15:return e.next=17,this.getClient().get(this.getClient().baseURL+"/search",{payload:r});case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)}))),function(e){return q.apply(this,arguments)})},{key:"queryMembers",value:(B=w(R.mark((function e(t){var n,r,s,i,a,o,c=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=c.length>1&&void 0!==c[1]?c[1]:[],s=c.length>2&&void 0!==c[2]?c[2]:{},a=this.type,this.id?i=this.id:null!==(n=this.data)&&void 0!==n&&n.members&&Array.isArray(this.data.members)&&(o=this.data.members),e.next=6,this.getClient().get(this.getClient().baseURL+"/members",{payload:qe({type:a,id:i,members:o,sort:Le(r),filter_conditions:t},s)});case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return B.apply(this,arguments)})},{key:"sendReaction",value:(F=w(R.mark((function e(t,n,r){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw Error("Message id is missing");case 2:if(n&&0!==Object.keys(n).length){e.next=4;break}throw Error("Reaction object is missing");case 4:return e.next=6,this.getClient().post(this.getClient().baseURL+"/messages/".concat(t,"/reaction"),qe({reaction:n},r));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return F.apply(this,arguments)})},{key:"deleteReaction",value:function(e,t,n){if(this._checkInitialized(),!t||!e)throw Error("Deleting a reaction requires specifying both the message and reaction type");var r=this.getClient().baseURL+"/messages/".concat(e,"/reaction/").concat(t);return n?this.getClient().delete(r,{user_id:n}):this.getClient().delete(r,{})}},{key:"update",value:(P=w(R.mark((function e(){var t,n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.length>0&&void 0!==s[0]?s[0]:{},n=s.length>1?s[1]:void 0,r=s.length>2?s[2]:void 0,["config","cid","created_by","id","member_count","type","created_at","updated_at","last_message_at","own_capabilities"].forEach((function(e){delete t[e]})),e.next=7,this._update(qe({message:n,data:t},r));case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)}))),function(){return P.apply(this,arguments)})},{key:"updatePartial",value:(j=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().patch(this._channelURL(),t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return j.apply(this,arguments)})},{key:"enableSlowMode",value:(D=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL(),{cooldown:t});case 2:return n=e.sent,this.data=n.channel,e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return D.apply(this,arguments)})},{key:"disableSlowMode",value:(T=w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL(),{cooldown:0});case 2:return t=e.sent,this.data=t.channel,e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,this)}))),function(){return T.apply(this,arguments)})},{key:"delete",value:(I=w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().delete(this._channelURL(),{});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(){return I.apply(this,arguments)})},{key:"truncate",value:(M=w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL()+"/truncate",{});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(){return M.apply(this,arguments)})},{key:"acceptInvite",value:(A=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this._update(qe({accept_invite:!0},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return A.apply(this,arguments)})},{key:"rejectInvite",value:(L=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this._update(qe({reject_invite:!0},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return L.apply(this,arguments)})},{key:"addMembers",value:(E=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({add_members:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return E.apply(this,arguments)})},{key:"addModerators",value:(O=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({add_moderators:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return O.apply(this,arguments)})},{key:"assignRoles",value:(S=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({assign_roles:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return S.apply(this,arguments)})},{key:"inviteMembers",value:(U=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({invites:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return U.apply(this,arguments)})},{key:"removeMembers",value:(C=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({remove_members:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return C.apply(this,arguments)})},{key:"demoteModerators",value:(k=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({demote_moderators:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return k.apply(this,arguments)})},{key:"_update",value:(y=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL(),t);case 2:return n=e.sent,this.data=n.channel,e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"mute",value:(g=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.getClient().post(this.getClient().baseURL+"/moderation/mute/channel",qe({channel_cid:this.cid},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"unmute",value:(v=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.getClient().post(this.getClient().baseURL+"/moderation/unmute/channel",qe({channel_cid:this.cid},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"muteStatus",value:function(){return this._checkInitialized(),this.getClient()._muteStatus(this.cid)}},{key:"sendAction",value:function(e,t){if(this._checkInitialized(),!e)throw Error("Message id is missing");return this.getClient().post(this.getClient().baseURL+"/messages/".concat(e,"/action"),{message_id:e,form_data:t,id:this.id,type:this.type})}},{key:"keystroke",value:(p=w(R.mark((function e(t){var n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(n=this.getConfig())&&void 0!==n&&n.typing_events){e.next=2;break}return e.abrupt("return");case 2:if(r=new Date,s=this.lastTypingEvent&&r.getTime()-this.lastTypingEvent.getTime(),this.lastKeyStroke=r,this.isTyping=!0,!(null===s||s>2e3)){e.next=10;break}return this.lastTypingEvent=new Date,e.next=10,this.sendEvent({type:"typing.start",parent_id:t});case 10:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"stopTyping",value:(d=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(n=this.getConfig())&&void 0!==n&&n.typing_events){e.next=2;break}return e.abrupt("return");case 2:return this.lastTypingEvent=null,this.isTyping=!1,e.next=6,this.sendEvent({type:"typing.stop",parent_id:t});case 6:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"lastMessage",value:function(){var e=this.state.messages.length-5;e<0&&(e=0);var t=this.state.messages.length+1,n=this.state.messages.slice(e,t);return n.sort((function(e,t){return t.created_at.getTime()-e.created_at.getTime()})),n[0]}},{key:"markRead",value:(l=w(R.mark((function e(){var t,n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>0&&void 0!==r[0]?r[0]:{},this._checkInitialized(),null!==(t=this.getConfig())&&void 0!==t&&t.read_events){e.next=4;break}return e.abrupt("return",Promise.resolve(null));case 4:return e.next=6,this.getClient().post(this._channelURL()+"/read",qe({},n));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"clean",value:function(){this.lastKeyStroke&&((new Date).getTime()-this.lastKeyStroke.getTime()>1e3&&this.isTyping&&Ue(this.stopTyping(),"stop typing event"));this.state.clean()}},{key:"watch",value:(h=w(R.mark((function e(t){var n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={state:!0,watch:!0,presence:!1},e.next=3,this.getClient().wsPromise;case 3:return this.getClient()._hasConnectionID()||(n.watch=!1),r=qe(qe({},n),t),e.next=7,this.query(r);case 7:return s=e.sent,this.initialized=!0,this.data=s.channel,this._client.logger("info","channel:watch() - started watching channel ".concat(this.cid),{tags:["channel"],channel:this}),e.abrupt("return",s);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"stopWatching",value:(u=w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL()+"/stop-watching",{});case 2:return t=e.sent,this._client.logger("info","channel:watch() - stopped watching channel ".concat(this.cid),{tags:["channel"],channel:this}),e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getReplies",value:(c=w(R.mark((function e(t,n){var r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().get(this.getClient().baseURL+"/messages/".concat(t,"/replies"),qe({},n));case 2:return(r=e.sent).messages&&this.state.addMessagesSorted(r.messages),e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"getReactions",value:function(e,t){return this.getClient().get(this.getClient().baseURL+"/messages/".concat(e,"/reactions"),qe({},t))}},{key:"getMessagesById",value:function(e){return this.getClient().get(this._channelURL()+"/messages",{ids:e.join(",")})}},{key:"lastRead",value:function(){this._checkInitialized();var e=this.getClient().userID;if(e)return this.state.read[e]?this.state.read[e].last_read:null}},{key:"_countMessageAsUnread",value:function(e){var t,n;return!e.shadowed&&(!e.silent&&((null===(t=e.user)||void 0===t?void 0:t.id)!==this.getClient().userID&&((null===(n=e.user)||void 0===n||!n.id||!this.getClient().userMuteStatus(e.user.id))&&("system"!==e.type&&!this.muteStatus().muted))))}},{key:"countUnread",value:function(e){if(!e)return this.state.unreadCount;for(var t=0,n=0;n<this.state.messages.length;n+=1){var r=this.state.messages[n];r.created_at>e&&this._countMessageAsUnread(r)&&t++}return t}},{key:"countUnreadMentions",value:function(){for(var e=this.lastRead(),t=this.getClient().userID,n=0,r=0;r<this.state.messages.length;r+=1){var s,i=this.state.messages[r];this._countMessageAsUnread(i)&&(!e||i.created_at>e)&&null!==(s=i.mentioned_users)&&void 0!==s&&s.some((function(e){return e.id===t}))&&n++}return n}},{key:"query",value:(o=w(R.mark((function e(t){var n,r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().wsPromise;case 2:return n="".concat(this.getClient().baseURL,"/channels/").concat(this.type),this.id&&(n+="/".concat(this.id)),e.next=6,this.getClient().post(n+"/query",qe({data:this._data,state:!0},t));case 6:return r=e.sent,this.id||(this.id=r.channel.id,this.cid=r.channel.cid,s=r.members.map((function(e){var t;return e.user_id||(null===(t=e.user)||void 0===t?void 0:t.id)})).sort().join(","),(i="".concat(this.type,":!members-").concat(s))in this.getClient().activeChannels&&delete this.getClient().activeChannels[i],this.cid in this.getClient().activeChannels||(this.getClient().activeChannels[this.cid]=this)),this.getClient()._addChannelConfig(r),this._initializeState(r),e.abrupt("return",r);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"banUser",value:(a=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().banUser(t,qe(qe({},n),{},{type:this.type,id:this.id}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"hide",value:(i=w(R.mark((function e(){var t,n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:null,n=r.length>1&&void 0!==r[1]&&r[1],this._checkInitialized(),e.next=5,this.getClient().post("".concat(this._channelURL(),"/hide"),{user_id:t,clear_history:n});case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"show",value:(s=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:null,this._checkInitialized(),e.next=4,this.getClient().post("".concat(this._channelURL(),"/show"),{user_id:t});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"unbanUser",value:(r=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().unbanUser(t,{type:this.type,id:this.id});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"shadowBan",value:(n=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().shadowBan(t,qe(qe({},n),{},{type:this.type,id:this.id}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"removeShadowBan",value:(t=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().removeShadowBan(t,{type:this.type,id:this.id});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"on",value:function(e,t){var n=this,r=t?e:"all";if(!ke(r))throw Error("Invalid event type ".concat(r));var s=t||e;return r in this.listeners||(this.listeners[r]=[]),this._client.logger("info","Attaching listener for ".concat(r," event on channel ").concat(this.cid),{tags:["event","channel"],channel:this}),this.listeners[r].push(s),{unsubscribe:function(){n._client.logger("info","Removing listener for ".concat(r," event from channel ").concat(n.cid),{tags:["event","channel"],channel:n}),n.listeners[r]=n.listeners[r].filter((function(e){return e!==s}))}}}},{key:"off",value:function(e,t){var n=t?e:"all";if(!ke(n))throw Error("Invalid event type ".concat(n));var r=t||e;n in this.listeners||(this.listeners[n]=[]),this._client.logger("info","Removing listener for ".concat(n," event from channel ").concat(this.cid),{tags:["event","channel"],channel:this}),this.listeners[n]=this.listeners[n].filter((function(e){return e!==r}))}},{key:"_handleChannelEvent",value:function(e){var t,n,r,s,i,a,o,c=this;this._client.logger("info","channel:_handleChannelEvent - Received event of type { ".concat(e.type," } on ").concat(this.cid),{tags:["event","channel"],channel:this});var u=c.state;switch(e.type){case"typing.start":null!==(t=e.user)&&void 0!==t&&t.id&&(u.typing[e.user.id]=e);break;case"typing.stop":null!==(n=e.user)&&void 0!==n&&n.id&&delete u.typing[e.user.id];break;case"message.read":var h,l;if(null!==(r=e.user)&&void 0!==r&&r.id)u.read[e.user.id]={last_read:e.received_at,user:e.user},(null===(h=e.user)||void 0===h?void 0:h.id)===(null===(l=this.getClient().user)||void 0===l?void 0:l.id)&&(u.unreadCount=0);break;case"user.watching.start":case"user.updated":null!==(s=e.user)&&void 0!==s&&s.id&&(u.watchers[e.user.id]=e.user);break;case"user.watching.stop":null!==(i=e.user)&&void 0!==i&&i.id&&delete u.watchers[e.user.id];break;case"message.deleted":e.message&&(e.hard_delete?u.removeMessage(e.message):u.addMessageSorted(e.message,!1,!1),u.removeQuotedMessageReferences(e.message),e.message.pinned&&u.removePinnedMessage(e.message));break;case"message.new":if(e.message){var d,f,p,v=(null===(d=e.user)||void 0===d?void 0:d.id)===(null===(f=this.getClient().user)||void 0===f?void 0:f.id),g=e.message.parent_id&&!e.message.show_in_channel;(this.state.isUpToDate||g)&&u.addMessageSorted(e.message,v),e.message.pinned&&u.addPinnedMessage(e.message),v&&null!==(p=e.user)&&void 0!==p&&p.id?(u.unreadCount=0,u.read[e.user.id]={last_read:new Date(e.created_at),user:e.user}):this._countMessageAsUnread(e.message)&&(u.unreadCount=u.unreadCount+1)}break;case"message.updated":e.message&&(u.addMessageSorted(e.message,!1,!1),e.message.pinned?u.addPinnedMessage(e.message):u.removePinnedMessage(e.message));break;case"channel.truncated":u.clearMessages(),u.unreadCount=0;break;case"member.added":case"member.updated":null!==(a=e.member)&&void 0!==a&&a.user_id&&(u.members[e.member.user_id]=e.member);break;case"member.removed":null!==(o=e.user)&&void 0!==o&&o.id&&delete u.members[e.user.id];break;case"channel.updated":e.channel&&(c.data=e.channel);break;case"reaction.new":e.message&&e.reaction&&(e.message=u.addReaction(e.reaction,e.message));break;case"reaction.deleted":e.reaction&&(e.message=u.removeReaction(e.reaction,e.message));break;case"reaction.updated":e.reaction&&(e.message=u.addReaction(e.reaction,e.message,!0));break;case"channel.hidden":e.clear_history&&u.clearMessages()}void 0!==e.watcher_count&&(c.state.watcher_count=e.watcher_count)}},{key:"_checkInitialized",value:function(){if(!this.initialized&&!this.getClient()._isUsingServerAuth())throw Error("Channel ".concat(this.cid," hasn't been initialized yet. Make sure to call .watch() and wait for it to resolve"))}},{key:"_initializeState",value:function(e){var t=this.getClient(),n=t.state,r=t.user,s=t.userID;if(e.members){var i,a=Pe(e.members);try{for(a.s();!(i=a.n()).done;){var o=i.value;o.user&&n.updateUserReference(o.user,this.cid)}}catch(e){a.e(e)}finally{a.f()}}this.state.membership=e.membership||{};var c=e.messages||[];if(this.state.messages||(this.state.messages=[]),this.state.addMessagesSorted(c,!1,!0),this.state.pinnedMessages||(this.state.pinnedMessages=[]),this.state.addPinnedMessages(e.pinned_messages||[]),this.state.watcher_count=e.watcher_count||0,e.watchers){var u,h=Pe(e.watchers);try{for(h.s();!(u=h.n()).done;){var l=u.value;l&&(n.updateUserReference(l,this.cid),this.state.watchers[l.id]=l)}}catch(e){h.e(e)}finally{h.f()}}if(null!=s){var d=this.state.last_message_at||new Date;r&&(this.state.read[r.id]={user:r,last_read:d})}if(e.read){var f,p=Pe(e.read);try{for(p.s();!(f=p.n()).done;){var v=f.value,g=qe(qe({},v),{},{last_read:new Date(v.last_read)});this.state.read[v.user.id]=g,v.user.id===(null==r?void 0:r.id)&&"number"==typeof g.unread_messages&&(this.state.unreadCount=g.unread_messages)}}catch(e){p.e(e)}finally{p.f()}}if(e.members){var m,y=Pe(e.members);try{for(y.s();!(m=y.n()).done;){var w=m.value;w.user&&(this.state.members[w.user.id]=w)}}catch(e){y.e(e)}finally{y.f()}}}},{key:"_disconnect",value:function(){this._client.logger("info","channel:disconnect() - Disconnecting the channel ".concat(this.cid),{tags:["connection","channel"],channel:this}),this.disconnected=!0,this.state.setIsUpToDate(!1)}}]),e}();function We(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ze(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ze(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var He=function(){function e(){b(this,e),x(this,"users",void 0),x(this,"userChannelReferences",void 0),this.users={},this.userChannelReferences={}}return _(e,[{key:"updateUsers",value:function(e){var t,n=We(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this.updateUser(r)}}catch(e){n.e(e)}finally{n.f()}}},{key:"updateUser",value:function(e){null!=e&&(this.users[e.id]=e)}},{key:"updateUserReference",value:function(e,t){null!=e&&(this.updateUser(e),this.userChannelReferences[e.id]||(this.userChannelReferences[e.id]={}),this.userChannelReferences[e.id][t]=!0)}},{key:"deleteAllChannelReference",value:function(e){for(var t in this.userChannelReferences)delete this.userChannelReferences[t][e]}}]),e}(),Je=null;"undefined"!=typeof WebSocket?Je=WebSocket:"undefined"!=typeof MozWebSocket?Je=MozWebSocket:void 0!==C?Je=C.WebSocket||C.MozWebSocket:"undefined"!=typeof window?Je=window.WebSocket||window.MozWebSocket:"undefined"!=typeof self&&(Je=self.WebSocket||self.MozWebSocket);var Ke=Je;function Ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var $e=function e(){b(this,e),x(this,"connectionStartTimestamp",void 0),x(this,"wsConsecutiveFailures",void 0),x(this,"wsTotalFailures",void 0),x(this,"instanceClientId",void 0),this.connectionStartTimestamp=null,this.wsTotalFailures=0,this.wsConsecutiveFailures=0,this.instanceClientId=Me()};function Ve(e,t){return Xe(Xe({},t),Qe(e))}function Qe(e){var t,n,r;return{ready_state:null===(t=e.ws)||void 0===t?void 0:t.readyState,url:e._buildUrl(e.requestID),api_key:e.apiKey,start_ts:e.insightMetrics.connectionStartTimestamp,end_ts:(new Date).getTime(),auth_type:e.authType,token:e.tokenManager.token,user_id:e.userID,user_details:e.user,device:e.device,client_id:e.connectionID,ws_details:e.ws,ws_consecutive_failures:e.insightMetrics.wsConsecutiveFailures,ws_total_failures:e.insightMetrics.wsTotalFailures,request_id:e.requestID,online:"undefined"!=typeof navigator?null===(n=navigator)||void 0===n?void 0:n.onLine:null,user_agent:"undefined"!=typeof navigator?null===(r=navigator)||void 0===r?void 0:r.userAgent:null,instance_client_id:e.insightMetrics.instanceClientId}}function Ye(e){return Qe(e)}var Ze=function(e){return void 0!==e.code},et=function(e){return void 0!==e.error},tt=function(){function e(t){var n=this,r=t.apiKey,s=t.authType,i=t.clientID,a=t.eventCallback,o=t.logger,c=t.messageCallback,u=t.recoverCallback,h=t.tokenManager,l=t.user,d=t.userAgent,f=t.userID,p=t.wsBaseURL,v=t.device,g=t.postInsights,m=t.insightMetrics;b(this,e),x(this,"apiKey",void 0),x(this,"authType",void 0),x(this,"clientID",void 0),x(this,"eventCallback",void 0),x(this,"logger",void 0),x(this,"messageCallback",void 0),x(this,"recoverCallback",void 0),x(this,"tokenManager",void 0),x(this,"user",void 0),x(this,"userAgent",void 0),x(this,"userID",void 0),x(this,"wsBaseURL",void 0),x(this,"device",void 0),x(this,"connectionID",void 0),x(this,"connectionOpen",void 0),x(this,"consecutiveFailures",void 0),x(this,"pingInterval",void 0),x(this,"healthCheckTimeoutRef",void 0),x(this,"isConnecting",void 0),x(this,"isHealthy",void 0),x(this,"isResolved",void 0),x(this,"lastEvent",void 0),x(this,"connectionCheckTimeout",void 0),x(this,"connectionCheckTimeoutRef",void 0),x(this,"rejectPromise",void 0),x(this,"requestID",void 0),x(this,"connectionStartTimestamp",void 0),x(this,"resolvePromise",void 0),x(this,"totalFailures",void 0),x(this,"ws",void 0),x(this,"wsID",void 0),x(this,"postInsights",void 0),x(this,"insightMetrics",void 0),x(this,"_buildUrl",(function(e){var t={user_id:n.user.id,user_details:n.user,user_token:n.tokenManager.getToken(),server_determines_connection_id:!0,device:n.device,request_id:e},r=encodeURIComponent(JSON.stringify(t)),s=n.tokenManager.getToken();return"".concat(n.wsBaseURL,"/connect?json=").concat(r,"&api_key=").concat(n.apiKey,"&authorization=").concat(s,"&stream-auth-type=").concat(n.authType,"&X-Stream-Client=").concat(n.userAgent)})),x(this,"onlineStatusChanged",(function(e){"offline"===e.type?(n.logger("info","connection:onlineStatusChanged() - Status changing to offline",{tags:["connection"]}),n._setHealth(!1)):"online"===e.type&&(n.logger("info","connection:onlineStatusChanged() - Status changing to online. isHealthy: ".concat(n.isHealthy),{tags:["connection"]}),n.isHealthy||n._reconnect({interval:10}))})),x(this,"onopen",(function(e){n.wsID===e&&n.logger("info","connection:onopen() - onopen callback",{tags:["connection"],wsID:e})})),x(this,"onmessage",(function(e,t){if(n.wsID===e){var r="string"==typeof t.data?JSON.parse(t.data):null;if(!n.isResolved&&r){var s,i;if(n.isResolved=!0,null!=r.error)return void(null===(s=n.rejectPromise)||void 0===s||s.call(n,n._errorFromWSEvent(r,!1)));null===(i=n.resolvePromise)||void 0===i||i.call(n,t),n._setHealth(!0)}n.lastEvent=new Date,n.logger("info","connection:onmessage() - onmessage callback",{tags:["connection"],event:t,wsID:e}),r&&"health.check"===r.type&&n.scheduleNextPing(),n.messageCallback(t),n.scheduleConnectionCheck()}})),x(this,"onclose",(function(e,t){if(n.wsID===e)if(n.logger("info","connection:onclose() - onclose callback - "+t.code,{tags:["connection"],event:t,wsID:e}),t.code===Oe.WS_CLOSED_SUCCESS){var r,s=new Error("WS connection reject with error ".concat(t.reason));s.reason=t.reason,s.code=t.code,s.wasClean=t.wasClean,s.target=t.target,null===(r=n.rejectPromise)||void 0===r||r.call(n,s),n.logger("info","connection:onclose() - WS connection reject with error ".concat(t.reason),{tags:["connection"],event:t})}else{var i;n.consecutiveFailures+=1,n.totalFailures+=1,n._setHealth(!1),n.isConnecting=!1,null===(i=n.rejectPromise)||void 0===i||i.call(n,n._errorFromWSEvent(t)),n.logger("info","connection:onclose() - WS connection closed. Calling reconnect ...",{tags:["connection"],event:t}),n._reconnect()}})),x(this,"onerror",(function(e,t){var r;n.wsID===e&&(n.consecutiveFailures+=1,n.totalFailures+=1,n._setHealth(!1),n.isConnecting=!1,null===(r=n.rejectPromise)||void 0===r||r.call(n,n._errorFromWSEvent(t)),n.logger("info","connection:onerror() - WS connection resulted into error",{tags:["connection"],event:t}),n._reconnect())})),x(this,"_setHealth",(function(e){e&&!n.isHealthy&&(n.isHealthy=!0,n.eventCallback({type:"connection.changed",online:!0})),!e&&n.isHealthy&&(n.isHealthy=!1,setTimeout((function(){n.isHealthy||n.eventCallback({type:"connection.changed",online:!1})}),5e3))})),x(this,"_errorFromWSEvent",(function(e){var t,r,s,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];Ze(e)&&(t=e.code,r="unknown",s=e.reason),et(e)&&(t=e.error.code,r=e.error.StatusCode,s=e.error.message),n.logger("warn","connection:_errorFromWSEvent() - WS failed with code ".concat(t),{tags:["connection"],event:e});var a=new Error("WS failed with code ".concat(t," and reason - ").concat(s));return a.code=t,a.StatusCode=r,a.isWSFailure=i,a})),x(this,"_listenForConnectionChanges",(function(){var e;"undefined"!=typeof window&&null!==(e=window)&&void 0!==e&&e.addEventListener&&(window.addEventListener("offline",n.onlineStatusChanged),window.addEventListener("online",n.onlineStatusChanged))})),x(this,"_removeConnectionListeners",(function(){var e;"undefined"!=typeof window&&null!==(e=window)&&void 0!==e&&e.removeEventListener&&(window.removeEventListener("offline",n.onlineStatusChanged),window.removeEventListener("online",n.onlineStatusChanged))})),x(this,"_setupConnectionPromise",(function(){var e=n;n.isResolved=!1,n.connectionOpen=new Promise((function(t,n){e.resolvePromise=t,e.rejectPromise=n})).then((function(e){if(e.data&&"string"==typeof e.data){var t=JSON.parse(e.data);if(t&&null!=t.error)throw new Error(JSON.stringify(t.error));return t}}),(function(e){throw e}))})),x(this,"scheduleNextPing",(function(){n.healthCheckTimeoutRef&&clearTimeout(n.healthCheckTimeoutRef),n.healthCheckTimeoutRef=setTimeout((function(){var e=[{type:"health.check",client_id:n.clientID}];try{var t;null===(t=n.ws)||void 0===t||t.send(JSON.stringify(e))}catch(e){}}),n.pingInterval)})),x(this,"scheduleConnectionCheck",(function(){n.connectionCheckTimeoutRef&&clearTimeout(n.connectionCheckTimeoutRef),n.connectionCheckTimeoutRef=setTimeout((function(){var e=new Date;n.lastEvent&&e.getTime()-n.lastEvent.getTime()>n.connectionCheckTimeout&&(n.logger("info","connection:scheduleConnectionCheck - going to reconnect",{tags:["connection"]}),n._setHealth(!1),n._reconnect())}),n.connectionCheckTimeout)})),this.wsBaseURL=p,this.clientID=i,this.userID=f,this.user=l,this.authType=s,this.userAgent=d,this.apiKey=r,this.tokenManager=h,this.device=v,this.consecutiveFailures=0,this.totalFailures=0,this.isConnecting=!1,this.isResolved=!1,this.isHealthy=!1,this.recoverCallback=u,this.messageCallback=c,this.eventCallback=a,this.logger=o,this.wsID=1,this.lastEvent=null,this.pingInterval=25e3,this.connectionCheckTimeout=this.pingInterval+1e4,this._listenForConnectionChanges(),this.postInsights=g,this.insightMetrics=m}var t,n,r,s;return _(e,[{key:"connect",value:(s=w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isConnecting){e.next=2;break}throw Error("You've called connect twice, can only attempt 1 connection at the time");case 2:return e.prev=2,e.next=5,this._connect();case 5:t=e.sent,this.consecutiveFailures=0,this.logger("info","connection:connect() - Established ws connection with healthcheck: ".concat(t),{tags:["connection"]}),e.next=21;break;case 10:if(e.prev=10,e.t0=e.catch(2),this.isHealthy=!1,this.consecutiveFailures+=1,e.t0.code!==Oe.TOKEN_EXPIRED||this.tokenManager.isStatic()){e.next=19;break}this.logger("info","connection:connect() - WS failure due to expired token, so going to try to reload token and reconnect",{tags:["connection"]}),this._reconnect({refreshToken:!0}),e.next=21;break;case 19:if(e.t0.isWSFailure){e.next=21;break}throw new Error(JSON.stringify({code:e.t0.code,StatusCode:e.t0.StatusCode,message:e.t0.message,isWSFailure:e.t0.isWSFailure}));case 21:return e.next=23,this._waitForHealthy();case 23:return e.abrupt("return",e.sent);case 24:case"end":return e.stop()}}),e,this,[[2,10]])}))),function(){return s.apply(this,arguments)})},{key:"_waitForHealthy",value:(r=w(R.mark((function e(){var t,n=this,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:15e3,e.abrupt("return",Promise.race([w(R.mark((function e(){var r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=50,s=0;case 2:if(!(s<=t)){e.next=18;break}return e.prev=3,e.next=6,n.connectionOpen;case 6:return e.abrupt("return",e.sent);case 9:if(e.prev=9,e.t0=e.catch(3),s!==t){e.next=13;break}throw new Error(JSON.stringify({code:e.t0.code,StatusCode:e.t0.StatusCode,message:e.t0.message,isWSFailure:e.t0.isWSFailure}));case 13:return e.next=15,Re(r);case 15:s+=r,e.next=2;break;case 18:case"end":return e.stop()}}),e,null,[[3,9]])})))(),w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Re(t);case 2:throw new Error(JSON.stringify({code:"",StatusCode:"",message:"initial WS connection could not be established",isWSFailure:!0}));case 3:case"end":return e.stop()}}),e)})))()]));case 2:case"end":return e.stop()}}),e)}))),function(){return r.apply(this,arguments)})},{key:"disconnect",value:function(e){var t,n=this;this.logger("info","connection:disconnect() - Closing the websocket connection for wsID ".concat(this.wsID),{tags:["connection"]}),this.wsID+=1,this.healthCheckTimeoutRef&&clearInterval(this.healthCheckTimeoutRef),this.connectionCheckTimeoutRef&&clearInterval(this.connectionCheckTimeoutRef),this._removeConnectionListeners(),this.isHealthy=!1,this.ws&&this.ws.removeAllListeners&&this.ws.removeAllListeners();var r=this.ws;return r&&r.close&&r.readyState===r.OPEN?(t=new Promise((function(t){var s=function(e){n.logger("info","connection:disconnect() - resolving isClosedPromise ".concat(e?"with":"without"," close frame"),{tags:["connection"],event:e}),t()};r.onclose=s,setTimeout(s,null!=e?e:1e3)})),this.logger("info","connection:disconnect() - Manually closed connection by calling client.disconnect()",{tags:["connection"]}),r.close(Oe.WS_CLOSED_SUCCESS,"Manually closed connection by calling client.disconnect()")):(this.logger("info","connection:disconnect() - ws connection doesn't exist or it is already closed.",{tags:["connection"]}),t=Promise.resolve()),delete this.ws,t}},{key:"_connect",value:(n=w(R.mark((function e(){var t,n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isConnecting){e.next=2;break}return e.abrupt("return");case 2:return this.isConnecting=!0,this.requestID=Me(),this.insightMetrics.connectionStartTimestamp=(new Date).getTime(),e.prev=5,e.next=8,this.tokenManager.tokenReady();case 8:return this._setupConnectionPromise(),t=this._buildUrl(this.requestID),this.ws=new Ke(t),this.ws.onopen=this.onopen.bind(this,this.wsID),this.ws.onclose=this.onclose.bind(this,this.wsID),this.ws.onerror=this.onerror.bind(this,this.wsID),this.ws.onmessage=this.onmessage.bind(this,this.wsID),e.next=17,this.connectionOpen;case 17:if(n=e.sent,this.isConnecting=!1,!n){e.next=23;break}return this.connectionID=n.connection_id,this.insightMetrics.wsConsecutiveFailures>0&&this.postInsights&&(this.postInsights("ws_success_after_failure",Ye(this)),this.insightMetrics.wsConsecutiveFailures=0),e.abrupt("return",n);case 23:e.next=30;break;case 25:throw e.prev=25,e.t0=e.catch(5),this.isConnecting=!1,this.postInsights&&(this.insightMetrics.wsConsecutiveFailures++,this.insightMetrics.wsTotalFailures++,s=Ve(this,je(e.t0)),null===(r=this.postInsights)||void 0===r||r.call(this,"ws_fatal",s)),e.t0;case 30:case"end":return e.stop()}}),e,this,[[5,25]])}))),function(){return n.apply(this,arguments)})},{key:"_reconnect",value:(t=w(R.mark((function e(){var t,n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=s.length>0&&void 0!==s[0]?s[0]:{},this.logger("info","connection:_reconnect() - Initiating the reconnect",{tags:["connection"]}),!this.isConnecting&&!this.isHealthy){e.next=5;break}return this.logger("info","connection:_reconnect() - Abort (1) since already connecting or healthy",{tags:["connection"]}),e.abrupt("return");case 5:return(n=t.interval)||(n=Ae(this.consecutiveFailures)),e.next=9,Re(n);case 9:if(!this.isConnecting&&!this.isHealthy){e.next=12;break}return this.logger("info","connection:_reconnect() - Abort (2) since already connecting or healthy",{tags:["connection"]}),e.abrupt("return");case 12:if(this.logger("info","connection:_reconnect() - Destroying current WS connection",{tags:["connection"]}),this._destroyCurrentWSConnection(),!t.refreshToken){e.next=17;break}return e.next=17,this.tokenManager.loadToken();case 17:return e.prev=17,e.next=20,this._connect();case 20:if(r=e.sent,!this.recoverCallback){e.next=26;break}return this.logger("info","connection:_reconnect() - Waiting for recoverCallBack",{tags:["connection"]}),e.next=25,this.recoverCallback(r);case 25:this.logger("info","connection:_reconnect() - Finished recoverCallBack",{tags:["connection"]});case 26:this.consecutiveFailures=0,e.next=37;break;case 29:if(e.prev=29,e.t0=e.catch(17),this.isHealthy=!1,this.consecutiveFailures+=1,e.t0.code!==Oe.TOKEN_EXPIRED||this.tokenManager.isStatic()){e.next=36;break}return this.logger("info","connection:_reconnect() - WS failure due to expired token, so going to try to reload token and reconnect",{tags:["connection"]}),e.abrupt("return",this._reconnect({refreshToken:!0}));case 36:e.t0.isWSFailure&&(this.logger("info","connection:_reconnect() - WS failure, so going to try to reconnect",{tags:["connection"]}),this._reconnect());case 37:this.logger("info","connection:_reconnect() - == END ==",{tags:["connection"]});case 38:case"end":return e.stop()}}),e,this,[[17,29]])}))),function(){return t.apply(this,arguments)})},{key:"_destroyCurrentWSConnection",value:function(){this.wsID+=1;try{this.ws&&this.ws.removeAllListeners&&this.ws.removeAllListeners(),this.ws&&this.ws.close&&this.ws.close()}catch(e){}}}]),e}();function nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nt(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function st(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"!=typeof t)throw new TypeError("userId should be a string");rt({user_id:t},n);throw Error("Unable to find jwt crypto, if you are getting this error is probably because you are trying to generate tokens on browser or React Native (or other environment where crypto functions are not available). Please Note: token should only be generated server-side.")}function it(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={server:!0},r=d({algorithm:"HS256",noTimestamp:!0},t);return null.sign(n,e,r)}function at(e){var t=e.split(".");if(3!==t.length)return"";var n=t[1],r=l(n);return JSON.parse(r).user_id}function ot(e){return["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",h(JSON.stringify({user_id:e})),"devtoken"].join(".")}function ct(e,t,n){var r=Buffer.from(t,"ascii");return null.createHmac("sha256",r).update(e).digest("hex")===n}var ut=function e(t){var n=this;b(this,e),x(this,"loadTokenPromise",void 0),x(this,"type",void 0),x(this,"secret",void 0),x(this,"token",void 0),x(this,"tokenProvider",void 0),x(this,"user",void 0),x(this,"setTokenOrProvider",function(){var e=w(R.mark((function e(t,r){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.validateToken(t,r),n.user=r,Se(t)&&(n.tokenProvider=t,n.type="provider"),"string"==typeof t&&(n.token=t,n.type="static"),!t&&n.user&&n.secret&&(n.token=st(n.secret,r.id,{},{}),n.type="static"),e.next=7,n.loadToken();case 7:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),x(this,"reset",(function(){n.token=void 0,n.user=void 0,n.loadTokenPromise=null})),x(this,"validateToken",(function(e,t){if(!t||!t.anon||e){if(!n.secret&&!e)throw new Error("User token can not be empty");if(e&&"string"!=typeof e&&!Se(e))throw new Error("user token should either be a string or a function");if("string"==typeof e){if(t.anon&&""===e)return;var r=at(e);if(null!=e&&(null==r||""===r||r!==t.id))throw new Error("userToken does not have a user_id or is not matching with user.id")}}})),x(this,"tokenReady",(function(){return n.loadTokenPromise})),x(this,"loadToken",(function(){return n.loadTokenPromise=new Promise(function(){var e=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("static"!==n.type){e.next=2;break}return e.abrupt("return",t(n.token));case 2:if(!n.tokenProvider||"string"==typeof n.tokenProvider){e.next=7;break}return e.next=5,n.tokenProvider();case 5:n.token=e.sent,t(n.token);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),n.loadTokenPromise})),x(this,"getToken",(function(){if(n.token)return n.token;if(n.user&&n.user.anon&&!n.token)return n.token;if(n.secret)return it(n.secret);throw new Error("Both secret and user tokens are not set. Either client.connectUser wasn't called or client.disconnect was called")})),x(this,"isStatic",(function(){return"static"===n.type})),this.loadTokenPromise=null,t&&(this.secret=t),this.type="static",this.secret&&(this.token=it(this.secret))};function ht(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pt(e){return"string"==typeof e||e instanceof String}var vt=function(){function e(t,n,r){var s=this;b(this,e),x(this,"_user",void 0),x(this,"activeChannels",void 0),x(this,"anonymous",void 0),x(this,"axiosInstance",void 0),x(this,"baseURL",void 0),x(this,"browser",void 0),x(this,"cleaningIntervalRef",void 0),x(this,"clientID",void 0),x(this,"configs",void 0),x(this,"connectionID",void 0),x(this,"failures",void 0),x(this,"key",void 0),x(this,"listeners",void 0),x(this,"logger",void 0),x(this,"recoverStateOnReconnect",void 0),x(this,"mutedChannels",void 0),x(this,"mutedUsers",void 0),x(this,"node",void 0),x(this,"options",void 0),x(this,"secret",void 0),x(this,"setUserPromise",void 0),x(this,"state",void 0),x(this,"tokenManager",void 0),x(this,"user",void 0),x(this,"userAgent",void 0),x(this,"userID",void 0),x(this,"wsBaseURL",void 0),x(this,"wsConnection",void 0),x(this,"wsPromise",void 0),x(this,"consecutiveFailures",void 0),x(this,"insightMetrics",void 0),x(this,"_hasConnectionID",(function(){var e;return Boolean(null===(e=s.wsConnection)||void 0===e?void 0:e.connectionID)})),x(this,"connectUser",function(){var e=w(R.mark((function e(t,n){var r,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.id){e.next=2;break}throw new Error('The "id" field on the user is missing');case 2:if(s.userID!==t.id||!s.setUserPromise){e.next=5;break}return console.warn("Consecutive calls to connectUser is detected, ideally you should only call this function once in your app."),e.abrupt("return",s.setUserPromise);case 5:if(!s.userID){e.next=7;break}throw new Error("Use client.disconnect() before trying to connect as a different user. connectUser was called twice.");case 7:return!s._isUsingServerAuth()&&!s.node||s.options.allowServerSideConnect||console.warn('Please do not use connectUser server side. connectUser impacts MAU and concurrent connection usage and thus your bill. If you have a valid use-case, add "allowServerSideConnect: true" to the client options to disable this warning.'),s.userID=t.id,s.anonymous=!1,r=s._setToken(t,n),s._setUser(t),i=s.openConnection(),s.setUserPromise=Promise.all([r,i]).then((function(e){return e[1]})),e.prev=14,e.next=17,s.setUserPromise;case 17:return e.abrupt("return",e.sent);case 20:throw e.prev=20,e.t0=e.catch(14),s.disconnectUser(),e.t0;case 24:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n){return e.apply(this,arguments)}}()),x(this,"setUser",this.connectUser),x(this,"_setToken",(function(e,t){return s.tokenManager.setTokenOrProvider(t,e)})),x(this,"closeConnection",(function(e){return null!=s.cleaningIntervalRef&&(clearInterval(s.cleaningIntervalRef),s.cleaningIntervalRef=void 0),s.wsConnection?s.wsConnection.disconnect(e):Promise.resolve()})),x(this,"openConnection",w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s.userID){e.next=2;break}throw Error("User is not set on client, use client.connectUser or client.connectAnonymousUser instead");case 2:if(null===(t=s.wsConnection)||void 0===t||!t.isHealthy||!s._hasConnectionID()){e.next=5;break}return s.logger("info","client:openConnection() - openConnection called twice, healthy connection already exists",{tags:["connection","client"]}),e.abrupt("return",Promise.resolve());case 5:return s.clientID="".concat(s.userID,"--").concat(Me()),s.wsPromise=s.connect(),s._startCleaning(),e.abrupt("return",s.wsPromise);case 9:case"end":return e.stop()}}),e)})))),x(this,"_setupConnection",this.openConnection),x(this,"_normalizeDate",(function(e){if(e instanceof Date&&(e=e.toISOString()),""===e)throw new Error("Don't pass blank string for since, use null instead if resetting the token revoke");return e})),x(this,"disconnectUser",function(){var e=w(R.mark((function e(t){var n,r,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(s.logger("info","client:disconnect() - Disconnecting the client",{tags:["connection","client"]}),delete s.user,delete s._user,delete s.userID,s.anonymous=!1,n=s.closeConnection(t),r=0,i=Object.values(s.activeChannels);r<i.length;r++)i[r]._disconnect();return s.activeChannels={},s.state=new He,s.tokenManager.reset(),e.abrupt("return",n);case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),x(this,"disconnect",this.disconnectUser),x(this,"connectAnonymousUser",(function(){!s._isUsingServerAuth()&&!s.node||s.options.allowServerSideConnect||console.warn('Please do not use connectUser server side. connectUser impacts MAU and concurrent connection usage and thus your bill. If you have a valid use-case, add "allowServerSideConnect: true" to the client options to disable this warning.'),s.anonymous=!0,s.userID=Me();var e={id:s.userID,anon:!0};return s._setToken(e,""),s._setUser(e),s._setupConnection()})),x(this,"setAnonymousUser",this.connectAnonymousUser),x(this,"doAxiosRequest",function(){var e=w(R.mark((function e(t,n,r){var i,a,o,c=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=c.length>3&&void 0!==c[3]?c[3]:{},e.next=3,s.tokenManager.tokenReady();case 3:a=s._enrichAxiosOptions(i),e.prev=4,s._logApiRequest(t,n,r,a),e.t0=t,e.next="get"===e.t0?9:"delete"===e.t0?13:"post"===e.t0?17:"put"===e.t0?21:"patch"===e.t0?25:"options"===e.t0?29:33;break;case 9:return e.next=11,s.axiosInstance.get(n,a);case 11:return o=e.sent,e.abrupt("break",34);case 13:return e.next=15,s.axiosInstance.delete(n,a);case 15:return o=e.sent,e.abrupt("break",34);case 17:return e.next=19,s.axiosInstance.post(n,r,a);case 19:return o=e.sent,e.abrupt("break",34);case 21:return e.next=23,s.axiosInstance.put(n,r,a);case 23:return o=e.sent,e.abrupt("break",34);case 25:return e.next=27,s.axiosInstance.patch(n,r,a);case 27:return o=e.sent,e.abrupt("break",34);case 29:return e.next=31,s.axiosInstance.options(n,a);case 31:return o=e.sent,e.abrupt("break",34);case 33:throw new Error("Invalid request type");case 34:return s._logApiResponse(t,n,o),s.consecutiveFailures=0,e.abrupt("return",s.handleResponse(o));case 39:if(e.prev=39,e.t1=e.catch(4),s._logApiError(t,n,e.t1),s.consecutiveFailures+=1,!e.t1.response){e.next=55;break}if(e.t1.response.data.code!==Oe.TOKEN_EXPIRED||s.tokenManager.isStatic()){e.next=52;break}if(!(s.consecutiveFailures>1)){e.next=48;break}return e.next=48,Re(Ae(s.consecutiveFailures));case 48:return s.tokenManager.loadToken(),e.next=51,s.doAxiosRequest(t,n,r,i);case 51:return e.abrupt("return",e.sent);case 52:return e.abrupt("return",s.handleResponse(e.t1.response));case 55:throw e.t1;case 56:case"end":return e.stop()}}),e,null,[[4,39]])})));return function(t,n,r){return e.apply(this,arguments)}}()),x(this,"dispatchEvent",(function(e){var t=s._handleClientEvent(e),n=e.cid,r=n?s.activeChannels[n]:void 0;r&&r._handleChannelEvent(e),s._callClientListeners(e),r&&r._callChannelListeners(e),t.forEach((function(e){return e()}))})),x(this,"handleEvent",(function(e){var t=e.data,n=JSON.parse(t);n.received_at=new Date,s.dispatchEvent(n)})),x(this,"_updateMemberWatcherReferences",(function(e){var t=s.state.userChannelReferences[e.id]||{};for(var n in t){var r=s.activeChannels[n];null!=r&&r.state&&(r.state.members[e.id]&&(r.state.members[e.id].user=e),r.state.watchers[e.id]&&(r.state.watchers[e.id]=e))}})),x(this,"_updateUserReferences",this._updateMemberWatcherReferences),x(this,"_updateUserMessageReferences",(function(e){var t=s.state.userChannelReferences[e.id]||{};for(var n in t){var r=s.activeChannels[n].state;null==r||r.updateUserMessages(e)}})),x(this,"_deleteUserMessageReference",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=s.state.userChannelReferences[e.id]||{};for(var r in n){var i=s.activeChannels[r],a=i.state;null==a||a.deleteUserMessages(e,t)}})),x(this,"_handleUserEvent",(function(e){if(e.user){if("user.presence.changed"===e.type||"user.updated"===e.type){if(e.user.id===s.userID){var t=ft({},s.user||{}),n=ft({},s._user||{});for(var r in s.user)r in e.user||{channel_mutes:!0,devices:!0,mutes:!0,total_unread_count:!0,unread_channels:!0,unread_count:!0,invisible:!0,roles:!0}[r]||(delete t[r],delete n[r]);for(var i in e.user)n&&i in n&&(n[i]=e.user[i]);s._user=ft({},n),s.user=ft(ft({},t),e.user)}s.state.updateUser(e.user),s._updateMemberWatcherReferences(e.user)}"user.updated"===e.type&&s._updateUserMessageReferences(e.user),"user.deleted"===e.type&&e.user.deleted_at&&(e.mark_messages_deleted||e.hard_delete)&&s._deleteUserMessageReference(e.user,e.hard_delete)}})),x(this,"_callClientListeners",(function(e){var t=s,n=[];t.listeners.all&&n.push.apply(n,m(t.listeners.all)),t.listeners[e.type]&&n.push.apply(n,m(t.listeners[e.type]));for(var r=0,i=n;r<i.length;r++){(0,i[r])(e)}})),x(this,"recoverState",w(R.mark((function e(){var t,n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s.logger("info","client:recoverState() - Start of recoverState with connectionID ".concat(null===(t=s.wsConnection)||void 0===t?void 0:t.connectionID),{tags:["connection"]}),!(n=Object.keys(s.activeChannels)).length||!s.recoverStateOnReconnect){e.next=10;break}return s.logger("info","client:recoverState() - Start the querying of ".concat(n.length," channels"),{tags:["connection","client"]}),e.next=6,s.queryChannels({cid:{$in:n}},{last_message_at:-1},{limit:30});case 6:s.logger("info","client:recoverState() - Querying channels finished",{tags:["connection","client"]}),s.dispatchEvent({type:"connection.recovered"}),e.next=11;break;case 10:s.dispatchEvent({type:"connection.recovered"});case 11:s.wsPromise=Promise.resolve(),s.setUserPromise=Promise.resolve();case 13:case"end":return e.stop()}}),e)})))),x(this,"getChannelByMembers",(function(e,t){var n=m(t.members||[]).sort().join(","),r="".concat(e,":!members-").concat(n);if(!n)throw Error("Please specify atleast one member when creating unique conversation");for(var i in s.activeChannels){var a=s.activeChannels[i];if(!a.disconnected){if(i===r)return a;if(0===i.indexOf("".concat(e,":!members-")))if(Object.keys(a.state.members).sort().join(",")===n)return a}}var o=new Ne(s,e,void 0,t);return s.activeChannels[r]=o,o})),x(this,"getChannelById",(function(e,t,n){if("string"==typeof t&&~t.indexOf(":"))throw Error("Invalid channel id ".concat(t,", can't contain the : character"));var r="".concat(e,":").concat(t);if(r in s.activeChannels&&!s.activeChannels[r].disconnected){var i=s.activeChannels[r];return Object.keys(n).length>0&&(i.data=n,i._data=n),i}var a=new Ne(s,e,t,n);return s.activeChannels[a.cid]=a,a})),x(this,"updateUsers",this.upsertUsers),x(this,"updateUser",this.upsertUser),x(this,"markAllRead",this.markChannelsRead),x(this,"_isUsingServerAuth",(function(){return!!s.secret})),x(this,"postInsights",function(){var e=w(R.mark((function e(t,n){var r,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=3,i=0;case 2:if(!(i<r)){e.next=18;break}return e.prev=3,e.next=6,s.axiosInstance.post("https://insights.stream-io-api.com/insights/".concat(t),n);case 6:e.next=14;break;case 8:return e.prev=8,e.t0=e.catch(3),s.logger("warn","failed to send insights event ".concat(t),{tags:["insights","connection"],error:e.t0,insights:n}),e.next=13,Re(3e3*(i+1));case 13:return e.abrupt("continue",15);case 14:return e.abrupt("break",18);case 15:i++,e.next=2;break;case 18:case"end":return e.stop()}}),e,null,[[3,8]])})));return function(t,n){return e.apply(this,arguments)}}()),this.key=t,this.listeners={},this.state=new He,this.mutedChannels=[],this.mutedUsers=[],n&&pt(n)&&(this.secret=n);var i=r||(n&&!pt(n)?n:{});this.browser=void 0!==i.browser?i.browser:"undefined"!=typeof window,this.node=!this.browser,this.options=ft({timeout:3e3,withCredentials:!1,warmUp:!1,recoverStateOnReconnect:!0},i),this.node&&!this.options.httpsAgent&&(this.options.httpsAgent=new null.Agent({keepAlive:!0,keepAliveMsecs:3e3})),this.axiosInstance=de.create(this.options),this.setBaseURL(this.options.baseURL||"https://chat-us-east-1.stream-io-api.com"),"undefined"!=typeof process&&process.env.STREAM_LOCAL_TEST_RUN&&this.setBaseURL("http://localhost:3030"),"undefined"!=typeof process&&process.env.STREAM_LOCAL_TEST_HOST&&this.setBaseURL("http://"+process.env.STREAM_LOCAL_TEST_HOST),this.wsConnection=null,this.wsPromise=null,this.setUserPromise=null,this.activeChannels={},this.configs={},this.anonymous=!1,this.tokenManager=new ut(this.secret),this.consecutiveFailures=0,this.insightMetrics=new $e,this.logger=Se(i.logger)?i.logger:function(){return null},this.recoverStateOnReconnect=this.options.recoverStateOnReconnect}var t,n,r,s,i,a,o,c,u,h,l,v,g,y,k,C,U,S,O,E,L,A,M,I,T,D,j,P,F,B,q,N,W,z,H,J,K,G,X,$,V,Q,Y,Z,ee,te,ne,re,se,ie,ae,oe,ce,ue,he,le,fe,pe,ve,ge;return _(e,[{key:"devToken",value:function(e){return ot(e)}},{key:"getAuthType",value:function(){return this.anonymous?"anonymous":"jwt"}},{key:"setBaseURL",value:function(e){this.baseURL=e,this.wsBaseURL=this.baseURL.replace("http","ws").replace(":3030",":8800")}},{key:"_setUser",value:function(e){this.user=e,this._user=ft({},e)}},{key:"updateAppSettings",value:(ge=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null!==(n=t.apn_config)&&void 0!==n&&n.p12_cert&&(t.apn_config.p12_cert=Buffer.from(t.apn_config.p12_cert).toString("base64")),e.next=3,this.patch(this.baseURL+"/app",t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return ge.apply(this,arguments)})},{key:"revokeTokens",value:(ve=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.updateAppSettings({revoke_tokens_issued_before:this._normalizeDate(t)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return ve.apply(this,arguments)})},{key:"revokeUserToken",value:(pe=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.revokeUsersToken([t],n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return pe.apply(this,arguments)})},{key:"revokeUsersToken",value:(fe=w(R.mark((function e(t,n){var r,s,i,a;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=void 0===n?(new Date).toISOString():this._normalizeDate(n),r=[],s=ht(t);try{for(s.s();!(i=s.n()).done;)a=i.value,r.push({id:a,set:{revoke_tokens_issued_before:n}})}catch(e){s.e(e)}finally{s.f()}return e.next=6,this.partialUpdateUsers(r);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return fe.apply(this,arguments)})},{key:"getAppSettings",value:(le=w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/app");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(){return le.apply(this,arguments)})},{key:"testPushSettings",value:(he=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/check_push",ft(ft(ft(ft(ft(ft({user_id:t},n.messageID?{message_id:n.messageID}:{}),n.apnTemplate?{apn_template:n.apnTemplate}:{}),n.firebaseTemplate?{firebase_template:n.firebaseTemplate}:{}),n.firebaseDataTemplate?{firebase_data_template:n.firebaseDataTemplate}:{}),n.huaweiDataTemplate?{huawei_data_template:n.huaweiDataTemplate}:{}),n.skipDevices?{skip_devices:!0}:{}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return he.apply(this,arguments)})},{key:"testSQSSettings",value:(ue=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.post(this.baseURL+"/check_sqs",t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return ue.apply(this,arguments)})},{key:"setGuestUser",value:(ce=w(R.mark((function e(t){var n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.anonymous=!0,e.prev=1,e.next=4,this.post(this.baseURL+"/guest",{user:t});case 4:n=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),this.anonymous=!1,e.t0;case 11:return this.anonymous=!1,(r=n.user).created_at,r.updated_at,r.last_active,r.online,s=p(r,["created_at","updated_at","last_active","online"]),e.next=15,this.connectUser(s,n.access_token);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,this,[[1,7]])}))),function(e){return ce.apply(this,arguments)})},{key:"createToken",value:function(e,t,n){if(null==this.secret)throw Error("tokens can only be created server-side using the API Secret");var r={};return t&&(r.exp=t),n&&(r.iat=n),st(this.secret,e,r,{})}},{key:"on",value:function(e,t){var n=this,r=t?e:"all";if(!ke(r))throw Error("Invalid event type ".concat(r));var s=t||e;return r in this.listeners||(this.listeners[r]=[]),this.logger("info","Attaching listener for ".concat(r," event"),{tags:["event","client"]}),this.listeners[r].push(s),{unsubscribe:function(){n.logger("info","Removing listener for ".concat(r," event"),{tags:["event","client"]}),n.listeners[r]=n.listeners[r].filter((function(e){return e!==s}))}}}},{key:"off",value:function(e,t){var n=t?e:"all";if(!ke(n))throw Error("Invalid event type ".concat(n));var r=t||e;n in this.listeners||(this.listeners[n]=[]),this.logger("info","Removing listener for ".concat(n," event"),{tags:["event","client"]}),this.listeners[n]=this.listeners[n].filter((function(e){return e!==r}))}},{key:"_logApiRequest",value:function(e,t,n,r){this.logger("info","client: ".concat(e," - Request - ").concat(t),{tags:["api","api_request","client"],url:t,payload:n,config:r})}},{key:"_logApiResponse",value:function(e,t,n){this.logger("info","client:".concat(e," - Response - url: ").concat(t," > status ").concat(n.status),{tags:["api","api_response","client"],url:t,response:n})}},{key:"_logApiError",value:function(e,t,n){this.logger("error","client:".concat(e," - Error - url: ").concat(t),{tags:["api","api_response","client"],url:t,error:n})}},{key:"get",value:function(e,t){return this.doAxiosRequest("get",e,null,{params:t})}},{key:"put",value:function(e,t){return this.doAxiosRequest("put",e,t)}},{key:"post",value:function(e,t){return this.doAxiosRequest("post",e,t)}},{key:"patch",value:function(e,t){return this.doAxiosRequest("patch",e,t)}},{key:"delete",value:function(e,t){return this.doAxiosRequest("delete",e,null,{params:t})}},{key:"sendFile",value:function(e,t,n,r,s){var i=Ee(t,n,r);return null!=s&&i.append("user",JSON.stringify(s)),this.doAxiosRequest("post",e,i,{headers:i.getHeaders?i.getHeaders():{},config:{timeout:0,maxContentLength:1/0,maxBodyLength:1/0}})}},{key:"errorFromResponse",value:function(e){var t;return t=new Error("StreamChat error HTTP code: ".concat(e.status)),e.data&&e.data.code&&((t=new Error("StreamChat error code ".concat(e.data.code,": ").concat(e.data.message))).code=e.data.code),t.response=e,t.status=e.status,t}},{key:"handleResponse",value:function(e){var t=e.data;if("2"!==(e.status+"")[0])throw this.errorFromResponse(e);return t}},{key:"_handleClientEvent",value:function(e){var t,n,r,s=this,i=this,a=[];if(this.logger("info","client:_handleClientEvent - Received event of type { ".concat(e.type," }"),{tags:["event","client"],event:e}),"user.presence.changed"!==e.type&&"user.updated"!==e.type&&"user.deleted"!==e.type||this._handleUserEvent(e),"health.check"===e.type&&e.me&&(i.user=e.me,i.state.updateUser(e.me),i.mutedChannels=e.me.channel_mutes,i.mutedUsers=e.me.mutes),e.channel&&"notification.message_new"===e.type&&(this.configs[e.channel.type]=e.channel.config),"notification.channel_mutes_updated"===e.type&&null!==(t=e.me)&&void 0!==t&&t.channel_mutes){var o=[],c=[];this.mutedChannels.forEach((function(e){return e.channel&&o.push(e.channel.cid)})),e.me.channel_mutes.forEach((function(e){return e.channel&&c.push(e.channel.cid)})),o.forEach((function(e){!c.includes(e)&&s.activeChannels[e]&&(s.activeChannels[e].state.unreadCount=0)})),this.mutedChannels=e.me.channel_mutes}("notification.mutes_updated"===e.type&&null!==(n=e.me)&&void 0!==n&&n.mutes&&(this.mutedUsers=e.me.mutes),"channel.deleted"!==e.type&&"notification.channel_deleted"!==e.type||!e.cid)||(i.state.deleteAllChannelReference(e.cid),null===(r=this.activeChannels[e.cid])||void 0===r||r._disconnect(),a.push((function(){e.cid&&delete s.activeChannels[e.cid]})));return a}},{key:"_muteStatus",value:function(e){for(var t,n=0;n<this.mutedChannels.length;n++){var r,s=this.mutedChannels[n];if((null===(r=s.channel)||void 0===r?void 0:r.cid)===e){t={muted:!s.expires||new Date(s.expires).getTime()>(new Date).getTime(),createdAt:s.created_at?new Date(s.created_at):new Date,expiresAt:s.expires?new Date(s.expires):null};break}}return t||{muted:!1,createdAt:null,expiresAt:null}}},{key:"connect",value:(oe=w(R.mark((function e(){var t,n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this,this.failures=0,null!=t.userID&&null!=this._user){e.next=4;break}throw Error("Call connectUser or connectAnonymousUser before starting the connection");case 4:if(null!=t.wsBaseURL){e.next=6;break}throw Error("Websocket base url not set");case 6:if(null!=t.clientID){e.next=8;break}throw Error("clientID is not set");case 8:return this.wsConnection=new tt({wsBaseURL:t.wsBaseURL,clientID:t.clientID,userID:t.userID,tokenManager:t.tokenManager,user:this._user,authType:this.getAuthType(),userAgent:this.getUserAgent(),apiKey:this.key,recoverCallback:this.recoverState,messageCallback:this.handleEvent,eventCallback:this.dispatchEvent,logger:this.logger,device:this.options.device,postInsights:this.options.enableInsights?this.postInsights:void 0,insightMetrics:this.insightMetrics}),this.options.warmUp&&(n=this.doAxiosRequest("options",this.baseURL+"/connect")),e.next=12,this.wsConnection.connect();case 12:return r=e.sent,e.prev=13,e.next=16,n;case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(13),this.logger("error","Warmup request failed",{error:e.t0});case 21:return e.abrupt("return",r);case 22:case"end":return e.stop()}}),e,this,[[13,18]])}))),function(){return oe.apply(this,arguments)})},{key:"queryUsers",value:(ae=w(R.mark((function e(t){var n,r,s,i,a=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:[],r=a.length>2&&void 0!==a[2]?a[2]:{},s={presence:!1},e.next=5,this.setUserPromise;case 5:return this._hasConnectionID()||(s.presence=!1),e.next=8,this.get(this.baseURL+"/users",{payload:ft(ft({filter_conditions:t,sort:Le(n)},s),r)});case 8:return i=e.sent,this.state.updateUsers(i.users),e.abrupt("return",i);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return ae.apply(this,arguments)})},{key:"queryBannedUsers",value:(ie=w(R.mark((function e(){var t,n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.length>0&&void 0!==s[0]?s[0]:{},n=s.length>1&&void 0!==s[1]?s[1]:[],r=s.length>2&&void 0!==s[2]?s[2]:{},e.next=5,this.get(this.baseURL+"/query_banned_users",{payload:ft({filter_conditions:t,sort:Le(n)},r)});case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(){return ie.apply(this,arguments)})},{key:"queryMessageFlags",value:(se=w(R.mark((function e(){var t,n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:{},n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=4,this.get(this.baseURL+"/moderation/flags/message",{payload:ft({filter_conditions:t},n)});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(){return se.apply(this,arguments)})},{key:"queryChannels",value:(re=w(R.mark((function e(t){var n,r,s,i,a,o,c,u,h,l,d,f,p,v,g,m=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=m.length>1&&void 0!==m[1]?m[1]:[],r=m.length>2&&void 0!==m[2]?m[2]:{},s=m.length>3&&void 0!==m[3]?m[3]:{},i=s.skipInitialization,a={state:!0,watch:!0,presence:!1},e.next=7,this.setUserPromise;case 7:return this._hasConnectionID()||(a.watch=!1),o=ft(ft({filter_conditions:t,sort:Le(n)},a),r),e.next=11,this.post(this.baseURL+"/channels",o);case 11:c=e.sent,u=[],h=ht(c.channels);try{for(h.s();!(l=h.n()).done;)d=l.value,this._addChannelConfig(d)}catch(e){h.e(e)}finally{h.f()}f=ht(c.channels);try{for(f.s();!(p=f.n()).done;)v=p.value,(g=this.channel(v.channel.type,v.channel.id)).data=v.channel,g.initialized=!0,void 0===i?g._initializeState(v):i.includes(v.channel.id)||(g.state.clearMessages(),g._initializeState(v)),u.push(g)}catch(e){f.e(e)}finally{f.f()}return e.abrupt("return",u);case 18:case"end":return e.stop()}}),e,this)}))),function(e){return re.apply(this,arguments)})},{key:"search",value:(ne=w(R.mark((function e(t,n){var r,s,i=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=i.length>2&&void 0!==i[2]?i[2]:{}).offset||!r.sort&&!r.next){e.next=3;break}throw Error("Cannot specify offset with sort or next parameters");case 3:if(s=ft(ft({filter_conditions:t},r),{},{sort:r.sort?Le(r.sort):void 0}),"string"!=typeof n){e.next=8;break}s.query=n,e.next=13;break;case 8:if("object"!==f(n)){e.next=12;break}s.message_filter_conditions=n,e.next=13;break;case 12:throw Error("Invalid type ".concat(f(n)," for query parameter"));case 13:return e.next=15,this.setUserPromise;case 15:return e.next=17,this.get(this.baseURL+"/search",{payload:s});case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)}))),function(e,t){return ne.apply(this,arguments)})},{key:"setLocalDevice",value:function(e){if(this.wsConnection)throw new Error("you can only set device before opening a websocket connection");this.options.device=e}},{key:"addDevice",value:(te=w(R.mark((function e(t,n,r){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/devices",ft({id:t,push_provider:n},null!=r?{user_id:r}:{}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return te.apply(this,arguments)})},{key:"getDevices",value:(ee=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/devices",t?{user_id:t}:{});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return ee.apply(this,arguments)})},{key:"removeDevice",value:(Z=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delete(this.baseURL+"/devices",ft({id:t},n?{user_id:n}:{}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return Z.apply(this,arguments)})},{key:"getRateLimits",value:(Y=w(R.mark((function e(t){var n,r,s,i,a,o;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=(n=t||{}).serverSide,s=n.web,i=n.android,a=n.ios,o=n.endpoints,e.abrupt("return",this.get(this.baseURL+"/rate_limits",{server_side:r,web:s,android:i,ios:a,endpoints:o?o.join(","):void 0}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return Y.apply(this,arguments)})},{key:"_addChannelConfig",value:function(e){this.configs[e.channel.type]=e.channel.config}},{key:"channel",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this.userID&&!this._isUsingServerAuth())throw Error("Call connectUser or connectAnonymousUser before creating a channel");if(~e.indexOf(":"))throw Error("Invalid channel group ".concat(e,", can't contain the : character"));return null==t||""===t?new Ne(this,e,void 0,n):"object"===f(t)?this.getChannelByMembers(e,t):this.getChannelById(e,t,n)}},{key:"partialUpdateUser",value:(Q=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.partialUpdateUsers([t]);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return Q.apply(this,arguments)})},{key:"upsertUsers",value:(V=w(R.mark((function e(t){var n,r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n={},r=ht(t),e.prev=2,r.s();case 4:if((s=r.n()).done){e.next=11;break}if((i=s.value).id){e.next=8;break}throw Error("User ID is required when updating a user");case 8:n[i.id]=i;case 9:e.next=4;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),r.e(e.t0);case 16:return e.prev=16,r.f(),e.finish(16);case 19:return e.next=21,this.post(this.baseURL+"/users",{users:n});case 21:return e.abrupt("return",e.sent);case 22:case"end":return e.stop()}}),e,this,[[2,13,16,19]])}))),function(e){return V.apply(this,arguments)})},{key:"upsertUser",value:function(e){return this.upsertUsers([e])}},{key:"partialUpdateUsers",value:($=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=ht(t),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=9;break}if(r.value.id){e.next=7;break}throw Error("User ID is required when updating a user");case 7:e.next=3;break;case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(1),n.e(e.t0);case 14:return e.prev=14,n.f(),e.finish(14);case 17:return e.next=19,this.patch(this.baseURL+"/users",{users:t});case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e,this,[[1,11,14,17]])}))),function(e){return $.apply(this,arguments)})},{key:"deleteUser",value:(X=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delete(this.baseURL+"/users/".concat(t),n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return X.apply(this,arguments)})},{key:"reactivateUser",value:(G=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/users/".concat(t,"/reactivate"),ft({},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return G.apply(this,arguments)})},{key:"deactivateUser",value:(K=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/users/".concat(t,"/deactivate"),ft({},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return K.apply(this,arguments)})},{key:"exportUser",value:(J=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/users/".concat(t,"/export"),ft({},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return J.apply(this,arguments)})},{key:"banUser",value:(H=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0!==(null==n?void 0:n.user_id)&&(n.banned_by_id=n.user_id,delete n.user_id,console.warn("banUser: 'user_id' is deprecated, please consider switching to 'banned_by_id'")),void 0!==(null==n?void 0:n.user)&&(n.banned_by=n.user,delete n.user,console.warn("banUser: 'user' is deprecated, please consider switching to 'banned_by'")),e.next=4,this.post(this.baseURL+"/moderation/ban",ft({target_user_id:t},n));case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return H.apply(this,arguments)})},{key:"unbanUser",value:(z=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delete(this.baseURL+"/moderation/ban",ft({target_user_id:t},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return z.apply(this,arguments)})},{key:"shadowBan",value:(W=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.banUser(t,ft({shadow:!0},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return W.apply(this,arguments)})},{key:"removeShadowBan",value:(N=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.unbanUser(t,ft({shadow:!0},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return N.apply(this,arguments)})},{key:"muteUser",value:(q=w(R.mark((function e(t,n){var r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.length>2&&void 0!==s[2]?s[2]:{},e.next=3,this.post(this.baseURL+"/moderation/mute",ft(ft({target_id:t},n?{user_id:n}:{}),r));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return q.apply(this,arguments)})},{key:"unmuteUser",value:(B=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/moderation/unmute",ft({target_id:t},n?{user_id:n}:{}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return B.apply(this,arguments)})},{key:"userMuteStatus",value:function(e){if(!this.user||!this.wsPromise)throw new Error("Make sure to await connectUser() first.");for(var t=0;t<this.mutedUsers.length;t+=1)if(this.mutedUsers[t].target.id===e)return!0;return!1}},{key:"flagMessage",value:(F=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/flag",ft({target_message_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return F.apply(this,arguments)})},{key:"flagUser",value:(P=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/flag",ft({target_user_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return P.apply(this,arguments)})},{key:"unflagMessage",value:(j=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/unflag",ft({target_message_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return j.apply(this,arguments)})},{key:"unflagUser",value:(D=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/unflag",ft({target_user_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return D.apply(this,arguments)})},{key:"markChannelsRead",value:(T=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.post(this.baseURL+"/channels/read",ft({},t));case 3:case"end":return e.stop()}}),e,this)}))),function(){return T.apply(this,arguments)})},{key:"createCommand",value:function(e){return this.post(this.baseURL+"/commands",e)}},{key:"getCommand",value:function(e){return this.get(this.baseURL+"/commands/".concat(e))}},{key:"updateCommand",value:function(e,t){return this.put(this.baseURL+"/commands/".concat(e),t)}},{key:"deleteCommand",value:function(e){return this.delete(this.baseURL+"/commands/".concat(e))}},{key:"listCommands",value:function(){return this.get(this.baseURL+"/commands")}},{key:"createChannelType",value:function(e){var t=d({},{commands:["all"]},e);return this.post(this.baseURL+"/channeltypes",t)}},{key:"getChannelType",value:function(e){return this.get(this.baseURL+"/channeltypes/".concat(e))}},{key:"updateChannelType",value:function(e,t){return this.put(this.baseURL+"/channeltypes/".concat(e),t)}},{key:"deleteChannelType",value:function(e){return this.delete(this.baseURL+"/channeltypes/".concat(e))}},{key:"listChannelTypes",value:function(){return this.get(this.baseURL+"/channeltypes")}},{key:"translateMessage",value:(I=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/messages/".concat(t,"/translate"),{language:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return I.apply(this,arguments)})},{key:"_normalizeExpiration",value:function(e){var t;if("number"==typeof e){var n=new Date;n.setSeconds(n.getSeconds()+e),t=n.toISOString()}else pt(e)?t=e:e instanceof Date&&(t=e.toISOString());return t}},{key:"_validateAndGetMessageId",value:function(e,t){var n;if("string"==typeof e)n=e;else{if(!e.id)throw Error(t);n=e.id}return n}},{key:"pinMessage",value:function(e,t,n){var r=this._validateAndGetMessageId(e,"Please specify the message id when calling unpinMessage");return this.partialUpdateMessage(r,{set:{pinned:!0,pin_expires:this._normalizeExpiration(t)}},n)}},{key:"unpinMessage",value:function(e,t){var n=this._validateAndGetMessageId(e,"Please specify the message id when calling unpinMessage");return this.partialUpdateMessage(n,{set:{pinned:!1}},t)}},{key:"updateMessage",value:(M=w(R.mark((function e(t,n,r){var s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.id){e.next=2;break}throw Error("Please specify the message id when calling updateMessage");case 2:return delete(s=d({},t)).id,["command","created_at","html","latest_reactions","own_reactions","reaction_counts","reply_count","type","updated_at","user","__html"].forEach((function(e){null!=s[e]&&delete s[e]})),null!=n&&(pt(n)?s.user_id=n:s.user={id:n.id}),Array.isArray(s.mentioned_users)&&!pt(s.mentioned_users[0])&&(s.mentioned_users=s.mentioned_users.map((function(e){return e.id}))),e.next=10,this.post(this.baseURL+"/messages/".concat(t.id),ft({message:s},r));case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return M.apply(this,arguments)})},{key:"partialUpdateMessage",value:(A=w(R.mark((function e(t,n,r,s){var i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw Error("Please specify the message id when calling partialUpdateMessage");case 2:return i=r,null!=r&&pt(r)&&(i={id:r}),e.next=6,this.put(this.baseURL+"/messages/".concat(t),ft(ft(ft({},n),s),{},{user:i}));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return A.apply(this,arguments)})},{key:"deleteMessage",value:(L=w(R.mark((function e(t,n){var r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={},n&&(r={hard:!0}),e.next=4,this.delete(this.baseURL+"/messages/".concat(t),r);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return L.apply(this,arguments)})},{key:"getMessage",value:(E=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/messages/".concat(t));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return E.apply(this,arguments)})},{key:"getUserAgent",value:function(){return this.userAgent||"stream-chat-javascript-client-".concat(this.node?"node":"browser","-","4.4.3-dev.0")}},{key:"setUserAgent",value:function(e){this.userAgent=e}},{key:"_enrichAxiosOptions",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{params:{},headers:{},config:{}},n=this._getToken();return ft({params:ft(ft({user_id:this.userID},t.params),{},{api_key:this.key,connection_id:null===(e=this.wsConnection)||void 0===e?void 0:e.connectionID}),headers:ft({Authorization:n,"stream-auth-type":this.getAuthType(),"X-Stream-Client":this.getUserAgent()},t.headers)},t.config)}},{key:"_getToken",value:function(){return!this.tokenManager||this.anonymous?null:this.tokenManager.getToken()}},{key:"_startCleaning",value:function(){var e=this;null==this.cleaningIntervalRef&&(this.cleaningIntervalRef=setInterval((function(){for(var t=0,n=Object.values(e.activeChannels);t<n.length;t++){n[t].clean()}}),500))}},{key:"verifyWebhook",value:function(e,t){return!!this.secret&&ct(e,this.secret,t)}},{key:"getPermission",value:function(e){return this.get("".concat(this.baseURL,"/permissions/").concat(e))}},{key:"createPermission",value:function(e){return this.post("".concat(this.baseURL,"/permissions"),ft({},e))}},{key:"updatePermission",value:function(e,t){return this.put("".concat(this.baseURL,"/permissions/").concat(e),ft({},t))}},{key:"deletePermission",value:function(e){return this.delete("".concat(this.baseURL,"/permissions/").concat(e))}},{key:"listPermissions",value:function(){return this.get("".concat(this.baseURL,"/permissions"))}},{key:"createRole",value:function(e){return this.post("".concat(this.baseURL,"/roles"),{name:e})}},{key:"listRoles",value:function(){return this.get("".concat(this.baseURL,"/roles"))}},{key:"deleteRole",value:function(e){return this.delete("".concat(this.baseURL,"/roles/").concat(e))}},{key:"sync",value:function(e,t){return this.post("".concat(this.baseURL,"/sync"),{channel_cids:e,last_sync_at:t})}},{key:"sendUserCustomEvent",value:(O=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post("".concat(this.baseURL,"/users/").concat(t,"/event"),{event:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return O.apply(this,arguments)})},{key:"createBlockList",value:function(e){return this.post("".concat(this.baseURL,"/blocklists"),e)}},{key:"listBlockLists",value:function(){return this.get("".concat(this.baseURL,"/blocklists"))}},{key:"getBlockList",value:function(e){return this.get("".concat(this.baseURL,"/blocklists/").concat(e))}},{key:"updateBlockList",value:function(e,t){return this.put("".concat(this.baseURL,"/blocklists/").concat(e),t)}},{key:"deleteBlockList",value:function(e){return this.delete("".concat(this.baseURL,"/blocklists/").concat(e))}},{key:"exportChannels",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ft({channels:e},t);return this.post("".concat(this.baseURL,"/export_channels"),n)}},{key:"exportChannel",value:function(e,t){return this.exportChannels([e],t)}},{key:"getExportChannelStatus",value:function(e){return this.get("".concat(this.baseURL,"/export_channels/").concat(e))}},{key:"createSegment",value:(S=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/segments",{segment:t});case 2:return n=e.sent,r=n.segment,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return S.apply(this,arguments)})},{key:"getSegment",value:(U=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/segments/".concat(t));case 2:return n=e.sent,r=n.segment,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return U.apply(this,arguments)})},{key:"listSegments",value:(C=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/segments",t);case 2:return n=e.sent,r=n.segments,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return C.apply(this,arguments)})},{key:"updateSegment",value:(k=w(R.mark((function e(t,n){var r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.put(this.baseURL+"/segments/".concat(t),{segment:n});case 2:return r=e.sent,s=r.segment,e.abrupt("return",s);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return k.apply(this,arguments)})},{key:"deleteSegment",value:(y=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.delete(this.baseURL+"/segments/".concat(t)));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"createCampaign",value:(g=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/campaigns",{campaign:t});case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return g.apply(this,arguments)})},{key:"getCampaign",value:(v=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/campaigns/".concat(t));case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return v.apply(this,arguments)})},{key:"listCampaigns",value:(l=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/campaigns",t);case 2:return n=e.sent,r=n.campaigns,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"updateCampaign",value:(h=w(R.mark((function e(t,n){var r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.put(this.baseURL+"/campaigns/".concat(t),{campaign:n});case 2:return r=e.sent,s=r.campaign,e.abrupt("return",s);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return h.apply(this,arguments)})},{key:"deleteCampaign",value:(u=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.delete(this.baseURL+"/campaigns/".concat(t)));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"scheduleCampaign",value:(c=w(R.mark((function e(t,n){var r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.sendAt,e.next=3,this.patch(this.baseURL+"/campaigns/".concat(t,"/schedule"),{send_at:r});case 3:return s=e.sent,i=s.campaign,e.abrupt("return",i);case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"stopCampaign",value:(o=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.patch(this.baseURL+"/campaigns/".concat(t,"/stop"));case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"resumeCampaign",value:(a=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.patch(this.baseURL+"/campaigns/".concat(t,"/resume"));case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"testCampaign",value:(i=w(R.mark((function e(t,n){var r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.users,e.next=3,this.post(this.baseURL+"/campaigns/".concat(t,"/test"),{users:r});case 3:return s=e.sent,i=s.campaign,e.abrupt("return",i);case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"enrichURL",value:(s=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.get(this.baseURL+"/og",{url:t}));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getTask",value:(r=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.get("".concat(this.baseURL,"/tasks/").concat(t)));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"deleteChannels",value:(n=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/channels/delete",ft({cids:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"deleteUsers",value:(t=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("soft"===(null==n?void 0:n.user)||"hard"===(null==n?void 0:n.user)){e.next=2;break}throw new Error("Invalid delete user options. user must be one of [soft hard]");case 2:if(void 0===n.messages||"soft"===n.messages||"hard"===n.messages){e.next=4;break}throw new Error("Invalid delete user options. messages must be one of [soft hard]");case 4:if(void 0===n.conversations||"soft"===n.conversations||"hard"===n.conversations){e.next=6;break}throw new Error("Invalid delete user options. conversations must be one of [soft hard]");case 6:return e.next=8,this.post(this.baseURL+"/users/delete",ft({user_ids:t},n));case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(t,n,r){return e._instance||(e._instance="string"==typeof n?new e(t,n,r):new e(t,n)),e._instance}}]),e}();x(vt,"_instance",void 0);var gt="Allow",mt="Deny",yt=["*"],wt=["*"],bt=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:yt,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:wt,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:gt;b(this,e),x(this,"name",void 0),x(this,"action",void 0),x(this,"owner",void 0),x(this,"priority",void 0),x(this,"resources",void 0),x(this,"roles",void 0),this.name=t,this.action=a,this.owner=i,this.priority=n,this.resources=r,this.roles=s},kt=new bt("Allow all",999,yt,wt,!1,gt),_t=new bt("Deny all",1,yt,wt,!1,mt);e.Allow=gt,e.AllowAll=kt,e.AnyResource=yt,e.AnyRole=wt,e.BuiltinPermissions={AddLinks:"Add Links",BanUser:"Ban User",CreateChannel:"Create Channel",CreateMessage:"Create Message",CreateReaction:"Create Reaction",DeleteAnyAttachment:"Delete Any Attachment",DeleteAnyChannel:"Delete Any Channel",DeleteAnyMessage:"Delete Any Message",DeleteAnyReaction:"Delete Any Reaction",DeleteOwnAttachment:"Delete Own Attachment",DeleteOwnChannel:"Delete Own Channel",DeleteOwnMessage:"Delete Own Message",DeleteOwnReaction:"Delete Own Reaction",ReadAnyChannel:"Read Any Channel",ReadOwnChannel:"Read Own Channel",RunMessageAction:"Run Message Action",UpdateAnyChannel:"Update Any Channel",UpdateAnyMessage:"Update Any Message",UpdateMembersAnyChannel:"Update Members Any Channel",UpdateMembersOwnChannel:"Update Members Own Channel",UpdateOwnChannel:"Update Own Channel",UpdateOwnMessage:"Update Own Message",UploadAttachment:"Upload Attachment",UseFrozenChannel:"Send messages and reactions to frozen channels"},e.BuiltinRoles={Admin:"admin",Anonymous:"anonymous",ChannelMember:"channel_member",ChannelModerator:"channel_moderator",Guest:"guest",User:"user"},e.Channel=Ne,e.ChannelState=ge,e.CheckSignature=ct,e.ClientState=He,e.Deny=mt,e.DenyAll=_t,e.DevToken=ot,e.EVENT_MAP=we,e.InsightMetrics=$e,e.JWTServerToken=it,e.JWTUserToken=st,e.MaxPriority=999,e.MinPriority=1,e.Permission=bt,e.StableWSConnection=tt,e.StreamChat=vt,e.TokenManager=ut,e.UserFromToken=at,e.buildWsFatalInsight=Ve,e.buildWsSuccessAfterFailureInsight=Ye,e.chatCodes=Oe,e.decodeBase64=l,e.encodeBase64=h,e.isOwnUser=function(e){return void 0!==(null==e?void 0:e.total_unread_count)},e.isValidEventType=ke,e.logChatPromiseExecution=Ue,Object.defineProperty(e,"__esModule",{value:!0})}(this.window=this.window||{});
1
+ !function(e){"use strict";for(var t=function(e){for(var t,r=e.length,s=r%3,i=[],a=16383,c=0,u=r-s;c<u;c+=a)i.push(o(e,c,c+a>u?u:c+a));1===s?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===s&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return i.join("")},n=[],r=[],s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,a=s.length;i<a;++i)n[i]=s[i],r[s.charCodeAt(i)]=i;function o(e,t,r){for(var s,i,a=[],o=t;o<r;o+=3)s=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(255&e[o+2]),a.push(n[(i=s)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}function c(e){return"string"==typeof e}function u(e,t){return!!t&&c(e)}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63;var h=function(e){return t(new Uint8Array(function(e,t){var n=[];if(c(e)&&u(e,t)){for(var r=0,s=e.length;r<s;r++)if(e.charAt(r)){var i=t(e.charAt(r),r,e);n[r]=i}}else if(!c(e)&&!u(e,t))for(var a=0,o=e.length;a<o;a++)if(a in e){var h=t(e[a],a,e);n[a]=h}return n}(e,(function(e){return e.charCodeAt(0)}))))},l=function(e){var t,n,r,s={},i=String.fromCharCode,a=e.length,o=0,c=0,u="";for(t=0;t<64;t++)s["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)]=t;for(n=0;n<a;n++)for(o=(o<<6)+s[e.charAt(n)],c+=6;c>=8;)((r=o>>>(c-=8)&255)||n<a-2)&&(u+=i(r));return u};function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){if(null==e)return{};var n,r,s=function(e,t){if(null==e)return{};var n,r,s={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(s[n]=e[n]);return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){if(e){if("string"==typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function m(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t,n,r,s,i,a){try{var o=e[i](a),c=o.value}catch(e){return void n(e)}o.done?t(c):Promise.resolve(c).then(r,s)}function w(e){return function(){var t=this,n=arguments;return new Promise((function(r,s){var i=e.apply(t,n);function a(e){y(i,r,s,a,o,"next",e)}function o(e){y(i,r,s,a,o,"throw",e)}a(void 0)}))}}function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function k(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _(e,t,n){return t&&k(e.prototype,t),n&&k(e,n),e}function x(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var C="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var U,R=(function(e){var t=function(e){var t,n=Object.prototype,r=n.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},i=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",o=s.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,r){var s=t&&t.prototype instanceof g?t:g,i=Object.create(s.prototype),a=new O(r||[]);return i._invoke=function(e,t,n){var r=l;return function(s,i){if(r===f)throw new Error("Generator is already running");if(r===p){if("throw"===s)throw i;return L()}for(n.method=s,n.arg=i;;){var a=n.delegate;if(a){var o=U(a,n);if(o){if(o===v)continue;return o}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var c=h(e,t,n);if("normal"===c.type){if(r=n.done?p:d,c.arg===v)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=p,n.method="throw",n.arg=c.arg)}}}(e,n,a),i}function h(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l="suspendedStart",d="suspendedYield",f="executing",p="completed",v={};function g(){}function m(){}function y(){}var w={};w[i]=function(){return this};var b=Object.getPrototypeOf,k=b&&b(b(E([])));k&&k!==n&&r.call(k,i)&&(w=k);var _=y.prototype=g.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(s,i,a,o){var c=h(e[s],e,i);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,o)}),(function(e){n("throw",e,a,o)})):t.resolve(l).then((function(e){u.value=e,a(u)}),(function(e){return n("throw",e,a,o)}))}o(c.arg)}var s;this._invoke=function(e,r){function i(){return new t((function(t,s){n(e,r,t,s)}))}return s=s?s.then(i,i):i()}}function U(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,U(e,n),"throw"===n.method))return v;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return v}var s=h(r,e.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,v;var i=s.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,v):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,v)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function E(e){if(e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,a=function n(){for(;++s<e.length;)if(r.call(e,s))return n.value=e[s],n.done=!1,n;return n.value=t,n.done=!0,n};return a.next=a}}return{next:L}}function L(){return{value:t,done:!0}}return m.prototype=_.constructor=y,y.constructor=m,m.displayName=c(y,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,o,"GeneratorFunction")),e.prototype=Object.create(_),e},e.awrap=function(e){return{__await:e}},x(C.prototype),C.prototype[a]=function(){return this},e.AsyncIterator=C,e.async=function(t,n,r,s,i){void 0===i&&(i=Promise);var a=new C(u(t,n,r,s),i);return e.isGeneratorFunction(n)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},x(_),c(_,o,"Generator"),_[i]=function(){return this},_.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},e.values=E,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(S),!e)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function s(r,s){return o.type="throw",o.arg=e,n.next=r,s&&(n.method="next",n.arg=t),!!s}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return s(a.catchLoc,!0);if(this.prev<a.finallyLoc)return s(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return s(a.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return s(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var s=this.tryEntries[n];if(s.tryLoc<=this.prev&&r.call(s,"finallyLoc")&&this.prev<s.finallyLoc){var i=s;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,v):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),v},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var s=r.arg;S(n)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:E(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),v}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(U={exports:{}},U.exports),U.exports),S=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}},O=Object.prototype.toString;function E(e){return"[object Array]"===O.call(e)}function L(e){return void 0===e}function A(e){return null!==e&&"object"==typeof e}function M(e){if("[object Object]"!==O.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function I(e){return"[object Function]"===O.call(e)}function T(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),E(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.call(null,e[s],s,e)}var D={isArray:E,isArrayBuffer:function(e){return"[object ArrayBuffer]"===O.call(e)},isBuffer:function(e){return null!==e&&!L(e)&&null!==e.constructor&&!L(e.constructor)&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)},isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:A,isPlainObject:M,isUndefined:L,isDate:function(e){return"[object Date]"===O.call(e)},isFile:function(e){return"[object File]"===O.call(e)},isBlob:function(e){return"[object Blob]"===O.call(e)},isFunction:I,isStream:function(e){return A(e)&&I(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:T,merge:function e(){var t={};function n(n,r){M(t[r])&&M(n)?t[r]=e(t[r],n):M(n)?t[r]=e({},n):E(n)?t[r]=n.slice():t[r]=n}for(var r=0,s=arguments.length;r<s;r++)T(arguments[r],n);return t},extend:function(e,t,n){return T(t,(function(t,r){e[r]=n&&"function"==typeof t?S(t,n):t})),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e}};function j(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var P=function(e,t,n){if(!t)return e;var r;if(n)r=n(t);else if(D.isURLSearchParams(t))r=t.toString();else{var s=[];D.forEach(t,(function(e,t){null!=e&&(D.isArray(e)?t+="[]":e=[e],D.forEach(e,(function(e){D.isDate(e)?e=e.toISOString():D.isObject(e)&&(e=JSON.stringify(e)),s.push(j(t)+"="+j(e))})))})),r=s.join("&")}if(r){var i=e.indexOf("#");-1!==i&&(e=e.slice(0,i)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e};function F(){this.handlers=[]}F.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},F.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},F.prototype.forEach=function(e){D.forEach(this.handlers,(function(t){null!==t&&e(t)}))};var B=F,q=function(e,t,n){return D.forEach(n,(function(n){e=n(e,t)})),e},N=function(e){return!(!e||!e.__CANCEL__)},W=function(e,t){D.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))},z=function(e,t,n,r,s){return function(e,t,n,r,s){return e.config=t,n&&(e.code=n),e.request=r,e.response=s,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}(new Error(e),t,n,r,s)},H=D.isStandardBrowserEnv()?{write:function(e,t,n,r,s,i){var a=[];a.push(e+"="+encodeURIComponent(t)),D.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),D.isString(r)&&a.push("path="+r),D.isString(s)&&a.push("domain="+s),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}},J=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],K=D.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function r(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=r(window.location.href),function(t){var n=D.isString(t)?r(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0},G=function(e){return new Promise((function(t,n){var r=e.data,s=e.headers;D.isFormData(r)&&delete s["Content-Type"];var i=new XMLHttpRequest;if(e.auth){var a=e.auth.username||"",o=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";s.Authorization="Basic "+btoa(a+":"+o)}var c,u,h=(c=e.baseURL,u=e.url,c&&!/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(u)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(c,u):u);if(i.open(e.method.toUpperCase(),P(h,e.params,e.paramsSerializer),!0),i.timeout=e.timeout,i.onreadystatechange=function(){if(i&&4===i.readyState&&(0!==i.status||i.responseURL&&0===i.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in i?function(e){var t,n,r,s={};return e?(D.forEach(e.split("\n"),(function(e){if(r=e.indexOf(":"),t=D.trim(e.substr(0,r)).toLowerCase(),n=D.trim(e.substr(r+1)),t){if(s[t]&&J.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+", "+n:n}})),s):s}(i.getAllResponseHeaders()):null,s={data:e.responseType&&"text"!==e.responseType?i.response:i.responseText,status:i.status,statusText:i.statusText,headers:r,config:e,request:i};!function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(z("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}(t,n,s),i=null}},i.onabort=function(){i&&(n(z("Request aborted",e,"ECONNABORTED",i)),i=null)},i.onerror=function(){n(z("Network Error",e,null,i)),i=null},i.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(z(t,e,"ECONNABORTED",i)),i=null},D.isStandardBrowserEnv()){var l=(e.withCredentials||K(h))&&e.xsrfCookieName?H.read(e.xsrfCookieName):void 0;l&&(s[e.xsrfHeaderName]=l)}if("setRequestHeader"in i&&D.forEach(s,(function(e,t){void 0===r&&"content-type"===t.toLowerCase()?delete s[t]:i.setRequestHeader(t,e)})),D.isUndefined(e.withCredentials)||(i.withCredentials=!!e.withCredentials),e.responseType)try{i.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&i.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&i.upload&&i.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){i&&(i.abort(),n(e),i=null)})),r||(r=null),i.send(r)}))},X={"Content-Type":"application/x-www-form-urlencoded"};function $(e,t){!D.isUndefined(e)&&D.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var V,Q={adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(V=G),V),transformRequest:[function(e,t){return W(t,"Accept"),W(t,"Content-Type"),D.isFormData(e)||D.isArrayBuffer(e)||D.isBuffer(e)||D.isStream(e)||D.isFile(e)||D.isBlob(e)?e:D.isArrayBufferView(e)?e.buffer:D.isURLSearchParams(e)?($(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):D.isObject(e)?($(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};Q.headers={common:{Accept:"application/json, text/plain, */*"}},D.forEach(["delete","get","head"],(function(e){Q.headers[e]={}})),D.forEach(["post","put","patch"],(function(e){Q.headers[e]=D.merge(X)}));var Y=Q;function Z(e){e.cancelToken&&e.cancelToken.throwIfRequested()}var ee=function(e){return Z(e),e.headers=e.headers||{},e.data=q(e.data,e.headers,e.transformRequest),e.headers=D.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),D.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||Y.adapter)(e).then((function(t){return Z(e),t.data=q(t.data,t.headers,e.transformResponse),t}),(function(t){return N(t)||(Z(e),t&&t.response&&(t.response.data=q(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))},te=function(e,t){t=t||{};var n={},r=["url","method","data"],s=["headers","auth","proxy","params"],i=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function o(e,t){return D.isPlainObject(e)&&D.isPlainObject(t)?D.merge(e,t):D.isPlainObject(t)?D.merge({},t):D.isArray(t)?t.slice():t}function c(r){D.isUndefined(t[r])?D.isUndefined(e[r])||(n[r]=o(void 0,e[r])):n[r]=o(e[r],t[r])}D.forEach(r,(function(e){D.isUndefined(t[e])||(n[e]=o(void 0,t[e]))})),D.forEach(s,c),D.forEach(i,(function(r){D.isUndefined(t[r])?D.isUndefined(e[r])||(n[r]=o(void 0,e[r])):n[r]=o(void 0,t[r])})),D.forEach(a,(function(r){r in t?n[r]=o(e[r],t[r]):r in e&&(n[r]=o(void 0,e[r]))}));var u=r.concat(s).concat(i).concat(a),h=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===u.indexOf(e)}));return D.forEach(h,c),n};function ne(e){this.defaults=e,this.interceptors={request:new B,response:new B}}ne.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=te(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[ee,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));t.length;)n=n.then(t.shift(),t.shift());return n},ne.prototype.getUri=function(e){return e=te(this.defaults,e),P(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},D.forEach(["delete","get","head","options"],(function(e){ne.prototype[e]=function(t,n){return this.request(te(n||{},{method:e,url:t,data:(n||{}).data}))}})),D.forEach(["post","put","patch"],(function(e){ne.prototype[e]=function(t,n,r){return this.request(te(r||{},{method:e,url:t,data:n}))}}));var re=ne;function se(e){this.message=e}se.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},se.prototype.__CANCEL__=!0;var ie=se;function ae(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new ie(e),t(n.reason))}))}ae.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},ae.source=function(){var e;return{token:new ae((function(t){e=t})),cancel:e}};var oe=ae;function ce(e){var t=new re(e),n=S(re.prototype.request,t);return D.extend(n,re.prototype,t),D.extend(n,t),n}var ue=ce(Y);ue.Axios=re,ue.create=function(e){return ce(te(ue.defaults,e))},ue.Cancel=ie,ue.CancelToken=oe,ue.isCancel=N,ue.all=function(e){return Promise.all(e)},ue.spread=function(e){return function(t){return e.apply(null,t)}},ue.isAxiosError=function(e){return"object"==typeof e&&!0===e.isAxiosError};var he=ue,le=ue;he.default=le;var de=he;function fe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,s=!1,i=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){s=!0,i=e}finally{try{r||null==o.return||o.return()}finally{if(s)throw i}}return n}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ve(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pe(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pe(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ge=function(){function e(t){var n,r=this;b(this,e),x(this,"_channel",void 0),x(this,"watcher_count",void 0),x(this,"typing",void 0),x(this,"read",void 0),x(this,"messages",void 0),x(this,"pinnedMessages",void 0),x(this,"threads",void 0),x(this,"mutedUsers",void 0),x(this,"watchers",void 0),x(this,"members",void 0),x(this,"unreadCount",void 0),x(this,"membership",void 0),x(this,"last_message_at",void 0),x(this,"isUpToDate",void 0),x(this,"setIsUpToDate",(function(e){r.isUpToDate=e})),x(this,"removeMessageFromArray",(function(e,t){var n=e.filter((function(e){return!(e.id&&t.id&&e.id===t.id)}));return{removed:n.length<e.length,result:n}})),x(this,"updateUserMessages",(function(e){var t=function(e,t){for(var n=0;n<e.length;n++){var r,s=e[n];(null===(r=s.user)||void 0===r?void 0:r.id)===t.id&&(e[n]=ve(ve({},s),{},{user:t}))}};for(var n in t(r.messages,e),r.threads)t(r.threads[n],e);t(r.pinnedMessages,e)})),x(this,"deleteUserMessages",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=0;r<e.length;r++){var s,i=e[r];(null===(s=i.user)||void 0===s?void 0:s.id)===t.id&&(e[r]=n?{cid:i.cid,created_at:i.created_at,deleted_at:t.deleted_at,id:i.id,latest_reactions:[],mentioned_users:[],own_reactions:[],parent_id:i.parent_id,reply_count:i.reply_count,status:i.status,thread_participants:i.thread_participants,type:"deleted",updated_at:i.updated_at,user:i.user}:ve(ve({},i),{},{type:"deleted",deleted_at:t.deleted_at}))}};for(var s in n(r.messages,e,t),r.threads)n(r.threads[s],e,t);n(r.pinnedMessages,e,t)})),this._channel=t,this.watcher_count=0,this.typing={},this.read={},this.messages=[],this.pinnedMessages=[],this.threads={},this.mutedUsers=[],this.watchers={},this.members={},this.membership={},this.unreadCount=0,this.isUpToDate=!0,this.last_message_at=null!=(null==t||null===(n=t.state)||void 0===n?void 0:n.last_message_at)?new Date(t.state.last_message_at):null}return _(e,[{key:"addMessageSorted",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.addMessagesSorted([e],t,!1,n)}},{key:"formatMessage",value:function(e){return ve(ve({},e),{},{__html:e.html,pinned_at:e.pinned_at?new Date(e.pinned_at):null,created_at:e.created_at?new Date(e.created_at):new Date,updated_at:e.updated_at?new Date(e.updated_at):new Date,status:e.status||"received"})}},{key:"addMessagesSorted",value:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=0;s<e.length;s+=1){var i,a=this.formatMessage(e[s]);a.user&&null!==(i=this._channel)&&void 0!==i&&i.cid&&this._channel.getClient().state.updateUserReference(a.user,this._channel.cid),n&&a.id&&this.threads[a.id]&&delete this.threads[a.id],this.last_message_at||(this.last_message_at=new Date(a.created_at.getTime())),a.created_at.getTime()>this.last_message_at.getTime()&&(this.last_message_at=new Date(a.created_at.getTime()));var o=a.parent_id;if(o&&!a.show_in_channel||(this.messages=this._addToMessageList(this.messages,a,t,"created_at",r)),o&&!n){var c=this.threads[o]||[],u=this._addToMessageList(c,a,t,"created_at",r);this.threads[o]=u}}}},{key:"addPinnedMessages",value:function(e){for(var t=0;t<e.length;t+=1)this.addPinnedMessage(e[t])}},{key:"addPinnedMessage",value:function(e){this.pinnedMessages=this._addToMessageList(this.pinnedMessages,this.formatMessage(e),!1,"pinned_at")}},{key:"removePinnedMessage",value:function(e){var t=this.removeMessageFromArray(this.pinnedMessages,e).result;this.pinnedMessages=t}},{key:"addReaction",value:function(e,t,n){var r=this;if(t){var s=t;return this._updateMessage(t,(function(t){return s.own_reactions=r._addOwnReactionToMessage(t.own_reactions,e,n),r.formatMessage(s)})),s}}},{key:"_addOwnReactionToMessage",value:function(e,t,n){return e=(e=n?[]:this._removeOwnReactionFromMessage(e,t))||[],this._channel.getClient().userID===t.user_id&&e.push(t),e}},{key:"_removeOwnReactionFromMessage",value:function(e,t){return e?e.filter((function(e){return e.user_id!==t.user_id||e.type!==t.type})):e}},{key:"removeReaction",value:function(e,t){var n=this;if(t){var r=t;return this._updateMessage(t,(function(t){return r.own_reactions=n._removeOwnReactionFromMessage(t.own_reactions,e),n.formatMessage(r)})),r}}},{key:"removeQuotedMessageReferences",value:function(e){var t=this.messages.filter((function(t){return t.quoted_message_id===e.id})).map((function(e){var t,n;return ve(ve({},e),{},{created_at:e.created_at.toString(),pinned_at:null===(t=e.pinned_at)||void 0===t?void 0:t.toString(),updated_at:null===(n=e.updated_at)||void 0===n?void 0:n.toString()})})).map((function(t){return ve(ve({},t),{},{quoted_message:ve(ve({},e),{},{attachments:[]})})}));this.addMessagesSorted(t,!0)}},{key:"_updateMessage",value:function(e,t){var n=e.parent_id,r=e.show_in_channel,s=e.pinned;if(n&&this.threads[n]){var i=this.threads[n],a=i.findIndex((function(t){return t.id===e.id}));-1!==a&&(i[a]=t(i[a]),this.threads[n]=i)}if(!r&&!n||r){var o=this.messages.findIndex((function(t){return t.id===e.id}));-1!==o&&(this.messages[o]=t(this.messages[o]))}if(s){var c=this.pinnedMessages.findIndex((function(t){return t.id===e.id}));-1!==c&&(this.pinnedMessages[c]=t(this.pinnedMessages[c]))}}},{key:"_addToMessageList",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"created_at",s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],i=s||n,a=e;n&&(a=a.filter((function(e){return!(e.id&&t.id===e.id)})));var o=a.length;if(0===o&&i)return a.concat(t);if(0===o)return m(a);var c=t[r].getTime(),u=a[o-1][r].getTime()<c;if(u&&i)return a.concat(t);if(u)return m(a);for(var h=0,l=0,d=o-1;h<=d;)a[l=Math.floor((d+h)/2)][r].getTime()<=c?h=l+1:d=l-1;if(!n&&t.id){if(a[h]&&t.id===a[h].id)return a[h]=t,m(a);if(a[h-1]&&t.id===a[h-1].id)return a[h-1]=t,m(a)}return i&&a.splice(h,0,t),m(a)}},{key:"removeMessage",value:function(e){var t=!1;if(e.parent_id&&this.threads[e.parent_id]){var n=this.removeMessageFromArray(this.threads[e.parent_id],e),r=n.removed,s=n.result;this.threads[e.parent_id]=s,t=r}else{var i=this.removeMessageFromArray(this.messages,e),a=i.removed,o=i.result;this.messages=o,t=a}return t}},{key:"filterErrorMessages",value:function(){var e=this.messages.filter((function(e){return"error"!==e.type}));this.messages=e}},{key:"clean",value:function(){for(var e=new Date,t=0,n=Object.entries(this.typing);t<n.length;t++){var r=fe(n[t],2),s=r[0],i=r[1],a="string"==typeof i.received_at?new Date(i.received_at):i.received_at||new Date;e.getTime()-a.getTime()>7e3&&(delete this.typing[s],this._channel.getClient().dispatchEvent({cid:this._channel.cid,type:"typing.stop",user:{id:s}}))}}},{key:"clearMessages",value:function(){this.messages=[],this.pinnedMessages=[]}}]),e}();function me(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ye(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?me(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):me(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var we={"channel.created":!0,"channel.deleted":!0,"channel.hidden":!0,"channel.muted":!0,"channel.truncated":!0,"channel.unmuted":!0,"channel.updated":!0,"channel.visible":!0,"health.check":!0,"member.added":!0,"member.removed":!0,"member.updated":!0,"message.deleted":!0,"message.new":!0,"message.read":!0,"message.updated":!0,"notification.added_to_channel":!0,"notification.channel_deleted":!0,"notification.channel_mutes_updated":!0,"notification.channel_truncated":!0,"notification.invite_accepted":!0,"notification.invite_rejected":!0,"notification.invited":!0,"notification.mark_read":!0,"notification.message_new":!0,"notification.mutes_updated":!0,"notification.removed_from_channel":!0,"reaction.deleted":!0,"reaction.new":!0,"reaction.updated":!0,"typing.start":!0,"typing.stop":!0,"user.banned":!0,"user.deleted":!0,"user.presence.changed":!0,"user.unbanned":!0,"user.updated":!0,"user.watching.start":!0,"user.watching.stop":!0,"connection.changed":!0,"connection.recovered":!0},be=ye(ye({},we),{},{all:!0}),ke=function(e){return be[e]||!1},_e="object"==typeof self?self.FormData:window.FormData;function xe(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ce(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function Ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ue(e,t){e.then().catch((function(e){console.warn("failed to do ".concat(t,", ran into error: "),e)}))}var Re=function(e){return new Promise((function(t){return setTimeout(t,e)}))};function Se(e){return e&&("[object Function]"===Object.prototype.toString.call(e)||"function"==typeof e||e instanceof Function)}var Oe={TOKEN_EXPIRED:40,WS_CLOSED_SUCCESS:1e3};function Ee(e,t,n){var r,s=new _e;return null!==(r=e)&&"object"===f(r)&&(r.readable||"function"==typeof r._read)||function(e){return null!=e&&null!=e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}(e)||function(e){return"undefined"!=typeof window&&"File"in window&&e instanceof File}(e)?t?s.append("file",e,t):s.append("file",e):s.append("file",{uri:e,name:t||e.split("/").reverse()[0],contentType:n||void 0,type:n||void 0}),s}function Le(e){var t,n=[],r=xe(Array.isArray(e)?e:[e]);try{for(r.s();!(t=r.n()).done;){var s=t.value,i=Object.entries(s);i.length>1&&console.warn("client._buildSort() - multiple fields in a single sort object detected. Object's field order is not guaranteed");for(var a=0,o=i;a<o.length;a++){var c=fe(o[a],2),u=c[0],h=c[1];n.push({field:u,direction:h})}}}catch(e){r.e(e)}finally{r.f()}return n}function Ae(e){var t=Math.min(500+2e3*e,25e3),n=Math.min(Math.max(250,2e3*(e-1)),25e3);return Math.floor(Math.random()*(t-n)+n)}function Me(){return(e=function(e){var t=new Uint8Array(e);return De(t),t}(16))[6]=15&e[6]|64,e[8]=191&e[8]|128,Ie(e.subarray(0,4))+"-"+Ie(e.subarray(4,6))+"-"+Ie(e.subarray(6,8))+"-"+Ie(e.subarray(8,10))+"-"+Ie(e.subarray(10,16));var e}function Ie(e){for(var t="",n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,"0");return t}function Te(e){for(var t=Math.pow(2,8*e.byteLength/e.length),n=0;n<e.length;n++)e[n]=Math.random()*t}var De="undefined"!=typeof crypto?crypto.getRandomValues.bind(crypto):"undefined"!=typeof msCrypto?msCrypto.getRandomValues.bind(msCrypto):Te;function je(e){var t={};return e?(Object.getOwnPropertyNames(e).forEach((function(n){t[n]=e[n]})),t):t}function Pe(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Fe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Fe(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function Fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Be(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ne=function(){function e(t,n,r,s){var i=this;b(this,e),x(this,"_client",void 0),x(this,"type",void 0),x(this,"id",void 0),x(this,"data",void 0),x(this,"_data",void 0),x(this,"cid",void 0),x(this,"listeners",void 0),x(this,"state",void 0),x(this,"initialized",void 0),x(this,"lastKeyStroke",void 0),x(this,"lastTypingEvent",void 0),x(this,"isTyping",void 0),x(this,"disconnected",void 0),x(this,"create",w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={watch:!1,state:!1,presence:!1},e.next=3,i.query(t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))),x(this,"_callChannelListeners",(function(e){var t=i,n=[];t.listeners.all&&n.push.apply(n,m(t.listeners.all)),t.listeners[e.type]&&n.push.apply(n,m(t.listeners[e.type]));for(var r=0,s=n;r<s.length;r++){var a=s[r];"string"!=typeof a&&a(e)}})),x(this,"_channelURL",(function(){if(!i.id)throw new Error("channel id is not defined");return"".concat(i.getClient().baseURL,"/channels/").concat(i.type,"/").concat(i.id)}));if(!/^[\w_-]+$/.test(n))throw new Error("Invalid chat type ".concat(n,', letters, numbers and "_-" are allowed'));if("string"==typeof r&&!/^[\w!_-]+$/.test(r))throw new Error("Invalid chat id ".concat(r,', letters, numbers and "!-_" are allowed'));this._client=t,this.type=n,this.id=r,this.data=s,this._data=qe({},s),this.cid="".concat(n,":").concat(r),this.listeners={},this.state=new ge(this),this.initialized=!1,this.lastTypingEvent=null,this.isTyping=!1,this.disconnected=!1}var t,n,r,s,i,a,o,c,u,h,l,d,p,v,g,y,k,C,U,S,O,E,L,A,M,I,T,D,j,P,F,B,q,N,W;return _(e,[{key:"getClient",value:function(){if(!0===this.disconnected)throw Error("You can't use a channel after client.disconnect() was called");return this._client}},{key:"getConfig",value:function(){return this.getClient().configs[this.type]}},{key:"sendMessage",value:(W=w(R.mark((function e(t,n){var r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL()+"/message",qe({message:t},n));case 2:return r=e.sent,this.state.unreadCount=0,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return W.apply(this,arguments)})},{key:"sendFile",value:function(e,t,n,r){return this.getClient().sendFile("".concat(this._channelURL(),"/file"),e,t,n,r)}},{key:"sendImage",value:function(e,t,n,r){return this.getClient().sendFile("".concat(this._channelURL(),"/image"),e,t,n,r)}},{key:"deleteFile",value:function(e){return this.getClient().delete("".concat(this._channelURL(),"/file"),{url:e})}},{key:"deleteImage",value:function(e){return this.getClient().delete("".concat(this._channelURL(),"/image"),{url:e})}},{key:"sendEvent",value:(N=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().post(this._channelURL()+"/event",{event:t});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return N.apply(this,arguments)})},{key:"search",value:(q=w(R.mark((function e(t){var n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=s.length>1&&void 0!==s[1]?s[1]:{}).offset||!n.sort&&!n.next){e.next=3;break}throw Error("Cannot specify offset with sort or next parameters");case 3:if(r=qe(qe({filter_conditions:{cid:this.cid}},n),{},{sort:n.sort?Le(n.sort):void 0}),"string"!=typeof t){e.next=8;break}r.query=t,e.next=13;break;case 8:if("object"!==f(t)){e.next=12;break}r.message_filter_conditions=t,e.next=13;break;case 12:throw Error("Invalid type ".concat(f(t)," for query parameter"));case 13:return e.next=15,this.getClient().wsPromise;case 15:return e.next=17,this.getClient().get(this.getClient().baseURL+"/search",{payload:r});case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)}))),function(e){return q.apply(this,arguments)})},{key:"queryMembers",value:(B=w(R.mark((function e(t){var n,r,s,i,a,o,c=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=c.length>1&&void 0!==c[1]?c[1]:[],s=c.length>2&&void 0!==c[2]?c[2]:{},a=this.type,this.id?i=this.id:null!==(n=this.data)&&void 0!==n&&n.members&&Array.isArray(this.data.members)&&(o=this.data.members),e.next=6,this.getClient().get(this.getClient().baseURL+"/members",{payload:qe({type:a,id:i,members:o,sort:Le(r),filter_conditions:t},s)});case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return B.apply(this,arguments)})},{key:"sendReaction",value:(F=w(R.mark((function e(t,n,r){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw Error("Message id is missing");case 2:if(n&&0!==Object.keys(n).length){e.next=4;break}throw Error("Reaction object is missing");case 4:return e.next=6,this.getClient().post(this.getClient().baseURL+"/messages/".concat(t,"/reaction"),qe({reaction:n},r));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return F.apply(this,arguments)})},{key:"deleteReaction",value:function(e,t,n){if(this._checkInitialized(),!t||!e)throw Error("Deleting a reaction requires specifying both the message and reaction type");var r=this.getClient().baseURL+"/messages/".concat(e,"/reaction/").concat(t);return n?this.getClient().delete(r,{user_id:n}):this.getClient().delete(r,{})}},{key:"update",value:(P=w(R.mark((function e(){var t,n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.length>0&&void 0!==s[0]?s[0]:{},n=s.length>1?s[1]:void 0,r=s.length>2?s[2]:void 0,["config","cid","created_by","id","member_count","type","created_at","updated_at","last_message_at","own_capabilities"].forEach((function(e){delete t[e]})),e.next=7,this._update(qe({message:n,data:t},r));case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e,this)}))),function(){return P.apply(this,arguments)})},{key:"updatePartial",value:(j=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().patch(this._channelURL(),t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return j.apply(this,arguments)})},{key:"enableSlowMode",value:(D=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL(),{cooldown:t});case 2:return n=e.sent,this.data=n.channel,e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return D.apply(this,arguments)})},{key:"disableSlowMode",value:(T=w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL(),{cooldown:0});case 2:return t=e.sent,this.data=t.channel,e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,this)}))),function(){return T.apply(this,arguments)})},{key:"delete",value:(I=w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().delete(this._channelURL(),{});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(){return I.apply(this,arguments)})},{key:"truncate",value:(M=w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL()+"/truncate",{});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(){return M.apply(this,arguments)})},{key:"acceptInvite",value:(A=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this._update(qe({accept_invite:!0},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return A.apply(this,arguments)})},{key:"rejectInvite",value:(L=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this._update(qe({reject_invite:!0},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return L.apply(this,arguments)})},{key:"addMembers",value:(E=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({add_members:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return E.apply(this,arguments)})},{key:"addModerators",value:(O=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({add_moderators:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return O.apply(this,arguments)})},{key:"assignRoles",value:(S=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({assign_roles:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return S.apply(this,arguments)})},{key:"inviteMembers",value:(U=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({invites:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return U.apply(this,arguments)})},{key:"removeMembers",value:(C=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({remove_members:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return C.apply(this,arguments)})},{key:"demoteModerators",value:(k=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._update({demote_moderators:t,message:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return k.apply(this,arguments)})},{key:"_update",value:(y=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL(),t);case 2:return n=e.sent,this.data=n.channel,e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"mute",value:(g=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.getClient().post(this.getClient().baseURL+"/moderation/mute/channel",qe({channel_cid:this.cid},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"unmute",value:(v=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.getClient().post(this.getClient().baseURL+"/moderation/unmute/channel",qe({channel_cid:this.cid},t));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return v.apply(this,arguments)})},{key:"muteStatus",value:function(){return this._checkInitialized(),this.getClient()._muteStatus(this.cid)}},{key:"sendAction",value:function(e,t){if(this._checkInitialized(),!e)throw Error("Message id is missing");return this.getClient().post(this.getClient().baseURL+"/messages/".concat(e,"/action"),{message_id:e,form_data:t,id:this.id,type:this.type})}},{key:"keystroke",value:(p=w(R.mark((function e(t){var n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(n=this.getConfig())&&void 0!==n&&n.typing_events){e.next=2;break}return e.abrupt("return");case 2:if(r=new Date,s=this.lastTypingEvent&&r.getTime()-this.lastTypingEvent.getTime(),this.lastKeyStroke=r,this.isTyping=!0,!(null===s||s>2e3)){e.next=10;break}return this.lastTypingEvent=new Date,e.next=10,this.sendEvent({type:"typing.start",parent_id:t});case 10:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"stopTyping",value:(d=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(n=this.getConfig())&&void 0!==n&&n.typing_events){e.next=2;break}return e.abrupt("return");case 2:return this.lastTypingEvent=null,this.isTyping=!1,e.next=6,this.sendEvent({type:"typing.stop",parent_id:t});case 6:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"lastMessage",value:function(){var e=this.state.messages.length-5;e<0&&(e=0);var t=this.state.messages.length+1,n=this.state.messages.slice(e,t);return n.sort((function(e,t){return t.created_at.getTime()-e.created_at.getTime()})),n[0]}},{key:"markRead",value:(l=w(R.mark((function e(){var t,n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.length>0&&void 0!==r[0]?r[0]:{},this._checkInitialized(),null!==(t=this.getConfig())&&void 0!==t&&t.read_events){e.next=4;break}return e.abrupt("return",Promise.resolve(null));case 4:return e.next=6,this.getClient().post(this._channelURL()+"/read",qe({},n));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"clean",value:function(){this.lastKeyStroke&&((new Date).getTime()-this.lastKeyStroke.getTime()>1e3&&this.isTyping&&Ue(this.stopTyping(),"stop typing event"));this.state.clean()}},{key:"watch",value:(h=w(R.mark((function e(t){var n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={state:!0,watch:!0,presence:!1},e.next=3,this.getClient().wsPromise;case 3:return this.getClient()._hasConnectionID()||(n.watch=!1),r=qe(qe({},n),t),e.next=7,this.query(r);case 7:return s=e.sent,this.initialized=!0,this.data=s.channel,this._client.logger("info","channel:watch() - started watching channel ".concat(this.cid),{tags:["channel"],channel:this}),e.abrupt("return",s);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"stopWatching",value:(u=w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().post(this._channelURL()+"/stop-watching",{});case 2:return t=e.sent,this._client.logger("info","channel:watch() - stopped watching channel ".concat(this.cid),{tags:["channel"],channel:this}),e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getReplies",value:(c=w(R.mark((function e(t,n){var r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().get(this.getClient().baseURL+"/messages/".concat(t,"/replies"),qe({},n));case 2:return(r=e.sent).messages&&this.state.addMessagesSorted(r.messages),e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"getReactions",value:function(e,t){return this.getClient().get(this.getClient().baseURL+"/messages/".concat(e,"/reactions"),qe({},t))}},{key:"getMessagesById",value:function(e){return this.getClient().get(this._channelURL()+"/messages",{ids:e.join(",")})}},{key:"lastRead",value:function(){this._checkInitialized();var e=this.getClient().userID;if(e)return this.state.read[e]?this.state.read[e].last_read:null}},{key:"_countMessageAsUnread",value:function(e){var t,n;return!e.shadowed&&(!e.silent&&((null===(t=e.user)||void 0===t?void 0:t.id)!==this.getClient().userID&&((null===(n=e.user)||void 0===n||!n.id||!this.getClient().userMuteStatus(e.user.id))&&("system"!==e.type&&!this.muteStatus().muted))))}},{key:"countUnread",value:function(e){if(!e)return this.state.unreadCount;for(var t=0,n=0;n<this.state.messages.length;n+=1){var r=this.state.messages[n];r.created_at>e&&this._countMessageAsUnread(r)&&t++}return t}},{key:"countUnreadMentions",value:function(){for(var e=this.lastRead(),t=this.getClient().userID,n=0,r=0;r<this.state.messages.length;r+=1){var s,i=this.state.messages[r];this._countMessageAsUnread(i)&&(!e||i.created_at>e)&&null!==(s=i.mentioned_users)&&void 0!==s&&s.some((function(e){return e.id===t}))&&n++}return n}},{key:"query",value:(o=w(R.mark((function e(t){var n,r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getClient().wsPromise;case 2:return n="".concat(this.getClient().baseURL,"/channels/").concat(this.type),this.id&&(n+="/".concat(this.id)),e.next=6,this.getClient().post(n+"/query",qe({data:this._data,state:!0},t));case 6:return r=e.sent,this.id||(this.id=r.channel.id,this.cid=r.channel.cid,s=r.members.map((function(e){var t;return e.user_id||(null===(t=e.user)||void 0===t?void 0:t.id)})).sort().join(","),(i="".concat(this.type,":!members-").concat(s))in this.getClient().activeChannels&&delete this.getClient().activeChannels[i],this.cid in this.getClient().activeChannels||(this.getClient().activeChannels[this.cid]=this)),this.getClient()._addChannelConfig(r),this._initializeState(r),e.abrupt("return",r);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"banUser",value:(a=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().banUser(t,qe(qe({},n),{},{type:this.type,id:this.id}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"hide",value:(i=w(R.mark((function e(){var t,n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:null,n=r.length>1&&void 0!==r[1]&&r[1],this._checkInitialized(),e.next=5,this.getClient().post("".concat(this._channelURL(),"/hide"),{user_id:t,clear_history:n});case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"show",value:(s=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:null,this._checkInitialized(),e.next=4,this.getClient().post("".concat(this._channelURL(),"/show"),{user_id:t});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"unbanUser",value:(r=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().unbanUser(t,{type:this.type,id:this.id});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"shadowBan",value:(n=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().shadowBan(t,qe(qe({},n),{},{type:this.type,id:this.id}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"removeShadowBan",value:(t=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._checkInitialized(),e.next=3,this.getClient().removeShadowBan(t,{type:this.type,id:this.id});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"on",value:function(e,t){var n=this,r=t?e:"all";if(!ke(r))throw Error("Invalid event type ".concat(r));var s=t||e;return r in this.listeners||(this.listeners[r]=[]),this._client.logger("info","Attaching listener for ".concat(r," event on channel ").concat(this.cid),{tags:["event","channel"],channel:this}),this.listeners[r].push(s),{unsubscribe:function(){n._client.logger("info","Removing listener for ".concat(r," event from channel ").concat(n.cid),{tags:["event","channel"],channel:n}),n.listeners[r]=n.listeners[r].filter((function(e){return e!==s}))}}}},{key:"off",value:function(e,t){var n=t?e:"all";if(!ke(n))throw Error("Invalid event type ".concat(n));var r=t||e;n in this.listeners||(this.listeners[n]=[]),this._client.logger("info","Removing listener for ".concat(n," event from channel ").concat(this.cid),{tags:["event","channel"],channel:this}),this.listeners[n]=this.listeners[n].filter((function(e){return e!==r}))}},{key:"_handleChannelEvent",value:function(e){var t,n,r,s,i,a,o,c=this;this._client.logger("info","channel:_handleChannelEvent - Received event of type { ".concat(e.type," } on ").concat(this.cid),{tags:["event","channel"],channel:this});var u=c.state;switch(e.type){case"typing.start":null!==(t=e.user)&&void 0!==t&&t.id&&(u.typing[e.user.id]=e);break;case"typing.stop":null!==(n=e.user)&&void 0!==n&&n.id&&delete u.typing[e.user.id];break;case"message.read":var h,l;if(null!==(r=e.user)&&void 0!==r&&r.id)u.read[e.user.id]={last_read:e.received_at,user:e.user},(null===(h=e.user)||void 0===h?void 0:h.id)===(null===(l=this.getClient().user)||void 0===l?void 0:l.id)&&(u.unreadCount=0);break;case"user.watching.start":case"user.updated":null!==(s=e.user)&&void 0!==s&&s.id&&(u.watchers[e.user.id]=e.user);break;case"user.watching.stop":null!==(i=e.user)&&void 0!==i&&i.id&&delete u.watchers[e.user.id];break;case"message.deleted":e.message&&(e.hard_delete?u.removeMessage(e.message):u.addMessageSorted(e.message,!1,!1),u.removeQuotedMessageReferences(e.message),e.message.pinned&&u.removePinnedMessage(e.message));break;case"message.new":if(e.message){var d,f,p,v=(null===(d=e.user)||void 0===d?void 0:d.id)===(null===(f=this.getClient().user)||void 0===f?void 0:f.id),g=e.message.parent_id&&!e.message.show_in_channel;(this.state.isUpToDate||g)&&u.addMessageSorted(e.message,v),e.message.pinned&&u.addPinnedMessage(e.message),v&&null!==(p=e.user)&&void 0!==p&&p.id?(u.unreadCount=0,u.read[e.user.id]={last_read:new Date(e.created_at),user:e.user}):this._countMessageAsUnread(e.message)&&(u.unreadCount=u.unreadCount+1)}break;case"message.updated":e.message&&(u.addMessageSorted(e.message,!1,!1),e.message.pinned?u.addPinnedMessage(e.message):u.removePinnedMessage(e.message));break;case"channel.truncated":u.clearMessages(),u.unreadCount=0;break;case"member.added":case"member.updated":null!==(a=e.member)&&void 0!==a&&a.user_id&&(u.members[e.member.user_id]=e.member);break;case"member.removed":null!==(o=e.user)&&void 0!==o&&o.id&&delete u.members[e.user.id];break;case"channel.updated":e.channel&&(c.data=e.channel);break;case"reaction.new":e.message&&e.reaction&&(e.message=u.addReaction(e.reaction,e.message));break;case"reaction.deleted":e.reaction&&(e.message=u.removeReaction(e.reaction,e.message));break;case"reaction.updated":e.reaction&&(e.message=u.addReaction(e.reaction,e.message,!0));break;case"channel.hidden":e.clear_history&&u.clearMessages()}void 0!==e.watcher_count&&(c.state.watcher_count=e.watcher_count)}},{key:"_checkInitialized",value:function(){if(!this.initialized&&!this.getClient()._isUsingServerAuth())throw Error("Channel ".concat(this.cid," hasn't been initialized yet. Make sure to call .watch() and wait for it to resolve"))}},{key:"_initializeState",value:function(e){var t=this.getClient(),n=t.state,r=t.user,s=t.userID;if(e.members){var i,a=Pe(e.members);try{for(a.s();!(i=a.n()).done;){var o=i.value;o.user&&n.updateUserReference(o.user,this.cid)}}catch(e){a.e(e)}finally{a.f()}}this.state.membership=e.membership||{};var c=e.messages||[];if(this.state.messages||(this.state.messages=[]),this.state.addMessagesSorted(c,!1,!0),this.state.pinnedMessages||(this.state.pinnedMessages=[]),this.state.addPinnedMessages(e.pinned_messages||[]),this.state.watcher_count=e.watcher_count||0,e.watchers){var u,h=Pe(e.watchers);try{for(h.s();!(u=h.n()).done;){var l=u.value;l&&(n.updateUserReference(l,this.cid),this.state.watchers[l.id]=l)}}catch(e){h.e(e)}finally{h.f()}}if(null!=s){var d=this.state.last_message_at||new Date;r&&(this.state.read[r.id]={user:r,last_read:d})}if(e.read){var f,p=Pe(e.read);try{for(p.s();!(f=p.n()).done;){var v=f.value,g=qe(qe({},v),{},{last_read:new Date(v.last_read)});this.state.read[v.user.id]=g,v.user.id===(null==r?void 0:r.id)&&"number"==typeof g.unread_messages&&(this.state.unreadCount=g.unread_messages)}}catch(e){p.e(e)}finally{p.f()}}if(e.members){var m,y=Pe(e.members);try{for(y.s();!(m=y.n()).done;){var w=m.value;w.user&&(this.state.members[w.user.id]=w)}}catch(e){y.e(e)}finally{y.f()}}}},{key:"_disconnect",value:function(){this._client.logger("info","channel:disconnect() - Disconnecting the channel ".concat(this.cid),{tags:["connection","channel"],channel:this}),this.disconnected=!0,this.state.setIsUpToDate(!1)}}]),e}();function We(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ze(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ze(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function ze(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var He=function(){function e(){b(this,e),x(this,"users",void 0),x(this,"userChannelReferences",void 0),this.users={},this.userChannelReferences={}}return _(e,[{key:"updateUsers",value:function(e){var t,n=We(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this.updateUser(r)}}catch(e){n.e(e)}finally{n.f()}}},{key:"updateUser",value:function(e){null!=e&&(this.users[e.id]=e)}},{key:"updateUserReference",value:function(e,t){null!=e&&(this.updateUser(e),this.userChannelReferences[e.id]||(this.userChannelReferences[e.id]={}),this.userChannelReferences[e.id][t]=!0)}},{key:"deleteAllChannelReference",value:function(e){for(var t in this.userChannelReferences)delete this.userChannelReferences[t][e]}}]),e}(),Je=null;"undefined"!=typeof WebSocket?Je=WebSocket:"undefined"!=typeof MozWebSocket?Je=MozWebSocket:void 0!==C?Je=C.WebSocket||C.MozWebSocket:"undefined"!=typeof window?Je=window.WebSocket||window.MozWebSocket:"undefined"!=typeof self&&(Je=self.WebSocket||self.MozWebSocket);var Ke=Je;function Ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ge(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ge(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var $e=function e(){b(this,e),x(this,"connectionStartTimestamp",void 0),x(this,"wsConsecutiveFailures",void 0),x(this,"wsTotalFailures",void 0),x(this,"instanceClientId",void 0),this.connectionStartTimestamp=null,this.wsTotalFailures=0,this.wsConsecutiveFailures=0,this.instanceClientId=Me()};function Ve(e,t){return Xe(Xe({},t),Qe(e))}function Qe(e){var t,n,r;return{ready_state:null===(t=e.ws)||void 0===t?void 0:t.readyState,url:e._buildUrl(e.requestID),api_key:e.apiKey,start_ts:e.insightMetrics.connectionStartTimestamp,end_ts:(new Date).getTime(),auth_type:e.authType,token:e.tokenManager.token,user_id:e.userID,user_details:e.user,device:e.device,client_id:e.connectionID,ws_details:e.ws,ws_consecutive_failures:e.insightMetrics.wsConsecutiveFailures,ws_total_failures:e.insightMetrics.wsTotalFailures,request_id:e.requestID,online:"undefined"!=typeof navigator?null===(n=navigator)||void 0===n?void 0:n.onLine:null,user_agent:"undefined"!=typeof navigator?null===(r=navigator)||void 0===r?void 0:r.userAgent:null,instance_client_id:e.insightMetrics.instanceClientId}}function Ye(e){return Qe(e)}var Ze=function(e){return void 0!==e.code},et=function(e){return void 0!==e.error},tt=function(){function e(t){var n=this,r=t.apiKey,s=t.authType,i=t.clientID,a=t.eventCallback,o=t.logger,c=t.messageCallback,u=t.recoverCallback,h=t.tokenManager,l=t.user,d=t.userAgent,f=t.userID,p=t.wsBaseURL,v=t.device,g=t.postInsights,m=t.insightMetrics;b(this,e),x(this,"apiKey",void 0),x(this,"authType",void 0),x(this,"clientID",void 0),x(this,"eventCallback",void 0),x(this,"logger",void 0),x(this,"messageCallback",void 0),x(this,"recoverCallback",void 0),x(this,"tokenManager",void 0),x(this,"user",void 0),x(this,"userAgent",void 0),x(this,"userID",void 0),x(this,"wsBaseURL",void 0),x(this,"device",void 0),x(this,"connectionID",void 0),x(this,"connectionOpen",void 0),x(this,"consecutiveFailures",void 0),x(this,"pingInterval",void 0),x(this,"healthCheckTimeoutRef",void 0),x(this,"isConnecting",void 0),x(this,"isHealthy",void 0),x(this,"isResolved",void 0),x(this,"lastEvent",void 0),x(this,"connectionCheckTimeout",void 0),x(this,"connectionCheckTimeoutRef",void 0),x(this,"rejectPromise",void 0),x(this,"requestID",void 0),x(this,"connectionStartTimestamp",void 0),x(this,"resolvePromise",void 0),x(this,"totalFailures",void 0),x(this,"ws",void 0),x(this,"wsID",void 0),x(this,"postInsights",void 0),x(this,"insightMetrics",void 0),x(this,"_buildUrl",(function(e){var t={user_id:n.user.id,user_details:n.user,user_token:n.tokenManager.getToken(),server_determines_connection_id:!0,device:n.device,request_id:e},r=encodeURIComponent(JSON.stringify(t)),s=n.tokenManager.getToken();return"".concat(n.wsBaseURL,"/connect?json=").concat(r,"&api_key=").concat(n.apiKey,"&authorization=").concat(s,"&stream-auth-type=").concat(n.authType,"&X-Stream-Client=").concat(n.userAgent)})),x(this,"onlineStatusChanged",(function(e){"offline"===e.type?(n.logger("info","connection:onlineStatusChanged() - Status changing to offline",{tags:["connection"]}),n._setHealth(!1)):"online"===e.type&&(n.logger("info","connection:onlineStatusChanged() - Status changing to online. isHealthy: ".concat(n.isHealthy),{tags:["connection"]}),n.isHealthy||n._reconnect({interval:10}))})),x(this,"onopen",(function(e){n.wsID===e&&n.logger("info","connection:onopen() - onopen callback",{tags:["connection"],wsID:e})})),x(this,"onmessage",(function(e,t){if(n.wsID===e){var r="string"==typeof t.data?JSON.parse(t.data):null;if(!n.isResolved&&r){var s,i;if(n.isResolved=!0,null!=r.error)return void(null===(s=n.rejectPromise)||void 0===s||s.call(n,n._errorFromWSEvent(r,!1)));null===(i=n.resolvePromise)||void 0===i||i.call(n,t),n._setHealth(!0)}n.lastEvent=new Date,n.logger("info","connection:onmessage() - onmessage callback",{tags:["connection"],event:t,wsID:e}),r&&"health.check"===r.type&&n.scheduleNextPing(),n.messageCallback(t),n.scheduleConnectionCheck()}})),x(this,"onclose",(function(e,t){if(n.wsID===e)if(n.logger("info","connection:onclose() - onclose callback - "+t.code,{tags:["connection"],event:t,wsID:e}),t.code===Oe.WS_CLOSED_SUCCESS){var r,s=new Error("WS connection reject with error ".concat(t.reason));s.reason=t.reason,s.code=t.code,s.wasClean=t.wasClean,s.target=t.target,null===(r=n.rejectPromise)||void 0===r||r.call(n,s),n.logger("info","connection:onclose() - WS connection reject with error ".concat(t.reason),{tags:["connection"],event:t})}else{var i;n.consecutiveFailures+=1,n.totalFailures+=1,n._setHealth(!1),n.isConnecting=!1,null===(i=n.rejectPromise)||void 0===i||i.call(n,n._errorFromWSEvent(t)),n.logger("info","connection:onclose() - WS connection closed. Calling reconnect ...",{tags:["connection"],event:t}),n._reconnect()}})),x(this,"onerror",(function(e,t){var r;n.wsID===e&&(n.consecutiveFailures+=1,n.totalFailures+=1,n._setHealth(!1),n.isConnecting=!1,null===(r=n.rejectPromise)||void 0===r||r.call(n,n._errorFromWSEvent(t)),n.logger("info","connection:onerror() - WS connection resulted into error",{tags:["connection"],event:t}),n._reconnect())})),x(this,"_setHealth",(function(e){e&&!n.isHealthy&&(n.isHealthy=!0,n.eventCallback({type:"connection.changed",online:!0})),!e&&n.isHealthy&&(n.isHealthy=!1,setTimeout((function(){n.isHealthy||n.eventCallback({type:"connection.changed",online:!1})}),5e3))})),x(this,"_errorFromWSEvent",(function(e){var t,r,s,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];Ze(e)&&(t=e.code,r="unknown",s=e.reason),et(e)&&(t=e.error.code,r=e.error.StatusCode,s=e.error.message),n.logger("warn","connection:_errorFromWSEvent() - WS failed with code ".concat(t),{tags:["connection"],event:e});var a=new Error("WS failed with code ".concat(t," and reason - ").concat(s));return a.code=t,a.StatusCode=r,a.isWSFailure=i,a})),x(this,"_listenForConnectionChanges",(function(){var e;"undefined"!=typeof window&&null!==(e=window)&&void 0!==e&&e.addEventListener&&(window.addEventListener("offline",n.onlineStatusChanged),window.addEventListener("online",n.onlineStatusChanged))})),x(this,"_removeConnectionListeners",(function(){var e;"undefined"!=typeof window&&null!==(e=window)&&void 0!==e&&e.removeEventListener&&(window.removeEventListener("offline",n.onlineStatusChanged),window.removeEventListener("online",n.onlineStatusChanged))})),x(this,"_setupConnectionPromise",(function(){var e=n;n.isResolved=!1,n.connectionOpen=new Promise((function(t,n){e.resolvePromise=t,e.rejectPromise=n})).then((function(e){if(e.data&&"string"==typeof e.data){var t=JSON.parse(e.data);if(t&&null!=t.error)throw new Error(JSON.stringify(t.error));return t}}),(function(e){throw e}))})),x(this,"scheduleNextPing",(function(){n.healthCheckTimeoutRef&&clearTimeout(n.healthCheckTimeoutRef),n.healthCheckTimeoutRef=setTimeout((function(){var e=[{type:"health.check",client_id:n.clientID}];try{var t;null===(t=n.ws)||void 0===t||t.send(JSON.stringify(e))}catch(e){}}),n.pingInterval)})),x(this,"scheduleConnectionCheck",(function(){n.connectionCheckTimeoutRef&&clearTimeout(n.connectionCheckTimeoutRef),n.connectionCheckTimeoutRef=setTimeout((function(){var e=new Date;n.lastEvent&&e.getTime()-n.lastEvent.getTime()>n.connectionCheckTimeout&&(n.logger("info","connection:scheduleConnectionCheck - going to reconnect",{tags:["connection"]}),n._setHealth(!1),n._reconnect())}),n.connectionCheckTimeout)})),this.wsBaseURL=p,this.clientID=i,this.userID=f,this.user=l,this.authType=s,this.userAgent=d,this.apiKey=r,this.tokenManager=h,this.device=v,this.consecutiveFailures=0,this.totalFailures=0,this.isConnecting=!1,this.isResolved=!1,this.isHealthy=!1,this.recoverCallback=u,this.messageCallback=c,this.eventCallback=a,this.logger=o,this.wsID=1,this.lastEvent=null,this.pingInterval=25e3,this.connectionCheckTimeout=this.pingInterval+1e4,this._listenForConnectionChanges(),this.postInsights=g,this.insightMetrics=m}var t,n,r,s;return _(e,[{key:"connect",value:(s=w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isConnecting){e.next=2;break}throw Error("You've called connect twice, can only attempt 1 connection at the time");case 2:return e.prev=2,e.next=5,this._connect();case 5:t=e.sent,this.consecutiveFailures=0,this.logger("info","connection:connect() - Established ws connection with healthcheck: ".concat(t),{tags:["connection"]}),e.next=21;break;case 10:if(e.prev=10,e.t0=e.catch(2),this.isHealthy=!1,this.consecutiveFailures+=1,e.t0.code!==Oe.TOKEN_EXPIRED||this.tokenManager.isStatic()){e.next=19;break}this.logger("info","connection:connect() - WS failure due to expired token, so going to try to reload token and reconnect",{tags:["connection"]}),this._reconnect({refreshToken:!0}),e.next=21;break;case 19:if(e.t0.isWSFailure){e.next=21;break}throw new Error(JSON.stringify({code:e.t0.code,StatusCode:e.t0.StatusCode,message:e.t0.message,isWSFailure:e.t0.isWSFailure}));case 21:return e.next=23,this._waitForHealthy();case 23:return e.abrupt("return",e.sent);case 24:case"end":return e.stop()}}),e,this,[[2,10]])}))),function(){return s.apply(this,arguments)})},{key:"_waitForHealthy",value:(r=w(R.mark((function e(){var t,n=this,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:15e3,e.abrupt("return",Promise.race([w(R.mark((function e(){var r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=50,s=0;case 2:if(!(s<=t)){e.next=18;break}return e.prev=3,e.next=6,n.connectionOpen;case 6:return e.abrupt("return",e.sent);case 9:if(e.prev=9,e.t0=e.catch(3),s!==t){e.next=13;break}throw new Error(JSON.stringify({code:e.t0.code,StatusCode:e.t0.StatusCode,message:e.t0.message,isWSFailure:e.t0.isWSFailure}));case 13:return e.next=15,Re(r);case 15:s+=r,e.next=2;break;case 18:case"end":return e.stop()}}),e,null,[[3,9]])})))(),w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Re(t);case 2:throw new Error(JSON.stringify({code:"",StatusCode:"",message:"initial WS connection could not be established",isWSFailure:!0}));case 3:case"end":return e.stop()}}),e)})))()]));case 2:case"end":return e.stop()}}),e)}))),function(){return r.apply(this,arguments)})},{key:"disconnect",value:function(e){var t,n=this;this.logger("info","connection:disconnect() - Closing the websocket connection for wsID ".concat(this.wsID),{tags:["connection"]}),this.wsID+=1,this.healthCheckTimeoutRef&&clearInterval(this.healthCheckTimeoutRef),this.connectionCheckTimeoutRef&&clearInterval(this.connectionCheckTimeoutRef),this._removeConnectionListeners(),this.isHealthy=!1,this.ws&&this.ws.removeAllListeners&&this.ws.removeAllListeners();var r=this.ws;return r&&r.close&&r.readyState===r.OPEN?(t=new Promise((function(t){var s=function(e){n.logger("info","connection:disconnect() - resolving isClosedPromise ".concat(e?"with":"without"," close frame"),{tags:["connection"],event:e}),t()};r.onclose=s,setTimeout(s,null!=e?e:1e3)})),this.logger("info","connection:disconnect() - Manually closed connection by calling client.disconnect()",{tags:["connection"]}),r.close(Oe.WS_CLOSED_SUCCESS,"Manually closed connection by calling client.disconnect()")):(this.logger("info","connection:disconnect() - ws connection doesn't exist or it is already closed.",{tags:["connection"]}),t=Promise.resolve()),delete this.ws,t}},{key:"_connect",value:(n=w(R.mark((function e(){var t,n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isConnecting){e.next=2;break}return e.abrupt("return");case 2:return this.isConnecting=!0,this.requestID=Me(),this.insightMetrics.connectionStartTimestamp=(new Date).getTime(),e.prev=5,e.next=8,this.tokenManager.tokenReady();case 8:return this._setupConnectionPromise(),t=this._buildUrl(this.requestID),this.ws=new Ke(t),this.ws.onopen=this.onopen.bind(this,this.wsID),this.ws.onclose=this.onclose.bind(this,this.wsID),this.ws.onerror=this.onerror.bind(this,this.wsID),this.ws.onmessage=this.onmessage.bind(this,this.wsID),e.next=17,this.connectionOpen;case 17:if(n=e.sent,this.isConnecting=!1,!n){e.next=23;break}return this.connectionID=n.connection_id,this.insightMetrics.wsConsecutiveFailures>0&&this.postInsights&&(this.postInsights("ws_success_after_failure",Ye(this)),this.insightMetrics.wsConsecutiveFailures=0),e.abrupt("return",n);case 23:e.next=30;break;case 25:throw e.prev=25,e.t0=e.catch(5),this.isConnecting=!1,this.postInsights&&(this.insightMetrics.wsConsecutiveFailures++,this.insightMetrics.wsTotalFailures++,s=Ve(this,je(e.t0)),null===(r=this.postInsights)||void 0===r||r.call(this,"ws_fatal",s)),e.t0;case 30:case"end":return e.stop()}}),e,this,[[5,25]])}))),function(){return n.apply(this,arguments)})},{key:"_reconnect",value:(t=w(R.mark((function e(){var t,n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=s.length>0&&void 0!==s[0]?s[0]:{},this.logger("info","connection:_reconnect() - Initiating the reconnect",{tags:["connection"]}),!this.isConnecting&&!this.isHealthy){e.next=5;break}return this.logger("info","connection:_reconnect() - Abort (1) since already connecting or healthy",{tags:["connection"]}),e.abrupt("return");case 5:return(n=t.interval)||(n=Ae(this.consecutiveFailures)),e.next=9,Re(n);case 9:if(!this.isConnecting&&!this.isHealthy){e.next=12;break}return this.logger("info","connection:_reconnect() - Abort (2) since already connecting or healthy",{tags:["connection"]}),e.abrupt("return");case 12:if(this.logger("info","connection:_reconnect() - Destroying current WS connection",{tags:["connection"]}),this._destroyCurrentWSConnection(),!t.refreshToken){e.next=17;break}return e.next=17,this.tokenManager.loadToken();case 17:return e.prev=17,e.next=20,this._connect();case 20:if(r=e.sent,!this.recoverCallback){e.next=26;break}return this.logger("info","connection:_reconnect() - Waiting for recoverCallBack",{tags:["connection"]}),e.next=25,this.recoverCallback(r);case 25:this.logger("info","connection:_reconnect() - Finished recoverCallBack",{tags:["connection"]});case 26:this.consecutiveFailures=0,e.next=37;break;case 29:if(e.prev=29,e.t0=e.catch(17),this.isHealthy=!1,this.consecutiveFailures+=1,e.t0.code!==Oe.TOKEN_EXPIRED||this.tokenManager.isStatic()){e.next=36;break}return this.logger("info","connection:_reconnect() - WS failure due to expired token, so going to try to reload token and reconnect",{tags:["connection"]}),e.abrupt("return",this._reconnect({refreshToken:!0}));case 36:e.t0.isWSFailure&&(this.logger("info","connection:_reconnect() - WS failure, so going to try to reconnect",{tags:["connection"]}),this._reconnect());case 37:this.logger("info","connection:_reconnect() - == END ==",{tags:["connection"]});case 38:case"end":return e.stop()}}),e,this,[[17,29]])}))),function(){return t.apply(this,arguments)})},{key:"_destroyCurrentWSConnection",value:function(){this.wsID+=1;try{this.ws&&this.ws.removeAllListeners&&this.ws.removeAllListeners(),this.ws&&this.ws.close&&this.ws.close()}catch(e){}}}]),e}();function nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nt(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function st(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("string"!=typeof t)throw new TypeError("userId should be a string");rt({user_id:t},n);throw Error("Unable to find jwt crypto, if you are getting this error is probably because you are trying to generate tokens on browser or React Native (or other environment where crypto functions are not available). Please Note: token should only be generated server-side.")}function it(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={server:!0},r=d({algorithm:"HS256",noTimestamp:!0},t);return null.sign(n,e,r)}function at(e){var t=e.split(".");if(3!==t.length)return"";var n=t[1],r=l(n);return JSON.parse(r).user_id}function ot(e){return["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",h(JSON.stringify({user_id:e})),"devtoken"].join(".")}function ct(e,t,n){var r=Buffer.from(t,"ascii");return null.createHmac("sha256",r).update(e).digest("hex")===n}var ut=function e(t){var n=this;b(this,e),x(this,"loadTokenPromise",void 0),x(this,"type",void 0),x(this,"secret",void 0),x(this,"token",void 0),x(this,"tokenProvider",void 0),x(this,"user",void 0),x(this,"setTokenOrProvider",function(){var e=w(R.mark((function e(t,r){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.validateToken(t,r),n.user=r,Se(t)&&(n.tokenProvider=t,n.type="provider"),"string"==typeof t&&(n.token=t,n.type="static"),!t&&n.user&&n.secret&&(n.token=st(n.secret,r.id,{},{}),n.type="static"),e.next=7,n.loadToken();case 7:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),x(this,"reset",(function(){n.token=void 0,n.user=void 0,n.loadTokenPromise=null})),x(this,"validateToken",(function(e,t){if(!t||!t.anon||e){if(!n.secret&&!e)throw new Error("User token can not be empty");if(e&&"string"!=typeof e&&!Se(e))throw new Error("user token should either be a string or a function");if("string"==typeof e){if(t.anon&&""===e)return;var r=at(e);if(null!=e&&(null==r||""===r||r!==t.id))throw new Error("userToken does not have a user_id or is not matching with user.id")}}})),x(this,"tokenReady",(function(){return n.loadTokenPromise})),x(this,"loadToken",(function(){return n.loadTokenPromise=new Promise(function(){var e=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("static"!==n.type){e.next=2;break}return e.abrupt("return",t(n.token));case 2:if(!n.tokenProvider||"string"==typeof n.tokenProvider){e.next=7;break}return e.next=5,n.tokenProvider();case 5:n.token=e.sent,t(n.token);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),n.loadTokenPromise})),x(this,"getToken",(function(){if(n.token)return n.token;if(n.user&&n.user.anon&&!n.token)return n.token;if(n.secret)return it(n.secret);throw new Error("Both secret and user tokens are not set. Either client.connectUser wasn't called or client.disconnect was called")})),x(this,"isStatic",(function(){return"static"===n.type})),this.loadTokenPromise=null,t&&(this.secret=t),this.type="static",this.secret&&(this.token=it(this.secret))};function ht(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,s=function(){};return{s:s,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,o=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw i}}}}function lt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(n),!0).forEach((function(t){x(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pt(e){return"string"==typeof e||e instanceof String}var vt=function(){function e(t,n,r){var s=this;b(this,e),x(this,"_user",void 0),x(this,"activeChannels",void 0),x(this,"anonymous",void 0),x(this,"axiosInstance",void 0),x(this,"baseURL",void 0),x(this,"browser",void 0),x(this,"cleaningIntervalRef",void 0),x(this,"clientID",void 0),x(this,"configs",void 0),x(this,"connectionID",void 0),x(this,"failures",void 0),x(this,"key",void 0),x(this,"listeners",void 0),x(this,"logger",void 0),x(this,"recoverStateOnReconnect",void 0),x(this,"mutedChannels",void 0),x(this,"mutedUsers",void 0),x(this,"node",void 0),x(this,"options",void 0),x(this,"secret",void 0),x(this,"setUserPromise",void 0),x(this,"state",void 0),x(this,"tokenManager",void 0),x(this,"user",void 0),x(this,"userAgent",void 0),x(this,"userID",void 0),x(this,"wsBaseURL",void 0),x(this,"wsConnection",void 0),x(this,"wsPromise",void 0),x(this,"consecutiveFailures",void 0),x(this,"insightMetrics",void 0),x(this,"_hasConnectionID",(function(){var e;return Boolean(null===(e=s.wsConnection)||void 0===e?void 0:e.connectionID)})),x(this,"connectUser",function(){var e=w(R.mark((function e(t,n){var r,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.id){e.next=2;break}throw new Error('The "id" field on the user is missing');case 2:if(s.userID!==t.id||!s.setUserPromise){e.next=5;break}return console.warn("Consecutive calls to connectUser is detected, ideally you should only call this function once in your app."),e.abrupt("return",s.setUserPromise);case 5:if(!s.userID){e.next=7;break}throw new Error("Use client.disconnect() before trying to connect as a different user. connectUser was called twice.");case 7:return!s._isUsingServerAuth()&&!s.node||s.options.allowServerSideConnect||console.warn('Please do not use connectUser server side. connectUser impacts MAU and concurrent connection usage and thus your bill. If you have a valid use-case, add "allowServerSideConnect: true" to the client options to disable this warning.'),s.userID=t.id,s.anonymous=!1,r=s._setToken(t,n),s._setUser(t),i=s.openConnection(),s.setUserPromise=Promise.all([r,i]).then((function(e){return e[1]})),e.prev=14,e.next=17,s.setUserPromise;case 17:return e.abrupt("return",e.sent);case 20:throw e.prev=20,e.t0=e.catch(14),s.disconnectUser(),e.t0;case 24:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n){return e.apply(this,arguments)}}()),x(this,"setUser",this.connectUser),x(this,"_setToken",(function(e,t){return s.tokenManager.setTokenOrProvider(t,e)})),x(this,"closeConnection",(function(e){return null!=s.cleaningIntervalRef&&(clearInterval(s.cleaningIntervalRef),s.cleaningIntervalRef=void 0),s.wsConnection?s.wsConnection.disconnect(e):Promise.resolve()})),x(this,"openConnection",w(R.mark((function e(){var t;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s.userID){e.next=2;break}throw Error("User is not set on client, use client.connectUser or client.connectAnonymousUser instead");case 2:if(null===(t=s.wsConnection)||void 0===t||!t.isHealthy||!s._hasConnectionID()){e.next=5;break}return s.logger("info","client:openConnection() - openConnection called twice, healthy connection already exists",{tags:["connection","client"]}),e.abrupt("return",Promise.resolve());case 5:return s.clientID="".concat(s.userID,"--").concat(Me()),s.wsPromise=s.connect(),s._startCleaning(),e.abrupt("return",s.wsPromise);case 9:case"end":return e.stop()}}),e)})))),x(this,"_setupConnection",this.openConnection),x(this,"_normalizeDate",(function(e){if(e instanceof Date&&(e=e.toISOString()),""===e)throw new Error("Don't pass blank string for since, use null instead if resetting the token revoke");return e})),x(this,"disconnectUser",function(){var e=w(R.mark((function e(t){var n,r,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(s.logger("info","client:disconnect() - Disconnecting the client",{tags:["connection","client"]}),delete s.user,delete s._user,delete s.userID,s.anonymous=!1,n=s.closeConnection(t),r=0,i=Object.values(s.activeChannels);r<i.length;r++)i[r]._disconnect();return s.activeChannels={},s.state=new He,s.tokenManager.reset(),e.abrupt("return",n);case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),x(this,"disconnect",this.disconnectUser),x(this,"connectAnonymousUser",(function(){!s._isUsingServerAuth()&&!s.node||s.options.allowServerSideConnect||console.warn('Please do not use connectUser server side. connectUser impacts MAU and concurrent connection usage and thus your bill. If you have a valid use-case, add "allowServerSideConnect: true" to the client options to disable this warning.'),s.anonymous=!0,s.userID=Me();var e={id:s.userID,anon:!0};return s._setToken(e,""),s._setUser(e),s._setupConnection()})),x(this,"setAnonymousUser",this.connectAnonymousUser),x(this,"doAxiosRequest",function(){var e=w(R.mark((function e(t,n,r){var i,a,o,c=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=c.length>3&&void 0!==c[3]?c[3]:{},e.next=3,s.tokenManager.tokenReady();case 3:a=s._enrichAxiosOptions(i),e.prev=4,s._logApiRequest(t,n,r,a),e.t0=t,e.next="get"===e.t0?9:"delete"===e.t0?13:"post"===e.t0?17:"put"===e.t0?21:"patch"===e.t0?25:"options"===e.t0?29:33;break;case 9:return e.next=11,s.axiosInstance.get(n,a);case 11:return o=e.sent,e.abrupt("break",34);case 13:return e.next=15,s.axiosInstance.delete(n,a);case 15:return o=e.sent,e.abrupt("break",34);case 17:return e.next=19,s.axiosInstance.post(n,r,a);case 19:return o=e.sent,e.abrupt("break",34);case 21:return e.next=23,s.axiosInstance.put(n,r,a);case 23:return o=e.sent,e.abrupt("break",34);case 25:return e.next=27,s.axiosInstance.patch(n,r,a);case 27:return o=e.sent,e.abrupt("break",34);case 29:return e.next=31,s.axiosInstance.options(n,a);case 31:return o=e.sent,e.abrupt("break",34);case 33:throw new Error("Invalid request type");case 34:return s._logApiResponse(t,n,o),s.consecutiveFailures=0,e.abrupt("return",s.handleResponse(o));case 39:if(e.prev=39,e.t1=e.catch(4),s._logApiError(t,n,e.t1),s.consecutiveFailures+=1,!e.t1.response){e.next=55;break}if(e.t1.response.data.code!==Oe.TOKEN_EXPIRED||s.tokenManager.isStatic()){e.next=52;break}if(!(s.consecutiveFailures>1)){e.next=48;break}return e.next=48,Re(Ae(s.consecutiveFailures));case 48:return s.tokenManager.loadToken(),e.next=51,s.doAxiosRequest(t,n,r,i);case 51:return e.abrupt("return",e.sent);case 52:return e.abrupt("return",s.handleResponse(e.t1.response));case 55:throw e.t1;case 56:case"end":return e.stop()}}),e,null,[[4,39]])})));return function(t,n,r){return e.apply(this,arguments)}}()),x(this,"dispatchEvent",(function(e){var t=s._handleClientEvent(e),n=e.cid,r=n?s.activeChannels[n]:void 0;r&&r._handleChannelEvent(e),s._callClientListeners(e),r&&r._callChannelListeners(e),t.forEach((function(e){return e()}))})),x(this,"handleEvent",(function(e){var t=e.data,n=JSON.parse(t);n.received_at=new Date,s.dispatchEvent(n)})),x(this,"_updateMemberWatcherReferences",(function(e){var t=s.state.userChannelReferences[e.id]||{};for(var n in t){var r=s.activeChannels[n];null!=r&&r.state&&(r.state.members[e.id]&&(r.state.members[e.id].user=e),r.state.watchers[e.id]&&(r.state.watchers[e.id]=e))}})),x(this,"_updateUserReferences",this._updateMemberWatcherReferences),x(this,"_updateUserMessageReferences",(function(e){var t=s.state.userChannelReferences[e.id]||{};for(var n in t){var r=s.activeChannels[n].state;null==r||r.updateUserMessages(e)}})),x(this,"_deleteUserMessageReference",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=s.state.userChannelReferences[e.id]||{};for(var r in n){var i=s.activeChannels[r],a=i.state;null==a||a.deleteUserMessages(e,t)}})),x(this,"_handleUserEvent",(function(e){if(e.user){if("user.presence.changed"===e.type||"user.updated"===e.type){if(e.user.id===s.userID){var t=ft({},s.user||{}),n=ft({},s._user||{});for(var r in s.user)r in e.user||{channel_mutes:!0,devices:!0,mutes:!0,total_unread_count:!0,unread_channels:!0,unread_count:!0,invisible:!0,roles:!0}[r]||(delete t[r],delete n[r]);for(var i in e.user)n&&i in n&&(n[i]=e.user[i]);s._user=ft({},n),s.user=ft(ft({},t),e.user)}s.state.updateUser(e.user),s._updateMemberWatcherReferences(e.user)}"user.updated"===e.type&&s._updateUserMessageReferences(e.user),"user.deleted"===e.type&&e.user.deleted_at&&(e.mark_messages_deleted||e.hard_delete)&&s._deleteUserMessageReference(e.user,e.hard_delete)}})),x(this,"_callClientListeners",(function(e){var t=s,n=[];t.listeners.all&&n.push.apply(n,m(t.listeners.all)),t.listeners[e.type]&&n.push.apply(n,m(t.listeners[e.type]));for(var r=0,i=n;r<i.length;r++){(0,i[r])(e)}})),x(this,"recoverState",w(R.mark((function e(){var t,n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s.logger("info","client:recoverState() - Start of recoverState with connectionID ".concat(null===(t=s.wsConnection)||void 0===t?void 0:t.connectionID),{tags:["connection"]}),!(n=Object.keys(s.activeChannels)).length||!s.recoverStateOnReconnect){e.next=10;break}return s.logger("info","client:recoverState() - Start the querying of ".concat(n.length," channels"),{tags:["connection","client"]}),e.next=6,s.queryChannels({cid:{$in:n}},{last_message_at:-1},{limit:30});case 6:s.logger("info","client:recoverState() - Querying channels finished",{tags:["connection","client"]}),s.dispatchEvent({type:"connection.recovered"}),e.next=11;break;case 10:s.dispatchEvent({type:"connection.recovered"});case 11:s.wsPromise=Promise.resolve(),s.setUserPromise=Promise.resolve();case 13:case"end":return e.stop()}}),e)})))),x(this,"getChannelByMembers",(function(e,t){var n=m(t.members||[]).sort().join(","),r="".concat(e,":!members-").concat(n);if(!n)throw Error("Please specify atleast one member when creating unique conversation");for(var i in s.activeChannels){var a=s.activeChannels[i];if(!a.disconnected){if(i===r)return a;if(0===i.indexOf("".concat(e,":!members-")))if(Object.keys(a.state.members).sort().join(",")===n)return a}}var o=new Ne(s,e,void 0,t);return s.activeChannels[r]=o,o})),x(this,"getChannelById",(function(e,t,n){if("string"==typeof t&&~t.indexOf(":"))throw Error("Invalid channel id ".concat(t,", can't contain the : character"));var r="".concat(e,":").concat(t);if(r in s.activeChannels&&!s.activeChannels[r].disconnected){var i=s.activeChannels[r];return Object.keys(n).length>0&&(i.data=n,i._data=n),i}var a=new Ne(s,e,t,n);return s.activeChannels[a.cid]=a,a})),x(this,"updateUsers",this.upsertUsers),x(this,"updateUser",this.upsertUser),x(this,"markAllRead",this.markChannelsRead),x(this,"_isUsingServerAuth",(function(){return!!s.secret})),x(this,"postInsights",function(){var e=w(R.mark((function e(t,n){var r,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=3,i=0;case 2:if(!(i<r)){e.next=18;break}return e.prev=3,e.next=6,s.axiosInstance.post("https://chat-insights.getstream.io/insights/".concat(t),n);case 6:e.next=14;break;case 8:return e.prev=8,e.t0=e.catch(3),s.logger("warn","failed to send insights event ".concat(t),{tags:["insights","connection"],error:e.t0,insights:n}),e.next=13,Re(3e3*(i+1));case 13:return e.abrupt("continue",15);case 14:return e.abrupt("break",18);case 15:i++,e.next=2;break;case 18:case"end":return e.stop()}}),e,null,[[3,8]])})));return function(t,n){return e.apply(this,arguments)}}()),this.key=t,this.listeners={},this.state=new He,this.mutedChannels=[],this.mutedUsers=[],n&&pt(n)&&(this.secret=n);var i=r||(n&&!pt(n)?n:{});this.browser=void 0!==i.browser?i.browser:"undefined"!=typeof window,this.node=!this.browser,this.options=ft({timeout:3e3,withCredentials:!1,warmUp:!1,recoverStateOnReconnect:!0},i),this.node&&!this.options.httpsAgent&&(this.options.httpsAgent=new null.Agent({keepAlive:!0,keepAliveMsecs:3e3})),this.axiosInstance=de.create(this.options),this.setBaseURL(this.options.baseURL||"https://chat-us-east-1.stream-io-api.com"),"undefined"!=typeof process&&process.env.STREAM_LOCAL_TEST_RUN&&this.setBaseURL("http://localhost:3030"),"undefined"!=typeof process&&process.env.STREAM_LOCAL_TEST_HOST&&this.setBaseURL("http://"+process.env.STREAM_LOCAL_TEST_HOST),this.wsConnection=null,this.wsPromise=null,this.setUserPromise=null,this.activeChannels={},this.configs={},this.anonymous=!1,this.tokenManager=new ut(this.secret),this.consecutiveFailures=0,this.insightMetrics=new $e,this.logger=Se(i.logger)?i.logger:function(){return null},this.recoverStateOnReconnect=this.options.recoverStateOnReconnect}var t,n,r,s,i,a,o,c,u,h,l,v,g,y,k,C,U,S,O,E,L,A,M,I,T,D,j,P,F,B,q,N,W,z,H,J,K,G,X,$,V,Q,Y,Z,ee,te,ne,re,se,ie,ae,oe,ce,ue,he,le,fe,pe,ve,ge;return _(e,[{key:"devToken",value:function(e){return ot(e)}},{key:"getAuthType",value:function(){return this.anonymous?"anonymous":"jwt"}},{key:"setBaseURL",value:function(e){this.baseURL=e,this.wsBaseURL=this.baseURL.replace("http","ws").replace(":3030",":8800")}},{key:"_setUser",value:function(e){this.user=e,this._user=ft({},e)}},{key:"updateAppSettings",value:(ge=w(R.mark((function e(t){var n;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null!==(n=t.apn_config)&&void 0!==n&&n.p12_cert&&(t.apn_config.p12_cert=Buffer.from(t.apn_config.p12_cert).toString("base64")),e.next=3,this.patch(this.baseURL+"/app",t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return ge.apply(this,arguments)})},{key:"revokeTokens",value:(ve=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.updateAppSettings({revoke_tokens_issued_before:this._normalizeDate(t)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return ve.apply(this,arguments)})},{key:"revokeUserToken",value:(pe=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.revokeUsersToken([t],n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return pe.apply(this,arguments)})},{key:"revokeUsersToken",value:(fe=w(R.mark((function e(t,n){var r,s,i,a;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=void 0===n?(new Date).toISOString():this._normalizeDate(n),r=[],s=ht(t);try{for(s.s();!(i=s.n()).done;)a=i.value,r.push({id:a,set:{revoke_tokens_issued_before:n}})}catch(e){s.e(e)}finally{s.f()}return e.next=6,this.partialUpdateUsers(r);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t){return fe.apply(this,arguments)})},{key:"getAppSettings",value:(le=w(R.mark((function e(){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/app");case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(){return le.apply(this,arguments)})},{key:"testPushSettings",value:(he=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/check_push",ft(ft(ft(ft(ft(ft({user_id:t},n.messageID?{message_id:n.messageID}:{}),n.apnTemplate?{apn_template:n.apnTemplate}:{}),n.firebaseTemplate?{firebase_template:n.firebaseTemplate}:{}),n.firebaseDataTemplate?{firebase_data_template:n.firebaseDataTemplate}:{}),n.huaweiDataTemplate?{huawei_data_template:n.huaweiDataTemplate}:{}),n.skipDevices?{skip_devices:!0}:{}));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return he.apply(this,arguments)})},{key:"testSQSSettings",value:(ue=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.post(this.baseURL+"/check_sqs",t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(){return ue.apply(this,arguments)})},{key:"setGuestUser",value:(ce=w(R.mark((function e(t){var n,r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.anonymous=!0,e.prev=1,e.next=4,this.post(this.baseURL+"/guest",{user:t});case 4:n=e.sent,e.next=11;break;case 7:throw e.prev=7,e.t0=e.catch(1),this.anonymous=!1,e.t0;case 11:return this.anonymous=!1,(r=n.user).created_at,r.updated_at,r.last_active,r.online,s=p(r,["created_at","updated_at","last_active","online"]),e.next=15,this.connectUser(s,n.access_token);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,this,[[1,7]])}))),function(e){return ce.apply(this,arguments)})},{key:"createToken",value:function(e,t,n){if(null==this.secret)throw Error("tokens can only be created server-side using the API Secret");var r={};return t&&(r.exp=t),n&&(r.iat=n),st(this.secret,e,r,{})}},{key:"on",value:function(e,t){var n=this,r=t?e:"all";if(!ke(r))throw Error("Invalid event type ".concat(r));var s=t||e;return r in this.listeners||(this.listeners[r]=[]),this.logger("info","Attaching listener for ".concat(r," event"),{tags:["event","client"]}),this.listeners[r].push(s),{unsubscribe:function(){n.logger("info","Removing listener for ".concat(r," event"),{tags:["event","client"]}),n.listeners[r]=n.listeners[r].filter((function(e){return e!==s}))}}}},{key:"off",value:function(e,t){var n=t?e:"all";if(!ke(n))throw Error("Invalid event type ".concat(n));var r=t||e;n in this.listeners||(this.listeners[n]=[]),this.logger("info","Removing listener for ".concat(n," event"),{tags:["event","client"]}),this.listeners[n]=this.listeners[n].filter((function(e){return e!==r}))}},{key:"_logApiRequest",value:function(e,t,n,r){this.logger("info","client: ".concat(e," - Request - ").concat(t),{tags:["api","api_request","client"],url:t,payload:n,config:r})}},{key:"_logApiResponse",value:function(e,t,n){this.logger("info","client:".concat(e," - Response - url: ").concat(t," > status ").concat(n.status),{tags:["api","api_response","client"],url:t,response:n})}},{key:"_logApiError",value:function(e,t,n){this.logger("error","client:".concat(e," - Error - url: ").concat(t),{tags:["api","api_response","client"],url:t,error:n})}},{key:"get",value:function(e,t){return this.doAxiosRequest("get",e,null,{params:t})}},{key:"put",value:function(e,t){return this.doAxiosRequest("put",e,t)}},{key:"post",value:function(e,t){return this.doAxiosRequest("post",e,t)}},{key:"patch",value:function(e,t){return this.doAxiosRequest("patch",e,t)}},{key:"delete",value:function(e,t){return this.doAxiosRequest("delete",e,null,{params:t})}},{key:"sendFile",value:function(e,t,n,r,s){var i=Ee(t,n,r);return null!=s&&i.append("user",JSON.stringify(s)),this.doAxiosRequest("post",e,i,{headers:i.getHeaders?i.getHeaders():{},config:{timeout:0,maxContentLength:1/0,maxBodyLength:1/0}})}},{key:"errorFromResponse",value:function(e){var t;return t=new Error("StreamChat error HTTP code: ".concat(e.status)),e.data&&e.data.code&&((t=new Error("StreamChat error code ".concat(e.data.code,": ").concat(e.data.message))).code=e.data.code),t.response=e,t.status=e.status,t}},{key:"handleResponse",value:function(e){var t=e.data;if("2"!==(e.status+"")[0])throw this.errorFromResponse(e);return t}},{key:"_handleClientEvent",value:function(e){var t,n,r,s=this,i=this,a=[];if(this.logger("info","client:_handleClientEvent - Received event of type { ".concat(e.type," }"),{tags:["event","client"],event:e}),"user.presence.changed"!==e.type&&"user.updated"!==e.type&&"user.deleted"!==e.type||this._handleUserEvent(e),"health.check"===e.type&&e.me&&(i.user=e.me,i.state.updateUser(e.me),i.mutedChannels=e.me.channel_mutes,i.mutedUsers=e.me.mutes),e.channel&&"notification.message_new"===e.type&&(this.configs[e.channel.type]=e.channel.config),"notification.channel_mutes_updated"===e.type&&null!==(t=e.me)&&void 0!==t&&t.channel_mutes){var o=[],c=[];this.mutedChannels.forEach((function(e){return e.channel&&o.push(e.channel.cid)})),e.me.channel_mutes.forEach((function(e){return e.channel&&c.push(e.channel.cid)})),o.forEach((function(e){!c.includes(e)&&s.activeChannels[e]&&(s.activeChannels[e].state.unreadCount=0)})),this.mutedChannels=e.me.channel_mutes}("notification.mutes_updated"===e.type&&null!==(n=e.me)&&void 0!==n&&n.mutes&&(this.mutedUsers=e.me.mutes),"channel.deleted"!==e.type&&"notification.channel_deleted"!==e.type||!e.cid)||(i.state.deleteAllChannelReference(e.cid),null===(r=this.activeChannels[e.cid])||void 0===r||r._disconnect(),a.push((function(){e.cid&&delete s.activeChannels[e.cid]})));return a}},{key:"_muteStatus",value:function(e){for(var t,n=0;n<this.mutedChannels.length;n++){var r,s=this.mutedChannels[n];if((null===(r=s.channel)||void 0===r?void 0:r.cid)===e){t={muted:!s.expires||new Date(s.expires).getTime()>(new Date).getTime(),createdAt:s.created_at?new Date(s.created_at):new Date,expiresAt:s.expires?new Date(s.expires):null};break}}return t||{muted:!1,createdAt:null,expiresAt:null}}},{key:"connect",value:(oe=w(R.mark((function e(){var t,n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this,this.failures=0,null!=t.userID&&null!=this._user){e.next=4;break}throw Error("Call connectUser or connectAnonymousUser before starting the connection");case 4:if(null!=t.wsBaseURL){e.next=6;break}throw Error("Websocket base url not set");case 6:if(null!=t.clientID){e.next=8;break}throw Error("clientID is not set");case 8:return this.wsConnection=new tt({wsBaseURL:t.wsBaseURL,clientID:t.clientID,userID:t.userID,tokenManager:t.tokenManager,user:this._user,authType:this.getAuthType(),userAgent:this.getUserAgent(),apiKey:this.key,recoverCallback:this.recoverState,messageCallback:this.handleEvent,eventCallback:this.dispatchEvent,logger:this.logger,device:this.options.device,postInsights:this.options.enableInsights?this.postInsights:void 0,insightMetrics:this.insightMetrics}),this.options.warmUp&&(n=this.doAxiosRequest("options",this.baseURL+"/connect")),e.next=12,this.wsConnection.connect();case 12:return r=e.sent,e.prev=13,e.next=16,n;case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(13),this.logger("error","Warmup request failed",{error:e.t0});case 21:return e.abrupt("return",r);case 22:case"end":return e.stop()}}),e,this,[[13,18]])}))),function(){return oe.apply(this,arguments)})},{key:"queryUsers",value:(ae=w(R.mark((function e(t){var n,r,s,i,a=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:[],r=a.length>2&&void 0!==a[2]?a[2]:{},s={presence:!1},e.next=5,this.setUserPromise;case 5:return this._hasConnectionID()||(s.presence=!1),e.next=8,this.get(this.baseURL+"/users",{payload:ft(ft({filter_conditions:t,sort:Le(n)},s),r)});case 8:return i=e.sent,this.state.updateUsers(i.users),e.abrupt("return",i);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return ae.apply(this,arguments)})},{key:"queryBannedUsers",value:(ie=w(R.mark((function e(){var t,n,r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.length>0&&void 0!==s[0]?s[0]:{},n=s.length>1&&void 0!==s[1]?s[1]:[],r=s.length>2&&void 0!==s[2]?s[2]:{},e.next=5,this.get(this.baseURL+"/query_banned_users",{payload:ft({filter_conditions:t,sort:Le(n)},r)});case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(){return ie.apply(this,arguments)})},{key:"queryMessageFlags",value:(se=w(R.mark((function e(){var t,n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>0&&void 0!==r[0]?r[0]:{},n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=4,this.get(this.baseURL+"/moderation/flags/message",{payload:ft({filter_conditions:t},n)});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(){return se.apply(this,arguments)})},{key:"queryChannels",value:(re=w(R.mark((function e(t){var n,r,s,i,a,o,c,u,h,l,d,f,p,v,g,m=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=m.length>1&&void 0!==m[1]?m[1]:[],r=m.length>2&&void 0!==m[2]?m[2]:{},s=m.length>3&&void 0!==m[3]?m[3]:{},i=s.skipInitialization,a={state:!0,watch:!0,presence:!1},e.next=7,this.setUserPromise;case 7:return this._hasConnectionID()||(a.watch=!1),o=ft(ft({filter_conditions:t,sort:Le(n)},a),r),e.next=11,this.post(this.baseURL+"/channels",o);case 11:c=e.sent,u=[],h=ht(c.channels);try{for(h.s();!(l=h.n()).done;)d=l.value,this._addChannelConfig(d)}catch(e){h.e(e)}finally{h.f()}f=ht(c.channels);try{for(f.s();!(p=f.n()).done;)v=p.value,(g=this.channel(v.channel.type,v.channel.id)).data=v.channel,g.initialized=!0,void 0===i?g._initializeState(v):i.includes(v.channel.id)||(g.state.clearMessages(),g._initializeState(v)),u.push(g)}catch(e){f.e(e)}finally{f.f()}return e.abrupt("return",u);case 18:case"end":return e.stop()}}),e,this)}))),function(e){return re.apply(this,arguments)})},{key:"search",value:(ne=w(R.mark((function e(t,n){var r,s,i=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=i.length>2&&void 0!==i[2]?i[2]:{}).offset||!r.sort&&!r.next){e.next=3;break}throw Error("Cannot specify offset with sort or next parameters");case 3:if(s=ft(ft({filter_conditions:t},r),{},{sort:r.sort?Le(r.sort):void 0}),"string"!=typeof n){e.next=8;break}s.query=n,e.next=13;break;case 8:if("object"!==f(n)){e.next=12;break}s.message_filter_conditions=n,e.next=13;break;case 12:throw Error("Invalid type ".concat(f(n)," for query parameter"));case 13:return e.next=15,this.setUserPromise;case 15:return e.next=17,this.get(this.baseURL+"/search",{payload:s});case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)}))),function(e,t){return ne.apply(this,arguments)})},{key:"setLocalDevice",value:function(e){if(this.wsConnection)throw new Error("you can only set device before opening a websocket connection");this.options.device=e}},{key:"addDevice",value:(te=w(R.mark((function e(t,n,r){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/devices",ft({id:t,push_provider:n},null!=r?{user_id:r}:{}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return te.apply(this,arguments)})},{key:"getDevices",value:(ee=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/devices",t?{user_id:t}:{});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return ee.apply(this,arguments)})},{key:"removeDevice",value:(Z=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delete(this.baseURL+"/devices",ft({id:t},n?{user_id:n}:{}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return Z.apply(this,arguments)})},{key:"getRateLimits",value:(Y=w(R.mark((function e(t){var n,r,s,i,a,o;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=(n=t||{}).serverSide,s=n.web,i=n.android,a=n.ios,o=n.endpoints,e.abrupt("return",this.get(this.baseURL+"/rate_limits",{server_side:r,web:s,android:i,ios:a,endpoints:o?o.join(","):void 0}));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return Y.apply(this,arguments)})},{key:"_addChannelConfig",value:function(e){this.configs[e.channel.type]=e.channel.config}},{key:"channel",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this.userID&&!this._isUsingServerAuth())throw Error("Call connectUser or connectAnonymousUser before creating a channel");if(~e.indexOf(":"))throw Error("Invalid channel group ".concat(e,", can't contain the : character"));return null==t||""===t?new Ne(this,e,void 0,n):"object"===f(t)?this.getChannelByMembers(e,t):this.getChannelById(e,t,n)}},{key:"partialUpdateUser",value:(Q=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.partialUpdateUsers([t]);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return Q.apply(this,arguments)})},{key:"upsertUsers",value:(V=w(R.mark((function e(t){var n,r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n={},r=ht(t),e.prev=2,r.s();case 4:if((s=r.n()).done){e.next=11;break}if((i=s.value).id){e.next=8;break}throw Error("User ID is required when updating a user");case 8:n[i.id]=i;case 9:e.next=4;break;case 11:e.next=16;break;case 13:e.prev=13,e.t0=e.catch(2),r.e(e.t0);case 16:return e.prev=16,r.f(),e.finish(16);case 19:return e.next=21,this.post(this.baseURL+"/users",{users:n});case 21:return e.abrupt("return",e.sent);case 22:case"end":return e.stop()}}),e,this,[[2,13,16,19]])}))),function(e){return V.apply(this,arguments)})},{key:"upsertUser",value:function(e){return this.upsertUsers([e])}},{key:"partialUpdateUsers",value:($=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=ht(t),e.prev=1,n.s();case 3:if((r=n.n()).done){e.next=9;break}if(r.value.id){e.next=7;break}throw Error("User ID is required when updating a user");case 7:e.next=3;break;case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(1),n.e(e.t0);case 14:return e.prev=14,n.f(),e.finish(14);case 17:return e.next=19,this.patch(this.baseURL+"/users",{users:t});case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e,this,[[1,11,14,17]])}))),function(e){return $.apply(this,arguments)})},{key:"deleteUser",value:(X=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delete(this.baseURL+"/users/".concat(t),n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return X.apply(this,arguments)})},{key:"reactivateUser",value:(G=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/users/".concat(t,"/reactivate"),ft({},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return G.apply(this,arguments)})},{key:"deactivateUser",value:(K=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/users/".concat(t,"/deactivate"),ft({},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return K.apply(this,arguments)})},{key:"exportUser",value:(J=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/users/".concat(t,"/export"),ft({},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return J.apply(this,arguments)})},{key:"banUser",value:(H=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0!==(null==n?void 0:n.user_id)&&(n.banned_by_id=n.user_id,delete n.user_id,console.warn("banUser: 'user_id' is deprecated, please consider switching to 'banned_by_id'")),void 0!==(null==n?void 0:n.user)&&(n.banned_by=n.user,delete n.user,console.warn("banUser: 'user' is deprecated, please consider switching to 'banned_by'")),e.next=4,this.post(this.baseURL+"/moderation/ban",ft({target_user_id:t},n));case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return H.apply(this,arguments)})},{key:"unbanUser",value:(z=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.delete(this.baseURL+"/moderation/ban",ft({target_user_id:t},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return z.apply(this,arguments)})},{key:"shadowBan",value:(W=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.banUser(t,ft({shadow:!0},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return W.apply(this,arguments)})},{key:"removeShadowBan",value:(N=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.unbanUser(t,ft({shadow:!0},n));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return N.apply(this,arguments)})},{key:"muteUser",value:(q=w(R.mark((function e(t,n){var r,s=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.length>2&&void 0!==s[2]?s[2]:{},e.next=3,this.post(this.baseURL+"/moderation/mute",ft(ft({target_id:t},n?{user_id:n}:{}),r));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return q.apply(this,arguments)})},{key:"unmuteUser",value:(B=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/moderation/unmute",ft({target_id:t},n?{user_id:n}:{}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return B.apply(this,arguments)})},{key:"userMuteStatus",value:function(e){if(!this.user||!this.wsPromise)throw new Error("Make sure to await connectUser() first.");for(var t=0;t<this.mutedUsers.length;t+=1)if(this.mutedUsers[t].target.id===e)return!0;return!1}},{key:"flagMessage",value:(F=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/flag",ft({target_message_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return F.apply(this,arguments)})},{key:"flagUser",value:(P=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/flag",ft({target_user_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return P.apply(this,arguments)})},{key:"unflagMessage",value:(j=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/unflag",ft({target_message_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return j.apply(this,arguments)})},{key:"unflagUser",value:(D=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/moderation/unflag",ft({target_user_id:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return D.apply(this,arguments)})},{key:"markChannelsRead",value:(T=w(R.mark((function e(){var t,n=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:{},e.next=3,this.post(this.baseURL+"/channels/read",ft({},t));case 3:case"end":return e.stop()}}),e,this)}))),function(){return T.apply(this,arguments)})},{key:"createCommand",value:function(e){return this.post(this.baseURL+"/commands",e)}},{key:"getCommand",value:function(e){return this.get(this.baseURL+"/commands/".concat(e))}},{key:"updateCommand",value:function(e,t){return this.put(this.baseURL+"/commands/".concat(e),t)}},{key:"deleteCommand",value:function(e){return this.delete(this.baseURL+"/commands/".concat(e))}},{key:"listCommands",value:function(){return this.get(this.baseURL+"/commands")}},{key:"createChannelType",value:function(e){var t=d({},{commands:["all"]},e);return this.post(this.baseURL+"/channeltypes",t)}},{key:"getChannelType",value:function(e){return this.get(this.baseURL+"/channeltypes/".concat(e))}},{key:"updateChannelType",value:function(e,t){return this.put(this.baseURL+"/channeltypes/".concat(e),t)}},{key:"deleteChannelType",value:function(e){return this.delete(this.baseURL+"/channeltypes/".concat(e))}},{key:"listChannelTypes",value:function(){return this.get(this.baseURL+"/channeltypes")}},{key:"translateMessage",value:(I=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/messages/".concat(t,"/translate"),{language:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return I.apply(this,arguments)})},{key:"_normalizeExpiration",value:function(e){var t;if("number"==typeof e){var n=new Date;n.setSeconds(n.getSeconds()+e),t=n.toISOString()}else pt(e)?t=e:e instanceof Date&&(t=e.toISOString());return t}},{key:"_validateAndGetMessageId",value:function(e,t){var n;if("string"==typeof e)n=e;else{if(!e.id)throw Error(t);n=e.id}return n}},{key:"pinMessage",value:function(e,t,n){var r=this._validateAndGetMessageId(e,"Please specify the message id when calling unpinMessage");return this.partialUpdateMessage(r,{set:{pinned:!0,pin_expires:this._normalizeExpiration(t)}},n)}},{key:"unpinMessage",value:function(e,t){var n=this._validateAndGetMessageId(e,"Please specify the message id when calling unpinMessage");return this.partialUpdateMessage(n,{set:{pinned:!1}},t)}},{key:"updateMessage",value:(M=w(R.mark((function e(t,n,r){var s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.id){e.next=2;break}throw Error("Please specify the message id when calling updateMessage");case 2:return delete(s=d({},t)).id,["command","created_at","html","latest_reactions","own_reactions","reaction_counts","reply_count","type","updated_at","user","__html"].forEach((function(e){null!=s[e]&&delete s[e]})),null!=n&&(pt(n)?s.user_id=n:s.user={id:n.id}),Array.isArray(s.mentioned_users)&&!pt(s.mentioned_users[0])&&(s.mentioned_users=s.mentioned_users.map((function(e){return e.id}))),e.next=10,this.post(this.baseURL+"/messages/".concat(t.id),ft({message:s},r));case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return M.apply(this,arguments)})},{key:"partialUpdateMessage",value:(A=w(R.mark((function e(t,n,r,s){var i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}throw Error("Please specify the message id when calling partialUpdateMessage");case 2:return i=r,null!=r&&pt(r)&&(i={id:r}),e.next=6,this.put(this.baseURL+"/messages/".concat(t),ft(ft(ft({},n),s),{},{user:i}));case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return A.apply(this,arguments)})},{key:"deleteMessage",value:(L=w(R.mark((function e(t,n){var r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r={},n&&(r={hard:!0}),e.next=4,this.delete(this.baseURL+"/messages/".concat(t),r);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return L.apply(this,arguments)})},{key:"getMessage",value:(E=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/messages/".concat(t));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return E.apply(this,arguments)})},{key:"getUserAgent",value:function(){return this.userAgent||"stream-chat-javascript-client-".concat(this.node?"node":"browser","-","4.4.3-dev.1")}},{key:"setUserAgent",value:function(e){this.userAgent=e}},{key:"_enrichAxiosOptions",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{params:{},headers:{},config:{}},n=this._getToken();return ft({params:ft(ft({user_id:this.userID},t.params),{},{api_key:this.key,connection_id:null===(e=this.wsConnection)||void 0===e?void 0:e.connectionID}),headers:ft({Authorization:n,"stream-auth-type":this.getAuthType(),"X-Stream-Client":this.getUserAgent()},t.headers)},t.config)}},{key:"_getToken",value:function(){return!this.tokenManager||this.anonymous?null:this.tokenManager.getToken()}},{key:"_startCleaning",value:function(){var e=this;null==this.cleaningIntervalRef&&(this.cleaningIntervalRef=setInterval((function(){for(var t=0,n=Object.values(e.activeChannels);t<n.length;t++){n[t].clean()}}),500))}},{key:"verifyWebhook",value:function(e,t){return!!this.secret&&ct(e,this.secret,t)}},{key:"getPermission",value:function(e){return this.get("".concat(this.baseURL,"/permissions/").concat(e))}},{key:"createPermission",value:function(e){return this.post("".concat(this.baseURL,"/permissions"),ft({},e))}},{key:"updatePermission",value:function(e,t){return this.put("".concat(this.baseURL,"/permissions/").concat(e),ft({},t))}},{key:"deletePermission",value:function(e){return this.delete("".concat(this.baseURL,"/permissions/").concat(e))}},{key:"listPermissions",value:function(){return this.get("".concat(this.baseURL,"/permissions"))}},{key:"createRole",value:function(e){return this.post("".concat(this.baseURL,"/roles"),{name:e})}},{key:"listRoles",value:function(){return this.get("".concat(this.baseURL,"/roles"))}},{key:"deleteRole",value:function(e){return this.delete("".concat(this.baseURL,"/roles/").concat(e))}},{key:"sync",value:function(e,t){return this.post("".concat(this.baseURL,"/sync"),{channel_cids:e,last_sync_at:t})}},{key:"sendUserCustomEvent",value:(O=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post("".concat(this.baseURL,"/users/").concat(t,"/event"),{event:n});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return O.apply(this,arguments)})},{key:"createBlockList",value:function(e){return this.post("".concat(this.baseURL,"/blocklists"),e)}},{key:"listBlockLists",value:function(){return this.get("".concat(this.baseURL,"/blocklists"))}},{key:"getBlockList",value:function(e){return this.get("".concat(this.baseURL,"/blocklists/").concat(e))}},{key:"updateBlockList",value:function(e,t){return this.put("".concat(this.baseURL,"/blocklists/").concat(e),t)}},{key:"deleteBlockList",value:function(e){return this.delete("".concat(this.baseURL,"/blocklists/").concat(e))}},{key:"exportChannels",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=ft({channels:e},t);return this.post("".concat(this.baseURL,"/export_channels"),n)}},{key:"exportChannel",value:function(e,t){return this.exportChannels([e],t)}},{key:"getExportChannelStatus",value:function(e){return this.get("".concat(this.baseURL,"/export_channels/").concat(e))}},{key:"createSegment",value:(S=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/segments",{segment:t});case 2:return n=e.sent,r=n.segment,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return S.apply(this,arguments)})},{key:"getSegment",value:(U=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/segments/".concat(t));case 2:return n=e.sent,r=n.segment,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return U.apply(this,arguments)})},{key:"listSegments",value:(C=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/segments",t);case 2:return n=e.sent,r=n.segments,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return C.apply(this,arguments)})},{key:"updateSegment",value:(k=w(R.mark((function e(t,n){var r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.put(this.baseURL+"/segments/".concat(t),{segment:n});case 2:return r=e.sent,s=r.segment,e.abrupt("return",s);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return k.apply(this,arguments)})},{key:"deleteSegment",value:(y=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.delete(this.baseURL+"/segments/".concat(t)));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return y.apply(this,arguments)})},{key:"createCampaign",value:(g=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.post(this.baseURL+"/campaigns",{campaign:t});case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return g.apply(this,arguments)})},{key:"getCampaign",value:(v=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/campaigns/".concat(t));case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return v.apply(this,arguments)})},{key:"listCampaigns",value:(l=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(this.baseURL+"/campaigns",t);case 2:return n=e.sent,r=n.campaigns,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"updateCampaign",value:(h=w(R.mark((function e(t,n){var r,s;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.put(this.baseURL+"/campaigns/".concat(t),{campaign:n});case 2:return r=e.sent,s=r.campaign,e.abrupt("return",s);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t){return h.apply(this,arguments)})},{key:"deleteCampaign",value:(u=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.delete(this.baseURL+"/campaigns/".concat(t)));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"scheduleCampaign",value:(c=w(R.mark((function e(t,n){var r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.sendAt,e.next=3,this.patch(this.baseURL+"/campaigns/".concat(t,"/schedule"),{send_at:r});case 3:return s=e.sent,i=s.campaign,e.abrupt("return",i);case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"stopCampaign",value:(o=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.patch(this.baseURL+"/campaigns/".concat(t,"/stop"));case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"resumeCampaign",value:(a=w(R.mark((function e(t){var n,r;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.patch(this.baseURL+"/campaigns/".concat(t,"/resume"));case 2:return n=e.sent,r=n.campaign,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"testCampaign",value:(i=w(R.mark((function e(t,n){var r,s,i;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.users,e.next=3,this.post(this.baseURL+"/campaigns/".concat(t,"/test"),{users:r});case 3:return s=e.sent,i=s.campaign,e.abrupt("return",i);case 6:case"end":return e.stop()}}),e,this)}))),function(e,t){return i.apply(this,arguments)})},{key:"enrichURL",value:(s=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.get(this.baseURL+"/og",{url:t}));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"getTask",value:(r=w(R.mark((function e(t){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.get("".concat(this.baseURL,"/tasks/").concat(t)));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"deleteChannels",value:(n=w(R.mark((function e(t){var n,r=arguments;return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this.post(this.baseURL+"/channels/delete",ft({cids:t},n));case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"deleteUsers",value:(t=w(R.mark((function e(t,n){return R.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("soft"===(null==n?void 0:n.user)||"hard"===(null==n?void 0:n.user)){e.next=2;break}throw new Error("Invalid delete user options. user must be one of [soft hard]");case 2:if(void 0===n.messages||"soft"===n.messages||"hard"===n.messages){e.next=4;break}throw new Error("Invalid delete user options. messages must be one of [soft hard]");case 4:if(void 0===n.conversations||"soft"===n.conversations||"hard"===n.conversations){e.next=6;break}throw new Error("Invalid delete user options. conversations must be one of [soft hard]");case 6:return e.next=8,this.post(this.baseURL+"/users/delete",ft({user_ids:t},n));case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}],[{key:"getInstance",value:function(t,n,r){return e._instance||(e._instance="string"==typeof n?new e(t,n,r):new e(t,n)),e._instance}}]),e}();x(vt,"_instance",void 0);var gt="Allow",mt="Deny",yt=["*"],wt=["*"],bt=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:yt,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:wt,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:gt;b(this,e),x(this,"name",void 0),x(this,"action",void 0),x(this,"owner",void 0),x(this,"priority",void 0),x(this,"resources",void 0),x(this,"roles",void 0),this.name=t,this.action=a,this.owner=i,this.priority=n,this.resources=r,this.roles=s},kt=new bt("Allow all",999,yt,wt,!1,gt),_t=new bt("Deny all",1,yt,wt,!1,mt);e.Allow=gt,e.AllowAll=kt,e.AnyResource=yt,e.AnyRole=wt,e.BuiltinPermissions={AddLinks:"Add Links",BanUser:"Ban User",CreateChannel:"Create Channel",CreateMessage:"Create Message",CreateReaction:"Create Reaction",DeleteAnyAttachment:"Delete Any Attachment",DeleteAnyChannel:"Delete Any Channel",DeleteAnyMessage:"Delete Any Message",DeleteAnyReaction:"Delete Any Reaction",DeleteOwnAttachment:"Delete Own Attachment",DeleteOwnChannel:"Delete Own Channel",DeleteOwnMessage:"Delete Own Message",DeleteOwnReaction:"Delete Own Reaction",ReadAnyChannel:"Read Any Channel",ReadOwnChannel:"Read Own Channel",RunMessageAction:"Run Message Action",UpdateAnyChannel:"Update Any Channel",UpdateAnyMessage:"Update Any Message",UpdateMembersAnyChannel:"Update Members Any Channel",UpdateMembersOwnChannel:"Update Members Own Channel",UpdateOwnChannel:"Update Own Channel",UpdateOwnMessage:"Update Own Message",UploadAttachment:"Upload Attachment",UseFrozenChannel:"Send messages and reactions to frozen channels"},e.BuiltinRoles={Admin:"admin",Anonymous:"anonymous",ChannelMember:"channel_member",ChannelModerator:"channel_moderator",Guest:"guest",User:"user"},e.Channel=Ne,e.ChannelState=ge,e.CheckSignature=ct,e.ClientState=He,e.Deny=mt,e.DenyAll=_t,e.DevToken=ot,e.EVENT_MAP=we,e.InsightMetrics=$e,e.JWTServerToken=it,e.JWTUserToken=st,e.MaxPriority=999,e.MinPriority=1,e.Permission=bt,e.StableWSConnection=tt,e.StreamChat=vt,e.TokenManager=ut,e.UserFromToken=at,e.buildWsFatalInsight=Ve,e.buildWsSuccessAfterFailureInsight=Ye,e.chatCodes=Oe,e.decodeBase64=l,e.encodeBase64=h,e.isOwnUser=function(e){return void 0!==(null==e?void 0:e.total_unread_count)},e.isValidEventType=ke,e.logChatPromiseExecution=Ue,Object.defineProperty(e,"__esModule",{value:!0})}(this.window=this.window||{});
2
2
  //# sourceMappingURL=browser.full-bundle.min.js.map