Fix for evaluating initialData of observable #507
Closed
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.
Changing the useObservable method to
evaluate initialData as falsy rather than
using hasOwnProperty which accidentally
returns "success" early from an observable.
Description
CLA signed for this account.
Relevant issue: #495
Tests for useObservable still passing. I did not get the emulators set up properly for some of the additional tests on my own machine.
Currently your docs state that useUser should be returning "loading" until it emits it's first value, however you are accidentally interpreting
initialData: undefined | nullas equal totruethus returning the wrong status on first render. This fixes that. I simply changed one line to make it so that it evaluates the falsy value of the initialData coming in rather than the existence of the property, so that it does not have false positives like this in the future. I am not certain if this could cause other unintended consequences, I would appreciate if a maintainer has time to take a look.Code sample