App-Greple-xlate
view release on metacpan or search on metacpan
lib/App/Greple/xlate/Cache.pm view on Meta::CPAN
my $json = &json->decode($data);
if (ref $json eq 'HASH') {
$obj->{saved} = $json;
$obj->{saved_order} = []; # legacy format: no order info
} elsif (ref $json eq 'ARRAY') {
$obj->{saved} = +{ map @{$_}[0,1], @$json };
$obj->{saved_order} = [ map $_->[0], @$json ];
} else {
die "unexpected json data.";
}
$obj->{old_pos} = undef; # invalidate memoized position map
}
sub old_size {
my $obj = shift;
scalar @{$obj->saved_order};
}
sub old_position {
my($obj, $key) = @_;
my $pos = $obj->{old_pos} //= do {
( run in 1.943 second using v1.01-cache-2.11-cpan-d01c6094234 )