A collection of Blaze output processing utilities. More...
Classes | |
| class | sourcemeta::blaze::SimpleOutput |
| class | sourcemeta::blaze::TraceOutput |
Enumerations | |
| enum class | sourcemeta::blaze::StandardOutput : std::uint8_t { Flag , Basic } |
Functions | |
| auto | sourcemeta::blaze::standard (Evaluator &evaluator, const Template &schema, const sourcemeta::core::JSON &instance, const StandardOutput format) -> sourcemeta::core::JSON |
| auto | sourcemeta::blaze::standard (Evaluator &evaluator, const Template &schema, const sourcemeta::core::JSON &instance, const StandardOutput format, const sourcemeta::core::PointerPositionTracker &instanceTracker) -> sourcemeta::core::JSON |
A collection of Blaze output processing utilities.
This functionality is included as follows:
| class sourcemeta::blaze::SimpleOutput |
A simple evaluation callback that reports a stack trace in the case of validation error that you can report as you with. For example:
Public Types | |
| using | container_type = typename std::vector< Entry > |
| using | const_iterator = typename container_type::const_iterator |
Public Member Functions | |
| SimpleOutput (const sourcemeta::core::JSON &instance, sourcemeta::core::WeakPointer base=sourcemeta::core::empty_weak_pointer) | |
| SimpleOutput (const SimpleOutput &)=delete | |
| auto | operator= (const SimpleOutput &) -> SimpleOutput &=delete |
| auto | operator() (const EvaluationType type, const bool result, const Instruction &step, const InstructionExtra &step_metadata, const sourcemeta::core::WeakPointer &evaluate_path, const sourcemeta::core::WeakPointer &instance_location, const sourcemeta::core::JSON &annotation) -> void |
| auto | begin () const -> const_iterator |
| auto | end () const -> const_iterator |
| auto | cbegin () const -> const_iterator |
| auto | cend () const -> const_iterator |
| auto | annotations () const -> const auto & |
|
inline |
Access annotations that were collected during evaluation, indexed by instance location and evaluation path
| class sourcemeta::blaze::TraceOutput |
An evaluation callback that reports a trace of execution. For example:
Public Types | |
| enum class | EntryType : std::uint8_t { Push , Pass , Fail , Annotation } |
| using | Callback = std::function< void(const Entry &)> |
Public Member Functions | |
| TraceOutput (sourcemeta::blaze::SchemaWalker walker, sourcemeta::blaze::SchemaResolver resolver, Callback callback, sourcemeta::core::WeakPointer base=sourcemeta::core::empty_weak_pointer, const std::optional< std::reference_wrapper< const sourcemeta::blaze::SchemaFrame > > &frame=std::nullopt) | |
| TraceOutput (const TraceOutput &)=delete | |
| auto | operator= (const TraceOutput &) -> TraceOutput &=delete |
| auto | operator() (const EvaluationType type, const bool result, const Instruction &step, const InstructionExtra &step_metadata, const sourcemeta::core::WeakPointer &evaluate_path, const sourcemeta::core::WeakPointer &instance_location, const sourcemeta::core::JSON &annotation) -> void |
|
strong |
Represents standard output formats See https://json-schema.org/draft/2020-12/json-schema-core#name-output-structure See https://json-schema.org/draft/2019-09/draft-handrews-json-schema-02#rfc.section.10
| auto sourcemeta::blaze::standard | ( | Evaluator & | evaluator, |
| const Template & | schema, | ||
| const sourcemeta::core::JSON & | instance, | ||
| const StandardOutput | format | ||
| ) | -> sourcemeta::core::JSON |
Perform JSON Schema evaluation using Standard Output formats. For example:
Note that this output format is not a class like the others in order to have additional control over how and whether to pass a callback to the evaluator instance.
| auto sourcemeta::blaze::standard | ( | Evaluator & | evaluator, |
| const Template & | schema, | ||
| const sourcemeta::core::JSON & | instance, | ||
| const StandardOutput | format, | ||
| const sourcemeta::core::PointerPositionTracker & | instanceTracker | ||
| ) | -> sourcemeta::core::JSON |
An overload of the standard output function that includes line and column position information as an extension.