From 0be0398eba48f7a447b6beb0f11ae75b34d4a64b Mon Sep 17 00:00:00 2001 From: Billy Vong Date: Tue, 10 Jan 2023 20:39:57 -0500 Subject: [PATCH 1/2] update types --- packages/rrweb-snapshot/typings/snapshot.d.ts | 8 +++++++- packages/rrweb-snapshot/typings/utils.d.ts | 5 ++++- packages/rrweb/typings/record/mutation.d.ts | 3 +++ packages/rrweb/typings/types.d.ts | 8 +++++++- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/packages/rrweb-snapshot/typings/snapshot.d.ts b/packages/rrweb-snapshot/typings/snapshot.d.ts index b970f751eb..160f4b795f 100644 --- a/packages/rrweb-snapshot/typings/snapshot.d.ts +++ b/packages/rrweb-snapshot/typings/snapshot.d.ts @@ -4,7 +4,7 @@ export declare function absoluteToStylesheet(cssText: string | null, href: strin export declare function absoluteToDoc(doc: Document, attributeValue: string): string; export declare function transformAttribute(doc: Document, tagName: string, name: string, value: string): string; export declare function _isBlockedElement(element: HTMLElement, blockClass: string | RegExp, blockSelector: string | null): boolean; -export declare function needMaskingText(node: Node | null, maskTextClass: string | RegExp, maskTextSelector: string | null): boolean; +export declare function needMaskingText(node: Node | null, maskTextClass: string | RegExp, maskTextSelector: string | null, unmaskTextSelector: string | null): boolean; export declare function serializeNodeWithId(n: Node | INode, options: { doc: Document; map: idNodeMap; @@ -12,8 +12,11 @@ export declare function serializeNodeWithId(n: Node | INode, options: { blockSelector: string | null; maskTextClass: string | RegExp; maskTextSelector: string | null; + unmaskTextSelector: string | null; skipChild: boolean; inlineStylesheet: boolean; + maskInputSelector: string | null; + unmaskInputSelector: string | null; maskInputOptions?: MaskInputOptions; maskTextFn: MaskTextFn | undefined; maskInputFn: MaskInputFn | undefined; @@ -32,6 +35,9 @@ declare function snapshot(n: Document, options?: { blockSelector?: string | null; maskTextClass?: string | RegExp; maskTextSelector?: string | null; + unmaskTextSelector?: string | null; + maskInputSelector?: string | null; + unmaskInputSelector?: string | null; inlineStylesheet?: boolean; maskAllInputs?: boolean | MaskInputOptions; maskTextFn?: MaskTextFn; diff --git a/packages/rrweb-snapshot/typings/utils.d.ts b/packages/rrweb-snapshot/typings/utils.d.ts index 6572ab8279..708fb96fa7 100644 --- a/packages/rrweb-snapshot/typings/utils.d.ts +++ b/packages/rrweb-snapshot/typings/utils.d.ts @@ -1,7 +1,10 @@ import { INode, MaskInputFn, MaskInputOptions } from './types'; export declare function isElement(n: Node | INode): n is Element; export declare function isShadowRoot(n: Node): n is ShadowRoot; -export declare function maskInputValue({ maskInputOptions, tagName, type, value, maskInputFn, }: { +export declare function maskInputValue({ input, maskInputSelector, unmaskInputSelector, maskInputOptions, tagName, type, value, maskInputFn, }: { + input: HTMLElement; + maskInputSelector: string | null; + unmaskInputSelector: string | null; maskInputOptions: MaskInputOptions; tagName: string; type: string | number | boolean | null; diff --git a/packages/rrweb/typings/record/mutation.d.ts b/packages/rrweb/typings/record/mutation.d.ts index 5f88a664f9..485cba0e4b 100644 --- a/packages/rrweb/typings/record/mutation.d.ts +++ b/packages/rrweb/typings/record/mutation.d.ts @@ -15,6 +15,9 @@ export default class MutationBuffer { private blockSelector; private maskTextClass; private maskTextSelector; + private unmaskTextSelector; + private maskInputSelector; + private unmaskInputSelector; private inlineStylesheet; private maskInputOptions; private maskTextFn; diff --git a/packages/rrweb/typings/types.d.ts b/packages/rrweb/typings/types.d.ts index ae3aa94ca3..a779ae3f81 100644 --- a/packages/rrweb/typings/types.d.ts +++ b/packages/rrweb/typings/types.d.ts @@ -141,9 +141,12 @@ export declare type recordOptions = { maskTextClass?: maskTextClass; maskTextSelector?: string; maskAllInputs?: boolean; + maskInputSelector?: string; maskInputOptions?: MaskInputOptions; maskInputFn?: MaskInputFn; maskTextFn?: MaskTextFn; + unmaskTextSelector?: string; + unmaskInputSelector?: string; slimDOMOptions?: SlimDOMOptions | 'all' | true; inlineStylesheet?: boolean; hooks?: hooksParam; @@ -170,6 +173,9 @@ export declare type observerParam = { ignoreClass: string; maskTextClass: maskTextClass; maskTextSelector: string | null; + unmaskTextSelector: string | null; + maskInputSelector: string | null; + unmaskInputSelector: string | null; maskInputOptions: MaskInputOptions; maskInputFn?: MaskInputFn; maskTextFn?: MaskTextFn; @@ -195,7 +201,7 @@ export declare type observerParam = { options: unknown; }>; }; -export declare type MutationBufferParam = Pick; +export declare type MutationBufferParam = Pick; export declare type hooksParam = { mutation?: mutationCallBack; mousemove?: mousemoveCallBack; From e9cedcaac0738abdd196a2a3c313bbc1ace4ce63 Mon Sep 17 00:00:00 2001 From: Billy Vong Date: Wed, 11 Jan 2023 10:18:59 -0500 Subject: [PATCH 2/2] update