chore: Move to Typescript (#2783)
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
This commit is contained in:
23
shared/utils/getTasks.ts
Normal file
23
shared/utils/getTasks.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
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,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user