package JSV::Compiler;
use strict;
use warnings;
use JSON;
use JSON::Pointer;
use URI;
use Path::Tiny;
use Carp;
use Storable 'dclone';
use Data::Dumper;
use Regexp::Common('RE_ALL', 'Email::Address',
} elsif ($file =~ /\.json/i) {
$self->{original_schema} = decode_json(path($file)->slurp_raw);
} else {
croak "Unknown file type: must be .json or .yaml";
}
$uri->clone;
$su->fragment("");
if ($self->{schemas}{$su}) {
my $rs = JSON::Pointer->get($self->{schemas}{$su}, $uri->fragment);
return $rs if $rs;
}