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.
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"})
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>
</>
)
}
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"})