This commit is contained in:
Tiara Rodney 2026-02-10 18:59:59 +01:00
commit 76266cedc6
No known key found for this signature in database
GPG key ID: 5CD8EC1D46106723
23 changed files with 4041 additions and 0 deletions

View file

@ -0,0 +1,42 @@
// mime-todo/lib/sprint.ts
export interface Sprint {
name: string
start: string // YYYY-MM-DD
end: string // YYYY-MM-DD
}
export function parseSprints(text: string): Sprint[] {
const lines = text.split(/\r?\n/)
const sprints: Sprint[] = []
let current: Partial<Sprint> | null = null
for (const line of lines) {
// Start of sprint entry (must not trim indentation)
if (/^\s*-\s*(Name:.*)?$/.test(line)) {
if (current) sprints.push(current as Sprint)
current = {}
const match = line.match(/^\s*-\s*Name:\s*(.*)$/)
if (match) current.name = match[1]
continue
}
// Key-value pairs (must be indented)
const kv = line.match(/^\s+([A-Za-z][A-Za-z0-9]*):\s*(.*)$/)
if (kv && current) {
const key = kv[1]
const value = kv[2]
if (key === "Name") current.name = value
if (key === "Range") {
const [start, end] = value.split("..")
current.start = start
current.end = end
}
}
}
if (current) sprints.push(current as Sprint)
return sprints
}