@obelism/improve-sdk-next
Version:
Obelism Improve NextJS SDK
28 lines (25 loc) • 977 B
text/typescript
import { ImproveServerSDK } from '@obelism/improve-sdk/server';
import { NextURL } from 'next/dist/server/web/next-url';
import { NextRequest, NextResponse } from 'next/server';
import { ResponseCookie } from 'next/dist/compiled/@edge-runtime/cookies';
type OptionConfig = {
value: string;
slug: string;
};
type ServerABTestConfig = {
slug: string;
routeHandler: string;
formatSlug?: (url: NextURL, matchingOption: OptionConfig) => NextURL;
options: OptionConfig[];
};
type GenerateImproveNextMiddlewareArgs = {
improveSdk: ImproveServerSDK;
serverABtests: ServerABTestConfig[];
options?: {
visitorId?: ResponseCookie;
testValue?: ResponseCookie;
};
};
declare const generateImproveNextMiddleware: (args: GenerateImproveNextMiddlewareArgs) => (request: NextRequest) => NextResponse<unknown>;
export { generateImproveNextMiddleware };
export type { GenerateImproveNextMiddlewareArgs, OptionConfig, ServerABTestConfig };