1 package DecoratorLibrary;
6 use MooseX::Types::Moose qw( Str ArrayRef HashRef Int );
17 subtype MyArrayRefBase,
20 coerce MyArrayRefBase,
22 via {[split(',', $_)]};
24 subtype MyArrayRefInt01,
27 coerce MyArrayRefInt01,
29 via {[split('\.',$_)]},
31 via {[sort values(%$_)]};
33 subtype MyArrayRefInt02,
34 as MyArrayRefBase[Int];
36 subtype MyHashRefOfInts,
39 subtype MyHashRefOfStr,
42 coerce MyArrayRefInt02,
44 via {[split(':',$_)]},
46 via {[sort values(%$_)]},
48 via {[ sort map { length $_ } values(%$_) ]},
49 ### Can't do HashRef[ArrayRef] here, need to force precidence I guess???
50 from HashRef([ArrayRef]),
51 via {[ sort map { @$_ } values(%$_)] };
53 subtype StrOrArrayRef,