NAME

Bubblegum::Constraints - Type and Constraints Library for Bubblegum

VERSION

version 0.45

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. Note: This is an early release available for testing and feedback and as such is subject to change.

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.