Types Reference¶
FirestoreValue ¶
FirestoreValue = (
None
| bool
| int
| float
| str
| bytes
| datetime
| GeoPoint
| DocumentReference
| list[FirestoreValue]
| dict[str, FirestoreValue]
)
TypeRegistry ¶
Registry of Firestore-compatible types for Field[T] validation and handling.
register ¶
register(
type_or_predicate: type | Callable[[type], bool],
*,
handler: TypeHandler | None = None,
serialize: Callable[[Any], Any] | None = None,
deserialize: Callable[[Any], Any] | None = None,
) -> None
Register a type or predicate with an optional handler.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_or_predicate
|
type | Callable[[type], bool]
|
A type (exact match) or callable (predicate). |
required |
handler
|
TypeHandler | None
|
A TypeHandler instance. Mutually exclusive with kwargs. |
None
|
serialize
|
Callable[[Any], Any] | None
|
Serialize function. Requires deserialize. |
None
|
deserialize
|
Callable[[Any], Any] | None
|
Deserialize function. |
None
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If handler and kwargs are both provided, or serialize without deserialize. |
validate ¶
Validate a type hint is Firestore-compatible.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
field_name
|
str
|
Name of the field being validated. |
required |
hint
|
Any
|
The type hint to validate. |
required |
class_name
|
str
|
Name of the class for error messages. |
required |
Raises:
| Type | Description |
|---|---|
TypeError
|
If the type is not Firestore-compatible. |
register_type ¶
register_type(
type_or_predicate: type | Callable[[type], bool],
*,
handler: TypeHandler | None = None,
serialize: Callable[[Any], Any] | None = None,
deserialize: Callable[[Any], Any] | None = None,
) -> None
Register a type handler in the global registry.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_or_predicate
|
type | Callable[[type], bool]
|
A type (exact match) or callable (predicate). |
required |
handler
|
TypeHandler | None
|
A TypeHandler instance. Mutually exclusive with kwargs. |
None
|
serialize
|
Callable[[Any], Any] | None
|
Serialize function. Requires deserialize. |
None
|
deserialize
|
Callable[[Any], Any] | None
|
Deserialize function. |
None
|