Browse Source

updated epic adder

Brandon Wong 7 years ago
parent
commit
55891873f3
1 changed files with 7 additions and 6 deletions
  1. 7 6
      utils/reduxadder.sh

+ 7 - 6
utils/reduxadder.sh

@@ -3,6 +3,8 @@
 scriptfolder=$(dirname "$0")
 addwhat="$1"
 name="$2"
+camelcase=$(echo $name | sed -e 's/\b\(.\)/\u\1/g' -e 's/\(.*\)/\l\1/' -e 's/\s//g')
+actiontype=$(echo $name | sed -e 's/\(.*\)/\U\1/' -e 's/\s/-/g')
 
 if [ -z "$name" ]
 then
@@ -32,8 +34,6 @@ case "$addwhat" in
         then
             echo "creating actions.js (don't forget to import in other files)"
         fi
-        actiontype=$(echo $name | sed -e 's/\(.*\)/\U\1/' -e 's/\s/-/g')
-        camelcase=$(echo $name | sed -e 's/\b\(.\)/\u\1/g' -e 's/\(.*\)/\l\1/' -e 's/\s//g')
         reducer="$3"
         props="${@:4}"
         actargs=$(echo $props | sed 's/\s\+/, /g')
@@ -54,6 +54,7 @@ case "$addwhat" in
             -e "s/EXAMPLE/$actiontype/g" \
             $scriptfolder/exampleAction.js >> actions.js
 
+        #TODO: consider adding option to add to epic AND/OR reducer (check for ".js", check for basename, etc) (all following arguments are action parameters)
         if [ -e "$reducer" ]
         then
             sed -i \
@@ -71,14 +72,14 @@ case "$addwhat" in
         echo "add epic"
         if [ -d "epics" ]
         then
-            sed "s/example/$name/g" $scriptfolder/exampleEpic.js > epics/$name.js
-            sed -i "s/import { combineEpics } from 'redux-observable';/import { combineEpics } from 'redux-observable';\nimport $name from '.\/$name.js';/g" epics/index.js
-            sed -i "s/combineEpics(/combineEpics(\n    $name,/g" epics/index.js
+            sed -e "s/example/$camelcase/g" -e "s/PING/$actiontype/g" $scriptfolder/exampleEpic.js > epics/$camelcase.js
+            sed -i "s/import { combineEpics } from 'redux-observable';/import { combineEpics } from 'redux-observable';\nimport $camelcase from '.\/$camelcase.js';/g" epics/index.js
+            sed -i "s/combineEpics(/combineEpics(\n    $camelcase,/g" epics/index.js
         else
             #TODO: add epics folder and template epics/index.js if not present (with user confirmation?)
             echo "need epics folder (for now)"
         fi
-        echo "added epic $name to epics/ and epics/index.js"
+        echo "added epic $camelcase to epics/ and epics/index.js"
         ;;