UNPKG

@featurevisor/sdk

Version:

Featurevisor SDK for Node.js and the browser

31 lines (30 loc) 1.14 kB
import { Feature, BucketKey, BucketValue, Context } from "@featurevisor/types"; import { Logger } from "./logger"; export declare const MAX_BUCKETED_NUMBER = 100000; export declare function getBucketedNumber(bucketKey: string): number; /** * Feature specific bucketing */ export type ConfigureBucketKey = (feature: Feature, context: Context, bucketKey: BucketKey) => BucketKey; export interface BucketKeyOptions { feature: Feature; context: Context; logger: Logger; bucketKeySeparator?: string; configureBucketKey?: ConfigureBucketKey; } export declare function getBucketKey(options: BucketKeyOptions): BucketKey; export interface Bucket { bucketKey: BucketKey; bucketValue: BucketValue; } export type ConfigureBucketValue = (feature: Feature, context: Context, bucketValue: BucketValue) => BucketValue; export interface BucketValueOptions { feature: Feature; context: Context; logger: Logger; bucketKeySeparator?: string; configureBucketKey?: ConfigureBucketKey; configureBucketValue?: ConfigureBucketValue; } export declare function getBucket(options: BucketValueOptions): Bucket;