UNPKG

take-shot

Version:
50 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isInstanceOfElement = exports.toArray = exports.resolveUrl = void 0; function resolveUrl(url, baseUrl) { // url is absolute already if (url.match(/^[a-z]+:\/\//i)) { return url; } // url is absolute already, without protocol if (url.match(/^\/\//)) { return window.location.protocol + url; } // dataURI, mailto:, tel:, etc. if (url.match(/^[a-z]+:/i)) { return url; } const doc = document.implementation.createHTMLDocument(); const base = doc.createElement('base'); const a = doc.createElement('a'); doc.head.appendChild(base); doc.body.appendChild(a); if (baseUrl) { base.href = baseUrl; } a.href = url; return a.href; } exports.resolveUrl = resolveUrl; function toArray(arrayLike) { const arr = []; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore for (let i = 0, l = arrayLike.length; i < l; i++) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore arr.push(arrayLike[i]); } return arr; } exports.toArray = toArray; const isInstanceOfElement = (node, instance) => { if (node instanceof instance) return true; const nodePrototype = Object.getPrototypeOf(node); if (nodePrototype === null) return false; return nodePrototype.constructor.name === instance.name || (0, exports.isInstanceOfElement)(nodePrototype, instance); }; exports.isInstanceOfElement = isInstanceOfElement; //# sourceMappingURL=util.js.map