import Tar from 'tar-js'; // converts a string to utf8 Uint8Array and returns it as a string-like
// object that `tar.append` accepts as path

function fixUnicodePath(path) {
  const codes = new TextEncoder().encode(path);
  return {
    length: codes.length,
    charCodeAt: index => codes[index]
  };
}

export function makeTar(data) {
  const tar = new Tar();

  for (const entry of data) {
    const path = fixUnicodePath(entry.path);
    tar.append(path, entry.data);
  }

  return tar.out;
}