veffect
Version:
powerful TypeScript validation library built on the robust foundation of Effect combining exceptional type safety, high performance, and developer experience. Taking inspiration from Effect's functional principles, VEffect delivers a balanced approach tha
41 lines • 882 B
TypeScript
/**
* @since 2.0.0
*/
import type * as Types from "./Types.js";
/**
* @since 2.0.0
*/
export declare const URI: unique symbol;
/**
* @since 2.0.0
*/
export interface TypeClass<F extends TypeLambda> {
readonly [URI]?: F;
}
/**
* @since 2.0.0
*/
export interface TypeLambda {
readonly In: unknown;
readonly Out2: unknown;
readonly Out1: unknown;
readonly Target: unknown;
}
/**
* @since 2.0.0
*/
export type Kind<F extends TypeLambda, In, Out2, Out1, Target> = F extends {
readonly type: unknown;
} ? (F & {
readonly In: In;
readonly Out2: Out2;
readonly Out1: Out1;
readonly Target: Target;
})["type"] : {
readonly F: F;
readonly In: Types.Contravariant<In>;
readonly Out2: Types.Covariant<Out2>;
readonly Out1: Types.Covariant<Out1>;
readonly Target: Types.Invariant<Target>;
};
//# sourceMappingURL=HKT.d.ts.map