Adapters
Pre-built loaders for common flag management services, imported from vue-feature-toggles/adapters. Each returns an async () => Record<string, FlagValue> compatible with the plugin's loader option.
ts
import { launchDarklyLoader, unleashLoader, flagsmithLoader } from 'vue-feature-toggles/adapters'launchDarklyLoader()
ts
function launchDarklyLoader(options: {
clientSideId: string
user: { key: string; [k: string]: unknown }
baseUrl?: string // default: 'https://app.launchdarkly.com'
}): () => Promise<Record<string, FlagValue>>ts
app.use(FeatureToggles, {
loader: launchDarklyLoader({
clientSideId: 'your-client-side-id',
user: { key: userId },
}),
})unleashLoader()
ts
function unleashLoader(options: {
url: string
appName: string
clientKey: string
userId?: string // optional — adds the UNLEASH-INSTANCEID header
}): () => Promise<Record<string, FlagValue>>ts
app.use(FeatureToggles, {
loader: unleashLoader({
url: 'https://unleash.example.com/api',
appName: 'my-app',
clientKey: 'default:development.abc123',
userId,
}),
})Sends the app name via the UNLEASH-APPNAME header.
flagsmithLoader()
ts
function flagsmithLoader(options: {
apiKey: string
apiUrl?: string // default: 'https://edge.api.flagsmith.com/api/v1'
identity?: string // optional — enables per-user evaluation
}): () => Promise<Record<string, FlagValue>>ts
app.use(FeatureToggles, {
loader: flagsmithLoader({
apiKey: 'ser.your-api-key',
identity: userId,
}),
})Sends the API key via the X-Environment-Key header.