NAME

Poz::Types - A module for handling type validation and transformation

SYNOPSIS

use Poz::Types;

my $type = Poz::Types->new({
    required_error => 'This field is required',
    invalid_type_error => 'Invalid type provided',
});

my $result = $type->parse($value);

DESCRIPTION

Poz::Types is a module designed to handle type validation and transformation. It provides a flexible way to define rules and transformations for different types.

METHODS

new

my $type = Poz::Types->new(\%options);

Creates a new Poz::Types object. The optional hash reference can contain the following keys: - required_error: Custom error message for required fields. - invalid_type_error: Custom error message for invalid types.

rule

$type->rule();

This method should be overridden in subclasses to provide specific validation rules. By default, it throws a "Not implemented" error.

parse

my $result = $type->parse($value);

Parses the given value according to the defined rules and transformations. Returns the transformed value or an error if validation fails.

safe_parse

my ($result, $error) = $type->safe_parse($value);

Parses the given value and returns the transformed value. If succeeds, returns a tuple of the transformed value and undef. If fails, returns a tuple of undef and an error message.

LICENSE

Copyright (C) ytnobody.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

ytnobody <ytnobody@gmail.com>