value:regeneratorRuntime.mark(functione(t,r){varn;returnregeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case0:if(null!=t.gc||!0!==t.deleted||!this.store.gc||!this.store.y.connector.isSynced){e.next=15;break}if(n=!1,null==r||!0!==r.deleted){e.next=6;break}n=!0,e.next=10;break;case6:if(!(null!=t.content&&t.content.length>1)){e.next=10;break}returne.delegateYield(this.getInsertionCleanStart([t.id[0],t.id[1]+1]),"t0",8);case8:t=e.t0,n=!0;case10:if(!n){e.next=15;break}returnt.gc=!0,e.delegateYield(this.setOperation(t),"t1",13);case13:returnthis.store.queueGarbageCollector(t.id),e.abrupt("return",!0);case15:returne.abrupt("return",!1);case16:case"end":returne.stop()}},e,this)})},{key:"removeFromGarbageCollector",value:function(t){functionr(r){return!e.utils.compareIds(r,t.id)}this.gc1=this.gc1.filter(r),this.gc2=this.gc2.filter(r),deletet.gc}},{key:"destroyTypes",value:function(){for(vareinthis.initializedTypes){vart=this.initializedTypes[e];null!=t._destroy?t._destroy():console.error("The type you included does not provide destroy functionality, it will remain in memory (updating your packages will help).")}}},{key:"destroy",value:regeneratorRuntime.mark(functione(){returnregeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case0:clearInterval(this.gcInterval),this.gcInterval=null,this.stopRepairCheck();case3:case"end":returne.stop()}},e,this)})},{key:"setUserId",value:function(e){if(!this.userIdPromise.inProgress){this.userIdPromise.inProgress=!0;vart=this;t.requestTransaction(regeneratorRuntime.mark(functionr(){varn;returnregeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case0:returnt.userId=e,r.delegateYield(this.getState(e),"t0",2);case2:n=r.t0,t.opClock=n.clock,t.userIdPromise.resolve(e);case5:case"end":returnr.stop()}},r,this)}))}returnthis.userIdPromise}},{key:"whenUserIdSet",value:function(e){this.userIdPromise.then(e)}},{key:"getNextOpId",value:function(e){if(null==e)thrownewError("getNextOpId expects the number of created ids to create!");if(null==this.userId)thrownewError("OperationStore not yet initialized!");vart=[this.userId,this.opClock];returnthis.opClock+=e,t}},{key:"apply",value:function(t){this.opsReceivedTimestamp=newDate;for(varr=0;r<t.length;r++){varn=t[r];if(null==n.id||n.id[0]!==this.y.connector.userId){vari=e.Struct[n.struct].requiredOps(n);null!=n.requires&&(i=i.concat(n.requires)),this.whenOperationsExist(i,n)}}}},{key:"whenOperationsExist",value:function(e,t){if(e.length>0)for(varr={op:t,missing:e.length},n=0;n<e.length;n++){vari=e[n],a=JSON.stringify(i),s=this.listenersById[a];null==s&&(s=[],this.listenersById[a]=s),s.push(r)}elsethis.listenersByIdExecuteNow.push({op:t});if(!this.listenersByIdRequestPending){this.listenersByIdRequestPending=!0;varo=this;this.requestTransaction(regeneratorRuntime.mark(functione(){vart,r,n,i,a,s,u,c,l,d,f;returnregeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case0:t=o.listenersByIdExecuteNow,o.listenersByIdExecuteNow=[],r=o.listenersById,o.listenersById={},o.listenersByIdRequestPending=!1,n=0;case6:if(!(n<t.length)){e.next=12;break}returni=t[n].op,e.delegateYield(o.tryExecute.call(this,i),"t0",9);case9:n++,e.next=6;break;case12:e.t1=regeneratorRuntime.keys(r);case13:if((e.t2=e.t1()).done){e.next=39;break}if(a=e.t2.value,s=r[a],u=JSON.parse(a),"string"!=typeofu[1]){e.next=22;break}returne.delegateYield(this.getOperation(u),"t3",19);case19:c=e.t3,e.next=24;break;case22:returne.delegateYield(this.getInsertion(u),"t4",23);case23:c=e.t4;case24:if(null!=c){e.next=28;break}o.listenersById[a]=s,e.next=37;break;case28:l=0;case29:if(!(l<s.length)){e.next=37;break}if(d=s[l],f=d.op,0!=--d.missing){e.next=34;break}returne.delegateYield(o.tryExecute.call(this,f),"t5",34);case34:l++,e.next=29;break;case37:e.next=13;break;case39:case"end":returne.stop()}},e,this)}))}}},{key:"tryExecute",value:regeneratorRuntime.mark(functiont(r){varn,i,a,s;returnregeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case0:if(this.store.addToDebug("yiel