DOKK / manpages / debian 12 / libsql-translator-perl / SQL::Translator::Types.3pm.en
SQL::Translator::Types(3pm) User Contributed Perl Documentation SQL::Translator::Types(3pm)

SQL::Translator::Types - Type checking functions

    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,
    });

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

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

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.
2022-11-19 perl v5.36.0