Data::Object::Types
Data-Object Type Constraints
package main; use Data::Object::Types; 1;
This package provides type constraints for Data::Object.
This package declares the following type constraints:
ArgsObj
This type is defined in the Data::Object::Types library.
Object
InstanceOf["Data::Object::Args"]
# package ArgsExample; # use Data::Object::Class; # extends 'Data::Object::Args'; package main; bless {}, 'ArgsExample';
ArgsObject
ArrayObj
InstanceOf["Data::Object::Array"]
# coerce from ArrayRef []
# package ArrayExample; # use Data::Object::Class; # extends 'Data::Object::Array'; package main; bless [], 'ArrayExample';
ArrayObject
BoolObj
InstanceOf["Data::Object::Boolean"]
# package BooleanExample; # use Data::Object::Class; # extends 'Data::Object::Boolean'; package main; my $bool = 1; bless \$bool, 'BooleanExample';
BoolObject
BooleanObj
BooleanObject
CliObj
InstanceOf["Data::Object::Cli"]
# package CliExample; # use Data::Object::Class; # extends 'Data::Object::Cli'; package main; bless {}, 'CliExample';
CliObject
CodeObj
InstanceOf["Data::Object::Code"]
# coerce from CodeRef sub{}
# package CodeExample; # use Data::Object::Class; # extends 'Data::Object::Code'; package main; bless sub{}, 'CodeExample';
CodeObject
DataObj
InstanceOf["Data::Object::Data"]
# package DataExample; # use Data::Object::Class; # extends 'Data::Object::Data'; package main; bless {}, 'DataExample';
DataObject
DoArgs
DoArray
DoBoolean
DoCli
DoCode
DoData
DoDumpable
ConsumerOf["Data::Object::Role::Dumpable"]
# package DumpableExample; # use Data::Object::Class; # with 'Data::Object::Role::Dumpable'; package main; bless {}, 'DumpableExample';
DoException
InstanceOf["Data::Object::Exception"]
# package ExceptionExample; # use Data::Object::Class; # extends 'Data::Object::Exception'; package main; bless {}, 'ExceptionExample';
DoFloat
InstanceOf["Data::Object::Float"]
# coerce from LaxNum 123
# coerce from Str '123'
# coerce from Num 123
# package FloatExample; # use Data::Object::Class; # extends 'Data::Object::Float'; package main; my $float = 1.23; bless \$float, 'FloatExample';
DoFunc
InstanceOf["Data::Object::Func"]
# package FuncExample; # use Data::Object::Class; # extends 'Data::Object::Func'; package main; bless {}, 'FuncExample';
DoHash
InstanceOf["Data::Object::Hash"]
# coerce from HashRef {}
# package HashExample; # use Data::Object::Class; # extends 'Data::Object::Hash'; package main; bless {}, 'HashExample';
DoImmutable
ConsumerOf["Data::Object::Role::Immutable"]
# package ImmutableExample; # use Data::Object::Class; # with 'Data::Object::Role::Immutable'; package main; bless {}, 'ImmutableExample';
DoNum
InstanceOf["Data::Object::Number"]
# coerce from StrictNum 123
# coerce from Int 99999
# package NumberExample; # use Data::Object::Class; # extends 'Data::Object::Number'; package main; my $num = 123; bless \$num, 'NumberExample';
DoOpts
InstanceOf["Data::Object::Opts"]
# package OptsExample; # use Data::Object::Class; # extends 'Data::Object::Opts'; package main; bless {}, 'OptsExample';
DoRegexp
InstanceOf["Data::Object::Regexp"]
# coerce from RegexpRef qr//
# package RegexpExample; # use Data::Object::Class; # extends 'Data::Object::Regexp'; package main; bless {}, 'RegexpExample';
DoReplace
InstanceOf["Data::Object::Replace"]
# package ReplaceExample; # use Data::Object::Class; # extends 'Data::Object::Replace'; package main; bless {}, 'ReplaceExample';
DoScalar
InstanceOf["Data::Object::Scalar"]
# coerce from ScalarRef do { my $i = 0; \$i }
# package ScalarExample; # use Data::Object::Class; # extends 'Data::Object::Scalar'; package main; my $scalar = 'abc'; bless \$scalar, 'ScalarExample';
DoSearch
InstanceOf["Data::Object::Search"]
# package SearchExample; # use Data::Object::Class; # extends 'Data::Object::Search'; package main; bless {}, 'SearchExample';
DoSpace
InstanceOf["Data::Object::Space"]
# coerce from Str 'abc'
# package SpaceExample; # use Data::Object::Class; # extends 'Data::Object::Space'; package main; bless {}, 'SpaceExample';
DoStashable
ConsumerOf["Data::Object::Role::Stashable"]
# package StashableExample; # use Data::Object::Class; # with 'Data::Object::Role::Stashable'; package main; bless {}, 'StashableExample';
DoState
InstanceOf["Data::Object::State"]
# package StateExample; # use Data::Object::Class; # extends 'Data::Object::State'; package main; bless {}, 'StateExample';
DoStr
InstanceOf["Data::Object::String"]
# package StringExample; # use Data::Object::Class; # extends 'Data::Object::String'; package main; my $string = 'abc'; bless \$string, 'StringExample';
DoStruct
InstanceOf["Data::Object::Struct"]
# package StructExample; # use Data::Object::Class; # extends 'Data::Object::Struct'; package main; bless {}, 'StructExample';
DoThrowable
ConsumerOf["Data::Object::Role::Throwable"]
# package ThrowableExample; # use Data::Object::Class; # with 'Data::Object::Role::Throwable'; package main; bless {}, 'ThrowableExample';
DoUndef
InstanceOf["Data::Object::Undef"]
# coerce from Undef undef
# package UndefExample; # use Data::Object::Class; # extends 'Data::Object::Undef'; my $undef = undef; bless \$undef, 'UndefExample';
DoVars
InstanceOf["Data::Object::Vars"]
# package VarsExample; # use Data::Object::Class; # extends 'Data::Object::Vars'; package main; bless {}, 'VarsExample';
Dumpable
ExceptionObj
ExceptionObject
FloatObj
# coerce from Str '1.23'
FloatObject
FuncObj
FuncObject
HashObj
HashObject
Immutable
NumObj
NumObject
NumberObj
NumberObject
OptsObj
OptsObject
RegexpObj
RegexpObject
ReplaceObj
ReplaceObject
ScalarObj
ScalarObject
SearchObj
SearchObject
SpaceObj
SpaceObject
Stashable
StateObj
StateObject
StrObj
StrObject
StringObj
StringObject
StructObj
StructObject
Throwable
UndefObj
# package UndefExample; # use Data::Object::Class; # extends 'Data::Object::Undef'; package main; my $undef = undef; bless \$undef, 'UndefExample';
UndefObject
VarsObj
VarsObject
Al Newkirk, awncorp@cpan.org
awncorp@cpan.org
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".
Wiki
Project
Initiatives
Milestones
Contributing
Issues
To install Data::Object::Types, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::Object::Types
CPAN shell
perl -MCPAN -e shell install Data::Object::Types
For more information on module installation, please visit the detailed CPAN module installation guide.