Source code for hets.GMorphism

from typing import Optional, Dict

from .json_conversion import as_json
from .Comorphism import Comorphism
from .Signature import Signature
from .HsWrapper import HsWrapper, HsHierarchyElement

from .haskell import comorphismNameOfGMorphism, comorphismDescriptionOfGMorphism, signatureOfGMorphism, comorphismOfGMorphism, \
    domainOfGMorphism, codomainOfGMorphism, isGMorphismInclusion, gMorphismToTransportType


[docs] class GMorphism: def __init__(self, hs_g_morphism) -> None: self._hs_g_morphism = hs_g_morphism
[docs] def name(self) -> str: return comorphismNameOfGMorphism(self._hs_g_morphism)
[docs] def description(self) -> str: return comorphismDescriptionOfGMorphism(self._hs_g_morphism)
[docs] def signature(self) -> Signature: return Signature(signatureOfGMorphism(self._hs_g_morphism))
[docs] def comorphism(self) -> Comorphism: return Comorphism(comorphismOfGMorphism(self._hs_g_morphism))
[docs] def domain(self) -> dict: return as_json(domainOfGMorphism(self._hs_g_morphism))
[docs] def codomain(self) -> dict: return as_json(codomainOfGMorphism(self._hs_g_morphism))
[docs] def is_inclusion(self) -> bool: return isGMorphismInclusion(self._hs_g_morphism)
[docs] def as_json(self) -> dict: return as_json(gMorphismToTransportType(self._hs_g_morphism))
[docs] def symbol_map(self) -> Dict[object, object]: pass