Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import {Foldable as FO} from '@effect/typeclass' import type {Kind, TypeLambda} from 'effect/HKT' /** * @category type lambda */ export interface RightFoldableTypeLambda extends TypeLambda { readonly type: RightFoldable<this['Target'] & TypeLambda> } /** * The type of the `reduceRight` function for the foldable instance of the * higher-kinded datatype `F`. * * Not included in the `effect-ts` * [Foldable](https://github.com/Effect-TS/effect/blob/main/packages/typeclass/src/Foldable.ts) * typeclass but implemented for several datatypes, for example * [Array](https://github.com/Effect-TS/effect/blob/main/packages/effect/src/Array.ts#L2505). * @category typeclass */ export interface ReduceRight<F extends TypeLambda> { <A, B, R = never, O = unknown, E = unknown>( zero: B, f: (accumulator: B, value: A) => B, ): (self: Kind<F, R, O, E, A>) => B <A, B, R = never, O = unknown, E = unknown>( self: Kind<F, R, O, E, A>, zero: B, f: (accumulator: B, value: A) => B, ): B } /** * Adds a `reduceRight` function to * [Foldable](https://github.com/Effect-TS/effect/blob/main/packages/typeclass/src/Foldable.ts). * @category typeclass */ export interface RightFoldable<F extends TypeLambda> extends FO.Foldable<F> { readonly reduceRight: ReduceRight<F> } |