first commit
This commit is contained in:
26
public/assets/quill-delta/src/Op.ts
Normal file
26
public/assets/quill-delta/src/Op.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import AttributeMap from './AttributeMap';
|
||||
|
||||
interface Op {
|
||||
// only one property out of {insert, delete, retain} will be present
|
||||
insert?: string | Record<string, unknown>;
|
||||
delete?: number;
|
||||
retain?: number | Record<string, unknown>;
|
||||
|
||||
attributes?: AttributeMap;
|
||||
}
|
||||
|
||||
namespace Op {
|
||||
export function length(op: Op): number {
|
||||
if (typeof op.delete === 'number') {
|
||||
return op.delete;
|
||||
} else if (typeof op.retain === 'number') {
|
||||
return op.retain;
|
||||
} else if (typeof op.retain === 'object' && op.retain !== null) {
|
||||
return 1;
|
||||
} else {
|
||||
return typeof op.insert === 'string' ? op.insert.length : 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default Op;
|
||||
Reference in New Issue
Block a user