@typed/fp
Version:
Data Structures and Resources for fp-ts
25 lines • 596 B
TypeScript
/**
* @since 0.9.2
* @category Type-level
*/
export declare type BrandOf<A> = A extends Branded<infer _, infer R> ? R : never;
/**
* @since 0.9.2
* @category Type-level
*/
export declare type ValueOf<A> = A extends infer E & {
readonly __brand__: BrandOf<A>;
} ? E : never;
/**
* @since 0.9.2
* @category Model
*/
export declare type Branded<E, A> = E & {
readonly __brand__: A;
};
/**
* @since 0.9.2
* @category Constructor
*/
export declare const Branded: <A extends unknown>() => <E extends ValueOf<A>>(e: E) => Branded<E, BrandOf<A>>;
//# sourceMappingURL=Branded.d.ts.map