Find helper results null when query has empty result #15
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.
Originally the
find
helper returns an emptyNodeList
when the query has an empty result. Alternatively if the query has only a single result, instead of returning theNodeList
with oneHTMLElement
thefind
helper returns the only result theHTMLElement
.The check for an empty result is
find('.not-present').length === 0
. Since the helper is acting intuitive like eitherdocument.querySelector
ordocument.querySelectorAll
the return value should be similar. No result fromquerySelector
isnull
and an no results fromquerySelectorAll
is an emptyNodeList
.Checking for a
null
result when a query is made for one matching element makes sense. The find helper doesn't know that the result should be one or more based on the query. So returning an empty NodeList seems less than ideal.Returning
null
,HTMLElement
orNodeList[HTMLElement]
is the gist of this PR.Alternatively we could use two helpers,
find(string) null | HTMLElement
andfindAll(string) NodeList[]
(the node list may be empty when the query has no matching result.Fixes #13