re-add addCustomEvent function via function property

This commit is contained in:
Yanzhen Yu
2026-04-01 12:00:00 +08:00
parent f872ed143b
commit 2ac8634607
4 changed files with 24 additions and 18 deletions

View File

@@ -1,4 +1,4 @@
import record, { addCustomEvent } from './record';
import record from './record';
import { Replayer } from './replay';
import { mirror } from './utils';
@@ -8,4 +8,7 @@ export {
MouseInteractions,
ReplayerEvents,
} from './types';
const { addCustomEvent } = record;
export { record, addCustomEvent, Replayer, mirror };

View File

@@ -25,21 +25,6 @@ function wrapEvent(e: event): eventWithTime {
let wrappedEmit!: (e: eventWithTime, isCheckout?: boolean) => void;
export function addCustomEvent<T>(tag: string, payload: T) {
if (!wrappedEmit) {
throw new Error('please add custom event after start recording');
}
wrappedEmit(
wrapEvent({
type: EventType.Custom,
data: {
tag,
payload,
},
}),
);
}
function record(options: recordOptions = {}): listenerHandler | undefined {
const {
emit,
@@ -228,4 +213,19 @@ function record(options: recordOptions = {}): listenerHandler | undefined {
}
}
record.addCustomEvent = <T>(tag: string, payload: T) => {
if (!wrappedEmit) {
throw new Error('please add custom event after start recording');
}
wrappedEmit(
wrapEvent({
type: EventType.Custom,
data: {
tag,
payload,
},
}),
);
};
export default record;

3
typings/index.d.ts vendored
View File

@@ -1,5 +1,6 @@
import record, { addCustomEvent } from './record';
import record from './record';
import { Replayer } from './replay';
import { mirror } from './utils';
export { EventType, IncrementalSource, MouseInteractions, ReplayerEvents, } from './types';
declare const addCustomEvent: <T>(tag: string, payload: T) => void;
export { record, addCustomEvent, Replayer, mirror };

View File

@@ -1,4 +1,6 @@
import { recordOptions, listenerHandler } from '../types';
export declare function addCustomEvent<T>(tag: string, payload: T): void;
declare function record(options?: recordOptions): listenerHandler | undefined;
declare namespace record {
var addCustomEvent: <T>(tag: string, payload: T) => void;
}
export default record;