# 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.