Stream
Module for managing a stream of builder nodes.
This module provides classes to represent builder nodes and builder streams. A builder node is a single element in the stream, representing a step in a construction process. A builder stream is a sequence of builder nodes, allowing traversal and manipulation of the construction steps.
BuilderNode dataclass
¶
BuilderStream dataclass
¶
Represents a stream of builder nodes.
__iter__ ¶
__next__ ¶
build_nodes staticmethod
¶
Build BuilderNode instances from the provided Builder.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
node | Builder | The root Builder instance. | required |
Returns:
Name | Type | Description |
---|---|---|
BuilderNode | BuilderNode | The head of the linked list of BuilderNodes. |
Source code in src/bloqade/analog/builder/parse/stream.py
copy ¶
create staticmethod
¶
Create a BuilderStream instance from a Builder.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
builder | Builder | The root Builder instance. | required |
Returns:
Name | Type | Description |
---|---|---|
BuilderStream | BuilderStream | The created BuilderStream instance. |
Source code in src/bloqade/analog/builder/parse/stream.py
eat ¶
Move the stream pointer until a node of specified types is found.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
types | List[Type[Builder]] | List of types to move the stream pointer to. | required |
skips | List[Type[Builder]] | None | List of types to end the stream scan. | None |
Returns:
Name | Type | Description |
---|---|---|
BuilderNode | BuilderNode | The beginning of the stream which matches a type in |
Source code in src/bloqade/analog/builder/parse/stream.py
read ¶
Read the next builder node from the stream.
read_next ¶
Read the next builder node of specified types from the stream.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
builder_types | List[type[Builder]] | List of builder types to read from the stream. | required |
Returns:
Type | Description |
---|---|
Optional[BuilderNode] | Optional[BuilderNode]: The next builder node matching one of the specified types, or None if not found. |