Group
Extension

Matches 5

Data-Sah-JS ( P/PE/PERLANCAR/Data-Sah-JS-0.87.tar.gz, PERLANCAR, 2016; MetaCPAN )
Data-Sah-JS/lib/Data/Sah/JS.pm ( view source; MetaCPAN )
 {
        require File::Temp;
        require JSON::MaybeXS;
        #require String::ShellQuote;

        my $data = shift;

        state $json = JSON::MaybeXS->new->allow_nonref;

        # code t
s
        my $src = "var validator = $v_src;\n\n".
            "console.log(JSON.stringify(validator(".
                $json->encode($data).")))";

        my ($jsh, $jsfn) = File::Temp::tempfile();
file $jsfn: $!";

        my $out = IPC::System::Options::readpipe($nodejs_path, $jsfn);
        $json->decode($out);
    };
}

1;
# ABSTRACT: Some functions to use JavaScript Sah validator code from 
Data-Sah-JS ( P/PE/PERLANCAR/Data-Sah-JS-0.87.tar.gz, PERLANCAR, 2016; MetaCPAN )
Data-Sah-JS/lib/Data/Sah/Compiler/js/TH/array.pm ( view source; MetaCPAN )
    my $dt = $cd->{data_term};
    $cd->{_ccl_check_type} = "$dt instanceof Array";
}

my $STR = "JSON.stringify";

sub superclause_comparable {
    my ($self, $which, $cd) = @_;
    my $c  = $self->c
Data-Sah-JS ( P/PE/PERLANCAR/Data-Sah-JS-0.87.tar.gz, PERLANCAR, 2016; MetaCPAN )
Data-Sah-JS/lib/Test/Data/Sah/JS.pm ( view source; MetaCPAN )
 = qw(run_spectest_for_js);

sub _encode_json {
    state $json = do {
        require JSON::MaybeXS;
        JSON::MaybeXS->new->allow_nonref;
    };
    $json->encode(@_);
}

sub run_spectest_for_js
h = Data::Sah->new;
            my $js = $sah->get_compiler('js');

            my %names; # key: json(schema)
            my %counters; # key: type name

            my @js_code;

            # contr
tname: $reason";
                    next TEST;
                }
                my $k = _encode_json($test->{schema});
                my $ns = $sah->normalize_schema($test->{schema});
             
Data-Sah-JS ( P/PE/PERLANCAR/Data-Sah-JS-0.87.tar.gz, PERLANCAR, 2016; MetaCPAN )
Data-Sah-JS/lib/Data/Sah/Compiler/js/TH/hash.pm ( view source; MetaCPAN )
..
    $cd->{_ccl_check_type} = "typeof($dt)=='object' && !($dt instanceof Array)";
}

my $STR = "JSON.stringify";

sub superclause_comparable {
    my ($self, $which, $cd) = @_;
    my $c  = $self->c
Data-Sah-JS ( P/PE/PERLANCAR/Data-Sah-JS-0.87.tar.gz, PERLANCAR, 2016; MetaCPAN )
Data-Sah-JS/lib/Data/Sah/Compiler/js.pm ( view source; MetaCPAN )
  my ($self, $val) = @_;

    state $json = do {
        require JSON::MaybeXS;
        JSON::MaybeXS->new->allow_nonref;
    };

    # we need cleaning since json can't handle qr//, for one.
    stat
e $cleanser = do {
        require Data::Clean::JSON;
        Data::Clean::JSON->get_cleanser;
    };

    $json->encode($cleanser->clone_and_clean($val));
}

sub compile {
    my ($self, %args) = @_;

Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.