# NAME

Data::Object::Library - Data::Object Type Library for Perl 5

# VERSION

version 0.02

# SYNOPSIS

    use Data::Object::Library;

# DESCRIPTION

Data::Object::Library is a [Type::Tiny](https://metacpan.org/pod/Type::Tiny) library that extends the
[Types::Standard](https://metacpan.org/pod/Types::Standard), [Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric), and [Types::Common::String](https://metacpan.org/pod/Types::Common::String)
libraries and adds additional type constraints and coercions which validate and
transform [Data::Object](https://metacpan.org/pod/Data::Object) data type objects.

## TYPES

#### Any

The Any type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### AnyObj

The AnyObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Universal](https://metacpan.org/pod/Data::Object::Universal).

#### AnyObject

The AnyObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Universal](https://metacpan.org/pod/Data::Object::Universal).

#### ArrayObj

The ArrayObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Array](https://metacpan.org/pod/Data::Object::Array).

#### ArrayObject

The ArrayObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Array](https://metacpan.org/pod/Data::Object::Array).

#### ArrayRef

The ArrayRef type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Bool

The Bool type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### ClassName

The ClassName type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### CodeObj

The CodeObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Code](https://metacpan.org/pod/Data::Object::Code).

#### CodeObject

The CodeObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Code](https://metacpan.org/pod/Data::Object::Code).

#### CodeRef

The CodeRef type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### ConsumerOf

The ConsumerOf type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Defined

The Defined type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Dict

The Dict type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### Enum

The Enum type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### FileHandle

The FileHandle type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### FloatObj

The FloatObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Float](https://metacpan.org/pod/Data::Object::Float).

#### FloatObject

The FloatObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Float](https://metacpan.org/pod/Data::Object::Float).

#### GlobRef

The GlobRef type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### HasMethods

The HasMethods type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### HashObj

The HashObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Hash](https://metacpan.org/pod/Data::Object::Hash).

#### HashObject

The HashObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Hash](https://metacpan.org/pod/Data::Object::Hash).

#### HashRef

The HashRef type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### InstanceOf

The InstanceOf type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Int

The Int type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### IntObj

The IntObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Integer](https://metacpan.org/pod/Data::Object::Integer).

#### IntObject

The IntObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Integer](https://metacpan.org/pod/Data::Object::Integer).

#### IntegerObj

The IntegerObj type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Integer](https://metacpan.org/pod/Data::Object::Integer).

#### IntegerObject

The IntegerObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Integer](https://metacpan.org/pod/Data::Object::Integer).

#### Item

The Item type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### LaxNum

The LaxNum type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### LowerCaseSimpleStr

The LowerCaseSimpleStr type constraint is provided by the
[Types::Common::String](https://metacpan.org/pod/Types::Common::String) library. Please see that documentation.

#### LowerCaseStr

The LowerCaseStr type constraint is provided by the [Types::Common::String](https://metacpan.org/pod/Types::Common::String)
library. Please see that documentation.

#### Map

The Map type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### Maybe

The Maybe type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### NegativeInt

The NegativeInt type constraint is provided by the [Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric)
library. Please see that documentation.

#### NegativeNum

The NegativeNum type constraint is provided by the [Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric)
library. Please see that documentation.

#### NegativeOrZeroInt

The NegativeOrZeroInt type constraint is provided by the
[Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric) library. Please see that documentation.

#### NegativeOrZeroNum

The NegativeOrZeroNum type constraint is provided by the
[Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric) library. Please see that documentation.

#### NonEmptySimpleStr

The NonEmptySimpleStr type constraint is provided by the
[Types::Common::String](https://metacpan.org/pod/Types::Common::String) library. Please see that documentation.

#### NonEmptyStr

The NonEmptyStr type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Num

The Num type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### NumObj

The NumObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Number](https://metacpan.org/pod/Data::Object::Number).

#### NumObject

The NumObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Number](https://metacpan.org/pod/Data::Object::Number).

#### NumberObj

The NumberObj type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Number](https://metacpan.org/pod/Data::Object::Number).

#### NumberObject

The NumberObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Number](https://metacpan.org/pod/Data::Object::Number).

#### NumericCode

The NumericCode type constraint is provided by the [Types::Common::String](https://metacpan.org/pod/Types::Common::String)
library. Please see that documentation.

#### Object

The Object type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### OptList

The OptList type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Optional

The Optional type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Overload

The Overload type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### Password

The Password type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### PositiveInt

The PositiveInt type constraint is provided by the [Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric)
library. Please see that documentation.

#### PositiveNum

The PositiveNum type constraint is provided by the [Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric)
library. Please see that documentation.

#### PositiveOrZeroInt

The PositiveOrZeroInt type constraint is provided by the
[Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric) library. Please see that documentation.

#### PositiveOrZeroNum

The PositiveOrZeroNum type constraint is provided by the
[Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric) library. Please see that documentation.

#### Ref

The Ref type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### RegexpObj

The RegexpObj type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Regexp](https://metacpan.org/pod/Data::Object::Regexp).

#### RegexpObject

The RegexpObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Regexp](https://metacpan.org/pod/Data::Object::Regexp).

#### RegexpRef

The RegexpRef type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### RoleName

The RoleName type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### ScalarObj

The ScalarObj type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Scalar](https://metacpan.org/pod/Data::Object::Scalar).

#### ScalarObject

The ScalarObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Scalar](https://metacpan.org/pod/Data::Object::Scalar).

#### ScalarRef

The ScalarRef type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### SimpleStr

The SimpleStr type constraint is provided by the [Types::Common::String](https://metacpan.org/pod/Types::Common::String)
library. Please see that documentation.

#### SingleDigit

The SingleDigit type constraint is provided by the [Types::Common::Numeric](https://metacpan.org/pod/Types::Common::Numeric)
library. Please see that documentation.

#### Str

The Str type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### StrMatch

The StrMatch type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### StrObj

The StrObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::String](https://metacpan.org/pod/Data::Object::String).

#### StrObject

The StrObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::String](https://metacpan.org/pod/Data::Object::String).

#### StrictNum

The StrictNum type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library.
Please see that documentation.

#### StringObj

The StringObj type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::String](https://metacpan.org/pod/Data::Object::String).

#### StringObject

The StringObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::String](https://metacpan.org/pod/Data::Object::String).

#### StrongPassword

The StrongPassword type constraint is provided by the [Types::Common::String](https://metacpan.org/pod/Types::Common::String)
library. Please see that documentation.

#### Tied

The Tied type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### Tuple

The Tuple type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### Undef

The Undef type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

#### UndefObj

The UndefObj type constraint is provided by this library and accepts any object
that is, or is derived from, a [Data::Object::Undef](https://metacpan.org/pod/Data::Object::Undef).

#### UndefObject

The UndefObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Undef](https://metacpan.org/pod/Data::Object::Undef).

#### UniversalObj

The UniversalObj type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Universal](https://metacpan.org/pod/Data::Object::Universal).

#### UniversalObject

The UniversalObject type constraint is provided by this library and accepts any
object that is, or is derived from, a [Data::Object::Universal](https://metacpan.org/pod/Data::Object::Universal).

#### UpperCaseSimpleStr

The UpperCaseSimpleStr type constraint is provided by the
[Types::Common::String](https://metacpan.org/pod/Types::Common::String) library. Please see that documentation.

#### UpperCaseStr

The UpperCaseStr type constraint is provided by the [Types::Common::String](https://metacpan.org/pod/Types::Common::String)
library. Please see that documentation.

#### Value

The Value type constraint is provided by the [Types::Standard](https://metacpan.org/pod/Types::Standard) library. Please
see that documentation.

# AUTHOR

Al Newkirk <anewkirk@ana.io>

# COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Al Newkirk.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
