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
TypeScript
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;