UNPKG

spiritjs

Version:

The animation toolkit for the web

41 lines (40 loc) 1.96 kB
"use strict"; exports.__esModule = true; exports.resolveElement = resolveElement; var _debug = _interopRequireDefault(require("./debug")); var xpath = _interopRequireWildcard(require("./xpath")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } /** * Resolve element relative to root * * @param {Element} root * @param {{ path, id }} data * @param {boolean} throwException */ function resolveElement(root, data, throwException) { if (throwException === void 0) { throwException = false; } var transformObject = null; var path = data.path, id = data.id; if (id) { transformObject = root.querySelector("[data-spirit-id=\"" + id + "\"]"); } if (!transformObject && path) { transformObject = xpath.getElement(path, root === document.body ? undefined : root); } if (!transformObject) { if ((0, _debug["default"])()) { console.group('Unable to resolve element'); console.warn('Timeline: ', data); console.groupEnd(); } if (throwException) { throw new Error('Cannot find element.'); } } return transformObject; }