Remove INode (node.__sn) and use Mirror as source of truth (#868)
* 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>
This commit is contained in:
16
packages/rrweb-snapshot/typings/rebuild.d.ts
vendored
16
packages/rrweb-snapshot/typings/rebuild.d.ts
vendored
@@ -1,19 +1,21 @@
|
||||
import { serializedNodeWithId, idNodeMap, INode, BuildCache } from './types';
|
||||
import { serializedNodeWithId, BuildCache } from './types';
|
||||
import { Mirror } from './utils';
|
||||
export declare function addHoverClass(cssText: string, cache: BuildCache): string;
|
||||
export declare function createCache(): BuildCache;
|
||||
export declare function buildNodeWithSN(n: serializedNodeWithId, options: {
|
||||
doc: Document;
|
||||
map: idNodeMap;
|
||||
mirror: Mirror;
|
||||
skipChild?: boolean;
|
||||
hackCss: boolean;
|
||||
afterAppend?: (n: INode) => unknown;
|
||||
afterAppend?: (n: Node) => unknown;
|
||||
cache: BuildCache;
|
||||
}): INode | null;
|
||||
}): Node | null;
|
||||
declare function rebuild(n: serializedNodeWithId, options: {
|
||||
doc: Document;
|
||||
onVisit?: (node: INode) => unknown;
|
||||
onVisit?: (node: Node) => unknown;
|
||||
hackCss?: boolean;
|
||||
afterAppend?: (n: INode) => unknown;
|
||||
afterAppend?: (n: Node) => unknown;
|
||||
cache: BuildCache;
|
||||
}): [Node | null, idNodeMap];
|
||||
mirror: Mirror;
|
||||
}): Node | null;
|
||||
export default rebuild;
|
||||
|
||||
Reference in New Issue
Block a user