UNPKG

vanillajs-browser-helpers

Version:

Collection of convenience code snippets (helpers) that aims to make it a little easier to work with vanilla JS in the browser

30 lines (29 loc) 1.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const isString_1 = __importDefault(require("vanillajs-helpers/isString")); const ensureHTML_1 = __importDefault(require("./ensureHTML")); const inDOM_1 = __importDefault(require("./inDOM")); const isDOMElement_1 = __importDefault(require("./isDOMElement")); /** * Inserts DOM element or plain HTML before a given DOM element * * @param elm - The DOM element to insert elements before * @param insertElm - DOM element or HTML (or selector) to insert * @return The inserted element */ function insertBefore(elm, insertElm) { if (!(0, inDOM_1.default)(elm) || (0, isDOMElement_1.default)(elm, 'html')) { return null; } if ((0, isString_1.default)(insertElm)) { elm.insertAdjacentHTML('beforebegin', (0, ensureHTML_1.default)(insertElm)); } else { elm.insertAdjacentElement('beforebegin', insertElm); } return elm.previousElementSibling; } exports.default = insertBefore;