ja_sentence_segmenter.common.pipeline
simple pipeline generator.
1"""simple pipeline generator.""" 2import functools 3from typing import Callable, Generator 4 5 6def make_pipeline(*funcs: Callable[..., Generator[str, None, None]]) -> Callable[..., Generator[str, None, None]]: 7 """Make pipeline of generators. 8 9 Parameters 10 ---------- 11 *funcs : Callable[..., Generator[str, None, None]] 12 generator you want to add pipeline. 13 14 Returns 15 ------- 16 Callable[..., Generator[str, None, None]] 17 pipeline of generators. 18 """ 19 20 def composite( 21 func1: Callable[..., Generator[str, None, None]], func2: Callable[..., Generator[str, None, None]] 22 ) -> Callable[..., Generator[str, None, None]]: 23 return lambda x: func2(func1(x)) 24 25 return functools.reduce(composite, funcs)
def
make_pipeline( *funcs: Callable[..., Generator[str, NoneType, NoneType]]) -> Callable[..., Generator[str, NoneType, NoneType]]:
7def make_pipeline(*funcs: Callable[..., Generator[str, None, None]]) -> Callable[..., Generator[str, None, None]]: 8 """Make pipeline of generators. 9 10 Parameters 11 ---------- 12 *funcs : Callable[..., Generator[str, None, None]] 13 generator you want to add pipeline. 14 15 Returns 16 ------- 17 Callable[..., Generator[str, None, None]] 18 pipeline of generators. 19 """ 20 21 def composite( 22 func1: Callable[..., Generator[str, None, None]], func2: Callable[..., Generator[str, None, None]] 23 ) -> Callable[..., Generator[str, None, None]]: 24 return lambda x: func2(func1(x)) 25 26 return functools.reduce(composite, funcs)
Make pipeline of generators.
Parameters
- *funcs (Callable[..., Generator[str, None, None]]): generator you want to add pipeline.
Returns
- Callable[..., Generator[str, None, None]]: pipeline of generators.