Specio::Library::Builtins - Implements type constraint objects for Perl's built-in types

NAME  VERSION  DESCRIPTION  Item  Bool  Maybe (of ‘a)  Undef  Value  Str  Num  Int  ClassName  Ref  ScalarRef (of ‘a)  ArrayRef (of ‘a)  HashRef (of ‘a)  CodeRef  RegexpRef  GlobRef  FileHandle  Object  SUPPORT  SOURCE  AUTHOR  COPYRIGHT AND LICENSE 

NAME

Specio::Library::Builtins − Implements type constraint objects for Perl’s built−in types

VERSION

version 0.48

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

SOURCE

The source code repository for Specio can be found at <https://github.com/houseabsolute/Specio>.

AUTHOR

Dave Rolsky <[email protected]>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2012 − 2022 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.


Updated 2024-01-29 - jenkler.se | uex.se