export enum fileReaderType { text = "text", dataURL = "dataURL", } /** * Read a file using the FileReader API, either as a plain text string or as a DataURL string. * Returns a promise which will resolve with the file contents as a string or reject with a DOMException. * * @param {File} fileHandle - File object to read * @param {fileReaderType} type - How to read it */ export function readFile(fileHandle: File, type: fileReaderType) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.onload = () => resolve(reader.result); reader.onerror = () => reject(reader.error); switch (type) { case fileReaderType.text: reader.readAsText(fileHandle); break; case fileReaderType.dataURL: reader.readAsDataURL(fileHandle); break; default: reject("unknown type"); } }); }