1 | import * as tar from 'tar';
|
2 | export 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==
|