from typing import TYPE_CHECKING
from weaver.base import Constants
if TYPE_CHECKING:
from typing import List
[docs]class ExecuteMode(Constants):
[docs]class ExecuteControlOption(Constants):
[docs] ASYNC = "async-execute"
@classmethod
[docs] def values(cls):
# type: () -> List[AnyExecuteControlOption]
"""
Return default control options in specific order according to preferred modes for execution by `Weaver`.
"""
return [ExecuteControlOption.ASYNC, ExecuteControlOption.SYNC]
[docs]class ExecuteResponse(Constants):
[docs]class ExecuteTransmissionMode(Constants):
[docs] REFERENCE = "reference"
if TYPE_CHECKING:
from weaver.typedefs import Literal
[docs] AnyExecuteMode = Literal[
ExecuteMode.ASYNC,
ExecuteMode.SYNC,
]
AnyExecuteControlOption = Literal[
ExecuteControlOption.ASYNC,
ExecuteControlOption.SYNC,
]
AnyExecuteResponse = Literal[
ExecuteResponse.DOCUMENT,
ExecuteResponse.RAW,
]
AnyExecuteTransmissionMode = Literal[
ExecuteTransmissionMode.REFERENCE,
ExecuteTransmissionMode.VALUE,
]