Exemplo n.º 1
0
Arquivo: map.py Projeto: tek/tryp.py
 def flat_map(
         self,
         f: Callable[[A, B], Maybe[Tuple[C, D]]]
 ) -> 'Map[C, D]':
     filtered = List.wrap([f(a, b) for a, b in self.items()])\
         .join
     return Map(filtered)
Exemplo n.º 2
0
 def _drain_find(self, abort):
     culprit = Empty()
     def gen():
         nonlocal culprit
         while True:
             try:
                 el = next(self.source)
                 yield el
                 if abort(el):
                     culprit = Just(el)
                     break
             except StopIteration:
                 break
     drained = List.wrap(list(gen()))
     self.strict = self.strict + drained
     return culprit
Exemplo n.º 3
0
Arquivo: map.py Projeto: tek/tryp.py
 def map2(self, f: Callable[[A, B], C]) -> List[C]:
     return List.wrap([f(a, b) for a, b in self.items()])
Exemplo n.º 4
0
Arquivo: map.py Projeto: tek/tryp.py
 def get_all_map(self, *keys):
     def append(zm, k):
         return zm // (lambda z: self.get_item(k) / z.cat)
     return List.wrap(keys).fold_left(Just(Map()))(append)
Exemplo n.º 5
0
Arquivo: map.py Projeto: tek/tryp.py
 def values_at(self, *keys):
     return List.wrap(keys) // self.get
Exemplo n.º 6
0
Arquivo: map.py Projeto: tek/tryp.py
 def to_list(self):
     return List.wrap(self.items())