Socket
Socket
Sign inDemoInstall

ambry

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ambry - npm Package Compare versions

Comparing version 1.0.2 to 1.1.0

51

index.js

@@ -55,3 +55,18 @@ 'use strict';

var subscribes = {};
var isEventListenerRegistered = false;
function storageChangeHandler(_ref) {
var key = _ref.key;
var oldValue = _ref.oldValue;
var newValue = _ref.newValue;
Object.keys(subscribes).forEach(function (prefix) {
if (key.indexOf(prefix) === 0) {
subscribes[prefix].forEach(function (handler) {
return handler(key.replace(prefix, ''), JSON.parse(oldValue), JSON.parse(newValue));
});
}
});
}
function isQuotaExceeded(e) {

@@ -84,7 +99,7 @@ if (e) {

function Storage(_ref) {
var storage = _ref.storage;
var namespace = _ref.namespace;
var schemeVersion = _ref.schemeVersion;
var clearOnError = _ref.clearOnError;
function Storage(_ref2) {
var storage = _ref2.storage;
var namespace = _ref2.namespace;
var schemeVersion = _ref2.schemeVersion;
var clearOnError = _ref2.clearOnError;

@@ -176,5 +191,15 @@ _classCallCheck(this, Storage);

subscribesOfNamespace.push(fn);
if (!isEventListenerRegistered) {
window.addEventListener('storage', storageChangeHandler, false);
isEventListenerRegistered = true;
}
return function unsubscribe() {
var index = subscribesOfNamespace.indexOf(fn);
subscribes.splice(index, 1);
subscribesOfNamespace.splice(index, 1);
if (Object.keys(subscribes).every(function (prefix) {
return subscribes[prefix].length === 0;
})) {
window.removeEventListener('storage', storageChangeHandler, false);
isEventListenerRegistered = false;
}
};

@@ -198,16 +223,2 @@ }

window.addEventListener('storage', function (_ref2) {
var key = _ref2.key;
var oldValue = _ref2.oldValue;
var newValue = _ref2.newValue;
Object.keys(subscribes).forEach(function (prefix) {
if (key.indexOf(prefix) === 0) {
subscribes[prefix].forEach(function (subscribe) {
return subscribe(key.replace(prefix, ''), JSON.parse(oldValue), JSON.parse(newValue));
});
}
});
}, false);
function createStorage() {

@@ -214,0 +225,0 @@ var _ref3 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];

{
"name": "ambry",
"version": "1.0.2",
"version": "1.1.0",
"description": "WebStorage wrapper that makes your life easier",

@@ -27,7 +27,7 @@ "main": "index.js",

"devDependencies": {
"babel-cli": "^6.1.18",
"babel-cli": "^6.2.0",
"babel-preset-es2015": "^6.1.18",
"eslint": "^1.9.0",
"eslint": "^1.10.1",
"eslint-config-airbnb": "^1.0.0"
}
}

@@ -6,2 +6,4 @@ # Ambry

Tests are powered by [BrowserStack](https://www.browserstack.com) — cool cross browser testing tool.
### Installation

@@ -28,3 +30,3 @@

### Setting new value
### Setting new value or updating value

@@ -84,2 +86,2 @@ ```javascript

Your contributions are always welcome! Please feel free to create issues.
Your contributions are always welcome! Please feel free to create issues.
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc