Warp/node_modules/search-insights/lib/_createInsightsClient.ts

27 lines
815 B
TypeScript
Raw Normal View History

2024-01-05 12:14:38 +00:00
import { version } from "../package.json";
import { getFunctionalInterface } from "./_getFunctionalInterface";
import AlgoliaAnalytics from "./insights";
import type { InsightsClient } from "./types";
import type { RequestFnType } from "./utils/request";
import { createUUID } from "./utils/uuid";
export function createInsightsClient(requestFn: RequestFnType): InsightsClient {
const aa = getFunctionalInterface(new AlgoliaAnalytics({ requestFn }));
if (typeof window === "object") {
if (!window.AlgoliaAnalyticsObject) {
let pointer: string;
do {
pointer = createUUID();
} while (window[pointer as any] !== undefined);
window.AlgoliaAnalyticsObject = pointer;
(window as any)[window.AlgoliaAnalyticsObject] = aa;
}
}
aa.version = version;
return aa;
}