Skip to content
Snippets Groups Projects

[mypy]: Add type hints for EtypeResolver class:

Merged Nsukami Patrick requested to merge topic/default/etyperesolver into branch/default
  1. Nov 25, 2021
  2. Nov 24, 2021
  3. Nov 23, 2021
    • Nsukami Patrick <ptrck at nskm dot xyz>'s avatar
      [mypy] Type RQLHelper's schema attribute as ISchema · bd85b7006744
      Nsukami Patrick authored
      There was an unused protocol definition sleeping within the rql/interfaces.py module.
      This protocol (ISchema) perfectly represent what a schema should be.
      Let's use it to annotate the schema attribute within the RQLHelper class
      bd85b7006744
    • Nsukami Patrick <ptrck at nskm dot xyz>'s avatar
      [mypy]: Add type hints for EtypeResolver class: · af2d5233a53f
      Nsukami Patrick authored
      Within rql/analyze.py:
      ----------------------
        add (line 403):
            if self.uid_func:
        and fix:
            error: "None" not callable  [misc]
      
        add (line 548):
            assert self.uid_func_mapping is not None
        and fix:
            Unsupported right operand type for in ("Optional[Dict[Any, Any]]")
      
        change (line 615):
            etypes = frozenset(t for t in self._nonfinal_domain if t not in etypes)
        to:
            etypes = set(t for t in self._nonfinal_domain if t not in etypes)
        and fix:
            Incompatible types in assignment (expression has type "FrozenSet[str]", variable has type "Set[Any]")
      
      
      Within rql/interfaces.py:
      -------------------------
      
      Update ISchema protocol definition:
          add:
              def __contains__():
          and fix:
               error: Unsupported right operand type for in ("ISchema")  [operator]
      
          add:
              def rschema(self, rtype: Any):
          and fix:
              "ISchema" has no attribute "rschema"  [attr-defined]
      
          add:
              def eschema(self, etype: Any):
          and fix:
              "ISchema" has no attribute "eschema"  [attr-defined]
      
      
      See RQL's issue: #15
      af2d5233a53f
Loading