Skip to content

Commit 5ebfe75

Browse files
committed
Merge pull request #109 from algolia/fix/get-container-node-error
fix: More explicit error message when DOM selector is invalid
2 parents d84af23 + d36a2ad commit 5ebfe75

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

lib/utils.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
function getContainerNode(selectorOrHTMLElement) {
2-
if (typeof selectorOrHTMLElement === 'string') {
3-
return document.querySelector(selectorOrHTMLElement);
2+
var isFromString = (typeof selectorOrHTMLElement === 'string');
3+
var domElement;
4+
if (isFromString) {
5+
domElement = document.querySelector(selectorOrHTMLElement);
6+
} else {
7+
domElement = selectorOrHTMLElement;
48
}
59

6-
if (!isDomElement(selectorOrHTMLElement)) {
7-
throw new Error('Container must be `string` or `HTMLElement`');
10+
if (!isDomElement(domElement)) {
11+
var errorMessage = 'Container must be `string` or `HTMLElement`.';
12+
if (isFromString) {
13+
errorMessage += ' Unable to find ' + selectorOrHTMLElement;
14+
}
15+
throw new Error(errorMessage);
816
}
917

10-
return selectorOrHTMLElement;
18+
return domElement;
1119
}
1220

1321
function isDomElement(o) {

0 commit comments

Comments
 (0)