nova-helpers
Version:
Nova helpers for Ara Framework
54 lines (41 loc) • 1.68 kB
JavaScript
;
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;