use Test::More;
use aliased 'DX::Op::FromCode';
use aliased 'DX::ArrayStream';
-use DX::ResultStream;
use DX::Var;
use DX::State;
use DX::ObservationRequired;
my $set_dot_ssh = FromCode->new(
code => sub {
my ($self, $state) = @_;
- $state->bind_var_then($state->scope_var('P'), '/home/me/.ssh', $self->next);
+ $state->bind_value($state->scope_var('P')->id, '/home/me/.ssh')
+ ->then($self->next);
}
);
code => sub {
my ($self, $state) = @_;
if (my $p = $paths{$state->scope_var('P')->bound_value}) {
- return $state->bind_var_then($state->scope_var('PS'), $p, $self->next);
+ return $state->bind_value($state->scope_var('PS')->id, $p)
+ ->then($self->next);
}
return $state->backtrack;
}
my $path = $state->scope_var('P')->bound_value;
$state->return_from_run(
DX::ObservationRequired->new(
- observation => sub { $paths{$path} = $observe_path{$path} },
+ observer => sub { $paths{$path} = $observe_path{$path} },
resume => $state->then($self->next),
)
);
my $ob_req = $or_state->run;
-$ob_req->observation->();
+$ob_req->observer->();
{
my $res = $ob_req->resume->run;