NAME

Data::Sah::Object - Object-oriented interface for Sah schemas

VERSION

This document describes version 0.01 of Data::Sah::Object (from Perl distribution Data-Sah-Object), released on 2014-07-28.

SYNOPSIS

use Data::Sah::Object; # automatically exports sah(), sahn()

# sah() creates a normalized copy of schema
$osch = sah("array*");
$osch = sah(['array*', of => 'str*']);

# sahn() assumes you're passing an already-normalized schema and it will not
# create a copy
my $osch = sahn([array => {req=>1, of=>'str*'}, {}]);

say $osch->type; # -> array
say $osch->clause('req'); # -> 1
say $osch->clause('of', 'int'); # set clause

DESCRIPTION

Sah works using pure data structures, but sometimes it's convenient to have an object-oriented interface (wrapper) for those data. This module provides just that.

FUNCTIONS

sah $sch => OBJECT

Exported by default. A shortcut for Data::Sah::Object::Schema->new($sch).

sahn $sch => OBJECT

Exported by default. A shortcut for Data::Sah::Object::Schema->new($sch, 1).

SEE ALSO

Sah, Data::Sah

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Data-Sah-Object.

SOURCE

Source repository is at https://github.com/sharyanto/perl-Data-Sah-Object.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Sah-Object

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 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.