Skip to content

@nestarc/feature-flag ​

Published 0.5.0 API. For corrected targeting, tenant-context, and custom-provider usage, read the maintained version boundary. Unreleased fixes are not included in these signatures.

Classes ​

FeatureFlagAdminModule ​

Defined in: src/admin/feature-flag-admin.module.ts:6

Constructors ​

Constructor ​
ts
new FeatureFlagAdminModule(): FeatureFlagAdminModule;
Returns ​

FeatureFlagAdminModule

Methods ​

register() ​
ts
static register(options): DynamicModule;

Defined in: src/admin/feature-flag-admin.module.ts:7

Parameters ​
ParameterType
optionsFeatureFlagAdminOptions
Returns ​

DynamicModule


FeatureFlagGuard ​

Defined in: src/guards/feature-flag.guard.ts:12

Implements ​

  • CanActivate

Constructors ​

Constructor ​
ts
new FeatureFlagGuard(reflector, featureFlagService): FeatureFlagGuard;

Defined in: src/guards/feature-flag.guard.ts:13

Parameters ​
ParameterType
reflectorReflector
featureFlagServiceFeatureFlagService
Returns ​

FeatureFlagGuard

Methods ​

canActivate() ​
ts
canActivate(context): Promise<boolean>;

Defined in: src/guards/feature-flag.guard.ts:18

Parameters ​
ParameterTypeDescription
contextExecutionContextCurrent execution context. Provides access to details about the current request pipeline.
Returns ​

Promise<boolean>

Value indicating whether or not the current request is allowed to proceed.

Implementation of ​
ts
CanActivate.canActivate

FeatureFlagModule ​

Defined in: src/feature-flag.module.ts:54

Implements ​

  • NestModule

Constructors ​

Constructor ​
ts
new FeatureFlagModule(): FeatureFlagModule;
Returns ​

FeatureFlagModule

Methods ​

configure() ​
ts
configure(consumer): void;

Defined in: src/feature-flag.module.ts:55

Parameters ​
ParameterType
consumerMiddlewareConsumer
Returns ​

void

Implementation of ​
ts
NestModule.configure

forRoot() ​
ts
static forRoot(options): DynamicModule;

Defined in: src/feature-flag.module.ts:61

Parameters ​
ParameterType
optionsFeatureFlagModuleRootOptions
Returns ​

DynamicModule

forRootAsync() ​
ts
static forRootAsync(options): DynamicModule;

Defined in: src/feature-flag.module.ts:105

Parameters ​
ParameterType
optionsFeatureFlagModuleRootAsyncOptions
Returns ​

DynamicModule


FeatureFlagService ​

Defined in: src/services/feature-flag.service.ts:33

Constructors ​

Constructor ​
ts
new FeatureFlagService(
   options,
   repository,
   cacheAdapter,
   evaluator,
   contextResolver,
   eventPublisher): FeatureFlagService;

Defined in: src/services/feature-flag.service.ts:34

Parameters ​
ParameterType
optionsFeatureFlagModuleOptions
repositoryFeatureFlagRepository
cacheAdapterCacheAdapter
evaluatorFlagEvaluatorService
contextResolverFlagContextResolver
eventPublisherFlagEventPublisher
Returns ​

FeatureFlagService

Methods ​

archive() ​
ts
archive(key, metadata?): Promise<FeatureFlagWithOverrides>;

Defined in: src/services/feature-flag.service.ts:139

Parameters ​
ParameterType
keystring
metadataFlagMutationMetadata
Returns ​

Promise<FeatureFlagWithOverrides>

create() ​
ts
create(input, metadata?): Promise<FeatureFlagWithOverrides>;

Defined in: src/services/feature-flag.service.ts:110

Parameters ​
ParameterType
inputCreateFeatureFlagInput
metadataFlagMutationMetadata
Returns ​

Promise<FeatureFlagWithOverrides>

evaluateAll() ​
ts
evaluateAll(explicitContext?): Promise<Record<string, boolean>>;

Defined in: src/services/feature-flag.service.ts:98

Parameters ​
ParameterType
explicitContext?EvaluationContext
Returns ​

Promise<Record<string, boolean>>

evaluateBoolean() ​
ts
evaluateBoolean(
   flagKey,
   explicitContext?,
evaluationOptions?): Promise<BooleanEvaluationDetails>;

Defined in: src/services/feature-flag.service.ts:55

Parameters ​
ParameterType
flagKeystring
explicitContext?EvaluationContext
evaluationOptions?EvaluateBooleanOptions
Returns ​

Promise<BooleanEvaluationDetails>

findAll() ​
ts
findAll(): Promise<FeatureFlagWithOverrides[]>;

Defined in: src/services/feature-flag.service.ts:188

Returns ​

Promise<FeatureFlagWithOverrides[]>

findByKey() ​
ts
findByKey(key): Promise<FeatureFlagWithOverrides>;

Defined in: src/services/feature-flag.service.ts:197

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides>

invalidateCache() ​
ts
invalidateCache(): Promise<void>;

Defined in: src/services/feature-flag.service.ts:192

Returns ​

Promise<void>

isEnabled() ​
ts
isEnabled(
   flagKey,
   explicitContext?,
evaluationOptions?): Promise<boolean>;

Defined in: src/services/feature-flag.service.ts:47

Parameters ​
ParameterType
flagKeystring
explicitContext?EvaluationContext
evaluationOptions?EvaluateBooleanOptions
Returns ​

Promise<boolean>

removeOverride() ​
ts
removeOverride(
   key,
   input,
metadata?): Promise<void>;

Defined in: src/services/feature-flag.service.ts:205

Parameters ​
ParameterType
keystring
inputRemoveOverrideInput
metadataFlagMutationMetadata
Returns ​

Promise<void>

setOverride() ​
ts
setOverride(
   key,
   input,
metadata?): Promise<void>;

Defined in: src/services/feature-flag.service.ts:153

Parameters ​
ParameterType
keystring
inputSetOverrideInput
metadataFlagMutationMetadata
Returns ​

Promise<void>

update() ​
ts
update(
   key,
   input,
metadata?): Promise<FeatureFlagWithOverrides>;

Defined in: src/services/feature-flag.service.ts:124

Parameters ​
ParameterType
keystring
inputUpdateFeatureFlagInput
metadataFlagMutationMetadata
Returns ​

Promise<FeatureFlagWithOverrides>


FlagContext ​

Defined in: src/services/flag-context.ts:9

Constructors ​

Constructor ​
ts
new FlagContext(): FlagContext;
Returns ​

FlagContext

Methods ​

getUserId() ​
ts
getUserId(): string | null;

Defined in: src/services/flag-context.ts:16

Returns ​

string | null

run() ​
ts
run<T>(store, callback): T;

Defined in: src/services/flag-context.ts:12

Type Parameters ​
Type Parameter
T
Parameters ​
ParameterType
storeFlagStore
callback() => T
Returns ​

T


MemoryCacheAdapter ​

Defined in: src/cache/memory-cache.adapter.ts:11

Implements ​

Constructors ​

Constructor ​
ts
new MemoryCacheAdapter(): MemoryCacheAdapter;
Returns ​

MemoryCacheAdapter

Methods ​

get() ​
ts
get(key): Promise<FeatureFlagWithOverrides | null>;

Defined in: src/cache/memory-cache.adapter.ts:15

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides | null>

Implementation of ​

CacheAdapter.get

getAll() ​
ts
getAll(): Promise<FeatureFlagWithOverrides[] | null>;

Defined in: src/cache/memory-cache.adapter.ts:30

Returns ​

Promise<FeatureFlagWithOverrides[] | null>

Implementation of ​

CacheAdapter.getAll

invalidate() ​
ts
invalidate(key?): Promise<void>;

Defined in: src/cache/memory-cache.adapter.ts:44

Parameters ​
ParameterType
key?string
Returns ​

Promise<void>

Implementation of ​

CacheAdapter.invalidate

set() ​
ts
set(
   key,
   data,
ttlMs): Promise<void>;

Defined in: src/cache/memory-cache.adapter.ts:25

Parameters ​
ParameterType
keystring
dataFeatureFlagWithOverrides
ttlMsnumber
Returns ​

Promise<void>

Implementation of ​

CacheAdapter.set

setAll() ​
ts
setAll(data, ttlMs): Promise<void>;

Defined in: src/cache/memory-cache.adapter.ts:39

Parameters ​
ParameterType
dataFeatureFlagWithOverrides[]
ttlMsnumber
Returns ​

Promise<void>

Implementation of ​

CacheAdapter.setAll


PrismaFeatureFlagRepository ​

Defined in: src/repositories/prisma-feature-flag.repository.ts:28

Implements ​

Constructors ​

Constructor ​
ts
new PrismaFeatureFlagRepository(prisma): PrismaFeatureFlagRepository;

Defined in: src/repositories/prisma-feature-flag.repository.ts:29

Parameters ​
ParameterType
prismaany
Returns ​

PrismaFeatureFlagRepository

Methods ​

archiveFlag() ​
ts
archiveFlag(key): Promise<FeatureFlagWithOverrides>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:80

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides>

Implementation of ​

FeatureFlagRepository.archiveFlag

createFlag() ​
ts
createFlag(input): Promise<FeatureFlagWithOverrides>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:31

Parameters ​
ParameterType
inputCreateFeatureFlagInput
Returns ​

Promise<FeatureFlagWithOverrides>

Implementation of ​

FeatureFlagRepository.createFlag

createOverride() ​
ts
createOverride(
   flagId,
   criteria,
   enabled,
priority): Promise<void>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:125

Parameters ​
ParameterType
flagIdstring
criteriaOverrideCriteria
enabledboolean
prioritynumber
Returns ​

Promise<void>

Implementation of ​

FeatureFlagRepository.createOverride

deleteOverride() ​
ts
deleteOverride(id): Promise<void>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:162

Parameters ​
ParameterType
idstring
Returns ​

Promise<void>

Implementation of ​

FeatureFlagRepository.deleteOverride

findAllActiveFlags() ​
ts
findAllActiveFlags(): Promise<FeatureFlagWithOverrides[]>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:107

Returns ​

Promise<FeatureFlagWithOverrides[]>

Implementation of ​

FeatureFlagRepository.findAllActiveFlags

findFlagByKey() ​
ts
findFlagByKey(key): Promise<FeatureFlagWithOverrides | null>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:95

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides | null>

Implementation of ​

FeatureFlagRepository.findFlagByKey

findFlagIdByKey() ​
ts
findFlagIdByKey(key): Promise<string | null>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:102

Parameters ​
ParameterType
keystring
Returns ​

Promise<string | null>

Implementation of ​

FeatureFlagRepository.findFlagIdByKey

findOverride() ​
ts
findOverride(flagId, criteria): Promise<
  | {
  id: string;
}
| null>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:115

Parameters ​
ParameterType
flagIdstring
criteriaOverrideCriteria
Returns ​

Promise< | { id: string; } | null>

Implementation of ​

FeatureFlagRepository.findOverride

updateFlag() ​
ts
updateFlag(key, input): Promise<FeatureFlagWithOverrides>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:56

Parameters ​
ParameterType
keystring
inputUpdateFeatureFlagInput
Returns ​

Promise<FeatureFlagWithOverrides>

Implementation of ​

FeatureFlagRepository.updateFlag

updateOverride() ​
ts
updateOverride(id, input): Promise<void>;

Defined in: src/repositories/prisma-feature-flag.repository.ts:152

Parameters ​
ParameterType
idstring
inputUpdateOverrideInput
Returns ​

Promise<void>

Implementation of ​

FeatureFlagRepository.updateOverride


RedisCacheAdapter ​

Defined in: src/cache/redis-cache.adapter.ts:14

Implements ​

Constructors ​

Constructor ​
ts
new RedisCacheAdapter(options): RedisCacheAdapter;

Defined in: src/cache/redis-cache.adapter.ts:21

Parameters ​
ParameterType
optionsRedisCacheAdapterOptions
Returns ​

RedisCacheAdapter

Methods ​

get() ​
ts
get(key): Promise<FeatureFlagWithOverrides | null>;

Defined in: src/cache/redis-cache.adapter.ts:50

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides | null>

Implementation of ​

CacheAdapter.get

getAll() ​
ts
getAll(): Promise<FeatureFlagWithOverrides[] | null>;

Defined in: src/cache/redis-cache.adapter.ts:61

Returns ​

Promise<FeatureFlagWithOverrides[] | null>

Implementation of ​

CacheAdapter.getAll

invalidate() ​
ts
invalidate(key?): Promise<void>;

Defined in: src/cache/redis-cache.adapter.ts:72

Parameters ​
ParameterType
key?string
Returns ​

Promise<void>

Implementation of ​

CacheAdapter.invalidate

onModuleDestroy() ​
ts
onModuleDestroy(): Promise<void>;

Defined in: src/cache/redis-cache.adapter.ts:83

Returns ​

Promise<void>

Implementation of ​

CacheAdapter.onModuleDestroy

set() ​
ts
set(
   key,
   data,
ttlMs): Promise<void>;

Defined in: src/cache/redis-cache.adapter.ts:56

Parameters ​
ParameterType
keystring
dataFeatureFlagWithOverrides
ttlMsnumber
Returns ​

Promise<void>

Implementation of ​

CacheAdapter.set

setAll() ​
ts
setAll(data, ttlMs): Promise<void>;

Defined in: src/cache/redis-cache.adapter.ts:67

Parameters ​
ParameterType
dataFeatureFlagWithOverrides[]
ttlMsnumber
Returns ​

Promise<void>

Implementation of ​

CacheAdapter.setAll

Interfaces ​

BooleanEvaluationDetails ​

Defined in: src/interfaces/evaluation-details.interface.ts:31

Properties ​

bucket? ​
ts
optional bucket?: number;

Defined in: src/interfaces/evaluation-details.interface.ts:42

defaultUsed ​
ts
defaultUsed: boolean;

Defined in: src/interfaces/evaluation-details.interface.ts:38

errorCode? ​
ts
optional errorCode?: string;

Defined in: src/interfaces/evaluation-details.interface.ts:39

errorMessage? ​
ts
optional errorMessage?: string;

Defined in: src/interfaces/evaluation-details.interface.ts:40

evaluationTimeMs? ​
ts
optional evaluationTimeMs?: number;

Defined in: src/interfaces/evaluation-details.interface.ts:44

flagKey ​
ts
flagKey: string;

Defined in: src/interfaces/evaluation-details.interface.ts:32

matchedOverrideId? ​
ts
optional matchedOverrideId?: string;

Defined in: src/interfaces/evaluation-details.interface.ts:41

reason ​
ts
reason: EvaluationReason;

Defined in: src/interfaces/evaluation-details.interface.ts:37

result ​
ts
result: boolean;

Defined in: src/interfaces/evaluation-details.interface.ts:35

Backward-compatible alias for value.

source ​
ts
source: EvaluationSource;

Defined in: src/interfaces/evaluation-details.interface.ts:36

targetingKey? ​
ts
optional targetingKey?: string;

Defined in: src/interfaces/evaluation-details.interface.ts:43

value ​
ts
value: boolean;

Defined in: src/interfaces/evaluation-details.interface.ts:33


CacheAdapter ​

Defined in: src/interfaces/cache-adapter.interface.ts:3

Methods ​

get() ​
ts
get(key): Promise<FeatureFlagWithOverrides | null>;

Defined in: src/interfaces/cache-adapter.interface.ts:4

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides | null>

getAll() ​
ts
getAll(): Promise<FeatureFlagWithOverrides[] | null>;

Defined in: src/interfaces/cache-adapter.interface.ts:6

Returns ​

Promise<FeatureFlagWithOverrides[] | null>

invalidate() ​
ts
invalidate(key?): Promise<void>;

Defined in: src/interfaces/cache-adapter.interface.ts:8

Parameters ​
ParameterType
key?string
Returns ​

Promise<void>

onModuleDestroy()? ​
ts
optional onModuleDestroy(): Promise<void>;

Defined in: src/interfaces/cache-adapter.interface.ts:9

Returns ​

Promise<void>

set() ​
ts
set(
   key,
   data,
ttlMs): Promise<void>;

Defined in: src/interfaces/cache-adapter.interface.ts:5

Parameters ​
ParameterType
keystring
dataFeatureFlagWithOverrides
ttlMsnumber
Returns ​

Promise<void>

setAll() ​
ts
setAll(data, ttlMs): Promise<void>;

Defined in: src/interfaces/cache-adapter.interface.ts:7

Parameters ​
ParameterType
dataFeatureFlagWithOverrides[]
ttlMsnumber
Returns ​

Promise<void>


CreateFeatureFlagInput ​

Defined in: src/interfaces/feature-flag.interface.ts:4

Properties ​

description? ​
ts
optional description?: string;

Defined in: src/interfaces/feature-flag.interface.ts:6

enabled? ​
ts
optional enabled?: boolean;

Defined in: src/interfaces/feature-flag.interface.ts:7

key ​
ts
key: string;

Defined in: src/interfaces/feature-flag.interface.ts:5

metadata? ​
ts
optional metadata?: Record<string, unknown>;

Defined in: src/interfaces/feature-flag.interface.ts:9

percentage? ​
ts
optional percentage?: number;

Defined in: src/interfaces/feature-flag.interface.ts:8


EvaluateBooleanOptions ​

Defined in: src/interfaces/evaluation-details.interface.ts:20

Properties ​

defaultValue? ​
ts
optional defaultValue?: boolean;

Defined in: src/interfaces/evaluation-details.interface.ts:22

Invocation-level default used when the flag is missing or evaluation fails.

includeContextInEvent? ​
ts
optional includeContextInEvent?: boolean;

Defined in: src/interfaces/evaluation-details.interface.ts:28

Include the full resolved context in evaluation/exposure events.

trackExposure? ​
ts
optional trackExposure?: boolean;

Defined in: src/interfaces/evaluation-details.interface.ts:25

Emit an exposure event for this evaluation.


EvaluationContext ​

Defined in: src/interfaces/evaluation-context.interface.ts:3

Properties ​

attributes? ​
ts
optional attributes?: TargetingAttributes;

Defined in: src/interfaces/evaluation-context.interface.ts:17

Additional exact-match targeting attributes

environment? ​
ts
optional environment?: string;

Defined in: src/interfaces/evaluation-context.interface.ts:11

Environment - auto-injected from module options. Can be explicitly overridden

targetingKey? ​
ts
optional targetingKey?: string | null;

Defined in: src/interfaces/evaluation-context.interface.ts:14

Explicit stable key for percentage rollout bucketing

tenantId? ​
ts
optional tenantId?: string | null;

Defined in: src/interfaces/evaluation-context.interface.ts:8

Tenant ID - used for tenant-scoped targeting. Ignored if tenancy is not installed

userId? ​
ts
optional userId?: string | null;

Defined in: src/interfaces/evaluation-context.interface.ts:5

User ID - used for user-scoped targeting and percentage hash


FeatureFlagAdminOptions ​

Defined in: src/admin/admin-options.interface.ts:3

Properties ​

guard ​
ts
guard: Type<CanActivate>;

Defined in: src/admin/admin-options.interface.ts:4

path? ​
ts
optional path?: string;

Defined in: src/admin/admin-options.interface.ts:5


FeatureFlagGuardOptions ​

Defined in: src/interfaces/feature-flag.interface.ts:25

Properties ​

defaultValue? ​
ts
optional defaultValue?: boolean;

Defined in: src/interfaces/feature-flag.interface.ts:33

Invocation-level default when the guard cannot find or evaluate the flag. Default: false

fallback? ​
ts
optional fallback?: Record<string, unknown>;

Defined in: src/interfaces/feature-flag.interface.ts:30

Response body when flag is OFF

statusCode? ​
ts
optional statusCode?: number;

Defined in: src/interfaces/feature-flag.interface.ts:27

HTTP status code when flag is OFF. Default: 403


FeatureFlagLifecycleMetadata ​

Defined in: src/interfaces/flag-registry.interface.ts:5

Extended by ​

Properties ​

expiresAt? ​
ts
optional expiresAt?: string | Date;

Defined in: src/interfaces/flag-registry.interface.ts:9

owner? ​
ts
optional owner?: string;

Defined in: src/interfaces/flag-registry.interface.ts:7

staleAt? ​
ts
optional staleAt?: string | Date;

Defined in: src/interfaces/flag-registry.interface.ts:10

tags? ​
ts
optional tags?: readonly string[];

Defined in: src/interfaces/flag-registry.interface.ts:8

type? ​
ts
optional type?: FeatureFlagType;

Defined in: src/interfaces/flag-registry.interface.ts:6


FeatureFlagModuleAsyncOptions ​

Defined in: src/interfaces/feature-flag-options.interface.ts:35

Extends ​

  • Pick<ModuleMetadata, "imports">

Extended by ​

Properties ​

imports? ​
ts
optional imports?: (
  | DynamicModule
  | Type<any>
  | Promise<DynamicModule>
  | ForwardReference<any>)[];

Defined in: node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts:18

Optional list of imported modules that export the providers which are required in this module.

Inherited from ​
ts
Pick.imports

inject? ​
ts
optional inject?: any[];

Defined in: src/interfaces/feature-flag-options.interface.ts:36

useClass? ​
ts
optional useClass?: Type<FeatureFlagModuleOptionsFactory>;

Defined in: src/interfaces/feature-flag-options.interface.ts:38

useExisting? ​
ts
optional useExisting?: Type<FeatureFlagModuleOptionsFactory>;

Defined in: src/interfaces/feature-flag-options.interface.ts:39

useFactory? ​
ts
optional useFactory?: (...args) =>
  | FeatureFlagModuleOptions
| Promise<FeatureFlagModuleOptions>;

Defined in: src/interfaces/feature-flag-options.interface.ts:37

Parameters ​
ParameterType
...argsany[]
Returns ​

| FeatureFlagModuleOptions | Promise<FeatureFlagModuleOptions>


FeatureFlagModuleOptions ​

Defined in: src/interfaces/feature-flag-options.interface.ts:6

Extended by ​

Properties ​

cacheAdapter? ​
ts
optional cacheAdapter?: CacheAdapter;

Defined in: src/interfaces/feature-flag-options.interface.ts:23

Custom cache adapter implementation. If not provided, an in-memory cache is used.

cacheTtlMs? ​
ts
optional cacheTtlMs?: number;

Defined in: src/interfaces/feature-flag-options.interface.ts:11

Cache TTL in milliseconds. 0 disables caching. Default: 30000

defaultOnMissing? ​
ts
optional defaultOnMissing?: boolean;

Defined in: src/interfaces/feature-flag-options.interface.ts:17

Default value when evaluating a non-existent flag. Default: false

emitEvents? ​
ts
optional emitEvents?: boolean;

Defined in: src/interfaces/feature-flag-options.interface.ts:20

Emit evaluation events via @nestjs/event-emitter. Default: false

environment ​
ts
environment: string;

Defined in: src/interfaces/feature-flag-options.interface.ts:8

Current environment (e.g., 'development', 'staging', 'production')

flags? ​
ts
optional flags?: FlagRegistry;

Defined in: src/interfaces/feature-flag-options.interface.ts:26

Optional type-safe flag registry used for defaults and evaluation metadata.

userIdExtractor? ​
ts
optional userIdExtractor?: (req) => string | null;

Defined in: src/interfaces/feature-flag-options.interface.ts:14

Extract user ID from request. Returns null if user is not authenticated.

Parameters ​
ParameterType
reqRequest
Returns ​

string | null


FeatureFlagModuleOptionsFactory ​

Defined in: src/interfaces/feature-flag-options.interface.ts:29

Methods ​

createFeatureFlagOptions() ​
ts
createFeatureFlagOptions():
  | Promise<FeatureFlagModuleOptions & {
  prisma: any;
}>
  | FeatureFlagModuleOptions & {
  prisma: any;
};

Defined in: src/interfaces/feature-flag-options.interface.ts:30

Returns ​

| Promise<FeatureFlagModuleOptions & { prisma: any; }> | FeatureFlagModuleOptions & { prisma: any; }


FeatureFlagModuleRootAsyncOptions ​

Defined in: src/feature-flag.module.ts:36

Extends ​

Properties ​

imports? ​
ts
optional imports?: (
  | DynamicModule
  | Type<any>
  | Promise<DynamicModule>
  | ForwardReference<any>)[];

Defined in: node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts:18

Optional list of imported modules that export the providers which are required in this module.

Inherited from ​

FeatureFlagModuleAsyncOptions.imports

inject? ​
ts
optional inject?: any[];

Defined in: src/interfaces/feature-flag-options.interface.ts:36

Inherited from ​

FeatureFlagModuleAsyncOptions.inject

useClass? ​
ts
optional useClass?: Type<FeatureFlagModuleOptionsFactory>;

Defined in: src/interfaces/feature-flag-options.interface.ts:38

Inherited from ​

FeatureFlagModuleAsyncOptions.useClass

useExisting? ​
ts
optional useExisting?: Type<FeatureFlagModuleOptionsFactory>;

Defined in: src/interfaces/feature-flag-options.interface.ts:39

Inherited from ​

FeatureFlagModuleAsyncOptions.useExisting

useFactory? ​
ts
optional useFactory?: (...args) =>
  | FeatureFlagModuleRootOptions
| Promise<FeatureFlagModuleRootOptions>;

Defined in: src/feature-flag.module.ts:37

Parameters ​
ParameterType
...argsany[]
Returns ​

| FeatureFlagModuleRootOptions | Promise<FeatureFlagModuleRootOptions>

Overrides ​

FeatureFlagModuleAsyncOptions.useFactory


FeatureFlagModuleRootOptions ​

Defined in: src/feature-flag.module.ts:32

Extends ​

Properties ​

cacheAdapter? ​
ts
optional cacheAdapter?: CacheAdapter;

Defined in: src/interfaces/feature-flag-options.interface.ts:23

Custom cache adapter implementation. If not provided, an in-memory cache is used.

Inherited from ​

FeatureFlagModuleOptions.cacheAdapter

cacheTtlMs? ​
ts
optional cacheTtlMs?: number;

Defined in: src/interfaces/feature-flag-options.interface.ts:11

Cache TTL in milliseconds. 0 disables caching. Default: 30000

Inherited from ​

FeatureFlagModuleOptions.cacheTtlMs

defaultOnMissing? ​
ts
optional defaultOnMissing?: boolean;

Defined in: src/interfaces/feature-flag-options.interface.ts:17

Default value when evaluating a non-existent flag. Default: false

Inherited from ​

FeatureFlagModuleOptions.defaultOnMissing

emitEvents? ​
ts
optional emitEvents?: boolean;

Defined in: src/interfaces/feature-flag-options.interface.ts:20

Emit evaluation events via @nestjs/event-emitter. Default: false

Inherited from ​

FeatureFlagModuleOptions.emitEvents

environment ​
ts
environment: string;

Defined in: src/interfaces/feature-flag-options.interface.ts:8

Current environment (e.g., 'development', 'staging', 'production')

Inherited from ​

FeatureFlagModuleOptions.environment

flags? ​
ts
optional flags?: FlagRegistry;

Defined in: src/interfaces/feature-flag-options.interface.ts:26

Optional type-safe flag registry used for defaults and evaluation metadata.

Inherited from ​

FeatureFlagModuleOptions.flags

prisma ​
ts
prisma: any;

Defined in: src/feature-flag.module.ts:33

userIdExtractor? ​
ts
optional userIdExtractor?: (req) => string | null;

Defined in: src/interfaces/feature-flag-options.interface.ts:14

Extract user ID from request. Returns null if user is not authenticated.

Parameters ​
ParameterType
reqRequest
Returns ​

string | null

Inherited from ​

FeatureFlagModuleOptions.userIdExtractor


FeatureFlagRepository ​

Defined in: src/interfaces/feature-flag-repository.interface.ts:17

Methods ​

archiveFlag() ​
ts
archiveFlag(key): Promise<FeatureFlagWithOverrides>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:20

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides>

createFlag() ​
ts
createFlag(input): Promise<FeatureFlagWithOverrides>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:18

Parameters ​
ParameterType
inputCreateFeatureFlagInput
Returns ​

Promise<FeatureFlagWithOverrides>

createOverride() ​
ts
createOverride(
   flagId,
   criteria,
   enabled,
priority): Promise<void>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:25

Parameters ​
ParameterType
flagIdstring
criteriaOverrideCriteria
enabledboolean
prioritynumber
Returns ​

Promise<void>

deleteOverride() ​
ts
deleteOverride(id): Promise<void>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:32

Parameters ​
ParameterType
idstring
Returns ​

Promise<void>

findAllActiveFlags() ​
ts
findAllActiveFlags(): Promise<FeatureFlagWithOverrides[]>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:23

Returns ​

Promise<FeatureFlagWithOverrides[]>

findFlagByKey() ​
ts
findFlagByKey(key): Promise<FeatureFlagWithOverrides | null>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:21

Parameters ​
ParameterType
keystring
Returns ​

Promise<FeatureFlagWithOverrides | null>

findFlagIdByKey() ​
ts
findFlagIdByKey(key): Promise<string | null>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:22

Parameters ​
ParameterType
keystring
Returns ​

Promise<string | null>

findOverride() ​
ts
findOverride(flagId, criteria): Promise<
  | {
  id: string;
}
| null>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:24

Parameters ​
ParameterType
flagIdstring
criteriaOverrideCriteria
Returns ​

Promise< | { id: string; } | null>

updateFlag() ​
ts
updateFlag(key, input): Promise<FeatureFlagWithOverrides>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:19

Parameters ​
ParameterType
keystring
inputUpdateFeatureFlagInput
Returns ​

Promise<FeatureFlagWithOverrides>

updateOverride() ​
ts
updateOverride(id, input): Promise<void>;

Defined in: src/interfaces/feature-flag-repository.interface.ts:31

Parameters ​
ParameterType
idstring
inputUpdateOverrideInput
Returns ​

Promise<void>


FeatureFlagWithOverrides ​

Defined in: src/interfaces/feature-flag.interface.ts:36

Properties ​

archivedAt ​
ts
archivedAt: Date | null;

Defined in: src/interfaces/feature-flag.interface.ts:43

createdAt ​
ts
createdAt: Date;

Defined in: src/interfaces/feature-flag.interface.ts:44

description ​
ts
description: string | null;

Defined in: src/interfaces/feature-flag.interface.ts:39

enabled ​
ts
enabled: boolean;

Defined in: src/interfaces/feature-flag.interface.ts:40

id ​
ts
id: string;

Defined in: src/interfaces/feature-flag.interface.ts:37

key ​
ts
key: string;

Defined in: src/interfaces/feature-flag.interface.ts:38

metadata ​
ts
metadata: Record<string, unknown>;

Defined in: src/interfaces/feature-flag.interface.ts:42

overrides ​
ts
overrides: FlagOverride[];

Defined in: src/interfaces/feature-flag.interface.ts:46

percentage ​
ts
percentage: number;

Defined in: src/interfaces/feature-flag.interface.ts:41

updatedAt ​
ts
updatedAt: Date;

Defined in: src/interfaces/feature-flag.interface.ts:45


FlagDefinition ​

Defined in: src/interfaces/flag-registry.interface.ts:13

Extends ​

Properties ​

bucketBy? ​
ts
optional bucketBy?: BucketBy;

Defined in: src/interfaces/flag-registry.interface.ts:16

defaultValue ​
ts
defaultValue: boolean;

Defined in: src/interfaces/flag-registry.interface.ts:14

description? ​
ts
optional description?: string;

Defined in: src/interfaces/flag-registry.interface.ts:15

expiresAt? ​
ts
optional expiresAt?: string | Date;

Defined in: src/interfaces/flag-registry.interface.ts:9

Inherited from ​

FeatureFlagLifecycleMetadata.expiresAt

owner? ​
ts
optional owner?: string;

Defined in: src/interfaces/flag-registry.interface.ts:7

Inherited from ​

FeatureFlagLifecycleMetadata.owner

staleAt? ​
ts
optional staleAt?: string | Date;

Defined in: src/interfaces/flag-registry.interface.ts:10

Inherited from ​

FeatureFlagLifecycleMetadata.staleAt

tags? ​
ts
optional tags?: readonly string[];

Defined in: src/interfaces/flag-registry.interface.ts:8

Inherited from ​

FeatureFlagLifecycleMetadata.tags

trackExposure? ​
ts
optional trackExposure?: boolean;

Defined in: src/interfaces/flag-registry.interface.ts:17

type? ​
ts
optional type?: FeatureFlagType;

Defined in: src/interfaces/flag-registry.interface.ts:6

Inherited from ​

FeatureFlagLifecycleMetadata.type


FlagEvaluatedEvent ​

Defined in: src/events/feature-flag.events.ts:18

Properties ​

bucket? ​
ts
optional bucket?: number;

Defined in: src/events/feature-flag.events.ts:29

context? ​
ts
optional context?: EvaluationContext;

Defined in: src/events/feature-flag.events.ts:22

defaultUsed? ​
ts
optional defaultUsed?: boolean;

Defined in: src/events/feature-flag.events.ts:25

errorCode? ​
ts
optional errorCode?: string;

Defined in: src/events/feature-flag.events.ts:26

errorMessage? ​
ts
optional errorMessage?: string;

Defined in: src/events/feature-flag.events.ts:27

evaluationTimeMs ​
ts
evaluationTimeMs: number;

Defined in: src/events/feature-flag.events.ts:31

flagKey ​
ts
flagKey: string;

Defined in: src/events/feature-flag.events.ts:19

matchedOverrideId? ​
ts
optional matchedOverrideId?: string;

Defined in: src/events/feature-flag.events.ts:28

reason? ​
ts
optional reason?: EvaluationReason;

Defined in: src/events/feature-flag.events.ts:24

result ​
ts
result: boolean;

Defined in: src/events/feature-flag.events.ts:20

source ​
ts
source: EvaluationSource;

Defined in: src/events/feature-flag.events.ts:23

targetingKey? ​
ts
optional targetingKey?: string;

Defined in: src/events/feature-flag.events.ts:30

value? ​
ts
optional value?: boolean;

Defined in: src/events/feature-flag.events.ts:21


FlagEvaluatorOptions ​

Defined in: src/interfaces/evaluation-details.interface.ts:47

Properties ​

bucketBy? ​
ts
optional bucketBy?: BucketBy;

Defined in: src/interfaces/evaluation-details.interface.ts:48


FlagExposedEvent ​

Defined in: src/events/feature-flag.events.ts:34

Properties ​

bucket? ​
ts
optional bucket?: number;

Defined in: src/events/feature-flag.events.ts:43

context? ​
ts
optional context?: EvaluationContext;

Defined in: src/events/feature-flag.events.ts:41

defaultUsed ​
ts
defaultUsed: boolean;

Defined in: src/events/feature-flag.events.ts:40

evaluationTimeMs? ​
ts
optional evaluationTimeMs?: number;

Defined in: src/events/feature-flag.events.ts:45

flagKey ​
ts
flagKey: string;

Defined in: src/events/feature-flag.events.ts:35

matchedOverrideId? ​
ts
optional matchedOverrideId?: string;

Defined in: src/events/feature-flag.events.ts:42

reason ​
ts
reason: EvaluationReason;

Defined in: src/events/feature-flag.events.ts:39

result ​
ts
result: boolean;

Defined in: src/events/feature-flag.events.ts:37

source ​
ts
source: EvaluationSource;

Defined in: src/events/feature-flag.events.ts:38

targetingKey? ​
ts
optional targetingKey?: string;

Defined in: src/events/feature-flag.events.ts:44

value ​
ts
value: boolean;

Defined in: src/events/feature-flag.events.ts:36


FlagLifecycleStatus ​

Defined in: src/flag-registry.ts:40

Extends ​

Properties ​

expiresAt? ​
ts
optional expiresAt?: Date;

Defined in: src/flag-registry.ts:44

Overrides ​

FeatureFlagLifecycleMetadata.expiresAt

owner? ​
ts
optional owner?: string;

Defined in: src/interfaces/flag-registry.interface.ts:7

Inherited from ​

FeatureFlagLifecycleMetadata.owner

staleAt? ​
ts
optional staleAt?: Date;

Defined in: src/flag-registry.ts:43

Overrides ​

FeatureFlagLifecycleMetadata.staleAt

status ​
ts
status: FlagLifecycleStatusName;

Defined in: src/flag-registry.ts:41

tags ​
ts
tags: string[];

Defined in: src/flag-registry.ts:42

Overrides ​

FeatureFlagLifecycleMetadata.tags

type? ​
ts
optional type?: FeatureFlagType;

Defined in: src/interfaces/flag-registry.interface.ts:6

Inherited from ​

FeatureFlagLifecycleMetadata.type


FlagMutationEvent ​

Defined in: src/events/feature-flag.events.ts:48

Properties ​

action ​
ts
action: "created" | "updated" | "archived";

Defined in: src/events/feature-flag.events.ts:50

actorId? ​
ts
optional actorId?: string;

Defined in: src/events/feature-flag.events.ts:51

actorType? ​
ts
optional actorType?: string;

Defined in: src/events/feature-flag.events.ts:52

correlationId? ​
ts
optional correlationId?: string;

Defined in: src/events/feature-flag.events.ts:55

flagKey ​
ts
flagKey: string;

Defined in: src/events/feature-flag.events.ts:49

reason? ​
ts
optional reason?: string;

Defined in: src/events/feature-flag.events.ts:53

requestId? ​
ts
optional requestId?: string;

Defined in: src/events/feature-flag.events.ts:54


FlagMutationMetadata ​

Defined in: src/interfaces/feature-flag.interface.ts:63

Properties ​

actorId? ​
ts
optional actorId?: string;

Defined in: src/interfaces/feature-flag.interface.ts:64

actorType? ​
ts
optional actorType?: string;

Defined in: src/interfaces/feature-flag.interface.ts:65

correlationId? ​
ts
optional correlationId?: string;

Defined in: src/interfaces/feature-flag.interface.ts:68

reason? ​
ts
optional reason?: string;

Defined in: src/interfaces/feature-flag.interface.ts:66

requestId? ​
ts
optional requestId?: string;

Defined in: src/interfaces/feature-flag.interface.ts:67


FlagOverride ​

Defined in: src/interfaces/feature-flag.interface.ts:49

Properties ​

attributes ​
ts
attributes: TargetingAttributes;

Defined in: src/interfaces/feature-flag.interface.ts:52

createdAt ​
ts
createdAt: Date;

Defined in: src/interfaces/feature-flag.interface.ts:55

enabled ​
ts
enabled: boolean;

Defined in: src/interfaces/feature-flag.interface.ts:54

flagId ​
ts
flagId: string;

Defined in: src/interfaces/feature-flag.interface.ts:51

id ​
ts
id: string;

Defined in: src/interfaces/feature-flag.interface.ts:50

priority ​
ts
priority: number;

Defined in: src/interfaces/feature-flag.interface.ts:53

updatedAt ​
ts
updatedAt: Date;

Defined in: src/interfaces/feature-flag.interface.ts:56


FlagOverrideEvent ​

Defined in: src/events/feature-flag.events.ts:58

Properties ​

action ​
ts
action: "set" | "removed";

Defined in: src/events/feature-flag.events.ts:63

actorId? ​
ts
optional actorId?: string;

Defined in: src/events/feature-flag.events.ts:64

actorType? ​
ts
optional actorType?: string;

Defined in: src/events/feature-flag.events.ts:65

attributes ​
ts
attributes: Record<string, string | number | boolean | null>;

Defined in: src/events/feature-flag.events.ts:60

correlationId? ​
ts
optional correlationId?: string;

Defined in: src/events/feature-flag.events.ts:68

enabled? ​
ts
optional enabled?: boolean;

Defined in: src/events/feature-flag.events.ts:61

flagKey ​
ts
flagKey: string;

Defined in: src/events/feature-flag.events.ts:59

priority? ​
ts
optional priority?: number;

Defined in: src/events/feature-flag.events.ts:62

reason? ​
ts
optional reason?: string;

Defined in: src/events/feature-flag.events.ts:66

requestId? ​
ts
optional requestId?: string;

Defined in: src/events/feature-flag.events.ts:67


OverrideCriteria ​

Defined in: src/interfaces/feature-flag-repository.interface.ts:8

Properties ​

attributes ​
ts
attributes: TargetingAttributes;

Defined in: src/interfaces/feature-flag-repository.interface.ts:9


RedisCacheAdapterOptions ​

Defined in: src/cache/redis-cache.adapter.ts:6

Properties ​

channel? ​
ts
optional channel?: string;

Defined in: src/cache/redis-cache.adapter.ts:10

client ​
ts
client: Redis;

Defined in: src/cache/redis-cache.adapter.ts:7

keyPrefix? ​
ts
optional keyPrefix?: string;

Defined in: src/cache/redis-cache.adapter.ts:9

subscriber? ​
ts
optional subscriber?: Redis;

Defined in: src/cache/redis-cache.adapter.ts:8


RemoveOverrideInput ​

Defined in: src/interfaces/feature-flag.interface.ts:59

Properties ​

attributes ​
ts
attributes: TargetingAttributes;

Defined in: src/interfaces/feature-flag.interface.ts:60


SetOverrideInput ​

Defined in: src/interfaces/feature-flag.interface.ts:19

Properties ​

attributes ​
ts
attributes: TargetingAttributes;

Defined in: src/interfaces/feature-flag.interface.ts:20

enabled ​
ts
enabled: boolean;

Defined in: src/interfaces/feature-flag.interface.ts:21

priority? ​
ts
optional priority?: number;

Defined in: src/interfaces/feature-flag.interface.ts:22


TenantContextProvider ​

Defined in: src/interfaces/tenant-context-provider.interface.ts:1

Methods ​

getCurrentTenantId() ​
ts
getCurrentTenantId(): string | null;

Defined in: src/interfaces/tenant-context-provider.interface.ts:2

Returns ​

string | null


TypedFeatureFlagClient ​

Defined in: src/flag-registry.ts:15

Type Parameters ​

Type Parameter
TFlags extends FlagRegistry

Properties ​

registry ​
ts
registry: TFlags;

Defined in: src/flag-registry.ts:28

Methods ​

evaluateBoolean() ​
ts
evaluateBoolean<K>(
   flagKey,
   context?,
options?): Promise<BooleanEvaluationDetails>;

Defined in: src/flag-registry.ts:22

Type Parameters ​
Type Parameter
K extends string
Parameters ​
ParameterType
flagKeyK
context?EvaluationContext
options?EvaluateBooleanOptions
Returns ​

Promise<BooleanEvaluationDetails>

isEnabled() ​
ts
isEnabled<K>(
   flagKey,
   context?,
options?): Promise<boolean>;

Defined in: src/flag-registry.ts:16

Type Parameters ​
Type Parameter
K extends string
Parameters ​
ParameterType
flagKeyK
context?EvaluationContext
options?EvaluateBooleanOptions
Returns ​

Promise<boolean>


TypedFeatureFlagDecorators ​

Defined in: src/flag-registry.ts:31

Type Parameters ​

Type Parameter
TFlags extends FlagRegistry

Methods ​

FeatureFlag() ​
ts
FeatureFlag<K>(flagKey, options?): ClassDecorator & MethodDecorator;

Defined in: src/flag-registry.ts:32

Type Parameters ​
Type Parameter
K extends string
Parameters ​
ParameterType
flagKeyK
options?FeatureFlagGuardOptions
Returns ​

ClassDecorator & MethodDecorator


UpdateFeatureFlagInput ​

Defined in: src/interfaces/feature-flag.interface.ts:12

Properties ​

description? ​
ts
optional description?: string;

Defined in: src/interfaces/feature-flag.interface.ts:13

enabled? ​
ts
optional enabled?: boolean;

Defined in: src/interfaces/feature-flag.interface.ts:14

metadata? ​
ts
optional metadata?: Record<string, unknown>;

Defined in: src/interfaces/feature-flag.interface.ts:16

percentage? ​
ts
optional percentage?: number;

Defined in: src/interfaces/feature-flag.interface.ts:15


UpdateOverrideInput ​

Defined in: src/interfaces/feature-flag-repository.interface.ts:12

Properties ​

enabled ​
ts
enabled: boolean;

Defined in: src/interfaces/feature-flag-repository.interface.ts:13

priority ​
ts
priority: number;

Defined in: src/interfaces/feature-flag-repository.interface.ts:14

Type Aliases ​

BucketBy ​

ts
type BucketBy =
  | "userId"
  | "tenantId"
  | "environment"
  | "targetingKey"
  | string & {
};

Defined in: src/interfaces/evaluation-details.interface.ts:13


EvaluationReason ​

ts
type EvaluationReason =
  | "ARCHIVED"
  | "OVERRIDE_MATCH"
  | "PERCENTAGE_MATCH"
  | "PERCENTAGE_MISS"
  | "PERCENTAGE_NO_TARGETING_KEY"
  | "GLOBAL"
  | "FLAG_NOT_FOUND"
  | "ERROR";

Defined in: src/interfaces/evaluation-details.interface.ts:3


EvaluationSource ​

ts
type EvaluationSource = "override" | "percentage" | "global" | "default";

Defined in: src/interfaces/evaluation-details.interface.ts:1


FeatureFlagType ​

ts
type FeatureFlagType = "release" | "experiment" | "ops" | "permission";

Defined in: src/interfaces/flag-registry.interface.ts:3


FlagKey ​

ts
type FlagKey<TFlags> = Extract<keyof TFlags, string>;

Defined in: src/interfaces/flag-registry.interface.ts:21

Type Parameters ​

Type Parameter
TFlags extends FlagRegistry

FlagLifecycleStatusName ​

ts
type FlagLifecycleStatusName = "active" | "stale" | "expired";

Defined in: src/flag-registry.ts:38


FlagRegistry ​

ts
type FlagRegistry = Record<string, FlagDefinition>;

Defined in: src/interfaces/flag-registry.interface.ts:20


TargetingAttributes ​

ts
type TargetingAttributes = Record<string, TargetingAttributeValue>;

Defined in: src/interfaces/feature-flag.interface.ts:2


TargetingAttributeValue ​

ts
type TargetingAttributeValue = string | number | boolean | null;

Defined in: src/interfaces/feature-flag.interface.ts:1

Variables ​

CACHE_ADAPTER ​

ts
const CACHE_ADAPTER: typeof CACHE_ADAPTER;

Defined in: src/feature-flag.constants.ts:9


FEATURE_FLAG_MODULE_OPTIONS ​

ts
const FEATURE_FLAG_MODULE_OPTIONS: typeof FEATURE_FLAG_MODULE_OPTIONS;

Defined in: src/feature-flag.constants.ts:1


FEATURE_FLAG_REPOSITORY ​

ts
const FEATURE_FLAG_REPOSITORY: typeof FEATURE_FLAG_REPOSITORY;

Defined in: src/feature-flag.constants.ts:10


FeatureFlagEvents ​

ts
const FeatureFlagEvents: {
  ARCHIVED: "feature-flag.archived";
  CACHE_INVALIDATED: "feature-flag.cache.invalidated";
  CREATED: "feature-flag.created";
  EVALUATED: "feature-flag.evaluated";
  EXPOSED: "feature-flag.exposed";
  OVERRIDE_REMOVED: "feature-flag.override.removed";
  OVERRIDE_SET: "feature-flag.override.set";
  UPDATED: "feature-flag.updated";
};

Defined in: src/events/feature-flag.events.ts:7

Type Declaration ​

NameTypeDefault valueDefined in
ARCHIVED"feature-flag.archived"'feature-flag.archived'src/events/feature-flag.events.ts:12
CACHE_INVALIDATED"feature-flag.cache.invalidated"'feature-flag.cache.invalidated'src/events/feature-flag.events.ts:15
CREATED"feature-flag.created"'feature-flag.created'src/events/feature-flag.events.ts:10
EVALUATED"feature-flag.evaluated"'feature-flag.evaluated'src/events/feature-flag.events.ts:8
EXPOSED"feature-flag.exposed"'feature-flag.exposed'src/events/feature-flag.events.ts:9
OVERRIDE_REMOVED"feature-flag.override.removed"'feature-flag.override.removed'src/events/feature-flag.events.ts:14
OVERRIDE_SET"feature-flag.override.set"'feature-flag.override.set'src/events/feature-flag.events.ts:13
UPDATED"feature-flag.updated"'feature-flag.updated'src/events/feature-flag.events.ts:11

TENANT_CONTEXT_PROVIDER ​

ts
const TENANT_CONTEXT_PROVIDER: typeof TENANT_CONTEXT_PROVIDER;

Defined in: src/feature-flag.constants.ts:11

Functions ​

BypassFeatureFlag() ​

ts
function BypassFeatureFlag(): CustomDecorator<string>;

Defined in: src/decorators/bypass-feature-flag.decorator.ts:4

Returns ​

CustomDecorator<string>


createFeatureFlagClient() ​

ts
function createFeatureFlagClient<TFlags>(service, registry): TypedFeatureFlagClient<TFlags>;

Defined in: src/flag-registry.ts:51

Type Parameters ​

Type Parameter
TFlags extends FlagRegistry

Parameters ​

ParameterType
serviceFeatureFlagService
registryTFlags

Returns ​

TypedFeatureFlagClient<TFlags>


createFeatureFlagDecorators() ​

ts
function createFeatureFlagDecorators<TFlags>(registry): TypedFeatureFlagDecorators<TFlags>;

Defined in: src/flag-registry.ts:68

Type Parameters ​

Type Parameter
TFlags extends FlagRegistry

Parameters ​

ParameterType
registryTFlags

Returns ​

TypedFeatureFlagDecorators<TFlags>


defineFlags() ​

ts
function defineFlags<TFlags>(flags): TFlags;

Defined in: src/flag-registry.ts:47

Type Parameters ​

Type Parameter
TFlags extends FlagRegistry

Parameters ​

ParameterType
flagsTFlags

Returns ​

TFlags


FeatureFlag() ​

ts
function FeatureFlag(flagKey, options?): ClassDecorator & MethodDecorator;

Defined in: src/decorators/feature-flag.decorator.ts:6

Parameters ​

ParameterType
flagKeystring
optionsFeatureFlagGuardOptions

Returns ​

ClassDecorator & MethodDecorator


getFlagLifecycleStatus() ​

ts
function getFlagLifecycleStatus(metadata, now?): FlagLifecycleStatus;

Defined in: src/flag-registry.ts:80

Parameters ​

ParameterType
metadataFeatureFlagLifecycleMetadata
nowDate

Returns ​

FlagLifecycleStatus

Released under the MIT License.