table of contents
Attean::API::PushParser(3pm) | User Contributed Perl Documentation | Attean::API::PushParser(3pm) |
NAME¶
Attean::API::PushParser - Role for parsers that natively call a callback function for each parsed item
VERSION¶
This document describes Attean::API::PushParser version 0.034
DESCRIPTION¶
The Attean::API::PushParser role defines parsers that can efficiently call a callback function for each object constructed from 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_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.
METHODS¶
This role provides default implementations of 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.
- 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¶
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.
2024-07-02 | perl v5.38.2 |