28 lines
630 B
Python
28 lines
630 B
Python
from dataclasses import dataclass
|
|
from typing import Optional, Type
|
|
|
|
from .._serialize import Serializable
|
|
from .._utils import type_str
|
|
|
|
|
|
@dataclass
|
|
class Argument(Serializable):
|
|
"""
|
|
Represents an integration constructor/action parameter.
|
|
"""
|
|
|
|
name: str
|
|
required: bool = False
|
|
doc: Optional[str] = None
|
|
type: Optional[Type] = None
|
|
default: Optional[str] = None
|
|
|
|
def to_dict(self) -> dict:
|
|
return {
|
|
"name": self.name,
|
|
"required": self.required,
|
|
"doc": self.doc,
|
|
"type": type_str(self.type),
|
|
"default": self.default,
|
|
}
|