1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[778],{52920:function(e,t,n){/* 2@license 3The following license applies to all parts of this software except as 4documented below. 5 6 Copyright (c) 2016, Twilio, inc. 7 All rights reserved. 8 9 Redistribution and use in source and binary forms, with or without 10 modification, are permitted provided that the following conditions are 11 met: 12 13 1. Redistributions of source code must retain the above copyright 14 notice, this list of conditions and the following disclaimer. 15 16 2. Redistributions in binary form must reproduce the above copyright 17 notice, this list of conditions and the following disclaimer in 18 the documentation and/or other materials provided with the 19 distribution. 20 21 3. Neither the name of Twilio nor the names of its contributors may 22 be used to endorse or promote products derived from this software 23 without specific prior written permission. 24 25 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 26 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 27 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 28 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 29 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 30 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 31 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 32 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 33 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 35 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 37This software includes loglevel under the following license. 38 39 Copyright (c) 2013 Tim Perry 40 41 Permission is hereby granted, free of charge, to any person 42 obtaining a copy of this software and associated documentation 43 files (the "Software"), to deal in the Software without 44 restriction, including without limitation the rights to use, 45 copy, modify, merge, publish, distribute, sublicense, and/or sell 46 copies of the Software, and to permit persons to whom the 47 Software is furnished to do so, subject to the following 48 conditions: 49 50 The above copyright notice and this permission notice shall be 51 included in all copies or substantial portions of the Software. 52 53 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 54 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 55 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 56 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 57 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 58 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 59 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 60 OTHER DEALINGS IN THE SOFTWARE. 61 62This software includes Backoff library under the following license 63 64 Copyright (C) 2012 Mathieu Turcotte 65 66 Permission is hereby granted, free of charge, to any person obtaining a copy of 67 this software and associated documentation files (the "Software"), to deal in 68 the Software without restriction, including without limitation the rights to 69 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 70 of the Software, and to permit persons to whom the Software is furnished to do 71 so, subject to the following conditions: 72 73 The above copyright notice and this permission notice shall be included in all 74 copies or substantial portions of the Software. 75 76 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 77 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 78 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 79 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 80 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 81 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 82 SOFTWARE. 83 84This software includes Event-to-Promise library under the following license 85 86 Copyright (c) 2014, Julien Fontanet <[email protected]>. 87 88 Permission to use, copy, modify, and/or distribute this software for any purpose 89 with or without fee is hereby granted, provided that the above copyright notice 90 and this permission notice appear in all copies. 91 92 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 93 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 94 FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 95 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS 96 OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 97 TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF 98 THIS SOFTWARE. 99
100*/Object.defineProperty(t,"__esModule",{value:!0}),n(69867),n(66479),n(93801),n(18916),n(25955),n(43201),n(21716);var r,i=n(91461),s=n(53100),a=n(98870),u=n(85297),o=n(68230),c=n(60421),d=n(1147),l=n(26290);n(91560),n(17385),n(4256);var p=n(82841),f=n(67425),h=n(80996),v=n(58194);n(16268);var y=n(78365);n(11063),n(69460),n(60452),n(65845),n(99492);var m=n(79640);n(31002),n(90399),n(95696);var g=n(43681);n(91211),n(44215),n(70309),n(92374),n(87246),n(17125);var k=n(11625);n(21531);var b=n(98022),_=n(70611);n(76464);var w=n(89653);function x(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function I(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var S=x(i),E=x(s),R=x(a),T=x(u),N=x(o),q=x(c),L=x(d),C=x(l),j=x(p),M=x(f),O=x(y),A=I(m),F=x(g),U=I(b),P=x(_),D=I(w);function B(e,t,n,r){var i,s=arguments.length,a=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if(("undefined"==typeof Reflect?"undefined":M.default(Reflect))==="object"&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var u=e.length-1;u>=0;u--)(i=e[u])&&(a=(s<3?i(a):s>3?i(t,n,a):i(t,n))||a);return s>3&&a&&Object.defineProperty(t,n,a),a}function Q(e,t){if(("undefined"==typeof Reflect?"undefined":M.default(Reflect))==="object"&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function W(){}function z(){z.init.call(this)}function K(e){return void 0===e._maxListeners?z.defaultMaxListeners:e._maxListeners}function H(e,t,n,r){if("function"!=typeof n)throw TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]):(s=e._events=new W,e._eventsCount=0),a){if("function"==typeof a?a=s[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(i=K(e))&&i>0&&a.length>i){a.warned=!0;var i,s,a,u=Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,"function"==typeof console.warn?console.warn(u):console.log(u)}}else a=s[t]=n,++e._eventsCount;return e}function V(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function J(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function $(e,t){for(var n=Array(t);t--;)n[t]=e[t];return n}W.prototype=Object.create(null),z.EventEmitter=z,z.usingDomains=!1,z.prototype.domain=void 0,z.prototype._events=void 0,z.prototype._maxListeners=void 0,z.defaultMaxListeners=10,z.init=function(){this.domain=null,z.usingDomains&&r.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new W,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},z.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},z.prototype.getMaxListeners=function(){return K(this)},z.prototype.emit=function(e){var t,n,r,i,s,a,u,o="error"===e;if(a=this._events)o=o&&null==a.error;else if(!o)return!1;if(u=this.domain,o){if(t=arguments[1],u)t||(t=Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=u,t.domainThrown=!1,u.emit("error",t);else if(t instanceof Error)throw t;else{var c=Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return!1}if(!(n=a[e]))return!1;var d="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=$(e,r),s=0;s<r;++s)i[s].call(n)}(n,d,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=$(e,i),a=0;a<i;++a)s[a].call(n,r)}(n,d,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,a=$(e,s),u=0;u<s;++u)a[u].call(n,r,i)}(n,d,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var a=e.length,u=$(e,a),o=0;o<a;++o)u[o].call(n,r,i,s)}(n,d,this,arguments[1],arguments[2],arguments[3]);break;default:for(s=1,i=Array(r-1);s<r;s++)i[s-1]=arguments[s];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=$(e,i),a=0;a<i;++a)s[a].apply(n,r)}(n,d,this,i)}return!0},z.prototype.addListener=function(e,t){return H(this,e,t,!1)},z.prototype.on=z.prototype.addListener,z.prototype.prependListener=function(e,t){return H(this,e,t,!0)},z.prototype.once=function(e,t){if("function"!=typeof t)throw TypeError('"listener" argument must be a function');return this.on(e,V(this,e,t)),this},z.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw TypeError('"listener" argument must be a function');return this.prependListener(e,V(this,e,t)),this},z.prototype.removeListener=function(e,t){var n,r,i,s,a;
100if("function"!=typeof t)throw TypeError('"listener" argument must be a function');if(!(r=this._events)||!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0==--this._eventsCount?this._events=new W:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new W,this;delete r[e]}else(function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()})(n,i);r.removeListener&&this.emit("removeListener",e,a||t)}return this},z.prototype.off=function(e,t){return this.removeListener(e,t)},z.prototype.removeAllListeners=function(e){if(!(n=this._events))return this;if(!n.removeListener)return 0==arguments.length?(this._events=new W,this._eventsCount=0):n[e]&&(0==--this._eventsCount?this._events=new W:delete n[e]),this;if(0==arguments.length){for(var t,n,r,i=Object.keys(n),s=0;s<i.length;++s)"removeListener"!==(r=i[s])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new W,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do this.removeListener(e,t[t.length-1]);while(t[0]);return this},z.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},z.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):J.call(e,t)},z.prototype.listenerCount=J,z.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var G=function(){function e(t){E.default(this,e),this.base=t,this.args=[],this.paths=[]}return R.default(e,[{key:"pathSegment",value:function(e){return this.paths.push(encodeURIComponent(e)),this}},{key:"queryParam",value:function(e,t){return void 0!==t&&this.args.push(encodeURIComponent(e)+"="+encodeURIComponent(t)),this}},{key:"build",value:function(){var e=this.base;return this.paths.length&&(e+="/"+this.paths.join("/")),this.args.length&&(e+="?"+this.args.join("&")),e}}]),e}();function Z(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=L.default(e);return n=t?Reflect.construct(r,arguments,L.default(this).constructor):r.apply(this,arguments),q.default(this,n)}}var X=function(e){N.default(n,e);var t=Z(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return E.default(this,n),(r=t.call(this)).name=r.constructor.name,r.message="".concat(e," (status: ").concat(i,", code: ").concat(s,")"),r.status=i,r.code=s,r}return n}(O.default(Error)),Y=function(e){N.default(n,e);var t=Z(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3?arguments[3]:void 0;return E.default(this,n),(r=t.call(this,e,i,s)).body=a,r}return n}(X);function ee(e){return JSON.parse(JSON.stringify(e))}function et(e){if(!(void 0===e||en(e)))throw new X("Invalid pageSize parameter. Expected a positive integer, was '".concat(e,"'."),400,20007)}function en(e){return!isNaN(parseInt(e))&&isFinite(e)&&e>0}var er=A.getLogger("twilio-sync");function ei(e,t){return["".concat(new Date().toISOString()," Sync ").concat(e,":")].concat(Array.from(t))}var es={setLevel:function(e){er.setLevel(e)},trace:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];er.trace.apply(null,ei("T",t))},debug:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];er.debug.apply(null,ei("D",t))},warn:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];er.warn.apply(null,ei("W",t))},error:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];er.error.apply(null,ei("E",t))}},ea=function(){function e(){var t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};E.default(this,e);var i=r.region||"us1",s=r.cdsUri||"https://cds.".concat(i,".twilio.com");this.settings={subscriptionsUri:s+"/v4/Subscriptions",documentsUri:s+"/v3/Documents",listsUri:s+"/v3/Lists",mapsUri:s+"/v3/Maps",streamsUri:s+"/v3/Stream
100s",insightsUri:s+"/v3/Insights",sessionStorageEnabled:(t=r.Sync,n="enableSessionStorage",!t||void 0===t[n]||t[n]),productId:r.productId}}return R.default(e,[{key:"subscriptionsUri",get:function(){return this.settings.subscriptionsUri}},{key:"documentsUri",get:function(){return this.settings.documentsUri}},{key:"listsUri",get:function(){return this.settings.listsUri}},{key:"mapsUri",get:function(){return this.settings.mapsUri}},{key:"streamsUri",get:function(){return this.settings.streamsUri}},{key:"insightsUri",get:function(){return this.settings.insightsUri}},{key:"backoffConfig",get:function(){return this.settings.backoffConfig||{}}},{key:"sessionStorageEnabled",get:function(){return this.settings.sessionStorageEnabled}},{key:"productId",get:function(){return this.settings.productId}}]),e}();function eu(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return eo(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eo(e,void 0)}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,s=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw s}}}}function eo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var ec=function(){function e(t){E.default(this,e),this.localObject=t,this.pendingCorrelationId=null,this.pendingAction=null,this.established=!1,this.retryCount=0}return R.default(e,[{key:"sid",get:function(){return this.localObject.sid}},{key:"type",get:function(){return this.localObject.type}},{key:"lastEventId",get:function(){return this.localObject.lastEventId}},{key:"indexName",get:function(){return this.localObject.indexName}},{key:"queryString",get:function(){return this.localObject.queryString}},{key:"isEstablished",get:function(){return this.established}},{key:"update",value:function(e,t){this.localObject._update(e,t)}},{key:"updatePending",value:function(e,t){this.pendingAction=e,this.pendingCorrelationId=t}},{key:"reset",value:function(){this.updatePending(null,null),this.retryCount=0,this.established=!1,this.setSubscriptionState("none")}},{key:"markAsFailed",value:function(e){this.rejectedWithError=e.error,this.updatePending(null,null),this.localObject.reportFailure(new X("Failed to subscribe on service events: ".concat(e.error.message),e.error.status,e.error.code))}},{key:"complete",value:function(e){this.updatePending(null,null),this.established=!0,this.localObject._advanceLastEventId(e)}},{key:"setSubscriptionState",value:function(e){this.localObject._setSubscriptionState(e)}}]),e}(),ed=function(){var e;function t(e){var n=this;E.default(this,t),C.default(this,"isConnected",!1),C.default(this,"maxBatchSize",100),C.default(this,"subscriptionTtlTimer",null),C.default(this,"pendingPokeReason",null),this.services=e,this.subscriptions=new Map,this.persisted=new Map,this.latestPokeResponseArrivalTimestampByCorrelationId=new Map,this.backoff=k.Backoff.exponential(Object.assign({randomisationFactor:.2,initialDelay:100,maxDelay:12e4},this.services.config.backoffConfig)),this.backoff.on("ready",function(){var e=n.getSubscriptionUpdateBatch(),t=e.action,r=e.subscriptions;t?n.applyNewSubscriptionUpdateBatch(t,r):(n.backoff.reset(),es.debug("All subscriptions resolved."))})}return R.default(t,[{key:"getSubscriptionUpdateBatch",value:function(){function e(e,t,n,r){var i,s=[],a=eu(e);try{for(a.s();!(i=a.n()).done;){var u=F.default(i.value,2),o=u[0],c=u[1];if(!t.get(o)&&n!==c.pendingAction&&!c.rejectedWithError&&(s.push(c),r&&s.length>=r))break}}catch(e){a.e(e)}finally{a.f()}return s}var t=e(this.subscriptions,this.persisted,"establish",this.maxBatchSize);if(t.length>0)return{action:"establish",subscriptions:t};var n=e(this.persisted,this.subscriptions,"cancel",this.maxBatchSize);return n.length>0?{action:"cancel",subscriptions:n}:{action:null,subscriptions:null}}},{key:"persist",value:function(){this.backoff.backoff()}},{key:"applyNewSubscriptionUpdateBatch",value:(e=S.default(j.default.mark(function e(t,n){var r,i,s,a,u,o,c,d,l,p,f,h,y=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isConnected){e.next=4;break}return es.debug("Twilsock connection (required for subscription) not ready; waitingâ¦"),this.backoff.reset(),e.abrupt("return");case 4:n=this.processLocalActions(t,n),r=new Date().getTime(),i=eu(n);try{for(i.s();!(s=i.n()).done;)a=s.value,this.recordActionAttemptOn(a,t,r)}catch(e){i.e(e)}finally{i.f()}return u=this.pendingPokeReason,this.pendingPokeReason=null,e.prev=10,e.next=13,this.request(t,r,u,n);case 13:!isNaN(parseInt(c=(o=e.sent).body.max_batch_size))&&isFinite(c)&&c>0&&(this.maxBatchSize=c),!this.subscriptionTtlTimer&&!isNaN(parseFloat(d=o.body.ttl_in_s))&&isFinite(d)&&d>0&&(this.subscriptionTtlTimer=setTimeout(function(){return y.onSubscriptionTtlElapsed()},1e3*d)),"establish"===t&&(!isNaN(parseFloat(l=o.body.estimated_delivery_in_ms))&&isFinite(l)&&l>0?setTimeout(function(){return y.verifyPokeDelivery(r,l,n)},l):es.error("Invalid timeout: ".concat(l)),n.filter(function(e){return e.pendingCorrelationId===r}
100).forEach(function(e){return e.setSubscriptionState("response_in_flight")})),this.backoff.reset(),e.next=26;break;case 21:e.prev=21,e.t0=e.catch(10),p=eu(n);try{for(p.s();!(f=p.n()).done;)h=f.value,this.recordActionFailureOn(h,t)}catch(e){p.e(e)}finally{p.f()}e.t0 instanceof v.TransportUnavailableError?(es.debug("Twilsock connection (required for subscription) not ready (c:".concat(r,"); waitingâ¦")),this.backoff.reset()):(es.debug("Failed an attempt to ".concat(t," subscriptions (c:").concat(r,"); retrying"),e.t0),this.persist());case 26:case"end":return e.stop()}},e,this,[[10,21]])})),function(t,n){return e.apply(this,arguments)})},{key:"verifyPokeDelivery",value:function(e,t,n){var r=this,i=this.latestPokeResponseArrivalTimestampByCorrelationId.get(e),s=i?new Date().getTime()-i:t;s>=t?(n.filter(function(t){return t.pendingCorrelationId===e}).forEach(function(e){e.updatePending(null,null),e.retryCount++,r.persisted.delete(e.sid)}),this.persist(),this.latestPokeResponseArrivalTimestampByCorrelationId.delete(e)):setTimeout(function(){return r.verifyPokeDelivery(e,t,n)},t-s)}},{key:"processLocalActions",value:function(e,t){return"cancel"===e?t.filter(function(e){return!e.rejectedWithError}):t}},{key:"recordActionAttemptOn",value:function(e,t,n){if(e.setSubscriptionState("request_in_flight"),"establish"===t)this.persisted.set(e.sid,e),e.updatePending(t,n);else{var r=this.persisted.get(e.sid);r&&r.updatePending(t,n)}}},{key:"recordActionFailureOn",value:function(e,t){e.setSubscriptionState("none"),e.updatePending(null,null),"establish"===t&&this.persisted.delete(e.sid)}},{key:"request",value:function(e,t,n,r){var i=r.map(function(t){return{object_sid:t.sid,object_type:t.type,last_event_id:"establish"===e?t.lastEventId:void 0,index_name:"establish"===e?t.indexName:void 0,query_string:"establish"===e?t.queryString:void 0}}),s=r.filter(function(e){return e.retryCount>0}).length;es.debug("Attempting '".concat(e,"' request (c:").concat(t,"):"),i);var a={event_protocol_version:4,action:e,correlation_id:t,retried_requests:s,ttl_in_s:-1,requests:i};return"ttl"===n&&(a.reason=n),this.services.network.post(this.services.config.subscriptionsUri,a)}},{key:"add",value:function(e,t){es.debug("Establishing intent to subscribe to ".concat(e));var n=this.subscriptions.get(e);n&&t&&n.lastEventId===t.lastEventId||(this.persisted.delete(e),this.subscriptions.set(e,new ec(t)),this.persist())}},{key:"remove",value:function(e){es.debug("Establishing intent to unsubscribe from ".concat(e)),this.subscriptions.delete(e)&&this.persist()}},{key:"acceptMessage",value:function(e,t){es.trace("Subscriptions received",e);var n=e.event_type,r=void 0!==e.events?e.events:[e.event],i=e.correlation_id;i&&this.latestPokeResponseArrivalTimestampByCorrelationId.set(i,new Date().getTime());var s,a=eu(r);try{for(a.s();!(s=a.n()).done;){var u=s.value,o=void 0;switch(e.event_type){case"subscription_established":this.applySubscriptionEstablishedMessage(u,i);break;case"subscription_canceled":this.applySubscriptionCancelledMessage(u,i);break;case"subscription_failed":this.applySubscriptionFailedMessage(u,i);break;case(o=n.match(/^(?:map|list|document|stream|live_query)_/)||{}).input:var c=void 0;switch(o[0]){case"map_":c=u.map_sid;break;case"list_":c=u.list_sid;break;case"document_":c=u.document_sid;break;case"stream_":c=u.stream_sid;break;case"live_query_":c=u.query_id,t=!1,!0===e.strictly_ordered&&(t=!0);break;default:c=void 0}this.applyEventToSubscribedEntity(c,u,n,t);break;default:es.debug("Dropping unknown message type ".concat(n))}}}catch(e){a.e(e)}finally{a.f()}}},{key:"applySubscriptionEstablishedMessage",value:function(e,t){var n=e.object_sid,r=this.persisted.get(e.object_sid);r&&r.pendingCorrelationId===t?"interrupted"===e.replay_status?(es.debug("Event Replay for subscription to ".concat(n," (c:").concat(t,") interrupted; continuing eagerly.")),r.updatePending(null,null),this.persisted.delete(r.sid),this.backoff.reset()):"completed"===e.replay_status&&(es.debug("Event Replay for subscription to ".concat(n," (c:").concat(t,") completed. Subscription is ready.")),r.complete(e.last_event_id),this.persisted.set(e.object_sid,r),r.setSubscriptionState("established"),this.backoff.reset()):es.debug("Late message for ".concat(e.object_sid," (c:").concat(t,") dropped.")),this.persist()}},{key:"applySubscriptionCancelledMessage",value:function(e,t){var n=this.persisted.get(e.object_sid);n&&n.pendingCorrelationId===t?(n.updatePending(null,null),n.setSubscriptionState("none"),this.persisted.delete(e.object_sid)):es.debug("Late message for ".concat(e.object_sid," (c:").concat(t,") dropped.")),this.persist()}},{key:"applySubscriptionFailedMessage",value:function(e,t){var n=e.object_sid,r=this.subscriptions.get(n),i=this.persisted.get(n);r&&i?i.pendingCorrelationId===t&&(es.error("Failed to subscribe on ".concat(i.sid),e.error),i.markAsFailed(e),i.setSubscriptionState("none")):!r&&i&&(this.persisted.delete(n),i.setSubscriptionState("none")),this.persist()}},{key:"applyEventToSubscribedEntity",value:function(e,t,n,r){var i;if(e){r=r||(i=this.persisted.get(e))&&i.isEstablished;var s=this.subscriptions.get(e);s?(t.type=n,s.update(t,r)):es.debug("Message dropped for SID '".concat(e,"', for which there is no subscription."))}}},{key:"onConnectionStateChanged",value:function(e){this.isConnected=e,e&&this.poke("reconnect")}},{key:"onSubscriptionTtlElapsed",value:function(){this.isConnected&&this.poke("ttl")}},{key:"poke",value:function(e){es.debug("Triggering event replay for all subscriptions, reason=".concat(e)),this.pendingPokeReason=e,this.subscriptionTtlTimer&&(clearTimeout(this.subscriptionTtlTimer),this.subscriptionTtlTimer=null);var t,n=[],r=eu(this.persisted.values());try{for(r.s();!(t=r.n()).done;){var i=t.value;i.reset(),i.rejectedWithError&&n.push(i)}}catch(e){r.e(e)}finally{r.f()}this.persisted.clear();for(var s=0;s<n.length;s++){var a=n[s];this.persisted.set(a.sid,a)}this.persist()}},{key:"shutdown",value:function(){this.backoff.reset(),this.subscriptions.clear()}}]),t}();function el(e){if(e.body&&e.body.message)return e.body.message;switch(e.status){case 429:return"Throttled by server";case 404:return"Not found from server";default:return"Error from server"}}function ep(e){return e.body?e.body.code:0}function ef(e){return 409===e.status?new Y(el(e),e.status,ep(e),e.body):e.status?new X(el(e),e.status,ep(e)):e instanceof v.TransportUnavailableError?e:new X(e.message,0,0)}var eh=function(){function e(t,n,r){E.default(this,e),this.clientInfo=t,this.config=n,this.transport=r}return R.default(e,[{key:"createHeaders",value:function(){return{"Content-Type":"application/json","Twilio-Sync-Client-Info":JSON.stringify(this.clientInfo),"Twilio-Request-Id":"RQ"+U.v4().replace(/-/g,"")}}},{key:"backoffConfig",value:function(){return Object.assign({min:4e3,max:6e4,maxAttemptsTime:9e4,randomness:.2},this.config.backoffConfig)}},{key:"executeWithRetry",value:function(e){var t=this,n=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return new Promise(function(r,i){var s=[502,503,504];n&&s.push(429);var a=new k.Retrier(t.backoffConfig());a.on("attempt",function(){e().then(function(e){return a.succeeded(e)}).catch(function(e){if(s.includes(e.status)){var t=parseInt(e.headers?e.headers["Retry-After"]:null);a.failed(ef(e),isNaN(t)?null:1e3*t)}else"Twilsock disconnected"===e.message?a.failed(ef(e)):(a.removeAllListeners(),a.cancel(),i(ef(e)))})}),a.on("succeeded",function(e){r(e)}),a.on("cancelled",function(e){return i(ef(e))}),a.on("failed",function(e){return i(ef(e))}),a.start()})}},{key:"get",value:function(e){var t=this,n=this.createHeaders();return es.debug("GET",e,"ID:",n["Twilio-Request-Id"]),this.executeWithRetry(function(){return t.transport.get(e,n,t.config.productId)},!0)}},{key:"post",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],s=this.createHeaders();return null!=n&&(s["If-Match"]=n),es.debug("POST",e,"ID:",s["Twilio-Request-Id"]),this.executeWithRetry(function(){return r.transport.post(e,s,t,r.config.productId)},i)}},{key:"put",value:function(e,t,n){var r=this,i=this.createHeaders();return null!=n&&(i["If-Match"]=n),es.debug("PUT",e,"ID:",i["Twilio-Request-Id"]),this.executeWithRetry(function(){return r.transport.put(e,i,t,r.config.productId)},!1)}},{key:"delete",value:function(e){var t=this,n=this.createHeaders();return es.debug("DELETE",e,"ID:",n["Twilio-Request-Id"]),this.executeWithRetry(function(){return t.transport.delete(e,n,t.config.productId)},!1)}}]),e}(),ev=function(){function e(t,n){E.default(this,e),this.config=t,this.storageId=null;try{this.storage=n||sessionStorage}catch(e){}}return R.default(e,[{key:"storageKey",value:function(e,t){return"".concat(this.storageId,"::").concat(e,"::").concat(t)}},{key:"isReady",get:function(){return this.config.sessionStorageEnabled&&!!this.storageId}},{key:"updateStorageId",value:function(e){this.storageId=e}},{key:"store",value:function(e,t,n){return this.isReady?this._store(this.storageKey(e,t),n):null}},{key:"read",value:function(e,t){return this.isReady?this._read(this.storageKey(e,t)):null}},{key:"remove",value:function(e,t,n){if(!this.isReady)return null;try{this.storage.removeItem(this.storageKey(e,t)),n&&this.storage.removeItem(this.storageKey(e,n))}catch(e){}}},{key:"update",value:function(e,t,n,r){if(!this.isReady)return null;this._apply(this.storageKey(e,t),r),n&&this._apply(this.storageKey(e,n),r)}},{key:"_store",value:function(e,t){try{this.storage.setItem(e,JSON.stringify(t))}catch(e){}}},{key:"_read",value:function(e){try{var t=this.storage.getItem(e);if(t)return JSON.parse(t)}catch(e){}return null}},{key:"_apply",value:function(e,t){var n=this._read(e);if(!n)return!1;this._store(e,Object.assign(n,t))}}]),e}();function ey(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var em=function(){function e(t,n){E.default(this,e),this.services=t,this.removalHandler=n,this.subscriptionState="none",this._attachedListeners=new Map}return R.default(e,[{key:"_advanceLastEventId",value:function(e,t){}},{key:"reportFailure",value:function(e){404===e.status?this.onRemoved(!1):this.broadcastEventToListeners("failure",e)}},{key:"_subscribe",value:function(){this.services.router._subscribe(this.sid,this)}},{key:"_unsubscribe",value:function(){this.services.router._unsubscribe(this.sid)}},{key:"_setSubscriptionState",value:function(e){this.subscriptionState=e,this.broadcastEventToListeners("_subscriptionStateChanged",e)}},{key:"close",value:function(){this._unsubscribe(),null!=this.removalHandler&&this.removalHandler(this.type,this.sid,this.uniqueName)}},{key:"attach",value:function(e){var t=e.listenerUuid;this._attachedListeners.get(t)||(this._attachedListeners.size||this._subscribe(),this._attachedListeners.set(t,e))}},{key:"detach",value:function(e){this._attachedListeners.delete(e),this._attachedListeners.size||this.close()}},{key:"broadcastEventToListeners",value:function(e,t){var n,r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];
100if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ey(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ey(e,void 0)}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,s=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw s}}}}(this._attachedListeners.values());try{for(r.s();!(n=r.n()).done;)n.value.emit(e,t)}catch(e){r.e(e)}finally{r.f()}}}]),e}(),eg=function(){function e(t){E.default(this,e),C.default(this,"queuedRequests",[]),C.default(this,"isRequestInFlight",!1),this.inputMergingFunction=t}return R.default(e,[{key:"add",value:function(e,t){var n=this,r=new Promise(function(r,i){return n.queuedRequests.push({input:e,requestFunction:t,resolve:r,reject:i})});return this.wakeupQueue(),r}},{key:"squashAndAdd",value:function(e,t){var n,r=this.queuedRequests;this.queuedRequests=[],r.length>0?(n=r.map(function(e){return e.input}).reduce(this.inputMergingFunction),n=this.inputMergingFunction(n,e)):n=e;var i=this.add(n,t);return r.forEach(function(e){return i.then(e.resolve,e.reject)}),i}},{key:"isEmpty",value:function(){return 0===this.queuedRequests.length&&!this.isRequestInFlight}},{key:"wakeupQueue",value:function(){var e=this;if(0!==this.queuedRequests.length&&!this.isRequestInFlight){var t=this.queuedRequests.shift();this.isRequestInFlight=!0,t.requestFunction(t.input).then(t.resolve,t.reject).then(function(t){e.isRequestInFlight=!1,e.wakeupQueue()})}}}]),e}(),ek=function(){var e,t,n;function r(e){E.default(this,r),C.default(this,"queueByNamespaceKey",new Map),this.inputReducer=e}return R.default(r,[{key:"add",value:(e=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.invokeQueueMethod(t,function(e){return e.add(n,r)}));case 1:case"end":return e.stop()}},e,this)})),function(t,n,r){return e.apply(this,arguments)})},{key:"squashAndAdd",value:(t=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.invokeQueueMethod(t,function(e){return e.squashAndAdd(n,r)}));case 1:case"end":return e.stop()}},e,this)})),function(e,n,r){return t.apply(this,arguments)})},{key:"invokeQueueMethod",value:(n=S.default(j.default.mark(function e(t,n){var r;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.queueByNamespaceKey.has(t)||this.queueByNamespaceKey.set(t,new eg(this.inputReducer)),r=n(this.queueByNamespaceKey.get(t)),this.queueByNamespaceKey.get(t).isEmpty()&&this.queueByNamespaceKey.delete(t),e.abrupt("return",r);case 5:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})}]),r}(),eb=function(e){N.default(r,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=L.default(r);return e=t?Reflect.construct(n,arguments,L.default(this).constructor):n.apply(this,arguments),q.default(this,e)});function r(){var e;return E.default(this,r),(e=n.call(this)).closed=!1,e.uuid=b.v4(),e}return R.default(r,[{key:"listenerUuid",get:function(){return this.uuid}},{key:"close",value:function(){this.removeAllListeners(),this.closed=!0}},{key:"ensureNotClosed",value:function(){if(this.closed)throw Error("Invalid operation on closed object")}}]),r}(z);function e_(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=L.default(e);return n=t?Reflect.construct(r,arguments,L.default(this).constructor):r.apply(this,arguments),q.default(this,n)}}var ew=function(e){N.default(l,e);var t,n,r,i,s,a,u,o,c,d=e_(l);function l(e,t,n){var r;return E.default(this,l),r=d.call(this,e,n),C.default(T.default(r),"isDeleted",!1),r.updateMergingQueue=new eg(function(e,t){return"number"==typeof t.ttl?{ttl:t.ttl}:e}),r.descriptor=t,r.descriptor.data=r.descriptor.data||{},r.descriptor.date_updated=new Date(r.descriptor.date_updated),r}return R.default(l,[{key:"uri",get:function(){return this.descriptor.url}},{key:"revision",get:function(){return this.descriptor.revision}},{key:"lastEventId",get:function(){return this.descriptor.last_event_id}},{key:"dateExpires",get:function(){return this.descriptor.date_expires}},{key:"type",get:function(){return"document"}},{key:"indexName",get:function(){}},{key:"queryString",get:function(){}},{key:"sid",get:function(){return this.descriptor.sid}},{key:"data",get:function(){return this.descriptor.data}},{key:"dateUpdated",get:function(){return this.descriptor.date_updated}},{key:"uniqueName",get:function(){return this.descriptor.unique_name||null}},{key:"_update",value:function(e){switch(e.date_created=new Date(e.date_created),e.type){case"document_updated":if(e.id<=this.lastEventId){es.trace("Document update skipped, current:",this.lastEventId,", remote:",e.id);break}var t=void 0!==this.descriptor.data?ee(this.descriptor.data):null;this.descriptor.last_event_id=e.id,this.descriptor.revision=e.document_revision,this.descriptor.date_updated=e.date_created,this.descriptor.data=e.document_data,this.broadcastEventToListeners("updated",{data:e.document_data,isLocal:!1,previousData:t}
100),this.services.storage.update(this.type,this.sid,this.uniqueName,{last_event_id:e.id,revision:e.document_revision,date_updated:e.date_created,data:e.document_data});break;case"document_removed":this.onRemoved(!1)}}},{key:"set",value:(t=S.default(j.default.mark(function e(t,n){var r,i=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=n||{},e.abrupt("return",this.updateMergingQueue.squashAndAdd(r,function(e){return i._setUnconditionally(t,e.ttl)}));case 2:case"end":return e.stop()}},e,this)})),function(e,n){return t.apply(this,arguments)})},{key:"mutate",value:(n=S.default(j.default.mark(function e(t,n){var r,i=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=n||{},e.abrupt("return",this.updateMergingQueue.add(r,function(e){return i._setWithIfMatch(t,e.ttl)}));case 2:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"update",value:(r=S.default(j.default.mark(function e(t,n){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mutate(function(e){return Object.assign(e,t)},n));case 1:case"end":return e.stop()}},e,this)})),function(e,t){return r.apply(this,arguments)})},{key:"setTtl",value:(i=S.default(j.default.mark(function e(t){var n;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._postUpdateToServer({ttl:t});case 2:n=e.sent,this.descriptor.date_expires=n.date_expires;case 4:case"end":return e.stop()}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"_setUnconditionally",value:(s=S.default(j.default.mark(function e(t,n){var r;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._postUpdateToServer({data:t,revision:void 0,ttl:n});case 2:return r=e.sent,this._handleSuccessfulUpdateResult(r),e.abrupt("return",this.descriptor.data);case 5:case"end":return e.stop()}},e,this)})),function(e,t){return s.apply(this,arguments)})},{key:"_setWithIfMatch",value:(a=S.default(j.default.mark(function e(t,n){var r,i,s;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=t(ee(this.descriptor.data)))){e.next=22;break}return i=this.revision,e.prev=3,e.next=6,this._postUpdateToServer({data:r,revision:i,ttl:n});case 6:return s=e.sent,this._handleSuccessfulUpdateResult(s),e.abrupt("return",this.descriptor.data);case 11:if(e.prev=11,e.t0=e.catch(3),412!==e.t0.status){e.next=19;break}return e.next=16,this._softSync();case 16:return e.abrupt("return",this._setWithIfMatch(t));case 19:throw e.t0;case 20:e.next=23;break;case 22:return e.abrupt("return",this.descriptor.data);case 23:case"end":return e.stop()}},e,this,[[3,11]])})),function(e,t){return a.apply(this,arguments)})},{key:"_handleSuccessfulUpdateResult",value:function(e){if(!(e.last_event_id<=this.descriptor.last_event_id)){var t=void 0!==this.descriptor.data?ee(this.descriptor.data):null;this.descriptor.revision=e.revision,this.descriptor.data=e.data,this.descriptor.last_event_id=e.last_event_id,this.descriptor.date_expires=e.date_expires,this.descriptor.date_updated=new Date(e.date_updated),this.services.storage.update(this.type,this.sid,this.uniqueName,{last_event_id:e.last_event_id,revision:e.revision,date_updated:e.date_updated,data:e.data}),this.broadcastEventToListeners("updated",{data:this.descriptor.data,isLocal:!0,previousData:t})}}},{key:"_postUpdateToServer",value:(u=S.default(j.default.mark(function e(t){var n,r,i;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isDeleted){e.next=17;break}return n={data:t.data},void 0!==t.ttl&&(n.ttl=t.ttl),r=t.revision,e.prev=4,e.next=7,this.services.network.post(this.uri,n,r);case 7:return i=e.sent,e.abrupt("return",{revision:i.body.revision,data:t.data,last_event_id:i.body.last_event_id,date_updated:i.body.date_updated,date_expires:i.body.date_expires});case 11:throw e.prev=11,e.t0=e.catch(4),404===e.t0.status&&this.onRemoved(!1),e.t0;case 15:e.next=18;break;case 17:return e.abrupt("return",Promise.reject(new X("The Document has been removed",404,54100)));case 18:case"end":return e.stop()}},e,this,[[4,11]])})),function(e){return u.apply(this,arguments)})},{key:"_softSync",value:(o=S.default(j.default.mark(function e(){var t=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.services.network.get(this.uri).then(function(e){var n={type:"document_updated",id:e.body.last_event_id,document_revision:e.body.revision,document_data:e.body.data,date_created:e.body.date_updated};return t._update(n),t}).catch(function(e){404===e.status?t.onRemoved(!1):es.error("Can't get updates for ".concat(t.sid,":"),e)}));case 1:case"end":return e.stop()}},e,this)})),function(){return o.apply(this,arguments)})},{key:"onRemoved",value:function(e){if(!this.isDeleted){var t=void 0!==this.descriptor.data?ee(this.descriptor.data):null;this.isDeleted=!0,this._unsubscribe(),this.removalHandler(this.type,this.sid,this.uniqueName),this.broadcastEventToListeners("removed",{isLocal:e,previousData:t})}}},{key:"removeDocument",value:(c=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isDeleted){e.next=6;break}return e.next=3,this.services.network.delete(this.uri);case 3:this.onRemoved(!0),e.next=7;break;case 6:return e.abrupt("return",Promise.reject(new X("The Document has been removed",404,54100)));case 7:case"end":return e.stop()}},e,this)})),function(){return c.apply(this,arguments)})}],[{key:"type",get:function(){return"document"}}]),l}(em),ex=function(e){N.default(u,e);var t,n,r,i,s,a=e_(u);function u(e){var t;return E.default(this,u),(t=a.call(this)).syncDocumentImpl=e,t.syncDocumentImpl.attach(T.default(t)),t}return R.default(u,[{key:"uri",get:function(){return this.syncDocumentImpl.uri}},{key:"revision",get:function(){return this.syncDocumentImpl.revision}},{key:"lastEventId",get:function(){return this.syncDocumentImpl.lastEventId}},{key:"dateExpires",get:function(){return this.syncDocumentImpl.dateExpires}},{key:"type",get:function(){return ew.type}},{key:"sid",get:function(){return this.syncDocumentImpl.sid}},{key:"data",get:function(){return this.syncDocumentImpl.data}},{key:"dateUpdated",get:function(){return this.syncDocumentImpl.dateUpdated}},{key:"uniqueName",get:function(){return this.syncDocumentImpl.uniqueName}},{key:"set",value:(t=S.default(j.default.mark(function e(t,n){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncDocumentImpl.set(t,n));case 2:case"end":return e.stop()}},e,this)})),function(e,n){return t.apply(this,arguments)})},{key:"mutate",value:(n=S.default(j.default.mark(function e(t,n){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncDocumentImpl.mutate(t,n));case 2:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"update",value:(r=S.default(j.default.mark(function e(t,n){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncDocumentImpl.update(t,n));case 2:case"end":return e.stop()}},e,this)})),function(e,t){return r.apply(this,arguments)})},{key:"setTtl",value:(i=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncDocumentImpl.setTtl(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"removeDocument",value:(s=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncDocumentImpl.removeDocument());case 2:case"end":return e.stop()}},e,this)})),function(){return s.apply(this,arguments)})},{key:"close",value:function(){P.default(L.default(u.prototype),"close",this).call(this),this.syncDocumentImpl.detach(this.listenerUuid)}}],[{key:"type",get:function(){return ew.type}}]),u}(eb);C.default(ex,"removed","removed"),C.default(ex,"updated","updated"),B([h.validateTypesAsync(h.pureObject,["undefined",h.objectSchema("document metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Object,Object]),Q("design:returntype",Promise)],ex.prototype,"set",null),B([h.validateTypesAsync("function",["undefined",h.objectSchema("document metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Function,Object]),Q("design:returntype",Promise)],ex.prototype,"mutate",null),B([h.validateTypesAsync(h.pureObject,["undefined",h.objectSchema("document metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Object,Object]),Q("design:returntype",Promise)],ex.prototype,"update",null),B([h.validateTypesAsync(h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number]),Q("design:returntype",Promise)],ex.prototype,"setTtl",null);var eI=function(){function e(t){E.default(this,e),this.descriptor=t}return R.default(e,[{key:"uri",get:function(){return this.descriptor.uri}},{key:"revision",get:function(){return this.descriptor.revision}},{key:"lastEventId",get:function(){return this.descriptor.lastEventId}},{key:"dateUpdated",get:function(){return this.descriptor.dateUpdated}},{key:"dateExpires",get:function(){return this.descriptor.dateExpires}},{key:"index",get:function(){return this.descriptor.index}},{key:"data",get:function(){return this.descriptor.data}},{key:"update",value:function(e,t,n,r){return this.descriptor.lastEventId=e,this.descriptor.revision=t,this.descriptor.data=n,this.descriptor.dateUpdated=r,this}},{key:"updateDateExpires",value:function(e){this.descriptor.dateExpires=e}}]),e}(),eS=function(){var e,t;function n(e,t,r,i){E.default(this,n),this.prevToken=r,this.nextToken=i,this.items=e,this.source=t}return R.default(n,[{key:"hasNextPage",get:function(){return!!this.nextToken}},{key:"hasPrevPage",get:function(){return!!this.prevToken}},{key:"nextPage",value:(e=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.hasNextPage){e.next=2;break}throw Error("No next page");case 2:return e.abrupt("return",this.source(this.nextToken));case 3:case"end":return e.stop()}},e,this)})),function(){return e.apply(this,arguments)})},{key:"prevPage",value:(t=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.hasPrevPage){e.next=2;break}throw Error("No previous page");case 2:return e.abrupt("return",this.source(this.prevToken));case 3:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})}]),n}();function eE(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var eR=function(){function e(t,n){E.default(this,e),this.balanceFactor=0,this.key=t,this.value=n,this.parent=null,this.left=null,this.right=null}return R.default(e,[{key:"isRoot",get:function(){return null===this.parent}},{key:"isLeaf",get:function(){return null===this.left&&null===this.right}},{key:"isLeftChild",get:function(){return this.parent.left===this}},{key:"update",value:function(e){this.value=e}},{key:"replace",value:function(e,t){e&&(this.left===t?this.left=t:this.right===t&&(this.right=t))}}]),e}(),eT=function(){function e(t,n){E.default(this,e),this.isLessThan=t||function(e,t){return e<t},this.isEqual=n||function(e,t){return e===t},this.root=null,this.count=null}return R.default(e,[{key:"size",get:function(){return this.count}},{key:"clear",value:function(){this.root=null,this.count=0}},{key:"set",value:function(e,t){var n=this.getNode(e);n?n.update(t):this.insert(e,t)}},{key:"insert",value:function(e,t){var n=new eR(e,t);if(this.count++,!this.root){this.root=n;return}for(var r=this.root;;)if(this.isLessThan(e,r.key)){if(r.left)r=r.left;else{r.left=n;break}}else if(r.right)r=r.right;else{r.right=n;break}for(n.parent=r,r=n;r.parent;){var i=r.parent,s=i.balanceFactor;if(r.isLeftChild?i.balanceFactor++:i.balanceFactor--,Math.abs(i.balanceFactor)<Math.abs(s))break;if(i.balanceFactor<-1||i.balanceFactor>1){this.rebalance(i);break}r=i}}},{key:"get",value:function(e){for(var t=this.root;t;){if(this.isEqual(e,t.key))return t.value;t=this.isLessThan(e,t.key)?t.left:t.right}return null}},{key:"delete",value:function(e){var t=this.getNode(e);if(!t||t.key!==e)return null;var n=t.parent,r=t.left,i=t.right;if(!!r!=!!i){var s=r||i;n||s?n&&!s?this.root=s:(n.replace(t,null),this.rebalance(n)):this.root=null}else{for(var a=t.left;
100a.right;)a=a.right;if(t.left===a)t.isRoot?(this.root=a,a.parent=null):(t.isLeftChild?t.parent.left=a:t.parent.right=a,a.parent=t.parent),a.right=t.right,a.right.parent=a,a.balanceFactor=t.balanceFactor,t={parent:a,isLeftChild:!0};else{var u=a.parent,o=a.left;u.right=o,o&&(o.parent=u),t.isRoot?(this.root=a,a.parent=null):(t.isLeftChild?t.parent.left=a:t.parent.right=a,a.parent=t.parent),a.right=t.right,a.right.parent=a,a.left=t.left,a.left.parent=a,a.balanceFactor=t.balanceFactor,t={parent:u,isLeftChild:!1}}}for(this.count--;t.parent;){var c=t.parent,d=c.balanceFactor;if(t.isLeftChild?c.balanceFactor-=1:c.balanceFactor+=1,Math.abs(c.balanceFactor)>Math.abs(d)){if(c.balanceFactor<-1||c.balanceFactor>1){if(this.rebalance(c),0===c.parent.balanceFactor)t=c.parent;else break}else break}else t=c}return null}},{key:"getNode",value:function(e){for(var t=this.root;t;){if(this.isEqual(e,t.key))return t;t=this.isLessThan(e,t.key)?t.left:t.right}return null}},{key:"rebalance",value:function(e){e.balanceFactor<0?(e.right.balanceFactor>0&&this.rotateRight(e.right),this.rotateLeft(e)):e.balanceFactor>0&&(e.left.balanceFactor<0&&this.rotateLeft(e.left),this.rotateRight(e))}},{key:"rotateLeft",value:function(e){var t=e.right;e.right=t.left,null!==t.left&&(t.left.parent=e),t.parent=e.parent,null===t.parent?this.root=t:e.isLeftChild?t.parent.left=t:t.parent.right=t,t.left=e,e.parent=t,e.balanceFactor=e.balanceFactor+1-Math.min(t.balanceFactor,0),t.balanceFactor=t.balanceFactor+1-Math.max(e.balanceFactor,0)}},{key:"rotateRight",value:function(e){var t=e.left;e.left=t.right,null!==t.right&&(t.right.parent=e),t.parent=e.parent,null===t.parent?this.root=t:e.isLeftChild?t.parent.left=t:t.parent.right=t,t.right=e,e.parent=t,e.balanceFactor=e.balanceFactor-1-Math.min(t.balanceFactor,0),t.balanceFactor=t.balanceFactor-1-Math.max(e.balanceFactor,0)}},{key:Symbol.iterator,value:j.default.mark(function e(){var t,n,r;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return eE(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eE(e,void 0)}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,s=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw s}}}}(this.getIterator()),e.prev=1,t.s();case 3:if((n=t.n()).done){e.next=9;break}return r=n.value,e.next=7,r;case 7:e.next=3;break;case 9:e.next=14;break;case 11:e.prev=11,e.t0=e.catch(1),t.e(e.t0);case 14:return e.prev=14,t.f(),e.finish(14);case 17:case"end":return e.stop()}},e,this,[[1,11,14,17]])})},{key:"getIterator",value:j.default.mark(function e(){var t,n,r,i=arguments;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=i.length>0&&void 0!==i[0]?i[0]:null,n=this.root;case 2:if(!n){e.next=8;break}if(!(this.isEqual(t,n.key)||null===t&&!n.left)){e.next=5;break}return e.abrupt("break",8);case 5:n=this.isLessThan(t,n.key)||null===t?n.left:n.right,e.next=2;break;case 8:if(n){e.next=10;break}return e.abrupt("return",null);case 10:r=!0;case 11:if(!r){e.next=29;break}return e.next=14,[n.key,n.value];case 14:if(r=!1,!n.right){e.next=21;break}for(n=n.right;n.left;)n=n.left;r=!0,e.next=27;break;case 21:if(!n.parent){e.next=26;break}r=n.parent.left===n,n=n.parent,e.next=27;break;case 26:case 34:return e.abrupt("break",37);case 27:e.next=35;break;case 29:if(!n.parent){e.next=34;break}r=n.parent.left===n,n=n.parent,e.next=35;break;case 35:e.next=11;break;case 37:return e.abrupt("return",null);case 38:case"end":return e.stop()}},e,this)})},{key:"getReverseIterator",value:j.default.mark(function e(){var t,n,r,i=arguments;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t=i.length>0&&void 0!==i[0]?i[0]:null,n=this.root;case 2:if(!n){e.next=8;break}if(!(this.isEqual(t,n.key)||null===t&&!n.right)){e.next=5;break}return e.abrupt("break",8);
100case 5:n=this.isLessThan(t,n.key)&&null!==t?n.left:n.right,e.next=2;break;case 8:if(n){e.next=10;break}return e.abrupt("return",null);case 10:r=!0;case 11:if(!r){e.next=29;break}return e.next=14,[n.key,n.value];case 14:if(r=!1,!n.left){e.next=21;break}for(n=n.left;n.right;)n=n.right;r=!0,e.next=27;break;case 21:if(!n.parent){e.next=26;break}r=n.parent.right===n,n=n.parent,e.next=27;break;case 26:case 34:return e.abrupt("break",37);case 27:e.next=35;break;case 29:if(!n.parent){e.next=34;break}r=n.parent.right===n,n=n.parent,e.next=35;break;case 35:e.next=11;break;case 37:return e.abrupt("return",null);case 38:case"end":return e.stop()}},e,this)})}]),e}();function eN(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var eq=function(){function e(t,n){E.default(this,e),this.value=t,this.revision=n||0}return R.default(e,[{key:"isValid",get:function(){return!0}}]),e}(),eL=function(){function e(t){E.default(this,e),this.revision=t}return R.default(e,[{key:"isValid",get:function(){return!1}}]),e}(),eC=function(){function e(){E.default(this,e),this.items=new eT}return R.default(e,[{key:"store",value:function(e,t,n){var r=this.items.get(e);return r&&r.revision>n?r.isValid?r.value:null:(this.items.set(e,new eq(t,n)),t)}},{key:"delete",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this.items.get(e);(!r||r.revision<t||r&&!0===n)&&this.items.set(e,new eL(t))}},{key:"isKnown",value:function(e,t){var n=this.items.get(e);return n&&n.revision>=t}},{key:"get",value:function(e){var t=this.items.get(e);return t&&t.isValid?t.value:null}},{key:"has",value:function(e){var t=this.items.get(e);return t&&t.isValid}},{key:"forEach",value:function(e){if(this.items){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return eN(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eN(e,void 0)}}(e))){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,s=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw s}}}}(this.items);try{for(n.s();!(t=n.n()).done;){var r=F.default(t.value,2),i=r[0],s=r[1];s.isValid&&e(i,s.value)}}catch(e){n.e(e)}finally{n.f()}}}}]),e}();function ej(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=L.default(e);return n=t?Reflect.construct(r,arguments,L.default(this).constructor):r.apply(this,arguments),q.default(this,n)}}var eM=function(e){N.default(g,e);var t,n,r,i,s,a,u,o,c,d,l,p,f,h,v,y,m=ej(g);function g(e,t,n){var r;return E.default(this,g),(r=m.call(this,e,n)).updateMergingQueue=new ek(function(e,t){return"number"==typeof t.ttl?{ttl:t.ttl}:e}),r.cache=new eC,r.descriptor=t,r.descriptor.date_updated=new Date(r.descriptor.date_updated),r}return R.default(g,[{key:"uri",get:function(){return this.descriptor.url}},{key:"revision",get:function(){return this.descriptor.revision}},{key:"lastEventId",get:function(){return this.descriptor.last_event_id}},{key:"links",get:function(){return this.descriptor.links}},{key:"dateExpires",get:function(){return this.descriptor.date_expires}},{key:"type",get:function(){return"list"}},{key:"indexName",get:function(){}},{key:"queryString",get:function(){}},{key:"sid",get:function(){return this.descriptor.sid}},{key:"uniqueName",get:function(){return this.descriptor.unique_name||null}},{key:"dateUpdated",get:function(){return this.descriptor.date_updated}},{key:"_addOrUpdateItemOnServer",value:(t=S.default(j.default.mark(function e(t,n,r,i){var s,a;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s={data:n},void 0!==i&&(s.ttl=i),e.next=4,this.services.network.post(t,s,r);case 4:return(a=e.sent).body.data=n,a.body.date_updated=new Date(a.body.date_updated),e.abrupt("return",a.body);case 8:case"end":return e.stop()}},e,this)})),function(e,n,r,i){return t.apply(this,arguments)})},{key:"push",value:(n=S.default(j.default.mark(function e(t,n){var r,i,s;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=(n||{}).ttl,e.next=3,this._addOrUpdateItemOnServer(this.links.items,t,void 0,r);case 3:return s=Number((i=e.sent).index),this._handleItemMutated(s,i.url,i.last_event_id,i.revision,t,i.date_updated,i.date_expires,!0,!1),e.abrupt("return",this.cache.get(s));case 7:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"set",value:(r=S.default(j.default.mark(function e(t,n,r){var i,s=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=r||{},e.abrupt("return",this.updateMergingQueue.squashAndAdd(t,i,function(e){return s._updateItemUnconditionally(t,n,e.ttl)}));case 2:case"end":return e.stop()}},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"_updateItemUnconditionally",value:(i=S.default(j.default.mark(function e(t,n,r){var i,s;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(t);case 2:return i=e.sent,e.next=5,this._addOrUpdateItemOnServer(i.uri,n,void 0,r);case 5:return s=e.sent,this._handleItemMutated(t,s.url,s.last_event_id,s.revision,s.data,s.date_updated,s.date_expires,!1,!1),e.abrupt("return",this.cache.get(t));case 8:case"end":return e.stop()}},e,this)})),function(e,t,n){return i.apply(this,arguments)})},{key:"_updateItemWithIfMatch",value:(s=S.default(j.default.mark(function e(t,n,r){var i,s,a,u;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(t);case 2:if(!(s=n(ee((i=e.sent).data)))){e.next=25;break}return a=i.revision,e.prev=6,e.next=9,this._addOrUpdateItemOnServer(i.uri,s,a,r);case 9:return u=e.sent,this._handleItemMutated(t,u.url,u.last_event_id,u.revision,u.data,u.date_updated,u.date_expires,!1,!1),e.abrupt("return",this.cache.get(t));case 14:if(e.prev=14,e.t0=e.catch(6),412!==e.t0.status){e.next=22;break}return e.next=19,this._getItemFromServer(t);case 19:return e.abrupt("return",this._updateItemWithIfMatch(t,n,r));case 22:throw e.t0;case 23:e.next=26;break;case 25:return e.abrupt("return",i);case 26:case"end":return e.stop()}},e,this,[[6,14]])}
100)),function(e,t,n){return s.apply(this,arguments)})},{key:"mutate",value:(a=S.default(j.default.mark(function e(t,n,r){var i,s=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=r||{},e.abrupt("return",this.updateMergingQueue.add(t,i,function(e){return s._updateItemWithIfMatch(t,n,e.ttl)}));case 2:case"end":return e.stop()}},e,this)})),function(e,t,n){return a.apply(this,arguments)})},{key:"update",value:(u=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mutate(t,function(e){return Object.assign(e,n)},r));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n){return u.apply(this,arguments)})},{key:"remove",value:(o=S.default(j.default.mark(function e(t){var n,r,i;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(t);case 2:return r=ee((n=e.sent).data),e.next=6,this.services.network.delete(n.uri);case 6:i=e.sent,this._handleItemRemoved(t,i.body.last_event_id,r,new Date(i.body.date_updated),!1);case 8:case"end":return e.stop()}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"get",value:(c=S.default(j.default.mark(function e(t){var n;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=this.cache.get(t))){e.next=5;break}return e.abrupt("return",n);case 5:return e.abrupt("return",this._getItemFromServer(t));case 6:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"_getItemFromServer",value:(d=S.default(j.default.mark(function e(t){var n;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.queryItems({index:t});case 2:if(!((n=e.sent).items.length<1)){e.next=7;break}throw new X("No item with index ".concat(t," found"),404,54151);case 7:return e.abrupt("return",n.items[0]);case 8:case"end":return e.stop()}},e,this)})),function(e){return d.apply(this,arguments)})},{key:"queryItems",value:(l=S.default(j.default.mark(function e(t){var n,r,i,s,a=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=t||{},n=new G(this.links.items).queryParam("From",t.from).queryParam("PageSize",t.limit).queryParam("Index",t.index).queryParam("PageToken",t.pageToken).queryParam("Order",t.order).build(),e.next=4,this.services.network.get(n);case 4:return i=(r=e.sent).body.items.map(function(e){return e.date_updated=new Date(e.date_updated),a.cache.get(e.index)?a._handleItemMutated(e.index,e.url,e.last_event_id,e.revision,e.data,e.date_updated,e.date_expires,!1,!0):a.cache.store(Number(e.index),new eI({index:Number(e.index),uri:e.url,revision:e.revision,lastEventId:e.last_event_id,dateUpdated:e.date_updated,dateExpires:e.date_expires,data:e.data}),e.last_event_id),a.cache.get(e.index)}),s=r.body.meta,e.abrupt("return",new eS(i,function(e){return a.queryItems({pageToken:e})},s.previous_token,s.next_token));case 8:case"end":return e.stop()}},e,this)})),function(e){return l.apply(this,arguments)})},{key:"getItems",value:(p=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return et((t=t||{}).pageSize),t.limit=t.pageSize||t.limit||50,t.order=t.order||"asc",e.abrupt("return",this.queryItems(t));case 5:case"end":return e.stop()}},e,this)})),function(e){return p.apply(this,arguments)})},{key:"getContext",value:(f=S.default(j.default.mark(function e(){var t;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.context){e.next=5;break}return e.next=3,this.services.network.get(this.links.context);case 3:t=e.sent,this._updateContextIfRequired(t.body.data,t.body.last_event_id);case 5:return e.abrupt("return",this.context);case 6:case"end":return e.stop()}},e,this)})),function(){return f.apply(this,arguments)})},{key:"setTtl",value:(h=S.default(j.default.mark(function e(t){var n,r;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n={ttl:t},e.next=4,this.services.network.post(this.uri,n);case 4:r=e.sent,this.descriptor.date_expires=r.body.date_expires,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),404===e.t0.status&&this.onRemoved(!1),e.t0;case 12:case"end":return e.stop()}},e,this,[[0,8]])})),function(e){return h.apply(this,arguments)})},{key:"setItemTtl",value:(v=S.default(j.default.mark(function e(t,n){var r,i,s;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(t);case 2:return r=e.sent,i={ttl:n},e.next=6,this.services.network.post(r.uri,i);case 6:s=e.sent,r.updateDateExpires(s.body.date_expires);case 8:case"end":return e.stop()}},e,this)})),function(e,t){return v.apply(this,arguments)})},{key:"removeList",value:(y=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.network.delete(this.uri);case 2:this.onRemoved(!0);case 3:case"end":return e.stop()}},e,this)})),function(){return y.apply(this,arguments)})},{key:"onRemoved",value:function(e){this._unsubscribe(),this.removalHandler(this.type,this.sid,this.uniqueName),this.broadcastEventToListeners("removed",{isLocal:e})}},{key:"shouldIgnoreEvent",value:function(e,t){return this.cache.isKnown(e,t)}},{key:"_update",value:function(e,t){var n=Number(e.item_index);switch(e.date_created=new Date(e.date_created),e.type){case"list_item_added":case"list_item_updated":this._handleItemMutated(n,e.item_url,e.id,e.item_revision,e.item_data,e.date_created,void 0,"list_item_added"===e.type,!0);break;case"list_item_removed":this._handleItemRemoved(n,e.id,e.item_data,e.date_created,!0);break;case"list_context_updated":this._handleContextUpdate(e.context_data,e.id,e.date_created);break;case"list_removed":this.onRemoved(!1)}t&&this._advanceLastEventId(e.id,e.list_revision)}},{key:"_advanceLastEventId",value:function(e,t){this.lastEventId<e&&(this.descriptor.last_event_id=e,t&&(this.descriptor.revision=t))}},{key:"_updateRootDateUpdated",value:function(e){(!this.descriptor.date_updated||e.getTime()>this.descriptor.date_updated.getTime())&&(this.descriptor.date_updated=e,this.services.storage.update(this.t
100ype,this.sid,this.uniqueName,{date_updated:e}))}},{key:"_handleItemMutated",value:function(e,t,n,r,i,s,a,u,o){if(this.shouldIgnoreEvent(e,n)){es.trace("Item ".concat(e," update skipped, current: ").concat(this.lastEventId,", remote: ").concat(n));return}this._updateRootDateUpdated(s);var c=this.cache.get(e);if(!c){var d=new eI({index:e,uri:t,lastEventId:n,revision:r,data:i,dateUpdated:s,dateExpires:a});this.cache.store(e,d,n),this.emitItemMutationEvent(d,o,u);return}var l=ee(c.data);c.update(n,r,i,s),this.cache.store(e,c,n),void 0!==a&&c.updateDateExpires(a),this.emitItemMutationEvent(c,o,!1,l)}},{key:"emitItemMutationEvent",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i={item:e,isLocal:!t};n||(i.previousItemData=r),this.broadcastEventToListeners(n?"itemAdded":"itemUpdated",i)}},{key:"_handleItemRemoved",value:function(e,t,n,r,i){this._updateRootDateUpdated(r),this.cache.delete(e,t),this.broadcastEventToListeners("itemRemoved",{index:e,isLocal:!i,previousItemData:n})}},{key:"_handleContextUpdate",value:function(e,t,n){this._updateRootDateUpdated(n),this._updateContextIfRequired(e,t)&&this.broadcastEventToListeners("contextUpdated",{context:e,isLocal:!1})}},{key:"_updateContextIfRequired",value:function(e,t){return!this.contextEventId||t>this.contextEventId?(this.context=e,this.contextEventId=t,!0):(es.trace("Context update skipped, current:",this.lastEventId,", remote:",t),!1)}}],[{key:"type",get:function(){return"list"}}]),g}(em),eO=function(e){N.default(f,e);var t,n,r,i,s,a,u,o,c,d,l,p=ej(f);function f(e){var t;return E.default(this,f),(t=p.call(this)).syncListImpl=e,t.syncListImpl.attach(T.default(t)),t}return R.default(f,[{key:"uri",get:function(){return this.syncListImpl.uri}},{key:"revision",get:function(){return this.syncListImpl.revision}},{key:"lastEventId",get:function(){return this.syncListImpl.lastEventId}},{key:"links",get:function(){return this.syncListImpl.links}},{key:"dateExpires",get:function(){return this.syncListImpl.dateExpires}},{key:"type",get:function(){return eM.type}},{key:"sid",get:function(){return this.syncListImpl.sid}},{key:"uniqueName",get:function(){return this.syncListImpl.uniqueName}},{key:"dateUpdated",get:function(){return this.syncListImpl.dateUpdated}},{key:"push",value:(t=S.default(j.default.mark(function e(t,n){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.push(t,n));case 2:case"end":return e.stop()}},e,this)})),function(e,n){return t.apply(this,arguments)})},{key:"set",value:(n=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.set(t,n,r));case 2:case"end":return e.stop()}},e,this)})),function(e,t,r){return n.apply(this,arguments)})},{key:"mutate",value:(r=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.mutate(t,n,r));case 2:case"end":return e.stop()}},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"update",value:(i=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.update(t,n,r));case 2:case"end":return e.stop()}},e,this)})),function(e,t,n){return i.apply(this,arguments)})},{key:"remove",value:(s=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.remove(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"get",value:(a=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.get(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"getContext",value:(u=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.getContext());case 2:case"end":return e.stop()}},e,this)})),function(){return u.apply(this,arguments)})},{key:"getItems",value:(o=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.getItems(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"setTtl",value:(c=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.setTtl(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"setItemTtl",value:(d=S.default(j.default.mark(function e(t,n){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.setItemTtl(t,n));case 2:case"end":return e.stop()}},e,this)})),function(e,t){return d.apply(this,arguments)})},{key:"removeList",value:(l=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncListImpl.removeList());case 2:case"end":return e.stop()}},e,this)})),function(){return l.apply(this,arguments)})},{key:"close",value:function(){P.default(L.default(f.prototype),"close",this).call(this),this.syncListImpl.detach(this.listenerUuid)}}],[{key:"type",get:function(){return eM.type}}]),f}(eb);C.default(eO,"itemAdded","itemAdded"),C.default(eO,"itemUpdated","itemUpdated"),C.default(eO,"itemRemoved","itemRemoved"),C.default(eO,"removed","removed"),B([h.validateTypesAsync(h.pureObject,["undefined",h.objectSchema("item metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Object,Object]),Q("design:returntype",Promise)],eO.prototype,"push",null),B([h.validateTypesAsync(h.nonNegativeInteger,h.pureObject,["undefined",h.objectSchema("item metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Number,Object,Object]),Q("design:returntype",Promise)],eO.prototype,"set",null),B([h.validateTypesAsync(h.nonNegativeInteger,"function",["undefined",h.objectSchema("item metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Number,Function,Object]),Q("design:returntype",Promise)],eO.prototype,"mutate",null),B([h.validateTypesAsync(h.nonNegativeInteger,h.pureObject,["undefined",h.objectSchema("item metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Number,Object,Object]),Q("design:returntype",Promise)],eO.prototype,"update",null),B([h.validateTypesAsync(h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number]),Q("design:returntype",Promise)],eO.prototype,"remove",null),B([h.validateTypesAsync(h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number]),Q("design:returntype",Promise)],eO.prototype,"get",null),B([h.validateTypesAsync(["undefined",h.objectSchema("query options",{from:[h.nonNegativeInteger,"undefined"],pageSize:[h.custom(function(e){return[en(e),"a positive integer"]}),"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],eO.prototype,"getItems",null),B([h.validateTypesAsync(h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number]),Q("design:returntype",Promise)],eO.prototype,"setTtl",null),B([h.validateTypesAsync(h.nonNegativeInteger,h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number,Number]),Q("design:returntype",Promise)],eO.prototype,"setItemTtl",null);var eA=function(){function e(t){E.default(this,e),this.descriptor=t}return R.default(e,[{key:"uri",get:function(){return this.descriptor.url}},{key:"revision",get:function(){return this.descriptor.revision}},{key:"lastEventId",get:function(){return this.descriptor.last_event_id}},{key:"dateExpires",get:function(){return this.descriptor.date_expires}},{key:"key",get:function(){return this.descriptor.key}},{key:"data",get:function(){return this.descriptor.data}},{key:"dateUpdated",get:function(){return this.descriptor.date_updated}},{key:"update",value:function(e,t,n,r){return this.descriptor.last_event_id=e,this.descriptor.revision=t,this.descriptor.data=n,this.descriptor.date_updated=r,this}},{key:"updateDateExpires",value:function(e){this.descriptor.date_expires=e}}]),e}();function eF(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=L.default(e);return n=t?Reflect.construct(r,arguments,L.default(this).constructor):r.apply(this,arguments),q.default(this,n)}}var eU=function(e){N.default(y,e);var t,n,r,i,s,a,u,o,c,d,l,p,f,h,v=eF(y);function y(e,t,n){var r;return E.default(this,y),(r=v.call(this,e,n)).updateMergingQueue=new ek(function(e,t){return"number"==typeof t.ttl?{ttl:t.ttl}:e}),r.cache=new eC,r.descriptor=t,r.descriptor.date_updated=new Date(r.descriptor.date_updated),t.items&&t.items.forEac
100h(function(e){e.date_updated=new Date(e.date_updated),r.cache.store(e.key,new eA(e),e.last_event_id)}),r}return R.default(y,[{key:"uri",get:function(){return this.descriptor.url}},{key:"links",get:function(){return this.descriptor.links}},{key:"revision",get:function(){return this.descriptor.revision}},{key:"lastEventId",get:function(){return this.descriptor.last_event_id}},{key:"dateExpires",get:function(){return this.descriptor.date_expires}},{key:"type",get:function(){return"map"}},{key:"indexName",get:function(){}},{key:"queryString",get:function(){}},{key:"sid",get:function(){return this.descriptor.sid}},{key:"uniqueName",get:function(){return this.descriptor.unique_name||null}},{key:"dateUpdated",get:function(){return this.descriptor.date_updated}},{key:"set",value:(t=S.default(j.default.mark(function e(t,n,r){var i,s=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=r||{},e.abrupt("return",this.updateMergingQueue.squashAndAdd(t,i,function(e){return s._putItemUnconditionally(t,n,e.ttl)}));case 2:case"end":return e.stop()}},e,this)})),function(e,n,r){return t.apply(this,arguments)})},{key:"get",value:(n=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t){e.next=2;break}throw new X("SyncMapItem key may not be empty",400,54209);case 2:if(!this.cache.has(t)){e.next=6;break}return e.abrupt("return",this.cache.get(t));case 6:return e.abrupt("return",this._getItemFromServer(t));case 7:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"_getItemFromServer",value:(r=S.default(j.default.mark(function e(t){var n;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.queryItems({key:t});case 2:if(!((n=e.sent).items.length<1)){e.next=7;break}throw new X("The specified Map Item does not exist",404,54201);case 7:return e.abrupt("return",n.items[0]);case 8:case"end":return e.stop()}},e,this)})),function(e){return r.apply(this,arguments)})},{key:"mutate",value:(i=S.default(j.default.mark(function e(t,n,r){var i,s=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=r||{},e.abrupt("return",this.updateMergingQueue.add(t,i,function(e){return s._putItemWithIfMatch(t,n,e.ttl)}));case 2:case"end":return e.stop()}},e,this)})),function(e,t,n){return i.apply(this,arguments)})},{key:"update",value:(s=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mutate(t,function(e){return Object.assign(e,n)},r));case 1:case"end":return e.stop()}},e,this)})),function(e,t,n){return s.apply(this,arguments)})},{key:"_putItemUnconditionally",value:(a=S.default(j.default.mark(function e(t,n,r){var i,s;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._putItemToServer(t,n,void 0,r);case 2:return s=(i=e.sent).item,this._handleItemMutated(s.key,s.url,s.last_event_id,s.revision,s.data,s.date_updated,s.date_expires,i.added,!1),e.abrupt("return",this.cache.get(s.key));case 6:case"end":return e.stop()}},e,this)})),function(e,t,n){return a.apply(this,arguments)})},{key:"_putItemWithIfMatch",value:(u=S.default(j.default.mark(function e(t,n,r){var i,s,a,u,o;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(t).catch(function(e){if(404===e.status)return new eA({key:t,data:{},last_event_id:-1,revision:"-1",url:null,date_updated:null,date_expires:null});throw e});case 2:if(!(s=n(ee((i=e.sent).data)))){e.next=26;break}return a=i.revision,e.prev=6,e.next=9,this._putItemToServer(t,s,a,r);case 9:return o=(u=e.sent).item,this._handleItemMutated(o.key,o.url,o.last_event_id,o.revision,o.data,o.date_updated,o.date_expires,u.added,!1),e.abrupt("return",this.cache.get(o.key));case 15:if(e.prev=15,e.t0=e.catch(6),412!==e.t0.status){e.next=23;break}return e.next=20,this._getItemFromServer(t);case 20:return e.abrupt("return",this._putItemWithIfMatch(t,n,r));case 23:throw e.t0;case 24:e.next=27;break;case 26:return e.abrupt("return",i);case 27:case"end":return e.stop()}},e,this,[[6,15]])})),function(e,t,n){return u.apply(this,arguments)})},{key:"_putItemToServer",value:(o=S.default(j.default.mark(function e(t,n,r,i){var s,a,u,o,c;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s=new G(this.links.items).pathSegment(t).build(),a={data:n},void 0!==i&&(a.ttl=i),e.prev=3,e.next=6,this.services.network.put(s,a,r);case 6:return(o=(u=e.sent).body).data=n,o.date_updated=new Date(o.date_updated),c=201===u.status.code,e.abrupt("return",{added:c,item:o});case 14:throw e.prev=14,e.t0=e.catch(3),404===e.t0.status&&this.onRemoved(!1),e.t0;case 18:case"end":return e.stop()}},e,this,[[3,14]])})),function(e,t,n,r){return o.apply(this,arguments)})},{key:"remove",value:(c=S.default(j.default.mark(function e(t){var n,r,i;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(t);case 2:return r=ee((n=e.sent).data),e.next=6,this.services.network.delete(n.uri);case 6:i=e.sent,this._handleItemRemoved(t,i.body.last_event_id,r,new Date(i.body.date_updated),!1);case 8:case"end":return e.stop()}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"queryItems",value:(d=S.default(j.default.mark(function e(t){var n,r,i,s,a=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t=t||{},n=new G(this.links.items).queryParam("From",t.from).queryParam("PageSize",t.limit).queryParam("Key",t.key).queryParam("PageToken",t.pageToken).queryParam("Order",t.order).build(),e.next=4,this.services.network.get(n);case 4:return i=(r=e.sent).body.items.map(function(e){return e.date_updated=new Date(e.date_updated),a.cache.get(e.key)?a._handleItemMutated(e.key,e.url,e.last_event_id,e.revision,e.data,e.date_updated,e.date_expires,!1,!0):a.cache.store(e.key,new eA(e),e.last_event_id),a.cache.get(e.key)}),s=r.body.meta,e.abrupt("return",new eS(i,function(e){return a.queryItems({pageToken:e})},s.previous_token,s.next_token));case 8:case"end":return e.stop()}},e,this)})),function(e){return d.apply(this,arguments)})},{key:"getItems",value:(l=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return et((t=t||{}).pageSize),t.limit=t.pageSize||t.limit||50,t.order=t.order||"asc",e.abrupt("return",this.queryItems(t));case 5:case"end":return e.stop()}},e,this)})),function(e){return l.apply(this,arguments)})},{key:"shouldIgnoreEvent",value:function(e,t){return this.cache.isKnown(e,t)}},{key:"_update",value:function(e,t){switch(e.date_created=new Date(e.date_created),e.type){case"map_item_added":case"map_item_updated":this._handleItemMutated(e.item_
100key,e.item_url,e.id,e.item_revision,e.item_data,e.date_created,void 0,"map_item_added"===e.type,!0);break;case"map_item_removed":this._handleItemRemoved(e.item_key,e.id,e.item_data,e.date_created,!0);break;case"map_removed":this.onRemoved(!1)}t&&this._advanceLastEventId(e.id,e.map_revision)}},{key:"_advanceLastEventId",value:function(e,t){this.lastEventId<e&&(this.descriptor.last_event_id=e,t&&(this.descriptor.revision=t))}},{key:"_updateRootDateUpdated",value:function(e){(!this.descriptor.date_updated||e.getTime()>this.descriptor.date_updated.getTime())&&(this.descriptor.date_updated=e,this.services.storage.update(this.type,this.sid,this.uniqueName,{date_updated:e}))}},{key:"_handleItemMutated",value:function(e,t,n,r,i,s,a,u,o){if(this.shouldIgnoreEvent(e,n)){es.trace("SyncMapItem ",e," update skipped, current:",this.lastEventId,", remote:",n);return}this._updateRootDateUpdated(s);var c=this.cache.get(e);if(!c){var d=new eA({key:e,url:t,last_event_id:n,revision:r,data:i,date_updated:s,date_expires:a});this.cache.store(e,d,n),this.emitItemMutationEvent(d,o,u);return}var l=ee(c.data);c.update(n,r,i,s),this.cache.store(e,c,n),void 0!==a&&c.updateDateExpires(a),this.emitItemMutationEvent(c,o,!1,l)}},{key:"emitItemMutationEvent",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i={item:e,isLocal:!t};n||(i.previousItemData=r),this.broadcastEventToListeners(n?"itemAdded":"itemUpdated",i)}},{key:"_handleItemRemoved",value:function(e,t,n,r,i){this._updateRootDateUpdated(r),this.cache.delete(e,t),this.broadcastEventToListeners("itemRemoved",{key:e,isLocal:!i,previousItemData:n})}},{key:"onRemoved",value:function(e){this._unsubscribe(),this.removalHandler(this.type,this.sid,this.uniqueName),this.broadcastEventToListeners("removed",{isLocal:e})}},{key:"setTtl",value:(p=S.default(j.default.mark(function e(t){var n,r;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n={ttl:t},e.next=4,this.services.network.post(this.uri,n);case 4:r=e.sent,this.descriptor.date_expires=r.body.date_expires,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),404===e.t0.status&&this.onRemoved(!1),e.t0;case 12:case"end":return e.stop()}},e,this,[[0,8]])})),function(e){return p.apply(this,arguments)})},{key:"setItemTtl",value:(f=S.default(j.default.mark(function e(t,n){var r,i,s;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.get(t);case 2:return r=e.sent,i={ttl:n},e.next=6,this.services.network.post(r.uri,i);case 6:s=e.sent,r.updateDateExpires(s.body.date_expires);case 8:case"end":return e.stop()}},e,this)})),function(e,t){return f.apply(this,arguments)})},{key:"removeMap",value:(h=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.network.delete(this.uri);case 2:this.onRemoved(!0);case 3:case"end":return e.stop()}},e,this)})),function(){return h.apply(this,arguments)})}],[{key:"type",get:function(){return"map"}}]),y}(em),eP=function(e){N.default(l,e);var t,n,r,i,s,a,u,o,c,d=eF(l);function l(e){var t;return E.default(this,l),(t=d.call(this)).syncMapImpl=e,t.syncMapImpl.attach(T.default(t)),t}return R.default(l,[{key:"uri",get:function(){return this.syncMapImpl.uri}},{key:"links",get:function(){return this.syncMapImpl.links}},{key:"revision",get:function(){return this.syncMapImpl.revision}},{key:"lastEventId",get:function(){return this.syncMapImpl.lastEventId}},{key:"dateExpires",get:function(){return this.syncMapImpl.dateExpires}},{key:"type",get:function(){return eU.type}},{key:"sid",get:function(){return this.syncMapImpl.sid}},{key:"uniqueName",get:function(){return this.syncMapImpl.uniqueName}},{key:"dateUpdated",get:function(){return this.syncMapImpl.dateUpdated}},{key:"set",value:(t=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.set(t,n,r));case 2:case"end":return e.stop()}},e,this)})),function(e,n,r){return t.apply(this,arguments)})},{key:"get",value:(n=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.get(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"mutate",value:(r=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.mutate(t,n,r));case 2:case"end":return e.stop()}},e,this)})),function(e,t,n){return r.apply(this,arguments)})},{key:"update",value:(i=S.default(j.default.mark(function e(t,n,r){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.update(t,n,r));case 2:case"end":return e.stop()}},e,this)})),function(e,t,n){return i.apply(this,arguments)})},{key:"remove",value:(s=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.remove(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"getItems",value:(a=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.getItems(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"setTtl",value:(u=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.setTtl(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"setItemTtl",value:(o=S.default(j.default.mark(function e(t,n){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncMapImpl.setItemTtl(t,n));case 2:case"end":return e.stop()}},e,this)})),function(e,t){return o.apply(this,arguments)})},{key:"removeMap",value:(c=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.next=3,this.syncMapImpl.removeMap();case 3:case"end":return e.stop()}},e,this)})),function(){return c.apply(this,arguments)})},{key:"close",value:function(){P.default(L.default(l.prototype),"close",this).call(this),this.syncMapImpl.detach(this.listenerUuid)}}],[{key:"type",get:function(){return eU.type}}]),l}(eb);function eD(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=L.default(e);return n=t?Reflect.construct(r,arguments,L.default(this).constructor):r.apply(this,arguments),q.default(this,n)}}C.default(eP,"itemAdded","itemAdded"),C.default(eP,"itemUpdated","itemUpdated"),C.default(eP,"itemRemoved","itemRemoved"),C.default(eP,"removed","removed"),B([h.validateTypesAsync("string",h.pureObject,["undefined",h.objectSchema("item metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[String,Object,Object]),Q("design:returntype",Promise)],eP.prototype,"set",null),B([h.validateTypesAsync("string"),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",Promise)],eP.prototype,"get",null),B([h.validateTypesAsync("string","function",["undefined",h.objectSchema("item metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[String,Function,Object]),Q("design:returntype",Promise)],eP.prototype,"mutate",null),B([h.validateTypesAsync("string",h.pureObject,["undefined",h.objectSchema("item metadata",{ttl:[h.nonNegativeInteger,"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[String,Object,Object]),Q("design:returntype",Promise)],eP.prototype,"update",null),B([h.validateTypesAsync("string"),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",Promise)],eP.prototype,"remove",null),B([h.validateTypesAsync(["undefined",h.objectSchema("query options",{from:["string","undefined"],pageSize:[h.custom(function(e){return[en(e),"a positive integer"]}),"undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],eP.prototype,"getItems",null),B([h.validateTypesAsync(h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number]),Q("design:returntype",Promise)],eP.prototype,"setTtl",null),B([h.validateTypesAsync("string",h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[String,Number]),Q("design:returntype",Promise)],eP.prototype,"setItemTtl",null);var eB=function(e){N.default(s,e);var t,n,r,i=eD(s);function s(e,t,n){var r;return E.default(this,s),(r=i.call(this,e,n)).descriptor=t,r}return R.default(s,[{key:"uri",get:function(){return this.descriptor.url}},{key:"links",get:function(){return this.descriptor.links}},{key:"dateExpires",get:function(){return this.descriptor.date_expires}},{key:"type",get:function(){return"stream"}},{key:"lastEventId",get:function(){return null}},{key:"indexName",get:function(){}},{key:"queryString",get:function(){}},{key:"sid",get:function(){return this.descriptor.sid}},{key:"uniqueName",get:function(){return this.descriptor.unique_name||null}},{key:"publishMessage",value:(t=S.default(j.default.mark(function e(t){var n,r,i;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n={data:t},e.next=3,this.services.network.post(this.links.messages,n);case 3:return r=e.sent.body,i=this._handleMessagePublished(r.sid,t,!1),e.abrupt("return",i);case 7:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"setTtl",value:(n=S.default(j.default.mark(function e(t){var n,r;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n={ttl:t},e.next=4,this.services.network.post(this.uri,n);case 4:r=e.sent,this.descriptor.date_expires=r.body.date_expires,e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(0),404===e.t0.status&&this.onRemoved(!1),e.t0;case 12:case"end":return e.stop()}},e,this,[[0,8]])})),function(e){return n.apply(this,arguments)})},{key:"removeStream",value:(r=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.network.delete(this.uri);case 2:this.onRemoved(!0);case 3:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})},{key:"_update",value:function(e){switch(e.type){case"stream_message_published":this._handleMessagePublished(e.message_sid,e.message_data,!0);break;case"stream_removed":this.onRemoved(!1)}}},{key:"_handleMessagePublished",value:function(e,t,n){var r={sid:e,data:t};return this.broadcastEventToListeners("messagePublished",{message:r,isLocal:!n}),r}},{key:"onRemoved",value:function(e){this._unsubscribe(),this.removalHandler(this.type,this.sid,this.uniqueName),this.broadcastEventToListeners("removed",{isLocal:e})}}],[{key:"type",get:function(){return"stream"}}]),s}(em);B([h.validateTypesAsync(h.pureObject),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],eB.prototype,"publishMessage",null),B([h.validateTypesAsync(h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number]),Q("design:returntype",Promise)],eB.prototype,"setTtl",null);var eQ=function(e){N.default(s,e);var t,n,r,i=eD(s);function s(e){var t;return E.default(this,s),(t=i.call(this)).syncStreamImpl=e,t.syncStreamImpl.attach(T.default(t)),t}return R.default(s,[{key:"uri",get:function(){return this.syncStreamImpl.ur
100i}},{key:"links",get:function(){return this.syncStreamImpl.links}},{key:"dateExpires",get:function(){return this.syncStreamImpl.dateExpires}},{key:"type",get:function(){return eB.type}},{key:"lastEventId",get:function(){return null}},{key:"sid",get:function(){return this.syncStreamImpl.sid}},{key:"uniqueName",get:function(){return this.syncStreamImpl.uniqueName}},{key:"publishMessage",value:(t=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncStreamImpl.publishMessage(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"setTtl",value:(n=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncStreamImpl.setTtl(t));case 2:case"end":return e.stop()}},e,this)})),function(e){return n.apply(this,arguments)})},{key:"removeStream",value:(r=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.ensureNotClosed(),e.abrupt("return",this.syncStreamImpl.removeStream());case 2:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})},{key:"close",value:function(){P.default(L.default(s.prototype),"close",this).call(this),this.syncStreamImpl.detach(this.listenerUuid)}}],[{key:"type",get:function(){return eB.type}}]),s}(eb);C.default(eQ,"messagePublished","messagePublished"),C.default(eQ,"removed","removed"),B([h.validateTypesAsync(h.pureObject),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],eQ.prototype,"publishMessage",null),B([h.validateTypesAsync(h.nonNegativeInteger),Q("design:type",Function),Q("design:paramtypes",[Number]),Q("design:returntype",Promise)],eQ.prototype,"setTtl",null);var eW=function e(t){E.default(this,e),this.sdk="js",this.sdkVer=t,this.os=D.os.family,this.osVer=D.os.version,this.pl=D.name,this.plVer=D.version},ez=function(){function e(){E.default(this,e),this.names=new Map,this.entities=new Map}return R.default(e,[{key:"store",value:function(e){return this.entities.get(e.sid)||(this.entities.set(e.sid,e),e.uniqueName&&this.names.set(e.type+"::"+e.uniqueName,e.sid),e)}},{key:"getResolved",value:function(e,t){var n=this.names.get(t+"::"+e);return n?this.entities.get(n):null}},{key:"get",value:function(e,t){return this.entities.get(e)||this.getResolved(e,t)||null}},{key:"remove",value:function(e){var t=this.entities.get(e);t&&(this.entities.delete(e),t.uniqueName&&this.names.delete(t.type+"::"+t.uniqueName))}}]),e}();function eK(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,r=L.default(e);return n=t?Reflect.construct(r,arguments,L.default(this).constructor):r.apply(this,arguments),q.default(this,n)}}var eH=function(e){N.default(n,e);var t=eK(n);function n(e,r,i,s){var a;return E.default(this,n),(a=t.call(this,r,i)).descriptor=e,a.cache=new eC,s&&s.forEach(function(e){a.cache.store(e.key,{key:e.key,value:e.data},e.revision)}),a}return R.default(n,[{key:"sid",get:function(){return this.descriptor.sid}},{key:"uniqueName",get:function(){return null}},{key:"type",get:function(){return n.type}},{key:"lastEventId",get:function(){return this.descriptor.last_event_id}},{key:"indexName",get:function(){return this.descriptor.indexName}},{key:"queryString",get:function(){return this.descriptor.queryExpression}},{key:"queryUri",get:function(){return this.descriptor.queryUri}},{key:"liveQueryDescriptor",get:function(){return this.descriptor}},{key:"onRemoved",value:function(){}},{key:"getItems",value:function(){var e={};return this.cache.forEach(function(t,n){e[t]=n.value}),e}},{key:"_update",value:function(e,t){switch(e.type){case"live_query_item_updated":this.handleItemMutated(e.item_key,e.item_data,e.item_revision);break;
100case"live_query_item_removed":this.handleItemRemoved(e.item_key,e.item_revision);break;case"live_query_updated":this.handleBatchUpdate(e.items)}t&&this._advanceLastEventId(e.last_event_id)}},{key:"handleItemMutated",value:function(e,t,n){if(this.shouldIgnoreEvent(e,n))es.trace("Item ".concat(e," update skipped, revision: ").concat(n));else{var r={key:e,value:t};this.cache.store(e,r,n),this.broadcastEventToListeners("itemUpdated",r)}}},{key:"handleItemRemoved",value:function(e,t){this.shouldIgnoreEvent(e,t)?es.trace("Item ".concat(e," delete skipped, revision: ").concat(t)):(this.cache.delete(e,t,null===t),this.broadcastEventToListeners("itemRemoved",{key:e}))}},{key:"handleBatchUpdate",value:function(e){var t=this,n={};for(var r in null!=e&&e.forEach(function(e){n[e.key]={data:e.data,revision:e.revision}}),this.cache.forEach(function(e,r){var i=n[e];null!=i?t.handleItemMutated(e,i.data,i.revision):t.handleItemRemoved(e,null),delete n[e]}),n)this.handleItemMutated(r,n[r].data,n[r].revision)}},{key:"shouldIgnoreEvent",value:function(e,t){return null!=e&&null!=t&&this.cache.isKnown(e,t)}},{key:"_advanceLastEventId",value:function(e,t){this.lastEventId<e&&(this.descriptor.last_event_id=e)}}],[{key:"type",get:function(){return"live_query"}}]),n}(em);function eV(e){return eJ.apply(this,arguments)}function eJ(){return(eJ=S.default(j.default.mark(function e(t){var n,r,i,s,a,u;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.network,r=t.queryString,i=t.uri,s=t.type,null!=r){e.next=3;break}throw new X("Invalid query",400,54507);case 3:return a={query_string:r},s===e$.type&&(a.type=s),e.next=7,n.post(i,a,void 0,!0);case 7:return u=e.sent,e.abrupt("return",u.body);case 9:case"end":return e.stop()}},e)}))).apply(this,arguments)}var e$=function(e){N.default(n,e);var t=eK(n);function n(e){var r;return E.default(this,n),(r=t.call(this)).liveQueryImpl=e,r.liveQueryImpl.attach(T.default(r)),r}return R.default(n,[{key:"type",get:function(){return eH.type}},{key:"lastEventId",get:function(){return this.liveQueryImpl.lastEventId}},{key:"sid",get:function(){return this.liveQueryImpl.sid}},{key:"close",value:function(){P.default(L.default(n.prototype),"close",this).call(this),this.liveQueryImpl.detach(this.listenerUuid)}},{key:"getItems",value:function(){return this.ensureNotClosed(),this.liveQueryImpl.getItems()}}],[{key:"type",get:function(){return eH.type}}]),n}(eb);C.default(e$,"itemUpdated","itemUpdated"),C.default(e$,"itemRemoved","itemRemoved");var eG=function(e){N.default(i,e);var t,n,r=eK(i);function i(e){var t;return E.default(this,i),t=r.call(this),C.default(T.default(t),"queryExpression",null),C.default(T.default(t),"items",{}),Object.assign(T.default(t),e),t.updateIndexName(e.indexName),t}return R.default(i,[{key:"type",get:function(){return i.type}},{key:"search",value:(t=S.default(j.default.mark(function e(t){var n=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.items={},e.abrupt("return",eV({network:this.network,uri:this.queryUri,queryString:t}).then(function(e){n.queryExpression=t,e.items&&e.items.forEach(function(e){n.items[e.key]=e.data}),n.emit("searchResult",n.getItems())}).catch(function(e){throw es.error("Error '".concat(e.message,"' while executing query '").concat(t,"'")),n.queryExpression=null,e}));case 2:case"end":return e.stop()}},e,this)})),function(e){return t.apply(this,arguments)})},{key:"subscribe",value:(n=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=this.queryExpression){e.next=2;break}return e.abrupt("return",Promise.reject(new X("Invalid query",400,54507)));case 2:return e.abrupt("return",this.liveQueryCreator(this.indexName,this.queryExpression));case 3:case"end":return e.stop()}},e,this)})),function(){return n.apply(this,arguments)})},{key:"getItems",value:function(){return this.items}},{key:"updateIndexName",value:function(e){this.indexName=e,this.queryUri=this.generateQueryUri(this.indexName)}},{key:"generateQueryUri",value:function(e){return new G(this.insightsUri).pathSegment(e).pathSegment("Items").build()}}],[{key:"type",get:function(){return"instant_query"}}]),i}(z);function eZ(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 eX(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
100t%2?eZ(Object(n),!0).forEach(function(t){C.default(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eZ(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}C.default(eG,"searchResult","searchResult"),B([h.validateTypesAsync("string"),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",Promise)],eG.prototype,"search",null),B([h.validateTypes(h.nonEmptyString),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",void 0)],eG.prototype,"updateIndexName",null);var eY="3.1.0";function e0(e){if(!e)return{mode:"create_new"};if("string"==typeof e)return{id:e,mode:"open_or_create"};var t=e.mode||(e.id?"open_or_create":"create_new");return eX(eX({},e),{},{mode:t})}var e1="com.twilio.rtd.cds.document",e2="com.twilio.rtd.cds.list",e4="com.twilio.rtd.cds.map",e3="twilio.sync.event",e6=function(e){N.default(k,e);var t,n,r,i,s,a,u,o,c,d,l,p,f,h,y,m,g=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=L.default(k);return e=t?Reflect.construct(n,arguments,L.default(this).constructor):n.apply(this,arguments),q.default(this,e)});function k(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(E.default(this,k),t=g.call(this),!e)throw Error("Sync library needs a valid Twilio token to be passed");n.hasOwnProperty("logLevel")?es.setLevel(n.logLevel):es.setLevel("silent");var r=n.productId=n.productId||"data_sync";n.clientMetadata=n.clientMetadata||{},n.clientMetadata.hasOwnProperty("type")||(n.clientMetadata.type="sync"),n.clientMetadata.hasOwnProperty("sdk")||(n.clientMetadata.sdk="JS",n.clientMetadata.sdkv=eY);var i=!n.twilsockClient;if(!n.initRegistrations){var s=new v.InitRegistration(r);k.populateInitRegistrations(s),n.initRegistrations=[s]}var a=n.twilsockClient=n.twilsockClient||new v.Twilsock(e,r,n);a.on("tokenAboutToExpire",function(e){return t.emit("tokenAboutToExpire",e)}),a.on("tokenExpired",function(){return t.emit("tokenExpired")}),a.on("connectionError",function(e){return t.emit("connectionError",e)}),a.on("stateChanged",function(e){t.emit("connectionStateChanged",e),t.services.subscriptions.onConnectionStateChanged("connected"===e)}),a.on("message",function(e,n){return t._routeMessage(e,n)});var u=new ea(n),o=new eh(new eW(eY),u,a),c=new ev(u);return t.services={config:u,twilsock:a,network:o,storage:c,router:T.default(t),subscriptions:null},t.services.subscriptions=new ed(t.services),t.entities=new ez,i&&a.connect(),t}return R.default(k,[{key:"_routeMessage",value:function(e,t){switch(es.trace("Notification type:",e,"content:",t),e){case e1:case e2:case e4:this.services.subscriptions.acceptMessage(t,!1);break;case e3:this.services.subscriptions.acceptMessage(t,!0)}}},{key:"_subscribe",value:function(e,t){this.services.subscriptions.add(e,t)}},{key:"_unsubscribe",value:function(e){this.services.subscriptions.remove(e)}},{key:"connectionState",get:function(){return this.services.twilsock.state}},{key:"ensureReady",value:(n=S.default(j.default.mark(function e(){var t;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.services.config.sessionStorageEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,e.next=5,this.services.twilsock.storageId();case 5:t=e.sent,this.services.storage.updateStorageId(t.id),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(2),es.warn("Failed to initialize storage",e.t0);case 12:case"end":return e.stop()}},e,this,[[2,9]])})),function(){return n.apply(this,arguments)})},{key:"storeRootInSessionCache",value:function(e,t,n){if(this.services.config.sessionStorageEnabled&&t){var r=ee(n);(e===eO.type||e===eP.type)&&(r.last_event_id=null,delete r.items),this.services.storage.store(e,t,r)}}},{key:"readRootFromSessionCache",value:function(e,t){return this.services.config.sessionStorageEnabled&&t?this.services.storage.read(e,t):null}},{key:"_get",value:(r=S.default(j.default.mark(function e(t,n){var r,i,s,a=arguments;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.length>
1002&&void 0!==a[2]&&a[2],n){e.next=3;break}throw new X("Cannot get entity without id",404);case 3:return i=new G(t).pathSegment(n).queryParam("Include",r?"items":void 0).build(),e.next=6,this.services.network.get(i);case 6:return s=e.sent,e.abrupt("return",s.body);case 8:case"end":return e.stop()}},e,this)})),function(e,t){return r.apply(this,arguments)})},{key:"_createDocument",value:function(e,t,n){var r={unique_name:e,data:t||{}};return void 0!==n&&(r.ttl=n),this.services.network.post(this.services.config.documentsUri,r).then(function(e){return e.body.data=r.data,e.body})}},{key:"_getDocument",value:(i=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.readRootFromSessionCache(ex.type,t)||this._get(this.services.config.documentsUri,t));case 1:case"end":return e.stop()}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"_createList",value:function(e,t,n,r){var i={unique_name:e,purpose:t,context:n};return void 0!==r&&(i.ttl=r),this.services.network.post(this.services.config.listsUri,i).then(function(e){return e.body})}},{key:"_getList",value:(s=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.readRootFromSessionCache(eO.type,t)||this._get(this.services.config.listsUri,t));case 1:case"end":return e.stop()}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"_createMap",value:function(e,t){var n={unique_name:e};return void 0!==t&&(n.ttl=t),this.services.network.post(this.services.config.mapsUri,n).then(function(e){return e.body})}},{key:"_getMap",value:(a=S.default(j.default.mark(function e(t){var n,r=arguments;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.length>1&&void 0!==r[1]&&r[1],e.abrupt("return",this.readRootFromSessionCache(eP.type,t)||this._get(this.services.config.mapsUri,t,n));case 2:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"_getStream",value:(u=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.readRootFromSessionCache(eQ.type,t)||this._get(this.services.config.streamsUri,t,!1));case 1:case"end":return e.stop()}},e,this)})),function(e){return u.apply(this,arguments)})},{key:"_createStream",value:(o=S.default(j.default.mark(function e(t,n){var r,i;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r={unique_name:t},void 0!==n&&(r.ttl=n),e.next=4,this.services.network.post(this.services.config.streamsUri,r);case 4:return i=e.sent,e.abrupt("return",i.body);case 6:case"end":return e.stop()}},e,this)})),function(e,t){return o.apply(this,arguments)})},{key:"_getLiveQuery",value:function(e){return this.readRootFromSessionCache(e$.type,e)}},{key:"getCached",value:function(e,t){return e&&this.entities.get(e,t)||null}},{key:"removeFromCacheAndSession",value:function(e,t,n){this.entities.remove(t),this.services.config.sessionStorageEnabled&&this.services.storage.remove(e,t,n)}},{key:"document",value:(c=S.default(j.default.mark(function e(t){var n,r,i,s,a=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ensureReady();case 2:if("create_new"!==(n=e0(t)).mode){e.next=9;break}return e.next=6,this._createDocument(n.id,n.data,n.ttl);case 6:case 17:case 29:r=e.sent,e.next=39;break;case 9:if(!(i=this.getCached(n.id,ex.type))){e.next=14;break}return e.abrupt("return",new ex(i));case 14:return e.prev=14,e.next=17,this._getDocument(n.id);case 20:if(e.prev=20,e.t0=e.catch(14),!(404!==e.t0.status||"open_existing"===n.mode)){e.next=26;break}throw e.t0;case 26:return e.prev=26,e.next=29,this._createDocument(n.id,n.data,n.ttl);case 32:if(e.prev=32,e.t1=e.catch(26),409!==e.t1.status){e.next=38;break}return e.abrupt("return",this.document(t));case 38:throw e.t1;case 39:return this.storeRootInSessionCache(ex.type,n.id,r),s=new ew(this.services,r,function(e,t,n){return a.removeFromCacheAndSession(e,t,n)}),s=this.entities.store(s),e.abrupt("return",new ex(s));case 43:case"end":return e.stop()}},e,this,[[14,20],[26,32]])})),function(e){return c.apply(this,arguments)})},{key:"map",value:(d=S.default(j.default.mark(function e(t){var n,r,i,s,a=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ensureReady();case 2:if("create_new"!==(n=e0(t)).mode){e.next=9;break}return e.next=6,this._createMap(n.id,n.ttl);case 6:case 17:case 29:r=e.sent,e.next=39;break;case 9:if(!(i=this.getCached(n.id,eP.type))){e.next=14;break}return e.abrupt("return",new eP(i));case 14:return e.prev=14,e.next=17,this._getMap(n.id,n.includeItems);case 20:if(e.prev=20,e.t0=e.catch(14),!(404!==e.t0.status||"open_existing"===n.mode)){e.next=26;break}throw e.t0;case 26:return e.prev=26,e.next=29,this._createMap(n.id,n.ttl);case 32:if(e.prev=32,e.t1=e.catch(26),409!==e.t1.status){e.next=38;break}return e.abrupt("return",this.map(t));case 38:throw e.t1;case 39:return this.storeRootInSessionCache(eP.type,n.id,r),s=new eU(this.services,r,function(e,t,n){return a.removeFromCacheAndSession(e,t,n)}),s=this.entities.store(s),e.abrupt("return",new eP(s));case 43:case"end":return e.stop()}},e,this,[[14,20],[26,32]])})),function(e){return d.apply(this,arguments)})},{key:"list",value:(l=S.default(j.default.mark(function e(t){var n,r,i,s,a=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ensureReady();case 2:if("create_new"!==(n=e0(t)).mode){e.next=9;break}return e.next=6,this._createList(n.id,n.purpose,n.context,n.ttl);case 6:case 17:case 29:r=e.sent,e.next=39;break;case 9:if(!(i=this.getCached(n.id,eO.type))){e.next=14;break}return e.abrupt("return",new eO(i));case 14:return e.prev=14,e.next=17,this._getList(n.id);case 20:if(e.prev=20,e.t0=e.catch(14),!(404!==e.t0.status||"open_existing"===n.mode)){e.next=26;break}throw e.t0;case 26:return e.prev=26,e.next=29,this._createList(n.id,n.purpose,n.context,n.ttl);case 32:if(e.prev=32,e.t1=e.catch(26),409!==e.t1.status){e.next=38;break}return e.abrupt("return",this.list(t));case 38:throw e.t1;case 39:return this.storeRootInSessionCache(eO.type,n.id,r),s=new eM(this.services,r,function(e,t,n){return a.removeFromCacheAndSession(e,t,n)}),s=this.entities.store(s),e.abrupt("return",new eO(s));case 43:case"end":return e.stop()}},e,this,[[14,20],[26,32]])})),function(e){return l.apply(this,arguments)})},{key:"stream",value:(p=S.default(j.default.mark(function e(t){var n,r,i,s,a,u=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ensureReady();case 2:if("create_new"!==(n=e0(t)).mode){e.next=9;break}return e.next=6,this._createStream(n.id,n.ttl);case 6:case 17:case 29:r=e.sent,e.next=39;break;case 9:if(!(i=this.getCached(n.id,eQ.type))){e.next=14;break}return e.abrupt("return",new eQ(i));case 14:return e.prev=14,e.next=17,this._getStream(n.id);case 20:if(e.prev=20,e.t0=e.catch(14),!(404!==e.t0.status||"open_existing"===n.mode)){e.next=26;break}throw e.t0;case 26:return e.prev=26,e.next=29,this._createStream(n.id,n.ttl);case 32:if(e.prev=32,e.t1=e.catch(26),409!==e.t1.status){e.next=38;break}return e.abrupt("return",this.stream(t));case 38:throw e.t1;case 39:return this.storeRootInSessionCache(eQ.type,n.id,r),s=function(e,t,n){return u.removeFromCacheAndSession(e,t,n)},a=new eB(this.services,r,s),a=this.entities.store(a),e.abrupt("return",new eQ(a));case 44:case"end":return e.stop()}},e,this,[[14,20],[26,32]])})),function(e){return p.apply(this,arguments)})},{key:"shutdown",value:(f=S.default(j.default.mark(function e(){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.services.subscriptions.shutdown();case 2:return e.next=4,this.services.twilsock.disconnect();case 4:case"end":return e.stop()}},e,this)})),function(){return f.apply(this,arguments)})},{key:"updateToken",value:(h=S.default(j.default.mark(function e(t){return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.services.twilsock.updateToken(t).cat
100ch(function(e){var t,n=null==e?void 0:null===(t=e.reply)||void 0===t?void 0:t.status;if((null==n?void 0:n.code)===401&&(null==n?void 0:n.status)==="UNAUTHORIZED")throw new X("Updated token was rejected by server",400,51130);throw e}));case 1:case"end":return e.stop()}},e,this)})),function(e){return h.apply(this,arguments)})},{key:"liveQuery",value:(y=S.default(j.default.mark(function e(t,n){var r,i,s,a,u,o=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ensureReady();case 2:return r=new G(this.services.config.insightsUri).pathSegment(t).pathSegment("Items").build(),e.next=5,eV({network:this.services.network,uri:r,queryString:n,type:e$.type});case 5:return i=e.sent,(s=this.getCached(i.query_id,e$.type))||((a=this._getLiveQuery(i.query_id))||(a={indexName:t,queryExpression:n,sid:i.query_id,queryUri:r,last_event_id:i.last_event_id}),u=function(e,t,n){return o.removeFromCacheAndSession(e,t,n)},s=new eH(a,this.services,u,i.items)),this.storeRootInSessionCache(e$.type,i.query_id,s.liveQueryDescriptor),s=this.entities.store(s),e.abrupt("return",new e$(s));case 11:case"end":return e.stop()}},e,this)})),function(e,t){return y.apply(this,arguments)})},{key:"instantQuery",value:(m=S.default(j.default.mark(function e(t){var n,r=this;return j.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.ensureReady();case 2:return n=function(e,t){return r.liveQuery(e,t)},e.abrupt("return",new eG({indexName:t,network:this.services.network,insightsUri:this.services.config.insightsUri,liveQueryCreator:n}));case 4:case"end":return e.stop()}},e,this)})),function(e){return m.apply(this,arguments)})}],[{key:"populateInitRegistrations",value:function(e){e.populateInitRegistrations([e3,e1,e2,e4])}},{key:"version",get:function(){return eY}}]),k}(z);C.default(e6,"connectionStateChanged","connectionStateChanged"),C.default(e6,"connectionError","connectionError"),C.default(e6,"tokenAboutToExpire","tokenAboutToExpire"),C.default(e6,"tokenExpired","tokenExpired"),B([h.validateTypesAsync(["undefined","string",h.objectSchema("open document options",{id:["string","undefined"],mode:[h.literal("open_or_create","open_existing","create_new"),"undefined"],ttl:[h.nonNegativeInteger,"undefined"],data:[h.pureObject,"undefined",h.literal(null)]})]),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],e6.prototype,"document",null),B([h.validateTypesAsync(["undefined","string",h.objectSchema("open map options",{id:["string","undefined"],mode:[h.literal("open_or_create","open_existing","create_new"),"undefined"],ttl:[h.nonNegativeInteger,"undefined"],data:[h.pureObject,"undefined",h.literal(null)],includeItems:["boolean","undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],e6.prototype,"map",null),B([h.validateTypesAsync(["undefined","string",h.objectSchema("open list options",{id:["string","undefined"],mode:[h.literal("open_or_create","open_existing","create_new"),"undefined"],ttl:[h.nonNegativeInteger,"undefined"],data:[h.pureObject,"undefined",h.literal(null)],purpose:["string","undefined"],context:[h.pureObject,"undefined"],includeItems:["boolean","undefined"]})]),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],e6.prototype,"list",null),B([h.validateTypesAsync(["undefined","string",h.objectSchema("open stream options",{id:["string","undefined"],mode:[h.literal("open_or_create","open_existing","create_new"),"undefined"],ttl:[h.nonNegativeInteger,"undefined"],data:[h.pureObject,"undefined",h.literal(null)]})]),Q("design:type",Function),Q("design:paramtypes",[Object]),Q("design:returntype",Promise)],e6.prototype,"stream",null),B([h.validateTypesAsync(h.nonEmptyString),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",Promise)],e6.prototype,"updateToken",null),B([h.validateTypesAsync(h.nonEmptyString,"string"),Q("design:type",Function),Q("design:paramtypes",[String,String]),Q("design:returntype",Promise)],e6.prototype,"liveQuery",null),B([h.validateTypesAsync(h.nonEmptyString),Q("design:type",Function),Q("design:paramtypes",[String]),Q("design:returntype",Promise)],e6.prototype,"instantQuery",null),t.Client=e6,t.InsightsItem=function e(){E.default(this,e)},t.InstantQuery=eG,t.LiveQuery=e$,t.Paginator=eS,t.SyncClient=e6,t.SyncDocument=ex,t.SyncList=eO,t.SyncListItem=eI,t.SyncMap=eP,t.SyncMapItem=eA,t.SyncStream=eQ}}]); 101//# sourceMappingURL=47e070a9-92190ec29b792e72.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.