import FlaggerConstraintInterface from "./FlaggerConstraintInterface"; import {z} from "zod"; import {cookieStore} from "cookie-store"; import FlaggerActivator from "../activator/FlaggerActivator"; import FlaggerConstraint from "./FlaggerConstraint"; const FlaggerCookieConstraintConfig = z.object({ cookieName: z.string() }); type FlaggerCookieConstraintConfigType = z.infer; export default class FlaggerCookieConstraint extends FlaggerConstraint implements FlaggerConstraintInterface { constructor(config: FlaggerCookieConstraintConfigType) { super(config, FlaggerCookieConstraintConfig); } async canBeActivated(): Promise { return !!(await cookieStore.get(this.config.cookieName)); } }