Fixed ordering issues with bindAsArray() and beefed up test suite #43
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.
Implements the long-term solution proposed in issue #36 and supersedes PR #41. Using
bindAsArray()should now properly order items in all cases (including limit and ordered queries) and should be much faster than the previous implementation since we don't re-calculate all records every time a single one is added, removed, updated, or moved.I added a ton of tests for
bindAsArray()which should ensure things continue to work properly.Also, the mixin now only exposes the
bindAsArray(),bindAsObject(), andunbind()methods. "Private" methods like_bind()are now properly hidden internally.