@juzi/file-box 1.7.4 → 1.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/cjs/src/config.d.ts +1 -0
- package/dist/cjs/src/config.d.ts.map +1 -1
- package/dist/cjs/src/config.js +2 -1
- package/dist/cjs/src/config.js.map +1 -1
- package/dist/cjs/src/file-box.d.ts +2 -2
- package/dist/cjs/src/file-box.d.ts.map +1 -1
- package/dist/cjs/src/misc.d.ts +1 -1
- package/dist/cjs/src/misc.d.ts.map +1 -1
- package/dist/cjs/src/misc.js +88 -190
- package/dist/cjs/src/misc.js.map +1 -1
- package/dist/cjs/src/version.d.ts +3 -2
- package/dist/cjs/src/version.d.ts.map +1 -1
- package/dist/cjs/src/version.js +5 -4
- package/dist/cjs/src/version.js.map +1 -1
- package/dist/esm/src/config.d.ts +1 -0
- package/dist/esm/src/config.d.ts.map +1 -1
- package/dist/esm/src/config.js +1 -0
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/file-box.d.ts +2 -2
- package/dist/esm/src/file-box.d.ts.map +1 -1
- package/dist/esm/src/misc.d.ts +1 -1
- package/dist/esm/src/misc.d.ts.map +1 -1
- package/dist/esm/src/misc.js +89 -191
- package/dist/esm/src/misc.js.map +1 -1
- package/dist/esm/src/version.d.ts +3 -2
- package/dist/esm/src/version.d.ts.map +1 -1
- package/dist/esm/src/version.js +3 -2
- package/dist/esm/src/version.js.map +1 -1
- package/package.json +6 -3
- package/src/config.ts +6 -1
- package/src/misc.ts +106 -228
- package/src/version.ts +4 -2
package/README.md
CHANGED
|
@@ -478,7 +478,11 @@ console.log(fileBox.remoteSize)
|
|
|
478
478
|
|
|
479
479
|
Environment variables can be used to control some behavior.
|
|
480
480
|
|
|
481
|
-
- `
|
|
481
|
+
- `FILEBOX_HTTP_REQUEST_TIMEOUT` [default=10000] The timeout period for establishing a communication request with the server. For example, if the network is unavailable or the delay is too high, communication cannot be successfully established.
|
|
482
|
+
- `FILEBOX_HTTP_RESPONSE_TIMEOUT` [default=60000] Socket idle timeout when FileBox downloads data from URL. For example, when the network is temporarily interrupted, the request will be considered as failed after waiting for a specified time.
|
|
483
|
+
- ~~`FILEBOX_HTTP_TIMEOUT` [default=60000]~~ **Deprecated!** Please use `FILEBOX_HTTP_RESPONSE_TIMEOUT`.
|
|
484
|
+
- `NO_SLICE_DOWN` [default=false] Whether to turn off slice downloading. If the network is unstable, an error while downloading the file will cause the file download to fail. If it is not closed, the file will be divided into multiple fragments for downloading, and breakpoint re-downloading is supported.
|
|
485
|
+
- `HTTP_CHUNK_SIZE` [default=524288] When downloading a file using slicing, the number of bytes in each slice.
|
|
482
486
|
|
|
483
487
|
## SCHEMAS
|
|
484
488
|
|
package/dist/cjs/src/config.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference path="../../../src/typings.d.ts" />
|
|
2
2
|
export { VERSION } from './version.js';
|
|
3
3
|
export declare const HTTP_TIMEOUT: number;
|
|
4
|
+
export declare const NO_SLICE_DOWN: boolean;
|
|
4
5
|
export declare const HTTP_CHUNK_SIZE: number;
|
|
5
6
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,YAAY,QACX,CAAA;AAEd,eAAO,MAAM,eAAe,QACb,CAAA"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,YAAY,QACX,CAAA;AAEd,eAAO,MAAM,aAAa,SAAkD,CAAA;AAE5E,eAAO,MAAM,eAAe,QACb,CAAA"}
|
package/dist/cjs/src/config.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HTTP_CHUNK_SIZE = exports.HTTP_TIMEOUT = exports.VERSION = void 0;
|
|
3
|
+
exports.HTTP_CHUNK_SIZE = exports.NO_SLICE_DOWN = exports.HTTP_TIMEOUT = exports.VERSION = void 0;
|
|
4
4
|
/// <reference path="./typings.d.ts" />
|
|
5
5
|
var version_js_1 = require("./version.js");
|
|
6
6
|
Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_js_1.VERSION; } });
|
|
7
7
|
exports.HTTP_TIMEOUT = Number(process.env['FILEBOX_HTTP_TIMEOUT'])
|
|
8
8
|
|| 60 * 1000;
|
|
9
|
+
exports.NO_SLICE_DOWN = process.env['FILEBOX_NO_SLICE_DOWN'] === 'true';
|
|
9
10
|
exports.HTTP_CHUNK_SIZE = Number(process.env['FILEBOX_HTTP_CHUNK_SIZE'])
|
|
10
11
|
|| 1024 * 512;
|
|
11
12
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,2CAAsC;AAA7B,qGAAA,OAAO,OAAA;AAEH,QAAA,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;OAClE,EAAE,GAAG,IAAI,CAAA;AAED,QAAA,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;OACxE,IAAI,GAAG,GAAG,CAAA"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,2CAAsC;AAA7B,qGAAA,OAAO,OAAA;AAEH,QAAA,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;OAClE,EAAE,GAAG,IAAI,CAAA;AAED,QAAA,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,MAAM,CAAA;AAE/D,QAAA,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;OACxE,IAAI,GAAG,GAAG,CAAA"}
|
|
@@ -17,7 +17,7 @@ declare class FileBox implements Pipeable, FileBoxInterface {
|
|
|
17
17
|
* Static Properties
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
|
-
static readonly version
|
|
20
|
+
static readonly version = "0.0.0";
|
|
21
21
|
/**
|
|
22
22
|
* Symbol.hasInstance: instanceof
|
|
23
23
|
*
|
|
@@ -102,7 +102,7 @@ declare class FileBox implements Pipeable, FileBoxInterface {
|
|
|
102
102
|
* Instance Properties
|
|
103
103
|
*
|
|
104
104
|
*/
|
|
105
|
-
readonly version
|
|
105
|
+
readonly version = "0.0.0";
|
|
106
106
|
/**
|
|
107
107
|
* We are using a getter for `type` is because
|
|
108
108
|
* getter name can be enumurated by the `Object.hasOwnProperties()`*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-box.d.ts","sourceRoot":"","sources":["../../../src/file-box.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;AAIH,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAMjC,OAAO,EAEL,QAAQ,EACR,QAAQ,EACT,MAA8B,QAAQ,CAAA;AAUvC,OAAO,EACL,iBAAiB,EACjB,cAAc,EAMd,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACV,MAA8B,oBAAoB,CAAA;AAenD,OAAO,KAAK,EACV,gBAAgB,EACjB,MAA8B,gBAAgB,CAAA;AAQ/C,cAAM,OAAQ,YAAW,QAAQ,EAAE,gBAAgB;IAEjD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"file-box.d.ts","sourceRoot":"","sources":["../../../src/file-box.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/misc.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
import http from 'http';
|
|
5
|
-
import { Readable } from 'stream';
|
|
5
|
+
import type { Readable } from 'stream';
|
|
6
6
|
export declare function dataUrlToBase64(dataUrl: string): string;
|
|
7
7
|
/**
|
|
8
8
|
* Get http headers for specific `url`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;AAKA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAiBtC,wBAAgB,eAAe,CAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CA6BpF;AAED,wBAAgB,oBAAoB,CAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,MAAM,CAetF;AAED,wBAAsB,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoBxG;AA8ED,wBAAsB,cAAc,CAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAMvE"}
|
package/dist/cjs/src/misc.js
CHANGED
|
@@ -4,11 +4,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.streamToBuffer = exports.httpStream = exports.httpHeaderToFileName = exports.httpHeadHeader = exports.dataUrlToBase64 = void 0;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
const crypto_1 = require("crypto");
|
|
9
|
+
const events_1 = require("events");
|
|
10
|
+
const fs_1 = require("fs");
|
|
11
|
+
const promises_1 = require("fs/promises");
|
|
7
12
|
const http_1 = __importDefault(require("http"));
|
|
8
13
|
const https_1 = __importDefault(require("https"));
|
|
14
|
+
const os_1 = require("os");
|
|
15
|
+
const path_1 = require("path");
|
|
9
16
|
const url_1 = require("url");
|
|
10
|
-
const stream_1 = require("stream");
|
|
11
17
|
const config_js_1 = require("./config.js");
|
|
18
|
+
const protocolMap = {
|
|
19
|
+
'http:': { agent: http_1.default.globalAgent, request: http_1.default.request },
|
|
20
|
+
'https:': { agent: https_1.default.globalAgent, request: https_1.default.request },
|
|
21
|
+
};
|
|
22
|
+
function getProtocol(protocol) {
|
|
23
|
+
(0, assert_1.default)(protocolMap[protocol], new Error('unknown protocol: ' + protocol));
|
|
24
|
+
return protocolMap[protocol];
|
|
25
|
+
}
|
|
12
26
|
function dataUrlToBase64(dataUrl) {
|
|
13
27
|
const dataList = dataUrl.split(',');
|
|
14
28
|
return dataList[dataList.length - 1];
|
|
@@ -27,7 +41,10 @@ async function httpHeadHeader(url) {
|
|
|
27
41
|
if (REDIRECT_TTL-- <= 0) {
|
|
28
42
|
throw new Error(`ttl expired! too many(>${REDIRECT_TTL}) 302 redirection.`);
|
|
29
43
|
}
|
|
30
|
-
const res = await
|
|
44
|
+
const res = await fetch(url, {
|
|
45
|
+
method: 'HEAD',
|
|
46
|
+
});
|
|
47
|
+
res.destroy();
|
|
31
48
|
if (!/^3/.test(String(res.statusCode))) {
|
|
32
49
|
if (originUrl !== url) {
|
|
33
50
|
res.headers.location = url;
|
|
@@ -40,37 +57,6 @@ async function httpHeadHeader(url) {
|
|
|
40
57
|
}
|
|
41
58
|
url = res.headers.location;
|
|
42
59
|
}
|
|
43
|
-
async function _headHeader(destUrl) {
|
|
44
|
-
const parsedUrl = new url_1.URL(destUrl);
|
|
45
|
-
const options = {
|
|
46
|
-
method: 'HEAD',
|
|
47
|
-
// method : 'GET',
|
|
48
|
-
};
|
|
49
|
-
let request;
|
|
50
|
-
if (parsedUrl.protocol === 'https:') {
|
|
51
|
-
request = https_1.default.request;
|
|
52
|
-
}
|
|
53
|
-
else if (parsedUrl.protocol === 'http:') {
|
|
54
|
-
request = http_1.default.request;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
throw new Error('unknown protocol: ' + parsedUrl.protocol);
|
|
58
|
-
}
|
|
59
|
-
return new Promise((resolve, reject) => {
|
|
60
|
-
let res;
|
|
61
|
-
const req = request(parsedUrl, options, (response) => {
|
|
62
|
-
res = response;
|
|
63
|
-
resolve(res);
|
|
64
|
-
})
|
|
65
|
-
.on('error', reject)
|
|
66
|
-
.setTimeout(config_js_1.HTTP_TIMEOUT, () => {
|
|
67
|
-
const e = new Error(`FileBox: Http request timeout (${config_js_1.HTTP_TIMEOUT})!`);
|
|
68
|
-
req.emit('error', e);
|
|
69
|
-
req.destroy();
|
|
70
|
-
})
|
|
71
|
-
.end();
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
60
|
}
|
|
75
61
|
exports.httpHeadHeader = httpHeadHeader;
|
|
76
62
|
function httpHeaderToFileName(headers) {
|
|
@@ -90,183 +76,95 @@ async function httpStream(url, headers = {}) {
|
|
|
90
76
|
const headHeaders = await httpHeadHeader(url);
|
|
91
77
|
if (headHeaders.location) {
|
|
92
78
|
url = headHeaders.location;
|
|
79
|
+
const { protocol } = new url_1.URL(url);
|
|
80
|
+
getProtocol(protocol);
|
|
93
81
|
}
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
let get;
|
|
98
|
-
if (!protocol) {
|
|
99
|
-
throw new Error('protocol is empty');
|
|
100
|
-
}
|
|
101
|
-
if (protocol.match(/^https:/i)) {
|
|
102
|
-
get = https_1.default.get;
|
|
103
|
-
options.agent = https_1.default.globalAgent;
|
|
104
|
-
}
|
|
105
|
-
else if (protocol.match(/^http:/i)) {
|
|
106
|
-
get = http_1.default.get;
|
|
107
|
-
options.agent = http_1.default.globalAgent;
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
throw new Error('protocol unknown: ' + protocol);
|
|
111
|
-
}
|
|
112
|
-
options.headers = {
|
|
113
|
-
...headers,
|
|
82
|
+
const options = {
|
|
83
|
+
headers: { ...headers },
|
|
84
|
+
method: 'GET',
|
|
114
85
|
};
|
|
115
86
|
const fileSize = Number(headHeaders['content-length']);
|
|
116
|
-
if (headHeaders['accept-ranges'] === 'bytes' && fileSize > config_js_1.HTTP_CHUNK_SIZE) {
|
|
117
|
-
return await downloadFileInChunks(
|
|
87
|
+
if (!config_js_1.NO_SLICE_DOWN && headHeaders['accept-ranges'] === 'bytes' && fileSize > config_js_1.HTTP_CHUNK_SIZE) {
|
|
88
|
+
return await downloadFileInChunks(url, options, fileSize, config_js_1.HTTP_CHUNK_SIZE);
|
|
118
89
|
}
|
|
119
90
|
else {
|
|
120
|
-
return await
|
|
91
|
+
return await fetch(url, options);
|
|
121
92
|
}
|
|
122
93
|
}
|
|
123
94
|
exports.httpStream = httpStream;
|
|
124
|
-
async function
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
req.destroy();
|
|
140
|
-
})
|
|
141
|
-
.end();
|
|
142
|
-
});
|
|
95
|
+
async function fetch(url, options) {
|
|
96
|
+
const { protocol } = new url_1.URL(url);
|
|
97
|
+
const { request, agent } = getProtocol(protocol);
|
|
98
|
+
const opts = {
|
|
99
|
+
agent,
|
|
100
|
+
...options,
|
|
101
|
+
};
|
|
102
|
+
const req = request(url, opts)
|
|
103
|
+
.setTimeout(config_js_1.HTTP_TIMEOUT)
|
|
104
|
+
.once('timeout', () => {
|
|
105
|
+
req.destroy(new Error(`FileBox: Http request timeout (${config_js_1.HTTP_TIMEOUT})!`));
|
|
106
|
+
})
|
|
107
|
+
.end();
|
|
108
|
+
const [res] = (await (0, events_1.once)(req, 'response'));
|
|
109
|
+
return res;
|
|
143
110
|
}
|
|
144
|
-
async function downloadFileInChunks(
|
|
145
|
-
const
|
|
146
|
-
const
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
111
|
+
async function downloadFileInChunks(url, options, fileSize, chunkSize = config_js_1.HTTP_CHUNK_SIZE) {
|
|
112
|
+
const tmpFile = (0, path_1.join)((0, os_1.tmpdir)(), `filebox-${(0, crypto_1.randomUUID)()}`);
|
|
113
|
+
const writeStream = (0, fs_1.createWriteStream)(tmpFile);
|
|
114
|
+
const allowStatusCode = [200, 206];
|
|
115
|
+
const requestBaseOptions = {
|
|
116
|
+
headers: {},
|
|
117
|
+
...options,
|
|
118
|
+
timeout: config_js_1.HTTP_TIMEOUT,
|
|
151
119
|
};
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
let
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
const start = i * chunkSize;
|
|
160
|
-
const end = Math.min((i + 1) * chunkSize - 1, fileSize - 1);
|
|
120
|
+
let chunkSeq = 0;
|
|
121
|
+
let start = 0;
|
|
122
|
+
let end = 0;
|
|
123
|
+
let downSize = 0;
|
|
124
|
+
let retries = 3;
|
|
125
|
+
while (downSize < fileSize) {
|
|
126
|
+
end = Math.min(start + chunkSize, fileSize - 1);
|
|
161
127
|
const range = `bytes=${start}-${end}`;
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
stream.destroy(new Error('Signal aborted.'));
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
const requestOptions = {
|
|
168
|
-
...options,
|
|
169
|
-
signal: ac.signal,
|
|
170
|
-
timeout: config_js_1.HTTP_TIMEOUT,
|
|
171
|
-
};
|
|
172
|
-
if (!requestOptions.headers) {
|
|
173
|
-
requestOptions.headers = {};
|
|
174
|
-
}
|
|
128
|
+
const requestOptions = Object.assign({}, requestBaseOptions);
|
|
129
|
+
(0, assert_1.default)(requestOptions.headers, 'Errors that should not happen: Invalid headers');
|
|
175
130
|
requestOptions.headers['Range'] = range;
|
|
176
131
|
try {
|
|
177
|
-
const
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if (chunk.destroyed) {
|
|
185
|
-
throw new Error('chunk stream destroyed');
|
|
186
|
-
}
|
|
187
|
-
const buf = await streamToBuffer(chunk);
|
|
188
|
-
stream.push(buf);
|
|
189
|
-
chunksDownloaded++;
|
|
190
|
-
dataTotalSize += buf.length;
|
|
191
|
-
if (chunksDownloaded === chunksCount || dataTotalSize >= fileSize) {
|
|
192
|
-
stream.push(null);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
catch (err) {
|
|
196
|
-
if (retries === 0) {
|
|
197
|
-
stream.emit('error', err);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
await doDownloadChunk(i, retries - 1);
|
|
132
|
+
const res = await fetch(url, options);
|
|
133
|
+
(0, assert_1.default)(allowStatusCode.includes(res.statusCode ?? 0), `Request failed with status code ${res.statusCode}`);
|
|
134
|
+
(0, assert_1.default)(Number(res.headers['content-length']) > 0, 'Server returned 0 bytes of data');
|
|
135
|
+
for await (const chunk of res) {
|
|
136
|
+
(0, assert_1.default)(Buffer.isBuffer(chunk));
|
|
137
|
+
downSize += chunk.length;
|
|
138
|
+
writeStream.write(chunk);
|
|
201
139
|
}
|
|
140
|
+
res.destroy();
|
|
202
141
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
142
|
+
catch (error) {
|
|
143
|
+
const err = error;
|
|
144
|
+
if (--retries <= 0) {
|
|
145
|
+
void (0, promises_1.rm)(tmpFile, { force: true });
|
|
146
|
+
writeStream.close();
|
|
147
|
+
throw new Error(`Download file with chunk failed! ${err.message}`, { cause: err });
|
|
208
148
|
}
|
|
209
|
-
await doDownloadChunk(i, 3);
|
|
210
149
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
let resolved = false;
|
|
221
|
-
const req = get(url, requestOptions, (res) => {
|
|
222
|
-
const statusCode = res.statusCode ?? 0;
|
|
223
|
-
// console.info('downloadChunk(%d) statusCode: %d rsp.headers: %o', attempt, statusCode, res.headers)
|
|
224
|
-
if (statusCode < 200 || statusCode >= 300) {
|
|
225
|
-
if (attempt < retries) {
|
|
226
|
-
void doRequest(attempt + 1);
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
229
|
-
reject(new Error(`Request failed with status code ${res.statusCode}`));
|
|
230
|
-
}
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
const stream = (0, stream_1.pipeline)(res, new stream_1.PassThrough(), () => { });
|
|
234
|
-
resolve(stream);
|
|
235
|
-
resolved = true;
|
|
236
|
-
});
|
|
237
|
-
req
|
|
238
|
-
.once('error', (err) => {
|
|
239
|
-
if (resolved) {
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
// console.error('downloadChunk(%d) req error:', attempt, err)
|
|
243
|
-
if (attempt < retries) {
|
|
244
|
-
void doRequest(attempt + 1);
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
reject(err);
|
|
248
|
-
}
|
|
249
|
-
})
|
|
250
|
-
.setTimeout(config_js_1.HTTP_TIMEOUT, () => {
|
|
251
|
-
const e = new Error(`FileBox: Http request timeout (${config_js_1.HTTP_TIMEOUT})!`);
|
|
252
|
-
req.emit('error', e);
|
|
253
|
-
req.destroy();
|
|
254
|
-
})
|
|
255
|
-
.end();
|
|
256
|
-
};
|
|
257
|
-
void doRequest(0);
|
|
150
|
+
chunkSeq++;
|
|
151
|
+
start = downSize;
|
|
152
|
+
}
|
|
153
|
+
writeStream.close();
|
|
154
|
+
const readStream = (0, fs_1.createReadStream)(tmpFile);
|
|
155
|
+
readStream
|
|
156
|
+
.once('end', () => readStream.close())
|
|
157
|
+
.once('close', () => {
|
|
158
|
+
void (0, promises_1.rm)(tmpFile, { force: true });
|
|
258
159
|
});
|
|
160
|
+
return readStream;
|
|
259
161
|
}
|
|
260
162
|
async function streamToBuffer(stream) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
resolve(fullBuffer);
|
|
267
|
-
});
|
|
268
|
-
stream.on('data', (buffer) => bufferList.push(buffer));
|
|
269
|
-
});
|
|
163
|
+
const chunks = [];
|
|
164
|
+
for await (const chunk of stream) {
|
|
165
|
+
chunks.push(chunk);
|
|
166
|
+
}
|
|
167
|
+
return Buffer.concat(chunks);
|
|
270
168
|
}
|
|
271
169
|
exports.streamToBuffer = streamToBuffer;
|
|
272
170
|
//# sourceMappingURL=misc.js.map
|
package/dist/cjs/src/misc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAC3B,mCAAmC;AACnC,mCAA6B;AAC7B,2BAAwD;AACxD,0CAAgC;AAChC,gDAAuB;AACvB,kDAAyB;AACzB,2BAA2B;AAC3B,+BAA2B;AAE3B,6BAAyB;AAEzB,2CAA0E;AAE1E,MAAM,WAAW,GAEb;IACF,OAAO,EAAE,EAAE,KAAK,EAAE,cAAI,CAAC,WAAW,EAAE,OAAO,EAAE,cAAI,CAAC,OAAO,EAAE;IAC3D,QAAQ,EAAE,EAAE,KAAK,EAAE,eAAK,CAAC,WAAW,EAAE,OAAO,EAAE,eAAK,CAAC,OAAO,EAAE;CAC/D,CAAA;AAED,SAAS,WAAW,CAAE,QAAgB;IACpC,IAAA,gBAAM,EAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,oBAAoB,GAAG,QAAQ,CAAC,CAAC,CAAA;IACzE,OAAO,WAAW,CAAC,QAAQ,CAAE,CAAA;AAC/B,CAAC;AAED,SAAgB,eAAe,CAAE,OAAe;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnC,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;AACvC,CAAC;AAHD,0CAGC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAE,GAAW;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAA;IACrB,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,OAAO,IAAI,EAAE;QACX,IAAI,YAAY,EAAE,IAAI,CAAC,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,oBAAoB,CAAC,CAAA;SAC5E;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;QACF,GAAG,CAAC,OAAO,EAAE,CAAA;QAEb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE;YACtC,IAAI,SAAS,KAAK,GAAG,EAAE;gBACrB,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAA;aAC3B;YACD,OAAO,GAAG,CAAC,OAAO,CAAA;SACnB;QAED,sCAAsC;QAEtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;SAC9C;QAED,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAA;KAC3B;AACH,CAAC;AA7BD,wCA6BC;AAED,SAAgB,oBAAoB,CAAE,OAAiC;IACrE,MAAM,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAEzD,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,IAAI,CAAA;KACZ;IAED,8DAA8D;IAC9D,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;IAE/E,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;KAClB;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAfD,oDAeC;AAEM,KAAK,UAAU,UAAU,CAAE,GAAW,EAAE,UAAoC,EAAE;IACnF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,WAAW,CAAC,QAAQ,EAAE;QACxB,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAA;QAC1B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,SAAG,CAAC,GAAG,CAAC,CAAA;QACjC,WAAW,CAAC,QAAQ,CAAC,CAAA;KACtB;IAED,MAAM,OAAO,GAAwB;QACnC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;QACvB,MAAM,EAAE,KAAK;KACd,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEtD,IAAI,CAAC,yBAAa,IAAI,WAAW,CAAC,eAAe,CAAC,KAAK,OAAO,IAAI,QAAQ,GAAG,2BAAe,EAAE;QAC5F,OAAO,MAAM,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAAe,CAAC,CAAA;KAC3E;SAAM;QACL,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;KACjC;AACH,CAAC;AApBD,gCAoBC;AAED,KAAK,UAAU,KAAK,CAAE,GAAW,EAAE,OAA4B;IAC7D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,SAAG,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG;QACX,KAAK;QACL,GAAG,OAAO;KACX,CAAA;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;SAC3B,UAAU,CAAC,wBAAY,CAAC;SACxB,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;QACpB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,kCAAkC,wBAAY,IAAI,CAAC,CAAC,CAAA;IAC5E,CAAC,CAAC;SACD,GAAG,EAAE,CAAA;IACR,MAAM,CAAE,GAAG,CAAE,GAAG,CAAC,MAAM,IAAA,aAAI,EAAC,GAAG,EAAE,UAAU,CAAC,CAA6B,CAAA;IACzE,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,GAAW,EACX,OAA4B,EAC5B,QAAgB,EAChB,SAAS,GAAG,2BAAe;IAE3B,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,WAAM,GAAE,EAAE,WAAW,IAAA,mBAAU,GAAE,EAAE,CAAC,CAAA;IACzD,MAAM,WAAW,GAAG,IAAA,sBAAiB,EAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,eAAe,GAAG,CAAE,GAAG,EAAE,GAAG,CAAE,CAAA;IACpC,MAAM,kBAAkB,GAAwB;QAC9C,OAAO,EAAE,EAAE;QACX,GAAG,OAAO;QACV,OAAO,EAAE,wBAAY;KACtB,CAAA;IACD,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,OAAO,QAAQ,GAAG,QAAQ,EAAE;QAC1B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAA;QAC/C,MAAM,KAAK,GAAG,SAAS,KAAK,IAAI,GAAG,EAAE,CAAA;QACrC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAA;QAC5D,IAAA,gBAAM,EAAC,cAAc,CAAC,OAAO,EAAE,gDAAgD,CAAC,CAAA;QAChF,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAEvC,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YACrC,IAAA,gBAAM,EAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,mCAAmC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;YAC1G,IAAA,gBAAM,EAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,iCAAiC,CAAC,CAAA;YACpF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE;gBAC7B,IAAA,gBAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC9B,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAA;gBACxB,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;aACzB;YACD,GAAG,CAAC,OAAO,EAAE,CAAA;SACd;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,GAAG,GAAG,KAAc,CAAA;YAC1B,IAAI,EAAE,OAAO,IAAI,CAAC,EAAE;gBAClB,KAAK,IAAA,aAAE,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBACjC,WAAW,CAAC,KAAK,EAAE,CAAA;gBACnB,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;aACnF;SACF;QACD,QAAQ,EAAE,CAAA;QACV,KAAK,GAAG,QAAQ,CAAA;KACjB;IACD,WAAW,CAAC,KAAK,EAAE,CAAA;IAEnB,MAAM,UAAU,GAAG,IAAA,qBAAgB,EAAC,OAAO,CAAC,CAAA;IAC5C,UAAU;SACP,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SACrC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QAClB,KAAK,IAAA,aAAE,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACJ,OAAO,UAAU,CAAA;AACnB,CAAC;AAEM,KAAK,UAAU,cAAc,CAAE,MAAgB;IACpD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACnB;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAND,wCAMC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* This file
|
|
2
|
+
* This file will be overwrite when we publish NPM module
|
|
3
|
+
* by scripts/generate_version.ts
|
|
3
4
|
*/
|
|
4
|
-
export declare const VERSION
|
|
5
|
+
export declare const VERSION = "0.0.0";
|
|
5
6
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAA"}
|
package/dist/cjs/src/version.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VERSION = void 0;
|
|
4
2
|
/**
|
|
5
|
-
* This file
|
|
3
|
+
* This file will be overwrite when we publish NPM module
|
|
4
|
+
* by scripts/generate_version.ts
|
|
6
5
|
*/
|
|
7
|
-
exports
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.VERSION = void 0;
|
|
8
|
+
exports.VERSION = '0.0.0';
|
|
8
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,OAAO,GAAG,OAAO,CAAA"}
|
package/dist/esm/src/config.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference path="../../../src/typings.d.ts" />
|
|
2
2
|
export { VERSION } from './version.js';
|
|
3
3
|
export declare const HTTP_TIMEOUT: number;
|
|
4
|
+
export declare const NO_SLICE_DOWN: boolean;
|
|
4
5
|
export declare const HTTP_CHUNK_SIZE: number;
|
|
5
6
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,YAAY,QACX,CAAA;AAEd,eAAO,MAAM,eAAe,QACb,CAAA"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,eAAO,MAAM,YAAY,QACX,CAAA;AAEd,eAAO,MAAM,aAAa,SAAkD,CAAA;AAE5E,eAAO,MAAM,eAAe,QACb,CAAA"}
|
package/dist/esm/src/config.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
export { VERSION } from './version.js';
|
|
3
3
|
export const HTTP_TIMEOUT = Number(process.env['FILEBOX_HTTP_TIMEOUT'])
|
|
4
4
|
|| 60 * 1000;
|
|
5
|
+
export const NO_SLICE_DOWN = process.env['FILEBOX_NO_SLICE_DOWN'] === 'true';
|
|
5
6
|
export const HTTP_CHUNK_SIZE = Number(process.env['FILEBOX_HTTP_CHUNK_SIZE'])
|
|
6
7
|
|| 1024 * 512;
|
|
7
8
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;OAClE,EAAE,GAAG,IAAI,CAAA;AAEd,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;OACxE,IAAI,GAAG,GAAG,CAAA"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;OAClE,EAAE,GAAG,IAAI,CAAA;AAEd,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,MAAM,CAAA;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;OACxE,IAAI,GAAG,GAAG,CAAA"}
|
|
@@ -17,7 +17,7 @@ declare class FileBox implements Pipeable, FileBoxInterface {
|
|
|
17
17
|
* Static Properties
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
|
-
static readonly version
|
|
20
|
+
static readonly version = "0.0.0";
|
|
21
21
|
/**
|
|
22
22
|
* Symbol.hasInstance: instanceof
|
|
23
23
|
*
|
|
@@ -102,7 +102,7 @@ declare class FileBox implements Pipeable, FileBoxInterface {
|
|
|
102
102
|
* Instance Properties
|
|
103
103
|
*
|
|
104
104
|
*/
|
|
105
|
-
readonly version
|
|
105
|
+
readonly version = "0.0.0";
|
|
106
106
|
/**
|
|
107
107
|
* We are using a getter for `type` is because
|
|
108
108
|
* getter name can be enumurated by the `Object.hasOwnProperties()`*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-box.d.ts","sourceRoot":"","sources":["../../../src/file-box.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;AAIH,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAA;AAMjC,OAAO,EAEL,QAAQ,EACR,QAAQ,EACT,MAA8B,QAAQ,CAAA;AAUvC,OAAO,EACL,iBAAiB,EACjB,cAAc,EAMd,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACV,MAA8B,oBAAoB,CAAA;AAenD,OAAO,KAAK,EACV,gBAAgB,EACjB,MAA8B,gBAAgB,CAAA;AAQ/C,cAAM,OAAQ,YAAW,QAAQ,EAAE,gBAAgB;IAEjD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"file-box.d.ts","sourceRoot":"","sources":["../../../src/file-box.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/misc.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
import http from 'http';
|
|
5
|
-
import { Readable } from 'stream';
|
|
5
|
+
import type { Readable } from 'stream';
|
|
6
6
|
export declare function dataUrlToBase64(dataUrl: string): string;
|
|
7
7
|
/**
|
|
8
8
|
* Get http headers for specific `url`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/misc.ts"],"names":[],"mappings":";;;AAKA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAiBtC,wBAAgB,eAAe,CAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CA6BpF;AAED,wBAAgB,oBAAoB,CAAE,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,MAAM,CAetF;AAED,wBAAsB,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,mBAAwB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAoBxG;AA8ED,wBAAsB,cAAc,CAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAMvE"}
|