]> git.vpit.fr Git - perl/modules/LaTeX-TikZ.git/blobdiff - lib/LaTeX/TikZ/Set/Path.pm
Check path elements with ->does
[perl/modules/LaTeX-TikZ.git] / lib / LaTeX / TikZ / Set / Path.pm
index 319298b3bd518dd87a2a213dff4910b3247f499c..b8d976827d04bd3431c7df07fed8d01c6295d2da 100644 (file)
@@ -15,30 +15,34 @@ Version 0.01
 
 our $VERSION = '0.01';
 
-use LaTeX::TikZ::Tools;
-
 use Any::Moose;
+use Any::Moose 'Util::TypeConstraints'
+               => [ qw/subtype as where find_type_constraint/ ];
 
 with qw(
  LaTeX::TikZ::Set::Op
  LaTeX::TikZ::Set::Mutable
 );
 
+subtype 'LaTeX::TikZ::Set::Path::Elements'
+     => as 'Object'
+     => where { $_->does('LaTeX::TikZ::Set::Op') };
+
 has '_ops' => (
  is       => 'ro',
- isa      => 'Maybe[ArrayRef[LaTeX::TikZ::Set::Op]]',
+ isa      => 'Maybe[ArrayRef[LaTeX::TikZ::Set::Path::Elements]]',
  init_arg => 'ops',
  default  => sub { [ ] },
 );
 
 sub ops { @{$_[0]->_ops} }
 
-my $ltso_tc = LaTeX::TikZ::Tools::type_constraint('LaTeX::TikZ::Set::Op');
+my $ltspe_tc = find_type_constraint('LaTeX::TikZ::Set::Path::Elements');
 
 sub add {
  my $set = shift;
 
- $ltso_tc->check($_) for @_;
+ $ltspe_tc->check($_) for @_;
 
  push @{$_[0]->_ops}, @_;