flags/sveltekit
APIs for working with feature flags in SvelteKit.
flag
Description: Declares a feature flag
A feature flag declared this way will automatically respect overrides set by Vercel Toolbar and integrate with Runtime Logs, Web Analytics, and more.
Parameter | Type | Description |
---|---|---|
key | string | Key of the feature flag. |
decide | function | Resolves the value of the feature flag. |
description (Optional) | string | Description of the feature flag. |
origin (Optional) | string | The URL where this feature flag can be managed. |
options (Optional) | { label?: string, value: any }[] | Possible values a feature flag can resolve to, which are displayed in Vercel Toolbar. |
identify (Optional) | Adapter | Provide an evaluation context which will be passed to decide . |
The key
, description
, origin
, and options
appear in Vercel Toolbar.
getProviderData
Description: Turns flags declared using flag
into Vercel Toolbar compatible definitions.
Parameter | Type | Description |
---|---|---|
flags | Record<string, Flag> | A record where the values are feature flags. The keys are not used. |
createHandle
Description: A handle
hook that establishes context for flags, so they have access to the event object.
Parameter | Type | Description |
---|---|---|
options | { secret: string, flags?: Record<string, Flag> } | The FLAGS_SECRET environment variable and a record of all the flags |
Note that when composing createHandle
with other handlers using SvelteKit's sequence
utility then createHandle
should come first. Only handlers after it will be able to access feature flags.
Precomputation
These APIs are relevant for precomputing feature flags. See the marketing pages guide to learn how to use it in SvelteKit.
precompute
Description: Evaluates multiple feature flags. Returns their values encoded to a single signed string.
Parameter | Type | Description |
---|---|---|
flags | function[] | Flags |
code | string | Precomputation code generated by the original precompute call. |
Use this inside the API that is called from reroute
, and when using ISR or prerendering, in Edge Middleware, too.
Use it together with reroute
/rewrite
to pass a user-visible URL like /marketing
to a static variant of the page, like /marketing/abc-123
.
generatePermutations
Description: Calculates all precomputations of the options of the provided flags.
Parameter | Type | Description |
---|---|---|
flags | function[] | Flags |
filter (Optional) | function | This function is called with every possible precomputation of the flag's options. Return true to keep the option. |
secret (Optional) | string | The secret used to sign the generated code. Defaults to $env/dynamic/private#env.FLAGS_SECRET |
Use this when you're prerendering pages and therefore want to generate all combinations of flag values that a page needs at build time.
Example usage: