123456789101112131415161718192021222324252627282930 |
- """A class that holds props to be passed or applied to a component."""
- from __future__ import annotations
- from reflex.base import Base
- from reflex.utils import format
- from reflex.utils.serializers import serialize
- class PropsBase(Base):
- """Base for a class containing props that can be serialized as a JS object."""
- def json(self) -> str:
- """Convert the object to a json-like string.
- Vars will be unwrapped so they can represent actual JS var names and functions.
- Keys will be converted to camelCase.
- Returns:
- The object as a Javascript Object literal.
- """
- return format.unwrap_vars(
- self.__config__.json_dumps(
- {
- format.to_camel_case(key): value
- for key, value in self.dict().items()
- },
- default=serialize,
- )
- )
|