fix: wrappedEmit is not a function (#1034)
Co-authored-by: wangfukang <wangfukang@kuaishou.com>
This commit is contained in:
@@ -42,6 +42,7 @@ let wrappedEmit!: (e: eventWithTime, isCheckout?: boolean) => void;
|
||||
|
||||
let takeFullSnapshot!: (isCheckout?: boolean) => void;
|
||||
let canvasManager!: CanvasManager;
|
||||
let recording = false;
|
||||
|
||||
const mirror = createMirror();
|
||||
function record<T = eventWithTime>(
|
||||
@@ -535,6 +536,7 @@ function record<T = eventWithTime>(
|
||||
const init = () => {
|
||||
takeFullSnapshot();
|
||||
handlers.push(observe(document));
|
||||
recording = true;
|
||||
};
|
||||
if (
|
||||
document.readyState === 'interactive' ||
|
||||
@@ -560,9 +562,7 @@ function record<T = eventWithTime>(
|
||||
}
|
||||
return () => {
|
||||
handlers.forEach((h) => h());
|
||||
// reset init fns when stopping record
|
||||
(wrappedEmit as unknown) = undefined;
|
||||
(takeFullSnapshot as unknown) = undefined;
|
||||
recording = false;
|
||||
};
|
||||
} catch (error) {
|
||||
// TODO: handle internal error
|
||||
@@ -571,7 +571,7 @@ function record<T = eventWithTime>(
|
||||
}
|
||||
|
||||
record.addCustomEvent = <T>(tag: string, payload: T) => {
|
||||
if (!wrappedEmit) {
|
||||
if (!recording) {
|
||||
throw new Error('please add custom event after start recording');
|
||||
}
|
||||
wrappedEmit(
|
||||
@@ -590,7 +590,7 @@ record.freezePage = () => {
|
||||
};
|
||||
|
||||
record.takeFullSnapshot = (isCheckout?: boolean) => {
|
||||
if (!takeFullSnapshot) {
|
||||
if (!recording) {
|
||||
throw new Error('please take full snapshot after start recording');
|
||||
}
|
||||
takeFullSnapshot(isCheckout);
|
||||
|
||||
Reference in New Issue
Block a user