UNPKG

nest-feature-guard

Version:

A powerful, NestJS-first feature flag guard and decorator library with Redis caching support. Perfect for implementing feature toggles, A/B testing, gradual rollouts, and user-specific feature access control.

18 lines (17 loc) 816 B
import { CanActivate, ExecutionContext } from '@nestjs/common'; import { Reflector } from '@nestjs/core'; import { FeatureGuardStore } from './feature-flag-cache.interface'; import { FeatureFlagOptions } from './feature-flag.interfaces'; export interface FeatureGuardRequest { __user_id?: string; __is_admin?: boolean; __feature_flags?: Record<string, boolean>; } export declare class FeatureGuard implements CanActivate { private readonly store; private readonly reflector; constructor(store: FeatureGuardStore, reflector: Reflector); canActivate(context: ExecutionContext): Promise<boolean>; static isFeatureEnabled(request: FeatureGuardRequest, flag: string): boolean; } export declare function FeatureFlag(flags: string | string[], options?: FeatureFlagOptions): MethodDecorator;