Coverage for fast_depends/library/model.py: 100%
20 statements
« prev ^ index » next coverage.py v7.17.3, created at 2026-11-13 05:19 +0000
« prev ^ index » next coverage.py v7.17.3, created at 2026-11-13 05:19 +0000
1from abc import ABC 1abcdefghijklnopqrsmt
2from typing import Any, TypeVar 1abcdefghijklnopqrsmt
4Cls = TypeVar("Cls", bound="CustomField") 1abcdefghijklnopqrsmt
7class CustomField(ABC): 1abcdefghijklnopqrsmt
8 param_name: str | None 1abcdefghijklm
9 cast: bool 1abcdefghijklm
10 required: bool 1abcdefghijklm
12 __slots__ = ( 1abcdefghijklnopqrsmt
13 "cast",
14 "param_name",
15 "required",
16 "field",
17 )
19 def __init__( 1abcdefghijklnopqrsmt
20 self,
21 *,
22 cast: bool = True,
23 required: bool = True,
24 ) -> None:
25 self.cast = cast 1abcdefghijklnopqrsmt
26 self.param_name = None 1abcdefghijklnopqrsmt
27 self.required = required 1abcdefghijklnopqrsmt
28 self.field = False 1abcdefghijklnopqrsmt
30 def set_param_name(self: Cls, name: str) -> Cls: 1abcdefghijklnopqrsmt
31 self.param_name = name 1abcdefghijklnopqrsmt
32 return self 1abcdefghijklnopqrsmt
34 def use(self, /, **kwargs: Any) -> dict[str, Any]: 1abcdefghijklnopqrsmt
35 assert self.param_name, "You should specify `param_name` before using" 1abcdefghijklnopqrsmt
36 return kwargs 1abcdefghijklnopqrsmt
38 def use_field(self, kwargs: dict[str, Any]) -> None: 1abcdefghijklnopqrsmt
39 raise NotImplementedError
41 def __repr__(self) -> str: 1abcdefghijklnopqrsmt
42 return f"{self.__class__.__name__}(required={self.required}, cast={self.cast})"