gc more efficiently

This commit is contained in:
Kevin Jahns
2019-04-23 20:51:32 +02:00
parent bb6f6cd141
commit 45237571b7
15 changed files with 1402 additions and 1335 deletions

View File

@@ -197,6 +197,29 @@ export const typeArrayToArray = type => {
return cs
}
/**
* @param {AbstractType<any>} type
* @param {Snapshot} snapshot
* @return {Array<any>}
*
* @private
* @function
*/
export const typeArrayToArraySnapshot = (type, snapshot) => {
const cs = []
let n = type._start
while (n !== null) {
if (n.countable && isVisible(n, snapshot)) {
const c = n.getContent()
for (let i = 0; i < c.length; i++) {
cs.push(c[i])
}
}
n = n.right
}
return cs
}
/**
* Executes a provided function on once on overy element of this YArray.
*