UNPKG

sfcc-cip-analytics-client

Version:

SFCC Commerce Intelligence Platform Analytics Client

35 lines (34 loc) 1.42 kB
import { CIPClient } from '../cip-client'; import { DateRange } from './types'; export interface QueryTemplateParams { dateRange: DateRange; } export interface SiteSpecificQueryTemplateParams extends QueryTemplateParams { siteId: string; } export type SqlTemplateFunction<T extends QueryTemplateParams = QueryTemplateParams> = (params: T) => { sql: string; parameters: any[]; }; export interface QueryMetadata { name: string; description: string; category: string; requiredParams: string[]; optionalParams?: string[]; } export interface EnhancedQueryFunction<TResult = any, TParams extends QueryTemplateParams = QueryTemplateParams> { (client: CIPClient, params: TParams, batchSize?: number): AsyncGenerator<TResult[], void, unknown>; metadata: QueryMetadata; QUERY: (params: TParams) => { sql: string; parameters: any[]; }; } export declare function executeQuery<T>(client: CIPClient, sql: string, batchSize?: number): AsyncGenerator<T[], void, unknown>; export declare function executeParameterizedQuery<T>(client: CIPClient, sql: string, parameters?: any[], batchSize?: number): AsyncGenerator<T[], void, unknown>; export declare function formatDateRange(dateRange: DateRange): { startDate: string; endDate: string; }; export declare function validateRequiredParams<T extends Record<string, any>>(params: T, requiredFields: (keyof T)[]): void;