UNPKG

@ckeditor/ckeditor5-operations-compressor

Version:

CKEditor 5 operations compressor for real-time collaboration.

29 lines (28 loc) 1.26 kB
/** * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ import type { CompressedOperationsData, CompressionInput, DecompressionInput } from '../compressor.js'; import type { ProtobufDescriptor } from '../protobuffactory.js'; import type { Operation } from '@ckeditor/ckeditor5-engine'; /** * Compresses and decompresses single operation to the binary format. */ export declare class OperationCompressor { constructor(id: number, operationName: string, protobufDescriptor: ProtobufDescriptor); /** * Serializes and consumes the first operation from the list. * * @param result Object to which compression result will be added. * @param input Input data to compress. The operation compressor will compress one operation (at `input.index`) and increment * `input.index`. */ compress(result: CompressedOperationsData, input: CompressionInput): boolean; /** * Deserializes and consumes buffered operation. * * @param result Decompressed operation. * @param input Input data to decompress. */ decompress(result: Array<Operation>, input: DecompressionInput): void; }