Quizard/modules/fabric.py

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]: ...