mirror of
https://github.com/outline/outline.git
synced 2025-12-30 15:30:12 -06:00
This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously. closes #1282
24 lines
492 B
TypeScript
24 lines
492 B
TypeScript
const CHECKBOX_REGEX = /\[(X|\s|_|-)\]\s(.*)?/gi;
|
|
|
|
export default function getTasks(text: string) {
|
|
const matches = [...text.matchAll(CHECKBOX_REGEX)];
|
|
const total = matches.length;
|
|
|
|
if (!total) {
|
|
return {
|
|
completed: 0,
|
|
total: 0,
|
|
};
|
|
} else {
|
|
const notCompleted = matches.reduce(
|
|
(accumulator, match) =>
|
|
match[1] === " " ? accumulator + 1 : accumulator,
|
|
0
|
|
);
|
|
return {
|
|
completed: total - notCompleted,
|
|
total,
|
|
};
|
|
}
|
|
}
|