A trait whose value must be an instance of a specified class. The value can also be an instance of a subclass of the specified class. Subclasses can declare default classes by overriding the klass attribute
| 2190 | |
| 2191 | |
| 2192 | class Instance(ClassBasedTraitType[T, T]): |
| 2193 | """A trait whose value must be an instance of a specified class. |
| 2194 | |
| 2195 | The value can also be an instance of a subclass of the specified class. |
| 2196 | |
| 2197 | Subclasses can declare default classes by overriding the klass attribute |
| 2198 | """ |
| 2199 | |
| 2200 | klass: str | type[T] | None = None |
| 2201 | |
| 2202 | if t.TYPE_CHECKING: |
| 2203 | |
| 2204 | @t.overload |
| 2205 | def __init__( |
| 2206 | self: Instance[T], |
| 2207 | klass: type[T] = ..., |
| 2208 | args: tuple[t.Any, ...] | None = ..., |
| 2209 | kw: dict[str, t.Any] | None = ..., |
| 2210 | allow_none: Literal[False] = ..., |
| 2211 | read_only: bool | None = ..., |
| 2212 | help: str | None = ..., |
| 2213 | **kwargs: t.Any, |
| 2214 | ) -> None: |
| 2215 | ... |
| 2216 | |
| 2217 | @t.overload |
| 2218 | def __init__( |
| 2219 | self: Instance[T | None], |
| 2220 | klass: type[T] = ..., |
| 2221 | args: tuple[t.Any, ...] | None = ..., |
| 2222 | kw: dict[str, t.Any] | None = ..., |
| 2223 | allow_none: Literal[True] = ..., |
| 2224 | read_only: bool | None = ..., |
| 2225 | help: str | None = ..., |
| 2226 | **kwargs: t.Any, |
| 2227 | ) -> None: |
| 2228 | ... |
| 2229 | |
| 2230 | @t.overload |
| 2231 | def __init__( |
| 2232 | self: Instance[t.Any], |
| 2233 | klass: str | None = ..., |
| 2234 | args: tuple[t.Any, ...] | None = ..., |
| 2235 | kw: dict[str, t.Any] | None = ..., |
| 2236 | allow_none: Literal[False] = ..., |
| 2237 | read_only: bool | None = ..., |
| 2238 | help: str | None = ..., |
| 2239 | **kwargs: t.Any, |
| 2240 | ) -> None: |
| 2241 | ... |
| 2242 | |
| 2243 | @t.overload |
| 2244 | def __init__( |
| 2245 | self: Instance[t.Any | None], |
| 2246 | klass: str | None = ..., |
| 2247 | args: tuple[t.Any, ...] | None = ..., |
| 2248 | kw: dict[str, t.Any] | None = ..., |
| 2249 | allow_none: Literal[True] = ..., |
no outgoing calls
no test coverage detected
searching dependent graphs…