1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-02 19:32:19 +01:00

[mapping] Implement yaml-configured maps (#8333)

This commit is contained in:
Clyde Stubbs
2025-04-17 11:18:48 +10:00
committed by GitHub
parent 55e099450c
commit f10bc73d31
15 changed files with 336 additions and 2 deletions

View File

@@ -789,13 +789,17 @@ class MockObj(Expression):
def class_(self, name: str, *parents: "MockObjClass") -> "MockObjClass":
op = "" if self.op == "" else "::"
return MockObjClass(f"{self.base}{op}{name}", ".", parents=parents)
result = MockObjClass(f"{self.base}{op}{name}", ".", parents=parents)
CORE.id_classes[str(result)] = result
return result
def struct(self, name: str) -> "MockObjClass":
return self.class_(name)
def enum(self, name: str, is_class: bool = False) -> "MockObj":
return MockObjEnum(enum=name, is_class=is_class, base=self.base, op=self.op)
result = MockObjEnum(enum=name, is_class=is_class, base=self.base, op=self.op)
CORE.id_classes[str(result)] = result
return result
def operator(self, name: str) -> "MockObj":
"""Various other operations.