UNPKG

@jillen/analytics

Version:

Advanced analytics package for Next.js applications with bot detection and comprehensive tracking

48 lines (42 loc) 1.66 kB
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 };