@kizahasi/ot-string
Operational Transfomation library for string.
Example
import { TextTwoWayOperation, TextUpOperation, TextDownOperation } from '@kizahasi/ot-string';
const twoWayOperation: TextTwoWayOperation.Operation = TextTwoWayOperation.diff(
{
first: 'Roses are red',
second: 'Violets are blue',
}
);
const upOperation: TextUpOperation.Operation = TextTwoWayOperation.toUpOperation(
twoWayOperation
);
const second = TextUpOperation.apply({
prevState: 'Roses are red',
action: upOperation,
});
const downOperation: TextDownOperation.Operation = TextTwoWayOperation.toDownOperation(
twoWayOperation
);
const first = TextDownOperation.applyBack({
nextState: 'Violets are blue',
action: downOperation,
});
const upOperationAsUnitArray = TextUpOperation.toUnit(upOperation);
const downOperationAsUnitArray = TextDownOperation.toUnit(downOperation);
const upOperation2 = TextUpOperation.ofUnit(upOperationAsUnitArray);
const downOperation2 = TextDownOperation.ofUnit(downOperationAsUnitArray);
Issues
- Because this library uses Typescipt namespace, tree-shaking may not work well to reduce the code size.
- Some functions are not implemented (e.g. TextUpOperation.diff).