NAME
Bubblegum::Constraints - Type and Constraints Library for Bubblegum
VERSION
version 0.32
SYNOPSIS
package Server;
use Bubblegum::Class;
use Bubblegum::Constraints 'typeof_arrayref';
has 'ifaces' => (
    is       => 'ro',
    isa      => typeof_arrayref,
    required => 1
);DESCRIPTION
Bubblegum::Constraints is the standard type-checking library for Bubblegum applications with a focus on minimalism and data integrity. This library derives its type validation from Types::Standard, the Type::Tiny standard library.
By default, no functions are exported when using this package, all functionality desired will need to be explicitly requested, and because many functions belong to a particular group of functions there are export tags which can be used to export sets of functions by group name. Any function can also be exported individually. The following are a list of functions and groups currently available:
-all
The all export group exports all functions from the "-types", "-typesof", "-isas", and "-nots" export groups.
-isas
The isas export group exports all functions which have the isa_ prefix. These functions take a single argument and perform non-fatal type checking and return true or false. The following is a list of functions exported by this group:
isa_aref
isa_aref '...';The isa_aref function validates that the argument is an array reference. If the argument is not an array reference, the function will return false.
isa_arrayref
isa_arrayref '...';The isa_arrayref function validates that the argument is an array reference. If the argument is not an array reference, the function will return false.
isa_bool
isa_bool '...';The isa_bool function validates that the argument is a boolean value. If the argument is not a boolean value, the function will return false.
isa_boolean
isa_boolean '...';The isa_boolean function validates that the argument is a boolean value. If the argument is not a boolean value, the function will return false.
isa_class
isa_class '...';The isa_class function validates that the argument is a class name. If the argument is not a class name, the function will return false.
isa_classname
isa_classname '...';The isa_classname function validates that the argument is a class name. If the argument is not a class name, the function will return false.
isa_coderef
isa_coderef '...';The isa_coderef function validates that the argument is a code reference. If the argument is not a code reference, the function will return false.
isa_cref
isa_cref '...';The isa_cref function validates that the argument is a code reference. If the argument is not a code reference, the function will return false.
isa_def
isa_def '...';The isa_def function validates that the argument is a defined value. If the argument is not a defined value, the function will return false.
isa_defined
isa_defined '...';The isa_defined function validates that the argument is a defined value. If the argument is not a defined value, the function will return false.
isa_fh
isa_fh '...';The isa_fh function validates that the argument is a file handle. If the argument is not a file handle, the function will return false.
isa_filehandle
isa_filehandle '...';The isa_filehandle function validates that the argument is a file handle. If the argument is not a file handle, the function will return false.
isa_glob
isa_glob '...';The isa_glob function validates that the argument is a glob reference. If the argument is not a glob reference, the function will return false.
isa_globref
isa_globref '...';The isa_globref function validates that the argument is a glob reference. If the argument is not a glob reference, the function will return false.
isa_hashref
isa_hashref '...';The isa_hashref function validates that the argument is a hash reference. If the argument is not a hash reference, the function will return false.
isa_href
isa_href '...';The isa_href function validates that the argument is a hash reference. If the argument is not a hash reference, the function will return false.
isa_int
isa_int '...';The isa_int function validates that the argument is an integer. If the argument is not an integer, the function will return false.
isa_integer
isa_integer '...';The isa_integer function validates that the argument is an integer. If the argument is not an integer, the function will return false.
isa_num
isa_num '...';The isa_num function validates that the argument is a number. If the argument is not a number, the function will return false.
isa_number
isa_number '...';The isa_number function validates that the argument is a number. If the argument is not a number, the function will return false.
isa_obj
isa_obj '...';The isa_obj function validates that the argument is an object. If the argument is not an object, the function will return false.
isa_object
isa_object '...';The isa_object function validates that the argument is an object. If the argument is not an object, the function will return false.
isa_ref
isa_ref '...';The isa_ref function validates that the argument is a reference. If the argument is not a reference, the function will return false.
isa_reference
isa_reference '...';The isa_reference function validates that the argument is a reference. If the argument is not a reference, the function will return false.
isa_regexpref
isa_regexpref '...';The isa_regexpref function validates that the argument is a regular expression reference. If the argument is not a regular expression reference, the function will return false.
isa_rref
isa_rref '...';The isa_rref function validates that the argument is a regular expression reference. If the argument is not a regular expression reference, the function will return false.
isa_scalarref
isa_scalarref '...';The isa_scalarref function validates that the argument is a scalar reference. If the argument is not a scalar reference, the function will return false.
isa_sref
isa_sref '...';The isa_sref function validates that the argument is a scalar reference. If the argument is not a scalar reference, the function will return false.
isa_str
isa_str '...';The isa_str function validates that the argument is a string. If the argument is not a string, the function will return false.
isa_string
isa_string '...';The isa_string function validates that the argument is a string. If the argument is not a string, the function will return false.
isa_nil
isa_nil '...';The isa_nil function validates that the argument is an undefined value. If the argument is not an undefined value, the function will return false.
isa_null
isa_null '...';The isa_null function validates that the argument is an undefined value. If the argument is not an undefined value, the function will return false.
isa_undef
isa_undef '...';The isa_undef function validates that the argument is an undefined value. If the argument is not an undefined value, the function will return false.
isa_undefined
isa_undefined '...';The isa_undefined function validates that the argument is an undefined value. If the argument is not an undefined value, the function will return false.
isa_val
isa_val '...';The isa_val function validates that the argument is a value. If the argument is not a value, the function will return false.
isa_value
isa_value '...';The isa_value function validates that the argument is a value. If the argument is not a value, the function will return false.
-nots
The nots export group exports all functions which have the not_ prefix. These functions take a single argument and perform non-fatal negated type checking and return true or false. The following is a list of functions exported by this group:
not_aref
not_aref '...';The not_aref function validates that the argument is NOT an array reference. If the argument is an array reference, the function will return false.
not_arrayref
not_arrayref '...';The not_arrayref function validates that the argument is NOT an array reference. If the argument is an array reference, the function will return false.
not_bool
not_bool '...';The not_bool function validates that the argument is NOT a boolean value. If the argument is a boolean value, the function will return false.
not_boolean
not_boolean '...';The not_boolean function validates that the argument is NOT a boolean value. If the argument is a boolean value, the function will return false.
not_class
not_class '...';The not_class function validates that the argument is NOT a class name. If the argument is a class name, the function will return false.
not_classname
not_classname '...';The not_classname function validates that the argument is NOT a class name. If the argument is a class name, the function will return false.
not_coderef
not_coderef '...';The not_coderef function validates that the argument is NOT a code reference. If the argument is a code reference, the function will return false.
not_cref
not_cref '...';The not_cref function validates that the argument is NOT a code reference. If the argument is a code reference, the function will return false.
not_def
not_def '...';The not_def function validates that the argument is NOT a defined value. If the argument is a defined value, the function will return false.
not_defined
not_defined '...';The not_defined function validates that the argument is NOT a defined value. If the argument is a defined value, the function will return false.
not_fh
not_fh '...';The not_fh function validates that the argument is NOT a file handle. If the argument is a file handle, the function will return false.
not_filehandle
not_filehandle '...';The not_filehandle function validates that the argument is NOT a file handle. If the argument is a file handle, the function will return false.
not_glob
not_glob '...';The not_glob function validates that the argument is NOT a glob reference. If the argument is a glob reference, the function will return false.
not_globref
not_globref '...';The not_globref function validates that the argument is NOT a glob reference. If the argument is a glob reference, the function will return false.
not_hashref
not_hashref '...';The not_hashref function validates that the argument is NOT a hash reference. If the argument is a hash reference, the function will return false.
not_href
not_href '...';The not_href function validates that the argument is NOT a hash reference. If the argument is a hash reference, the function will return false.
not_int
not_int '...';The not_int function validates that the argument is NOT an integer. If the argument is an integer, the function will return false.
not_integer
not_integer '...';The not_integer function validates that the argument is NOT an integer. If the argument is an integer, the function will return false.
not_num
not_num '...';The not_num function validates that the argument is NOT a number. If the argument is a number, the function will return false.
not_number
not_number '...';The not_number function validates that the argument is NOT a number. If the argument is a number, the function will return false.
not_obj
not_obj '...';The not_obj function validates that the argument is NOT an object. If the argument is an object, the function will return false.
not_object
not_object '...';The not_object function validates that the argument is NOT an object. If the argument is an object, the function will return false.
not_ref
not_ref '...';The not_ref function validates that the argument is NOT a reference. If the argument is a reference, the function will return false.
not_reference
not_reference '...';The not_reference function validates that the argument is NOT a reference. If the argument is a reference, the function will return false.
not_regexpref
not_regexpref '...';The not_regexpref function validates that the argument is NOT a regular expression reference. If the argument is a regular expression reference, the function will return false.
not_rref
not_rref '...';The not_rref function validates that the argument is NOT a regular expression reference. If the argument is a regular expression reference, the function will return false.
not_scalarref
not_scalarref '...';The not_scalarref function validates that the argument is NOT a scalar reference. If the argument is a scalar reference, the function will return false.
not_sref
not_sref '...';The not_sref function validates that the argument is NOT a scalar reference. If the argument is a scalar reference, the function will return false.
not_str
not_str '...';The not_str function validates that the argument is NOT a string. If the argument is a string, the function will return false.
not_string
not_string '...';The not_string function validates that the argument is NOT a string. If the argument is a string, the function will return false.
not_nil
not_nil '...';The not_nil function validates that the argument is NOT an undefined value. If the argument is an undefined value, the function will return false.
not_null
not_null '...';The not_null function validates that the argument is NOT an undefined value. If the argument is an undefined value, the function will return false.
not_undef
not_undef '...';The not_undef function validates that the argument is NOT an undefined value. If the argument is an undefined value, the function will return false.
not_undefined
not_undefined '...';The not_undefined function validates that the argument is NOT an undefined value. If the argument is an undefined value, the function will return false.
not_val
not_val '...';The not_val function validates that the argument is NOT a value. If the argument is a value, the function will return false.
not_value
not_value '...';The not_value function validates that the argument is NOT a value. If the argument is a value, the function will return false.
-types
The types export group exports all functions which have the type_ prefix. These functions take a single argument/expression and perform fatal type checking operation returning the argument/expression if successful. The follow is a list of functions exported by this group:
type_aref
type_aref '...';The type_aref function asserts that the argument is an array reference. If the argument is not an array reference, the function will cause the program to die.
type_arrayref
type_arrayref '...';The type_arrayref function asserts that the argument is an array reference. If the argument is not an array reference, the function will cause the program to die.
type_bool
type_bool '...';The type_bool function asserts that the argument is a boolean value. If the argument is not a boolean value, the function will cause the program to die.
type_boolean
type_boolean '...';The type_boolean function asserts that the argument is a boolean value. If the argument is not a boolean value, the function will cause the program to die.
type_class
type_class '...';The type_class function asserts that the argument is a class name. If the argument is not a class name, the function will cause the program to die.
type_classname
type_classname '...';The type_classname function asserts that the argument is a class name. If the argument is not a class name, the function will cause the program to die.
type_coderef
type_coderef '...';The type_coderef function asserts that the argument is a code reference. If the argument is not a code reference, the function will cause the program to die.
type_cref
type_cref '...';The type_cref function asserts that the argument is a code reference. If the argument is not a code reference, the function will cause the program to die.
type_def
type_def '...';The type_def function asserts that the argument is a defined value. If the argument is not a defined value, the function will cause the program to die.
type_defined
type_defined '...';The type_defined function asserts that the argument is a defined value. If the argument is not a defined value, the function will cause the program to die.
type_fh
type_fh '...';The type_fh function asserts that the argument is a file handle. If the argument is not a file handle, the function will cause the program to die.
type_filehandle
type_filehandle '...';The type_filehandle function asserts that the argument is a file handle. If the argument is not a file handle, the function will cause the program to die.
type_glob
type_glob '...';The type_glob function asserts that the argument is a glob reference. If the argument is not a glob reference, the function will cause the program to die.
type_globref
type_globref '...';The type_globref function asserts that the argument is a glob reference. If the argument is not a glob reference, the function will cause the program to die.
type_hashref
type_hashref '...';The type_hashref function asserts that the argument is a hash reference. If the argument is not a hash reference, the function will cause the program to die.
type_href
type_href '...';The type_href function asserts that the argument is a hash reference. If the argument is not a hash reference, the function will cause the program to die.
type_int
type_int '...';The type_int function asserts that the argument is an integer. If the argument is not an integer, the function will cause the program to die.
type_integer
type_integer '...';The type_integer function asserts that the argument is an integer. If the argument is not an integer, the function will cause the program to die.
type_num
type_num '...';The type_num function asserts that the argument is a number. If the argument is not a number, the function will cause the program to die.
type_number
type_number '...';The type_number function asserts that the argument is a number. If the argument is not a number, the function will cause the program to die.
type_obj
type_obj '...';The type_obj function asserts that the argument is an object. If the argument is not an object, the function will cause the program to die.
type_object
type_object '...';The type_object function asserts that the argument is an object. If the argument is not an object, the function will cause the program to die.
type_ref
type_ref '...';The type_ref function asserts that the argument is a reference. If the argument is not a reference, the function will cause the program to die.
type_reference
type_reference '...';The type_reference function asserts that the argument is a reference. If the argument is not a reference, the function will cause the program to die.
type_regexpref
type_regexpref '...';The type_regexpref function asserts that the argument is a regular expression reference. If the argument is not a regular expression reference, the function will cause the program to die.
type_rref
type_rref '...';The type_rref function asserts that the argument is a regular expression reference. If the argument is not a regular expression reference, the function will cause the program to die.
type_scalarref
type_scalarref '...';The type_scalarref function asserts that the argument is a scalar reference. If the argument is not a scalar reference, the function will cause the program to die.
type_sref
type_sref '...';The type_sref function asserts that the argument is a scalar reference. If the argument is not a scalar reference, the function will cause the program to die.
type_str
type_str '...';The type_str function asserts that the argument is a string. If the argument is not a string, the function will cause the program to die.
type_string
type_string '...';The type_string function asserts that the argument is a string. If the argument is not a string, the function will cause the program to die.
type_nil
type_nil '...';The type_nil function asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
type_null
type_null '...';The type_null function asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
type_undef
type_undef '...';The type_undef function asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
type_undefined
type_undefined '...';The type_undefined function asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
type_val
type_val '...';The type_val function asserts that the argument is a value. If the argument is not a value, the function will cause the program to die.
type_value
type_value '...';The type_value function asserts that the argument is a value. If the argument is not a value, the function will cause the program to die.
-typesof
The typesof export group exports all functions which have the typeof_ prefix. These functions take no argument and return a type-validation code reference to be used with your object-system of choice. The following is a list of functions exported by this group:
typeof_aref
typeof_aref;The typeof_aref function returns a type constraint in the form of a code reference which asserts that the argument is an array reference. If the argument is not an array reference, the function will cause the program to die.
typeof_arrayref
typeof_arrayref;The typeof_arrayref function returns a type constraint in the form of a code reference which asserts that the argument is an array reference. If the argument is not an array reference, the function will cause the program to die.
typeof_bool
typeof_bool;The typeof_bool function returns a type constraint in the form of a code reference which asserts that the argument is a boolean value. If the argument is not a boolean value, the function will cause the program to die.
typeof_boolean
typeof_boolean;The typeof_boolean function returns a type constraint in the form of a code reference which asserts that the argument is a boolean value. If the argument is not a boolean value, the function will cause the program to die.
typeof_class
typeof_class;The typeof_class function returns a type constraint in the form of a code reference which asserts that the argument is a class name. If the argument is not a class name, the function will cause the program to die.
typeof_classname
typeof_classname;The typeof_classname function returns a type constraint in the form of a code reference which asserts that the argument is a class name. If the argument is not a class name, the function will cause the program to die.
typeof_coderef
typeof_coderef;The typeof_coderef function returns a type constraint in the form of a code reference which asserts that the argument is a code reference. If the argument is not a code reference, the function will cause the program to die.
typeof_cref
typeof_cref;The typeof_cref function returns a type constraint in the form of a code reference which asserts that the argument is a code reference. If the argument is not a code reference, the function will cause the program to die.
typeof_def
typeof_def;The typeof_def function returns a type constraint in the form of a code reference which asserts that the argument is a defined value. If the argument is not a defined value, the function will cause the program to die.
typeof_defined
typeof_defined;The typeof_defined function returns a type constraint in the form of a code reference which asserts that the argument is a defined value. If the argument is not a defined value, the function will cause the program to die.
typeof_fh
typeof_fh;The typeof_fh function returns a type constraint in the form of a code reference which asserts that the argument is a file handle. If the argument is not a file handle, the function will cause the program to die.
typeof_filehandle
typeof_filehandle;The typeof_filehandle function returns a type constraint in the form of a code reference which asserts that the argument is a file handle. If the argument is not a file handle, the function will cause the program to die.
typeof_glob
typeof_glob;The typeof_glob function returns a type constraint in the form of a code reference which asserts that the argument is a glob reference. If the argument is not a glob reference, the function will cause the program to die.
typeof_globref
typeof_globref;The typeof_globref function returns a type constraint in the form of a code reference which asserts that the argument is a glob reference. If the argument is not a glob reference, the function will cause the program to die.
typeof_hashref
typeof_hashref;The typeof_hashref function returns a type constraint in the form of a code reference which asserts that the argument is a hash reference. If the argument is not a hash reference, the function will cause the program to die.
typeof_href
typeof_href;The typeof_href function returns a type constraint in the form of a code reference which asserts that the argument is a hash reference. If the argument is not a hash reference, the function will cause the program to die.
typeof_int
typeof_int;The typeof_int function returns a type constraint in the form of a code reference which asserts that the argument is an integer. If the argument is not an integer, the function will cause the program to die.
typeof_integer
typeof_integer;The typeof_integer function returns a type constraint in the form of a code reference which asserts that the argument is an integer. If the argument is not an integer, the function will cause the program to die.
typeof_num
typeof_num;The typeof_num function returns a type constraint in the form of a code reference which asserts that the argument is a number. If the argument is not a number, the function will cause the program to die.
typeof_number
typeof_number;The typeof_number function returns a type constraint in the form of a code reference which asserts that the argument is a number. If the argument is not a number, the function will cause the program to die.
typeof_obj
typeof_obj;The typeof_obj function returns a type constraint in the form of a code reference which asserts that the argument is an object. If the argument is not an object, the function will cause the program to die.
typeof_object
typeof_object;The typeof_object function returns a type constraint in the form of a code reference which asserts that the argument is an object. If the argument is not an object, the function will cause the program to die.
typeof_ref
typeof_ref;The typeof_ref function returns a type constraint in the form of a code reference which asserts that the argument is a reference. If the argument is not a reference, the function will cause the program to die.
typeof_reference
typeof_reference;The typeof_reference function returns a type constraint in the form of a code reference which asserts that the argument is a reference. If the argument is not a reference, the function will cause the program to die.
typeof_regexpref
typeof_regexpref;The typeof_regexpref function returns a type constraint in the form of a code reference which asserts that the argument is a regular expression reference. If the argument is not a regular expression reference, the function will cause the program to die.
typeof_rref
typeof_rref;The typeof_rref function returns a type constraint in the form of a code reference which asserts that the argument is a regular expression reference. If the argument is not a regular expression reference, the function will cause the program to die.
typeof_scalarref
typeof_scalarref;The typeof_scalarref function returns a type constraint in the form of a code reference which asserts that the argument is a scalar reference. If the argument is not a scalar reference, the function will cause the program to die.
typeof_sref
typeof_sref;The typeof_sref function returns a type constraint in the form of a code reference which asserts that the argument is a scalar reference. If the argument is not a scalar reference, the function will cause the program to die.
typeof_str
typeof_str;The typeof_str function returns a type constraint in the form of a code reference which asserts that the argument is a string. If the argument is not a string, the function will cause the program to die.
typeof_string
typeof_string;The typeof_string function returns a type constraint in the form of a code reference which asserts that the argument is a string. If the argument is not a string, the function will cause the program to die.
typeof_nil
typeof_nil;The typeof_nil function returns a type constraint in the form of a code reference which asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
typeof_null
typeof_null;The typeof_null function returns a type constraint in the form of a code reference which asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
typeof_undef
typeof_undef;The typeof_undef function returns a type constraint in the form of a code reference which asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
typeof_undefined
typeof_undefined;The typeof_undefined function returns a type constraint in the form of a code reference which asserts that the argument is an undefined value. If the argument is not an undefined value, the function will cause the program to die.
typeof_val
typeof_val;The typeof_val function returns a type constraint in the form of a code reference which asserts that the argument is a value. If the argument is not a value, the function will cause the program to die.
typeof_value
typeof_value;The typeof_value function returns a type constraint in the form of a code reference which asserts that the argument is a value. If the argument is not a value, the function will cause the program to die.
AUTHOR
Al Newkirk <anewkirk@ana.io>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 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.