NAME
MooseX::Extended::Types - Keep our type tools organized
VERSION
version 0.35
SYNOPSIS
use MooseX::Extended;
use MooseX::Extended::Types;
use MooseX::Extended::Types qw(
ArrayRef
Dict
Enum
HashRef
InstanceOf
Str
compile
);
As a convenience, if you're using MooseX::Extended, you can do this:
use MooseX::Extended types => [qw(
ArrayRef
Dict
Enum
HashRef
InstanceOf
Str
compile
)];
If you're brave:
use MooseX::Extended types => ':all';
But that exports everything and it's easy to have surprising conflicts.
DESCRIPTION
A basic set of useful types for MooseX::Extended
, as provided by Type::Tiny. Using these is preferred to using using strings due to runtime versus compile-time failures. For example:
# fails at runtime, if ->name is set
param name => ( isa => 'str' );
# fails at compile-time
param name => ( isa => str );
TYPE LIBRARIES
We automatically include the types from the following:
-
You can import them individually or with the
:Standard
tag:use MooseX::Extended::Types types => 'Str'; use MooseX::Extended::Types types => [ 'Str', 'ArrayRef' ]; use MooseX::Extended::Types types => ':Standard';
Using the
:Standard
tag is equivalent to:use Types::Standard;
No import list is supplied directly to the module, so non-default type functions must be asked for by name.
-
You can import them individually or with the
:Numeric
tag:use MooseX::Extended::Types types => 'Int'; use MooseX::Extended::Types types => [ 'Int', 'NegativeOrZeroNum' ]; use MooseX::Extended::Types types => ':Numeric';
Using the
:Numeric
tag is equivalent to:use Types::Common::Numeric;
No import list is supplied directly to the module, so non-default type functions must be asked for by name.
-
You can import them individually or with the
:String
tag:use MooseX::Extended::Types types => 'NonEmptyStr'; use MooseX::Extended::Types types => [ 'NonEmptyStr', 'UpperCaseStr' ]; use MooseX::Extended::Types types => ':String';
Using the
:String
tag is equivalent to:use Types::Common::String;
No import list is supplied directly to the module, so non-default type functions must be asked for by name.
EXTRAS
The following extra functions are exported on demand or if using the :all
export tag (but you probably don't want to use that tag).
Type::Params
compile
compile_named
multisig
validate
validate_named
compile_named_oo
Invocant
wrap_subs
wrap_methods
ArgsObject
Types::Standard
slurpy
AUTHOR
Curtis "Ovid" Poe <curtis.poe@gmail.com>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2022 by Curtis "Ovid" Poe.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)