2023-04-08 20:07:28 +00:00
|
|
|
from dataclasses import dataclass
|
|
|
|
from enum import auto, Enum
|
|
|
|
from typing import Any
|
|
|
|
|
|
|
|
|
|
|
|
class Datatype(Enum):
|
|
|
|
NONE = auto()
|
2023-04-08 21:12:17 +00:00
|
|
|
NULL = auto()
|
2023-04-08 20:07:28 +00:00
|
|
|
STRING = auto()
|
|
|
|
INTEGER = auto()
|
|
|
|
FLOAT = auto()
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class Variable:
|
|
|
|
name: str
|
|
|
|
type: Datatype
|
|
|
|
value: Any
|
2023-04-08 21:12:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
NONE_TYPE = Variable(None, Datatype.NONE, None)
|
|
|
|
|
|
|
|
VAR_MATCH = {
|
|
|
|
r"null": Datatype.NULL,
|
|
|
|
r"\".+\"": Datatype.STRING,
|
|
|
|
r"\d+\.\d{0,}": Datatype.FLOAT,
|
|
|
|
r"\d+": Datatype.INTEGER,
|
2023-04-08 21:56:30 +00:00
|
|
|
# r".+": Datatype.NONE,
|
2023-04-08 21:12:17 +00:00
|
|
|
}
|