New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

props-model

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

props-model - npm Package Compare versions

Comparing version 0.7.0 to 0.8.0

39

dist/lib/props-model.js

@@ -42,2 +42,3 @@ "use strict";

this._props = {};
this._firedProps = new Set();
}

@@ -58,4 +59,19 @@ /**

_firePropChangeEvent(propName, newValue, oldValue) {
this._eventEmitter.emit(`${propName}-changed`, propName, newValue, oldValue);
this._firePropChangeEvents([[propName, [newValue, oldValue]]]);
}
_firePropChangeEvents(events) {
const firstInChain = this._firedProps.size === 0;
events.forEach(([propName, [newValue, oldValue]]) => {
this._firedProps.add(propName);
this._eventEmitter.emit(`${propName}-changed`, propName, newValue, oldValue);
});
if (firstInChain) {
this._eventEmitter.emit('prop-chain-completed', Array.from(this._firedProps));
this._firedProps.clear();
}
}
/**

@@ -253,9 +269,5 @@ * Define a primary property that the model will track. It's value is set to the `initialValue`, which counts as setting

});
Object.entries(args[0]).forEach(([propName, value], idx) => {
const oldValue = oldValues[idx];
const changeEvents = Object.entries(args[0]).map(([propName, value], idx) => [propName, [value, oldValues[idx]]]).filter(([propName, [newValue, oldValue]]) => this._props[propName].didChange(newValue, oldValue));
if (this._props[propName].didChange(value, oldValue)) {
this._firePropChangeEvent(propName, value, oldValue);
}
});
this._firePropChangeEvents(changeEvents);
} else {

@@ -466,2 +478,6 @@ const propName = args[0],

}
_onPropChainComplete(propFilter, handler) {
this._eventEmitter.on('prop-chain-completed', firedProps => handler(firedProps.filter(propFilter)));
}
/**

@@ -505,2 +521,6 @@ * Register the given handler to be called with the values of all of the named properties anytime

onPropChainComplete(handler) {
return this._onPropChainComplete(() => true, handler);
}
set(...args) {

@@ -541,3 +561,3 @@ return this._set(() => {}, ...args);

*
* @returns {{get, set, createUtilizer, createChangeHandler, toJSON, getAll}}
* @returns {{get, set, createUtilizer, createChangeHandler, toJSON, getAll, getPropNames, }}
*/

@@ -555,3 +575,4 @@

getAll: () => this._getAll(readChecker),
getPropNames: () => this._getPropNames(readChecker)
getPropNames: () => this._getPropNames(readChecker),
onPropChainComplete: (...args) => this._onPropChainComplete(readChecker, ...args)
};

@@ -558,0 +579,0 @@ }

{
"name": "props-model",
"version": "0.7.0",
"version": "0.8.0",
"description": "A model for properties including change events and derived properties",

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

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