cross-domain-safe-weakmap
Advanced tools
Comparing version 1.0.20 to 1.0.21
@@ -5,2 +5,3 @@ !function(root, factory) { | ||
return function(modules) { | ||
var installedModules = {}; | ||
function __webpack_require__(moduleId) { | ||
@@ -17,3 +18,2 @@ if (installedModules[moduleId]) return installedModules[moduleId].exports; | ||
} | ||
var installedModules = {}; | ||
__webpack_require__.m = modules; | ||
@@ -43,208 +43,18 @@ __webpack_require__.c = installedModules; | ||
}({ | ||
"./node_modules/cross-domain-utils/src/index.js": function(module, exports, __webpack_require__) { | ||
"./node_modules/cross-domain-utils/src/index.js": function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
function isFileProtocol() { | ||
return (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window).location.protocol === CONSTANTS.FILE_PROTOCOL; | ||
} | ||
function isAboutProtocol() { | ||
return (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window).location.protocol === CONSTANTS.ABOUT_PROTOCOL; | ||
} | ||
function getParent(win) { | ||
if (win) try { | ||
if (win.parent && win.parent !== win) return win.parent; | ||
} catch (err) {} | ||
} | ||
function getOpener(win) { | ||
if (win && !getParent(win)) try { | ||
return win.opener; | ||
} catch (err) {} | ||
} | ||
function canReadFromWindow(win) { | ||
try { | ||
(0, _util.noop)(win && win.location && win.location.href); | ||
return !0; | ||
} catch (err) {} | ||
return !1; | ||
} | ||
function getActualDomain(win) { | ||
var location = win.location; | ||
if (!location) throw new Error("Can not read window location"); | ||
var protocol = location.protocol; | ||
if (!protocol) throw new Error("Can not read window protocol"); | ||
if (protocol === CONSTANTS.FILE_PROTOCOL) return CONSTANTS.FILE_PROTOCOL + "//"; | ||
if (protocol === CONSTANTS.ABOUT_PROTOCOL) { | ||
var parent = getParent(win); | ||
return parent && canReadFromWindow(win) ? getActualDomain(parent) : CONSTANTS.ABOUT_PROTOCOL + "//"; | ||
} | ||
var host = location.host; | ||
if (!host) throw new Error("Can not read window host"); | ||
return protocol + "//" + host; | ||
} | ||
function getDomain(win) { | ||
win = win || window; | ||
var domain = getActualDomain(win); | ||
return domain && win.mockDomain && 0 === win.mockDomain.indexOf(CONSTANTS.MOCK_PROTOCOL) ? win.mockDomain : domain; | ||
} | ||
function isBlankDomain(win) { | ||
try { | ||
if (!win.location.href) return !0; | ||
if ("about:blank" === win.location.href) return !0; | ||
} catch (err) {} | ||
return !1; | ||
} | ||
function isActuallySameDomain(win) { | ||
try { | ||
if (win === window) return !0; | ||
} catch (err) {} | ||
try { | ||
var desc = Object.getOwnPropertyDescriptor(win, "location"); | ||
if (desc && !1 === desc.enumerable) return !1; | ||
} catch (err) {} | ||
try { | ||
if (isAboutProtocol(win) && canReadFromWindow(win)) return !0; | ||
} catch (err) {} | ||
try { | ||
if (getActualDomain(win) === getActualDomain(window)) return !0; | ||
} catch (err) {} | ||
return !1; | ||
} | ||
function isSameDomain(win) { | ||
if (!isActuallySameDomain(win)) return !1; | ||
try { | ||
if (win === window) return !0; | ||
if (isAboutProtocol(win) && canReadFromWindow(win)) return !0; | ||
if (getDomain(window) === getDomain(win)) return !0; | ||
} catch (err) {} | ||
return !1; | ||
} | ||
function getParents(win) { | ||
var result = []; | ||
try { | ||
for (;win.parent !== win; ) { | ||
result.push(win.parent); | ||
win = win.parent; | ||
} | ||
} catch (err) {} | ||
return result; | ||
} | ||
function isAncestorParent(parent, child) { | ||
if (!parent || !child) return !1; | ||
var childParent = getParent(child); | ||
return childParent ? childParent === parent : -1 !== getParents(child).indexOf(parent); | ||
} | ||
function getFrames(win) { | ||
var result = [], frames = void 0; | ||
try { | ||
frames = win.frames; | ||
} catch (err) { | ||
frames = win; | ||
} | ||
var len = void 0; | ||
try { | ||
len = frames.length; | ||
} catch (err) {} | ||
if (0 === len) return result; | ||
if (len) { | ||
for (var i = 0; i < len; i++) { | ||
var frame = void 0; | ||
try { | ||
frame = frames[i]; | ||
} catch (err) { | ||
continue; | ||
} | ||
result.push(frame); | ||
} | ||
return result; | ||
} | ||
for (var _i = 0; _i < 100; _i++) { | ||
var _frame = void 0; | ||
try { | ||
_frame = frames[_i]; | ||
} catch (err) { | ||
return result; | ||
} | ||
if (!_frame) return result; | ||
result.push(_frame); | ||
} | ||
return result; | ||
} | ||
function getAllChildFrames(win) { | ||
for (var result = [], _iterator = getFrames(win), _isArray = Array.isArray(_iterator), _i2 = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ;) { | ||
var _ref; | ||
if (_isArray) { | ||
if (_i2 >= _iterator.length) break; | ||
_ref = _iterator[_i2++]; | ||
} else { | ||
_i2 = _iterator.next(); | ||
if (_i2.done) break; | ||
_ref = _i2.value; | ||
} | ||
var frame = _ref; | ||
result.push(frame); | ||
for (var _iterator2 = getAllChildFrames(frame), _isArray2 = Array.isArray(_iterator2), _i3 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator](); ;) { | ||
var _ref2; | ||
if (_isArray2) { | ||
if (_i3 >= _iterator2.length) break; | ||
_ref2 = _iterator2[_i3++]; | ||
} else { | ||
_i3 = _iterator2.next(); | ||
if (_i3.done) break; | ||
_ref2 = _i3.value; | ||
} | ||
var childFrame = _ref2; | ||
result.push(childFrame); | ||
} | ||
} | ||
return result; | ||
} | ||
function getTop(win) { | ||
if (win) { | ||
try { | ||
if (win.top) return win.top; | ||
} catch (err) {} | ||
if (getParent(win) === win) return win; | ||
try { | ||
if (isAncestorParent(window, win) && window.top) return window.top; | ||
} catch (err) {} | ||
try { | ||
if (isAncestorParent(win, window) && window.top) return window.top; | ||
} catch (err) {} | ||
for (var _iterator3 = getAllChildFrames(win), _isArray3 = Array.isArray(_iterator3), _i4 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator](); ;) { | ||
var _ref3; | ||
if (_isArray3) { | ||
if (_i4 >= _iterator3.length) break; | ||
_ref3 = _iterator3[_i4++]; | ||
} else { | ||
_i4 = _iterator3.next(); | ||
if (_i4.done) break; | ||
_ref3 = _i4.value; | ||
} | ||
var frame = _ref3; | ||
try { | ||
if (frame.top) return frame.top; | ||
} catch (err) {} | ||
if (getParent(frame) === frame) return frame; | ||
} | ||
} | ||
} | ||
function getAllFramesInWindow(win) { | ||
var top = getTop(win); | ||
return getAllChildFrames(top).concat(top); | ||
} | ||
function isTop(win) { | ||
return win === getTop(win); | ||
} | ||
function isFrameWindowClosed(frame) { | ||
if (!frame.contentWindow) return !0; | ||
if (!frame.parentNode) return !0; | ||
var doc = frame.ownerDocument; | ||
return !(!doc || !doc.body || doc.body.contains(frame)); | ||
} | ||
function safeIndexOf(collection, item) { | ||
for (var i = 0; i < collection.length; i++) try { | ||
if (collection[i] === item) return i; | ||
} catch (err) {} | ||
return -1; | ||
} | ||
function isWindowClosed(win) { | ||
var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__("./node_modules/cross-domain-utils/src/utils.js"); | ||
__webpack_require__.d(__webpack_exports__, "isWindow", function() { | ||
return __WEBPACK_IMPORTED_MODULE_0__utils__.a; | ||
}); | ||
__webpack_require__.d(__webpack_exports__, "isWindowClosed", function() { | ||
return __WEBPACK_IMPORTED_MODULE_0__utils__.b; | ||
}); | ||
var __WEBPACK_IMPORTED_MODULE_1__types__ = __webpack_require__("./node_modules/cross-domain-utils/src/types.js"); | ||
__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__types__); | ||
}, | ||
"./node_modules/cross-domain-utils/src/types.js": function(module, exports) {}, | ||
"./node_modules/cross-domain-utils/src/utils.js": function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_exports__.b = function(win) { | ||
var allowMock = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; | ||
@@ -266,3 +76,26 @@ try { | ||
} | ||
if (allowMock && isSameDomain(win)) try { | ||
if (allowMock && function(win) { | ||
if (!function(win) { | ||
try { | ||
if (win === window) return !0; | ||
} catch (err) {} | ||
try { | ||
var desc = Object.getOwnPropertyDescriptor(win, "location"); | ||
if (desc && !1 === desc.enumerable) return !1; | ||
} catch (err) {} | ||
try { | ||
if (isAboutProtocol(win) && canReadFromWindow(win)) return !0; | ||
} catch (err) {} | ||
try { | ||
if (getActualDomain(win) === getActualDomain(window)) return !0; | ||
} catch (err) {} | ||
return !1; | ||
}(win)) return !1; | ||
try { | ||
if (win === window) return !0; | ||
if (isAboutProtocol(win) && canReadFromWindow(win)) return !0; | ||
if (getDomain(window) === getDomain(win)) return !0; | ||
} catch (err) {} | ||
return !1; | ||
}(win)) try { | ||
if (win.mockclosed) return !0; | ||
@@ -273,235 +106,21 @@ } catch (err) {} | ||
} catch (err) {} | ||
try { | ||
(0, _util.noop)(win === win); | ||
} catch (err) { | ||
return !0; | ||
} | ||
var iframeIndex = safeIndexOf(iframeWindows, win); | ||
var iframeIndex = function(collection, item) { | ||
for (var i = 0; i < collection.length; i++) try { | ||
if (collection[i] === item) return i; | ||
} catch (err) {} | ||
return -1; | ||
}(iframeWindows, win); | ||
if (-1 !== iframeIndex) { | ||
var frame = iframeFrames[iframeIndex]; | ||
if (frame && isFrameWindowClosed(frame)) return !0; | ||
if (frame && function(frame) { | ||
if (!frame.contentWindow) return !0; | ||
if (!frame.parentNode) return !0; | ||
var doc = frame.ownerDocument; | ||
return !(!doc || !doc.body || doc.body.contains(frame)); | ||
}(frame)) return !0; | ||
} | ||
return !1; | ||
} | ||
function cleanIframes() { | ||
for (var i = 0; i < iframeFrames.length; i++) if (isFrameWindowClosed(iframeFrames[i])) { | ||
iframeFrames.splice(i, 1); | ||
iframeWindows.splice(i, 1); | ||
} | ||
for (var _i5 = 0; _i5 < iframeWindows.length; _i5++) if (isWindowClosed(iframeWindows[_i5])) { | ||
iframeFrames.splice(_i5, 1); | ||
iframeWindows.splice(_i5, 1); | ||
} | ||
} | ||
function linkFrameWindow(frame) { | ||
cleanIframes(); | ||
if (frame && frame.contentWindow) try { | ||
iframeWindows.push(frame.contentWindow); | ||
iframeFrames.push(frame); | ||
} catch (err) {} | ||
} | ||
function getUserAgent(win) { | ||
win = win || window; | ||
return win.navigator.mockUserAgent || win.navigator.userAgent; | ||
} | ||
function getFrameByName(win, name) { | ||
for (var winFrames = getFrames(win), _iterator4 = winFrames, _isArray4 = Array.isArray(_iterator4), _i6 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator](); ;) { | ||
var _ref4; | ||
if (_isArray4) { | ||
if (_i6 >= _iterator4.length) break; | ||
_ref4 = _iterator4[_i6++]; | ||
} else { | ||
_i6 = _iterator4.next(); | ||
if (_i6.done) break; | ||
_ref4 = _i6.value; | ||
} | ||
var childFrame = _ref4; | ||
try { | ||
if (isSameDomain(childFrame) && childFrame.name === name && -1 !== winFrames.indexOf(childFrame)) return childFrame; | ||
} catch (err) {} | ||
} | ||
}; | ||
__webpack_exports__.a = function(obj) { | ||
try { | ||
if (-1 !== winFrames.indexOf(win.frames[name])) return win.frames[name]; | ||
} catch (err) {} | ||
try { | ||
if (-1 !== winFrames.indexOf(win[name])) return win[name]; | ||
} catch (err) {} | ||
} | ||
function findChildFrameByName(win, name) { | ||
var frame = getFrameByName(win, name); | ||
if (frame) return frame; | ||
for (var _iterator5 = getFrames(win), _isArray5 = Array.isArray(_iterator5), _i7 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator](); ;) { | ||
var _ref5; | ||
if (_isArray5) { | ||
if (_i7 >= _iterator5.length) break; | ||
_ref5 = _iterator5[_i7++]; | ||
} else { | ||
_i7 = _iterator5.next(); | ||
if (_i7.done) break; | ||
_ref5 = _i7.value; | ||
} | ||
var childFrame = _ref5, namedFrame = findChildFrameByName(childFrame, name); | ||
if (namedFrame) return namedFrame; | ||
} | ||
} | ||
function findFrameByName(win, name) { | ||
var frame = void 0; | ||
frame = getFrameByName(win, name); | ||
return frame || findChildFrameByName(getTop(win) || win, name); | ||
} | ||
function isParent(win, frame) { | ||
var frameParent = getParent(frame); | ||
if (frameParent) return frameParent === win; | ||
for (var _iterator6 = getFrames(win), _isArray6 = Array.isArray(_iterator6), _i8 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator](); ;) { | ||
var _ref6; | ||
if (_isArray6) { | ||
if (_i8 >= _iterator6.length) break; | ||
_ref6 = _iterator6[_i8++]; | ||
} else { | ||
_i8 = _iterator6.next(); | ||
if (_i8.done) break; | ||
_ref6 = _i8.value; | ||
} | ||
if (_ref6 === frame) return !0; | ||
} | ||
return !1; | ||
} | ||
function isOpener(parent, child) { | ||
return parent === getOpener(child); | ||
} | ||
function getAncestor(win) { | ||
win = win || window; | ||
var opener = getOpener(win); | ||
if (opener) return opener; | ||
var parent = getParent(win); | ||
return parent || void 0; | ||
} | ||
function getAncestors(win) { | ||
for (var results = [], ancestor = win; ancestor; ) { | ||
ancestor = getAncestor(ancestor); | ||
ancestor && results.push(ancestor); | ||
} | ||
return results; | ||
} | ||
function isAncestor(parent, child) { | ||
var actualParent = getAncestor(child); | ||
if (actualParent) return actualParent === parent; | ||
if (child === parent) return !1; | ||
if (getTop(child) === child) return !1; | ||
for (var _iterator7 = getFrames(parent), _isArray7 = Array.isArray(_iterator7), _i9 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator](); ;) { | ||
var _ref7; | ||
if (_isArray7) { | ||
if (_i9 >= _iterator7.length) break; | ||
_ref7 = _iterator7[_i9++]; | ||
} else { | ||
_i9 = _iterator7.next(); | ||
if (_i9.done) break; | ||
_ref7 = _i9.value; | ||
} | ||
if (_ref7 === child) return !0; | ||
} | ||
return !1; | ||
} | ||
function isPopup() { | ||
return Boolean(getOpener(window)); | ||
} | ||
function isIframe() { | ||
return Boolean(getParent(window)); | ||
} | ||
function isFullpage() { | ||
return Boolean(!isIframe() && !isPopup()); | ||
} | ||
function anyMatch(collection1, collection2) { | ||
for (var _iterator8 = collection1, _isArray8 = Array.isArray(_iterator8), _i10 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator](); ;) { | ||
var _ref8; | ||
if (_isArray8) { | ||
if (_i10 >= _iterator8.length) break; | ||
_ref8 = _iterator8[_i10++]; | ||
} else { | ||
_i10 = _iterator8.next(); | ||
if (_i10.done) break; | ||
_ref8 = _i10.value; | ||
} | ||
for (var item1 = _ref8, _iterator9 = collection2, _isArray9 = Array.isArray(_iterator9), _i11 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator](); ;) { | ||
var _ref9; | ||
if (_isArray9) { | ||
if (_i11 >= _iterator9.length) break; | ||
_ref9 = _iterator9[_i11++]; | ||
} else { | ||
_i11 = _iterator9.next(); | ||
if (_i11.done) break; | ||
_ref9 = _i11.value; | ||
} | ||
if (item1 === _ref9) return !0; | ||
} | ||
} | ||
return !1; | ||
} | ||
function getDistanceFromTop() { | ||
for (var win = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window, distance = 0, parent = win; parent; ) { | ||
parent = getParent(parent); | ||
parent && (distance += 1); | ||
} | ||
return distance; | ||
} | ||
function getNthParent(win) { | ||
for (var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1, parent = win, i = 0; i < n; i++) { | ||
if (!parent) return; | ||
parent = getParent(parent); | ||
} | ||
return parent; | ||
} | ||
function getNthParentFromTop(win) { | ||
var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1; | ||
return getNthParent(win, getDistanceFromTop(win) - n); | ||
} | ||
function isSameTopWindow(win1, win2) { | ||
var top1 = getTop(win1) || win1, top2 = getTop(win2) || win2; | ||
try { | ||
if (top1 && top2) return top1 === top2; | ||
} catch (err) {} | ||
var allFrames1 = getAllFramesInWindow(win1), allFrames2 = getAllFramesInWindow(win2); | ||
if (anyMatch(allFrames1, allFrames2)) return !0; | ||
var opener1 = getOpener(top1), opener2 = getOpener(top2); | ||
return (!opener1 || !anyMatch(getAllFramesInWindow(opener1), allFrames2)) && (opener2 && anyMatch(getAllFramesInWindow(opener2), allFrames1), | ||
!1); | ||
} | ||
function matchDomain(pattern, origin) { | ||
if ("string" == typeof pattern) { | ||
if ("string" == typeof origin) return pattern === CONSTANTS.WILDCARD || origin === pattern; | ||
if ((0, _util.isRegex)(origin)) return !1; | ||
if (Array.isArray(origin)) return !1; | ||
} | ||
return (0, _util.isRegex)(pattern) ? (0, _util.isRegex)(origin) ? pattern.toString() === origin.toString() : !Array.isArray(origin) && Boolean(origin.match(pattern)) : !!Array.isArray(pattern) && (Array.isArray(origin) ? JSON.stringify(pattern) === JSON.stringify(origin) : !(0, | ||
_util.isRegex)(origin) && pattern.some(function(subpattern) { | ||
return matchDomain(subpattern, origin); | ||
})); | ||
} | ||
function getDomainFromUrl(url) { | ||
var domain = void 0; | ||
if (!url.match(/^(https?|mock|file):\/\//)) return getDomain(); | ||
domain = url; | ||
domain = domain.split("/").slice(0, 3).join("/"); | ||
return domain; | ||
} | ||
function onCloseWindow(win, callback) { | ||
var delay = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1e3, maxtime = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1 / 0, timeout = void 0; | ||
!function check() { | ||
if (isWindowClosed(win)) { | ||
timeout && clearTimeout(timeout); | ||
return callback(); | ||
} | ||
if (maxtime <= 0) clearTimeout(timeout); else { | ||
maxtime -= delay; | ||
timeout = setTimeout(check, delay); | ||
} | ||
}(); | ||
return { | ||
cancel: function() { | ||
timeout && clearTimeout(timeout); | ||
} | ||
}; | ||
} | ||
function isWindow(obj) { | ||
try { | ||
if (obj === window) return !0; | ||
@@ -537,57 +156,9 @@ } catch (err) { | ||
try { | ||
(0, _util.noop)(obj === obj); | ||
obj && obj.__cross_domain_utils_window_check__; | ||
} catch (err) { | ||
return !0; | ||
} | ||
try { | ||
(0, _util.noop)(obj && obj.__cross_domain_utils_window_check__); | ||
} catch (err) { | ||
return !0; | ||
} | ||
return !1; | ||
} | ||
Object.defineProperty(exports, "__esModule", { | ||
value: !0 | ||
}); | ||
exports.isFileProtocol = isFileProtocol; | ||
exports.isAboutProtocol = isAboutProtocol; | ||
exports.getParent = getParent; | ||
exports.getOpener = getOpener; | ||
exports.canReadFromWindow = canReadFromWindow; | ||
exports.getActualDomain = getActualDomain; | ||
exports.getDomain = getDomain; | ||
exports.isBlankDomain = isBlankDomain; | ||
exports.isActuallySameDomain = isActuallySameDomain; | ||
exports.isSameDomain = isSameDomain; | ||
exports.getParents = getParents; | ||
exports.isAncestorParent = isAncestorParent; | ||
exports.getFrames = getFrames; | ||
exports.getAllChildFrames = getAllChildFrames; | ||
exports.getTop = getTop; | ||
exports.getAllFramesInWindow = getAllFramesInWindow; | ||
exports.isTop = isTop; | ||
exports.isFrameWindowClosed = isFrameWindowClosed; | ||
exports.isWindowClosed = isWindowClosed; | ||
exports.linkFrameWindow = linkFrameWindow; | ||
exports.getUserAgent = getUserAgent; | ||
exports.getFrameByName = getFrameByName; | ||
exports.findChildFrameByName = findChildFrameByName; | ||
exports.findFrameByName = findFrameByName; | ||
exports.isParent = isParent; | ||
exports.isOpener = isOpener; | ||
exports.getAncestor = getAncestor; | ||
exports.getAncestors = getAncestors; | ||
exports.isAncestor = isAncestor; | ||
exports.isPopup = isPopup; | ||
exports.isIframe = isIframe; | ||
exports.isFullpage = isFullpage; | ||
exports.getDistanceFromTop = getDistanceFromTop; | ||
exports.getNthParent = getNthParent; | ||
exports.getNthParentFromTop = getNthParentFromTop; | ||
exports.isSameTopWindow = isSameTopWindow; | ||
exports.matchDomain = matchDomain; | ||
exports.getDomainFromUrl = getDomainFromUrl; | ||
exports.onCloseWindow = onCloseWindow; | ||
exports.isWindow = isWindow; | ||
var _util = __webpack_require__("./node_modules/cross-domain-utils/src/util.js"), CONSTANTS = { | ||
}; | ||
var CONSTANTS = { | ||
MOCK_PROTOCOL: "mock:", | ||
@@ -597,73 +168,47 @@ FILE_PROTOCOL: "file:", | ||
WILDCARD: "*" | ||
}, IE_WIN_ACCESS_ERROR = "Call was rejected by callee.\r\n", iframeWindows = [], iframeFrames = []; | ||
}, | ||
"./node_modules/cross-domain-utils/src/util.js": function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
function isRegex(item) { | ||
return "[object RegExp]" === Object.prototype.toString.call(item); | ||
}, IE_WIN_ACCESS_ERROR = "Call was rejected by callee.\r\n"; | ||
function isAboutProtocol() { | ||
return (arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window).location.protocol === CONSTANTS.ABOUT_PROTOCOL; | ||
} | ||
function noop() {} | ||
Object.defineProperty(exports, "__esModule", { | ||
value: !0 | ||
}); | ||
exports.isRegex = isRegex; | ||
exports.noop = noop; | ||
function canReadFromWindow(win) { | ||
try { | ||
win && win.location && win.location.href; | ||
return !0; | ||
} catch (err) {} | ||
return !1; | ||
} | ||
function getActualDomain(win) { | ||
var location = (win = win || window).location; | ||
if (!location) throw new Error("Can not read window location"); | ||
var protocol = location.protocol; | ||
if (!protocol) throw new Error("Can not read window protocol"); | ||
if (protocol === CONSTANTS.FILE_PROTOCOL) return CONSTANTS.FILE_PROTOCOL + "//"; | ||
if (protocol === CONSTANTS.ABOUT_PROTOCOL) { | ||
var parent = function(win) { | ||
if (win) try { | ||
if (win.parent && win.parent !== win) return win.parent; | ||
} catch (err) {} | ||
}(win); | ||
return parent && canReadFromWindow(parent) ? getActualDomain(parent) : CONSTANTS.ABOUT_PROTOCOL + "//"; | ||
} | ||
var host = location.host; | ||
if (!host) throw new Error("Can not read window host"); | ||
return protocol + "//" + host; | ||
} | ||
function getDomain(win) { | ||
var domain = getActualDomain(win = win || window); | ||
return domain && win.mockDomain && 0 === win.mockDomain.indexOf(CONSTANTS.MOCK_PROTOCOL) ? win.mockDomain : domain; | ||
} | ||
var iframeWindows = [], iframeFrames = []; | ||
}, | ||
"./src/index.js": function(module, exports, __webpack_require__) { | ||
"./src/index.js": function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
Object.defineProperty(__webpack_exports__, "__esModule", { | ||
value: !0 | ||
}); | ||
var _interface = __webpack_require__("./src/interface.js"); | ||
Object.keys(_interface).forEach(function(key) { | ||
"default" !== key && "__esModule" !== key && Object.defineProperty(exports, key, { | ||
enumerable: !0, | ||
get: function() { | ||
return _interface[key]; | ||
} | ||
}); | ||
var interface_namespaceObject = {}; | ||
__webpack_require__.d(interface_namespaceObject, "WeakMap", function() { | ||
return weakmap_CrossDomainSafeWeakMap; | ||
}); | ||
var INTERFACE = function(obj) { | ||
if (obj && obj.__esModule) return obj; | ||
var newObj = {}; | ||
if (null != obj) for (var key in obj) Object.prototype.hasOwnProperty.call(obj, key) && (newObj[key] = obj[key]); | ||
newObj.default = obj; | ||
return newObj; | ||
}(_interface); | ||
exports.default = INTERFACE; | ||
}, | ||
"./src/interface.js": function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: !0 | ||
}); | ||
var _weakmap = __webpack_require__("./src/weakmap.js"); | ||
Object.defineProperty(exports, "WeakMap", { | ||
enumerable: !0, | ||
get: function() { | ||
return _weakmap.CrossDomainSafeWeakMap; | ||
} | ||
}); | ||
}, | ||
"./src/native.js": function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
function hasNativeWeakMap() { | ||
if (!window.WeakMap) return !1; | ||
if (!window.Object.freeze) return !1; | ||
try { | ||
var testWeakMap = new window.WeakMap(), testKey = {}; | ||
window.Object.freeze(testKey); | ||
testWeakMap.set(testKey, "__testvalue__"); | ||
return "__testvalue__" === testWeakMap.get(testKey); | ||
} catch (err) { | ||
return !1; | ||
} | ||
} | ||
Object.defineProperty(exports, "__esModule", { | ||
value: !0 | ||
}); | ||
exports.hasNativeWeakMap = hasNativeWeakMap; | ||
}, | ||
"./src/util.js": function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
var src = __webpack_require__("./node_modules/cross-domain-utils/src/index.js"); | ||
function safeIndexOf(collection, item) { | ||
@@ -675,40 +220,21 @@ for (var i = 0; i < collection.length; i++) try { | ||
} | ||
function noop() {} | ||
Object.defineProperty(exports, "__esModule", { | ||
value: !0 | ||
}); | ||
exports.safeIndexOf = safeIndexOf; | ||
exports.noop = noop; | ||
}, | ||
"./src/weakmap.js": function(module, exports, __webpack_require__) { | ||
"use strict"; | ||
function _classCallCheck(instance, Constructor) { | ||
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function"); | ||
} | ||
Object.defineProperty(exports, "__esModule", { | ||
value: !0 | ||
}); | ||
exports.CrossDomainSafeWeakMap = void 0; | ||
var _createClass = function() { | ||
function defineProperties(target, props) { | ||
for (var i = 0; i < props.length; i++) { | ||
var descriptor = props[i]; | ||
descriptor.enumerable = descriptor.enumerable || !1; | ||
descriptor.configurable = !0; | ||
"value" in descriptor && (descriptor.writable = !0); | ||
Object.defineProperty(target, descriptor.key, descriptor); | ||
} | ||
} | ||
return function(Constructor, protoProps, staticProps) { | ||
protoProps && defineProperties(Constructor.prototype, protoProps); | ||
staticProps && defineProperties(Constructor, staticProps); | ||
return Constructor; | ||
}; | ||
}(), _src = __webpack_require__("./node_modules/cross-domain-utils/src/index.js"), _native = __webpack_require__("./src/native.js"), _util = __webpack_require__("./src/util.js"), defineProperty = Object.defineProperty, counter = Date.now() % 1e9; | ||
exports.CrossDomainSafeWeakMap = function() { | ||
var defineProperty = Object.defineProperty, counter = Date.now() % 1e9, weakmap_CrossDomainSafeWeakMap = function() { | ||
function CrossDomainSafeWeakMap() { | ||
_classCallCheck(this, CrossDomainSafeWeakMap); | ||
!function(instance, Constructor) { | ||
if (!(instance instanceof CrossDomainSafeWeakMap)) throw new TypeError("Cannot call a class as a function"); | ||
}(this); | ||
counter += 1; | ||
this.name = "__weakmap_" + (1e9 * Math.random() >>> 0) + "__" + counter; | ||
if ((0, _native.hasNativeWeakMap)()) try { | ||
if (function() { | ||
if (!window.WeakMap) return !1; | ||
if (!window.Object.freeze) return !1; | ||
try { | ||
var testWeakMap = new window.WeakMap(), testKey = {}; | ||
window.Object.freeze(testKey); | ||
testWeakMap.set(testKey, "__testvalue__"); | ||
return "__testvalue__" === testWeakMap.get(testKey); | ||
} catch (err) { | ||
return !1; | ||
} | ||
}()) try { | ||
this.weakmap = new window.WeakMap(); | ||
@@ -719,115 +245,112 @@ } catch (err) {} | ||
} | ||
_createClass(CrossDomainSafeWeakMap, [ { | ||
key: "_cleanupClosedWindows", | ||
value: function() { | ||
for (var weakmap = this.weakmap, keys = this.keys, i = 0; i < keys.length; i++) { | ||
var value = keys[i]; | ||
if ((0, _src.isWindow)(value) && (0, _src.isWindowClosed)(value)) { | ||
if (weakmap) try { | ||
weakmap.delete(value); | ||
} catch (err) {} | ||
keys.splice(i, 1); | ||
this.values.splice(i, 1); | ||
i -= 1; | ||
} | ||
CrossDomainSafeWeakMap.prototype._cleanupClosedWindows = function() { | ||
for (var weakmap = this.weakmap, keys = this.keys, i = 0; i < keys.length; i++) { | ||
var value = keys[i]; | ||
if (Object(src.isWindow)(value) && Object(src.isWindowClosed)(value)) { | ||
if (weakmap) try { | ||
weakmap.delete(value); | ||
} catch (err) {} | ||
keys.splice(i, 1); | ||
this.values.splice(i, 1); | ||
i -= 1; | ||
} | ||
} | ||
}, { | ||
key: "isSafeToReadWrite", | ||
value: function(key) { | ||
if ((0, _src.isWindow)(key)) return !1; | ||
try { | ||
(0, _util.noop)(key && key.self); | ||
(0, _util.noop)(key && key[this.name]); | ||
} catch (err) { | ||
return !1; | ||
} | ||
return !0; | ||
}; | ||
CrossDomainSafeWeakMap.prototype.isSafeToReadWrite = function(key) { | ||
if (Object(src.isWindow)(key)) return !1; | ||
try { | ||
key && key.self; | ||
key && key[this.name]; | ||
} catch (err) { | ||
return !1; | ||
} | ||
}, { | ||
key: "set", | ||
value: function(key, value) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
weakmap.set(key, value); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
if (this.isSafeToReadWrite(key)) { | ||
var name = this.name, entry = key[name]; | ||
entry && entry[0] === key ? entry[1] = value : defineProperty(key, name, { | ||
value: [ key, value ], | ||
writable: !0 | ||
}); | ||
} else { | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys, values = this.values, index = (0, _util.safeIndexOf)(keys, key); | ||
if (-1 === index) { | ||
keys.push(key); | ||
values.push(value); | ||
} else values[index] = value; | ||
} | ||
return !0; | ||
}; | ||
CrossDomainSafeWeakMap.prototype.set = function(key, value) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
weakmap.set(key, value); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
}, { | ||
key: "get", | ||
value: function(key) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
if (weakmap.has(key)) return weakmap.get(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
if (!this.isSafeToReadWrite(key)) { | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys, index = (0, _util.safeIndexOf)(keys, key); | ||
if (-1 === index) return; | ||
return this.values[index]; | ||
} | ||
var entry = key[this.name]; | ||
if (entry && entry[0] === key) return entry[1]; | ||
if (this.isSafeToReadWrite(key)) { | ||
var name = this.name, entry = key[name]; | ||
entry && entry[0] === key ? entry[1] = value : defineProperty(key, name, { | ||
value: [ key, value ], | ||
writable: !0 | ||
}); | ||
} else { | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys, values = this.values, index = safeIndexOf(keys, key); | ||
if (-1 === index) { | ||
keys.push(key); | ||
values.push(value); | ||
} else values[index] = value; | ||
} | ||
}, { | ||
key: "delete", | ||
value: function(key) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
weakmap.delete(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
if (this.isSafeToReadWrite(key)) { | ||
var entry = key[this.name]; | ||
entry && entry[0] === key && (entry[0] = entry[1] = void 0); | ||
} else { | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys, index = (0, _util.safeIndexOf)(keys, key); | ||
if (-1 !== index) { | ||
keys.splice(index, 1); | ||
this.values.splice(index, 1); | ||
} | ||
} | ||
}; | ||
CrossDomainSafeWeakMap.prototype.get = function(key) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
if (weakmap.has(key)) return weakmap.get(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
}, { | ||
key: "has", | ||
value: function(key) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
return weakmap.has(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
if (this.isSafeToReadWrite(key)) { | ||
var entry = key[this.name]; | ||
return !(!entry || entry[0] !== key); | ||
} | ||
if (!this.isSafeToReadWrite(key)) { | ||
this._cleanupClosedWindows(); | ||
return -1 !== (0, _util.safeIndexOf)(this.keys, key); | ||
var index = safeIndexOf(this.keys, key); | ||
if (-1 === index) return; | ||
return this.values[index]; | ||
} | ||
} ]); | ||
var entry = key[this.name]; | ||
if (entry && entry[0] === key) return entry[1]; | ||
}; | ||
CrossDomainSafeWeakMap.prototype.delete = function(key) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
weakmap.delete(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
if (this.isSafeToReadWrite(key)) { | ||
var entry = key[this.name]; | ||
entry && entry[0] === key && (entry[0] = entry[1] = void 0); | ||
} else { | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys, index = safeIndexOf(keys, key); | ||
if (-1 !== index) { | ||
keys.splice(index, 1); | ||
this.values.splice(index, 1); | ||
} | ||
} | ||
}; | ||
CrossDomainSafeWeakMap.prototype.has = function(key) { | ||
if (!key) throw new Error("WeakMap expected key"); | ||
var weakmap = this.weakmap; | ||
if (weakmap) try { | ||
return weakmap.has(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
if (this.isSafeToReadWrite(key)) { | ||
var entry = key[this.name]; | ||
return !(!entry || entry[0] !== key); | ||
} | ||
this._cleanupClosedWindows(); | ||
return -1 !== safeIndexOf(this.keys, key); | ||
}; | ||
CrossDomainSafeWeakMap.prototype.getOrSet = function(key, getter) { | ||
if (this.has(key)) return this.get(key); | ||
var value = getter(); | ||
this.set(key, value); | ||
return value; | ||
}; | ||
return CrossDomainSafeWeakMap; | ||
}(); | ||
__webpack_require__.d(__webpack_exports__, "WeakMap", function() { | ||
return weakmap_CrossDomainSafeWeakMap; | ||
}); | ||
__webpack_exports__.default = interface_namespaceObject; | ||
} | ||
@@ -834,0 +357,0 @@ }); |
@@ -1,3 +0,3 @@ | ||
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define("xdsweakmap",[],r):"object"==typeof exports?exports.xdsweakmap=r():e.xdsweakmap=r()}("undefined"!=typeof self?self:this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}var t={};return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},r.p="",r(r.s="./src/index.js")}({"./node_modules/cross-domain-utils/src/index.js":function(e,r,t){"use strict";function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).location.protocol===H.FILE_PROTOCOL}function i(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).location.protocol===H.ABOUT_PROTOCOL}function o(e){if(e)try{if(e.parent&&e.parent!==e)return e.parent}catch(e){}}function a(e){if(e&&!o(e))try{return e.opener}catch(e){}}function u(e){try{return(0,G.noop)(e&&e.location&&e.location.href),!0}catch(e){}return!1}function c(e){var r=e.location;if(!r)throw new Error("Can not read window location");var t=r.protocol;if(!t)throw new Error("Can not read window protocol");if(t===H.FILE_PROTOCOL)return H.FILE_PROTOCOL+"//";if(t===H.ABOUT_PROTOCOL){var n=o(e);return n&&u(e)?c(n):H.ABOUT_PROTOCOL+"//"}var i=r.host;if(!i)throw new Error("Can not read window host");return t+"//"+i}function f(e){e=e||window;var r=c(e);return r&&e.mockDomain&&0===e.mockDomain.indexOf(H.MOCK_PROTOCOL)?e.mockDomain:r}function s(e){try{if(!e.location.href)return!0;if("about:blank"===e.location.href)return!0}catch(e){}return!1}function l(e){try{if(e===window)return!0}catch(e){}try{var r=Object.getOwnPropertyDescriptor(e,"location");if(r&&!1===r.enumerable)return!1}catch(e){}try{if(i(e)&&u(e))return!0}catch(e){}try{if(c(e)===c(window))return!0}catch(e){}return!1}function d(e){if(!l(e))return!1;try{if(e===window)return!0;if(i(e)&&u(e))return!0;if(f(window)===f(e))return!0}catch(e){}return!1}function h(e){var r=[];try{for(;e.parent!==e;)r.push(e.parent),e=e.parent}catch(e){}return r}function p(e,r){if(!e||!r)return!1;var t=o(r);return t?t===e:-1!==h(r).indexOf(e)}function v(e){var r=[],t=void 0;try{t=e.frames}catch(r){t=e}var n=void 0;try{n=t.length}catch(e){}if(0===n)return r;if(n){for(var i=0;i<n;i++){var o=void 0;try{o=t[i]}catch(e){continue}r.push(o)}return r}for(var a=0;a<100;a++){var u=void 0;try{u=t[a]}catch(e){return r}if(!u)return r;r.push(u)}return r}function y(e){for(var r=[],t=v(e),n=Array.isArray(t),i=0,t=n?t:t[Symbol.iterator]();;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if(i=t.next(),i.done)break;o=i.value}var a=o;r.push(a);for(var u=y(a),c=Array.isArray(u),f=0,u=c?u:u[Symbol.iterator]();;){var s;if(c){if(f>=u.length)break;s=u[f++]}else{if(f=u.next(),f.done)break;s=f.value}var l=s;r.push(l)}}return r}function w(e){if(e){try{if(e.top)return e.top}catch(e){}if(o(e)===e)return e;try{if(p(window,e)&&window.top)return window.top}catch(e){}try{if(p(e,window)&&window.top)return window.top}catch(e){}for(var r=y(e),t=Array.isArray(r),n=0,r=t?r:r[Symbol.iterator]();;){var i;if(t){if(n>=r.length)break;i=r[n++]}else{if(n=r.next(),n.done)break;i=n.value}var a=i;try{if(a.top)return a.top}catch(e){}if(o(a)===a)return a}}}function m(e){var r=w(e);return y(r).concat(r)}function g(e){return e===w(e)}function k(e){if(!e.contentWindow)return!0;if(!e.parentNode)return!0;var r=e.ownerDocument;return!(!r||!r.body||r.body.contains(e))}function O(e,r){for(var t=0;t<e.length;t++)try{if(e[t]===r)return t}catch(e){}return-1}function b(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];try{if(e===window)return!1}catch(e){return!0}try{if(!e)return!0}catch(e){return!0}try{if(e.closed)return!0}catch(e){return!e||e.message!==Q}if(r&&d(e))try{if(e.mockclosed)return!0}catch(e){}try{if(!e.parent||!e.top)return!0}catch(e){}try{(0,G.noop)(e===e)}catch(e){return!0}var t=O(V,e);if(-1!==t){var n=X[t];if(n&&k(n))return!0}return!1}function _(){for(var e=0;e<X.length;e++)k(X[e])&&(X.splice(e,1),V.splice(e,1));for(var r=0;r<V.length;r++)b(V[r])&&(X.splice(r,1),V.splice(r,1))}function x(e){if(_(),e&&e.contentWindow)try{V.push(e.contentWindow),X.push(e)}catch(e){}}function A(e){return e=e||window,e.navigator.mockUserAgent||e.navigator.userAgent}function W(e,r){for(var t=v(e),n=t,i=Array.isArray(n),o=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(o>=n.length)break;a=n[o++]}else{if(o=n.next(),o.done)break;a=o.value}var u=a;try{if(d(u)&&u.name===r&&-1!==t.indexOf(u))return u}catch(e){}}try{if(-1!==t.indexOf(e.frames[r]))return e.frames[r]}catch(e){}try{if(-1!==t.indexOf(e[r]))return e[r]}catch(e){}}function j(e,r){var t=W(e,r);if(t)return t;for(var n=v(e),i=Array.isArray(n),o=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(o>=n.length)break;a=n[o++]}else{if(o=n.next(),o.done)break;a=o.value}var u=a,c=j(u,r);if(c)return c}}function P(e,r){var t=void 0;return(t=W(e,r))?t:j(w(e)||e,r)}function C(e,r){var t=o(r);if(t)return t===e;for(var n=v(e),i=Array.isArray(n),a=0,n=i?n:n[Symbol.iterator]();;){var u;if(i){if(a>=n.length)break;u=n[a++]}else{if(a=n.next(),a.done)break;u=a.value}if(u===r)return!0}return!1}function T(e,r){return e===a(r)}function M(e){e=e||window;var r=a(e);if(r)return r;var t=o(e);return t||void 0}function S(e){for(var r=[],t=e;t;)(t=M(t))&&r.push(t);return r}function R(e,r){var t=M(r);if(t)return t===e;if(r===e)return!1;if(w(r)===r)return!1;for(var n=v(e),i=Array.isArray(n),o=0,n=i?n:n[Symbol.iterator]();;){var a;if(i){if(o>=n.length)break;a=n[o++]}else{if(o=n.next(),o.done)break;a=o.value}if(a===r)return!0}return!1}function D(){return Boolean(a(window))}function F(){return Boolean(o(window))}function L(){return Boolean(!F()&&!D())}function E(e,r){for(var t=e,n=Array.isArray(t),i=0,t=n?t:t[Symbol.iterator]();;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if(i=t.next(),i.done)break;o=i.value}for(var a=o,u=r,c=Array.isArray(u),f=0,u=c?u:u[Symbol.iterator]();;){var s;if(c){if(f>=u.length)break;s=u[f++]}else{if(f=u.next(),f.done)break;s=f.value}if(a===s)return!0}}return!1}function I(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window,r=0,t=e;t;)(t=o(t))&&(r+=1);return r}function B(e){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=e,n=0;n<r;n++){if(!t)return;t=o(t)}return t}function N(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return B(e,I(e)-r)}function U(e,r){var t=w(e)||e,n=w(r)||r;try{if(t&&n)return t===n}catch(e){}var i=m(e),o=m(r);if(E(i,o))return!0;var u=a(t),c=a(n);return(!u||!E(m(u),o))&&(c&&E(m(c),i),!1)}function z(e,r){if("string"==typeof e){if("string"==typeof r)return e===H.WILDCARD||r===e;if((0,G.isRegex)(r))return!1;if(Array.isArray(r))return!1}return(0,G.isRegex)(e)?(0,G.isRegex)(r)?e.toString()===r.toString():!Array.isArray(r)&&Boolean(r.match(e)):!!Array.isArray(e)&&(Array.isArray(r)?JSON.stringify(e)===JSON.stringify(r):!(0,G.isRegex)(r)&&e.some(function(e){return z(e,r)}))}function J(e){var r=void 0;return e.match(/^(https?|mock|file):\/\//)?(r=e,r=r.split("/").slice(0,3).join("/")):f()}function K(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0,i=void 0;return function o(){if(b(e))return i&&clearTimeout(i),r();n<=0?clearTimeout(i):(n-=t,i=setTimeout(o,t))}(),{cancel:function(){i&&clearTimeout(i)}}}function q(e){try{if(e===window)return!0}catch(e){if(e&&e.message===Q)return!0}try{if("[object Window]"===Object.prototype.toString.call(e))return!0}catch(e){if(e&&e.message===Q)return!0}try{if(window.Window&&e instanceof window.Window)return!0}catch(e){if(e&&e.message===Q)return!0}try{if(e&&e.self===e)return!0}catch(e){if(e&&e.message===Q)return!0}try{if(e&&e.parent===e)return!0}catch(e){if(e&&e.message===Q)return!0}try{if(e&&e.top===e)return!0}catch(e){if(e&&e.message===Q)return!0}try{(0,G.noop)(e===e)}catch(e){return!0}try{(0,G.noop)(e&&e.__cross_domain_utils_window_check__)}catch(e){return!0}return!1}Object.defineProperty(r,"__esModule",{value:!0}),r.isFileProtocol=n,r.isAboutProtocol=i,r.getParent=o,r.getOpener=a,r.canReadFromWindow=u,r.getActualDomain=c,r.getDomain=f,r.isBlankDomain=s,r.isActuallySameDomain=l,r.isSameDomain=d,r.getParents=h,r.isAncestorParent=p,r.getFrames=v,r.getAllChildFrames=y,r.getTop=w,r.getAllFramesInWindow=m,r.isTop=g,r.isFrameWindowClosed=k,r.isWindowClosed=b,r.linkFrameWindow=x,r.getUserAgent=A,r.getFrameByName=W,r.findChildFrameByName=j,r.findFrameByName=P,r.isParent=C,r.isOpener=T,r.getAncestor=M,r.getAncestors=S,r.isAncestor=R,r.isPopup=D,r.isIframe=F,r.isFullpage=L,r.getDistanceFromTop=I,r.getNthParent=B,r.getNthParentFromTop=N,r.isSameTopWindow=U,r.matchDomain=z,r.getDomainFromUrl=J,r.onCloseWindow=K,r.isWindow=q;var G=t("./node_modules/cross-domain-utils/src/util.js"),H={MOCK_PROTOCOL:"mock:",FILE_PROTOCOL:"file:",ABOUT_PROTOCOL:"about:",WILDCARD:"*"},Q="Call was rejected by callee.\r\n",V=[],X=[]},"./node_modules/cross-domain-utils/src/util.js":function(e,r,t){"use strict";function n(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function i(){}Object.defineProperty(r,"__esModule",{value:!0}),r.isRegex=n,r.noop=i},"./src/index.js":function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("./src/interface.js");Object.keys(n).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(r,e,{enumerable:!0,get:function(){return n[e]}})});var i=function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r}(n);r.default=i},"./src/interface.js":function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("./src/weakmap.js");Object.defineProperty(r,"WeakMap",{enumerable:!0,get:function(){return n.CrossDomainSafeWeakMap}})},"./src/native.js":function(e,r,t){"use strict";function n(){if(!window.WeakMap)return!1;if(!window.Object.freeze)return!1;try{var e=new window.WeakMap,r={};return window.Object.freeze(r),e.set(r,"__testvalue__"),"__testvalue__"===e.get(r)}catch(e){return!1}}Object.defineProperty(r,"__esModule",{value:!0}),r.hasNativeWeakMap=n},"./src/util.js":function(e,r,t){"use strict";function n(e,r){for(var t=0;t<e.length;t++)try{if(e[t]===r)return t}catch(e){}return-1}function i(){}Object.defineProperty(r,"__esModule",{value:!0}),r.safeIndexOf=n,r.noop=i},"./src/weakmap.js":function(e,r,t){"use strict";function n(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(r,"__esModule",{value:!0}),r.CrossDomainSafeWeakMap=void 0;var i=function(){function e(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(r,t,n){return t&&e(r.prototype,t),n&&e(r,n),r}}(),o=t("./node_modules/cross-domain-utils/src/index.js"),a=t("./src/native.js"),u=t("./src/util.js"),c=Object.defineProperty,f=Date.now()%1e9;r.CrossDomainSafeWeakMap=function(){function e(){if(n(this,e),f+=1,this.name="__weakmap_"+(1e9*Math.random()>>>0)+"__"+f,(0,a.hasNativeWeakMap)())try{this.weakmap=new window.WeakMap}catch(e){}this.keys=[],this.values=[]}return i(e,[{key:"_cleanupClosedWindows",value:function(){for(var e=this.weakmap,r=this.keys,t=0;t<r.length;t++){var n=r[t];if((0,o.isWindow)(n)&&(0,o.isWindowClosed)(n)){if(e)try{e.delete(n)}catch(e){}r.splice(t,1),this.values.splice(t,1),t-=1}}}},{key:"isSafeToReadWrite",value:function(e){if((0,o.isWindow)(e))return!1;try{(0,u.noop)(e&&e.self),(0,u.noop)(e&&e[this.name])}catch(e){return!1}return!0}},{key:"set",value:function(e,r){if(!e)throw new Error("WeakMap expected key");var t=this.weakmap;if(t)try{t.set(e,r)}catch(e){delete this.weakmap}if(this.isSafeToReadWrite(e)){var n=this.name,i=e[n];i&&i[0]===e?i[1]=r:c(e,n,{value:[e,r],writable:!0})}else{this._cleanupClosedWindows();var o=this.keys,a=this.values,f=(0,u.safeIndexOf)(o,e);-1===f?(o.push(e),a.push(r)):a[f]=r}}},{key:"get",value:function(e){if(!e)throw new Error("WeakMap expected key");var r=this.weakmap;if(r)try{if(r.has(e))return r.get(e)}catch(e){delete this.weakmap}if(!this.isSafeToReadWrite(e)){this._cleanupClosedWindows();var t=this.keys,n=(0,u.safeIndexOf)(t,e);if(-1===n)return;return this.values[n]}var i=e[this.name];if(i&&i[0]===e)return i[1]}},{key:"delete",value:function(e){if(!e)throw new Error("WeakMap expected key");var r=this.weakmap;if(r)try{r.delete(e)}catch(e){delete this.weakmap}if(this.isSafeToReadWrite(e)){var t=e[this.name];t&&t[0]===e&&(t[0]=t[1]=void 0)}else{this._cleanupClosedWindows();var n=this.keys,i=(0,u.safeIndexOf)(n,e);-1!==i&&(n.splice(i,1),this.values.splice(i,1))}}},{key:"has",value:function(e){if(!e)throw new Error("WeakMap expected key");var r=this.weakmap;if(r)try{return r.has(e)}catch(e){delete this.weakmap}if(this.isSafeToReadWrite(e)){var t=e[this.name];return!(!t||t[0]!==e)}return this._cleanupClosedWindows(),-1!==(0,u.safeIndexOf)(this.keys,e)}}]),e}()}})}); | ||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("xdsweakmap",[],e):"object"==typeof exports?exports.xdsweakmap=e():t.xdsweakmap=e()}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={};r.d(n,"WeakMap",function(){return u});var i=r(1);function o(t,e){for(var r=0;r<t.length;r++)try{if(t[r]===e)return r}catch(t){}return-1}var a=Object.defineProperty,c=Date.now()%1e9,u=function(){function t(){if(function(e,r){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this),c+=1,this.name="__weakmap_"+(1e9*Math.random()>>>0)+"__"+c,function(){if(!window.WeakMap)return!1;if(!window.Object.freeze)return!1;try{var t=new window.WeakMap,e={};return window.Object.freeze(e),t.set(e,"__testvalue__"),"__testvalue__"===t.get(e)}catch(t){return!1}}())try{this.weakmap=new window.WeakMap}catch(t){}this.keys=[],this.values=[]}return t.prototype._cleanupClosedWindows=function(){for(var t=this.weakmap,e=this.keys,r=0;r<e.length;r++){var n=e[r];if(Object(i.isWindow)(n)&&Object(i.isWindowClosed)(n)){if(t)try{t.delete(n)}catch(t){}e.splice(r,1),this.values.splice(r,1),r-=1}}},t.prototype.isSafeToReadWrite=function(t){if(Object(i.isWindow)(t))return!1;try{t&&t.self,t&&t[this.name]}catch(t){return!1}return!0},t.prototype.set=function(t,e){if(!t)throw new Error("WeakMap expected key");var r=this.weakmap;if(r)try{r.set(t,e)}catch(t){delete this.weakmap}if(this.isSafeToReadWrite(t)){var n=this.name,i=t[n];i&&i[0]===t?i[1]=e:a(t,n,{value:[t,e],writable:!0})}else{this._cleanupClosedWindows();var c=this.keys,u=this.values,s=o(c,t);-1===s?(c.push(t),u.push(e)):u[s]=e}},t.prototype.get=function(t){if(!t)throw new Error("WeakMap expected key");var e=this.weakmap;if(e)try{if(e.has(t))return e.get(t)}catch(t){delete this.weakmap}if(!this.isSafeToReadWrite(t)){this._cleanupClosedWindows();var r=o(this.keys,t);if(-1===r)return;return this.values[r]}var n=t[this.name];if(n&&n[0]===t)return n[1]},t.prototype.delete=function(t){if(!t)throw new Error("WeakMap expected key");var e=this.weakmap;if(e)try{e.delete(t)}catch(t){delete this.weakmap}if(this.isSafeToReadWrite(t)){var r=t[this.name];r&&r[0]===t&&(r[0]=r[1]=void 0)}else{this._cleanupClosedWindows();var n=this.keys,i=o(n,t);-1!==i&&(n.splice(i,1),this.values.splice(i,1))}},t.prototype.has=function(t){if(!t)throw new Error("WeakMap expected key");var e=this.weakmap;if(e)try{return e.has(t)}catch(t){delete this.weakmap}if(this.isSafeToReadWrite(t)){var r=t[this.name];return!(!r||r[0]!==t)}return this._cleanupClosedWindows(),-1!==o(this.keys,t)},t.prototype.getOrSet=function(t,e){if(this.has(t))return this.get(t);var r=e();return this.set(t,r),r},t}();r.d(e,"WeakMap",function(){return u}),e.default=n},function(t,e,r){"use strict";var n=r(2);r.d(e,"isWindow",function(){return n.a}),r.d(e,"isWindowClosed",function(){return n.b});var i=r(3);r.n(i)},function(t,e,r){"use strict";e.b=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];try{if(t===window)return!1}catch(t){return!0}try{if(!t)return!0}catch(t){return!0}try{if(t.closed)return!0}catch(t){return!t||t.message!==i}if(e&&function(t){if(!function(t){try{if(t===window)return!0}catch(t){}try{var e=Object.getOwnPropertyDescriptor(t,"location");if(e&&!1===e.enumerable)return!1}catch(t){}try{if(o(t)&&a(t))return!0}catch(t){}try{if(c(t)===c(window))return!0}catch(t){}return!1}(t))return!1;try{if(t===window)return!0;if(o(t)&&a(t))return!0;if(u(window)===u(t))return!0}catch(t){}return!1}(t))try{if(t.mockclosed)return!0}catch(t){}try{if(!t.parent||!t.top)return!0}catch(t){}var r=function(t,e){for(var r=0;r<t.length;r++)try{if(t[r]===e)return r}catch(t){}return-1}(s,t);if(-1!==r){var n=f[r];if(n&&function(t){if(!t.contentWindow)return!0;if(!t.parentNode)return!0;var e=t.ownerDocument;return!(!e||!e.body||e.body.contains(t))}(n))return!0}return!1},e.a=function(t){try{if(t===window)return!0}catch(t){if(t&&t.message===i)return!0}try{if("[object Window]"===Object.prototype.toString.call(t))return!0}catch(t){if(t&&t.message===i)return!0}try{if(window.Window&&t instanceof window.Window)return!0}catch(t){if(t&&t.message===i)return!0}try{if(t&&t.self===t)return!0}catch(t){if(t&&t.message===i)return!0}try{if(t&&t.parent===t)return!0}catch(t){if(t&&t.message===i)return!0}try{if(t&&t.top===t)return!0}catch(t){if(t&&t.message===i)return!0}try{t&&t.__cross_domain_utils_window_check__}catch(t){return!0}return!1};var n={MOCK_PROTOCOL:"mock:",FILE_PROTOCOL:"file:",ABOUT_PROTOCOL:"about:",WILDCARD:"*"},i="Call was rejected by callee.\r\n";function o(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window).location.protocol===n.ABOUT_PROTOCOL}function a(t){try{return t&&t.location&&t.location.href,!0}catch(t){}return!1}function c(t){var e=(t=t||window).location;if(!e)throw new Error("Can not read window location");var r=e.protocol;if(!r)throw new Error("Can not read window protocol");if(r===n.FILE_PROTOCOL)return n.FILE_PROTOCOL+"//";if(r===n.ABOUT_PROTOCOL){var i=function(t){if(t)try{if(t.parent&&t.parent!==t)return t.parent}catch(t){}}(t);return i&&a(i)?c(i):n.ABOUT_PROTOCOL+"//"}var o=e.host;if(!o)throw new Error("Can not read window host");return r+"//"+o}function u(t){var e=c(t=t||window);return e&&t.mockDomain&&0===t.mockDomain.indexOf(n.MOCK_PROTOCOL)?t.mockDomain:e}var s=[],f=[]},function(t,e){}])}); | ||
//# sourceMappingURL=cross-domain-safe-weakmap.min.js.map | ||
//# sourceMappingURL=cross-domain-safe-weakmap.min.js.map |
@@ -1,24 +0,7 @@ | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _interface = require('./interface'); | ||
// eslint-disable-next-line import/no-namespace | ||
import * as INTERFACE from './interface'; | ||
Object.keys(_interface).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function get() { | ||
return _interface[key]; | ||
} | ||
}); | ||
}); | ||
var INTERFACE = _interopRequireWildcard(_interface); | ||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } | ||
// eslint-disable-next-line import/no-namespace | ||
exports['default'] = INTERFACE; | ||
export * from './interface'; | ||
export default INTERFACE; |
@@ -1,14 +0,1 @@ | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _weakmap = require('./weakmap'); | ||
Object.defineProperty(exports, 'WeakMap', { | ||
enumerable: true, | ||
get: function get() { | ||
return _weakmap.CrossDomainSafeWeakMap; | ||
} | ||
}); | ||
export { CrossDomainSafeWeakMap as WeakMap } from './weakmap'; |
@@ -1,9 +0,3 @@ | ||
'use strict'; | ||
export function hasNativeWeakMap() { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.hasNativeWeakMap = hasNativeWeakMap; | ||
function hasNativeWeakMap() { | ||
if (!window.WeakMap) { | ||
@@ -10,0 +4,0 @@ return false; |
@@ -1,9 +0,2 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.safeIndexOf = safeIndexOf; | ||
exports.noop = noop; | ||
function safeIndexOf(collection, item) { | ||
export function safeIndexOf(collection, item) { | ||
for (var i = 0; i < collection.length; i++) { | ||
@@ -24,4 +17,4 @@ | ||
// eslint-disable-next-line no-unused-vars | ||
function noop() { | ||
export function noop() { | ||
// pass | ||
} |
@@ -1,22 +0,12 @@ | ||
'use strict'; | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.CrossDomainSafeWeakMap = undefined; | ||
import { isWindow, isWindowClosed } from 'cross-domain-utils/src'; | ||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
import { hasNativeWeakMap } from './native'; | ||
import { noop, safeIndexOf } from './util'; | ||
var _src = require('cross-domain-utils/src'); | ||
var _native = require('./native'); | ||
var _util = require('./util'); | ||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||
var defineProperty = Object.defineProperty; | ||
var counter = Date.now() % 1e9; | ||
var CrossDomainSafeWeakMap = exports.CrossDomainSafeWeakMap = function () { | ||
export var CrossDomainSafeWeakMap = function () { | ||
function CrossDomainSafeWeakMap() { | ||
@@ -30,3 +20,3 @@ _classCallCheck(this, CrossDomainSafeWeakMap); | ||
if ((0, _native.hasNativeWeakMap)()) { | ||
if (hasNativeWeakMap()) { | ||
try { | ||
@@ -43,210 +33,213 @@ this.weakmap = new window.WeakMap(); | ||
_createClass(CrossDomainSafeWeakMap, [{ | ||
key: '_cleanupClosedWindows', | ||
value: function _cleanupClosedWindows() { | ||
CrossDomainSafeWeakMap.prototype._cleanupClosedWindows = function _cleanupClosedWindows() { | ||
var weakmap = this.weakmap; | ||
var keys = this.keys; | ||
var weakmap = this.weakmap; | ||
var keys = this.keys; | ||
for (var i = 0; i < keys.length; i++) { | ||
var value = keys[i]; | ||
for (var i = 0; i < keys.length; i++) { | ||
var value = keys[i]; | ||
if ((0, _src.isWindow)(value) && (0, _src.isWindowClosed)(value)) { | ||
if (isWindow(value) && isWindowClosed(value)) { | ||
if (weakmap) { | ||
try { | ||
weakmap['delete'](value); | ||
} catch (err) { | ||
// pass | ||
} | ||
if (weakmap) { | ||
try { | ||
weakmap['delete'](value); | ||
} catch (err) { | ||
// pass | ||
} | ||
} | ||
keys.splice(i, 1); | ||
this.values.splice(i, 1); | ||
keys.splice(i, 1); | ||
this.values.splice(i, 1); | ||
i -= 1; | ||
} | ||
i -= 1; | ||
} | ||
} | ||
}, { | ||
key: 'isSafeToReadWrite', | ||
value: function isSafeToReadWrite(key) { | ||
}; | ||
if ((0, _src.isWindow)(key)) { | ||
return false; | ||
} | ||
CrossDomainSafeWeakMap.prototype.isSafeToReadWrite = function isSafeToReadWrite(key) { | ||
try { | ||
(0, _util.noop)(key && key.self); | ||
(0, _util.noop)(key && key[this.name]); | ||
} catch (err) { | ||
return false; | ||
} | ||
if (isWindow(key)) { | ||
return false; | ||
} | ||
return true; | ||
try { | ||
noop(key && key.self); | ||
noop(key && key[this.name]); | ||
} catch (err) { | ||
return false; | ||
} | ||
}, { | ||
key: 'set', | ||
value: function set(key, value) { | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
return true; | ||
}; | ||
var weakmap = this.weakmap; | ||
CrossDomainSafeWeakMap.prototype.set = function set(key, value) { | ||
if (weakmap) { | ||
try { | ||
weakmap.set(key, value); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
var weakmap = this.weakmap; | ||
if (weakmap) { | ||
try { | ||
weakmap.set(key, value); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
} | ||
if (!this.isSafeToReadWrite(key)) { | ||
if (!this.isSafeToReadWrite(key)) { | ||
this._cleanupClosedWindows(); | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys; | ||
var values = this.values; | ||
var index = (0, _util.safeIndexOf)(keys, key); | ||
var keys = this.keys; | ||
var values = this.values; | ||
var index = safeIndexOf(keys, key); | ||
if (index === -1) { | ||
keys.push(key); | ||
values.push(value); | ||
} else { | ||
values[index] = value; | ||
} | ||
if (index === -1) { | ||
keys.push(key); | ||
values.push(value); | ||
} else { | ||
values[index] = value; | ||
} | ||
} else { | ||
var name = this.name; | ||
var entry = key[name]; | ||
var name = this.name; | ||
var entry = key[name]; | ||
if (entry && entry[0] === key) { | ||
entry[1] = value; | ||
} else { | ||
defineProperty(key, name, { | ||
value: [key, value], | ||
writable: true | ||
}); | ||
} | ||
if (entry && entry[0] === key) { | ||
entry[1] = value; | ||
} else { | ||
defineProperty(key, name, { | ||
value: [key, value], | ||
writable: true | ||
}); | ||
} | ||
} | ||
}, { | ||
key: 'get', | ||
value: function get(key) { | ||
}; | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
CrossDomainSafeWeakMap.prototype.get = function get(key) { | ||
var weakmap = this.weakmap; | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
if (weakmap) { | ||
try { | ||
if (weakmap.has(key)) { | ||
return weakmap.get(key); | ||
} | ||
} catch (err) { | ||
delete this.weakmap; | ||
var weakmap = this.weakmap; | ||
if (weakmap) { | ||
try { | ||
if (weakmap.has(key)) { | ||
return weakmap.get(key); | ||
} | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
} | ||
if (!this.isSafeToReadWrite(key)) { | ||
if (!this.isSafeToReadWrite(key)) { | ||
this._cleanupClosedWindows(); | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys; | ||
var index = (0, _util.safeIndexOf)(keys, key); | ||
var keys = this.keys; | ||
var index = safeIndexOf(keys, key); | ||
if (index === -1) { | ||
return; | ||
} | ||
if (index === -1) { | ||
return; | ||
} | ||
return this.values[index]; | ||
} else { | ||
return this.values[index]; | ||
} else { | ||
var entry = key[this.name]; | ||
var entry = key[this.name]; | ||
if (entry && entry[0] === key) { | ||
return entry[1]; | ||
} | ||
if (entry && entry[0] === key) { | ||
return entry[1]; | ||
} | ||
} | ||
}, { | ||
key: 'delete', | ||
value: function _delete(key) { | ||
}; | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
CrossDomainSafeWeakMap.prototype['delete'] = function _delete(key) { | ||
var weakmap = this.weakmap; | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
if (weakmap) { | ||
try { | ||
weakmap['delete'](key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
var weakmap = this.weakmap; | ||
if (weakmap) { | ||
try { | ||
weakmap['delete'](key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
} | ||
if (!this.isSafeToReadWrite(key)) { | ||
if (!this.isSafeToReadWrite(key)) { | ||
this._cleanupClosedWindows(); | ||
this._cleanupClosedWindows(); | ||
var keys = this.keys; | ||
var index = (0, _util.safeIndexOf)(keys, key); | ||
var keys = this.keys; | ||
var index = safeIndexOf(keys, key); | ||
if (index !== -1) { | ||
keys.splice(index, 1); | ||
this.values.splice(index, 1); | ||
} | ||
} else { | ||
if (index !== -1) { | ||
keys.splice(index, 1); | ||
this.values.splice(index, 1); | ||
} | ||
} else { | ||
var entry = key[this.name]; | ||
var entry = key[this.name]; | ||
if (entry && entry[0] === key) { | ||
entry[0] = entry[1] = undefined; | ||
} | ||
if (entry && entry[0] === key) { | ||
entry[0] = entry[1] = undefined; | ||
} | ||
} | ||
}, { | ||
key: 'has', | ||
value: function has(key) { | ||
}; | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
CrossDomainSafeWeakMap.prototype.has = function has(key) { | ||
var weakmap = this.weakmap; | ||
if (!key) { | ||
throw new Error('WeakMap expected key'); | ||
} | ||
if (weakmap) { | ||
try { | ||
return weakmap.has(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
var weakmap = this.weakmap; | ||
if (weakmap) { | ||
try { | ||
return weakmap.has(key); | ||
} catch (err) { | ||
delete this.weakmap; | ||
} | ||
} | ||
if (!this.isSafeToReadWrite(key)) { | ||
if (!this.isSafeToReadWrite(key)) { | ||
this._cleanupClosedWindows(); | ||
this._cleanupClosedWindows(); | ||
var index = (0, _util.safeIndexOf)(this.keys, key); | ||
return index !== -1; | ||
} else { | ||
var index = safeIndexOf(this.keys, key); | ||
return index !== -1; | ||
} else { | ||
var entry = key[this.name]; | ||
var entry = key[this.name]; | ||
if (entry && entry[0] === key) { | ||
return true; | ||
} | ||
if (entry && entry[0] === key) { | ||
return true; | ||
} | ||
return false; | ||
} | ||
return false; | ||
} | ||
}]); | ||
}; | ||
CrossDomainSafeWeakMap.prototype.getOrSet = function getOrSet(key, getter) { | ||
if (this.has(key)) { | ||
// $FlowFixMe | ||
return this.get(key); | ||
} | ||
var value = getter(); | ||
this.set(key, value); | ||
return value; | ||
}; | ||
return CrossDomainSafeWeakMap; | ||
}(); |
{ | ||
"name": "cross-domain-safe-weakmap", | ||
"version": "1.0.20", | ||
"version": "1.0.21", | ||
"description": "Cross domain safe WeakMap.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -238,2 +238,13 @@ /* @flow */ | ||
} | ||
getOrSet(key : K, getter : () => V) : V { | ||
if (this.has(key)) { | ||
// $FlowFixMe | ||
return this.get(key); | ||
} | ||
let value = getter(); | ||
this.set(key, value); | ||
return value; | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
50735
822