Data::Sah::Util - Sah utility routines
version 0.02
This module provides some utility routines.
Define a clause. Used in type roles (Data::Sah::Type::*). Internally it adds a 'require' for 'clause_$name'.
Options:
arg => $schema
Define schema for clause value.
prio => $priority
Optional. Default is 50. The higher the priority, the earlier the clause will be processed.
aliases => \@aliases OR $alias
Define aliases. Optional.
code => $code
Optional. Define implementation for the clause. The code will be installed as 'clause_$name'.
Example:
has_clause minimum => (arg => 'int*', aliases => 'min');
Specify that clause named ALIAS is an alias for TARGET.
You have to define TARGET clause first (see has_clause above).
has_clause max_length => ...; clause_alias max_length => "maxlen";
State that specified clauses conflict with one another and cannot be specified together in a schema. Example:
clause_conflict 'set', 'forbidden'; clause_conflict 'set', 'required';
Not yet implemented.
State that specified clauses must be specified together (or none at all).
clause_codepend 'foo', 'bar';
Define a Sah function. Used in function set roles (Sah::Func::*). Internally it adds a 'require func_$name'.
args => [$schema_arg0, $schema_arg1, ...]
Declare schema for arguments.
Optional. Declare aliases.
Supply implementation for the function. The code will be installed as 'func_$name'.
has_func abs => (args => 'num');
Specify that function named ALIAS is an alias for TARGET.
You have to specify TARGET function first (see has_func above).
func_alias 'atan' => 'arctan';
Steven Haryanto <stevenharyanto@gmail.com>
This software is copyright (c) 2012 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Data::Sah, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::Sah
CPAN shell
perl -MCPAN -e shell install Data::Sah
For more information on module installation, please visit the detailed CPAN module installation guide.