Socket
Socket
Sign inDemoInstall

cross-domain-safe-weakmap

Package Overview
Dependencies
0
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.5 to 1.0.6

34

dist/cross-domain-safe-weakmap.js

@@ -110,2 +110,19 @@ (function webpackUniversalModuleDefinition(root, factory) {

_createClass(WeakMap, [ {
key: "_cleanupClosedWindows",
value: function _cleanupClosedWindows() {
var weakmap = this.weakmap;
var keys = this.keys;
for (var i = 0; i < keys.length; i++) {
var value = keys[i];
if ((0, _util.isClosedWindow)(value)) {
if (weakmap) {
weakmap["delete"](value);
}
keys.splice(i, 1);
this.values.splice(i, 1);
i -= 1;
}
}
}
}, {
key: "set",

@@ -122,2 +139,3 @@ value: function set(key, value) {

if ((0, _util.isWindow)(key)) {
this._cleanupClosedWindows();
var keys = this.keys;

@@ -184,2 +202,3 @@ var values = this.values;

if ((0, _util.isWindow)(key)) {
this._cleanupClosedWindows();
var keys = this.keys;

@@ -210,2 +229,3 @@ var index = keys.indexOf(key);

if ((0, _util.isWindow)(key)) {
this._cleanupClosedWindows();
return this.keys.indexOf(key) !== -1;

@@ -230,2 +250,3 @@ } else {

exports.isWindow = isWindow;
exports.isClosedWindow = isClosedWindow;
function isWindow(obj) {

@@ -239,2 +260,15 @@ try {

}
function isClosedWindow(obj) {
try {
if (obj && obj !== window && obj.closed) {
return true;
}
} catch (err) {
if (err && err.message === "Call was rejected by callee.\r\n") {
return false;
}
return true;
}
return false;
}
},

@@ -241,0 +275,0 @@ "./src/native.js": function(module, exports) {

2

dist/cross-domain-safe-weakmap.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("xdsweakmap",[],t):"object"==typeof exports?exports.xdsweakmap=t():e.xdsweakmap=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={exports:{},id:n,loaded:!1};return e[n].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}Object.defineProperty(t,"__esModule",{value:!0});var a=r(1);Object.keys(a).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}})});var i=n(a);t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2);Object.defineProperty(t,"WeakMap",{enumerable:!0,get:function(){return n.WeakMap}})},function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.WeakMap=void 0;var a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),i=r(3),u=r(4),o=Object.defineProperty,s=Date.now()%1e9;t.WeakMap=function(){function e(){n(this,e),s+=1,this.name="__weakmap_"+(1e9*Math.random()>>>0)+"__"+s,(0,u.hasNativeWeakMap)()&&(this.weakmap=new window.WeakMap),this.keys=[],this.values=[]}return a(e,[{key:"set",value:function(e,t){var r=this.weakmap;if(r)try{r.set(e,t)}catch(e){delete this.weakmap}if((0,i.isWindow)(e)){var n=this.keys,a=this.values,u=n.indexOf(e);u===-1?(n.push(e),a.push(t)):a[u]=t}else{var s=this.name,f=e[s];f&&f[0]===e?f[1]=t:o(e,s,{value:[e,t],writable:!0})}}},{key:"get",value:function(e){var t=this.weakmap;if(t)try{if(t.has(e))return t.get(e)}catch(e){delete this.weakmap}if((0,i.isWindow)(e)){var r=this.keys,n=r.indexOf(e);if(n===-1)return;return this.values[n]}var a=e[this.name];if(a&&a[0]===e)return a[1]}},{key:"delete",value:function(e){var t=this.weakmap;if(t)try{t.delete(e)}catch(e){delete this.weakmap}if((0,i.isWindow)(e)){var r=this.keys,n=r.indexOf(e);n!==-1&&(r.splice(n,1),this.values.splice(n,1))}else{var a=e[this.name];a&&a[0]===e&&(a[0]=a[1]=void 0)}}},{key:"has",value:function(e){var t=this.weakmap;if(t)try{return t.has(e)}catch(e){delete this.weakmap}if((0,i.isWindow)(e))return this.keys.indexOf(e)!==-1;var r=e[this.name];return!(!r||r[0]!==e)}}]),e}()},function(e,t){"use strict";function r(e){try{if(e&&e.self===e)return!0}catch(e){}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.isWindow=r},function(e,t){"use strict";function r(){if(!window.WeakMap)return!1;if(!window.Object.freeze)return!1;try{var e=new window.WeakMap,t={},r="__testvalue__";return window.Object.freeze(t),e.set(t,r),e.get(t)===r}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.hasNativeWeakMap=r}])});
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("xdsweakmap",[],t):"object"==typeof exports?exports.xdsweakmap=t():e.xdsweakmap=t()}(this,function(){return function(e){function t(a){if(n[a])return n[a].exports;var r=n[a]={exports:{},id:a,loaded:!1};return e[a].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,"__esModule",{value:!0});var r=n(1);Object.keys(r).forEach(function(e){"default"!==e&&"__esModule"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}})});var i=a(r);t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(2);Object.defineProperty(t,"WeakMap",{enumerable:!0,get:function(){return a.WeakMap}})},function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.WeakMap=void 0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}(),i=n(3),s=n(4),o=Object.defineProperty,u=Date.now()%1e9;t.WeakMap=function(){function e(){a(this,e),u+=1,this.name="__weakmap_"+(1e9*Math.random()>>>0)+"__"+u,(0,s.hasNativeWeakMap)()&&(this.weakmap=new window.WeakMap),this.keys=[],this.values=[]}return r(e,[{key:"_cleanupClosedWindows",value:function(){for(var e=this.weakmap,t=this.keys,n=0;n<t.length;n++){var a=t[n];(0,i.isClosedWindow)(a)&&(e&&e.delete(a),t.splice(n,1),this.values.splice(n,1),n-=1)}}},{key:"set",value:function(e,t){var n=this.weakmap;if(n)try{n.set(e,t)}catch(e){delete this.weakmap}if((0,i.isWindow)(e)){this._cleanupClosedWindows();var a=this.keys,r=this.values,s=a.indexOf(e);s===-1?(a.push(e),r.push(t)):r[s]=t}else{var u=this.name,c=e[u];c&&c[0]===e?c[1]=t:o(e,u,{value:[e,t],writable:!0})}}},{key:"get",value:function(e){var t=this.weakmap;if(t)try{if(t.has(e))return t.get(e)}catch(e){delete this.weakmap}if((0,i.isWindow)(e)){var n=this.keys,a=n.indexOf(e);if(a===-1)return;return this.values[a]}var r=e[this.name];if(r&&r[0]===e)return r[1]}},{key:"delete",value:function(e){var t=this.weakmap;if(t)try{t.delete(e)}catch(e){delete this.weakmap}if((0,i.isWindow)(e)){this._cleanupClosedWindows();var n=this.keys,a=n.indexOf(e);a!==-1&&(n.splice(a,1),this.values.splice(a,1))}else{var r=e[this.name];r&&r[0]===e&&(r[0]=r[1]=void 0)}}},{key:"has",value:function(e){var t=this.weakmap;if(t)try{return t.has(e)}catch(e){delete this.weakmap}if((0,i.isWindow)(e))return this._cleanupClosedWindows(),this.keys.indexOf(e)!==-1;var n=e[this.name];return!(!n||n[0]!==e)}}]),e}()},function(e,t){"use strict";function n(e){try{if(e&&e.self===e)return!0}catch(e){}return!1}function a(e){try{if(e&&e!==window&&e.closed)return!0}catch(e){return!e||"Call was rejected by callee.\r\n"!==e.message}return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.isWindow=n,t.isClosedWindow=a},function(e,t){"use strict";function n(){if(!window.WeakMap)return!1;if(!window.Object.freeze)return!1;try{var e=new window.WeakMap,t={},n="__testvalue__";return window.Object.freeze(t),e.set(t,n),e.get(t)===n}catch(e){return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.hasNativeWeakMap=n}])});
//# sourceMappingURL=cross-domain-safe-weakmap.min.js.map
{
"name": "cross-domain-safe-weakmap",
"version": "1.0.5",
"version": "1.0.6",
"description": "Cross domain safe WeakMap.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -15,1 +15,19 @@ /* @flow */

}
export function isClosedWindow(obj : Object) {
try {
if (obj && obj !== window && obj.closed) {
return true;
}
} catch (err) {
if (err && err.message === 'Call was rejected by callee.\r\n') {
return false;
}
return true;
}
return false;
}
/* @flow */
import { isWindow } from './util';
import { isWindow, isClosedWindow } from './util';
import { hasNativeWeakMap } from './native';

@@ -13,3 +13,3 @@

weakmap : WeakMap
keys : Array<mixed>
keys : Array<Object>
values : Array<mixed>

@@ -29,2 +29,24 @@

_cleanupClosedWindows() {
let weakmap = this.weakmap;
let keys = this.keys;
for (let i = 0; i < keys.length; i++) {
let value = keys[i];
if (isClosedWindow(value)) {
if (weakmap) {
weakmap.delete(value);
}
keys.splice(i, 1);
this.values.splice(i, 1);
i -= 1;
}
}
}
set(key : Object, value : mixed) {

@@ -44,2 +66,4 @@

this._cleanupClosedWindows();
let keys = this.keys;

@@ -87,3 +111,3 @@ let values = this.values;

if (isWindow(key)) {
let keys = this.keys;

@@ -122,2 +146,4 @@ let index = keys.indexOf(key);

this._cleanupClosedWindows();
let keys = this.keys;

@@ -155,2 +181,4 @@ let index = keys.indexOf(key);

this._cleanupClosedWindows();
return this.keys.indexOf(key) !== -1;

@@ -157,0 +185,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc