NAME
JSON::Schema::Draft201909::Vocabulary - Base role for JSON Schema vocabulary classes
VERSION
version 0.018
SYNOPSIS
package MyApp::Vocabulary::Awesome;
use Moo::Role;
with 'JSON::Schema::Draft201909::Vocabulary';
DESCRIPTION
This package is the role which all all vocabulary classes for JSON::Schema::Draft201909 must compose, describing the basic structure expected of a vocabulary class.
User-defined custom vocabularies are not supported at this time.
ATTRIBUTES
evaluator
The JSON::Schema::Draft201909 evaluator object, used for implementing _traverse_keyword_*
and _eval_keyword_*
.
METHODS
vocabulary
The canonical URI describing the vocabulary, as described in JSON Schema Core Meta-specification, section 8.1.2. Must be implemented by the composing class.
keywords
The list of keywords defined by the vocabulary. Must be implemented by the composing class.
traverse_schema
Recursively traverses the schema at the current keyword.
traverse_array_schemas
Recursively traverses the list of subschemas at the current keyword.
traverse_object_schemas
Recursively traverses the (subschema) values of the object at the current keyword.
annotate_self
Produces an annotation whose value is the same as that of the current keyword.
SUPPORT
Bugs may be submitted through https://github.com/karenetheridge/JSON-Schema-Draft201909/issues.
I am also usually active on irc, as 'ether' at irc.perl.org
and irc.freenode.org
.
AUTHOR
Karen Etheridge <ether@cpan.org>
COPYRIGHT AND LICENCE
This software is copyright (c) 2020 by Karen Etheridge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.