16 lines
434 B
Python
16 lines
434 B
Python
from typing import Generic, Protocol, runtime_checkable
|
|
|
|
from option import Option
|
|
|
|
from modules.fabric_metadata import QTaskFactoryMetadata
|
|
from modules.task import QTask
|
|
from utils.types import A, C, Q, V
|
|
|
|
|
|
@runtime_checkable
|
|
class QTaskFactory(Protocol, Generic[C, V, Q, A]):
|
|
metadata: QTaskFactoryMetadata[C, V]
|
|
default_tasks_to_generate: Option[int] = Option.maybe(None)
|
|
|
|
def generate(self) -> QTask[C, V, Q, A]: ...
|