From 01fac1a04a104f59804c948a801ae0853a92e74a Mon Sep 17 00:00:00 2001 From: Cedric Sohrauer Date: Wed, 26 Feb 2020 01:30:48 +0100 Subject: [PATCH] mixpanel-browser: Add transport support (#42318) this was added with mixpanel 2.33 --- types/mixpanel-browser/index.d.ts | 8 ++++++-- types/mixpanel-browser/mixpanel-browser-tests.ts | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/types/mixpanel-browser/index.d.ts b/types/mixpanel-browser/index.d.ts index 76a56a64c2..98f41b6edf 100644 --- a/types/mixpanel-browser/index.d.ts +++ b/types/mixpanel-browser/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for mixpanel-browser 2.23 +// Type definitions for mixpanel-browser 2.33 // Project: https://github.com/mixpanel/mixpanel-js // Definitions by: Carlos López // Ricardo Rodrigues @@ -13,6 +13,10 @@ export type Query = string | Element | Element[]; export interface Dict {[key: string]: any; } +export interface RequestOptions { + transport?: "xhr" | "sendBeacon"; +} + export interface XhrHeadersDef {[header: string]: any; } export interface HasOptedInOutOptions { @@ -124,7 +128,7 @@ export function register_once(props: Dict, default_value?: any, days?: number): export function reset(): void; export function set_config(config: Partial): void; export function time_event(event_name: string): void; -export function track(event_name: string, properties?: Dict, callback?: () => void): void; +export function track(event_name: string, properties?: Dict, options?: RequestOptions, callback?: () => void): void; export function track_forms(query: Query, event_name: string, properties?: Dict | (() => void)): void; export function track_links(query: Query, event_name: string, properties?: Dict | (() => void)): void; export function unregister(property: string): void; diff --git a/types/mixpanel-browser/mixpanel-browser-tests.ts b/types/mixpanel-browser/mixpanel-browser-tests.ts index e43c7cd47e..45e8346bdf 100644 --- a/types/mixpanel-browser/mixpanel-browser-tests.ts +++ b/types/mixpanel-browser/mixpanel-browser-tests.ts @@ -9,6 +9,7 @@ mixpanel.track_links('#nav', 'Clicked Nav Link'); mixpanel.track_forms('#register', 'Created Account'); mixpanel.time_event('Registered'); mixpanel.track('Registered', {Gender: 'Male', Age: 21}); +mixpanel.track('Left page', {duration_seconds: 35}, {transport: 'sendBeacon'}); mixpanel.register({Gender: 'Female'}); mixpanel.register({ Email: 'jdoe@example.com',