@adopture/next
Version:
Next.js SDK for Adopture feature adoption tracking with SSR support
50 lines (46 loc) • 1.73 kB
text/typescript
import { NextRequest, NextResponse } from 'next/server';
import { M as MiddlewareConfig } from './types-CXiGQrH7.mjs';
import '@adopture/sdk-core';
/**
* Next.js Middleware integration for Adopture
* Provides edge runtime compatible tracking for route changes and performance metrics
*/
/**
* Adopture middleware for Next.js
* Tracks route changes and performance metrics at the edge
*/
declare function createAdoptureMiddleware(config: MiddlewareConfig): (request: NextRequest) => Promise<NextResponse>;
/**
* Utility function to create a basic middleware with minimal configuration
*/
declare function simpleAdoptureMiddleware(apiKey: string, options?: {
enableRouteTracking?: boolean;
enablePerformanceTracking?: boolean;
excludeRoutes?: string[];
}): (request: NextRequest) => Promise<NextResponse>;
/**
* Higher-order middleware that wraps existing middleware with Adopture tracking
*/
declare function withAdoptureTracking<T extends NextRequest>(middleware: (request: T) => NextResponse | Promise<NextResponse>, config: MiddlewareConfig): (request: T) => Promise<NextResponse>;
/**
* Configuration helper for common middleware patterns
*/
declare const middlewarePresets: {
/**
* Basic tracking for all routes
*/
basic: (apiKey: string) => MiddlewareConfig;
/**
* API-focused tracking
*/
api: (apiKey: string) => MiddlewareConfig;
/**
* Page-focused tracking (exclude API routes)
*/
pages: (apiKey: string) => MiddlewareConfig;
/**
* Full tracking with performance metrics
*/
full: (apiKey: string) => MiddlewareConfig;
};
export { createAdoptureMiddleware, middlewarePresets, simpleAdoptureMiddleware, withAdoptureTracking };