Skip to content

FlagFactory

Factory that creates FlagBuilder instances seeded with the correct FlagKind and initial type-level config.

Signatures

ts
interface FlagFactory {}

Members

Methods

array

ts
array<E extends FlagConfig & { elementEligible: true; }>(element: FlagBuilder<E>): FlagBuilder<{ elementEligible: false; flagKind: "array"; optionalFallback: "empty-array"; presence: "optional"; valueType: E["valueType"][]; }>;

boolean

ts
boolean(): FlagBuilder<{ elementEligible: true; flagKind: "boolean"; optionalFallback: "undefined"; presence: "defaulted"; valueType: boolean; }>;

bytes

ts
bytes(): FlagBuilder<{ elementEligible: true; flagKind: "custom"; optionalFallback: "undefined"; presence: "optional"; valueType: number; }>;

count

ts
count(): FlagBuilder<{ elementEligible: false; flagKind: "count"; optionalFallback: "undefined"; presence: "defaulted"; valueType: number; }>;

custom

ts
custom<S extends StandardSchemaV1<unknown, unknown>>(schema: S): FlagBuilder<{ elementEligible: true; flagKind: "custom"; optionalFallback: "undefined"; presence: "optional"; valueType: InferStandardOutput<S>; }>;

date

ts
date(options?: DateFlagOptions): FlagBuilder<{ elementEligible: true; flagKind: "custom"; optionalFallback: "undefined"; presence: "optional"; valueType: Date; }>;

duration

ts
duration(): FlagBuilder<{ elementEligible: true; flagKind: "custom"; optionalFallback: "undefined"; presence: "optional"; valueType: number; }>;

enum

ts
enum<T extends readonly [string, string]>(values: T): FlagBuilder<{ elementEligible: true; flagKind: "enum"; optionalFallback: "undefined"; presence: "optional"; valueType: T[number]; }>;

keyValue

ts
keyValue(): FlagBuilder<{ elementEligible: false; flagKind: "keyValue"; optionalFallback: "empty-object"; presence: "optional"; valueType: Record<string, string>; }>;

number

ts
number(constraints?: NumberConstraints): FlagBuilder<{ elementEligible: true; flagKind: "number"; optionalFallback: "undefined"; presence: "optional"; valueType: number; }>;

path

ts
path(options?: PathFlagOptions): FlagBuilder<{ elementEligible: false; flagKind: "string"; optionalFallback: "undefined"; presence: "optional"; valueType: string; }>;

string

ts
string(constraints?: StringConstraints): FlagBuilder<{ elementEligible: true; flagKind: "string"; optionalFallback: "undefined"; presence: "optional"; valueType: string; }>;

url

ts
url(options?: UrlFlagOptions): FlagBuilder<{ elementEligible: true; flagKind: "custom"; optionalFallback: "undefined"; presence: "optional"; valueType: URL; }>;

See Also

Released under the MIT License.