diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2021-04-13 09:20:43 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2021-04-13 09:20:43 -0500 |
| commit | 484c6067af99f5118c8f88280572e68dd2af590e (patch) | |
| tree | 4e22f4b22d9f5c67dd2278984f608e67706204ee | |
| parent | f3619b20e1c5baa342eb7466c67c44d3192bb3eb (diff) | |
Replace FileReader with Blob.text()
| -rw-r--r-- | src/features/parser.ts | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/src/features/parser.ts b/src/features/parser.ts index 6ad1921..7839564 100644 --- a/src/features/parser.ts +++ b/src/features/parser.ts @@ -16,15 +16,13 @@ export function parseLabFile(file: File): Promise<Lab[]> { '315', ]; - const reader = new FileReader(); - return new Promise((resolve, reject) => { const result: Lab[] = []; - reader.onload = (event) => { + file.text().then((text) => { let jsonData; try { - jsonData = JSON.parse(event.target!.result as string); + jsonData = JSON.parse(text); } catch (e) { reject(new Error(e)); } @@ -62,21 +60,17 @@ export function parseLabFile(file: File): Promise<Lab[]> { }); resolve(result); - }; - - reader.readAsText(file); + }); }); } export function parsePtSchedule(file: File): Promise<PeerTeacher> { - const reader = new FileReader(); - return new Promise((resolve) => { - reader.onload = (event) => { + file.text().then((text) => { const peerTeacher = new PeerTeacher(); const namePattern = /^(.*)\s(.*)\s(\d{9})/; const eventPattern = /^(M?T?W?R?F?)\s(\d{1,2}:\d{2})\s?-\s?(\d{1,2}:\d{2})/; - const lines = (event.target!.result as string).split('\n').filter((line) => line.trim()); + const lines = text.split('\n').filter((line) => line.trim()); lines.forEach((line) => { const ptName = line.match(namePattern); @@ -95,9 +89,7 @@ export function parsePtSchedule(file: File): Promise<PeerTeacher> { }); resolve(peerTeacher); - }; - - reader.readAsText(file); + }); }); } @@ -105,11 +97,9 @@ export function parsePtDatabase(file: File): Promise<{ labs: Map<string, Lab>, peerTeachers: Map<number, PeerTeacher> }> { - const reader = new FileReader(); - return new Promise((resolve) => { - reader.onload = (event) => { - const jsonObj = JSON.parse(event.target!.result as string); + file.text().then((text) => { + const jsonObj = JSON.parse(text); const result = { labs: new Map(), peerTeachers: new Map(), @@ -134,8 +124,6 @@ export function parsePtDatabase(file: File): Promise<{ }); resolve(result); - }; - - reader.readAsText(file); + }); }); } |
