mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-18 23:09:49 +02:00
refactor(ganttDb.js): extract durationToDate function
codeclimate was complaining about the getEndDate function so I split it up
This commit is contained in:
@@ -159,6 +159,30 @@ const getStartDate = function (prevTime, dateFormat, str) {
|
|||||||
return new Date()
|
return new Date()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const durationToDate = function (durationStatement, relativeTime) {
|
||||||
|
if (durationStatement !== null) {
|
||||||
|
switch (durationStatement[2]) {
|
||||||
|
case 's':
|
||||||
|
relativeTime.add(durationStatement[1], 'seconds')
|
||||||
|
break
|
||||||
|
case 'm':
|
||||||
|
relativeTime.add(durationStatement[1], 'minutes')
|
||||||
|
break
|
||||||
|
case 'h':
|
||||||
|
relativeTime.add(durationStatement[1], 'hours')
|
||||||
|
break
|
||||||
|
case 'd':
|
||||||
|
relativeTime.add(durationStatement[1], 'days')
|
||||||
|
break
|
||||||
|
case 'w':
|
||||||
|
relativeTime.add(durationStatement[1], 'weeks')
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Default date - now
|
||||||
|
return relativeTime.toDate()
|
||||||
|
}
|
||||||
|
|
||||||
const getEndDate = function (prevTime, dateFormat, str, inclusive) {
|
const getEndDate = function (prevTime, dateFormat, str, inclusive) {
|
||||||
inclusive = inclusive || false
|
inclusive = inclusive || false
|
||||||
str = str.trim()
|
str = str.trim()
|
||||||
@@ -172,32 +196,10 @@ const getEndDate = function (prevTime, dateFormat, str, inclusive) {
|
|||||||
return mDate.toDate()
|
return mDate.toDate()
|
||||||
}
|
}
|
||||||
|
|
||||||
const d = moment(prevTime)
|
return durationToDate(
|
||||||
// Check for length
|
/^([\d]+)([wdhms])/.exec(str.trim()),
|
||||||
const re = /^([\d]+)([wdhms])/
|
moment(prevTime)
|
||||||
const durationStatement = re.exec(str.trim())
|
)
|
||||||
|
|
||||||
if (durationStatement !== null) {
|
|
||||||
switch (durationStatement[2]) {
|
|
||||||
case 's':
|
|
||||||
d.add(durationStatement[1], 'seconds')
|
|
||||||
break
|
|
||||||
case 'm':
|
|
||||||
d.add(durationStatement[1], 'minutes')
|
|
||||||
break
|
|
||||||
case 'h':
|
|
||||||
d.add(durationStatement[1], 'hours')
|
|
||||||
break
|
|
||||||
case 'd':
|
|
||||||
d.add(durationStatement[1], 'days')
|
|
||||||
break
|
|
||||||
case 'w':
|
|
||||||
d.add(durationStatement[1], 'weeks')
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Default date - now
|
|
||||||
return d.toDate()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let taskCnt = 0
|
let taskCnt = 0
|
||||||
|
Reference in New Issue
Block a user