instantsearch.js
Version:
InstantSearch.js is a JavaScript library for building performant and instant search experiences with Algolia.
39 lines (30 loc) • 1.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _isDomElement = _interopRequireDefault(require("./isDomElement.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Return the container. If it's a string, it is considered a
* css selector and retrieves the first matching element. Otherwise
* test if it validates that it's a correct DOMElement.
*
* @param {string|HTMLElement} selectorOrHTMLElement CSS Selector or container node.
* @return {HTMLElement} Container node
* @throws Error when the type is not correct
*/
function getContainerNode(selectorOrHTMLElement) {
var isSelectorString = typeof selectorOrHTMLElement === 'string';
var domElement = isSelectorString ? document.querySelector(selectorOrHTMLElement) : selectorOrHTMLElement;
if (!(0, _isDomElement.default)(domElement)) {
var errorMessage = 'Container must be `string` or `HTMLElement`.';
if (isSelectorString) {
errorMessage += " Unable to find ".concat(selectorOrHTMLElement);
}
throw new Error(errorMessage);
}
return domElement;
}
var _default = getContainerNode;
exports.default = _default;
;