/**
 *  Create Redux Atom Factory
 */
export default ({
  actionTypesFactory = () => ({}),
  selectorsFactory = () => ({}),
  repositoryFactory = () => ({}),
  actionCreatorsFactory = () => ({}),
  initialStateFactory = () => ({}),
  reducerFactory = () => ({})
}) => ({
  namespace = '',
  rootUrl = '',
  rootSelector = state => state
}) => {
  const actionTypes = actionTypesFactory(namespace)
  const selectors = selectorsFactory(rootSelector)
  const repository = repositoryFactory(rootUrl)
  const actionCreators = actionCreatorsFactory(actionTypes, selectors, repository)
  const initialState = initialStateFactory()
  const reducer = reducerFactory(actionTypes, initialState)

  return {
    actionTypes,
    ...actionTypes,
    actionCreators,
    ...actionCreators,
    reducer,
    selectors,
    ...selectors
  }
}

@@ -1,8 +1,33 @@
+const noop = () =%3E (%7B%7D)%0A%0A
 /**%0A *  
@@ -93,34 +93,28 @@
 esFactory = 
-() =%3E (%7B%7D)
+noop
 ,%0A  selector
@@ -120,34 +120,28 @@
 rsFactory = 
-() =%3E (%7B%7D)
+noop
 ,%0A  reposito
@@ -148,34 +148,28 @@
 ryFactory = 
-() =%3E (%7B%7D)
+noop
 ,%0A  actionCr
@@ -180,34 +180,28 @@
 rsFactory = 
-() =%3E (%7B%7D)
+noop
 ,%0A  initialS
@@ -214,26 +214,20 @@
 ctory = 
-() =%3E (%7B%7D)
+noop
 ,%0A  redu
@@ -239,26 +239,20 @@
 ctory = 
-() =%3E (%7B%7D)
+noop
 %0A%7D) =%3E (
@@ -267,24 +267,37 @@
 space = '',%0A
+  data = %7B%7D,%0A
   rootUrl = 
@@ -617,16 +617,20 @@
 Factory(
+data
 )%0A  cons

add initial data