Group
Extension

Data-Transform/lib/Data/Transform/Schema.pm

package Data::Transform::Schema;
use v5.26;
use warnings;

use Object::Pad;

class Data::Transform::Schema : does(Data::Transform::Node) {
  use Scalar::Util qw(blessed);
  use Data::Transform::Constants;

  field $schema : param;

  ADJUST {
    say blessed($schema);
    say ref($schema);
    die("schema must be a JSON::Validator") unless (blessed($schema) && $schema->isa('JSON::Validator'));
  }

  method applies_to (%params) {
    my $node   = $params{value};
    my @errors = $schema->validate($node);
    # warn @errors if @errors;
    return $NO_MATCH if (@errors);
    return $MATCH_EXACT_VALUE;
  }
}


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