40 lines
1.5 KiB
TypeScript
40 lines
1.5 KiB
TypeScript
import { MaskInputOptions, SlimDOMOptions } from 'rrweb-snapshot';
|
|
import { mutationRecord, blockClass, maskTextClass, mutationCallBack, MaskTextFn } from '../types';
|
|
import { IframeManager } from './iframe-manager';
|
|
import { ShadowDomManager } from './shadow-dom-manager';
|
|
export default class MutationBuffer {
|
|
private frozen;
|
|
private locked;
|
|
private texts;
|
|
private attributes;
|
|
private removes;
|
|
private mapRemoves;
|
|
private movedMap;
|
|
private addedSet;
|
|
private movedSet;
|
|
private droppedSet;
|
|
private emissionCallback;
|
|
private blockClass;
|
|
private blockSelector;
|
|
private maskTextClass;
|
|
private maskTextSelector;
|
|
private inlineStylesheet;
|
|
private maskInputOptions;
|
|
private maskTextFn;
|
|
private recordCanvas;
|
|
private slimDOMOptions;
|
|
private doc;
|
|
private iframeManager;
|
|
private shadowDomManager;
|
|
init(cb: mutationCallBack, blockClass: blockClass, blockSelector: string | null, maskTextClass: maskTextClass, maskTextSelector: string | null, inlineStylesheet: boolean, maskInputOptions: MaskInputOptions, maskTextFn: MaskTextFn | undefined, recordCanvas: boolean, slimDOMOptions: SlimDOMOptions, doc: Document, iframeManager: IframeManager, shadowDomManager: ShadowDomManager): void;
|
|
freeze(): void;
|
|
unfreeze(): void;
|
|
isFrozen(): boolean;
|
|
lock(): void;
|
|
unlock(): void;
|
|
processMutations: (mutations: mutationRecord[]) => void;
|
|
emit: () => void;
|
|
private processMutation;
|
|
private genAdds;
|
|
}
|