{"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"dist-tags":{"latest":"0.0.8"},"author":{"name":"Indexia Tech"},"description":"Redux Immutable facilities","readme":"# `redux-immutablejs`\n\nRedux & Immutable integration\n\nThis is a small library that aims to provide integration tools between [Redux](https://github.com/rackt/redux)\n& [ImmutableJs](https://facebook.github.io/immutable-js/) that fully conforms Redux _actions_ & _reducers_ standards.\n\n1. An alternative to [combineReducers](http://rackt.github.io/redux/docs/api/combineReducers.html) that supports\n[ImmutableJs](https://facebook.github.io/immutable-js/) for store initial state.\n1. An optional handler map reducer creator with immutable support.\n\n\n# Setup\n\n## Initial State\n\nUsing `combineReducers` it is possible to provide `createStore` with initial state using Immutable [Iterable](https://facebook.github.io/immutable-js/docs/#/Iterable) type, i.e:\n\n```js\nimport { createStore } from 'redux';\nimport { combineReducers } from 'redux-immutablejs';\n\nimport Immutable from 'immutable';\nimport * as reducers from './reducers';\n\nconst reducer = combineReducers(reducers);\nconst state = Immutable.fromJS({});\n\nconst store = reducer(state);\nexport default createStore(reducer, store);\n```\n\n## Immutable Handler Map reducer creator\n\nUsing `createReducer` is an optional function that creates a reducer from a collection of handlers. In addition to\ngetting rid of the _switch_ statement, it also provides the following benefits:\n\n1. If the given `initialState` type is mutated, it will get converted to an immutable type.\n1. An error is produced in case a reducer handler returns a mutated state (not recommended but this behavior can be disabled)\n\n```js\nimport { createReducer } from 'redux-immutablejs'\nconst initialState = Immutable.fromJS({ isAuth: false })\n\n/**\n * Reducer domain that handles authentication & authorization.\n **/\nexport default createReducer(initialState, {\n  [LOGIN]: (state, action) => state.merge({\n    isAuth: true,\n    token: action.payload.token\n  }),\n\n  [LOGOUT]: (domain) => domain.merge({\n    isAuth: false,\n    current_identity: {},\n    token: undefined\n  })\n})\n```\n\nIf you want to specify the Immutable type to be used for implicit conversion, pass an constructor function at the end:\n\n```js\nexport default createReducer([], {\n  [ADD_STUFF]: (state, { stuff }) => state.add(stuff)\n}, true, ::Immutable.OrderedSet);\n\n```\n\nPlease note that this is optional and `combineReducers` should work just fine if you prefer the old `switch` way.\n\n\n# FAQ\n\n## How this library is different from 'redux-immutable' ?\n\nThis library doesn't dictate any specific reducer structure.\nWhile `redux-immutable` focuses on [CRC](https://github.com/gajus/canonical-reducer-composition), this library\nprovides some [conversion middlewares](https://github.com/gajus/redux-immutable/issues/3) from FSA to CCA\nand vise versa. If you feel like going with _Redux's vanilla_ is the right approach, then consider using our library.\n","repository":{"type":"git","url":"git+https://github.com/indexiatech/redux-immutable.git"},"users":{"edwardxyt":true},"bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"license":"BSD-3-Clause","versions":{"0.0.1":{"name":"redux-immutablejs","version":"0.0.1","description":"Redux Immutable facilities","scripts":{"start":"node server.js","build:lib":"babel src --out-dir lib"},"main":"lib/index.js","repository":{"type":"git","url":"https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0","immutable":"^3.7.5"},"devDependencies":{"babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","immutable":"^3.7.5","node-libs-browser":"^0.5.2","redux":"^2.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"68f59d387dd3663bc2374884bec58b27d96e90c0","_id":"redux-immutablejs@0.0.1","_shasum":"625edb4e10569e216c943f0dfe8062f666fbb441","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"625edb4e10569e216c943f0dfe8062f666fbb441","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.1.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}},"0.0.2":{"name":"redux-immutablejs","version":"0.0.2","description":"Redux Immutable facilities","scripts":{"start":"node server.js","build:lib":"babel src --out-dir lib"},"main":"lib/index.js","repository":{"type":"git","url":"https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0","immutable":"^3.7.5"},"devDependencies":{"babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","immutable":"^3.7.5","node-libs-browser":"^0.5.2","redux":"^2.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"11f02d9edd5145841650cfad5106629785322cb4","_id":"redux-immutablejs@0.0.2","_shasum":"6fdc70f880c56a4c963bb076a2da3fa6b3a96db5","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"6fdc70f880c56a4c963bb076a2da3fa6b3a96db5","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.2.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}},"0.0.3":{"name":"redux-immutablejs","version":"0.0.3","description":"Redux Immutable facilities","scripts":{"start":"node server.js","build:lib":"babel src --out-dir lib"},"main":"lib/index.js","repository":{"type":"git","url":"https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0","immutable":"^3.7.5"},"devDependencies":{"babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","immutable":"^3.7.5","node-libs-browser":"^0.5.2","redux":"^2.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"cf8c5363144d46a0f90ba8e18a66b35303730608","_id":"redux-immutablejs@0.0.3","_shasum":"b71da36879d94cd271c85abe0d46a63b5fb3c987","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"b71da36879d94cd271c85abe0d46a63b5fb3c987","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.3.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}},"0.0.4":{"name":"redux-immutablejs","version":"0.0.4","description":"Redux Immutable facilities","scripts":{"start":"node server.js","build:lib":"babel src --out-dir lib"},"main":"lib/index.js","repository":{"type":"git","url":"https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0","immutable":"^3.7.5"},"devDependencies":{"babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","immutable":"^3.7.5","node-libs-browser":"^0.5.2","redux":"^2.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"f19a46fda28efee3d3550c372bdf8e1d515ac88e","_id":"redux-immutablejs@0.0.4","_shasum":"bfda20187231879d151cd2addce7f925e0630995","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"bfda20187231879d151cd2addce7f925e0630995","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.4.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}},"0.0.5":{"name":"redux-immutablejs","version":"0.0.5","description":"Redux Immutable facilities","scripts":{"start":"node server.js","test":"mocha --recursive --compilers js:babel-core/register","test:watch":"npm test -- --watch","build:lib":"babel src --out-dir lib","build:publish":"npm publish"},"main":"lib/index.js","repository":{"type":"git","url":"https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0","immutable":"^3.7.5"},"devDependencies":{"babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","expect":"^1.9.0","immutable":"^3.7.5","node-libs-browser":"^0.5.2","redux":"^2.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"37c7f7be8862472c6792c7c1afafd72fb42b1998","_id":"redux-immutablejs@0.0.5","_shasum":"851f37d79aed6fa2643d9aa55f591a661c026411","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"851f37d79aed6fa2643d9aa55f591a661c026411","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.5.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}},"0.0.6":{"name":"redux-immutablejs","version":"0.0.6","description":"Redux Immutable facilities","scripts":{"start":"node server.js","test":"mocha --recursive --compilers js:babel-core/register","test:watch":"npm test -- --watch","build:lib":"babel src --out-dir lib","prepublish":"npm run build:lib","build:publish":"npm publish"},"main":"lib/index.js","repository":{"type":"git","url":"https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0 || ^3.0.0","immutable":"^3.7.5"},"devDependencies":{"babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","expect":"^1.9.0","immutable":"^3.7.5","mocha":"^2.3.2","node-libs-browser":"^0.5.2","redux":"^3.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"a4877f9420430f551fad57b7b7eee9cf6b04b54a","_id":"redux-immutablejs@0.0.6","_shasum":"e6f565c5af511e27194deef5b14b3de3d18c2012","_from":".","_npmVersion":"2.7.4","_nodeVersion":"0.12.2","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"e6f565c5af511e27194deef5b14b3de3d18c2012","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.6.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}},"0.0.7":{"name":"redux-immutablejs","version":"0.0.7","description":"Redux Immutable facilities","scripts":{"start":"node server.js","test":"mocha --recursive --compilers js:babel-core/register","test:watch":"npm test -- --watch","build:lib":"babel src --out-dir lib","prepublish":"npm run build:lib","build:publish":"npm publish"},"main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0 || ^3.0.0","immutable":"^3.7.5"},"devDependencies":{"babel":"^5.8.23","babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","expect":"^1.9.0","immutable":"^3.7.5","mocha":"^2.3.3","node-libs-browser":"^0.5.2","redux":"^3.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"a841793f63dd11120b83a04b43f1ccc719e41a31","_id":"redux-immutablejs@0.0.7","_shasum":"c0b351c58019ecff3d2e695eff4979eaa5c2f239","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.2","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"c0b351c58019ecff3d2e695eff4979eaa5c2f239","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.7.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}},"0.0.8":{"name":"redux-immutablejs","version":"0.0.8","description":"Redux Immutable facilities","scripts":{"start":"node server.js","test":"mocha --recursive --compilers js:babel-core/register","test:watch":"npm test -- --watch","build:lib":"babel src --out-dir lib","prepublish":"npm run build:lib","build:publish":"npm publish"},"main":"lib/index.js","files":["src","lib"],"repository":{"type":"git","url":"git+https://github.com/indexiatech/redux-immutable.git"},"author":{"name":"Indexia Tech"},"license":"BSD-3-Clause","bugs":{"url":"https://github.com/indexiatech/redux-immutablejs/issues"},"homepage":"http://indexiatech.github.io/redux-immutable","peerDependencies":{"redux":"^2.0.0 || ^3.0.0","immutable":"^3.7.5"},"devDependencies":{"babel":"^5.8.23","babel-core":"^5.6.18","babel-loader":"^5.1.4","eslint-config-airbnb":"0.0.8","eslint-plugin-react":"^3.3.1","expect":"^1.9.0","immutable":"^3.7.5","mocha":"^2.3.3","node-libs-browser":"^0.5.2","redux":"^3.0.0","webpack":"^1.9.11","webpack-dev-server":"^1.9.0"},"gitHead":"494c68cabc09814cd5049426911a3ce80bdc6eed","_id":"redux-immutablejs@0.0.8","_shasum":"2c173dac1aaebfb20ec86e076b7e2ce65f487a41","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.1.0","_npmUser":{"name":"asaf","email":"asaf000@gmail.com"},"dist":{"shasum":"2c173dac1aaebfb20ec86e076b7e2ce65f487a41","tarball":"http://nexus.dui88.com:8081/nexus/content/repositories/npm-registry/redux-immutablejs/-/redux-immutablejs-0.0.8.tgz"},"maintainers":[{"name":"asaf","email":"asaf000@gmail.com"}],"directories":{}}},"name":"redux-immutablejs","time":{"modified":"2016-12-07T17:39:50.878Z","created":"2015-09-04T15:18:11.810Z","0.0.1":"2015-09-04T15:18:11.810Z","0.0.2":"2015-09-04T15:26:48.611Z","0.0.3":"2015-09-04T19:59:43.163Z","0.0.4":"2015-09-09T19:57:50.554Z","0.0.5":"2015-09-10T23:41:07.564Z","0.0.6":"2015-09-13T12:44:11.487Z","0.0.7":"2015-10-19T00:24:49.071Z","0.0.8":"2015-12-17T10:30:17.215Z"},"readmeFilename":"README.md","homepage":"http://indexiatech.github.io/redux-immutable"}