rename transaction._replacedItems to transaction._mergeStructs
This commit is contained in:
parent
9c29d820c8
commit
759ecb21f7
@ -56,7 +56,7 @@ export const splitItem = (transaction, leftItem, diff) => {
|
||||
rightItem.right.left = rightItem
|
||||
}
|
||||
// right is more specific.
|
||||
transaction._replacedItems.add(rightItem)
|
||||
transaction._mergeStructs.add(rightItem.id)
|
||||
return rightItem
|
||||
}
|
||||
|
||||
@ -430,7 +430,7 @@ export class AbstractItem extends AbstractStruct {
|
||||
}
|
||||
}
|
||||
replaceStruct(store, this, r)
|
||||
transaction._replacedItems.add(r)
|
||||
transaction._mergeStructs.add(r.id)
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2,8 +2,6 @@
|
||||
* @module structs
|
||||
*/
|
||||
|
||||
// TODO: ItemBinary should be able to merge with right (similar to other items). Or the other items (ItemJSON) should not be able to merge - extra byte + consistency
|
||||
|
||||
import {
|
||||
AbstractItem,
|
||||
AbstractItemRef,
|
||||
|
@ -14,7 +14,7 @@ import {
|
||||
callEventHandlerListeners,
|
||||
AbstractItem,
|
||||
ItemDeleted,
|
||||
AbstractType, AbstractStruct, YEvent, Y // eslint-disable-line
|
||||
ID, AbstractType, AbstractStruct, YEvent, Y // eslint-disable-line
|
||||
} from '../internals.js'
|
||||
|
||||
import * as encoding from 'lib0/encoding.js'
|
||||
@ -86,9 +86,9 @@ export class Transaction {
|
||||
*/
|
||||
this._updateMessage = null
|
||||
/**
|
||||
* @type {Set<AbstractStruct>}
|
||||
* @type {Set<ID>}
|
||||
*/
|
||||
this._replacedItems = new Set()
|
||||
this._mergeStructs = new Set()
|
||||
}
|
||||
/**
|
||||
* @type {encoding.Encoder|null}
|
||||
@ -213,12 +213,10 @@ export const transact = (y, f) => {
|
||||
}
|
||||
}
|
||||
}
|
||||
// try to merge replacedItems
|
||||
// TODO: replacedItems should hold ids
|
||||
for (const replacedItem of transaction._replacedItems) {
|
||||
const id = replacedItem.id
|
||||
const client = id.client
|
||||
const clock = id.clock
|
||||
// try to merge mergeStructs
|
||||
for (const mid of transaction._mergeStructs) {
|
||||
const client = mid.client
|
||||
const clock = mid.clock
|
||||
/**
|
||||
* @type {Array<AbstractStruct>}
|
||||
*/
|
||||
|
@ -148,7 +148,6 @@ export const readClientsStructRefs = decoder => {
|
||||
* @param {Transaction} transaction
|
||||
* @param {StructStore} store
|
||||
*
|
||||
* @todo reimplement without iterators - read everything in arrays instead
|
||||
*/
|
||||
const resumeStructIntegration = (transaction, store) => {
|
||||
const stack = store.pendingStack
|
||||
|
@ -306,8 +306,6 @@ const arrayTransactions = [
|
||||
}
|
||||
]
|
||||
|
||||
// TODO: http://127.0.0.1:3443/?filter=\[22/&seed=1943600076
|
||||
|
||||
/**
|
||||
* @param {t.TestCase} tc
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user