@jillen/analytics
Version:
Advanced analytics package for Next.js applications with bot detection and comprehensive tracking
48 lines (42 loc) • 1.66 kB
TypeScript
import { NextRequest } from 'next/server';
/**
* Server-side utility to parse analytics data from Next.js headers
*/
interface ParsedAnalyticsHeaders {
ip: string;
country: string | null;
city: string | null;
region: string | null;
continent: string | null;
latitude: string | null;
longitude: string | null;
timezone: string | null;
postalCode: string | null;
host: string | null;
protocol: "http" | "https" | null;
deploymentUrl: string | null;
userAgent: string;
edgeRegion: string | null;
cacheStatus: "HIT" | "MISS" | "BYPASS" | "STALE" | null;
}
declare function parseAnalyticsHeaders(headers: Headers): ParsedAnalyticsHeaders;
/**
* Combined middleware utility for analytics
* Handles both pathname header injection and bot tracking
*/
declare function setupAnalyticsMiddleware(request: NextRequest): {
headers: Headers;
pathname: string;
};
/**
* Track bot visit with minimal data collection
* Fire-and-forget: does not throw errors or block execution
*/
declare function trackBotVisit(request: NextRequest, pathname: string): void;
declare const index_parseAnalyticsHeaders: typeof parseAnalyticsHeaders;
declare const index_setupAnalyticsMiddleware: typeof setupAnalyticsMiddleware;
declare const index_trackBotVisit: typeof trackBotVisit;
declare namespace index {
export { index_parseAnalyticsHeaders as parseAnalyticsHeaders, index_setupAnalyticsMiddleware as setupAnalyticsMiddleware, index_trackBotVisit as trackBotVisit };
}
export { type ParsedAnalyticsHeaders as P, index as i, parseAnalyticsHeaders as p, setupAnalyticsMiddleware as s, trackBotVisit as t };