use MooseX::Declare;
class App::PortDistances::Types {
use Carp;
use JSON;
use MooseX::Types -declare => [
qw/
File HoH StrArray
Coord Quadrant Hemispher
oH, from File, via {
local $/;
open my $IN, q{<}, $_ or confess $!;
JSON::decode_json(<$IN>);
};
coerce StrArray, from File, via {
open my $IN, q{<}, $_ or ret
default => App::PortDistances::DB::DB_FILE,
documentation => 'source database in JSON format',
);
has 'cache' => (
is => 'ro',
isa => 'St
se File::ShareDir;
use constant DB_FILE => File::ShareDir::dist_file('App-PortDistances', 'db.json');
use App::PortDistances::DB::Port;
use App::PortDistances::Types
qw/