File: /home/dmstechonline/whatsapp.dmstech.online/node_modules/quill-delta/src/Op.ts
import AttributeMap from './AttributeMap';
import Iterator from './Iterator';
interface Op {
// only one property out of {insert, delete, retain} will be present
insert?: string | object;
delete?: number;
retain?: number;
attributes?: AttributeMap;
}
namespace Op {
export function iterator(ops: Op[]): Iterator {
return new Iterator(ops);
}
export function length(op: Op): number {
if (typeof op.delete === 'number') {
return op.delete;
} else if (typeof op.retain === 'number') {
return op.retain;
} else {
return typeof op.insert === 'string' ? op.insert.length : 1;
}
}
}
export default Op;