def to_yaml(cls: Type[SymbolPrecoding], representer: SafeRepresenter, node: SymbolPrecoding) -> Node: """Serialize a `SymbolPrecoding` configuration to YAML. Args: representer (SafeRepresenter): A handle to a representer used to generate valid YAML code. The representer gets passed down the serialization tree to each node. node (SymbolPrecoding): The `SymbolPrecoding` instance to be serialized. Returns: Node: The serialized YAML node. None if the object state is default. """ if len(node.__symbol_precoders) < 1: return representer.represent_none(None) return representer.represent_sequence(cls.yaml_tag, node.__symbol_precoders)
def to_yaml(cls: Type[RandomNode], representer: SafeRepresenter, node: RandomNode) -> ScalarNode: """Serialize a `RandomNode` object to YAML. Args: representer (SafeRepresenter): A handle to a representer used to generate valid YAML code. The representer gets passed down the serialization tree to each node. node (RandomNode): The `RandomNode` instance to be serialized. Returns: Node: The serialized YAML node. None if the object state is default. """ if node.__seed is not None: state = {'seed': node.__seed} return representer.represent_mapping(cls.yaml_tag, state) return representer.represent_none(None)