from typing import Any, Sequence
from multimethod import multimethod
from visions.relations import IdentityRelation, InferenceRelation, TypeRelation
from visions.types.object import Object
from visions.types.string import String
from visions.types.type import VisionsBaseType
[docs]class IPAddress(VisionsBaseType):
"""**IP Address** (v4 and v6) implementation of :class:`visions.types.type.VisionsBaseType`.
Examples:
>>> from ipaddress import IPv4Address
>>> import visions
>>> x = [IPv4Address('127.0.0.1'), IPv4Address('128.0.1.2')]
>>> x in visions.IPAddress
True
"""
@classmethod
def get_relations(cls) -> Sequence[TypeRelation]:
relations = [
IdentityRelation(cls, Object),
InferenceRelation(
cls,
String,
),
]
return relations
[docs] @staticmethod
@multimethod
def contains_op(item: Any, state: dict) -> bool:
pass