Comparing version 2.0.0 to 2.0.1
@@ -5,2 +5,12 @@ # Change Log | ||
<a name="2.0.1"></a> | ||
## [2.0.1](https://github.com/vesparny/brcast/compare/v2.0.0...v2.0.1) (2017-06-28) | ||
### Bug Fixes | ||
* increase performance by using an object literal for storing listeners ([4d36f91](https://github.com/vesparny/brcast/commit/4d36f91)) | ||
<a name="2.0.0"></a> | ||
@@ -7,0 +17,0 @@ # [2.0.0](https://github.com/vesparny/brcast/compare/v1.1.6...v2.0.0) (2017-04-19) |
function createBroadcast (initialState) { | ||
var listeners = []; | ||
var listeners = {}; | ||
var id = 0; | ||
var _state = initialState; | ||
@@ -9,10 +10,11 @@ | ||
_state = state; | ||
listeners.forEach(function (listener) { return listener(_state); }); | ||
Object.keys(listeners).forEach(function (id) { return listeners[id](_state); }); | ||
}; | ||
var subscribe = function (listener) { | ||
listeners.push(listener); | ||
var currentId = id; | ||
listeners[currentId] = listener; | ||
id += 1; | ||
return function unsubscribe () { | ||
listeners = listeners.filter(function (item) { return item !== listener; }); | ||
delete listeners[currentId]; | ||
} | ||
@@ -19,0 +21,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
function createBroadcast(t){var n=[],r=t;return{getState:function(){return r},setState:function(t){r=t,n.forEach(function(t){return t(r)})},subscribe:function(t){return n.push(t),function(){n=n.filter(function(n){return n!==t})}}}}module.exports=createBroadcast; | ||
function createBroadcast(t){var e={},r=0,n=t;return{getState:function(){return n},setState:function(t){n=t,Object.keys(e).forEach(function(t){return e[t](n)})},subscribe:function(t){var n=r;return e[n]=t,r+=1,function(){delete e[n]}}}}module.exports=createBroadcast; | ||
//# sourceMappingURL=brcast.cjs.min.js.map |
function createBroadcast (initialState) { | ||
var listeners = []; | ||
var listeners = {}; | ||
var id = 0; | ||
var _state = initialState; | ||
@@ -9,10 +10,11 @@ | ||
_state = state; | ||
listeners.forEach(function (listener) { return listener(_state); }); | ||
Object.keys(listeners).forEach(function (id) { return listeners[id](_state); }); | ||
}; | ||
var subscribe = function (listener) { | ||
listeners.push(listener); | ||
var currentId = id; | ||
listeners[currentId] = listener; | ||
id += 1; | ||
return function unsubscribe () { | ||
listeners = listeners.filter(function (item) { return item !== listener; }); | ||
delete listeners[currentId]; | ||
} | ||
@@ -19,0 +21,0 @@ }; |
@@ -8,3 +8,4 @@ (function (global, factory) { | ||
function createBroadcast (initialState) { | ||
var listeners = []; | ||
var listeners = {}; | ||
var id = 0; | ||
var _state = initialState; | ||
@@ -16,10 +17,11 @@ | ||
_state = state; | ||
listeners.forEach(function (listener) { return listener(_state); }); | ||
Object.keys(listeners).forEach(function (id) { return listeners[id](_state); }); | ||
}; | ||
var subscribe = function (listener) { | ||
listeners.push(listener); | ||
var currentId = id; | ||
listeners[currentId] = listener; | ||
id += 1; | ||
return function unsubscribe () { | ||
listeners = listeners.filter(function (item) { return item !== listener; }); | ||
delete listeners[currentId]; | ||
} | ||
@@ -26,0 +28,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):n.brcast=t()}(this,function(){function n(n){var t=[],e=n;return{getState:function(){return e},setState:function(n){e=n,t.forEach(function(n){return n(e)})},subscribe:function(n){return t.push(n),function(){t=t.filter(function(t){return t!==n})}}}}return n}); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.brcast=t()}(this,function(){function e(e){var t={},n=0,o=e;return{getState:function(){return o},setState:function(e){o=e,Object.keys(t).forEach(function(e){return t[e](o)})},subscribe:function(e){var o=n;return t[o]=e,n+=1,function(){delete t[o]}}}}return e}); | ||
//# sourceMappingURL=brcast.umd.min.js.map |
12
index.js
export default function createBroadcast (initialState) { | ||
let listeners = [] | ||
let listeners = {} | ||
let id = 0 | ||
let _state = initialState | ||
@@ -9,10 +10,11 @@ | ||
_state = state | ||
listeners.forEach(listener => listener(_state)) | ||
Object.keys(listeners).forEach(id => listeners[id](_state)) | ||
} | ||
const subscribe = listener => { | ||
listeners.push(listener) | ||
const currentId = id | ||
listeners[currentId] = listener | ||
id += 1 | ||
return function unsubscribe () { | ||
listeners = listeners.filter(item => item !== listener) | ||
delete listeners[currentId] | ||
} | ||
@@ -19,0 +21,0 @@ } |
{ | ||
"name": "brcast", | ||
"amdName": "brcast", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "Tiny data broadcaster with 0 dependencies", | ||
@@ -14,3 +14,3 @@ "jsnext:main": "index.js", | ||
"lint": "standard", | ||
"format": "prettier --write semi false '*.js' && standard --fix", | ||
"format": "prettier --write --semi false '*.js' && standard --fix", | ||
"test": "npm run lint && npm run testonly", | ||
@@ -22,3 +22,3 @@ "build": "npm-run-all test clean rollup rollup:min size", | ||
"size": "echo \"Gzipped Size: $(cat dist/brcast.umd.min.js | gzip-size)\"", | ||
"release": "npm run build -s && npm run bump && git push --follow-tags origin master && npm publish" | ||
"release": "npm run build && npm run bump && git push --follow-tags origin master && npm publish" | ||
}, | ||
@@ -25,0 +25,0 @@ "repository": "vesparny/brcast", |
Sorry, the diff of this file is not supported yet
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
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
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
137
0
11017
12
1
0