MooX::Thunking3pm
Allow moo attributes to be "thunked"
Usage
package Thunking;use Moo;use MooX::Thunking;use Types::TypeTiny -all;use Types::Standard -all;has children => (is => 'thunked',isa => ArrayRef[InstanceOf['Thunking']],required => 1,);package main;my $obj;$obj = Thunking->new(children => sub { [$obj] });
Overview
This is a Moo extension. It allows another value for the "is" parameter to "has" in Moo: "thunked". If used, this will allow you to transparently provide either a real value for the attribute, or a "CodeLike" in Types::TypeTiny that when called will return such a real value.
Note that in earlier versions of this module (up to 0.06), any "isa" had to pass a "CodeLike". This is now taken care of by this module. It will continue to do the right thing if no "isa" is supplied.
Licence
The same terms as Perl itself.
Releases
Unchanged in 2 releases since Debian 12 (Bookworm).