Coverage for lobster/tools/trlc/item_wrapper.py: 100%
17 statements
« prev ^ index » next coverage.py v7.10.5, created at 2025-08-27 13:02 +0000
« prev ^ index » next coverage.py v7.10.5, created at 2025-08-27 13:02 +0000
1from typing import Any
2from trlc import ast
3from lobster.tools.trlc.errors import RecordObjectComponentError
6class ItemWrapper:
7 def __init__(self, n_obj: ast.Record_Object):
8 self._n_obj = n_obj
9 self._item_data = n_obj.to_python_dict()
11 def get_field(self, field_name: str) -> Any:
12 try:
13 return self._item_data[field_name]
14 except KeyError as ex:
15 raise RecordObjectComponentError(field_name, self._n_obj) from ex
17 def get_field_raw(self, field_name: str) -> Any:
18 """Returns the raw TRLC representation of the field."""
19 try:
20 return self._n_obj.field[field_name]
21 except KeyError as ex:
22 raise RecordObjectComponentError(field_name, self._n_obj) from ex