This commit is contained in:
NoryiE
2025-02-16 14:12:49 +00:00
parent c6a89e5b35
commit e0aeb9b06e
2737 changed files with 5220 additions and 1039045 deletions

View File

@@ -1,3 +0,0 @@
import type { InsightsEvent, InsightsEventConversionSubType, InsightsEventType } from "./types";
export declare function addEventType(eventType: InsightsEventType, params: Array<Omit<InsightsEvent, "eventType">>): InsightsEvent[];
export declare function addEventTypeAndSubtype(eventType: InsightsEventType, eventSubtype: InsightsEventConversionSubType, params: Array<Omit<InsightsEvent, "eventSubtype" | "eventType">>): InsightsEvent[];

View File

@@ -1,3 +0,0 @@
import type AlgoliaAnalytics from "./insights";
export declare const DEFAULT_ALGOLIA_AGENTS: string[];
export declare function addAlgoliaAgent(this: AlgoliaAnalytics, algoliaAgent: string): void;

View File

@@ -1,3 +0,0 @@
import type { InsightsClient } from "./types";
import type { RequestFnType } from "./utils/request";
export declare function createInsightsClient(requestFn: RequestFnType): InsightsClient;

View File

@@ -1,3 +0,0 @@
import type AlgoliaAnalytics from "./insights";
import type { InsightsClient } from "./types";
export declare function getFunctionalInterface(instance: AlgoliaAnalytics): InsightsClient;

View File

@@ -1,2 +0,0 @@
import type AlgoliaAnalytics from "./insights";
export declare function getVersion(this: AlgoliaAnalytics, callback: (version: string) => void): void;

View File

@@ -1,2 +0,0 @@
import type AlgoliaAnalytics from "./insights";
export declare function processQueue(this: AlgoliaAnalytics, globalObject: any): void;

View File

@@ -1,4 +0,0 @@
import type AlgoliaAnalytics from "./insights";
import type { InsightsAdditionalEventParams, InsightsEvent } from "./types";
import type { RequestFnType } from "./utils/request";
export declare function makeSendEvents(requestFn: RequestFnType): (this: AlgoliaAnalytics, eventData: InsightsEvent[], additionalParams?: InsightsAdditionalEventParams) => Promise<boolean> | undefined;

View File

@@ -1,9 +0,0 @@
import type AlgoliaAnalytics from "./insights";
export declare const MONTH: number;
export declare const getCookie: (name: string) => string;
export declare function setAnonymousUserToken(this: AlgoliaAnalytics, inMemory?: boolean): void;
export declare function setUserToken(this: AlgoliaAnalytics, userToken: number | string): number | string;
export declare function getUserToken(this: AlgoliaAnalytics, options?: any, callback?: (err: any, userToken?: number | string) => void): number | string | undefined;
export declare function onUserTokenChange(this: AlgoliaAnalytics, callback?: (userToken?: number | string) => void, options?: {
immediate: boolean;
}): void;

View File

@@ -1,28 +0,0 @@
import type AlgoliaAnalytics from "./insights";
import type { WithAdditionalParams } from "./utils";
export interface InsightsSearchClickEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
queryID: string;
objectIDs: string[];
positions: number[];
}
export declare function clickedObjectIDsAfterSearch(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchClickEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export interface InsightsClickObjectIDsEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
objectIDs: string[];
}
export declare function clickedObjectIDs(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsClickObjectIDsEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export interface InsightsClickFiltersEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
filters: string[];
}
export declare function clickedFilters(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsClickFiltersEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;

View File

@@ -1,36 +0,0 @@
import type AlgoliaAnalytics from "./insights";
import type { InsightsEvent } from "./types";
import type { WithAdditionalParams } from "./utils";
export interface InsightsSearchConversionEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
queryID: string;
objectIDs: string[];
objectData?: InsightsEvent["objectData"];
currency?: InsightsEvent["currency"];
}
export declare function convertedObjectIDsAfterSearch(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchConversionEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export declare function addedToCartObjectIDsAfterSearch(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchConversionEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export declare function purchasedObjectIDsAfterSearch(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchConversionEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export interface InsightsSearchConversionObjectIDsEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
objectIDs: string[];
objectData?: InsightsEvent["objectData"];
currency?: InsightsEvent["currency"];
}
export declare function convertedObjectIDs(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchConversionObjectIDsEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export declare function addedToCartObjectIDs(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchConversionObjectIDsEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export declare function purchasedObjectIDs(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchConversionObjectIDsEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export interface InsightsSearchConversionFiltersEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
filters: string[];
}
export declare function convertedFilters(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchConversionFiltersEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;

View File

@@ -1,8 +0,0 @@
import { getFunctionalInterface } from "./_getFunctionalInterface";
import { processQueue } from "./_processQueue";
import AlgoliaAnalytics from "./insights";
import { getRequesterForBrowser } from "./utils/getRequesterForBrowser";
export { getRequesterForBrowser, AlgoliaAnalytics, getFunctionalInterface, processQueue };
export * from "./types";
declare const _default: import("./types").InsightsClient;
export default _default;

View File

@@ -1,8 +0,0 @@
import { getFunctionalInterface } from "./_getFunctionalInterface";
import { processQueue } from "./_processQueue";
import AlgoliaAnalytics from "./insights";
import { getRequesterForNode } from "./utils/getRequesterForNode";
export { getRequesterForNode, AlgoliaAnalytics, getFunctionalInterface, processQueue };
export * from "./types";
declare const _default: import("./types").InsightsClient;
export default _default;

View File

@@ -1,5 +0,0 @@
import AlgoliaAnalytics from "./insights";
import type { RequestFnType } from "./utils/request";
export declare function createInsightsClient(requestFn: RequestFnType): AlgoliaAnalytics;
declare const _default: AlgoliaAnalytics;
export default _default;

View File

@@ -1,21 +0,0 @@
import type AlgoliaAnalytics from "./insights";
type InsightRegion = "de" | "us";
export interface InitParams {
apiKey?: string;
appId?: string;
userHasOptedOut?: boolean;
anonymousUserToken?: boolean;
useCookie?: boolean;
cookieDuration?: number;
region?: InsightRegion;
userToken?: string;
partial?: boolean;
host?: string;
}
/**
* Binds credentials and settings to class.
*
* @param options - InitParams.
*/
export declare function init(this: AlgoliaAnalytics, options?: InitParams): void;
export {};

View File

@@ -1,63 +0,0 @@
import { addAlgoliaAgent } from "./_algoliaAgent";
import { getVersion } from "./_getVersion";
import { makeSendEvents } from "./_sendEvent";
import { getUserToken, setUserToken, setAnonymousUserToken, onUserTokenChange } from "./_tokenUtils";
import { clickedObjectIDsAfterSearch, clickedObjectIDs, clickedFilters } from "./click";
import { convertedObjectIDsAfterSearch, addedToCartObjectIDsAfterSearch, purchasedObjectIDsAfterSearch, convertedObjectIDs, addedToCartObjectIDs, purchasedObjectIDs, convertedFilters } from "./conversion";
import { init } from "./init";
import type { RequestFnType } from "./utils/request";
import { viewedObjectIDs, viewedFilters } from "./view";
type Queue = {
queue: string[][];
};
type AnalyticsFunction = {
[key: string]: (fnName: string, fnArgs: any[]) => void;
};
export type AlgoliaAnalyticsObject = AnalyticsFunction | Queue;
declare global {
interface Window {
AlgoliaAnalyticsObject?: string;
}
}
/**
* AlgoliaAnalytics class.
*/
declare class AlgoliaAnalytics {
_apiKey?: string;
_appId?: string;
_region?: string;
_host?: string;
_endpointOrigin: string;
_anonymousUserToken: boolean;
_userToken?: number | string;
_userHasOptedOut: boolean;
_useCookie: boolean;
_cookieDuration: number;
_ua: string[];
_onUserTokenChangeCallback?: (userToken?: number | string) => void;
version: string;
init: typeof init;
getVersion: typeof getVersion;
addAlgoliaAgent: typeof addAlgoliaAgent;
setUserToken: typeof setUserToken;
setAnonymousUserToken: typeof setAnonymousUserToken;
getUserToken: typeof getUserToken;
onUserTokenChange: typeof onUserTokenChange;
sendEvents: ReturnType<typeof makeSendEvents>;
clickedObjectIDsAfterSearch: typeof clickedObjectIDsAfterSearch;
clickedObjectIDs: typeof clickedObjectIDs;
clickedFilters: typeof clickedFilters;
convertedObjectIDsAfterSearch: typeof convertedObjectIDsAfterSearch;
purchasedObjectIDsAfterSearch: typeof purchasedObjectIDsAfterSearch;
addedToCartObjectIDsAfterSearch: typeof addedToCartObjectIDsAfterSearch;
convertedObjectIDs: typeof convertedObjectIDs;
addedToCartObjectIDs: typeof addedToCartObjectIDs;
purchasedObjectIDs: typeof purchasedObjectIDs;
convertedFilters: typeof convertedFilters;
viewedObjectIDs: typeof viewedObjectIDs;
viewedFilters: typeof viewedFilters;
constructor({ requestFn }: {
requestFn: RequestFnType;
});
}
export default AlgoliaAnalytics;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,75 +0,0 @@
import type { addAlgoliaAgent } from "./_algoliaAgent";
import type { getVersion } from "./_getVersion";
import type { makeSendEvents } from "./_sendEvent";
import type { getUserToken, setUserToken, onUserTokenChange } from "./_tokenUtils";
import type { clickedObjectIDsAfterSearch, clickedObjectIDs, clickedFilters } from "./click";
import type { convertedObjectIDsAfterSearch, convertedObjectIDs, convertedFilters, purchasedObjectIDs, purchasedObjectIDsAfterSearch, addedToCartObjectIDsAfterSearch, addedToCartObjectIDs } from "./conversion";
import type { init } from "./init";
import type { viewedObjectIDs, viewedFilters } from "./view";
export type InsightsMethodMap = {
init: Parameters<typeof init>;
getVersion: Parameters<typeof getVersion>;
addAlgoliaAgent: Parameters<typeof addAlgoliaAgent>;
setUserToken: Parameters<typeof setUserToken>;
getUserToken: Parameters<typeof getUserToken>;
onUserTokenChange: Parameters<typeof onUserTokenChange>;
clickedObjectIDsAfterSearch: Parameters<typeof clickedObjectIDsAfterSearch>;
clickedObjectIDs: Parameters<typeof clickedObjectIDs>;
clickedFilters: Parameters<typeof clickedFilters>;
convertedObjectIDsAfterSearch: Parameters<typeof convertedObjectIDsAfterSearch>;
convertedObjectIDs: Parameters<typeof convertedObjectIDs>;
convertedFilters: Parameters<typeof convertedFilters>;
viewedObjectIDs: Parameters<typeof viewedObjectIDs>;
viewedFilters: Parameters<typeof viewedFilters>;
purchasedObjectIDs: Parameters<typeof purchasedObjectIDs>;
purchasedObjectIDsAfterSearch: Parameters<typeof purchasedObjectIDsAfterSearch>;
addedToCartObjectIDs: Parameters<typeof addedToCartObjectIDs>;
addedToCartObjectIDsAfterSearch: Parameters<typeof addedToCartObjectIDsAfterSearch>;
sendEvents: Parameters<ReturnType<typeof makeSendEvents>>;
};
type MethodType<MethodName extends keyof InsightsMethodMap> = (method: MethodName, ...args: InsightsMethodMap[MethodName]) => void;
export type Init = MethodType<"init">;
export type GetVersion = MethodType<"getVersion">;
export type AddAlgoliaAgent = MethodType<"addAlgoliaAgent">;
export type SetUserToken = MethodType<"setUserToken">;
export type GetUserToken = MethodType<"getUserToken">;
export type OnUserTokenChange = MethodType<"onUserTokenChange">;
export type ClickedObjectIDsAfterSearch = MethodType<"clickedObjectIDsAfterSearch">;
export type ClickedObjectIDs = MethodType<"clickedObjectIDs">;
export type ClickedFilters = MethodType<"clickedFilters">;
export type ConvertedObjectIDsAfterSearch = MethodType<"convertedObjectIDsAfterSearch">;
export type ConvertedObjectIDs = MethodType<"convertedObjectIDs">;
export type ConvertedFilters = MethodType<"convertedFilters">;
export type ViewedObjectIDs = MethodType<"viewedObjectIDs">;
export type ViewedFilters = MethodType<"viewedFilters">;
export type SendEvents = MethodType<"sendEvents">;
export type InsightsClient = (<MethodName extends keyof InsightsMethodMap>(method: MethodName, ...args: InsightsMethodMap[MethodName]) => void) & {
version?: string;
};
export type InsightsEventType = "click" | "conversion" | "view";
export type InsightsEventConversionSubType = "addToCart" | "purchase";
export type InsightsEventObjectData = {
queryID?: string;
price?: number | string;
discount?: number | string;
quantity?: number;
};
export type InsightsEvent = {
eventType: InsightsEventType;
eventSubtype?: InsightsEventConversionSubType;
eventName: string;
userToken?: number | string;
timestamp?: number;
index: string;
queryID?: string;
objectIDs?: string[];
positions?: number[];
objectData?: InsightsEventObjectData[];
filters?: string[];
value?: number | string;
currency?: string;
};
export type InsightsAdditionalEventParams = {
headers?: Record<string, string>;
};
export {};

View File

@@ -1,8 +0,0 @@
import type { InsightsAdditionalEventParams } from "../types";
export type WithAdditionalParams<TEventType> = InsightsAdditionalEventParams | TEventType;
export declare function extractAdditionalParams<TEventType extends {
index: string;
}>(params: Array<InsightsAdditionalEventParams | TEventType>): {
events: TEventType[];
additionalParams?: InsightsAdditionalEventParams;
};

View File

@@ -1,4 +0,0 @@
export declare const supportsCookies: () => boolean;
export declare const supportsSendBeacon: () => boolean;
export declare const supportsXMLHttpRequest: () => boolean;
export declare const supportsNodeHttpModule: () => boolean;

View File

@@ -1,2 +0,0 @@
import type { RequestFnType } from "./request";
export declare function getRequesterForBrowser(): RequestFnType;

View File

@@ -1,2 +0,0 @@
import type { RequestFnType } from "./request";
export declare function getRequesterForNode(): RequestFnType;

View File

@@ -1,6 +0,0 @@
export declare const isUndefined: (value: any) => value is undefined;
export declare const isString: (value: any) => value is string;
export declare const isNumber: (value: any) => value is number;
export declare const isFunction: (value: any) => value is Function;
export * from "./extractAdditionalParams";
export * from "./featureDetection";

View File

@@ -1,4 +0,0 @@
export type RequestFnType = (url: string, data: Record<string, unknown>) => Promise<boolean>;
export declare const requestWithXMLHttpRequest: RequestFnType;
export declare const requestWithSendBeacon: RequestFnType;
export declare const requestWithNodeHttpModule: RequestFnType;

View File

@@ -1,7 +0,0 @@
/**
* Create UUID according to
* https://www.ietf.org/rfc/rfc4122.txt.
*
* @returns Generated UUID.
*/
export declare function createUUID(): string;

View File

@@ -1,18 +0,0 @@
import type AlgoliaAnalytics from "./insights";
import type { WithAdditionalParams } from "./utils";
export interface InsightsSearchViewObjectIDsEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
objectIDs: string[];
}
export declare function viewedObjectIDs(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchViewObjectIDsEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;
export interface InsightsSearchViewFiltersEvent {
eventName: string;
userToken?: string;
timestamp?: number;
index: string;
filters: string[];
}
export declare function viewedFilters(this: AlgoliaAnalytics, ...params: Array<WithAdditionalParams<InsightsSearchViewFiltersEvent>>): ReturnType<AlgoliaAnalytics["sendEvents"]>;