UNPKG

nova-helpers

Version:
54 lines (41 loc) 1.68 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.loadScript = exports.getData = exports.findNode = exports.DATA_ID = exports.DATA_KEY = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _hypernova = require("hypernova"); var DATA_KEY = 'hypernova-key'; exports.DATA_KEY = DATA_KEY; var DATA_ID = 'hypernova-id'; exports.DATA_ID = DATA_ID; var document = globalThis.document; var findNode = function findNode(name, id) { var key = name.replace(/\W/g, ''); return document.querySelector("div[data-".concat(DATA_KEY, "=\"").concat(String(key), "\"][data-").concat(DATA_ID, "=\"").concat(String(id), "\"]")); }; exports.findNode = findNode; var getData = function getData(name, id) { var _fromScript; var key = name.replace(/\W/g, ''); return (0, _hypernova.fromScript)((_fromScript = {}, (0, _defineProperty2["default"])(_fromScript, DATA_KEY, key), (0, _defineProperty2["default"])(_fromScript, DATA_ID, id), _fromScript)); }; exports.getData = getData; var loadScript = function loadScript(src) { return new Promise(function (resolve, reject) { if (document.querySelector("script[src=\"".concat(src, "\"]"))) { resolve(); return; } var el = document.createElement('script'); el.type = 'text/javascript'; el.async = true; el.src = src; el.addEventListener('load', resolve); el.addEventListener('error', reject); el.addEventListener('abort', reject); document.head.appendChild(el); }); }; exports.loadScript = loadScript;