FuncType - v0.8.85
    Preparing search index...

    Type Alias ValidatedBrand<K, T>

    A brand with runtime validation

    const Age = ValidatedBrand("Age", (n: number) => n >= 0 && n <= 150)
    const myAge = Age.of(25) // Option<Brand<"Age", number>>
    const invalid = Age.of(-5) // None
    type ValidatedBrand<K extends string, T> = {
        brand: K;
        from: (value: T) => Either<string, Brand<K, T>>;
        is: (value: unknown) => value is Brand<K, T>;
        of: (value: T) => Option<Brand<K, T>>;
        refine: <K2 extends string>(
            brand: K2,
            validate: (value: Brand<K, T>) => boolean,
        ) => ValidatedBrand<K2, Brand<K, T>>;
        unsafeOf: (value: T) => Brand<K, T>;
        validate: (value: T) => boolean;
    }

    Type Parameters

    • K extends string
    • T
    Index

    Properties

    brand: K
    from: (value: T) => Either<string, Brand<K, T>>
    is: (value: unknown) => value is Brand<K, T>
    of: (value: T) => Option<Brand<K, T>>
    refine: <K2 extends string>(
        brand: K2,
        validate: (value: Brand<K, T>) => boolean,
    ) => ValidatedBrand<K2, Brand<K, T>>
    unsafeOf: (value: T) => Brand<K, T>
    validate: (value: T) => boolean