@happykit/flags
Version:
Feature Flags for Next.js
45 lines (42 loc) • 1.87 kB
TypeScript
import { GetServerSidePropsContext, GetStaticPathsContext, GetStaticPropsContext } from 'next';
import { Configuration } from './config.js';
import { F as Flags, a as FlagUser, T as Traits, G as GetFlagsSuccessBag, b as GetFlagsErrorBag } from './types-06e22b20.js';
export { c as GenericEvaluationResponseBody } from './types-06e22b20.js';
import { GetDefinitions } from './api-route.js';
import 'cookie';
import './evaluation-types-c2dc69ab.js';
import 'next/server';
interface FactoryGetFlagsOptions {
/**
* A timeout in milliseconds after which any server-side evaluation requests
* from `getFlags` inside of `getServerSideProps` will be aborted.
*
* Pass `false` to disable this feature.
*/
serverLoadingTimeout?: number;
/**
* A timeout in milliseconds after which any static evaluation requests
* from `getFlags` inside of `getStaticProps` or `getStaticPaths` will
* be aborted.
*
* Pass `false` to disable this feature.
*/
staticLoadingTimeout?: number;
getDefinitions?: GetDefinitions;
serverTiming?: boolean;
}
/**
* Creates a getFlags() function your application should use when loading flags on the server.
*/
declare function createGetFlags<F extends Flags>(configuration: Configuration<F>, { serverLoadingTimeout: factoryServerLoadingTimeout, staticLoadingTimeout: factoryStaticLoadingTimeout, getDefinitions: factoryGetDefinitions, serverTiming, }?: FactoryGetFlagsOptions): (options: ({
context: Pick<GetServerSidePropsContext, "req" | "res"> | GetStaticPathsContext | GetStaticPropsContext;
user?: FlagUser;
traits?: Traits;
visitorKey?: never;
} | {
context?: never;
user?: FlagUser;
traits?: Traits;
visitorKey?: string;
}) & FactoryGetFlagsOptions) => Promise<GetFlagsSuccessBag<F> | GetFlagsErrorBag<F>>;
export { createGetFlags };