logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SQL::Translator::Types - Type checking functions

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

       msg 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'".

       icase
           If true, folds the values to lower case before checking for equality.

       allow_undef
           If true, allow "undef" in addition to the specified strings.

       allow_false
           If true, allow any false value in addition to the specified strings.

perl v5.40.0                                       2024-11-23                        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,
           });

See Also