@rrweb/utils
Version:
This package contains the shared utility functions used across rrweb packages. See the [guide](../../guide.md) for more info on rrweb.
33 lines (32 loc) • 3.72 kB
JavaScript
(function (g, f) {
if ("object" == typeof exports && "object" == typeof module) {
module.exports = f();
} else if ("function" == typeof define && define.amd) {
define("rrwebUtils", [], f);
} else if ("object" == typeof exports) {
exports["rrwebUtils"] = f();
} else {
g["rrwebUtils"] = f();
}
}(this, () => {
var exports = {};
var module = { exports };
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y={Node:["childNodes","parentNode","parentElement","textContent"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},v={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},l={},N=()=>!!globalThis.Zone;function f(t){if(l[t])return l[t];const e=globalThis[t],o=e.prototype,n=t in y?y[t]:void 0,s=!!(n&&n.every(r=>{var c,a;return!!((a=(c=Object.getOwnPropertyDescriptor(o,r))==null?void 0:c.get)!=null&&a.toString().includes("[native code]"))})),u=t in v?v[t]:void 0,d=!!(u&&u.every(r=>{var c;return typeof o[r]=="function"&&((c=o[r])==null?void 0:c.toString().includes("[native code]"))}));if(s&&d&&!N())return l[t]=e.prototype,e.prototype;try{const r=document.createElement("iframe");document.body.appendChild(r);const c=r.contentWindow;if(!c)return e.prototype;const a=c[t].prototype;return document.body.removeChild(r),a?l[t]=a:o}catch(r){return o}}const h={};function i(t,e,o){var n;const s=`${t}.${String(o)}`;if(h[s])return h[s].call(e);const u=f(t),d=(n=Object.getOwnPropertyDescriptor(u,o))==null?void 0:n.get;return d?(h[s]=d,d.call(e)):e[o]}const p={};function g(t,e,o){const n=`${t}.${String(o)}`;if(p[n])return p[n].bind(e);const u=f(t)[o];return typeof u!="function"?e[o]:(p[n]=u,u.bind(e))}function S(t){return i("Node",t,"childNodes")}function b(t){return i("Node",t,"parentNode")}function m(t){return i("Node",t,"parentElement")}function O(t){return i("Node",t,"textContent")}function w(t,e){return g("Node",t,"contains")(e)}function A(t){return g("Node",t,"getRootNode")()}function P(t){return!t||!("host"in t)?null:i("ShadowRoot",t,"host")}function R(t){return t.styleSheets}function E(t){return!t||!("shadowRoot"in t)?null:i("Element",t,"shadowRoot")}function M(t,e){return i("Element",t,"querySelector")(e)}function C(t,e){return i("Element",t,"querySelectorAll")(e)}function q(){return f("MutationObserver").constructor}const U={childNodes:S,parentNode:b,parentElement:m,textContent:O,contains:w,getRootNode:A,host:P,styleSheets:R,shadowRoot:E,querySelector:M,querySelectorAll:C,mutationObserver:q};exports.childNodes=S;exports.contains=w;exports.default=U;exports.getRootNode=A;exports.getUntaintedAccessor=i;exports.getUntaintedMethod=g;exports.getUntaintedPrototype=f;exports.host=P;exports.isAngularZonePresent=N;exports.mutationObserverCtor=q;exports.parentElement=m;exports.parentNode=b;exports.querySelector=M;exports.querySelectorAll=C;exports.shadowRoot=E;exports.styleSheets=R;exports.textContent=O;
if (typeof module.exports == "object" && typeof exports == "object") {
var __cp = (to, from, except, desc) => {
if ((from && typeof from === "object") || typeof from === "function") {
for (let key of Object.getOwnPropertyNames(from)) {
if (!Object.prototype.hasOwnProperty.call(to, key) && key !== except)
Object.defineProperty(to, key, {
get: () => from[key],
enumerable: !(desc = Object.getOwnPropertyDescriptor(from, key)) || desc.enumerable,
});
}
}
return to;
};
module.exports = __cp(module.exports, exports);
}
return module.exports;
}))
//# sourceMappingURL=utils.umd.min.cjs.map