Provided by: libjson-schema-modern-perl_0.569-1_all bug

NAME

       JSON::Schema::Modern::Vocabulary - Base role for JSON Schema vocabulary classes

VERSION

       version 0.569

SYNOPSIS

         package MyApp::Vocabulary::Awesome;
         use Moo::Role;
         with 'JSON::Schema::Modern::Vocabulary';

DESCRIPTION

       This package is the role which all all vocabulary classes for JSON::Schema::Modern must
       compose, describing the basic structure expected of a vocabulary class.

ATTRIBUTES

METHODS

   vocabulary
       Returns the canonical URI(s) describing the vocabulary for each draft specification
       version, as described in JSON Schema Core Meta-specification, section 8.1.2 <https://json-
       schema.org/draft/2020-12/json-schema-core.html#rfc.section.8.1.2>.  Must be implemented by
       the composing class.

   evaluation_order
       Returns a positive integer, used as a sort key for determining the evaluation order of
       this vocabulary. If not overridden in a custom vocabulary class, its evaluation order will
       be after all built-in vocabularies. You probably don't need to define this.

   keywords
       Returns the list of keywords defined by the vocabulary. Must be implemented by the
       composing class.

   traverse
       Traverses a subschema. Callers are expected to establish a new $state scope.

   traverse_subschema
       Recursively traverses the schema at the current keyword, as in the "not" keyword.

   traverse_array_schemas
       Recursively traverses the list of subschemas at the current keyword, as in the "allOf"
       keyword.

   traverse_object_schemas
       Recursively traverses the (subschema) values of the object at the current keyword, as in
       the $defs keyword.

   traverse_property_schema
       Recursively traverses the subschema under one property of the object at the current
       keyword.

   eval
       Evaluates a subschema. Callers are expected to establish a new $state scope.

   eval_subschema_at_uri
       Resolves a URI to a subschema, then evaluates that subschema (essentially the $ref
       keyword).

SUPPORT

       Bugs may be submitted through
       <https://github.com/karenetheridge/JSON-Schema-Modern/issues>.

       I am also usually active on irc, as 'ether' at "irc.perl.org" and "irc.libera.chat".

       You can also find me on the JSON Schema Slack server <https://json-schema.slack.com> and
       OpenAPI Slack server <https://open-api.slack.com>, which are also great resources for
       finding help.

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.