On top of its generic platform, Vect provides a special way to resolve various of use cases.

The feature flag app allows to define and use Vect feature flag in your code.

Usage examples

Node

import { watchFlag, flagEnabled } from '@vect-io/vect-sdk/utils/feature-flags-2023v1';

// Callback accessor 
watchFlag({ vectRepo, flagName: '<your-flag>', env: 'production'}, {"userId": "1" }, (enabled) => console.log('Flag value:', enabled))

// Get accessor
const isEnabled = await flagEnabled({ vectRepo, flagName: '<your-flag>', env: 'production'},  {"userId": "1"})

React

import { useFlag, VectRepository, VectRepositoryProvider, useVectRepository } from '@vect-io/vect-sdk-react'

const repository = new VectRepository(<vectRepositoryParams>)

function ComponentWithFeatureFlag(user) {
 const { enabled, loading } = useFlag({ env: 'production', project: 'features', flag: 'drone-delivery'}, user);
  return <div>{ loading ? 'Loading' : enabled ? 'Enabled' : 'Disabled' } </div>
}

function App() {
  return (
    <>
			...
      <VectRepositoryProvider repository={repository}>
        <ComponentWithFeatureFlag user={user}/>
      </VectRepositoryProvider>
    </>
  )
}

Python

from vect_sdk.utils.feature_flags_2023v1 import is_flag_enabled

is_enabled = is_flag_enabled(dict(vect_repository, env='production', project='features', flag='flag-name'), {"userId": "1"})