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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQztBQUUzQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEVBQzNCLFFBQVEsRUFDUixRQUFRLEVBQ1IsS0FBSyxHQUtOLEVBQUUsRUFBRTtJQUNILE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FDckI7WUFDRSxJQUFJLEVBQUUsSUFBSTtZQUNWLEdBQUcsRUFBRSxRQUFRO1lBQ2IsTUFBTSxFQUFFLElBQUk7WUFDWixRQUFRLEVBQUUsSUFBSTtTQUNmLEVBQ0QsUUFBUSxDQUNULENBQUM7UUFFRixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7UUFDakIsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ25CLElBQUksR0FBRyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sRUFBRSxDQUFDO2dCQUNWLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNmO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0IsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLW5vZGUtZGF0YS1iYWNrdXAvc3JjL3Byb3ZpZGVyL3VwbG9hZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlIH0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCAqIGFzIHRhciBmcm9tICd0YXInO1xuXG5leHBvcnQgY29uc3QgdXBsb2FkID0gYXN5bmMgKHtcbiAgZGF0YVBhdGgsXG4gIGZpbGVMaXN0LFxuICB3cml0ZSxcbn06IHtcbiAgcmVhZG9ubHkgZGF0YVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgZmlsZUxpc3Q6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICByZWFkb25seSB3cml0ZTogV3JpdGFibGU7XG59KSA9PiB7XG4gIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZWFkID0gdGFyLmNyZWF0ZShcbiAgICAgIHtcbiAgICAgICAgZ3ppcDogdHJ1ZSxcbiAgICAgICAgY3dkOiBkYXRhUGF0aCxcbiAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICBwb3J0YWJsZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBmaWxlTGlzdCxcbiAgICApO1xuXG4gICAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgICBjb25zdCBjbGVhbnVwID0gKCkgPT4ge1xuICAgICAgZG9uZSA9IHRydWU7XG4gICAgfTtcblxuICAgIGNvbnN0IG9uRG9uZSA9ICgpID0+IHtcbiAgICAgIGlmICghZG9uZSkge1xuICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgb25FcnJvciA9IChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIGlmICghZG9uZSkge1xuICAgICAgICBjbGVhbnVwKCk7XG4gICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJlYWQub25jZSgnZXJyb3InLCBvbkVycm9yKTtcbiAgICB3cml0ZS5vbmNlKCdlcnJvcicsIG9uRXJyb3IpO1xuICAgIHdyaXRlLm9uY2UoJ2ZpbmlzaCcsIG9uRG9uZSk7XG4gICAgd3JpdGUub25jZSgnY29tcGxldGUnLCBvbkRvbmUpO1xuXG4gICAgcmVhZC5waXBlKHdyaXRlKTtcbiAgfSk7XG59O1xuIl19
|