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;