Skip to content

Clist

CList dataclass

Bases: Generic[A]

summary

Parameters:

Name Type Description Default
Generic _type_

description

required

Returns:

Name Type Description
_type_

description

Source code in funclift/types/clist.py
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@dataclass
class CList(Generic[A]):
    """_summary_

    Args:
        Generic (_type_): _description_

    Returns:
        _type_: _description_
    """

    clist: list[A]

    def fmap(self, f: Callable[[A], B]) -> CList[B]:
        return CList([f(item) for item in self.clist])

    def flatmap(self, f: Callable[[A], CList[B]]) -> CList[B]:
        result = []
        for item in self.clist:
            result.extend(f(item).clist)
        return CList(result)

    def to_list(self) -> list[A]:
        return self.clist