ats_utilities.checker.type_validator module

Module

type_validator.py

Copyright

Copyright (C) 2017 - 2026 Vladimir Roncevic <elektron.ronca@gmail.com> ats_utilities is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. ats_utilities is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

Info

Defines class TypeValidator with attribute(s) and method(s). Creates an API for handling type validation parameters for method(s) and function(s).

class ats_utilities.checker.type_validator.TypeValidator[source]

Bases: ITypeValidator

Defines class TypeValidator with attribute(s) and method(s). Creates an API for type validation between instances and type names. Mechanism for validating function or method parameters (type).

It defines:

attributes:

None

methods:
is_match - Compares instance type with expected type name.
is_subtype - Checks if instance is a subtype of expected type name.
get_type_name - Returns the string representation of an instance type.
__str__ - Returns the ATS type validator as string representation.
_abc_impl = <_abc._abc_data object>
get_type_name(inst: Any) str[source]

Returns the string representation of an instance type.

Parameters:

inst (<Any>) – The instance to inspect.

Returns:

String name of the type.

Return type:

<str>

Exceptions:

None..

is_match(inst: Any, expected_type_name: str) bool[source]

Compares instance type with expected type name. Compares the __name__ of the instance type with expected string.

Parameters:
  • inst (<Any>) – The instance to check.

  • expected_type_name (<str>) – The expected type name.

Returns:

True (success), False (fail).

Return type:

<bool>

Exceptions:

None..

is_subtype(inst: Any, expected_type_name: str) bool[source]

Checks if instance is a subtype of expected type name. Traverses the Method Resolution Order (MRO) to find a match.

Parameters:
  • inst (<Any>) – The instance to check.

  • expected_type_name (<str>) – The expected parent type name.

Returns:

True (is), False (not).

Return type:

<bool>

Exceptions:

None..