Source code for erc7730.model.unions

from typing import Any

from erc7730.common.properties import has_any_property


[docs] def field_discriminator(v: Any) -> str | None: """ Discriminator function for the Field union type. :param v: deserialized raw data :return: the discriminator tag """ if has_any_property(v, "$ref"): return "reference" if has_any_property(v, "fields"): return "nested_fields" if has_any_property(v, "label"): return "field_description" return None
[docs] def field_parameters_discriminator(v: Any) -> str | None: """ Discriminator function for the FieldParameters union type. :param v: deserialized raw data :return: the discriminator tag """ if has_any_property(v, "tokenPath", "token", "nativeCurrencyAddress"): return "token_amount" if has_any_property(v, "encoding"): return "date" if has_any_property(v, "collectionPath", "collection"): return "nft_name" if has_any_property(v, "base"): return "unit" if has_any_property(v, "$ref", "ref", "enumId"): return "enum" if has_any_property(v, "calleePath", "callee", "selector"): return "call_data" if has_any_property(v, "sources", "types"): return "address_name" return None