Skip to content
Snippets Groups Projects
Select Git revision
  • fef0fa6a22d4259d3a43b2f9b94aa2cf0ec11f9f
  • master default protected
  • devel
  • hruska-feature-clients-api
  • malostik-#5066-deduplicate-idea-ids
  • warden-postgresql-port
  • hruska-feature-#6799-filter-keys
  • hruska-feature-5066-duplicateIdeaID
  • warden-client-3.0-beta3
  • warden-server-3.0-beta3
  • warden-client-2.2-final
  • warden-server-2.2-final
  • warden-client-3.0-beta2
  • warden-server-3.0-beta2
  • warden-client-2.2
  • warden-server-2.2-patch3
  • warden-client-3.0-beta1
  • warden-server-3.0-beta1
  • warden-server-2.2-patch1
  • warden-client-3.0-beta0
  • warden-server-3.0-beta0
  • warden-server-2.2
  • warden-server-2.1-patch1
  • warden-client-2.1
  • warden-server-2.1
  • warden-server-2.1-beta6
  • warden-server-2.1-beta5
  • warden-server-2.1-beta4
28 results

README

Blame
  • Forked from 713 / Warden / Warden - archive
    Source project has a limited visibility.
    read.ts 1.34 KiB
    /**
     * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
     *
     * @author Alexander Rose <alexander.rose@weirdbyte.de>
     */
    
    export function readFile (file: File, isBinary = false) {
        const fileReader = new FileReader()
        return new Promise<string | Uint8Array>((resolve, reject) => {
            fileReader.onerror = () => {
                fileReader.abort()
                reject(new DOMException('Error parsing file.'))
            }
            fileReader.onload = () => {
                resolve(isBinary ? new Uint8Array(fileReader.result as ArrayBuffer) : fileReader.result as string)
            }
            if (isBinary) {
                fileReader.readAsArrayBuffer(file)
            } else {
                fileReader.readAsText(file)
            }
        })
    }
    
    export function readFileAsText(file: File) {
        return readFile(file, false) as Promise<string>
    }
    
    export function readFileAsBuffer(file: File) {
        return readFile(file, true) as Promise<Uint8Array>
    }
    
    export async function readUrl(url: string, isBinary: boolean) {
        const response = await fetch(url);
        return isBinary ? new Uint8Array(await response.arrayBuffer()) : await response.text();
    }
    
    export function readUrlAsText(url: string) {
        return readUrl(url, false) as Promise<string>
    }
    
    export function readUrlAsBuffer(url: string) {
        return readUrl(url, true) as Promise<Uint8Array>
    }