From 76b8758b916ac1748f14e860cac4de54a4adeab3 Mon Sep 17 00:00:00 2001 From: Enes Kutay SEZEN Date: Tue, 19 Aug 2025 15:36:46 +0300 Subject: [PATCH] Update types to fix type test problems --- src/types/events.d.ts | 39 ++++++++++++++++++++++++++++++++++++ src/types/index.d.ts | 1 - src/types/request-queue.d.ts | 29 +++++++++++++++++++++++++++ src/types/tracker.d.ts | 6 +++--- 4 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 src/types/events.d.ts create mode 100644 src/types/request-queue.d.ts diff --git a/src/types/events.d.ts b/src/types/events.d.ts new file mode 100644 index 00000000..16955aa3 --- /dev/null +++ b/src/types/events.d.ts @@ -0,0 +1,39 @@ +// Source: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/events/index.d.ts + +export type Listener = (...args: any[]) => void; + +export class EventEmitter { + static listenerCount(emitter: EventEmitter, type: string | number): number; + + static defaultMaxListeners: number; + + eventNames(): Array; + + setMaxListeners(n: number): this; + + getMaxListeners(): number; + + emit(type: string | number, ...args: any[]): boolean; + + addListener(type: string | number, listener: Listener): this; + + on(type: string | number, listener: Listener): this; + + once(type: string | number, listener: Listener): this; + + prependListener(type: string | number, listener: Listener): this; + + prependOnceListener(type: string | number, listener: Listener): this; + + removeListener(type: string | number, listener: Listener): this; + + off(type: string | number, listener: Listener): this; + + removeAllListeners(type?: string | number): this; + + listeners(type: string | number): Listener[]; + + listenerCount(type: string | number): number; + + rawListeners(type: string | number): Listener[]; +} diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 1d5f0a52..ce217566 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -10,7 +10,6 @@ export * from './recommendations'; export * from './browse'; export * from './tracker'; export * from './event-dispatcher'; -export * from './constructorio'; export interface NetworkParameters extends Record { timeout?: number; diff --git a/src/types/request-queue.d.ts b/src/types/request-queue.d.ts new file mode 100644 index 00000000..653145f3 --- /dev/null +++ b/src/types/request-queue.d.ts @@ -0,0 +1,29 @@ +import { EventEmitter } from './events'; + +export default class RequestQueue { + constructor(options: any, eventemitter: EventEmitter); + + options: any; + + eventemitter: EventEmitter; + + humanity: any; + + requestPending: boolean; + + pageUnloading: boolean; + + sendTrackingEvents: boolean; + + queue(url: string, method?: string, body?: any, networkParameters?: any): void; + + sendEvents(): void; + + send(): void; + + static get(): any[]; + + static set(queue: any[]): void; + + static remove(): void; +} diff --git a/src/types/tracker.d.ts b/src/types/tracker.d.ts index 443bcdca..60a21793 100644 --- a/src/types/tracker.d.ts +++ b/src/types/tracker.d.ts @@ -1,6 +1,6 @@ -import EventEmitter = require('events'); +import { EventEmitter } from './events'; import { ConstructorClientOptions, ItemTracked, ItemTrackedPurchase, Question, TimeSpan, NetworkParameters } from '.'; -import RequestQueue = require('../utils/request-queue'); +import RequestQueue from './request-queue'; export default Tracker; @@ -109,7 +109,7 @@ declare class Tracker { trackConversion( term?: string, - parameters: { + parameters?: { itemId: string; revenue?: number; itemName?: string;