|
@@ -3,6 +3,8 @@
|
|
scriptfolder=$(dirname "$0")
|
|
scriptfolder=$(dirname "$0")
|
|
addwhat="$1"
|
|
addwhat="$1"
|
|
name="$2"
|
|
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" ]
|
|
if [ -z "$name" ]
|
|
then
|
|
then
|
|
@@ -32,8 +34,6 @@ case "$addwhat" in
|
|
then
|
|
then
|
|
echo "creating actions.js (don't forget to import in other files)"
|
|
echo "creating actions.js (don't forget to import in other files)"
|
|
fi
|
|
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"
|
|
reducer="$3"
|
|
props="${@:4}"
|
|
props="${@:4}"
|
|
actargs=$(echo $props | sed 's/\s\+/, /g')
|
|
actargs=$(echo $props | sed 's/\s\+/, /g')
|
|
@@ -54,6 +54,7 @@ case "$addwhat" in
|
|
-e "s/EXAMPLE/$actiontype/g" \
|
|
-e "s/EXAMPLE/$actiontype/g" \
|
|
$scriptfolder/exampleAction.js >> actions.js
|
|
$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" ]
|
|
if [ -e "$reducer" ]
|
|
then
|
|
then
|
|
sed -i \
|
|
sed -i \
|
|
@@ -71,14 +72,14 @@ case "$addwhat" in
|
|
echo "add epic"
|
|
echo "add epic"
|
|
if [ -d "epics" ]
|
|
if [ -d "epics" ]
|
|
then
|
|
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
|
|
else
|
|
#TODO: add epics folder and template epics/index.js if not present (with user confirmation?)
|
|
#TODO: add epics folder and template epics/index.js if not present (with user confirmation?)
|
|
echo "need epics folder (for now)"
|
|
echo "need epics folder (for now)"
|
|
fi
|
|
fi
|
|
- echo "added epic $name to epics/ and epics/index.js"
|
|
|
|
|
|
+ echo "added epic $camelcase to epics/ and epics/index.js"
|
|
;;
|
|
;;
|
|
|
|
|
|
|
|
|