1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
from __future__ import annotations
from typing import Final, Optional
from moto.stepfunctions.parser.asl.component.common.jsonata.jsonata_template_value import (
JSONataTemplateValue,
)
from moto.stepfunctions.parser.asl.component.eval_component import EvalComponent
from moto.stepfunctions.parser.asl.eval.environment import Environment
class JSONataTemplateBinding(EvalComponent):
identifier: Final[str]
value: Final[JSONataTemplateValue]
def __init__(self, identifier: str, value: JSONataTemplateValue):
self.identifier = identifier
self.value = value
def _field_name(self) -> Optional[str]:
return self.identifier
def _eval_body(self, env: Environment) -> None:
binding_container: dict = env.stack.pop()
self.value.eval(env=env)
value = env.stack.pop()
binding_container[self.identifier] = value
env.stack.append(binding_container)
|