Comparing version 0.2.15 to 0.2.16
@@ -30,3 +30,3 @@ /* Fluxury - Copyright 2015 Peter W Moresi */ | ||
createStore: function(name, initialState, reducer, waitFor=[]) { | ||
var currentState = initialState; | ||
var currentState = Object.freeze(initialState); | ||
var emitter = new EventEmitter(); | ||
@@ -38,3 +38,3 @@ | ||
if (currentState !== newState) { | ||
currentState = newState; | ||
currentState = Object.freeze(newState); | ||
emitter.emit(changedEvent); | ||
@@ -41,0 +41,0 @@ } |
@@ -44,3 +44,3 @@ /* Fluxury - Copyright 2015 Peter W Moresi */ | ||
var currentState = initialState; | ||
var currentState = Object.freeze(initialState); | ||
var emitter = new _fbemitter.EventEmitter(); | ||
@@ -52,3 +52,3 @@ | ||
if (currentState !== newState) { | ||
currentState = newState; | ||
currentState = Object.freeze(newState); | ||
emitter.emit(changedEvent); | ||
@@ -55,0 +55,0 @@ } |
{ | ||
"name": "fluxury", | ||
"version": "0.2.15", | ||
"version": "0.2.16", | ||
"description": "Add luxury sugar to simplify implementing Facebook's flavor of Flux architecture.", | ||
@@ -5,0 +5,0 @@ "main": "./lib/index.js", |
@@ -138,8 +138,10 @@ # fluxury | ||
var { SET } = createActions('SET'); | ||
var actions = createActions('SET'), | ||
SET = actions.SET; | ||
var store = Fluxury.createStore('MapStore', {}, function(state, action) { | ||
var store = createStore('MapStore', {}, function(state, action) { | ||
switch (action.type) { | ||
case SET: | ||
return Object.assign(state, action.data) | ||
// combine both objects into a single new object | ||
return Object.assign({}, state, action.data) | ||
default: | ||
@@ -150,9 +152,9 @@ return state; | ||
Fluxury.dispatch(SET, { states: ['CA', 'OR', 'WA'] }) | ||
dispatch(SET, { states: ['CA', 'OR', 'WA'] }) | ||
// store.getState() => { states: ['CA', 'OR', 'WA'] } | ||
Fluxury.dispatch(SET, { programs: [{ name: 'A', states: ['CA']}] }) | ||
dispatch(SET, { programs: [{ name: 'A', states: ['CA']}] }) | ||
// store.getState() => { states: ['CA', 'OR', 'WA'], programs: [{ name: 'A', states: ['CA']}] } | ||
Fluxury.dispatch(SET, { selectedState: 'CA' }) | ||
dispatch(SET, { selectedState: 'CA' }) | ||
// store.getState() => { states: ['CA', 'OR', 'WA'], { states: ['CA', 'OR', 'WA'], programs: [{ name: 'A', states: ['CA']}] }, selectedState: 'CA' } | ||
@@ -159,0 +161,0 @@ ``` |
@@ -28,3 +28,3 @@ var test = require('tape'); | ||
case SET: | ||
return assign(state, action.data) | ||
return assign({}, state, action.data) | ||
default: | ||
@@ -31,0 +31,0 @@ return state; |
11137
164