package LasTres::Area;

use v5.36.0;

use strict;
use warnings;

use feature 'signatures';

use Moo::Role;

requires qw/identifier locations name parent/;

has children => (
    is => 'ro',
    lazy => 1,
    builder => \&_build_children,
);

sub _build_children($self) {
    my $locations = $self->locations;
    my @locations = map { $locations->{$_} } keys %$locations;
    @locations = sort { $a->name cmp $b->name } @locations;
    return \@locations;
}
1;
