json-joy
Version:
Collection of libraries for building collaborative editing apps.
23 lines (22 loc) • 742 B
TypeScript
import type { CompactMergeOp } from '../codec/compact/types';
import { AbstractOp } from './AbstractOp';
import type { OperationMerge } from '../types';
import { type Path } from '@jsonjoy.com/json-pointer';
import { OPCODE } from '../constants';
/**
* @category JSON Patch Extended
*/
export declare class OpMerge extends AbstractOp<'merge'> {
readonly pos: number;
readonly props: object | null;
constructor(path: Path, pos: number, props: object | null);
op(): "merge";
code(): OPCODE;
apply(doc: unknown): {
doc: unknown;
old: unknown[];
};
private merge;
toJson(parent?: AbstractOp): OperationMerge;
toCompact(parent: undefined | AbstractOp, verbose: boolean): CompactMergeOp;
}