* Move ids to weakmap * Fix typo * Move from INode to storing serialized data in mirror * Update packages/rrweb-snapshot/src/rebuild.ts Co-authored-by: Yun Feng <yun.feng@anu.edu.au> * Remove unnessisary `as Node` typecastings Fixes: https://github.com/rrweb-io/rrweb/pull/868#discussion_r842240758 * Remove unnessisary `as unknown as ...` * Remove unnessisary `as unknown as ...` * Reset mirror when recording starts Solves: https://github.com/rrweb-io/rrweb/pull/868#discussion_r842249599 * API has changed for snapshot, change test to reflect that * Allow for es5 compatibility * Remove unnessisary as unknown as ... and change test to reflect the API change * Refactor mirror to remove `nodeIdMap` Fixes: https://github.com/rrweb-io/rrweb/pull/868#discussion_r842732696 Co-authored-by: Yun Feng <yun.feng@anu.edu.au>
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { MaskInputFn, MaskInputOptions, serializedNodeWithId } from './types';
|
|
export declare function isElement(n: Node): n is Element;
|
|
export declare function isShadowRoot(n: Node): n is ShadowRoot;
|
|
export declare class Mirror {
|
|
private idNodeMap;
|
|
private nodeMetaMap;
|
|
getId(n: Node | undefined | null): number;
|
|
getNode(id: number): Node | null;
|
|
getIds(): number[];
|
|
getMeta(n: Node): serializedNodeWithId | null;
|
|
removeNodeFromMap(n: Node): void;
|
|
has(id: number): boolean;
|
|
hasNode(node: Node): boolean;
|
|
add(n: Node, meta: serializedNodeWithId): void;
|
|
replace(id: number, n: Node): void;
|
|
reset(): void;
|
|
}
|
|
export declare function createMirror(): Mirror;
|
|
export declare function maskInputValue({ maskInputOptions, tagName, type, value, maskInputFn, }: {
|
|
maskInputOptions: MaskInputOptions;
|
|
tagName: string;
|
|
type: string | number | boolean | null;
|
|
value: string | null;
|
|
maskInputFn?: MaskInputFn;
|
|
}): string;
|
|
export declare function is2DCanvasBlank(canvas: HTMLCanvasElement): boolean;
|