mirror of
https://github.com/vercel/flags.git
synced 2026-09-19 03:49:23 +08:00
422435c0eb
* @vercel-flags » flags * update lockfile * fix name
25 lines
671 B
TypeScript
25 lines
671 B
TypeScript
import type { ReadonlyRequestCookies } from 'flags';
|
|
import { dedupe, flag } from 'flags/next';
|
|
|
|
interface Entities {
|
|
user?: { id: string };
|
|
}
|
|
|
|
const identify = dedupe(
|
|
({ cookies }: { cookies: ReadonlyRequestCookies }): Entities => {
|
|
const userId = cookies.get('identify-example-user-id')?.value;
|
|
return { user: userId ? { id: userId } : undefined };
|
|
},
|
|
);
|
|
|
|
export const basicIdentifyExampleFlag = flag<boolean, Entities>({
|
|
key: 'basic-identify-example-flag',
|
|
identify,
|
|
description: 'Basic identify example',
|
|
decide({ entities }) {
|
|
console.log(entities);
|
|
if (!entities?.user) return false;
|
|
return entities.user.id === 'user1';
|
|
},
|
|
});
|