Source code for quasimoto.riff.chunk

"""
A module implementing a RIFF-chunk interface.
"""

# built-in
from typing import NamedTuple, Optional

# internal
from quasimoto.enums import ChunkType


[docs] class Chunk(NamedTuple): """A container for chunk data.""" kind: ChunkType size: int data: Optional[bytes] = None form: Optional[ChunkType] = None def __str__(self) -> str: """Get this chunk as a string.""" result = f"'{self.kind}' size={self.size}" if self.form is not None: result += f" (form='{self.form}')" return result
NULL_BYTE = "\0".encode()