Specio::Library::Builtins(3)
NAME
Specio::Library::Builtins - Implements type constraint objects for
Perl's built-in types
VERSION
version 0.47
DESCRIPTION
This library provides a set of types parallel to those provided by
Moose.
The types are in the following hierarchy
Item
Bool
Maybe (of `a)
Undef
Defined
Value
Str
Num
Int
ClassName
Ref
ScalarRef (of `a)
ArrayRef (of `a)
HashRef (of `a)
CodeRef
RegexpRef
GlobRef
FileHandle
Object
Item
Accepts any value
Bool
Accepts a non-reference that is "undef", an empty string, 0, or 1. It
also accepts any object which overloads boolification.
Maybe (of `a)
A parameterizable type which accepts "undef" or the type "`a". If not
parameterized this type will accept any value.
Undef
Only accepts "undef".
Value
Accepts any non-reference value.
Str
Accepts any non-reference value or an object which overloads
stringification.
Num
Accepts nearly the same values as "Scalar::Util::looks_like_number",
but does not accept numbers with leading or trailing spaces,
infinities, or NaN. Also accepts an object which overloads
numification.
Int
Accepts any integer value, or an object which overloads numification
and numifies to an integer.
ClassName
Accepts any value which passes "Str" where the string is a loaded
package.
Ref
Accepts any reference.
ScalarRef (of `a)
Accepts a scalar reference or an object which overloads scalar
dereferencing. If parameterized, the dereferenced value must be of
type "`a".
ArrayRef (of `a)
Accepts a array reference or an object which overloads array
dereferencing. If parameterized, the values in the arrayref must be of
type "`a".
HashRef (of `a)
Accepts a hash reference or an object which overloads hash
dereferencing. If parameterized, the values in the hashref must be of
type "`a".
CodeRef
Accepts a code (sub) reference or an object which overloads code
dereferencing.
RegexpRef
Accepts a regex object created by "qr//" or an object which overloads
regex interpolation.
GlobRef
Accepts a glob reference or an object which overloads glob
dereferencing.
FileHandle
Accepts a glob reference which is an open file handle, any "IO::Handle"
Object or subclass, or an object which overloads glob dereferencing and
returns a glob reference which is an open file handle.
Object
Accepts any blessed object.
SUPPORT
Bugs may be submitted at
<https://github.com/houseabsolute/Specio/issues>.
I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".
SOURCE
The source code repository for Specio can be found at
<https://github.com/houseabsolute/Specio>.
AUTHOR
Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2012 - 2021 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
The full text of the license can be found in the LICENSE file included
with this distribution.
perl v5.30.3 2021-01-29 Specio::Library::Builtins(3)
specio 0.470.0 - Generated Mon Mar 1 18:54:50 CST 2021
