effect-ts-laws
Version:
effect-ts law testing using fast-check.
24 lines • 646 B
TypeScript
import { Monoid as MO, Semigroup as SE } from '@effect/typeclass';
import type { TypeLambda } from 'effect/HKT';
import * as FN from './Function.js';
/**
* A unary function where argument type is return type.
* @category datatype
*/
export interface Endo<A> extends FN.FunctionIn<A, A> {
}
/**
* @category type lambda
*/
export interface EndoTypeLambda extends TypeLambda {
readonly type: Endo<this['Target']>;
}
/**
* @category instances
*/
export declare const getSemigroup: <A>() => SE.Semigroup<Endo<A>>;
/**
* @category instances
*/
export declare const getMonoid: <A>() => MO.Monoid<Endo<A>>;
//# sourceMappingURL=Endo.d.ts.map