The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

JSON::Schema::AsType::Draft4::Types - JSON-schema v4 keywords as types

VERSION

version 0.4.4

SYNOPSIS

use JSON::Schema::AsType::Draft4::Types '-all';

my $type = Object & 
    Properties[
        foo => Minimum[3]
    ];

$type->check({ foo => 5 });  # => 1
$type->check({ foo => 1 });  # => 0

EXPORTED TYPES

Null Boolean Array Object String Integer Pattern Number Enum

OneOf AllOf AnyOf 

Required Not

Minimum ExclusiveMinimum Maximum ExclusiveMaximum MultipleOf

MaxLength MinLength

Items AdditionalItems MaxItems MinItems UniqueItems

Properties PatternProperties AdditionalProperties MaxProperties MinProperties

Dependencies Dependency

Schema

Only verifies that the variable is a Type::Tiny.

Can coerce the value from a hashref defining the schema.

my $schema = Schema->coerce( \%schema );

# equivalent to

$schema = JSON::Schema::AsType::Draft4->new(
    draft_version => 4,
    schema => \%schema;
)->type;

AUTHOR

Yanick Champoux <yanick@babyl.dyndns.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Yanick Champoux.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.