import { useState, useEffect } from 'react';
import { ZonReader } from '@zon-lib/zon';
export function useZon(url) {
const [reader, setReader] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
async function fetchData() {
try {
const res = await fetch(url);
const arrayBuffer = await res.arrayBuffer();
const uint8 = new Uint8Array(arrayBuffer);
// Wrap
const zonReader = new ZonReader(uint8);
setReader(zonReader);
} catch (err) {
setError(err);
} finally {
setLoading(false);
}
}
fetchData();
}, [url]);
return { reader, loading, error };
}