19 lines
483 B
Python
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)
|