Added type value constants

This commit is contained in:
Andrei Bondarenko 2021-07-13 19:51:24 +02:00
parent f6747c6929
commit 5a548d5c3e

View file

@ -3,7 +3,14 @@ from typing import Any, List, Tuple, Optional, Union
import uuid
primitive_types = (int, float, str, bool)
type_values = ("Integer", "Float", "String", "Boolean", "Type")
INTEGER = {"type": "Integer"}
FLOAT = {"type": "Float"}
STRING = {"type": "String"}
BOOLEAN = {"type": "Boolean"}
TYPE = {"type": "Type"}
NODE = {"type": "Node"}
EDGE = {"type": "Edge"}
type_values = (INTEGER, FLOAT, STRING, BOOLEAN, TYPE, NODE, EDGE)
Node = str
@ -37,7 +44,7 @@ class State(ABC):
Returns:
True if value type is supported, False otherwise.
"""
if isinstance(value, dict) and value.get("type", None) in type_values:
if isinstance(value, dict) and value in type_values:
return True
if not isinstance(value, primitive_types):
return False