UNPKG

3.69 kBJavaScriptView Raw
1import * as tar from 'tar';
2export const upload = async ({ dataPath, fileList, write, }) => {
3 await new Promise((resolve, reject) => {
4 const read = tar.create({
5 gzip: true,
6 cwd: dataPath,
7 strict: true,
8 portable: true,
9 }, fileList);
10 let done = false;
11 const cleanup = () => {
12 done = true;
13 };
14 const onDone = () => {
15 if (!done) {
16 cleanup();
17 resolve();
18 }
19 };
20 const onError = (error) => {
21 if (!done) {
22 cleanup();
23 reject(error);
24 }
25 };
26 read.once('error', onError);
27 write.once('error', onError);
28 write.once('finish', onDone);
29 write.once('complete', onDone);
30 read.pipe(write);
31 });
32};
33
34//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEVBQzNCLFFBQVEsRUFDUixRQUFRLEVBQ1IsS0FBSyxHQUtOLEVBQUUsRUFBRTtJQUNILE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FDckI7WUFDRSxJQUFJLEVBQUUsSUFBSTtZQUNWLEdBQUcsRUFBRSxRQUFRO1lBQ2IsTUFBTSxFQUFFLElBQUk7WUFDWixRQUFRLEVBQUUsSUFBSTtTQUNmLEVBQ0QsUUFBUSxDQUNULENBQUM7UUFFRixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFDakIsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ25CLElBQUksR0FBRyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sRUFBRSxDQUFDO2dCQUNWLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNmO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtZGF0YS1iYWNrdXAvc3JjL3Byb3ZpZGVyL3VwbG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlIH0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCAqIGFzIHRhciBmcm9tICd0YXInO1xuXG5leHBvcnQgY29uc3QgdXBsb2FkID0gYXN5bmMgKHtcbiAgZGF0YVBhdGgsXG4gIGZpbGVMaXN0LFxuICB3cml0ZSxcbn06IHtcbiAgcmVhZG9ubHkgZGF0YVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgZmlsZUxpc3Q6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPjtcbiAgcmVhZG9ubHkgd3JpdGU6IFdyaXRhYmxlO1xufSkgPT4ge1xuICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgcmVhZCA9IHRhci5jcmVhdGUoXG4gICAgICB7XG4gICAgICAgIGd6aXA6IHRydWUsXG4gICAgICAgIGN3ZDogZGF0YVBhdGgsXG4gICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgcG9ydGFibGU6IHRydWUsXG4gICAgICB9LFxuICAgICAgZmlsZUxpc3QsXG4gICAgKTtcblxuICAgIGxldCBkb25lID0gZmFsc2U7XG4gICAgY29uc3QgY2xlYW51cCA9ICgpID0+IHtcbiAgICAgIGRvbmUgPSB0cnVlO1xuICAgIH07XG5cbiAgICBjb25zdCBvbkRvbmUgPSAoKSA9PiB7XG4gICAgICBpZiAoIWRvbmUpIHtcbiAgICAgICAgY2xlYW51cCgpO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IG9uRXJyb3IgPSAoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICBpZiAoIWRvbmUpIHtcbiAgICAgICAgY2xlYW51cCgpO1xuICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZWFkLm9uY2UoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgd3JpdGUub25jZSgnZXJyb3InLCBvbkVycm9yKTtcbiAgICB3cml0ZS5vbmNlKCdmaW5pc2gnLCBvbkRvbmUpO1xuICAgIHdyaXRlLm9uY2UoJ2NvbXBsZXRlJywgb25Eb25lKTtcblxuICAgIHJlYWQucGlwZSh3cml0ZSk7XG4gIH0pO1xufTtcbiJdfQ==