Files
sign/packages/lib/server-only/feature-flags/get-server-component-feature-flag.ts

27 lines
818 B
TypeScript
Raw Normal View History

2023-08-18 20:05:14 +10:00
import { headers } from 'next/headers';
2023-09-20 13:48:30 +10:00
import { getAllFlags, getFlag } from '@documenso/lib/universal/get-feature-flag';
2023-08-18 20:05:14 +10:00
/**
* Evaluate whether a flag is enabled for the current user in a server component.
*
* @param flag The flag to evaluate.
* @returns Whether the flag is enabled, or the variant value of the flag.
*/
export const getServerComponentFlag = async (flag: string) => {
return await getFlag(flag, {
requestHeaders: Object.fromEntries(headers().entries()),
});
};
/**
* Get all feature flags for the current user from a server component.
*
* @returns A record of flags and their values for the user derived from the headers.
*/
export const getServerComponentAllFlags = async () => {
return await getAllFlags({
requestHeaders: Object.fromEntries(headers().entries()),
});
};