builtup4/bu4/transform/targets/atlambda.py

19 lines
483 B
Python

# Copyright (c) PARRRATE T&V 2021. All rights reserved.
from typing import Callable, TypeVar
from bu4.transform.states.transformstate import TransformState
from bu4.transform.targets.attarget import ATTarget
__all__ = ('ATLambda',)
T = TypeVar('T')
class ATLambda(ATTarget[T]):
def __init__(self, lambda_: Callable[[T], TransformState[T]]):
self.lambda_ = lambda_
def given(self, transformed: T) -> TransformState[T]:
return self.lambda_(transformed)