diff --git a/src/Database.js b/src/Database.js index 4b48362909988c7fcee7695e159289e61bbb8ce6..d1aca8fe91c91cc06839d3f186d957ba590b4db6 100644 --- a/src/Database.js +++ b/src/Database.js @@ -513,7 +513,7 @@ module.exports = function (Y /* :any */) { } /* Init type. This is called when a remote operation is retrieved, and transformed to a type - TODO: delete type from store.initializedTypes[id] when corresponding id was deleted! + TODO: delete type from store.initializedTypes[id] when corresponding id was deleted! */ * initType (id, args) { var sid = JSON.stringify(id) @@ -535,12 +535,7 @@ module.exports = function (Y /* :any */) { id = id || this.getNextOpId(1) var op = Y.Struct[structname].create(id) op.type = typedefinition[0].name - - /* TODO: implement for y-xml support - if (typedefinition[0].appendAdditionalInfo != null) { - yield* typedefinition[0].appendAdditionalInfo.call(this, op, typedefinition[1]) - } - */ + this.requestTransaction(function * () { if (op.id[0] === '_') { yield* this.setOperation(op) diff --git a/src/SpecHelper.js b/src/SpecHelper.js index 8eab49351a7f925322b424cd729df1c374f22727..b06eca0746a6af8cb057025913c6b69d1cfe36c6 100644 --- a/src/SpecHelper.js +++ b/src/SpecHelper.js @@ -122,7 +122,7 @@ function * applyTransactions (relAmount, numberOfTransactions, objects, users, t // therefore, operations of the database will be (pre)transformed until user operations arrive yield (function simulateConcurrentUserInteractions (type) { if (!(type instanceof Y.utils.CustomType) && type.y instanceof Y.utils.CustomType) { - // usually we expect type to be a custom type. But in YXml we share an object {y: YXml, dom: Dom} instead + // usually we expect type to be a custom type. But in YXml we share an object {y: YXml, dom: Dom} instead type = type.y } if (type.eventHandler.awaiting === 0 && type.eventHandler._debuggingAwaiting !== true) { @@ -161,7 +161,7 @@ function * applyTransactions (relAmount, numberOfTransactions, objects, users, t function fixAwaitingInType (type) { if (!(type instanceof Y.utils.CustomType) && type.y instanceof Y.utils.CustomType) { - // usually we expect type to be a custom type. But in YXml we share an object {y: YXml, dom: Dom} instead + // usually we expect type to be a custom type. But in YXml we share an object {y: YXml, dom: Dom} instead type = type.y } return new Promise(function (resolve) { diff --git a/src/Utils.js b/src/Utils.js index 41cf74b4fe89738ec1a31faf62a70449e00f28e1..6243cc071e0bed25dcfbb36714e11dcbbf6b25c1 100644 --- a/src/Utils.js +++ b/src/Utils.js @@ -295,7 +295,7 @@ module.exports = function (Y /* : any*/) { var _o = yield* transaction.getInsertion(o.id) if (_o.parentSub != null && _o.left != null) { // if o is an insertion of a map struc (parentSub is defined), then it shouldn't be necessary to compute left - this.waiting.splice(i,1) + this.waiting.splice(i, 1) i-- // update index } else if (!Y.utils.compareIds(_o.id, o.id)) { // o got extended