Source code for pygerber.validators.basic

# -*- coding: utf-8 -*-
from __future__ import annotations

from typing import TYPE_CHECKING, Callable

from .validator import Validator

if TYPE_CHECKING:
    from pygerber.drawing_state import DrawingState
    from pygerber.tokens.token import Token


[docs]class Float(Validator): def __call__(self, token: Token, state: DrawingState, value: str) -> float: if value is not None: return float(value) else: return self.default
[docs]class Int(Validator): def __call__(self, token: Token, state: DrawingState, value: str) -> int: if value is not None: return int(value) else: return self.default
[docs]class String(Validator): def __call__(self, token: Token, state: DrawingState, value: str) -> str: if value is not None: return str(value) else: return self.default
[docs]class Function(Validator): def __init__(self, function: Callable) -> None: self.function = function super().__init__(default=None) def __call__(self, token: Token, state: DrawingState, value: str) -> str: return self.function(token, value)