- types.ts: multi-variate flags (boolean/string/number/JSON), targeting rules with 18 operators, scheduling (enableAt/disableAt/gradual rollout), prerequisites, segments, audit log, evaluation context - evaluator.ts: pure evaluation engine — schedule checking, prerequisite dependencies (circular detection), individual targeting, targeting rules (AND clauses), segment matching, percentage rollout (FNV-1a), OS version/platform/region filtering - repository.ts: 3 collections — feature_flags, flag_segments, flag_audit_log - routes.ts: 18 endpoints — flag CRUD, toggle, archive, kill switch (with tag filter), segment CRUD, audit log, POST /flags/evaluate (multi-variate), SSE /flags/stream, legacy /flags/poll backward-compat - seed.ts: updated to produce full FeatureFlagDoc with variations, version - flags.test.ts: 63 tests — schema validation, evaluator engine, targeting rules, segments, prerequisites, scheduling, gradual rollouts, multi-variate, version comparison, deterministic hashing - @bytelyst/events: added flag.created, flag.updated, flag.deleted, flag.kill_switch event types - @bytelyst/feature-flag-client: multi-variate support (getValue, getEvaluation, getAllEvaluations), SSE streaming mode, onChange listeners, auth token injection - event-dispatcher.ts + webhooks/types.ts: wired new flag events
8 lines
179 B
TypeScript
8 lines
179 B
TypeScript
export { createFeatureFlagClient } from './client.js';
|
|
export type {
|
|
FeatureFlagClient,
|
|
FeatureFlagClientConfig,
|
|
EvaluationContext,
|
|
EvaluationResult,
|
|
} from './types.js';
|