| 164 | |
| 165 | @classmethod |
| 166 | def parse( |
| 167 | cls, |
| 168 | *, |
| 169 | call: _DependentCallable[R], |
| 170 | parameterless: Iterable[Any] | None = None, |
| 171 | allow_types: Iterable[type[Param]], |
| 172 | ) -> "Dependent[R]": |
| 173 | allow_types = tuple(allow_types) |
| 174 | |
| 175 | params = cls.parse_params(call, allow_types) |
| 176 | parameterless_params = ( |
| 177 | () |
| 178 | if parameterless is None |
| 179 | else cls.parse_parameterless(tuple(parameterless), allow_types) |
| 180 | ) |
| 181 | |
| 182 | return cls(call, params, parameterless_params) |
| 183 | |
| 184 | async def check(self, **params: Any) -> None: |
| 185 | if self.parameterless: |