UNPKG

@happykit/flags

Version:

Feature Flags for Next.js

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