The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
package JavaScript::Librarian::Library;

use strict;
use base 'Algorithm::Dependency::Source';

use vars qw{$VERSION};
BEGIN {
	$VERSION = '1.00';
}





#####################################################################
# Algorithm::Dependency::Source Methods

# Overload ->load to add checking to make sure that all the ::Book
# object have a valid ->path.
sub load {
	my $self  = shift;
	my $class = ref $self;

	# Call the normal method
	$self->SUPER::load or return undef;

	# Check that all the items are Book objects
	foreach my $Book ( $self->items ) {
		next if UNIVERSAL::isa($Book, 'JavaScript::Librarian::Book');
		die "$class\::_load_item_list returned something that was not a JavaScript::Library::Book";
	}

	1;
}

1;