@tokens-studio/sdk
Version:
The official SDK for Tokens Studio
25 lines • 892 B
JavaScript
import JSZip from 'jszip';
export async function fetchZIP(url) {
let files = [];
const res = await fetch(url, {
headers: { 'Content-Type': 'application/zip' },
});
if (res.status === 200) {
// using buffer because JSZip does not work with ReadableStream or Blob
// see https://github.com/Stuk/jszip/issues/899
const buff = await res.arrayBuffer();
const data = await JSZip.loadAsync(buff);
const readFileFromZip = async (filename) => {
const contents = await data.file(filename)?.async('string');
return {
filename,
contents,
};
};
files = (await Promise.all(Object.values(data.files)
.filter(({ dir }) => !dir)
.map(({ name }) => readFileFromZip(name))));
}
return files;
}
//# sourceMappingURL=fetch-zip.js.map