2 class SQL::Abstract::Types {
3 use Moose::Util::TypeConstraints;
4 use MooseX::Types::Moose qw/ArrayRef Str Int Ref HashRef/;
8 use MooseX::Types -declare => [qw/NameSeparator QuoteChars AST/];
10 subtype AST, as HashRef,
11 where { exists $_->{-type} && is_Str($_->{-type}) },
12 message { "No '-type' key, or it is not a string" };
14 subtype NameSeparator,
16 where { length($_) == 1 };
21 where { @$_ == 1 || @$_ == 2 },
22 message { "Quote characters must be one or two elements" };
24 coerce QuoteChars, from Str, via { [ split //, $_ ] };