Commit | Line | Data |
---|---|---|
456a815d | 1 | package HTML::Zoom::CodeStream; |
2 | ||
3 | use strict; | |
4 | use warnings FATAL => 'all'; | |
5 | ||
6 | sub from_array { | |
7 | my ($class, @array) = @_; | |
8 | $class->new({ code => sub { | |
9 | return unless @array; | |
10 | return shift @array; | |
11 | }}); | |
12 | } | |
13 | ||
14 | sub new { | |
15 | my ($class, $args) = @_; | |
16 | bless({ _code => $args->{code} }, $class); | |
17 | } | |
18 | ||
19 | sub next { | |
20 | $_[0]->{_code}->() | |
21 | } | |
22 | ||
23 | 1; | |
24 |