Scroll to navigation

SQL::Translator::Types(3pm) User Contributed Perl Documentation SQL::Translator::Types(3pm)

NAME

SQL::Translator::Types - Type checking functions

SYNOPSIS

    package Foo;
    use Moo;
    use SQL::Translator::Types qw(schema_obj enum);
    has foo => ( is => 'rw', isa => schema_obj('Trigger') );
    has bar => ( is => 'rw', isa => enum([qw(baz quux quuz)], {
        msg => "Invalid value for bar: '%s'", icase => 1,
    });

DESCRIPTIONS

This module exports functions that return coderefs suitable for Moo "isa" type checks. Errors are reported using "throw" in SQL::Translator::Utils.

FUNCTIONS

schema_obj($type)

Returns a coderef that checks that its arguments is an object of the class "SQL::Translator::Schema::$type".

enum(\@strings, [$msg | \%parameters])

Returns a coderef that checks that the argument is one of the provided @strings.

Parameters

sprintf string for the error message. If no other parameters are needed, this can be provided on its own, instead of the %parameters hashref. The invalid value is passed as the only argument. Defaults to "Invalid value: '%s'".
If true, folds the values to lower case before checking for equality.
If true, allow "undef" in addition to the specified strings.
If true, allow any false value in addition to the specified strings.
2024-01-20 perl v5.38.2