All files / src/draw/part fold.ts

100% Statements 5/5
100% Branches 1/1
100% Functions 1/1
100% Lines 5/5

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 171x 1x 1x                       1x 289x  
import {cata, type Algebra} from 'effect-ts-folds'
import {Traversable, type PartFTypeLambda} from '../partF.js'
import {type Part} from './types.js'
 
/**
 * A function of the type `PartF<A> ⇒ A`.
 * @category drawing
 */
export type PartFolder<A> = Algebra<PartFTypeLambda, A>
 
/**
 * @category drawing
 * @function
 */
export const partCata = <A>(folder: PartFolder<A>): ((part: Part) => A) =>
  cata(Traversable)(folder)