diff options
| author | 2024-03-15 15:50:47 +0800 | |
|---|---|---|
| committer | 2024-03-15 15:50:47 +0800 | |
| commit | 1436b5763c38a6cee8a70bbba4aa9172e018496f (patch) | |
| tree | a2b85af00598d3d5b52c1ca9741568580b3fc4eb | |
| parent | a51a0d791da9e7b4e945b5338f40f9d960ad813d (diff) | |
| download | infini-1436b5763c38a6cee8a70bbba4aa9172e018496f.tar.gz infini-1436b5763c38a6cee8a70bbba4aa9172e018496f.zip | |
feat(router): add namespace for router
| -rw-r--r-- | src/infini/router.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/infini/router.py b/src/infini/router.py index 3adc08dd..4e025a15 100644 --- a/src/infini/router.py +++ b/src/infini/router.py @@ -1,14 +1,16 @@ -from infini.typing import Sequence, Literal +from typing import Optional +from infini.typing import Sequence, Literal, Tuple from infini.input import Input class Router: type: Literal["text"] = "text" - signs: set[str] + signs: Tuple[str, ...] def __init__(self, sign: str, alias: Sequence[str] = []) -> None: - self.signs = {sign} - self.signs.update(alias) + signs = {sign} + signs.update(alias) + self.signs = tuple(signs) def __eq__(self, __router: "Router") -> bool: return __router.type == self.type and __router.signs == self.signs @@ -17,6 +19,10 @@ class Router: text = plain_text.strip() return any([text == sign for sign in self.signs]) + @property + def namespace(self) -> Optional[str]: + return self.signs[0] if self.signs else None + class Startswith(Router): name: Literal["startswith"] = "startswith" |
