Implement experimental new encoder 🚀

This commit is contained in:
Kevin Jahns
2020-07-12 18:25:45 +02:00
parent e31e968f0d
commit 6c2cf0f769
36 changed files with 1224 additions and 336 deletions

View File

@@ -2,11 +2,9 @@
import {
AbstractStruct,
addStruct,
StructStore, Transaction, ID // eslint-disable-line
AbstractUpdateEncoder, StructStore, Transaction, ID // eslint-disable-line
} from '../internals.js'
import * as encoding from 'lib0/encoding.js'
export const structGCRefNumber = 0
/**
@@ -41,12 +39,12 @@ export class GC extends AbstractStruct {
}
/**
* @param {encoding.Encoder} encoder
* @param {AbstractUpdateEncoder} encoder
* @param {number} offset
*/
write (encoder, offset) {
encoding.writeUint8(encoder, structGCRefNumber)
encoding.writeVarUint(encoder, this.length - offset)
encoder.writeInfo(structGCRefNumber)
encoder.writeLen(this.length - offset)
}
/**