SYNOPSIS

        use Data::Object::Library;

DESCRIPTION

    Data::Object::Library is a Type::Tiny library that extends the
    Types::Standard, Types::Common::Numeric, and Types::Common::String
    libraries and adds additional type constraints and coercions which
    validate and transform Data::Object data type objects.

 TYPES

    This following is a complete list of type constraints provided by this
    library.

    Any

      The Any type constraint is provided by the 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.

    AnyObject

      The AnyObject type constraint is provided by this library and accepts
      any object that is, or is derived from, a 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.

    ArrayObject

      The ArrayObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::Array.

    ArrayRef

      The ArrayRef type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Bool

      The Bool type constraint is provided by the Types::Standard library.
      Please see that documentation.

    ClassName

      The ClassName type constraint is provided by the 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.

    CodeObject

      The CodeObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a Data::Object::Code.

    CodeRef

      The CodeRef type constraint is provided by the Types::Standard
      library. Please see that documentation.

    ConsumerOf

      The ConsumerOf type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Defined

      The Defined type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Dict

      The Dict type constraint is provided by the Types::Standard library.
      Please see that documentation.

    Enum

      The Enum type constraint is provided by the Types::Standard library.
      Please see that documentation.

    FileHandle

      The FileHandle type constraint is provided by the 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.

    FloatObject

      The FloatObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::Float.

    GlobRef

      The GlobRef type constraint is provided by the Types::Standard
      library. Please see that documentation.

    HasMethods

      The HasMethods type constraint is provided by the 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.

    HashObject

      The HashObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a Data::Object::Hash.

    HashRef

      The HashRef type constraint is provided by the Types::Standard
      library. Please see that documentation.

    InstanceOf

      The InstanceOf type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Int

      The Int type constraint is provided by the 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.

    IntObject

      The IntObject type constraint is provided by this library and accepts
      any object that is, or is derived from, a 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.

    IntegerObject

      The IntegerObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::Integer.

    Item

      The Item type constraint is provided by the Types::Standard library.
      Please see that documentation.

    LaxNum

      The LaxNum type constraint is provided by the Types::Standard
      library. Please see that documentation.

    LowerCaseSimpleStr

      The LowerCaseSimpleStr type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    LowerCaseStr

      The LowerCaseStr type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    Map

      The Map type constraint is provided by the Types::Standard library.
      Please see that documentation.

    Maybe

      The Maybe type constraint is provided by the Types::Standard library.
      Please see that documentation.

    NegativeInt

      The NegativeInt type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    NegativeNum

      The NegativeNum type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    NegativeOrZeroInt

      The NegativeOrZeroInt type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    NegativeOrZeroNum

      The NegativeOrZeroNum type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    NonEmptySimpleStr

      The NonEmptySimpleStr type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    NonEmptyStr

      The NonEmptyStr type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Num

      The Num type constraint is provided by the 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.

    NumObject

      The NumObject type constraint is provided by this library and accepts
      any object that is, or is derived from, a 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.

    NumberObject

      The NumberObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::Number.

    NumericCode

      The NumericCode type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    Object

      The Object type constraint is provided by the Types::Standard
      library. Please see that documentation.

    OptList

      The OptList type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Optional

      The Optional type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Overload

      The Overload type constraint is provided by the Types::Standard
      library. Please see that documentation.

    Password

      The Password type constraint is provided by the Types::Standard
      library. Please see that documentation.

    PositiveInt

      The PositiveInt type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    PositiveNum

      The PositiveNum type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    PositiveOrZeroInt

      The PositiveOrZeroInt type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    PositiveOrZeroNum

      The PositiveOrZeroNum type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    Ref

      The Ref type constraint is provided by the 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.

    RegexpObject

      The RegexpObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::Regexp.

    RegexpRef

      The RegexpRef type constraint is provided by the Types::Standard
      library. Please see that documentation.

    RoleName

      The RoleName type constraint is provided by the 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.

    ScalarObject

      The ScalarObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::Scalar.

    ScalarRef

      The ScalarRef type constraint is provided by the Types::Standard
      library. Please see that documentation.

    SimpleStr

      The SimpleStr type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    SingleDigit

      The SingleDigit type constraint is provided by the
      Types::Common::Numeric library. Please see that documentation.

    Str

      The Str type constraint is provided by the Types::Standard library.
      Please see that documentation.

    StrMatch

      The StrMatch type constraint is provided by the 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.

    StrObject

      The StrObject type constraint is provided by this library and accepts
      any object that is, or is derived from, a Data::Object::String.

    StrictNum

      The StrictNum type constraint is provided by the 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.

    StringObject

      The StringObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::String.

    StrongPassword

      The StrongPassword type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    Tied

      The Tied type constraint is provided by the Types::Standard library.
      Please see that documentation.

    Tuple

      The Tuple type constraint is provided by the Types::Standard library.
      Please see that documentation.

    Undef

      The Undef type constraint is provided by the 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.

    UndefObject

      The UndefObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      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.

    UniversalObject

      The UniversalObject type constraint is provided by this library and
      accepts any object that is, or is derived from, a
      Data::Object::Universal.

    UpperCaseSimpleStr

      The UpperCaseSimpleStr type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    UpperCaseStr

      The UpperCaseStr type constraint is provided by the
      Types::Common::String library. Please see that documentation.

    Value

      The Value type constraint is provided by the Types::Standard library.
      Please see that documentation.