[Data Liberation] Introduce WP_Entity_Reader_Iterator #2122
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduces a
new WP_Entity_Reader_Iterator( $entity_reader )
class to separate the iterator interface from the entity reader interface.Rationale
Mixing the entity reader interface with the iterator interface is impractical, error-prone, and confusing:
next()
andnext_entity()
with different semantice.get_current_entity()
call returns null untilnext_entity()
is calledcurrent()
,next()
etc. methods over a number of classes is a maintenance burdenTesting instructions
TBD. I haven't tested this PR yet.
There are no server-side unit tests for WP_Stream_Importer in
trunk
yet. AFAIR @zaerl you had something like that in your branch? It could come handy for testing this PR.Aside of that, manual testing in the Data Liberation plugin is appropriate. Instructions TBD.