UNPKG

oneframe-react

Version:

Oneframe React ## Components, Hooks, Helper Functions & State Management

37 lines (36 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = require("react"); const noop = () => { }; exports.default = (options) => { const { method = 'readAsText', onload: onloadHook = noop } = options; const [file, setFile] = react_1.useState(null); const [error, setError] = react_1.useState(null); const [result, setResult] = react_1.useState(null); const [loading, setLoading] = react_1.useState(false); react_1.useEffect(() => { if (!file) return; const reader = new FileReader(); reader.onloadstart = () => { setLoading(true); }; reader.onloadend = () => { setLoading(false); }; reader.onload = (e) => { setResult(e.target.result); onloadHook(e.target.result); }; reader.onerror = (e) => { setError(e); }; try { reader[method](file); } catch (e) { setError(e); } }, [file, method, onloadHook]); return [{ result, error, file, loading }, setFile]; };