Extract tag parsing in separate function

This commit is contained in:
Gijs van Dam
2019-02-01 13:27:42 +08:00
parent 5565d36ef2
commit 9dbb3767e2

View File

@@ -158,30 +158,8 @@ const compileData = function (prevTask, dataStr) {
const task = {} const task = {}
// Get tags like active, done, crit and milestone // Get tags like active, done, crit and milestone
let matchFound = true getTaskTags(data, task)
while (matchFound) {
matchFound = false
if (data[0].match(/^\s*active\s*$/)) {
task.active = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*done\s*$/)) {
task.done = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*crit\s*$/)) {
task.crit = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*milestone\s*$/)) {
task.milestone = true
data.shift(1)
matchFound = true
}
}
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
data[i] = data[i].trim() data[i] = data[i].trim()
} }
@@ -221,30 +199,8 @@ const parseData = function (prevTaskId, dataStr) {
const task = {} const task = {}
// Get tags like active, done, crit and milestone // Get tags like active, done, crit and milestone
let matchFound = true getTaskTags(data, task)
while (matchFound) {
matchFound = false
if (data[0].match(/^\s*active\s*$/)) {
task.active = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*done\s*$/)) {
task.done = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*crit\s*$/)) {
task.crit = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*milestone\s*$/)) {
task.milestone = true
data.shift(1)
matchFound = true
}
}
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
data[i] = data[i].trim() data[i] = data[i].trim()
} }
@@ -373,3 +329,30 @@ export default {
findTaskById, findTaskById,
addTaskOrg addTaskOrg
} }
function getTaskTags (data, task) {
let matchFound = true
while (matchFound) {
matchFound = false
if (data[0].match(/^\s*active\s*$/)) {
task.active = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*done\s*$/)) {
task.done = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*crit\s*$/)) {
task.crit = true
data.shift(1)
matchFound = true
}
if (data[0].match(/^\s*milestone\s*$/)) {
task.milestone = true
data.shift(1)
matchFound = true
}
}
}