SYNOPSIS use Data::Sah::Resolve qw(resolve_schema); my $sch = resolve_schema("int"); # => ["int", []] my $sch = resolve_schema("posint*"); # => ["int", {req=>1, min=>0}, {}] my $sch = resolve_schema([posint => div_by => 3]); # => ["int", {min=>0, div_by=>3}, {}] my $sch = resolve_schema([array => of=>"posint*"]); # => ["array", {of=>["int", {req=>1, min=>0}, {}]}, {}] DESCRIPTION FUNCTIONS resolve_schema([ \%opts, ] $sch) => sch Extract all subschemas found inside Sah schema $sch. Schema will be normalized first, then schemas from all clauses which contains subschemas will be collected recursively. Known options: * schema_is_normalized => bool (default: 0) When set to true, function will skip normalizing schema and assume input schema is normalized. * merge_clause_sets => bool (default: 1) SEE ALSO Sah, Data::Sah