Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

yjs

Package Overview
Dependencies
Maintainers
1
Versions
286
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yjs - npm Package Compare versions

Comparing version 0.8.3 to 0.8.4

2

dist/bower.json
{
"name": "yjs",
"version": "0.8.3",
"version": "0.8.4",
"homepage": "y-js.org",

@@ -5,0 +5,0 @@ "authors": [

!function e(t,r,n){function i(s,o){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var a="function"==typeof require&&require,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(e,t,r){function n(){l=!1,o.length?c=o.concat(c):d=-1,c.length&&i()}function i(){if(!l){var e=setTimeout(n);l=!0;for(var t=c.length;t;){for(o=c,c=[];++d<t;)o&&o[d].run();d=-1,t=c.length}o=null,l=!1,clearTimeout(e)}}function a(e,t){this.fun=e,this.array=t}function s(){}var o,u=t.exports={},c=[],l=!1,d=-1;u.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];c.push(new a(e,t)),1!==c.length||l||setTimeout(i,0)},a.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=s,u.addListener=s,u.once=s,u.off=s,u.removeListener=s,u.removeAllListeners=s,u.emit=s,u.binding=function(e){throw new Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(e){throw new Error("process.chdir is not supported")},u.umask=function(){return 0}},{}],2:[function(e,t,r){(function(e,r){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(r){function i(e,t,r,n){var i=Object.create((t||s).prototype),a=new g(n||[]);return i._invoke=f(e,r,a),i}function a(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(n){return{type:"throw",arg:n}}}function s(){}function o(){}function u(){}function c(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function l(e){this.arg=e}function d(t){function r(e,n,i,s){var o=a(t[e],t,n);if("throw"!==o.type){var u=o.arg,c=u.value;return c instanceof l?Promise.resolve(c.arg).then(function(e){r("next",e,i,s)},function(e){r("throw",e,i,s)}):Promise.resolve(c).then(function(e){u.value=e,i(u)},s)}s(o.arg)}function i(e,t){function n(){return new Promise(function(n,i){r(e,t,n,i)})}return s=s?s.then(n,n):n()}"object"===("undefined"==typeof e?"undefined":n(e))&&e.domain&&(r=e.domain.bind(r));var s;this._invoke=i}function f(e,t,r){var n=Y;return function(i,s){if(n===T)throw new Error("Generator is already running");if(n===I){if("throw"===i)throw s;return v()}for(;;){var o=r.delegate;if(o){if("return"===i||"throw"===i&&o.iterator[i]===b){r.delegate=null;var u=o.iterator["return"];if(u){var c=a(u,o.iterator,s);if("throw"===c.type){i="throw",s=c.arg;continue}}if("return"===i)continue}var c=a(o.iterator[i],o.iterator,s);if("throw"===c.type){r.delegate=null,i="throw",s=c.arg;continue}i="next",s=b;var l=c.arg;if(!l.done)return n=R,l;r[o.resultName]=l.value,r.next=o.nextLoc,r.delegate=null}if("next"===i)n===R?r.sent=s:r.sent=b;else if("throw"===i){if(n===Y)throw n=I,s;r.dispatchException(s)&&(i="next",s=b)}else"return"===i&&r.abrupt("return",s);n=T;var c=a(e,t,r);if("normal"===c.type){n=r.done?I:R;var l={value:c.arg,done:r.done};if(c.arg!==E)return l;r.delegate&&"next"===i&&(s=b)}else"throw"===c.type&&(n=I,i="throw",s=c.arg)}}}function h(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function p(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function g(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(h,this),this.reset(!0)}function y(e){if(e){var t=e[w];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function i(){for(;++r<e.length;)if(m.call(e,r))return i.value=e[r],i.done=!1,i;return i.value=b,i.done=!0,i};return n.next=n}}return{next:v}}function v(){return{value:b,done:!0}}var b,m=Object.prototype.hasOwnProperty,k="function"==typeof Symbol?Symbol:{},w=k.iterator||"@@iterator",x=k.toStringTag||"@@toStringTag",O="object"===("undefined"==typeof t?"undefined":n(t)),S=r.regeneratorRuntime;if(S)return void(O&&(t.exports=S));S=r.regeneratorRuntime=O?t.exports:{},S.wrap=i;var Y="suspendedStart",R="suspendedYield",T="executing",I="completed",E={},C=u.prototype=s.prototype;o.prototype=C.constructor=u,u.constructor=o,u[x]=o.displayName="GeneratorFunction",S.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return t?t===o||"GeneratorFunction"===(t.displayName||t.name):!1},S.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,x in e||(e[x]="GeneratorFunction")),e.prototype=Object.create(C),e},S.awrap=function(e){return new l(e)},c(d.prototype),S.async=function(e,t,r,n){var a=new d(i(e,t,r,n));return S.isGeneratorFunction(t)?a:a.next().then(function(e){return e.done?e.value:a.next()})},c(C),C[w]=function(){return this},C[x]="Generator",C.toString=function(){return"[object Generator]"},S.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},S.values=y,g.prototype={constructor:g,reset:function(e){if(this.prev=0,this.next=0,this.sent=b,this.done=!1,this.delegate=null,this.tryEntries.forEach(p),!e)for(var t in this)"t"===t.charAt(0)&&m.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=b)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,n){return a.type="throw",a.arg=e,r.next=t,!!n}if(this.done)throw e;for(var r=this,n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var s=m.call(i,"catchLoc"),o=m.call(i,"finallyLoc");if(s&&o){if(this.prev<i.catchLoc)return t(i.catchLoc,!0);if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!o)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&m.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?this.next=i.finallyLoc:this.complete(a),E},complete:function(e,t){if("throw"===e.type)throw e.arg;"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=e.arg,this.next="end"):"normal"===e.type&&t&&(this.next=t)},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),p(r),E}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;p(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:y(e),resultName:t,nextLoc:r},E}}}("object"===("undefined"==typeof r?"undefined":n(r))?r:"object"===("undefined"==typeof window?"undefined":n(window))?window:"object"===("undefined"==typeof self?"undefined":n(self))?self:void 0)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:1}],3:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.exports=function(e){var t=function(){function e(t,r){if(n(this,e),this.y=t,null==r&&(r={}),null==r.role||"master"===r.role)this.role="master";else{if("slave"!==r.role)throw new Error("Role must be either 'master' or 'slave'!");this.role="slave"}this.y.db.forwardAppliedOperations=r.forwardAppliedOperations||!1,this.role=r.role,this.connections={},this.isSynced=!1,this.userEventListeners=[],this.whenSyncedListeners=[],this.currentSyncTarget=null,this.syncingClients=[],this.forwardToSyncingClients=r.forwardToSyncingClients!==!1,this.debug=r.debug===!0,this.broadcastedHB=!1,this.syncStep2=Promise.resolve()}return i(e,[{key:"reconnect",value:function(){}},{key:"disconnect",value:function(){return this.connections={},this.isSynced=!1,this.currentSyncTarget=null,this.broadcastedHB=!1,this.syncingClients=[],this.whenSyncedListeners=[],this.y.db.stopGarbageCollector()}},{key:"setUserId",value:function(e){return null==this.userId?(this.userId=e,this.y.db.setUserId(e)):null}},{key:"onUserEvent",value:function(e){this.userEventListeners.push(e)}},{key:"userLeft",value:function(e){delete this.connections[e],e===this.currentSyncTarget&&(this.currentSyncTarget=null,this.findNextSyncTarget()),this.syncingClients=this.syncingClients.filter(function(t){return t!==e});var t=!0,r=!1,n=void 0;try{for(var i,a=this.userEventListeners[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var s=i.value;s({action:"userLeft",user:e})}}catch(o){r=!0,n=o}finally{try{!t&&a["return"]&&a["return"]()}finally{if(r)throw n}}}},{key:"userJoined",value:function(e,t){if(null==t)throw new Error("You must specify the role of the joined user!");if(null!=this.connections[e])throw new Error("This user already joined!");this.connections[e]={isSynced:!1,role:t};var r=!0,n=!1,i=void 0;try{for(var a,s=this.userEventListeners[Symbol.iterator]();!(r=(a=s.next()).done);r=!0){var o=a.value;o({action:"userJoined",user:e,role:t})}}catch(u){n=!0,i=u}finally{try{!r&&s["return"]&&s["return"]()}finally{if(n)throw i}}null==this.currentSyncTarget&&this.findNextSyncTarget()}},{key:"whenSynced",value:function(e){this.isSynced?e():this.whenSyncedListeners.push(e)}},{key:"findNextSyncTarget",value:function(){if(null==this.currentSyncTarget&&!this.isSynced){var e=null;for(var t in this.connections)if(!this.connections[t].isSynced){e=t;break}if(null!=e){var r=this;this.currentSyncTarget=e,this.y.db.requestTransaction(regeneratorRuntime.mark(function l(){var t,n;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(this.getStateSet(),"t0",1);case 1:return t=i.t0,i.delegateYield(this.getDeleteSet(),"t1",3);case 3:n=i.t1,r.send(e,{type:"sync step 1",stateSet:t,deleteSet:n});case 5:case"end":return i.stop()}},l,this)}))}else{this.isSynced=!0;var n=!0,i=!1,a=void 0;try{for(var s,o=this.whenSyncedListeners[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var u=s.value;u()}}catch(c){i=!0,a=c}finally{try{!n&&o["return"]&&o["return"]()}finally{if(i)throw a}}this.whenSyncedListeners=[],this.y.db.requestTransaction(regeneratorRuntime.mark(function d(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.delegateYield(this.garbageCollectAfterSync(),"t0",1);case 1:case"end":return e.stop()}},d,this)}))}}}},{key:"send",value:function(e,t){this.debug&&console.log("send "+this.userId+" -> "+e+": "+t.type,t)}},{key:"receiveMessage",value:function(e,t){var r=this;if(e!==this.userId)if(this.debug&&console.log("receive "+e+" -> "+this.userId+": "+t.type,JSON.parse(JSON.stringify(t))),"sync step 1"===t.type)!function(){var n=r,i=t;r.y.db.requestTransaction(regeneratorRuntime.mark(function a(){var t,r,s;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.delegateYield(this.getStateSet(),"t0",1);case 1:return t=a.t0,a.delegateYield(this.applyDeleteSet(i.deleteSet),"t1",3);case 3:return a.delegateYield(this.getDeleteSet(),"t2",4);case 4:return r=a.t2,a.delegateYield(this.getOperations(i.stateSet),"t3",6);case 6:s=a.t3,n.send(e,{type:"sync step 2",os:s,stateSet:t,deleteSet:r}),this.forwardToSyncingClients?(n.syncingClients.push(e),setTimeout(function(){n.syncingClients=n.syncingClients.filter(function(t){return t!==e}),n.send(e,{type:"sync done"})},5e3)):n.send(e,{type:"sync done"}),n._setSyncedWith(e);case 10:case"end":return a.stop()}},a,this)}))}();else if("sync step 2"===t.type){var n,i,a;!function(){var s=r;n=!r.broadcastedHB,r.broadcastedHB=!0,i=r.y.db,a={},a.promise=new Promise(function(e){a.resolve=e}),r.syncStep2=a.promise;var o=t;i.requestTransaction(regeneratorRuntime.mark(function u(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.applyDeleteSet(o.deleteSet),"t0",1);case 1:this.store.apply(o.os),i.requestTransaction(regeneratorRuntime.mark(function r(){var t,i;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(this.getOperations(o.stateSet),"t0",1);case 1:t=r.t0,t.length>0&&(i={type:"update",ops:t},n?s.broadcast(i):s.send(e,i)),a.resolve();case 4:case"end":return r.stop()}},r,this)}));case 3:case"end":return t.stop()}},u,this)}))}()}else if("sync done"===t.type){var s=this;this.syncStep2.then(function(){s._setSyncedWith(e)})}else if("update"===t.type){if(this.forwardToSyncingClients){var o=!0,u=!1,c=void 0;try{for(var l,d=this.syncingClients[Symbol.iterator]();!(o=(l=d.next()).done);o=!0){var f=l.value;this.send(f,t)}}catch(h){u=!0,c=h}finally{try{!o&&d["return"]&&d["return"]()}finally{if(u)throw c}}}if(this.y.db.forwardAppliedOperations){var p=t.ops.filter(function(e){return"Delete"===e.struct});p.length>0&&this.broadcast({type:"update",ops:p})}this.y.db.apply(t.ops)}}},{key:"_setSyncedWith",value:function(e){var t=this.connections[e];null!=t&&(t.isSynced=!0),e===this.currentSyncTarget&&(this.currentSyncTarget=null,this.findNextSyncTarget())}},{key:"parseMessageFromXml",value:function(e){function t(e){var n=!0,i=!1,a=void 0;try{for(var s,o=e.children[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var u=s.value;return"true"===u.getAttribute("isArray")?t(u):r(u)}}catch(c){i=!0,a=c}finally{try{!n&&o["return"]&&o["return"]()}finally{if(i)throw a}}}function r(e){var n={};for(var i in e.attrs){var a=e.attrs[i],s=parseInt(a,10);isNaN(s)||""+s!==a?n[i]=a:n[i]=s}for(var o in e.children){var u=o.name;"true"===o.getAttribute("isArray")?n[u]=t(o):n[u]=r(o)}return n}r(e)}},{key:"encodeMessageToXml",value:function(e,t){function r(e,t){for(var i in t){var a=t[i];null==i||(a.constructor===Object?r(e.c(i),a):a.constructor===Array?n(e.c(i),a):e.setAttribute(i,a))}}function n(e,t){e.setAttribute("isArray","true");var i=!0,a=!1,s=void 0;try{for(var o,u=t[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){var c=o.value;c.constructor===Object?r(e.c("array-element"),c):n(e.c("array-element"),c)}}catch(l){a=!0,s=l}finally{try{!i&&u["return"]&&u["return"]()}finally{if(a)throw s}}}if(t.constructor===Object)r(e.c("y",{xmlns:"http://y.ninja/connector-stanza"}),t);else{if(t.constructor!==Array)throw new Error("I can't encode this json!");n(e.c("y",{xmlns:"http://y.ninja/connector-stanza"}),t)}}}]),e}();e.AbstractConnector=t}},{}],4:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=function u(e,t,r){null===e&&(e=Function.prototype);var n=Object.getOwnPropertyDescriptor(e,t);if(void 0===n){var i=Object.getPrototypeOf(e);return null===i?void 0:u(i,t,r)}if("value"in n)return n.value;var a=n.get;if(void 0!==a)return a.call(r)};t.exports=function(e){var t={users:{},buffers:{},removeUser:function(e){for(var t in this.users)this.users[t].userLeft(e);delete this.users[e],delete this.buffers[e]},addUser:function(e){this.users[e.userId]=e,this.buffers[e.userId]=[];for(var t in this.users)if(t!==e.userId){var r=this.users[t];r.userJoined(e.userId,"master"),e.userJoined(r.userId,"master")}},whenTransactionsFinished:function(){var e=[];for(var t in this.users)e.push(this.users[t].y.db.whenTransactionsFinished());return Promise.all(e)},flushOne:function(){var e=[];for(var r in t.buffers)t.buffers[r].length>0&&e.push(r);if(e.length>0){var n=getRandom(e),i=t.buffers[n].shift(),a=t.users[n];return a.receiveMessage(i[0],i[1]),a.y.db.whenTransactionsFinished()}return!1},flushAll:function(){return new Promise(function(e){function r(){var n=t.flushOne();if(n){for(;n;)n=t.flushOne();t.whenTransactionsFinished().then(r)}else setTimeout(function(){var n=t.flushOne();n?n.then(function(){t.whenTransactionsFinished().then(r)}):e()},10)}t.whenTransactionsFinished().then(r)})}};e.utils.globalRoom=t;var r=0,u=function(u){function c(e,a){if(n(this,c),void 0===a)throw new Error("Options must not be undefined!");a.role="master",a.forwardToSyncingClients=!1;var s=i(this,Object.getPrototypeOf(c).call(this,e,a));return s.setUserId(r++ +"").then(function(){t.addUser(s)}),s.globalRoom=t,s.syncingClientDuration=0,s}return a(c,u),s(c,[{key:"receiveMessage",value:function(e,t){o(Object.getPrototypeOf(c.prototype),"receiveMessage",this).call(this,e,JSON.parse(JSON.stringify(t)))}},{key:"send",value:function(e,r){var n=t.buffers[e];null!=n&&n.push(JSON.parse(JSON.stringify([this.userId,r])))}},{key:"broadcast",value:function(e){for(var r in t.buffers)t.buffers[r].push(JSON.parse(JSON.stringify([this.userId,e])))}},{key:"isDisconnected",value:function(){return null==t.users[this.userId]}},{key:"reconnect",value:function(){return this.isDisconnected()&&(t.addUser(this),o(Object.getPrototypeOf(c.prototype),"reconnect",this).call(this)),e.utils.globalRoom.flushAll()}},{key:"disconnect",value:function(){return this.isDisconnected()||(t.removeUser(this.userId),o(Object.getPrototypeOf(c.prototype),"disconnect",this).call(this)),this.y.db.whenTransactionsFinished()}},{key:"flush",value:function(){var e=this;return async(regeneratorRuntime.mark(function r(){var n;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:for(;t.buffers[e.userId].length>0;)n=t.buffers[e.userId].shift(),this.receiveMessage(n[0],n[1]);return r.next=3,e.whenTransactionsFinished();case 3:case"end":return r.stop()}},r,this)}))}}]),c}(e.AbstractConnector);e.Test=u}},{}],5:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.exports=function(e){var t=function(){function t(e,r){function i(){return new Promise(function(e){a.requestTransaction(regeneratorRuntime.mark(function t(){var r,n;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(null==a.y.connector||!a.y.connector.isSynced){t.next=10;break}r=0;case 2:if(!(r<a.gc2.length)){t.next=8;break}return n=a.gc2[r],t.delegateYield(this.garbageCollectOperation(n),"t0",5);case 5:r++,t.next=2;break;case 8:a.gc2=a.gc1,a.gc1=[];case 10:a.gcTimeout>0&&(a.gcInterval=setTimeout(i,a.gcTimeout)),e();case 12:case"end":return t.stop()}},t,this)}))})}n(this,t),this.y=e,this.forwardAppliedOperations=!1,this.listenersById={},this.listenersByIdExecuteNow=[],this.listenersByIdRequestPending=!1,this.initializedTypes={},this.whenUserIdSetListener=null,this.waitingTransactions=[],this.transactionInProgress=!1,"undefined"!=typeof YConcurrency_TestingMode&&(this.executeOrder=[]),this.gc1=[],this.gc2=[],this.gcTimeout=r.gcTimeout||5e3;var a=this;this.garbageCollect=i,this.gcTimeout>0&&i()}return i(t,[{key:"addToDebug",value:function(){if("undefined"!=typeof YConcurrency_TestingMode){var e=Array.prototype.map.call(arguments,function(e){return"string"==typeof e?e:JSON.stringify(e)}).join("").replace(/"/g,"'").replace(/,/g,", ").replace(/:/g,": ");this.executeOrder.push(e)}}},{key:"getDebugData",value:function(){console.log(this.executeOrder.join("\n"))}},{key:"stopGarbageCollector",value:function(){var e=this;return new Promise(function(t){e.requestTransaction(regeneratorRuntime.mark(function r(){var n,i,a;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:n=e.gc1.concat(e.gc2),e.gc1=[],e.gc2=[],i=0;case 4:if(!(i<n.length)){r.next=12;break}return r.delegateYield(this.getOperation(n[i]),"t0",6);case 6:return a=r.t0,delete a.gc,r.delegateYield(this.setOperation(a),"t1",9);case 9:i++,r.next=4;break;case 12:t();case 13:case"end":return r.stop()}},r,this)}))})}},{key:"addToGarbageCollector",value:function(e,t){return null==e.gc&&e.deleted===!0&&this.y.connector.isSynced&&null!=t&&t.deleted===!0?(e.gc=!0,this.gc1.push(e.id),!0):!1}},{key:"removeFromGarbageCollector",value:function(t){function r(r){return!e.utils.compareIds(r,t.id)}this.gc1=this.gc1.filter(r),this.gc2=this.gc2.filter(r),delete t.gc}},{key:"destroy",value:function(){clearInterval(this.gcInterval),this.gcInterval=null}},{key:"setUserId",value:function(e){var t=this;return new Promise(function(r){t.requestTransaction(regeneratorRuntime.mark(function n(){var i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t.userId=e,n.delegateYield(this.getState(e),"t0",2);case 2:i=n.t0,t.opClock=i.clock,null!=t.whenUserIdSetListener&&(t.whenUserIdSetListener(),t.whenUserIdSetListener=null),r();case 6:case"end":return n.stop()}},n,this)}))})}},{key:"whenUserIdSet",value:function(e){null!=this.userId?e():this.whenUserIdSetListener=e}},{key:"getNextOpId",value:function(){if(null!=this._nextUserId)return this._nextUserId;if(null==this.userId)throw new Error("OperationStore not yet initialized!");return[this.userId,this.opClock++]}},{key:"apply",value:function(t){for(var r in t){var n=t[r],i=e.Struct[n.struct].requiredOps(n);this.whenOperationsExist(i,n)}}},{key:"whenOperationsExist",value:function(e,t){if(e.length>0){var r={op:t,missing:e.length};for(var n in e){var i=e[n],a=JSON.stringify(i),s=this.listenersById[a];null==s&&(s=[],this.listenersById[a]=s),s.push(r)}}else this.listenersByIdExecuteNow.push({op:t});if(!this.listenersByIdRequestPending){this.listenersByIdRequestPending=!0;var o=this;this.requestTransaction(regeneratorRuntime.mark(function u(){var e,t,r,n,i,a,s,c,l;return regeneratorRuntime.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:e=o.listenersByIdExecuteNow,o.listenersByIdExecuteNow=[],t=o.listenersById,o.listenersById={},o.listenersByIdRequestPending=!1,r=0;case 6:if(!(r<e.length)){u.next=12;break}return n=e[r].op,u.delegateYield(o.tryExecute.call(this,n),"t0",9);case 9:r++,u.next=6;break;case 12:u.t1=regeneratorRuntime.keys(t);case 13:if((u.t2=u.t1()).done){u.next=34;break}return i=u.t2.value,a=t[i],s=JSON.parse(i),u.delegateYield(this.getOperation(s),"t3",18);case 18:if(c=u.t3,null!=c){u.next=23;break}o.listenersById[i]=a,u.next=32;break;case 23:u.t4=regeneratorRuntime.keys(a);case 24:if((u.t5=u.t4()).done){u.next=32;break}if(r=u.t5.value,l=a[r],n=l.op,0!==--l.missing){u.next=30;break}return u.delegateYield(o.tryExecute.call(this,n),"t6",30);case 30:u.next=24;break;case 32:u.next=13;break;case 34:case"end":return u.stop()}},u,this)}))}}},{key:"tryExecute",value:regeneratorRuntime.mark(function r(t){var n,i;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(this.store.addToDebug("yield* this.store.tryExecute.call(this, ",JSON.stringify(t),")"),"Delete"!==t.struct){r.next=6;break}return r.delegateYield(e.Struct.Delete.execute.call(this,t),"t0",3);case 3:return r.delegateYield(this.store.operationAdded(this,t),"t1",4);case 4:r.next=15;break;case 6:return r.delegateYield(this.getOperation(t.id),"t2",7);case 7:if(n=r.t2,null!=n){r.next=15;break}return r.delegateYield(this.isGarbageCollected(t.id),"t3",10);case 10:if(i=r.t3){r.next=15;break}return r.delegateYield(e.Struct[t.struct].execute.call(this,t),"t4",13);case 13:return r.delegateYield(this.addOperation(t),"t5",14);case 14:return r.delegateYield(this.store.operationAdded(this,t),"t6",15);case 15:case"end":return r.stop()}},r,this)})},{key:"operationAdded",value:regeneratorRuntime.mark(function a(t,r){var n,i,s,o,u,c,l,d,f,h,p;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("Delete"!==r.struct){a.next=9;break}return a.delegateYield(t.getOperation(r.target),"t0",2);case 2:if(n=a.t0,null==n){a.next=7;break}if(i=t.store.initializedTypes[JSON.stringify(n.parent)],null==i){a.next=7;break}return a.delegateYield(i._changed(t,{struct:"Delete",target:r.target}),"t1",7);case 7:a.next=32;break;case 9:return s=r,a.delegateYield(t.getState(r.id[0]),"t2",11);case 11:o=a.t2;case 12:if(null==s||s.id[1]!==o.clock||r.id[0]!==s.id[0]){a.next=19;break}return o.clock++,a.delegateYield(t.checkDeleteStoreForState(o),"t3",15);case 15:return a.delegateYield(t.os.findNext(s.id),"t4",16);case 16:s=a.t4,a.next=12;break;case 19:return a.delegateYield(t.setState(o),"t5",20);case 20:if(u=JSON.stringify(r.id),c=this.listenersById[u],delete this.listenersById[u],null!=c)for(l in c)d=c[l],0===--d.missing&&this.whenOperationsExist([],d.op);return f=this.initializedTypes[JSON.stringify(r.parent)],a.delegateYield(t.isDeleted(r.id),"t6",26);case 26:if(h=a.t6,r.deleted||!h){a.next=30;break}return p={struct:"Delete",target:r.id},a.delegateYield(e.Struct.Delete.execute.call(t,p),"t7",30);case 30:if(null==f){a.next=32;break}return a.delegateYield(f._changed(t,e.utils.copyObject(r)),"t8",32);case 32:case"end":return a.stop()}},a,this)})},{key:"whenTransactionsFinished",value:function(){if(this.transactionInProgress){if(null==this.transactionsFinished){var e,t=new Promise(function(t){e=t});return this.transactionsFinished={resolve:e,promise:t},t}return this.transactionsFinished.promise}return Promise.resolve()}},{key:"getNextRequest",value:function(){return 0===this.waitingTransactions.length?(this.transactionInProgress=!1,null!=this.transactionsFinished&&(this.transactionsFinished.resolve(),this.transactionsFinished=null),null):this.waitingTransactions.shift()}},{key:"requestTransaction",value:function(e,t){this.waitingTransactions.push(e),this.transactionInProgress||(this.transactionInProgress=!0,this.transact(this.getNextRequest()))}}]),t}();e.AbstractDatabase=t}},{}],6:[function(e,t,r){"use strict";t.exports=function(e){var t={Delete:{encode:function(e){return e},requiredOps:function(e){return[]},execute:regeneratorRuntime.mark(function r(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.deleteOperation(e.target),"t0",1);case 1:return t.abrupt("return",t.t0);case 2:case"end":return t.stop()}},r,this)})},Insert:{encode:function(e){var t={id:e.id,left:e.left,right:e.right,origin:e.origin,parent:e.parent,struct:e.struct};return null!=e.parentSub&&(t.parentSub=e.parentSub),null!=e.opContent?t.opContent=e.opContent:t.content=e.content,t},requiredOps:function(t){var r=[];return null!=t.left&&r.push(t.left),null!=t.right&&r.push(t.right),null==t.origin||e.utils.compareIds(t.left,t.origin)||r.push(t.origin),r.push(t.parent),null!=t.opContent&&r.push(t.opContent),r},getDistanceToOrigin:regeneratorRuntime.mark(function n(t){var r,i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(null!=t.left){n.next=4;break}return n.abrupt("return",0);case 4:return r=0,n.delegateYield(this.getOperation(t.left),"t0",6);case 6:i=n.t0;case 7:if(e.utils.compareIds(t.origin,i?i.id:null)){n.next=17;break}if(r++,null!=i.left){n.next=13;break}return n.abrupt("break",17);case 13:return n.delegateYield(this.getOperation(i.left),"t1",14);case 14:i=n.t1;case 15:n.next=7;break;case 17:return n.abrupt("return",r);case 18:case"end":return n.stop()}},n,this)}),execute:regeneratorRuntime.mark(function i(r){var n,a,s,o,u,c,l,d,f;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(t.Insert.getDistanceToOrigin.call(this,r),"t0",1);case 1:if(a=n=i.t0,null==r.left){i.next=14;break}return i.delegateYield(this.getOperation(r.left),"t1",4);case 4:if(s=i.t1,null!=s.right){i.next=9;break}i.t2=null,i.next=11;break;case 9:return i.delegateYield(this.getOperation(s.right),"t3",10);case 10:i.t2=i.t3;case 11:s=i.t2,i.next=25;break;case 14:return i.delegateYield(this.getOperation(r.parent),"t4",15);case 15:if(o=i.t4,c=r.parentSub?o.map[r.parentSub]:o.start,null!=c){i.next=21;break}i.t5=null,i.next=23;break;case 21:return i.delegateYield(this.getOperation(c),"t6",22);case 22:i.t5=i.t6;case 23:u=i.t5,s=u;case 25:if(null==s||e.utils.compareIds(s.id,r.right)){i.next=47;break}return i.delegateYield(t.Insert.getDistanceToOrigin.call(this,s),"t7",28);case 28:if(l=i.t7,l!==n){i.next=33;break}s.id[0]<r.id[0]&&(r.left=s.id,a=n+1),i.next=38;break;case 33:if(!(n>l)){i.next=37;break}l>=n-a&&(r.left=s.id,a=n+1),i.next=38;break;case 37:return i.abrupt("break",50);case 38:if(n++,null==s.right){i.next=44;break}return i.delegateYield(this.getOperation(s.right),"t8",41);case 41:s=i.t8,i.next=45;break;case 44:s=null;case 45:i.next=48;break;case 47:return i.abrupt("break",50);case 48:i.next=25;break;case 50:if(d=null,f=null,null!=o){i.next=55;break}return i.delegateYield(this.getOperation(r.parent),"t9",54);case 54:o=i.t9;case 55:if(null==r.left){i.next=63;break}return i.delegateYield(this.getOperation(r.left),"t10",57);case 57:return d=i.t10,r.right=d.right,d.right=r.id,i.delegateYield(this.setOperation(d),"t11",61);case 61:i.next=64;break;case 63:r.right=r.parentSub?o.map[r.parentSub]||null:o.start;case 64:if(null==r.right){i.next=70;break}return i.delegateYield(this.getOperation(r.right),"t12",66);case 66:return f=i.t12,f.left=r.id,null!=f.gc&&this.store.removeFromGarbageCollector(f),i.delegateYield(this.setOperation(f),"t13",70);case 70:if(null==r.parentSub){i.next=80;break}if(null!=d){i.next=74;break}return o.map[r.parentSub]=r.id,i.delegateYield(this.setOperation(o),"t14",74);case 74:if(null==r.right){i.next=76;break}return i.delegateYield(this.deleteOperation(r.right,!0),"t15",76);case 76:if(null==r.left){i.next=78;break}return i.delegateYield(this.deleteOperation(r.id,!0),"t16",78);case 78:i.next=84;break;case 80:if(null!=f&&null!=d){i.next=84;break}return null==f&&(o.end=r.id),null==d&&(o.start=r.id),i.delegateYield(this.setOperation(o),"t17",84);case 84:case"end":return i.stop()}},i,this)})},List:{create:function(e){return{start:null,end:null,struct:"List",id:e}},encode:function(e){return{struct:"List",id:e.id,type:e.type}},requiredOps:function(){return[]},execute:regeneratorRuntime.mark(function a(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:e.start=null,e.end=null;case 2:case"end":return t.stop()}},a,this)}),ref:regeneratorRuntime.mark(function s(e,t){var r,n;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(null!=e.start){i.next=2;break}return i.abrupt("return",null);case 2:return r=null,i.delegateYield(this.getOperation(e.start),"t0",4);case 4:n=i.t0;case 5:if(n.deleted||(r=n,t--),!(t>=0&&null!=n.right)){i.next=12;break}return i.delegateYield(this.getOperation(n.right),"t1",9);case 9:n=i.t1,i.next=13;break;case 12:return i.abrupt("break",15);case 13:i.next=5;break;case 15:return i.abrupt("return",r);case 16:case"end":return i.stop()}},s,this)}),map:regeneratorRuntime.mark(function o(e,t){var r,n;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){
case 0:e=e.start,r=[];case 2:if(null==e){i.next=9;break}return i.delegateYield(this.getOperation(e),"t0",4);case 4:n=i.t0,n.deleted||r.push(t(n)),e=n.right,i.next=2;break;case 9:return i.abrupt("return",r);case 10:case"end":return i.stop()}},o,this)})},Map:{create:function(e){return{id:e,map:{},struct:"Map"}},encode:function(e){return{struct:"Map",type:e.type,id:e.id,map:{}}},requiredOps:function(){return[]},execute:regeneratorRuntime.mark(function u(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},u,this)}),get:regeneratorRuntime.mark(function c(e,t){var r,n;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=e.map[t],null==r){i.next=14;break}return i.delegateYield(this.getOperation(r),"t0",3);case 3:if(n=i.t0,null!=n&&!n.deleted){i.next=8;break}return i.abrupt("return",void 0);case 8:if(null!=n.opContent){i.next=12;break}return i.abrupt("return",n.content);case 12:return i.delegateYield(this.getType(n.opContent),"t1",13);case 13:return i.abrupt("return",i.t1);case 14:case"end":return i.stop()}},c,this)})}};e.Struct=t}},{}],7:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.exports=function(e){var t=function(){function t(){n(this,t)}return i(t,[{key:"getType",value:regeneratorRuntime.mark(function r(t){var n,i,a;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(n=JSON.stringify(t),i=this.store.initializedTypes[n],null!=i){r.next=9;break}return r.delegateYield(this.getOperation(t),"t0",4);case 4:if(a=r.t0,null==a){r.next=9;break}return r.delegateYield(e[a.type].initType.call(this,this.store,a),"t1",7);case 7:i=r.t1,this.store.initializedTypes[n]=i;case 9:return r.abrupt("return",i);case 10:case"end":return r.stop()}},r,this)})},{key:"createType",value:regeneratorRuntime.mark(function a(t){var r,n,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return r=t.struct,n=this.store.getNextOpId(),i=e.Struct[r].create(n),i.type=t.name,a.delegateYield(this.applyCreatedOperations([i]),"t0",5);case 5:return a.delegateYield(this.getType(n),"t1",6);case 6:return a.abrupt("return",a.t1);case 7:case"end":return a.stop()}},a,this)})},{key:"applyCreatedOperations",value:regeneratorRuntime.mark(function s(t){var r,n,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:r=[],n=0;case 2:if(!(n<t.length)){a.next=9;break}return i=t[n],a.delegateYield(this.store.tryExecute.call(this,i),"t0",5);case 5:(null==i.id||"_"!==i.id[0])&&r.push(e.Struct[i.struct].encode(i));case 6:n++,a.next=2;break;case 9:!this.store.y.connector.isDisconnected()&&r.length>0&&this.store.y.connector.broadcast({type:"update",ops:r});case 10:case"end":return a.stop()}},s,this)})},{key:"deleteList",value:regeneratorRuntime.mark(function o(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.store.y.connector.isSynced){t.next=12;break}case 1:if(null==e||!this.store.y.connector.isSynced){t.next=10;break}return t.delegateYield(this.getOperation(e),"t0",3);case 3:return e=t.t0,e.gc=!0,t.delegateYield(this.setOperation(e),"t1",6);case 6:this.store.gc1.push(e.id),e=e.right,t.next=1;break;case 10:t.next=12;break;case 12:case"end":return t.stop()}},o,this)})},{key:"deleteOperation",value:regeneratorRuntime.mark(function u(e,t){var r,n,i,a,s;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.getOperation(e),"t0",1);case 1:if(r=t.t0,n=!1,null!=r&&r.deleted){t.next=5;break}return t.delegateYield(this.markDeleted(e),"t1",5);case 5:if(null==r||null!=r.gc){t.next=40;break}if(r.deleted){t.next=23;break}if(n=!0,r.deleted=!0,null==r.start){t.next=12;break}return t.delegateYield(this.deleteList(r.start),"t2",11);case 11:return t.delegateYield(this.deleteList(r.id),"t3",12);case 12:if(null==r.map){t.next=20;break}t.t4=regeneratorRuntime.keys(r.map);case 14:if((t.t5=t.t4()).done){t.next=19;break}return i=t.t5.value,t.delegateYield(this.deleteList(r.map[i]),"t6",17);case 17:t.next=14;break;case 19:return t.delegateYield(this.deleteList(r.id),"t7",20);case 20:if(null==r.opContent){t.next=23;break}return t.delegateYield(this.deleteOperation(r.opContent),"t8",22);case 22:r.opContent=null;case 23:if(null==r.left){t.next=28;break}return t.delegateYield(this.getOperation(r.left),"t9",25);case 25:a=t.t9,t.next=29;break;case 28:a=null;case 29:return this.store.addToGarbageCollector(r,a),t.delegateYield(this.setOperation(r),"t10",31);case 31:if(null==r.right){t.next=36;break}return t.delegateYield(this.getOperation(r.right),"t11",33);case 33:s=t.t11,t.next=37;break;case 36:s=null;case 37:if(null==s||!this.store.addToGarbageCollector(s,r)){t.next=39;break}return t.delegateYield(this.setOperation(s),"t12",39);case 39:return t.abrupt("return",n);case 40:case"end":return t.stop()}},u,this)})},{key:"markGarbageCollected",value:regeneratorRuntime.mark(function c(t){var r,n,i,a;return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.delegateYield(this.markDeleted(t),"t0",1);case 1:if(r=s.t0,r.gc){s.next=25;break}if(!(r.id[1]<t[1])){s.next=9;break}return n=r.len-(t[1]-r.id[1]),r.len-=n,s.delegateYield(this.ds.put(r),"t1",7);case 7:return r={id:t,len:n,gc:!1},s.delegateYield(this.ds.put(r),"t2",9);case 9:return s.delegateYield(this.ds.findPrev(t),"t3",10);case 10:return i=s.t3,s.delegateYield(this.ds.findNext(t),"t4",12);case 12:if(a=s.t4,!(t[1]<r.id[1]+r.len-1)){s.next=16;break}return s.delegateYield(this.ds.put({id:[t[0],t[1]+1],len:r.len-1,gc:!1}),"t5",15);case 15:r.len=1;case 16:if(r.gc=!0,null==i||!i.gc||!e.utils.compareIds([i.id[0],i.id[1]+i.len],r.id)){s.next=21;break}return i.len+=r.len,s.delegateYield(this.ds["delete"](r.id),"t6",20);case 20:r=i;case 21:if(null==a||!a.gc||!e.utils.compareIds([r.id[0],r.id[1]+r.len],a.id)){s.next=24;break}return r.len+=a.len,s.delegateYield(this.ds["delete"](a.id),"t7",24);case 24:return s.delegateYield(this.ds.put(r),"t8",25);case 25:case"end":return s.stop()}},c,this)})},{key:"markDeleted",value:regeneratorRuntime.mark(function l(t){var r,n;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(this.ds.findWithUpperBound(t),"t0",1);case 1:if(r=i.t0,null==r||r.id[0]!==t[0]){i.next=15;break}if(!(r.id[1]<=t[1]&&t[1]<r.id[1]+r.len)){i.next=7;break}return i.abrupt("return",r);case 7:if(r.id[1]+r.len!==t[1]||r.gc){i.next=11;break}r.len++,i.next=13;break;case 11:return r={id:t,len:1,gc:!1},i.delegateYield(this.ds.put(r),"t1",13);case 13:i.next=17;break;case 15:return r={id:t,len:1,gc:!1},i.delegateYield(this.ds.put(r),"t2",17);case 17:return i.delegateYield(this.ds.findNext(r.id),"t3",18);case 18:if(n=i.t3,null==n||!e.utils.compareIds([r.id[0],r.id[1]+r.len],n.id)||n.gc){i.next=22;break}return r.len=r.len+n.len,i.delegateYield(this.ds["delete"](n.id),"t4",22);case 22:return i.delegateYield(this.ds.put(r),"t5",23);case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},l,this)})},{key:"garbageCollectAfterSync",value:regeneratorRuntime.mark(function d(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.delegateYield(this.os.iterate(this,null,null,regeneratorRuntime.mark(function t(e){var r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.deleted||null==e.left){t.next=4;break}return t.delegateYield(this.getOperation(e.left),"t0",2);case 2:r=t.t0,this.store.addToGarbageCollector(e,r);case 4:case"end":return t.stop()}},t,this)})),"t0",1);case 1:case"end":return e.stop()}},d,this)})},{key:"garbageCollectOperation",value:regeneratorRuntime.mark(function f(t){var r,n,i,a,s,o,u,c,l,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return this.store.addToDebug("yield* this.garbageCollectOperation(",t,")"),f.delegateYield(this.getState(t[0]),"t0",2);case 2:if(r=f.t0,r.clock!==t[1]){f.next=7;break}return r.clock++,f.delegateYield(this.checkDeleteStoreForState(r),"t1",6);case 6:return f.delegateYield(this.setState(r),"t2",7);case 7:return f.delegateYield(this.markGarbageCollected(t),"t3",8);case 8:return f.delegateYield(this.getOperation(t),"t4",9);case 9:if(n=f.t4,null==n){f.next=57;break}if(null==n.left){f.next=16;break}return f.delegateYield(this.getOperation(n.left),"t5",13);case 13:return i=f.t5,i.right=n.right,f.delegateYield(this.setOperation(i),"t6",16);case 16:if(null==n.right){f.next=49;break}return f.delegateYield(this.getOperation(n.right),"t7",18);case 18:if(a=f.t7,a.left=n.left,!e.utils.compareIds(a.origin,n.id)){f.next=48;break}s=n.left;case 22:if(null==s){f.next=30;break}return f.delegateYield(this.getOperation(s),"t8",24);case 24:if(o=f.t8,!o.deleted){f.next=27;break}return f.abrupt("break",30);case 27:s=o.left,f.next=22;break;case 30:if(a.origin=s,null==a.right){f.next=48;break}return f.delegateYield(this.getOperation(a.right),"t9",33);case 33:u=f.t9,c=[n.id,n.right];case 35:if(!c.some(function(t){return e.utils.compareIds(t,u.origin)})){f.next=48;break}if(!e.utils.compareIds(u.origin,n.id)){f.next=39;break}return u.origin=s,f.delegateYield(this.setOperation(u),"t10",39);case 39:if(null!=u.right){f.next=43;break}return f.abrupt("break",48);case 43:return c.push(u.id),f.delegateYield(this.getOperation(u.right),"t11",45);case 45:u=f.t11;case 46:f.next=35;break;case 48:return f.delegateYield(this.setOperation(a),"t12",49);case 49:if(null==n.parent){f.next=56;break}return f.delegateYield(this.getOperation(n.parent),"t13",51);case 51:if(l=f.t13,d=!1,null!=n.parentSub?e.utils.compareIds(l.map[n.parentSub],n.id)&&(d=!0,l.map[n.parentSub]=n.right):(e.utils.compareIds(l.start,n.id)&&(d=!0,l.start=n.right),e.utils.compareIds(l.end,n.id)&&(d=!0,l.end=n.left)),!d){f.next=56;break}return f.delegateYield(this.setOperation(l),"t14",56);case 56:return f.delegateYield(this.removeOperation(n.id),"t15",57);case 57:case"end":return f.stop()}},f,this)})},{key:"checkDeleteStoreForState",value:regeneratorRuntime.mark(function h(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(this.ds.findWithUpperBound([e.user,e.clock]),"t0",1);case 1:t=r.t0,null!=t&&t.id[0]===e.user&&t.gc&&(e.clock=Math.max(e.clock,t.id[1]+t.len));case 3:case"end":return r.stop()}},h,this)})},{key:"applyDeleteSet",value:regeneratorRuntime.mark(function p(e){var t,r,n,i,a,s,o,u,c,l,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:r=function(e,r,n,i){for(var a=r;r+n>a;a++)t.push([e,a,i])},t=[],f.t0=regeneratorRuntime.keys(e);case 3:if((f.t1=f.t0()).done){f.next=12;break}return n=f.t1.value,i=e[n],a=0,s=i[a],f.delegateYield(this.ds.iterate(this,[n,0],[n,Number.MAX_VALUE],regeneratorRuntime.mark(function h(e){var t;return regeneratorRuntime.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(null==s){o.next=10;break}if(t=0,!(e.id[1]+e.len<=s[0])){o.next=6;break}return o.abrupt("break",10);case 6:s[0]<e.id[1]?(t=Math.min(e.id[1]-s[0],s[1]),r(n,s[0],t,s[2])):(t=e.id[1]+e.len-s[0],s[2]&&!e.gc&&r(n,s[0],Math.min(t,s[1]),s[2]));case 7:s[1]<=t?s=i[++a]:(s[0]=s[0]+t,s[1]=s[1]-t),o.next=0;break;case 10:case"end":return o.stop()}},h,this)})),"t2",9);case 9:for(;a<i.length;a++)s=i[a],r(n,s[0],s[1],s[2]);f.next=3;break;case 12:o=0;case 13:if(!(o<t.length)){f.next=25;break}return u=t[o],c=[u[0],u[1]],f.delegateYield(this.deleteOperation(c),"t3",17);case 17:if(l=f.t3,!l){f.next=20;break}return f.delegateYield(this.store.operationAdded(this,{struct:"Delete",target:c}),"t4",20);case 20:if(!u[2]){f.next=22;break}return f.delegateYield(this.garbageCollectOperation(c),"t5",22);case 22:o++,f.next=13;break;case 25:this.store.forwardAppliedOperations&&(d=t.map(function(e){return{struct:"Delete",target:[e[0],e[1]]}}),this.store.y.connector.broadcast({type:"update",ops:d}));case 26:case"end":return f.stop()}},p,this)})},{key:"isGarbageCollected",value:regeneratorRuntime.mark(function g(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(this.ds.findWithUpperBound(e),"t0",1);case 1:return t=r.t0,r.abrupt("return",null!=t&&t.id[0]===e[0]&&e[1]<t.id[1]+t.len&&t.gc);case 3:case"end":return r.stop()}},g,this)})},{key:"getDeleteSet",value:regeneratorRuntime.mark(function y(){var e;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e={},t.delegateYield(this.ds.iterate(this,null,null,regeneratorRuntime.mark(function r(t){var n,i,a,s,o;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:n=t.id[0],i=t.id[1],a=t.len,s=t.gc,o=e[n],void 0===o&&(o=[],e[n]=o),o.push([i,a,s]);case 7:case"end":return r.stop()}},r,this)})),"t0",2);case 2:return t.abrupt("return",e);case 3:case"end":return t.stop()}},y,this)})},{key:"isDeleted",value:regeneratorRuntime.mark(function v(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(this.ds.findWithUpperBound(e),"t0",1);case 1:return t=r.t0,r.abrupt("return",null!=t&&t.id[0]===e[0]&&e[1]<t.id[1]+t.len);case 3:case"end":return r.stop()}},v,this)})},{key:"setOperation",value:regeneratorRuntime.mark(function b(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.os.put(e),"t0",1);case 1:return t.abrupt("return",e);case 2:case"end":return t.stop()}},b,this)})},{key:"addOperation",value:regeneratorRuntime.mark(function m(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.os.put(e),"t0",1);case 1:!this.store.y.connector.isDisconnected()&&this.store.forwardAppliedOperations&&"_"!==e.id[0]&&this.store.y.connector.broadcast({type:"update",ops:[e]});case 2:case"end":return t.stop()}},m,this)})},{key:"getOperation",value:regeneratorRuntime.mark(function k(t){var r,n,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.delegateYield(this.os.find(t),"t0",1);case 1:if(r=a.t0,null==r&&"_"===t[0]){a.next=6;break}return a.abrupt("return",r);case 6:if(null!=this.store._nextUserId){a.next=13;break}return n=t[1].split("_")[0],i=e.Struct[n].create(t),a.delegateYield(this.setOperation(i),"t1",10);case 10:return a.abrupt("return",i);case 13:return a.abrupt("return",null);case 14:case"end":return a.stop()}},k,this)})},{key:"removeOperation",value:regeneratorRuntime.mark(function w(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.os["delete"](e),"t0",1);case 1:case"end":return t.stop()}},w,this)})},{key:"setState",value:regeneratorRuntime.mark(function x(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t={id:[e.user],clock:e.clock},r.delegateYield(this.ss.put(t),"t0",2);case 2:case"end":return r.stop()}},x,this)})},{key:"getState",value:regeneratorRuntime.mark(function O(e){var t,r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.delegateYield(this.ss.find([e]),"t0",1);case 1:return t=n.t0,r=null==t?null:t.clock,null==r&&(r=0),n.abrupt("return",{user:e,clock:r});case 5:case"end":return n.stop()}},O,this)})},{key:"getStateVector",value:regeneratorRuntime.mark(function S(){var e;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=[],t.delegateYield(this.ss.iterate(this,null,null,regeneratorRuntime.mark(function r(t){return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:e.push({user:t.id[0],clock:t.clock});case 1:case"end":return r.stop()}},r,this)})),"t0",2);case 2:return t.abrupt("return",e);case 3:case"end":return t.stop()}},S,this)})},{key:"getStateSet",value:regeneratorRuntime.mark(function Y(){var e;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e={},t.delegateYield(this.ss.iterate(this,null,null,regeneratorRuntime.mark(function r(t){return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:e[t.id[0]]=t.clock;case 1:case"end":return r.stop()}},r,this)})),"t0",2);case 2:return t.abrupt("return",e);case 3:case"end":return t.stop()}},Y,this)})},{key:"getOperations",value:regeneratorRuntime.mark(function R(t){var r,n,i,a,s,o,u,c,l,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return null==t&&(t={}),r=[],f.delegateYield(this.getStateVector(),"t0",3);case 3:n=f.t0,i=!0,a=!1,s=void 0,f.prev=7,o=n[Symbol.iterator]();case 9:if(i=(u=o.next()).done){f.next=19;break}if(c=u.value,l=c.user,"_"!==l){f.next=14;break}return f.abrupt("continue",16);case 14:return d=t[l]||0,f.delegateYield(this.os.iterate(this,[l,d],[l,Number.MAX_VALUE],regeneratorRuntime.mark(function h(n){var i,a,s,o;return regeneratorRuntime.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(n=e.Struct[n.struct].encode(n),"Insert"===n.struct){u.next=5;break}r.push(n),u.next=27;break;case 5:if(!(null==n.right||n.right[1]<(t[n.right[0]]||0))){u.next=27;break}i=n,a=[n],s=n.right;case 9:if(null!=i.left){u.next=15;break}return n.left=null,r.push(n),e.utils.compareIds(i.id,n.id)||(i=e.Struct[n.struct].encode(i),i.right=a[a.length-1].id,r.push(i)),u.abrupt("break",27);case 15:return u.delegateYield(this.getOperation(i.left),"t0",16);case 16:for(i=u.t0;a.length>0&&e.utils.compareIds(a[a.length-1].origin,i.id);)a.pop();if(!(i.id[1]<(t[i.id[0]]||0))){u.next=24;break}return n.left=i.id,r.push(n),u.abrupt("break",27);case 24:e.utils.compareIds(i.id,n.origin)?(n.left=n.origin,r.push(n),n=e.Struct[n.struct].encode(i),n.right=s,a.length>0&&console.log("This should not happen .. :( please report this"),a=[n]):(o=e.Struct[n.struct].encode(i),o.right=a[a.length-1].id,o.left=o.origin,r.push(o),a.push(i));case 25:u.next=9;break;case 27:case"end":return u.stop()}},h,this)})),"t1",16);case 16:i=!0,f.next=9;break;case 19:f.next=25;break;case 21:f.prev=21,f.t2=f["catch"](7),a=!0,s=f.t2;case 25:f.prev=25,f.prev=26,!i&&o["return"]&&o["return"]();case 28:if(f.prev=28,!a){f.next=31;break}throw s;case 31:return f.finish(28);case 32:return f.finish(25);case 33:return f.abrupt("return",r.reverse());case 34:case"end":return f.stop()}},R,this,[[7,21,25,33],[26,,28,32]])})}]),t}();e.Transaction=t}},{}],8:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.exports=function(e){function t(e){var t={};for(var r in e)t[r]=e[r];return t}function r(e,t){return e[0]<t[0]||e[0]===t[0]&&e[1]<t[1]}function a(e,t){return null==e||null==t?null==e&&null==t?!0:!1:e[0]===t[0]&&e[1]===t[1]?!0:!1}e.utils={};var s=function(){function t(e){n(this,t),this.waiting=[],this.awaiting=0,this.onevent=e,this.eventListeners=[]}return i(t,[{key:"receivedOp",value:function(t){this.awaiting<=0?this.onevent([t]):this.waiting.push(e.utils.copyObject(t))}},{key:"awaitAndPrematurelyCall",value:function(e){this.awaiting++,this.onevent(e)}},{key:"addEventListener",value:function(e){this.eventListeners.push(e)}},{key:"removeEventListener",value:function(e){this.eventListeners=this.eventListeners.filter(function(t){return e!==t})}},{key:"removeAllEventListeners",value:function(){this.eventListeners=[]}},{key:"callEventListeners",value:function(e){for(var t=0;t<this.eventListeners.length;t++)try{this.eventListeners[t](e)}catch(r){console.log("User events must not throw Errors!")}}},{key:"awaitedInserts",value:function(t){for(var r=this.waiting.splice(this.waiting.length-t),n=0;n<r.length;n++){var i=r[n];if("Insert"!==i.struct)throw new Error("Expected Insert Operation!");for(var a=this.waiting.length-1;a>=0;a--){var s=this.waiting[a];"Insert"===s.struct&&(e.utils.compareIds(i.left,s.id)?(s.right=i.id,i.left=s.left):e.utils.compareIds(i.right,s.id)&&(s.left=i.id,i.right=s.right))}}this._tryCallEvents()}},{key:"awaitedDeletes",value:function(t,r){for(var n=this.waiting.splice(this.waiting.length-t),i=0;i<n.length;i++){var a=n[i];if("Delete"!==a.struct)throw new Error("Expected Delete Operation!");if(null!=r)for(var s=0;s<this.waiting.length;s++){var o=this.waiting[s];"Insert"===o.struct&&e.utils.compareIds(a.target,o.left)&&(o.left=r)}}this._tryCallEvents()}},{key:"_tryCallEvents",value:function(){if(this.awaiting--,this.awaiting<=0&&this.waiting.length>0){var e=this.waiting;this.waiting=[],this.onevent(e)}}}]),t}();e.utils.EventHandler=s;var o=function u(e){if(n(this,u),null==e.struct||null==e.initType||null==e["class"]||null==e.name)throw new Error("Custom type was not initialized correctly!");this.struct=e.struct,this.initType=e.initType,this["class"]=e["class"],this.name=e.name};e.utils.CustomType=o,e.utils.copyObject=t,e.utils.smaller=r,e.utils.compareIds=a}},{}],9:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(t){for(var r="undefined"!=typeof regeneratorRuntime?".js":".es6",n=[],i=0;i<t.length;i++){var s="y-"+t[i].toLowerCase();if(null==a[t[i]])if(null==o[t[i]])if("undefined"!=typeof window&&"undefined"!==window.Y){var u;!function(){u=document.createElement("script"),u.src=a.sourceDir+"/"+s+"/"+s+r,document.head.appendChild(u);var e={};o[t[i]]=e,e.promise=new Promise(function(t){e.resolve=t}),n.push(e.promise)}()}else e(s)(a);else n.push(o[t[i]].promise)}return Promise.all(n)}function a(e){e.types=null!=e.types?e.types:[];var t=[e.db.name,e.connector.name].concat(e.types);for(var r in e.share)t.push(e.share[r]);return a.sourceDir=e.sourceDir,a.requestModules(t).then(function(){return new Promise(function(t){var r=new u(e,function(){r.db.whenUserIdSet(function(){t(r)})})})})}var s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();e("./Connector.js")(a),e("./Database.js")(a),e("./Transaction.js")(a),e("./Struct.js")(a),e("./Utils.js")(a),e("./Connectors/Test.js")(a);var o={};t.exports=a,a.requiringModules=o,a.extend=function(e,t){a[e]=t,null!=o[e]&&(o[e].resolve(),delete o[e])},a.requestModules=i;var u=function(){function e(t,r){n(this,e),this.db=new a[t.db.name](this,t.db),this.connector=new a[t.connector.name](this,t.connector);var i={};this.share=i,this.db.requestTransaction(regeneratorRuntime.mark(function s(){var e,n,o,u;return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:s.t0=regeneratorRuntime.keys(t.share);case 1:if((s.t1=s.t0()).done){s.next=14;break}return e=s.t1.value,n=t.share[e],o=["_",a[n].struct+"_"+e],s.delegateYield(this.getOperation(o),"t2",6);case 6:if(u=s.t2,u.type===n){s.next=10;break}return u.type=n,s.delegateYield(this.setOperation(u),"t3",10);case 10:return s.delegateYield(this.getType(o),"t4",11);case 11:i[e]=s.t4,s.next=1;break;case 14:setTimeout(r,0);case 15:case"end":return s.stop()}},s,this)}))}return s(e,[{key:"isConnected",value:function(){return this.connector.isSynced}},{key:"disconnect",value:function(){return this.connector.disconnect()}},{key:"reconnect",value:function(){return this.connector.reconnect()}},{key:"destroy",value:function(){this.disconnect(),this.db.destroy(),this.connector=null,this.db=null}}]),e}();"undefined"!=typeof window&&(window.Y=a)},{"./Connector.js":3,"./Connectors/Test.js":4,"./Database.js":5,"./Struct.js":6,"./Transaction.js":7,"./Utils.js":8}]},{},[2,9]);
case 0:e=e.start,r=[];case 2:if(null==e){i.next=9;break}return i.delegateYield(this.getOperation(e),"t0",4);case 4:n=i.t0,n.deleted||r.push(t(n)),e=n.right,i.next=2;break;case 9:return i.abrupt("return",r);case 10:case"end":return i.stop()}},o,this)})},Map:{create:function(e){return{id:e,map:{},struct:"Map"}},encode:function(e){return{struct:"Map",type:e.type,id:e.id,map:{}}},requiredOps:function(){return[]},execute:regeneratorRuntime.mark(function u(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}},u,this)}),get:regeneratorRuntime.mark(function c(e,t){var r,n;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=e.map[t],null==r){i.next=14;break}return i.delegateYield(this.getOperation(r),"t0",3);case 3:if(n=i.t0,null!=n&&!n.deleted){i.next=8;break}return i.abrupt("return",void 0);case 8:if(null!=n.opContent){i.next=12;break}return i.abrupt("return",n.content);case 12:return i.delegateYield(this.getType(n.opContent),"t1",13);case 13:return i.abrupt("return",i.t1);case 14:case"end":return i.stop()}},c,this)})}};e.Struct=t}},{}],7:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.exports=function(e){var t=function(){function t(){n(this,t)}return i(t,[{key:"getType",value:regeneratorRuntime.mark(function r(t){var n,i,a;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(n=JSON.stringify(t),i=this.store.initializedTypes[n],null!=i){r.next=9;break}return r.delegateYield(this.getOperation(t),"t0",4);case 4:if(a=r.t0,null==a){r.next=9;break}return r.delegateYield(e[a.type].initType.call(this,this.store,a),"t1",7);case 7:i=r.t1,this.store.initializedTypes[n]=i;case 9:return r.abrupt("return",i);case 10:case"end":return r.stop()}},r,this)})},{key:"createType",value:regeneratorRuntime.mark(function a(t){var r,n,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return r=t.struct,n=this.store.getNextOpId(),i=e.Struct[r].create(n),i.type=t.name,a.delegateYield(this.applyCreatedOperations([i]),"t0",5);case 5:return a.delegateYield(this.getType(n),"t1",6);case 6:return a.abrupt("return",a.t1);case 7:case"end":return a.stop()}},a,this)})},{key:"applyCreatedOperations",value:regeneratorRuntime.mark(function s(t){var r,n,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:r=[],n=0;case 2:if(!(n<t.length)){a.next=9;break}return i=t[n],a.delegateYield(this.store.tryExecute.call(this,i),"t0",5);case 5:(null==i.id||"_"!==i.id[0])&&r.push(e.Struct[i.struct].encode(i));case 6:n++,a.next=2;break;case 9:!this.store.y.connector.isDisconnected()&&r.length>0&&this.store.y.connector.broadcast({type:"update",ops:r});case 10:case"end":return a.stop()}},s,this)})},{key:"deleteList",value:regeneratorRuntime.mark(function o(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.store.y.connector.isSynced){t.next=12;break}case 1:if(null==e||!this.store.y.connector.isSynced){t.next=10;break}return t.delegateYield(this.getOperation(e),"t0",3);case 3:return e=t.t0,e.gc=!0,t.delegateYield(this.setOperation(e),"t1",6);case 6:this.store.gc1.push(e.id),e=e.right,t.next=1;break;case 10:t.next=12;break;case 12:case"end":return t.stop()}},o,this)})},{key:"deleteOperation",value:regeneratorRuntime.mark(function u(e,t){var r,n,i,a,s;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.getOperation(e),"t0",1);case 1:if(r=t.t0,n=!1,null!=r&&r.deleted){t.next=5;break}return t.delegateYield(this.markDeleted(e),"t1",5);case 5:if(null==r||null!=r.gc){t.next=40;break}if(r.deleted){t.next=23;break}if(n=!0,r.deleted=!0,null==r.start){t.next=12;break}return t.delegateYield(this.deleteList(r.start),"t2",11);case 11:return t.delegateYield(this.deleteList(r.id),"t3",12);case 12:if(null==r.map){t.next=20;break}t.t4=regeneratorRuntime.keys(r.map);case 14:if((t.t5=t.t4()).done){t.next=19;break}return i=t.t5.value,t.delegateYield(this.deleteList(r.map[i]),"t6",17);case 17:t.next=14;break;case 19:return t.delegateYield(this.deleteList(r.id),"t7",20);case 20:if(null==r.opContent){t.next=23;break}return t.delegateYield(this.deleteOperation(r.opContent),"t8",22);case 22:r.opContent=null;case 23:if(null==r.left){t.next=28;break}return t.delegateYield(this.getOperation(r.left),"t9",25);case 25:a=t.t9,t.next=29;break;case 28:a=null;case 29:return this.store.addToGarbageCollector(r,a),t.delegateYield(this.setOperation(r),"t10",31);case 31:if(null==r.right){t.next=36;break}return t.delegateYield(this.getOperation(r.right),"t11",33);case 33:s=t.t11,t.next=37;break;case 36:s=null;case 37:if(null==s||!this.store.addToGarbageCollector(s,r)){t.next=39;break}return t.delegateYield(this.setOperation(s),"t12",39);case 39:return t.abrupt("return",n);case 40:case"end":return t.stop()}},u,this)})},{key:"markGarbageCollected",value:regeneratorRuntime.mark(function c(t){var r,n,i,a;return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.delegateYield(this.markDeleted(t),"t0",1);case 1:if(r=s.t0,r.gc){s.next=25;break}if(!(r.id[1]<t[1])){s.next=9;break}return n=r.len-(t[1]-r.id[1]),r.len-=n,s.delegateYield(this.ds.put(r),"t1",7);case 7:return r={id:t,len:n,gc:!1},s.delegateYield(this.ds.put(r),"t2",9);case 9:return s.delegateYield(this.ds.findPrev(t),"t3",10);case 10:return i=s.t3,s.delegateYield(this.ds.findNext(t),"t4",12);case 12:if(a=s.t4,!(t[1]<r.id[1]+r.len-1)){s.next=16;break}return s.delegateYield(this.ds.put({id:[t[0],t[1]+1],len:r.len-1,gc:!1}),"t5",15);case 15:r.len=1;case 16:if(r.gc=!0,null==i||!i.gc||!e.utils.compareIds([i.id[0],i.id[1]+i.len],r.id)){s.next=21;break}return i.len+=r.len,s.delegateYield(this.ds["delete"](r.id),"t6",20);case 20:r=i;case 21:if(null==a||!a.gc||!e.utils.compareIds([r.id[0],r.id[1]+r.len],a.id)){s.next=24;break}return r.len+=a.len,s.delegateYield(this.ds["delete"](a.id),"t7",24);case 24:return s.delegateYield(this.ds.put(r),"t8",25);case 25:case"end":return s.stop()}},c,this)})},{key:"markDeleted",value:regeneratorRuntime.mark(function l(t){var r,n;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(this.ds.findWithUpperBound(t),"t0",1);case 1:if(r=i.t0,null==r||r.id[0]!==t[0]){i.next=15;break}if(!(r.id[1]<=t[1]&&t[1]<r.id[1]+r.len)){i.next=7;break}return i.abrupt("return",r);case 7:if(r.id[1]+r.len!==t[1]||r.gc){i.next=11;break}r.len++,i.next=13;break;case 11:return r={id:t,len:1,gc:!1},i.delegateYield(this.ds.put(r),"t1",13);case 13:i.next=17;break;case 15:return r={id:t,len:1,gc:!1},i.delegateYield(this.ds.put(r),"t2",17);case 17:return i.delegateYield(this.ds.findNext(r.id),"t3",18);case 18:if(n=i.t3,null==n||!e.utils.compareIds([r.id[0],r.id[1]+r.len],n.id)||n.gc){i.next=22;break}return r.len=r.len+n.len,i.delegateYield(this.ds["delete"](n.id),"t4",22);case 22:return i.delegateYield(this.ds.put(r),"t5",23);case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},l,this)})},{key:"garbageCollectAfterSync",value:regeneratorRuntime.mark(function d(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.delegateYield(this.os.iterate(this,null,null,regeneratorRuntime.mark(function t(e){var r;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.deleted||null==e.left){t.next=4;break}return t.delegateYield(this.getOperation(e.left),"t0",2);case 2:r=t.t0,this.store.addToGarbageCollector(e,r);case 4:case"end":return t.stop()}},t,this)})),"t0",1);case 1:case"end":return e.stop()}},d,this)})},{key:"garbageCollectOperation",value:regeneratorRuntime.mark(function f(t){var r,n,i,a,s,o,u,c,l,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return this.store.addToDebug("yield* this.garbageCollectOperation(",t,")"),f.delegateYield(this.getState(t[0]),"t0",2);case 2:if(r=f.t0,r.clock!==t[1]){f.next=7;break}return r.clock++,f.delegateYield(this.checkDeleteStoreForState(r),"t1",6);case 6:return f.delegateYield(this.setState(r),"t2",7);case 7:return f.delegateYield(this.markGarbageCollected(t),"t3",8);case 8:return f.delegateYield(this.getOperation(t),"t4",9);case 9:if(n=f.t4,null==n){f.next=57;break}if(null==n.left){f.next=16;break}return f.delegateYield(this.getOperation(n.left),"t5",13);case 13:return i=f.t5,i.right=n.right,f.delegateYield(this.setOperation(i),"t6",16);case 16:if(null==n.right){f.next=49;break}return f.delegateYield(this.getOperation(n.right),"t7",18);case 18:if(a=f.t7,a.left=n.left,!e.utils.compareIds(a.origin,n.id)){f.next=48;break}s=n.left;case 22:if(null==s){f.next=30;break}return f.delegateYield(this.getOperation(s),"t8",24);case 24:if(o=f.t8,!o.deleted){f.next=27;break}return f.abrupt("break",30);case 27:s=o.left,f.next=22;break;case 30:if(a.origin=s,null==a.right){f.next=48;break}return f.delegateYield(this.getOperation(a.right),"t9",33);case 33:u=f.t9,c=[n.id,n.right];case 35:if(!c.some(function(t){return e.utils.compareIds(t,u.origin)})){f.next=48;break}if(!e.utils.compareIds(u.origin,n.id)){f.next=39;break}return u.origin=s,f.delegateYield(this.setOperation(u),"t10",39);case 39:if(null!=u.right){f.next=43;break}return f.abrupt("break",48);case 43:return c.push(u.id),f.delegateYield(this.getOperation(u.right),"t11",45);case 45:u=f.t11;case 46:f.next=35;break;case 48:return f.delegateYield(this.setOperation(a),"t12",49);case 49:if(null==n.parent){f.next=56;break}return f.delegateYield(this.getOperation(n.parent),"t13",51);case 51:if(l=f.t13,d=!1,null!=n.parentSub?e.utils.compareIds(l.map[n.parentSub],n.id)&&(d=!0,l.map[n.parentSub]=n.right):(e.utils.compareIds(l.start,n.id)&&(d=!0,l.start=n.right),e.utils.compareIds(l.end,n.id)&&(d=!0,l.end=n.left)),!d){f.next=56;break}return f.delegateYield(this.setOperation(l),"t14",56);case 56:return f.delegateYield(this.removeOperation(n.id),"t15",57);case 57:case"end":return f.stop()}},f,this)})},{key:"checkDeleteStoreForState",value:regeneratorRuntime.mark(function h(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(this.ds.findWithUpperBound([e.user,e.clock]),"t0",1);case 1:t=r.t0,null!=t&&t.id[0]===e.user&&t.gc&&(e.clock=Math.max(e.clock,t.id[1]+t.len));case 3:case"end":return r.stop()}},h,this)})},{key:"applyDeleteSet",value:regeneratorRuntime.mark(function p(e){var t,r,n,i,a,s,o,u,c,l,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:r=function(e,r,n,i){for(var a=r;r+n>a;a++)t.push([e,a,i])},t=[],f.t0=regeneratorRuntime.keys(e);case 3:if((f.t1=f.t0()).done){f.next=12;break}return n=f.t1.value,i=e[n],a=0,s=i[a],f.delegateYield(this.ds.iterate(this,[n,0],[n,Number.MAX_VALUE],regeneratorRuntime.mark(function h(e){var t;return regeneratorRuntime.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(null==s){o.next=10;break}if(t=0,!(e.id[1]+e.len<=s[0])){o.next=6;break}return o.abrupt("break",10);case 6:s[0]<e.id[1]?(t=Math.min(e.id[1]-s[0],s[1]),r(n,s[0],t,s[2])):(t=e.id[1]+e.len-s[0],s[2]&&!e.gc&&r(n,s[0],Math.min(t,s[1]),s[2]));case 7:s[1]<=t?s=i[++a]:(s[0]=s[0]+t,s[1]=s[1]-t),o.next=0;break;case 10:case"end":return o.stop()}},h,this)})),"t2",9);case 9:for(;a<i.length;a++)s=i[a],r(n,s[0],s[1],s[2]);f.next=3;break;case 12:o=0;case 13:if(!(o<t.length)){f.next=25;break}return u=t[o],c=[u[0],u[1]],f.delegateYield(this.deleteOperation(c),"t3",17);case 17:if(l=f.t3,!l){f.next=20;break}return f.delegateYield(this.store.operationAdded(this,{struct:"Delete",target:c}),"t4",20);case 20:if(!u[2]){f.next=22;break}return f.delegateYield(this.garbageCollectOperation(c),"t5",22);case 22:o++,f.next=13;break;case 25:this.store.forwardAppliedOperations&&(d=t.map(function(e){return{struct:"Delete",target:[e[0],e[1]]}}),this.store.y.connector.broadcast({type:"update",ops:d}));case 26:case"end":return f.stop()}},p,this)})},{key:"isGarbageCollected",value:regeneratorRuntime.mark(function g(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(this.ds.findWithUpperBound(e),"t0",1);case 1:return t=r.t0,r.abrupt("return",null!=t&&t.id[0]===e[0]&&e[1]<t.id[1]+t.len&&t.gc);case 3:case"end":return r.stop()}},g,this)})},{key:"getDeleteSet",value:regeneratorRuntime.mark(function y(){var e;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e={},t.delegateYield(this.ds.iterate(this,null,null,regeneratorRuntime.mark(function r(t){var n,i,a,s,o;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:n=t.id[0],i=t.id[1],a=t.len,s=t.gc,o=e[n],void 0===o&&(o=[],e[n]=o),o.push([i,a,s]);case 7:case"end":return r.stop()}},r,this)})),"t0",2);case 2:return t.abrupt("return",e);case 3:case"end":return t.stop()}},y,this)})},{key:"isDeleted",value:regeneratorRuntime.mark(function v(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(this.ds.findWithUpperBound(e),"t0",1);case 1:return t=r.t0,r.abrupt("return",null!=t&&t.id[0]===e[0]&&e[1]<t.id[1]+t.len);case 3:case"end":return r.stop()}},v,this)})},{key:"setOperation",value:regeneratorRuntime.mark(function b(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.os.put(e),"t0",1);case 1:return t.abrupt("return",e);case 2:case"end":return t.stop()}},b,this)})},{key:"addOperation",value:regeneratorRuntime.mark(function m(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.os.put(e),"t0",1);case 1:!this.store.y.connector.isDisconnected()&&this.store.forwardAppliedOperations&&"_"!==e.id[0]&&this.store.y.connector.broadcast({type:"update",ops:[e]});case 2:case"end":return t.stop()}},m,this)})},{key:"getOperation",value:regeneratorRuntime.mark(function k(t){var r,n,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.delegateYield(this.os.find(t),"t0",1);case 1:if(r=a.t0,null==r&&"_"===t[0]){a.next=6;break}return a.abrupt("return",r);case 6:if(null!=this.store._nextUserId){a.next=13;break}return n=t[1].split("_")[0],i=e.Struct[n].create(t),a.delegateYield(this.setOperation(i),"t1",10);case 10:return a.abrupt("return",i);case 13:return a.abrupt("return",null);case 14:case"end":return a.stop()}},k,this)})},{key:"removeOperation",value:regeneratorRuntime.mark(function w(e){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(this.os["delete"](e),"t0",1);case 1:case"end":return t.stop()}},w,this)})},{key:"setState",value:regeneratorRuntime.mark(function x(e){var t;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t={id:[e.user],clock:e.clock},r.delegateYield(this.ss.put(t),"t0",2);case 2:case"end":return r.stop()}},x,this)})},{key:"getState",value:regeneratorRuntime.mark(function O(e){var t,r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.delegateYield(this.ss.find([e]),"t0",1);case 1:return t=n.t0,r=null==t?null:t.clock,null==r&&(r=0),n.abrupt("return",{user:e,clock:r});case 5:case"end":return n.stop()}},O,this)})},{key:"getStateVector",value:regeneratorRuntime.mark(function S(){var e;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e=[],t.delegateYield(this.ss.iterate(this,null,null,regeneratorRuntime.mark(function r(t){return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:e.push({user:t.id[0],clock:t.clock});case 1:case"end":return r.stop()}},r,this)})),"t0",2);case 2:return t.abrupt("return",e);case 3:case"end":return t.stop()}},S,this)})},{key:"getStateSet",value:regeneratorRuntime.mark(function Y(){var e;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e={},t.delegateYield(this.ss.iterate(this,null,null,regeneratorRuntime.mark(function r(t){return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:e[t.id[0]]=t.clock;case 1:case"end":return r.stop()}},r,this)})),"t0",2);case 2:return t.abrupt("return",e);case 3:case"end":return t.stop()}},Y,this)})},{key:"getOperations",value:regeneratorRuntime.mark(function R(t){var r,n,i,a,s,o,u,c,l,d;return regeneratorRuntime.wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return null==t&&(t={}),r=[],f.delegateYield(this.getStateVector(),"t0",3);case 3:n=f.t0,i=!0,a=!1,s=void 0,f.prev=7,o=n[Symbol.iterator]();case 9:if(i=(u=o.next()).done){f.next=19;break}if(c=u.value,l=c.user,"_"!==l){f.next=14;break}return f.abrupt("continue",16);case 14:return d=t[l]||0,f.delegateYield(this.os.iterate(this,[l,d],[l,Number.MAX_VALUE],regeneratorRuntime.mark(function h(n){var i,a,s,o;return regeneratorRuntime.wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(n=e.Struct[n.struct].encode(n),"Insert"===n.struct){u.next=5;break}r.push(n),u.next=27;break;case 5:if(!(null==n.right||n.right[1]<(t[n.right[0]]||0))){u.next=27;break}i=n,a=[n],s=n.right;case 9:if(null!=i.left){u.next=15;break}return n.left=null,r.push(n),e.utils.compareIds(i.id,n.id)||(i=e.Struct[n.struct].encode(i),i.right=a[a.length-1].id,r.push(i)),u.abrupt("break",27);case 15:return u.delegateYield(this.getOperation(i.left),"t0",16);case 16:for(i=u.t0;a.length>0&&e.utils.compareIds(a[a.length-1].origin,i.id);)a.pop();if(!(i.id[1]<(t[i.id[0]]||0))){u.next=24;break}return n.left=i.id,r.push(n),u.abrupt("break",27);case 24:e.utils.compareIds(i.id,n.origin)?(n.left=n.origin,r.push(n),n=e.Struct[n.struct].encode(i),n.right=s,a.length>0&&console.log("This should not happen .. :( please report this"),a=[n]):(o=e.Struct[n.struct].encode(i),o.right=a[a.length-1].id,o.left=o.origin,r.push(o),a.push(i));case 25:u.next=9;break;case 27:case"end":return u.stop()}},h,this)})),"t1",16);case 16:i=!0,f.next=9;break;case 19:f.next=25;break;case 21:f.prev=21,f.t2=f["catch"](7),a=!0,s=f.t2;case 25:f.prev=25,f.prev=26,!i&&o["return"]&&o["return"]();case 28:if(f.prev=28,!a){f.next=31;break}throw s;case 31:return f.finish(28);case 32:return f.finish(25);case 33:return f.abrupt("return",r.reverse());case 34:case"end":return f.stop()}},R,this,[[7,21,25,33],[26,,28,32]])})}]),t}();e.Transaction=t}},{}],8:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.exports=function(e){function t(e){var t={};for(var r in e)t[r]=e[r];return t}function r(e,t){return e[0]<t[0]||e[0]===t[0]&&e[1]<t[1]}function a(e,t){return null==e||null==t?null==e&&null==t?!0:!1:e[0]===t[0]&&e[1]===t[1]?!0:!1}e.utils={};var s=function(){function t(e){n(this,t),this.waiting=[],this.awaiting=0,this.onevent=e,this.eventListeners=[]}return i(t,[{key:"receivedOp",value:function(t){this.awaiting<=0?this.onevent([t]):this.waiting.push(e.utils.copyObject(t))}},{key:"awaitAndPrematurelyCall",value:function(e){this.awaiting++,this.onevent(e)}},{key:"addEventListener",value:function(e){this.eventListeners.push(e)}},{key:"removeEventListener",value:function(e){this.eventListeners=this.eventListeners.filter(function(t){return e!==t})}},{key:"removeAllEventListeners",value:function(){this.eventListeners=[]}},{key:"callEventListeners",value:function(e){for(var t=0;t<this.eventListeners.length;t++)try{this.eventListeners[t](e)}catch(r){console.log("User events must not throw Errors!")}}},{key:"awaitedInserts",value:function(t){for(var r=this.waiting.splice(this.waiting.length-t),n=0;n<r.length;n++){var i=r[n];if("Insert"!==i.struct)throw new Error("Expected Insert Operation!");for(var a=this.waiting.length-1;a>=0;a--){var s=this.waiting[a];"Insert"===s.struct&&(e.utils.compareIds(i.left,s.id)?(s.right=i.id,i.left=s.left):e.utils.compareIds(i.right,s.id)&&(s.left=i.id,i.right=s.right))}}this._tryCallEvents()}},{key:"awaitedDeletes",value:function(t,r){for(var n=this.waiting.splice(this.waiting.length-t),i=0;i<n.length;i++){var a=n[i];if("Delete"!==a.struct)throw new Error("Expected Delete Operation!");if(null!=r)for(var s=0;s<this.waiting.length;s++){var o=this.waiting[s];"Insert"===o.struct&&e.utils.compareIds(a.target,o.left)&&(o.left=r)}}this._tryCallEvents()}},{key:"_tryCallEvents",value:function(){if(this.awaiting--,this.awaiting<=0&&this.waiting.length>0){var e=this.waiting;this.waiting=[],this.onevent(e)}}}]),t}();e.utils.EventHandler=s;var o=function u(e){if(n(this,u),null==e.struct||null==e.initType||null==e["class"]||null==e.name)throw new Error("Custom type was not initialized correctly!");this.struct=e.struct,this.initType=e.initType,this["class"]=e["class"],this.name=e.name};e.utils.CustomType=o,e.utils.copyObject=t,e.utils.smaller=r,e.utils.compareIds=a}},{}],9:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(t){for(var r="undefined"!=typeof regeneratorRuntime?".js":".es6",n=[],i=0;i<t.length;i++){var s="y-"+t[i].toLowerCase();if(null==a[t[i]])if(null==o[t[i]])if("undefined"!=typeof window&&"undefined"!==window.Y){var u;!function(){u=document.createElement("script"),u.src=a.sourceDir+"/"+s+"/"+s+r,document.head.appendChild(u);var e={};o[t[i]]=e,e.promise=new Promise(function(t){e.resolve=t}),n.push(e.promise)}()}else e(s)(a);else n.push(o[t[i]].promise)}return Promise.all(n)}function a(e){e.types=null!=e.types?e.types:[];var t=[e.db.name,e.connector.name].concat(e.types);for(var r in e.share)t.push(e.share[r]);return a.sourceDir=e.sourceDir,a.requestModules(t).then(function(){return new Promise(function(t){var r=new u(e);r.db.whenUserIdSet(function(){r.init(function(){t(r)})})})})}var s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();e("./Connector.js")(a),e("./Database.js")(a),e("./Transaction.js")(a),e("./Struct.js")(a),e("./Utils.js")(a),e("./Connectors/Test.js")(a);var o={};t.exports=a,a.requiringModules=o,a.extend=function(e,t){a[e]=t,null!=o[e]&&(o[e].resolve(),delete o[e])},a.requestModules=i;var u=function(){function e(t,r){n(this,e),this.db=new a[t.db.name](this,t.db),this.connector=new a[t.connector.name](this,t.connector),this.options=t}return s(e,[{key:"init",value:function(e){var t=this.options,r={};this.share=r,this.db.requestTransaction(regeneratorRuntime.mark(function n(){var i,s,o,u;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:n.t0=regeneratorRuntime.keys(t.share);case 1:if((n.t1=n.t0()).done){n.next=14;break}return i=n.t1.value,s=t.share[i],o=["_",a[s].struct+"_"+i],n.delegateYield(this.getOperation(o),"t2",6);case 6:if(u=n.t2,u.type===s){n.next=10;break}return u.type=s,n.delegateYield(this.setOperation(u),"t3",10);case 10:return n.delegateYield(this.getType(o),"t4",11);case 11:r[i]=n.t4,n.next=1;break;case 14:setTimeout(e,0);case 15:case"end":return n.stop()}},n,this)}))}},{key:"isConnected",value:function(){return this.connector.isSynced}},{key:"disconnect",value:function(){return this.connector.disconnect()}},{key:"reconnect",value:function(){return this.connector.reconnect()}},{key:"destroy",value:function(){this.disconnect(),this.db.destroy(),this.connector=null,this.db=null}}]),e}();"undefined"!=typeof window&&(window.Y=a)},{"./Connector.js":3,"./Connectors/Test.js":4,"./Database.js":5,"./Struct.js":6,"./Transaction.js":7,"./Utils.js":8}]},{},[2,9]);
//# sourceMappingURL=y.js.map
{
"name": "yjs",
"version": "0.8.3",
"version": "0.8.4",
"description": "A framework for real-time p2p shared editing on arbitrary complex data types",

@@ -5,0 +5,0 @@ "main": "./src/y.js",

@@ -96,4 +96,5 @@ /* @flow */

return new Promise(function (resolve) {
var yconfig = new YConfig(opts, function () {
yconfig.db.whenUserIdSet(function () {
var yconfig = new YConfig(opts)
yconfig.db.whenUserIdSet(function () {
yconfig.init(function () {
resolve(yconfig)

@@ -115,2 +116,6 @@ })

this.connector = new Y[opts.connector.name](this, opts.connector)
this.options = opts
}
init (callback) {
var opts = this.options
var share = {}

@@ -117,0 +122,0 @@ this.share = share

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc