INNER CODE UNIT · Python
_parse_chain
gokayfem/ComfyUI-fal-API · nodes/builder_node.py:41
def _parse_chain(node_name: str, chain: str, container: type) -> Any:
"""Parse a prior chain string into ``container`` (list or dict).
An empty/blank chain yields a fresh empty container. Anything that is not
valid JSON of the right container type raises a clear FalApiError.
"""
text = (chain or "").strip()
if not text:
return container()
try:
parsed = json.loads(text)
except ValueError as err:
logger.error("%s: invalid chain JSON: %s", node_name, err)
raise FalApiError(node_name, f"'chain' is not valid JSON: {err}") from err
if not isinstance(parsed, container):
wanted = "array" if container is list else "object"
if isinstance(parsed, dict):
got = "object"