Files
NapCatQQ/.pnpm-store/v3/files/35/978c471deb7a0e74ba88187bcd511c451f0fc7370f59271bbf106a772a5a3a5070c8a43e4adb6c7f7e346758a0a4b89c63e81fe4e2322ca7ecff81d32ec1e7
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

27 lines
665 B
Plaintext

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;