noble (3) Attean::API::PullParser.3pm.gz

Provided by: libattean-perl_0.033-1_all bug

NAME

       Attean::API::PullParser - Role for parsers that natively return an iterator

VERSION

       This document describes Attean::API::PullParser version 0.033

DESCRIPTION

       The Attean::API::PullParser role defines parsers that can efficiently construct and return an iterator of
       the parsed data. This role adds methods that builds on this functionality to allow parsing data using
       different approaches.

ROLES

       This role consumes the Attean::API::Parser role.

REQUIRED METHODS

       Classes consuming this role must provide the following methods:

       "parse_iter_from_io( $fh )"
           Returns an Attean::API::Iterator that result from parsing the data read from the IO::Handle object
           $fh.

       "parse_iter_from_bytes( $data )"
           Returns an Attean::API::Iterator that result from parsing the data read from the UTF-8 encoded byte
           string $data.

METHODS

       This role provides default implementations of the following methods:

       "parse_cb_from_io( $fh )"
           Calls the "$parser->handler" function once for each object that result from parsing the data read
           from the IO::Handle object $fh.

       "parse_cb_from_bytes( $data )"
           Calls the "$parser->handler" function once for each object that result from parsing the data read
           from the UTF-8 encoded byte string $data.

       "parse_list_from_io( $fh )"
           Returns a list of all objects that result from parsing the data read from the IO::Handle object $fh.

       "parse_list_from_bytes( $data )"
           Returns a list of all objects that result from parsing the data read from the UTF-8 encoded byte
           string $data.

BUGS

       Please report any bugs or feature requests to through the GitHub web interface at
       <https://github.com/kasei/attean/issues>.

SEE ALSO

AUTHOR

       Gregory Todd Williams  "<gwilliams@cpan.org>"

       Copyright (c) 2014--2022 Gregory Todd Williams.  This program is free software; you can redistribute it
       and/or modify it under the same terms as Perl itself.