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

gyrejs

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gyrejs - npm Package Compare versions

Comparing version

to
0.0.13

lib/middleWare/injectDispatch.js

102

dist/gyrejs.js

@@ -10,3 +10,3 @@ (function webpackUniversalModuleDefinition(root, factory) {

root["GyreJS"] = factory(root["Immutable"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_12__) {
})(this, function(__WEBPACK_EXTERNAL_MODULE_13__) {
return /******/ (function(modules) { // webpackBootstrap

@@ -67,3 +67,3 @@ /******/ // The module cache

var _store = __webpack_require__(11);
var _store = __webpack_require__(12);

@@ -86,4 +86,9 @@ var _store2 = _interopRequireDefault(_store);

var _middleWareInjectDispatch = __webpack_require__(11);
var _middleWareInjectDispatch2 = _interopRequireDefault(_middleWareInjectDispatch);
var middleWare = {
dispatchLogger: _middleWareDispatchLogger2["default"]
dispatchLogger: _middleWareDispatchLogger2["default"],
injectDispatch: _middleWareInjectDispatch2["default"]
};

@@ -106,6 +111,6 @@

if (!gyres.has(id)) {
console.warn("GyreJS: Gyre factory '" + id + "' not registered.");
console.warn(">> GyreJS: Gyre factory '" + id + "' not registered.");
}
if (usedNameSpaces.indexOf(nameSpace) !== -1) {
throw new Error("GyreJS ('" + id + "'): A gyre using the namespace '" + nameSpace + "' not registered.");
throw new Error(">> GyreJS ('" + id + "'): A gyre using the namespace '" + nameSpace + "' not registered.");
}

@@ -245,5 +250,6 @@ usedNameSpaces.push(nameSpace);

if (actionMap.has(id)) {
// Invoke all registered middleWare before running the final action.
middleWare.reduce(function (prev, next) {
return function () {
return next(nameSpace, id, args, prev);
return next(nameSpace, id, args, prev, dispatch);
};

@@ -254,3 +260,3 @@ }, function () {

} else {
console.warn("GyreJS-'" + nameSpace + "'-AH: Unregistered action requested: '" + id + "' with arguments:", args);
console.warn(">> GyreJS-'" + nameSpace + "'-gyre: Unregistered action dispatched: '" + id + "' with arguments:", args, ". (This is a no-op)");
}

@@ -371,8 +377,8 @@ };

},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
componentWillUnmount: function componentWillUnmount() {
this.unRegisterReducer();
},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
handleNewData: function handleNewData(data) {

@@ -517,8 +523,8 @@ this.setState({

},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
componentWillUnmount: function componentWillUnmount() {
this.unRegisterReducer();
},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
handleNewData: function handleNewData(data) {

@@ -595,3 +601,3 @@ this.setState({

var dispatchLogger = function dispatchLogger(nameSpace, id, args, next) {
console.log(">> GyreJS-'" + nameSpace + "'-store: Applying action '" + id + "' with arguments: ", args);
console.log(">> GyreJS-'" + nameSpace + "'-gyre: Applying action '" + id + "' with arguments: ", args);
next();

@@ -605,2 +611,27 @@ };

/* 11 */
/***/ function(module, exports) {
/**
* injectDispatch()
*
* @param {String} nameSpace Gyre namespace.
* @param {String} id Action Id.
* @param {Array} args Action arguments array.
* @param {Function} next Call next function in chain.
* @param {Function} dispatch Action handler dispatcher.
* @returns {void}
*/
"use strict";
exports.__esModule = true;
var injectDispatch = function injectDispatch(nameSpace, id, args, next, dispatch) {
args.push(dispatch);
next();
};
exports["default"] = injectDispatch;
module.exports = exports["default"];
/***/ },
/* 12 */
/***/ function(module, exports, __webpack_require__) {

@@ -614,3 +645,3 @@

var _immutable = __webpack_require__(12);
var _immutable = __webpack_require__(13);

@@ -627,8 +658,6 @@ var _immutable2 = _interopRequireDefault(_immutable);

var store = function store() {
// Private variables
var state = IMap({});
var reducerList = [];
// Private variables
var rId = 0;
var reducerMap = new Map();
// Private functions

@@ -641,3 +670,3 @@ /**

var sendUpdate = function sendUpdate() {
return reducerMap.forEach(function (reducer) {
return reducerList.forEach(function (reducer) {
return reducer(state);

@@ -651,8 +680,10 @@ });

*
* @param {Number} id Reducer Id
* @param {Function} cb Reducer callback.
* @returns {Function} removal function.
*/
var removeReducer = function removeReducer(id) {
var removeReducer = function removeReducer(cb) {
return function () {
return reducerMap["delete"](id);
return reducerList = reducerList.filter(function (reducer) {
return reducer !== cb;
});
};

@@ -665,9 +696,8 @@ };

*
* @param {Immutable.Map|Object} newState New state
* @param {String} [nameSpace] Namespace
* @param {Immutable.Map} newState New state.
* @param {String} nameSpace Namespace.
* @returns {Immutable.Map} state Current state
*/
var setNewState = function setNewState(newState, nameSpace) {
var tState = IMap.isMap(newState) ? newState : IMap(newState);
state = nameSpace ? state.set(nameSpace, tState) : tState;
state = state.set(nameSpace, newState);
sendUpdate();

@@ -681,10 +711,8 @@ return state;

*
* @param {Function} cb callback
* @returns {Function} un-register function
* @param {Function} cb callback.
* @returns {Function} un-register function.
*/
var addReducer = function addReducer(cb) {
var id = rId++;
// Save to local register
reducerMap.set(id, cb);
reducerList.push(cb);

@@ -695,3 +723,3 @@ // Send state to reducer

// Return remover
return removeReducer(id);
return removeReducer(cb);
};

@@ -716,3 +744,3 @@

var setState = function setState(nState, nameSpace) {
return setNewState(nState, nameSpace);
return setNewState(IMap.isMap(nState) ? nState : IMap(nState), nameSpace);
};

@@ -735,3 +763,3 @@

}
setNewState(func.apply(undefined, farg.concat(args)), nameSpace);
setNewState(func.apply(undefined, farg.concat(args)) || state.get(nameSpace), nameSpace);
return state;

@@ -753,6 +781,6 @@ };

/***/ },
/* 12 */
/* 13 */
/***/ function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_12__;
module.exports = __WEBPACK_EXTERNAL_MODULE_13__;

@@ -759,0 +787,0 @@ /***/ }

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

!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("Immutable")):"function"==typeof define&&define.amd?define(["Immutable"],e):"object"==typeof exports?exports.GyreJS=e(require("Immutable")):t.GyreJS=e(t.Immutable)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var u=n[r]={exports:{},id:r,loaded:!1};return t[r].call(u.exports,u,u.exports,e),u.loaded=!0,u.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(11),a=r(u),o=n(3),i=r(o),s=n(7),c=r(s),d=n(10),f=r(d),l={dispatchLogger:f.default},p=new Map,h=a.default(),g=[],m=function(t,e){if(p.has(t)||console.warn("GyreJS: Gyre factory '"+t+"' not registered."),-1!==g.indexOf(e))throw new Error("GyreJS ('"+t+"'): A gyre using the namespace '"+e+"' not registered.");return g.push(e),p.get(t)(h,e)},v=function(t,e){p.set(t,e)};v("local",i.default),v("simpleRest",c.default),e.createGyre=m,e.middleWare=l,e.registerGyreFactory=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(2),a=r(u),o=function(t,e,n,r){return function(u,o){var i=o||t,s=a.default(u,i);r&&s.addActions(r);var c=function(t,n){return e(u,t,n,i)},d=function(t){return u.setState(t,i)},f=n(c);return{addAction:s.addAction,addActions:s.addActions,dispatch:s.dispatch,getReducer:c,reactHoC:f,setState:d,use:s.use}}};e.default=o,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e){var n=new Map,r=[],u=function(t){for(var u=arguments.length,a=Array(u>1?u-1:0),o=1;u>o;o++)a[o-1]=arguments[o];n.has(t)?r.reduce(function(n,r){return function(){return r(e,t,a,n)}},function(){return n.get(t)(a)})():console.warn("GyreJS-'"+e+"'-AH: Unregistered action requested: '"+t+"' with arguments:",a)},a=function(r,a,o){return n.set(r,function(n){t.updateState(e,a,n,o?u:null)})},o=function(t,e){Object.keys(t).forEach(function(n){a(n,t[n],e)})},i=function(t){r.unshift(t)};return{addAction:a,addActions:o,dispatch:u,use:i}};e.default=n,t.exports=e.default},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(1),a=r(u),o=n(5),i=r(o),s=n(4),c=r(s);e.default=a.default("local",i.default,c.default),t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r=function(t){return function(e,r){return React.createClass({displayName:"GyreJS-localHoC",getInitialState:function(){return{data:null}},componentWillMount:function(){this.unRegisterReducer=t(e,this.handleNewData)},componentWillUnmount:function(){this.unRegisterReducer()},shouldComponentUpdate:function(t){return this.state.data!==t.data},handleNewData:function(t){this.setState({data:t})},render:function(){return"undefined"!=typeof this.state.data?React.createElement(r,n({},this.props,this.state)):!1}})}};e.default=r,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e,n,r){var u=function(t){var u=t.get(r),a=Array.isArray(e)?e:[e];n(u?a.reduce(function(t,e){return t[e]=u.get(e),t},{}):void 0)};return t.addReducer(u)};e.default=n,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n={},r="ADD_QUERY";n[r]=function(t,e,n){return t.get("queries").set(n,n)},e.default={passDispatch:!0,actions:n},t.exports=e.default},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(1),a=r(u),o=n(9),i=r(o),s=n(8),c=r(s),d=n(6),f=r(d);e.default=a.default("simpleRest",i.default,c.default,f.default),t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r=function(t){return function(e,r){return React.createClass({displayName:"GyreJS-localHoC",getInitialState:function(){return{data:null}},componentWillMount:function(){this.unRegisterReducer=t(e,this.handleNewData)},componentWillUnmount:function(){this.unRegisterReducer()},shouldComponentUpdate:function(t){return this.state.data!==t.data},handleNewData:function(t){this.setState({data:t})},render:function(){return"undefined"!=typeof this.state.data?React.createElement(r,n({},this.props,this.state)):!1}})}};e.default=r,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e,n,r){var u=function(t){var u=t.get(r),a=Array.isArray(e)?e:[e];n(u?a.reduce(function(t,e){return t[e]=u.get(e),t},{}):void 0)};return t.addReducer(u)};e.default=n,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e,n,r){console.log(">> GyreJS-'"+t+"'-store: Applying action '"+e+"' with arguments: ",n),r()};e.default=n,t.exports=e.default},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(12),a=r(u),o=a.default.Map,i=function(){var t=o({}),e=0,n=new Map,r=function(){return n.forEach(function(e){return e(t)})},u=function(t){return function(){return n.delete(t)}},a=function(e,n){var u=o.isMap(e)?e:o(e);return t=n?t.set(n,u):u,r(),t},i=function(r){var a=e++;return n.set(a,r),r(t),u(a)},s=function(){return t},c=function(t,e){return a(t,e)},d=function(e,n,r,u){var i=[t.get(e)||o({})];return u&&i.concat(u),a(n.apply(void 0,i.concat(r)),e),t};return{addReducer:i,getState:s,setState:c,updateState:d}};e.default=i,t.exports=e.default},function(e,n){e.exports=t}])});
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("Immutable")):"function"==typeof define&&define.amd?define(["Immutable"],e):"object"==typeof exports?exports.GyreJS=e(require("Immutable")):t.GyreJS=e(t.Immutable)}(this,function(t){return function(t){function e(r){if(n[r])return n[r].exports;var u=n[r]={exports:{},id:r,loaded:!1};return t[r].call(u.exports,u,u.exports,e),u.loaded=!0,u.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(12),a=r(u),o=n(3),i=r(o),s=n(7),c=r(s),d=n(10),f=r(d),l=n(11),p=r(l),h={dispatchLogger:f.default,injectDispatch:p.default},g=new Map,_=a.default(),m=[],y=function(t,e){if(g.has(t)||console.warn(">> GyreJS: Gyre factory '"+t+"' not registered."),-1!==m.indexOf(e))throw new Error(">> GyreJS ('"+t+"'): A gyre using the namespace '"+e+"' not registered.");return m.push(e),g.get(t)(_,e)},v=function(t,e){g.set(t,e)};v("local",i.default),v("simpleRest",c.default),e.createGyre=y,e.middleWare=h,e.registerGyreFactory=v},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(2),a=r(u),o=function(t,e,n,r){return function(u,o){var i=o||t,s=a.default(u,i);r&&s.addActions(r);var c=function(t,n){return e(u,t,n,i)},d=function(t){return u.setState(t,i)},f=n(c);return{addAction:s.addAction,addActions:s.addActions,dispatch:s.dispatch,getReducer:c,reactHoC:f,setState:d,use:s.use}}};e.default=o,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e){var n=new Map,r=[],u=function s(t){for(var u=arguments.length,a=Array(u>1?u-1:0),o=1;u>o;o++)a[o-1]=arguments[o];n.has(t)?r.reduce(function(n,r){return function(){return r(e,t,a,n,s)}},function(){return n.get(t)(a)})():console.warn(">> GyreJS-'"+e+"'-gyre: Unregistered action dispatched: '"+t+"' with arguments:",a,". (This is a no-op)")},a=function(r,a,o){return n.set(r,function(n){t.updateState(e,a,n,o?u:null)})},o=function(t,e){Object.keys(t).forEach(function(n){a(n,t[n],e)})},i=function(t){r.unshift(t)};return{addAction:a,addActions:o,dispatch:u,use:i}};e.default=n,t.exports=e.default},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(1),a=r(u),o=n(5),i=r(o),s=n(4),c=r(s);e.default=a.default("local",i.default,c.default),t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r=function(t){return function(e,r){return React.createClass({displayName:"GyreJS-localHoC",getInitialState:function(){return{data:null}},componentWillMount:function(){this.unRegisterReducer=t(e,this.handleNewData)},shouldComponentUpdate:function(t){return this.state.data!==t.data},componentWillUnmount:function(){this.unRegisterReducer()},handleNewData:function(t){this.setState({data:t})},render:function(){return"undefined"!=typeof this.state.data?React.createElement(r,n({},this.props,this.state)):!1}})}};e.default=r,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e,n,r){var u=function(t){var u=t.get(r),a=Array.isArray(e)?e:[e];n(u?a.reduce(function(t,e){return t[e]=u.get(e),t},{}):void 0)};return t.addReducer(u)};e.default=n,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n={},r="ADD_QUERY";n[r]=function(t,e,n){return t.get("queries").set(n,n)},e.default={passDispatch:!0,actions:n},t.exports=e.default},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(1),a=r(u),o=n(9),i=r(o),s=n(8),c=r(s),d=n(6),f=r(d);e.default=a.default("simpleRest",i.default,c.default,f.default),t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},r=function(t){return function(e,r){return React.createClass({displayName:"GyreJS-localHoC",getInitialState:function(){return{data:null}},componentWillMount:function(){this.unRegisterReducer=t(e,this.handleNewData)},shouldComponentUpdate:function(t){return this.state.data!==t.data},componentWillUnmount:function(){this.unRegisterReducer()},handleNewData:function(t){this.setState({data:t})},render:function(){return"undefined"!=typeof this.state.data?React.createElement(r,n({},this.props,this.state)):!1}})}};e.default=r,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e,n,r){var u=function(t){var u=t.get(r),a=Array.isArray(e)?e:[e];n(u?a.reduce(function(t,e){return t[e]=u.get(e),t},{}):void 0)};return t.addReducer(u)};e.default=n,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e,n,r){console.log(">> GyreJS-'"+t+"'-gyre: Applying action '"+e+"' with arguments: ",n),r()};e.default=n,t.exports=e.default},function(t,e){"use strict";e.__esModule=!0;var n=function(t,e,n,r,u){n.push(u),r()};e.default=n,t.exports=e.default},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var u=n(13),a=r(u),o=a.default.Map,i=function(){var t=o({}),e=[],n=function(){return e.forEach(function(e){return e(t)})},r=function(t){return function(){return e=e.filter(function(e){return e!==t})}},u=function(e,r){return t=t.set(r,e),n(),t},a=function(n){return e.push(n),n(t),r(n)},i=function(){return t},s=function(t,e){return u(o.isMap(t)?t:o(t),e)},c=function(e,n,r,a){var i=[t.get(e)||o({})];return a&&i.concat(a),u(n.apply(void 0,i.concat(r))||t.get(e),e),t};return{addReducer:a,getState:i,setState:s,updateState:c}};e.default=i,t.exports=e.default},function(e,n){e.exports=t}])});

@@ -1,16 +0,21 @@

(function (React, ReactDOM, GyreJS) {
console.log(">> Starting");
(function(React, ReactDOM, GyreJS) {
var localGyre = GyreJS.createGyre("local");
var ReactHoC = localGyre.reactHoC;
const SOME_ACTION2 = "SOME_ACTION2";
localGyre.addAction(SOME_ACTION2, (state, value) => {
console.log("invoked another action!", state, value);
});
// Add middleware
localGyre.use(GyreJS.middleWare.dispatchLogger);
localGyre.use((nameSpace, id, args, next) => {
console.log("Another middleWare", id);
localGyre.use(GyreJS.middleWare.injectDispatch);
/* localGyre.use((nameSpace, id, args, next, dispatch) => {
console.log("Another middleWare", id, dispatch);
next();
});
});*/
const SOME_ACTION = "SOME_ACTION";
localGyre.addAction(SOME_ACTION, (state, value) => {
localGyre.addAction(SOME_ACTION, (state, value, dispatch) => {
dispatch(SOME_ACTION2, "yaaay");
return state.set("foo", value);

@@ -36,2 +41,3 @@ });

localGyre.dispatch(SOME_ACTION, "blaa2");
localGyre.dispatch("non-existingAction", "blaa2");
})(React, ReactDOM, GyreJS);

@@ -30,5 +30,6 @@ /**

if (actionMap.has(id)) {
// Invoke all registered middleWare before running the final action.
middleWare.reduce(function (prev, next) {
return function () {
return next(nameSpace, id, args, prev);
return next(nameSpace, id, args, prev, dispatch);
};

@@ -39,3 +40,3 @@ }, function () {

} else {
console.warn("GyreJS-'" + nameSpace + "'-AH: Unregistered action requested: '" + id + "' with arguments:", args);
console.warn(">> GyreJS-'" + nameSpace + "'-gyre: Unregistered action dispatched: '" + id + "' with arguments:", args, ". (This is a no-op)");
}

@@ -42,0 +43,0 @@ };

@@ -33,8 +33,8 @@ /**

},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
componentWillUnmount: function componentWillUnmount() {
this.unRegisterReducer();
},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
handleNewData: function handleNewData(data) {

@@ -41,0 +41,0 @@ this.setState({

@@ -33,8 +33,8 @@ /**

},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
componentWillUnmount: function componentWillUnmount() {
this.unRegisterReducer();
},
shouldComponentUpdate: function shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
handleNewData: function handleNewData(data) {

@@ -41,0 +41,0 @@ this.setState({

@@ -28,4 +28,9 @@ /**

var _middleWareInjectDispatch = require("./middleWare/injectDispatch");
var _middleWareInjectDispatch2 = _interopRequireDefault(_middleWareInjectDispatch);
var middleWare = {
dispatchLogger: _middleWareDispatchLogger2["default"]
dispatchLogger: _middleWareDispatchLogger2["default"],
injectDispatch: _middleWareInjectDispatch2["default"]
};

@@ -48,6 +53,6 @@

if (!gyres.has(id)) {
console.warn("GyreJS: Gyre factory '" + id + "' not registered.");
console.warn(">> GyreJS: Gyre factory '" + id + "' not registered.");
}
if (usedNameSpaces.indexOf(nameSpace) !== -1) {
throw new Error("GyreJS ('" + id + "'): A gyre using the namespace '" + nameSpace + "' not registered.");
throw new Error(">> GyreJS ('" + id + "'): A gyre using the namespace '" + nameSpace + "' not registered.");
}

@@ -54,0 +59,0 @@ usedNameSpaces.push(nameSpace);

@@ -14,3 +14,3 @@ /**

var dispatchLogger = function dispatchLogger(nameSpace, id, args, next) {
console.log(">> GyreJS-'" + nameSpace + "'-store: Applying action '" + id + "' with arguments: ", args);
console.log(">> GyreJS-'" + nameSpace + "'-gyre: Applying action '" + id + "' with arguments: ", args);
next();

@@ -17,0 +17,0 @@ };

@@ -19,8 +19,6 @@ "use strict";

var store = function store() {
// Private variables
var state = IMap({});
var reducerList = [];
// Private variables
var rId = 0;
var reducerMap = new Map();
// Private functions

@@ -33,3 +31,3 @@ /**

var sendUpdate = function sendUpdate() {
return reducerMap.forEach(function (reducer) {
return reducerList.forEach(function (reducer) {
return reducer(state);

@@ -43,8 +41,10 @@ });

*
* @param {Number} id Reducer Id
* @param {Function} cb Reducer callback.
* @returns {Function} removal function.
*/
var removeReducer = function removeReducer(id) {
var removeReducer = function removeReducer(cb) {
return function () {
return reducerMap["delete"](id);
return reducerList = reducerList.filter(function (reducer) {
return reducer !== cb;
});
};

@@ -57,9 +57,8 @@ };

*
* @param {Immutable.Map|Object} newState New state
* @param {String} [nameSpace] Namespace
* @param {Immutable.Map} newState New state.
* @param {String} nameSpace Namespace.
* @returns {Immutable.Map} state Current state
*/
var setNewState = function setNewState(newState, nameSpace) {
var tState = IMap.isMap(newState) ? newState : IMap(newState);
state = nameSpace ? state.set(nameSpace, tState) : tState;
state = state.set(nameSpace, newState);
sendUpdate();

@@ -73,10 +72,8 @@ return state;

*
* @param {Function} cb callback
* @returns {Function} un-register function
* @param {Function} cb callback.
* @returns {Function} un-register function.
*/
var addReducer = function addReducer(cb) {
var id = rId++;
// Save to local register
reducerMap.set(id, cb);
reducerList.push(cb);

@@ -87,3 +84,3 @@ // Send state to reducer

// Return remover
return removeReducer(id);
return removeReducer(cb);
};

@@ -108,3 +105,3 @@

var setState = function setState(nState, nameSpace) {
return setNewState(nState, nameSpace);
return setNewState(IMap.isMap(nState) ? nState : IMap(nState), nameSpace);
};

@@ -127,3 +124,3 @@

}
setNewState(func.apply(undefined, farg.concat(args)), nameSpace);
setNewState(func.apply(undefined, farg.concat(args)) || state.get(nameSpace), nameSpace);
return state;

@@ -130,0 +127,0 @@ };

{
"name": "gyrejs",
"version": "0.0.12",
"version": "0.0.13",
"description": "Experimental data fetching and state library geared towards ReactJS",

@@ -5,0 +5,0 @@ "main": "lib/gyrejs-min.js",

@@ -23,12 +23,13 @@ /**

if (actionMap.has(id)) {
// Invoke all registered middleWare before running the final action.
middleWare.reduce((prev, next) =>
() => next(nameSpace, id, args, prev),
() => next(nameSpace, id, args, prev, dispatch),
() => actionMap.get(id)(args))();
}
else {
console.warn(`GyreJS-'${nameSpace}'-AH: Unregistered action requested: '${id}' with arguments:`, args);
console.warn(`>> GyreJS-'${nameSpace}'-gyre: Unregistered action dispatched: '${id}' with arguments:`,
args, ". (This is a no-op)");
}
};
/**

@@ -35,0 +36,0 @@ * addAction()

@@ -27,8 +27,8 @@ /**

},
shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
componentWillUnmount() {
this.unRegisterReducer();
},
shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
handleNewData(data) {

@@ -35,0 +35,0 @@ this.setState({

@@ -27,8 +27,8 @@ /**

},
shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
componentWillUnmount() {
this.unRegisterReducer();
},
shouldComponentUpdate(nextState) {
return this.state.data !== nextState.data;
},
handleNewData(data) {

@@ -35,0 +35,0 @@ this.setState({

@@ -10,4 +10,6 @@ /**

import dispatchLogger from "./middleWare/dispatchLogger";
import injectDispatch from "./middleWare/injectDispatch";
const middleWare = {
dispatchLogger
dispatchLogger,
injectDispatch
};

@@ -30,6 +32,6 @@

if (!gyres.has(id)) {
console.warn(`GyreJS: Gyre factory '${id}' not registered.`);
console.warn(`>> GyreJS: Gyre factory '${id}' not registered.`);
}
if (usedNameSpaces.indexOf(nameSpace) !== -1) {
throw new Error(`GyreJS ('${id}'): A gyre using the namespace '${nameSpace}' not registered.`);
throw new Error(`>> GyreJS ('${id}'): A gyre using the namespace '${nameSpace}' not registered.`);
}

@@ -36,0 +38,0 @@ usedNameSpaces.push(nameSpace);

@@ -11,3 +11,3 @@ /**

const dispatchLogger = (nameSpace, id, args, next) => {
console.log(`>> GyreJS-'${nameSpace}'-store: Applying action '${id}' with arguments: `, args);
console.log(`>> GyreJS-'${nameSpace}'-gyre: Applying action '${id}' with arguments: `, args);
next();

@@ -14,0 +14,0 @@ };

@@ -10,8 +10,6 @@ import Immutable from "immutable";

const store = () => {
// Private variables
let state = IMap({});
let reducerList = [];
// Private variables
let rId = 0;
const reducerMap = new Map();
// Private functions

@@ -24,3 +22,3 @@ /**

const sendUpdate = () =>
reducerMap.forEach(reducer => reducer(state));
reducerList.forEach(reducer => reducer(state));

@@ -31,6 +29,8 @@ /**

*
* @param {Number} id Reducer Id
* @param {Function} cb Reducer callback.
* @returns {Function} removal function.
*/
const removeReducer = (id) => () => reducerMap.delete(id);
const removeReducer = (cb) =>
() =>
reducerList = reducerList.filter(reducer => reducer !== cb);

@@ -41,9 +41,8 @@ /**

*
* @param {Immutable.Map|Object} newState New state
* @param {String} [nameSpace] Namespace
* @param {Immutable.Map} newState New state.
* @param {String} nameSpace Namespace.
* @returns {Immutable.Map} state Current state
*/
const setNewState = (newState, nameSpace) => {
const tState = IMap.isMap(newState) ? newState : IMap(newState);
state = nameSpace ? state.set(nameSpace, tState) : tState;
state = state.set(nameSpace, newState);
sendUpdate();

@@ -57,10 +56,8 @@ return state;

*
* @param {Function} cb callback
* @returns {Function} un-register function
* @param {Function} cb callback.
* @returns {Function} un-register function.
*/
const addReducer = (cb) => {
const id = rId++;
// Save to local register
reducerMap.set(id, cb);
reducerList.push(cb);

@@ -71,3 +68,3 @@ // Send state to reducer

// Return remover
return removeReducer(id);
return removeReducer(cb);
};

@@ -89,3 +86,4 @@

*/
const setState = (nState, nameSpace) => setNewState(nState, nameSpace);
const setState = (nState, nameSpace) =>
setNewState(IMap.isMap(nState) ? nState : IMap(nState), nameSpace);

@@ -107,3 +105,3 @@ /**

}
setNewState(func(...farg.concat(args)), nameSpace);
setNewState(func(...farg.concat(args)) || state.get(nameSpace), nameSpace);
return state;

@@ -110,0 +108,0 @@ };