# NAME MooX::Thunking - Allow Moo attributes to be "thunked" # SYNOPSIS package Thunking; use Moo; use MooX::Thunking; use Types::TypeTiny -all; use Types::Standard -all; has children => ( is => 'thunked', isa => CodeLike | ArrayRef[InstanceOf['Thunking']], required => 1, ); package main; my $obj; $obj = Thunking->new(children => sub { [$obj] }); # DESCRIPTION This is a [Moo](https://metacpan.org/pod/Moo) extension. It allows another value for the `is` parameter to ["has" in Moo](https://metacpan.org/pod/Moo#has): "thunked". If used, this will allow you to transparently provide either a real value for the attribute, or a ["CodeLike" in Types::TypeTiny](https://metacpan.org/pod/Types::TypeTiny#CodeLike) that when called will return such a real value. # AUTHOR Ed J # LICENCE The same terms as Perl itself.