Json
          ipyvizzu.json
  A module for working JavaScript code in json convertible objects.
        ipyvizzu.json.RawJavaScript
  A class for representing raw JavaScript code.
Source code in src/ipyvizzu/json.py
          class RawJavaScript:
    """A class for representing raw JavaScript code."""
    # pylint: disable=too-few-public-methods
    def __init__(self, raw: Optional[str]):
        """
        RawJavaScript constructor.
        It stores raw JavaScript code as a string.
        Args:
            raw: JavaScript code as `str`.
        """
        self._raw = raw
    @property
    def raw(self) -> Optional[str]:
        """
        A property for storing raw JavaScript code as a string.
        Returns:
            Raw JavaScript code as `str`.
        """
        return self._raw
        
raw: Optional[str]
  
  
      property
  
  
__init__(raw)
  RawJavaScript constructor.
It stores raw JavaScript code as a string.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
raw | 
          
                Optional[str]
           | 
          
             JavaScript code as   | 
          required | 
Source code in src/ipyvizzu/json.py
        def __init__(self, raw: Optional[str]):
    """
    RawJavaScript constructor.
    It stores raw JavaScript code as a string.
    Args:
        raw: JavaScript code as `str`.
    """
    self._raw = raw
      
        ipyvizzu.json.RawJavaScriptEncoder
  
        Bases: json.JSONEncoder
A class for representing a custom json encoder, it can encode objects that contain RawJavaScript values.
Source code in src/ipyvizzu/json.py
          class RawJavaScriptEncoder(json.JSONEncoder):
    """
    A class for representing a custom json encoder,
    it can encode objects that contain
    [RawJavaScript][ipyvizzu.json.RawJavaScript] values.
    """
    def __init__(self, *args, **kwargs):
        """
        RawJavaScriptEncoder constructor.
        It extends [JSONEncoder][json.JSONEncoder] with
        an instance variable (`_raw_replacements`).
        The `_raw_replacements` dictionary stores the `uuids` and
        JavaScript codes of the [RawJavaScript][ipyvizzu.json.RawJavaScript] objects.
        """
        json.JSONEncoder.__init__(self, *args, **kwargs)
        self._raw_replacements = {}
    def default(self, o):
        """
        Overrides [JSONEncoder.default][json.JSONEncoder.default] method.
        It replaces [RawJavaScript][ipyvizzu.json.RawJavaScript] object with `uuid` and
        it stores raw JavaScript code with `uuid` key in the `_raw_replacements` dictionary.
        """
        if isinstance(o, RawJavaScript):
            key = uuid.uuid4().hex
            self._raw_replacements[key] = o.raw
            return key
        return json.JSONEncoder.default(self, o)
    def encode(self, o):
        """
        Overrides [JSONEncoder.encode][json.JSONEncoder.encode] method.
        It replaces `uuids` with raw JavaScript code without apostrophes.
        """
        result = json.JSONEncoder.encode(self, o)
        for key, val in self._raw_replacements.items():
            result = result.replace(f'"{key}"', val)
        return result
        
__init__(*args, **kwargs)
  RawJavaScriptEncoder constructor.
It extends JSONEncoder with
an instance variable (_raw_replacements).
The _raw_replacements dictionary stores the uuids and
JavaScript codes of the RawJavaScript objects.
Source code in src/ipyvizzu/json.py
        def __init__(self, *args, **kwargs):
    """
    RawJavaScriptEncoder constructor.
    It extends [JSONEncoder][json.JSONEncoder] with
    an instance variable (`_raw_replacements`).
    The `_raw_replacements` dictionary stores the `uuids` and
    JavaScript codes of the [RawJavaScript][ipyvizzu.json.RawJavaScript] objects.
    """
    json.JSONEncoder.__init__(self, *args, **kwargs)
    self._raw_replacements = {}
      
default(o)
  Overrides JSONEncoder.default method.
It replaces RawJavaScript object with uuid and
it stores raw JavaScript code with uuid key in the _raw_replacements dictionary.
Source code in src/ipyvizzu/json.py
        def default(self, o):
    """
    Overrides [JSONEncoder.default][json.JSONEncoder.default] method.
    It replaces [RawJavaScript][ipyvizzu.json.RawJavaScript] object with `uuid` and
    it stores raw JavaScript code with `uuid` key in the `_raw_replacements` dictionary.
    """
    if isinstance(o, RawJavaScript):
        key = uuid.uuid4().hex
        self._raw_replacements[key] = o.raw
        return key
    return json.JSONEncoder.default(self, o)
      
encode(o)
  Overrides JSONEncoder.encode method.
It replaces uuids with raw JavaScript code without apostrophes.
Source code in src/ipyvizzu/json.py
        def encode(self, o):
    """
    Overrides [JSONEncoder.encode][json.JSONEncoder.encode] method.
    It replaces `uuids` with raw JavaScript code without apostrophes.
    """
    result = json.JSONEncoder.encode(self, o)
    for key, val in self._raw_replacements.items():
        result = result.replace(f'"{key}"', val)
    return result