(s)
| 2117 | return smi(o) |
| 2118 | } |
| 2119 | function hashJSObj(s) { |
| 2120 | var o |
| 2121 | if (ye && void 0 !== (o = fe.get(s))) return o |
| 2122 | if (void 0 !== (o = s[_e])) return o |
| 2123 | if (!de) { |
| 2124 | if (void 0 !== (o = s.propertyIsEnumerable && s.propertyIsEnumerable[_e])) return o |
| 2125 | if (void 0 !== (o = getIENodeHash(s))) return o |
| 2126 | } |
| 2127 | if (((o = ++be), 1073741824 & be && (be = 0), ye)) fe.set(s, o) |
| 2128 | else { |
| 2129 | if (void 0 !== pe && !1 === pe(s)) |
| 2130 | throw new Error('Non-extensible objects are not allowed as keys.') |
| 2131 | if (de) |
| 2132 | Object.defineProperty(s, _e, { |
| 2133 | enumerable: !1, |
| 2134 | configurable: !1, |
| 2135 | writable: !1, |
| 2136 | value: o, |
| 2137 | }) |
| 2138 | else if ( |
| 2139 | void 0 !== s.propertyIsEnumerable && |
| 2140 | s.propertyIsEnumerable === s.constructor.prototype.propertyIsEnumerable |
| 2141 | ) |
| 2142 | ((s.propertyIsEnumerable = function () { |
| 2143 | return this.constructor.prototype.propertyIsEnumerable.apply(this, arguments) |
| 2144 | }), |
| 2145 | (s.propertyIsEnumerable[_e] = o)) |
| 2146 | else { |
| 2147 | if (void 0 === s.nodeType) |
| 2148 | throw new Error('Unable to set a non-enumerable property on object.') |
| 2149 | s[_e] = o |
| 2150 | } |
| 2151 | } |
| 2152 | return o |
| 2153 | } |
| 2154 | var pe = Object.isExtensible, |
| 2155 | de = (function () { |
| 2156 | try { |
no test coverage detected