effect-ts-folds
Version:
Recursion schemes for effect-ts.
15 lines • 1.13 kB
TypeScript
import { Fix } from '#fix';
import { Traversable } from '@effect/typeclass';
import { HKT } from 'effect';
import { LawSet } from 'effect-ts-laws';
import { Given } from '../laws.js';
import { Catamorphism, Histomorphism, Paramorphism } from './folds.js';
export declare const cataLaws: <F extends HKT.TypeLambda, A, B>(F: Traversable.Traversable<F>, { equalsF, equalsA, fixed, φ }: Given<F, A, B>) => LawSet;
export declare const paraLaws: <F extends HKT.TypeLambda, A, B>(F: Traversable.Traversable<F>, { fixed, equalsA, equalsB, φ, rAlgebra }: Given<F, A, B>) => LawSet;
export declare const zygoLaws: <F extends HKT.TypeLambda, A>(F: Traversable.Traversable<F>, { fixed, equalsF, rAlgebra }: Given<F, A, Fix<F>>) => LawSet;
export declare const histoLaws: <F extends HKT.TypeLambda, A>(F: Traversable.Traversable<F>, { fixed, equalsA, cvAlgebra, φ }: Given<F, A, Fix<F>>) => LawSet;
export declare const standalonePara: Paramorphism;
export declare const histoBasedCata: Catamorphism;
export declare const zygoBasedPara: Paramorphism;
export declare const standaloneHisto: Histomorphism;
//# sourceMappingURL=laws.d.ts.map