Skip to content

Examples

Terminal window
const flags = featureFlags({
name: "main",
flags: {
checkoutV2: flag.boolean({
default: false,
environments: {
preview: true,
},
rules: [
flag.tenants(["tenant_acme"]).value(true),
],
}),
},
})
Terminal window
app.get("/checkout", async (request) => {
const tenantId = request.headers.get("x-tenant-id") ?? "public"
const enabled = await flags.enabled("checkoutV2", {
tenantId,
environment: request.env.NODE_ENV === "production" ? "prod" : "preview",
})
return Response.json({
checkoutVersion: enabled ? "v2" : "v1",
})
})
Terminal window
const flags = featureFlags({
name: "main",
flags: {
pricingPageVariant: flag.variant({
default: "control",
variants: ["control", "short-copy", "new-layout"],
rules: [
flag.percentage(20, { stickiness: "tenantId" }).value("new-layout"),
],
}),
},
})
Terminal window
const flags = featureFlags({
name: "main",
flags: {
maxUploadMb: flag.number({
default: 25,
environments: {
prod: 50,
},
}),
},
})
Terminal window
const maxUploadMb = await flags.value<number>("maxUploadMb", {
environment: "prod",
default: 25,
})