produce a useful error message
[scpubgit/DKit.git] / lib / DX / Op / Materialize.pm
1 package DX::Op::Materialize;
2
3 use Moo;
4
5 with 'DX::Role::Op';
6
7 has var_name => (is => 'ro', required => 1);
8
9 sub run {
10   my ($self, $state) = @_;
11   my $var = $state->scope_var($self->var_name);
12   unless ($var->is_bound) {
13     die "Can't materialize unbound ".$self->var_name;
14   }
15   $state->resolve_value($var);
16   $state->then($self->next);
17 }
18
19 1;