@moontaiworks/fanbox-dl 1.2.2 → 1.3.1
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/dist/bundle/index.cjs +1 -1
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/index.js.map +1 -1
- package/dist/cjs/downloader/asset/download.d.ts.map +1 -1
- package/dist/cjs/downloader/asset/download.js +11 -5
- package/dist/cjs/downloader/asset/download.js.map +1 -1
- package/dist/cjs/downloader/cli/resolver.js +1 -1
- package/dist/cjs/downloader/cli/resolver.js.map +1 -1
- package/dist/cjs/downloader/creator/sync.d.ts.map +1 -1
- package/dist/cjs/downloader/creator/sync.js +19 -12
- package/dist/cjs/downloader/creator/sync.js.map +1 -1
- package/dist/cjs/downloader/fs/filesystem.d.ts +4 -0
- package/dist/cjs/downloader/fs/filesystem.d.ts.map +1 -1
- package/dist/cjs/downloader/fs/filesystem.js +11 -0
- package/dist/cjs/downloader/fs/filesystem.js.map +1 -1
- package/dist/cjs/downloader/index.js +2 -2
- package/dist/cjs/downloader/manifest/store.d.ts.map +1 -1
- package/dist/cjs/downloader/manifest/store.js +2 -1
- package/dist/cjs/downloader/manifest/store.js.map +1 -1
- package/dist/cjs/downloader/post/sync.d.ts +7 -5
- package/dist/cjs/downloader/post/sync.d.ts.map +1 -1
- package/dist/cjs/downloader/post/sync.js +13 -4
- package/dist/cjs/downloader/post/sync.js.map +1 -1
- package/dist/cjs/transport/http2.d.ts +0 -4
- package/dist/cjs/transport/http2.d.ts.map +1 -1
- package/dist/cjs/transport/http2.js +3 -12
- package/dist/cjs/transport/http2.js.map +1 -1
- package/dist/cjs/transport/worker.d.ts.map +1 -1
- package/dist/cjs/transport/worker.js +6 -6
- package/dist/cjs/transport/worker.js.map +1 -1
- package/dist/esm/downloader/asset/download.d.ts.map +1 -1
- package/dist/esm/downloader/asset/download.js +11 -5
- package/dist/esm/downloader/asset/download.js.map +1 -1
- package/dist/esm/downloader/cli/resolver.js +1 -1
- package/dist/esm/downloader/cli/resolver.js.map +1 -1
- package/dist/esm/downloader/creator/sync.d.ts.map +1 -1
- package/dist/esm/downloader/creator/sync.js +20 -13
- package/dist/esm/downloader/creator/sync.js.map +1 -1
- package/dist/esm/downloader/fs/filesystem.d.ts +4 -0
- package/dist/esm/downloader/fs/filesystem.d.ts.map +1 -1
- package/dist/esm/downloader/fs/filesystem.js +9 -0
- package/dist/esm/downloader/fs/filesystem.js.map +1 -1
- package/dist/esm/downloader/index.js +2 -2
- package/dist/esm/downloader/manifest/store.d.ts.map +1 -1
- package/dist/esm/downloader/manifest/store.js +2 -1
- package/dist/esm/downloader/manifest/store.js.map +1 -1
- package/dist/esm/downloader/post/sync.d.ts +7 -5
- package/dist/esm/downloader/post/sync.d.ts.map +1 -1
- package/dist/esm/downloader/post/sync.js +12 -4
- package/dist/esm/downloader/post/sync.js.map +1 -1
- package/dist/esm/transport/http2.d.ts +0 -4
- package/dist/esm/transport/http2.d.ts.map +1 -1
- package/dist/esm/transport/http2.js +3 -12
- package/dist/esm/transport/http2.js.map +1 -1
- package/dist/esm/transport/worker.d.ts.map +1 -1
- package/dist/esm/transport/worker.js +6 -6
- package/dist/esm/transport/worker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Logger } from "pino";
|
|
2
1
|
export interface HttpTransport {
|
|
3
2
|
fetch(input: Request | string | URL): Promise<Response>;
|
|
4
3
|
}
|
|
@@ -7,9 +6,6 @@ export declare class Http2Error extends Error {
|
|
|
7
6
|
}
|
|
8
7
|
export declare class Http2Transport {
|
|
9
8
|
#private;
|
|
10
|
-
constructor({ logger }?: {
|
|
11
|
-
logger?: Logger;
|
|
12
|
-
});
|
|
13
9
|
fetch(input: Request | string | URL): Promise<Response>;
|
|
14
10
|
}
|
|
15
11
|
//# sourceMappingURL=http2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http2.d.ts","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http2.d.ts","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzD;AAED,qBAAa,UAAW,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAInC;AAED,qBAAa,cAAc;;IAGzB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG;CA8BpC"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
2
|
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
3
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
4
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
5
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
6
|
};
|
|
13
|
-
var
|
|
7
|
+
var _Http2Transport_pool;
|
|
14
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
9
|
exports.Http2Transport = exports.Http2Error = void 0;
|
|
16
10
|
const http2_session_js_1 = require("./http2-session.js");
|
|
@@ -23,15 +17,12 @@ class Http2Error extends Error {
|
|
|
23
17
|
}
|
|
24
18
|
exports.Http2Error = Http2Error;
|
|
25
19
|
class Http2Transport {
|
|
26
|
-
constructor(
|
|
27
|
-
_Http2Transport_logger.set(this, void 0);
|
|
20
|
+
constructor() {
|
|
28
21
|
_Http2Transport_pool.set(this, new http2_session_js_1.Http2SessionManager());
|
|
29
|
-
__classPrivateFieldSet(this, _Http2Transport_logger, logger, "f");
|
|
30
22
|
}
|
|
31
23
|
fetch(input) {
|
|
32
24
|
const request = input instanceof Request ? input : new Request(input);
|
|
33
25
|
const headers = attachHttp2Headers(request);
|
|
34
|
-
__classPrivateFieldGet(this, _Http2Transport_logger, "f")?.trace({ headers }, `Fetching request to ${request.url} with HTTP/2 transport.`);
|
|
35
26
|
const session = __classPrivateFieldGet(this, _Http2Transport_pool, "f").getSession(request.url);
|
|
36
27
|
const stream = session.request(headers, { endStream: !request.body });
|
|
37
28
|
return new Promise((resolve, reject) => {
|
|
@@ -55,7 +46,7 @@ class Http2Transport {
|
|
|
55
46
|
}
|
|
56
47
|
}
|
|
57
48
|
exports.Http2Transport = Http2Transport;
|
|
58
|
-
|
|
49
|
+
_Http2Transport_pool = new WeakMap();
|
|
59
50
|
function attachHttp2Headers(request) {
|
|
60
51
|
const url = new URL(request.url);
|
|
61
52
|
const headers = { ...Object.fromEntries(request.headers) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http2.js","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http2.js","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AA4ED,qBAAa,aAAa;;gBAStB,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAC9B,EACE,WAAe,EACf,UAAgB,EAChB,UAAc,EACd,gBAAgB,EAChB,SAAgC,GACjC,GAAE,mBAAwB;IAoBvB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG;CA0C5C"}
|
|
@@ -53,23 +53,23 @@ class TimeLimiter {
|
|
|
53
53
|
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Initialized TimeLimiter with interval ${intervalMs}ms`);
|
|
54
54
|
}
|
|
55
55
|
setNextAvailableAt(availableAt) {
|
|
56
|
-
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Setting next available time to ${availableAt}.`);
|
|
56
|
+
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Setting next available time to ${new Date(availableAt).toISOString()}.`);
|
|
57
57
|
__classPrivateFieldSet(this, _TimeLimiter_availableAt, availableAt, "f");
|
|
58
58
|
}
|
|
59
59
|
async wait() {
|
|
60
60
|
const now = Date.now();
|
|
61
61
|
if (__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f") > now) {
|
|
62
62
|
const waitMs = __classPrivateFieldGet(this, _TimeLimiter_availableAt, "f") - now;
|
|
63
|
-
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Waiting for time limiter for ${waitMs}ms, until ${__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f")}.`);
|
|
63
|
+
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Waiting for time limiter for ${waitMs}ms, until ${new Date(__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f")).toISOString()}.`);
|
|
64
64
|
await sleep(waitMs);
|
|
65
|
-
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Time limiter continued at ${__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f")}.`);
|
|
65
|
+
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Time limiter continued at ${new Date(__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f")).toISOString()}.`);
|
|
66
66
|
}
|
|
67
67
|
this.setNextAvailableAt(Date.now() + this.intervalMs);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
_TimeLimiter_availableAt = new WeakMap(), _TimeLimiter_logger = new WeakMap();
|
|
71
71
|
class RequestWorker {
|
|
72
|
-
constructor({ logger }, { concurrency = 5, intervalMs = 500, maxRetries = 3, rateLimitPauseMs, transport = new http2_js_1.Http2Transport(
|
|
72
|
+
constructor({ logger }, { concurrency = 5, intervalMs = 500, maxRetries = 3, rateLimitPauseMs, transport = new http2_js_1.Http2Transport(), } = {}) {
|
|
73
73
|
_RequestWorker_instances.add(this);
|
|
74
74
|
_RequestWorker_concurrencyLimiter.set(this, void 0);
|
|
75
75
|
_RequestWorker_logger.set(this, void 0);
|
|
@@ -100,7 +100,7 @@ class RequestWorker {
|
|
|
100
100
|
}
|
|
101
101
|
exports.RequestWorker = RequestWorker;
|
|
102
102
|
_RequestWorker_concurrencyLimiter = new WeakMap(), _RequestWorker_logger = new WeakMap(), _RequestWorker_maxRetries = new WeakMap(), _RequestWorker_rateLimitPauseMs = new WeakMap(), _RequestWorker_timeLimiter = new WeakMap(), _RequestWorker_transport = new WeakMap(), _RequestWorker_instances = new WeakSet(), _RequestWorker_fetch = async function _RequestWorker_fetch(request, retryRemains = __classPrivateFieldGet(this, _RequestWorker_maxRetries, "f")) {
|
|
103
|
-
__classPrivateFieldGet(this, _RequestWorker_logger, "f").
|
|
103
|
+
__classPrivateFieldGet(this, _RequestWorker_logger, "f").info(`Fetching request with max ${retryRemains} retries to ${request instanceof Request ? request.url : request.toString()}`);
|
|
104
104
|
await __classPrivateFieldGet(this, _RequestWorker_timeLimiter, "f").wait();
|
|
105
105
|
const requestObj = request instanceof Request ? request.clone() : new Request(request);
|
|
106
106
|
const response = await __classPrivateFieldGet(this, _RequestWorker_transport, "f").fetch(requestObj);
|
|
@@ -109,7 +109,7 @@ _RequestWorker_concurrencyLimiter = new WeakMap(), _RequestWorker_logger = new W
|
|
|
109
109
|
if (response.status === 429) {
|
|
110
110
|
const retryAfter = __classPrivateFieldGet(this, _RequestWorker_rateLimitPauseMs, "f") ?? parseRetryAfter(response) ?? 60000;
|
|
111
111
|
const availableAt = Date.now() + retryAfter;
|
|
112
|
-
__classPrivateFieldGet(this, _RequestWorker_logger, "f").warn(
|
|
112
|
+
__classPrivateFieldGet(this, _RequestWorker_logger, "f").warn(`Received 429 Too Many Requests. Pausing requests until ${new Date(availableAt).toISOString()}.`);
|
|
113
113
|
await sleep(retryAfter);
|
|
114
114
|
__classPrivateFieldGet(this, _RequestWorker_timeLimiter, "f").setNextAvailableAt(availableAt);
|
|
115
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yCAAgE;AAUhE,MAAM,kBAAkB;IAKtB,YACE,EAAE,MAAM,EAAsB,EACtB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;QAN7B,qCAAU,CAAC,EAAC;QACZ,6CAAgB;QAChB,oCAAyB,EAAE,EAAC;QAM1B,uBAAA,IAAI,8BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,kCAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,gCAAgC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,OAAO;;QACX,IAAI,uBAAA,IAAI,kCAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,uBAAA,IAAI,kCAAQ,CAAC,KAAK,CAChB,8BAA8B,uBAAA,IAAI,kCAAQ,IAAI,IAAI,CAAC,WAAW,yBAAyB,CACxF,CAAC;YACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,uBAAA,IAAI,iCAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,yDAAA,CAAE,kEAAY,EAAd,IAAc,CAAA,MAAA,CAAC;IACjB,CAAC;IAED,OAAO;;QACL,yDAAA,CAAE,kEAAY,EAAd,IAAc,CAAA,MAAA,CAAC;QACf,IAAI,uBAAA,IAAI,iCAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,uBAAA,IAAI,iCAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,uBAAA,IAAI,kCAAQ,CAAC,KAAK,CAChB,+BAA+B,uBAAA,IAAI,kCAAQ,IAAI,IAAI,CAAC,WAAW,6BAA6B,CAC7F,CAAC;gBACF,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;CACF;;AAED,MAAM,WAAW;IAIf,YACE,EAAE,MAAM,EAAsB,EACtB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;QAL5B,mCAAe,CAAC,EAAC;QACjB,sCAAgB;QAMd,uBAAA,IAAI,uBAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,2BAAQ,CAAC,KAAK,CAAC,yCAAyC,UAAU,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB,CAAC,WAAmB;QACpC,uBAAA,IAAI,2BAAQ,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../../src/downloader/asset/download.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../../src/downloader/asset/download.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAkBD,wBAAsB,aAAa,CACjC,EAAE,OAAY,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,iBAAiB,EACtD,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,oBAAoB;;;GA8CtE"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { createReadStream, createWriteStream } from "node:fs";
|
|
3
|
-
import { mkdir, rename,
|
|
3
|
+
import { mkdir, rename, utimes } from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { pipeline } from "node:stream/promises";
|
|
6
|
+
import { exists, filesize } from "../fs/filesystem.js";
|
|
6
7
|
class AssetDownloadError extends Error {
|
|
7
8
|
constructor(response, url, body) {
|
|
8
9
|
super(`Asset download failed: ${response.status} ${url}`);
|
|
@@ -14,6 +15,14 @@ class AssetDownloadError extends Error {
|
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
export async function downloadAsset({ headers = {}, logger, transport }, { destination, fallbackDateTime, mediaContent }) {
|
|
18
|
+
if (await exists(destination)) {
|
|
19
|
+
logger.debug(`Asset ${mediaContent.id} already exists at ${destination}`);
|
|
20
|
+
const [{ size: bytes }, sha256] = await Promise.all([
|
|
21
|
+
filesize(destination),
|
|
22
|
+
hashFile(destination),
|
|
23
|
+
]);
|
|
24
|
+
return { bytes, sha256 };
|
|
25
|
+
}
|
|
17
26
|
logger.debug(`Downloading ${mediaContent.type} asset ${mediaContent.id} to ${destination}`);
|
|
18
27
|
await mkdir(path.dirname(destination), { recursive: true });
|
|
19
28
|
const tempFilePath = destination + ".part";
|
|
@@ -29,15 +38,12 @@ export async function downloadAsset({ headers = {}, logger, transport }, { desti
|
|
|
29
38
|
const timestamp = modified ? new Date(modified) : new Date(fallbackDateTime);
|
|
30
39
|
await utimes(tempFilePath, timestamp, timestamp);
|
|
31
40
|
const [{ size: bytes }, sha256] = await Promise.all([
|
|
32
|
-
|
|
41
|
+
filesize(tempFilePath),
|
|
33
42
|
hashFile(tempFilePath),
|
|
34
43
|
]);
|
|
35
44
|
await rename(tempFilePath, destination);
|
|
36
45
|
return { bytes, sha256 };
|
|
37
46
|
}
|
|
38
|
-
async function filesize(path) {
|
|
39
|
-
return stat(path).catch(() => ({ size: 0 }));
|
|
40
|
-
}
|
|
41
47
|
async function hashFile(filePath) {
|
|
42
48
|
const hash = createHash("sha256");
|
|
43
49
|
for await (const chunk of createReadStream(filePath))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/downloader/asset/download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../src/downloader/asset/download.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export async function resolveCreatorIds({ client, logger }, options) {
|
|
|
19
19
|
creatorIds.delete(ignored);
|
|
20
20
|
}
|
|
21
21
|
const result = [...creatorIds];
|
|
22
|
-
logger.
|
|
22
|
+
logger.info({ creatorIds: result }, `Resolved total ${result.length} creator IDs`);
|
|
23
23
|
return result;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/downloader/cli/resolver.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAE,MAAM,EAAE,MAAM,EAAyB,EACzC,OAAiC;IAEjC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC1D,MAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAC9C,aAAa,QAAQ,CAAC,MAAM,qBAAqB,CAClD,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACjD,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EACxC,aAAa,KAAK,CAAC,MAAM,mBAAmB,CAC7C,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/downloader/cli/resolver.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAE,MAAM,EAAE,MAAM,EAAyB,EACzC,OAAiC;IAEjC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC1D,MAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAC9C,aAAa,QAAQ,CAAC,MAAM,qBAAqB,CAClD,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACjD,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EACxC,aAAa,KAAK,CAAC,MAAM,mBAAmB,CAC7C,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,MAAM,EAAE,EACtB,kBAAkB,MAAM,CAAC,MAAM,cAAc,CAC9C,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/downloader/creator/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,wBAAwB,CAAC;AAIhF,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAsB,WAAW,CAAC,EAChC,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,GACV,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/downloader/creator/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,wBAAwB,CAAC;AAIhF,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAsB,WAAW,CAAC,EAChC,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,GACV,EAAE,eAAe,iBAuDjB"}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import { syncPost } from "../post/sync.js";
|
|
1
|
+
import { preSyncPostCheck, syncPost } from "../post/sync.js";
|
|
2
2
|
import { discoverCreatorPosts } from "./discover-posts.js";
|
|
3
3
|
export async function syncCreator({ client, headers, logger, manifest, pathManager, transport, }) {
|
|
4
4
|
const postSummaries = await discoverCreatorPosts({ client, logger }, { creatorId: manifest.creatorId });
|
|
5
|
-
logger.
|
|
5
|
+
logger.info(`Discovered total ${postSummaries.length} posts for creator ${manifest.creatorId}`);
|
|
6
|
+
const processingPosts = [];
|
|
6
7
|
let index = 0;
|
|
7
8
|
for (const postSummary of postSummaries) {
|
|
8
|
-
logger.debug(`
|
|
9
|
+
logger.debug(`Initializing ${++index}/${postSummaries.length} post ${postSummary.id} for creator ${manifest.creatorId}`);
|
|
10
|
+
const preCheckResult = preSyncPostCheck({ logger, manifest }, postSummary);
|
|
11
|
+
if (preCheckResult.status !== "pending") {
|
|
12
|
+
manifest.posts[postSummary.id] = preCheckResult;
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
9
15
|
const postPathManager = pathManager.post(postSummary);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
manifest
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const manifest = {
|
|
16
|
+
const post = await client.getPost({ postId: postSummary.id });
|
|
17
|
+
const syncPostPromise = syncPost({ headers, logger, pathManager: postPathManager, transport }, post)
|
|
18
|
+
.then(async (result) => {
|
|
19
|
+
manifest.posts[postSummary.id] = result;
|
|
20
|
+
return manifest.save();
|
|
21
|
+
})
|
|
22
|
+
.catch((err) => {
|
|
23
|
+
manifest.posts[postSummary.id] = {
|
|
19
24
|
assets: {},
|
|
20
25
|
error: String(err),
|
|
21
26
|
id: postSummary.id,
|
|
@@ -24,8 +29,10 @@ export async function syncCreator({ client, headers, logger, manifest, pathManag
|
|
|
24
29
|
updatedDatetime: postSummary.updatedDatetime,
|
|
25
30
|
};
|
|
26
31
|
logger.error({ err }, `Error occurred while syncing ${index}/${postSummaries.length} post ${postSummary.id}, skipping.`);
|
|
27
|
-
return manifest;
|
|
32
|
+
return manifest.save();
|
|
28
33
|
});
|
|
34
|
+
processingPosts.push(syncPostPromise);
|
|
29
35
|
}
|
|
36
|
+
await Promise.all(processingPosts);
|
|
30
37
|
}
|
|
31
38
|
//# sourceMappingURL=sync.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/downloader/creator/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/downloader/creator/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAW3D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAChC,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,GACO;IAChB,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAClC,CAAC;IACF,MAAM,CAAC,IAAI,CACT,oBAAoB,aAAa,CAAC,MAAM,sBAAsB,QAAQ,CAAC,SAAS,EAAE,CACnF,CAAC;IAEF,MAAM,eAAe,GAAoB,EAAE,CAAC;IAE5C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CACV,gBAAgB,EAAE,KAAK,IAAI,aAAa,CAAC,MAAM,SAAS,WAAW,CAAC,EAAE,gBAAgB,QAAQ,CAAC,SAAS,EAAE,CAC3G,CAAC;QACF,MAAM,cAAc,GAAG,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;QAC3E,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACxC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;YAChD,SAAS;QACX,CAAC;QAKD,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,QAAQ,CAC9B,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,EAC5D,IAAI,CACL;aACE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YACxC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG;gBAC/B,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,EAAE,EAAE,WAAW,CAAC,EAAE;gBAClB,UAAU,EAAE,WAAW,CAAC,YAAY;gBACpC,MAAM,EAAE,QAAQ;gBAChB,eAAe,EAAE,WAAW,CAAC,eAAe;aAClB,CAAC;YAC7B,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,EACP,gCAAgC,KAAK,IAAI,aAAa,CAAC,MAAM,SAAS,WAAW,CAAC,EAAE,aAAa,CAClG,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEL,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
+
export declare function exists(filePath: string): Promise<boolean>;
|
|
2
|
+
export declare function filesize(path: string): Promise<import("fs").Stats | {
|
|
3
|
+
size: number;
|
|
4
|
+
}>;
|
|
1
5
|
export declare function isNotFoundError(error: unknown): boolean;
|
|
2
6
|
//# sourceMappingURL=filesystem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../../src/downloader/fs/filesystem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../../src/downloader/fs/filesystem.ts"],"names":[],"mappings":"AAEA,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI/D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM;;GAE1C;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import { stat } from "node:fs/promises";
|
|
2
|
+
export async function exists(filePath) {
|
|
3
|
+
return stat(filePath)
|
|
4
|
+
.then(() => true)
|
|
5
|
+
.catch(() => false);
|
|
6
|
+
}
|
|
7
|
+
export async function filesize(path) {
|
|
8
|
+
return stat(path).catch(() => ({ size: 0 }));
|
|
9
|
+
}
|
|
1
10
|
export function isNotFoundError(error) {
|
|
2
11
|
return isNodeError(error) && error.code === "ENOENT";
|
|
3
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../../src/downloader/fs/filesystem.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../../src/downloader/fs/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC;SAClB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
|
|
@@ -6,12 +6,12 @@ import { syncCreator } from "./creator/sync.js";
|
|
|
6
6
|
import { PathManager } from "./fs/path-manager.js";
|
|
7
7
|
import { CreatorManifestManager } from "./manifest/creator-manager.js";
|
|
8
8
|
export async function download({ logger, transport: customTransport }, options) {
|
|
9
|
-
logger.
|
|
9
|
+
logger.debug({ options }, "Starting download with options");
|
|
10
10
|
const headers = createFanboxRequestHeaders({
|
|
11
11
|
cookie: options.cookie,
|
|
12
12
|
userAgent: options.userAgent,
|
|
13
13
|
});
|
|
14
|
-
logger.
|
|
14
|
+
logger.debug({ headers }, "Initialized request headers");
|
|
15
15
|
const transport = new RequestWorker({ logger }, {
|
|
16
16
|
concurrency: options.concurrency,
|
|
17
17
|
intervalMs: options.requestIntervalMs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/downloader/manifest/store.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAarC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/downloader/manifest/store.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAarC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAUjD"}
|
|
@@ -16,7 +16,8 @@ export class FileSystemStore {
|
|
|
16
16
|
}
|
|
17
17
|
async save(path, data) {
|
|
18
18
|
await mkdir(dirname(path), { recursive: true });
|
|
19
|
-
const
|
|
19
|
+
const randomSuffix = Math.floor(Math.random() * 1000000);
|
|
20
|
+
const tempPath = `${path}.tmp.${randomSuffix}`;
|
|
20
21
|
const content = `${JSON.stringify(data, null, 2)}\n`;
|
|
21
22
|
await writeFile(tempPath, content, "utf8");
|
|
22
23
|
await rename(tempPath, path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/downloader/manifest/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAO;QAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/downloader/manifest/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAO;QAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,GAAG,IAAI,QAAQ,YAAY,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAErD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import type { Logger } from "pino";
|
|
2
|
-
import type {
|
|
3
|
-
import type { PostSummary } from "../../client/types.js";
|
|
2
|
+
import type { Post, PostSummary } from "../../client/types.js";
|
|
4
3
|
import type { HttpTransport } from "../../transport/http2.js";
|
|
5
4
|
import type { PathManager } from "../fs/path-manager.js";
|
|
6
5
|
import type { CreatorManifest, PostManifestData } from "../manifest/creator.js";
|
|
6
|
+
interface PreSyncPostCheckDeps {
|
|
7
|
+
logger: Logger;
|
|
8
|
+
manifest: CreatorManifest;
|
|
9
|
+
}
|
|
7
10
|
interface SyncPostDeps {
|
|
8
|
-
client: FanboxClient;
|
|
9
11
|
headers?: Record<string, string>;
|
|
10
12
|
logger: Logger;
|
|
11
|
-
manifest: CreatorManifest;
|
|
12
13
|
pathManager: PathManager;
|
|
13
14
|
transport: HttpTransport;
|
|
14
15
|
}
|
|
15
|
-
export declare function
|
|
16
|
+
export declare function preSyncPostCheck({ logger, manifest }: PreSyncPostCheckDeps, postSummary: PostSummary): PostManifestData;
|
|
17
|
+
export declare function syncPost({ headers, logger, pathManager, transport }: SyncPostDeps, post: Post): Promise<PostManifestData>;
|
|
16
18
|
export {};
|
|
17
19
|
//# sourceMappingURL=sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/downloader/post/sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/downloader/post/sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAEV,eAAe,EACf,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAShC,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,oBAAoB,EAC1C,WAAW,EAAE,WAAW,GACvB,gBAAgB,CA6BlB;AAED,wBAAsB,QAAQ,CAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,YAAY,EACzD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,gBAAgB,CAAC,CAgI3B"}
|
|
@@ -4,9 +4,9 @@ import { downloadAsset } from "../asset/download.js";
|
|
|
4
4
|
import { formatFileAsset, formatImageAsset, formatTextContent, } from "../markdown/asset.js";
|
|
5
5
|
import { FileContent, ImageContent, TextContent } from "./content.js";
|
|
6
6
|
import { formatPostContents } from "./contents.js";
|
|
7
|
-
export
|
|
7
|
+
export function preSyncPostCheck({ logger, manifest }, postSummary) {
|
|
8
8
|
if (postSummary.isRestricted) {
|
|
9
|
-
logger.
|
|
9
|
+
logger.debug(`Post ${postSummary.id} is restricted, skipping download.`);
|
|
10
10
|
return {
|
|
11
11
|
assets: {},
|
|
12
12
|
id: postSummary.id,
|
|
@@ -21,8 +21,16 @@ export async function syncPost({ client, headers, logger, manifest, pathManager,
|
|
|
21
21
|
logger.debug(`Post ${postSummary.id} has no changes, skipping download.`);
|
|
22
22
|
return existingPost;
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
return {
|
|
25
|
+
assets: {},
|
|
26
|
+
id: postSummary.id,
|
|
27
|
+
restricted: false,
|
|
28
|
+
status: "pending",
|
|
29
|
+
updatedDatetime: postSummary.updatedDatetime,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export async function syncPost({ headers, logger, pathManager, transport }, post) {
|
|
33
|
+
logger.info(`Downloading post ${post.id} updated at ${post.updatedDatetime} of creator ${post.creatorId}: ${post.title}`);
|
|
26
34
|
const contents = formatPostContents({ logger }, post);
|
|
27
35
|
if (post.coverImageUrl)
|
|
28
36
|
contents.unshift(formatCoverImage(post));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/downloader/post/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/downloader/post/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Logger } from "pino";
|
|
2
1
|
export interface HttpTransport {
|
|
3
2
|
fetch(input: Request | string | URL): Promise<Response>;
|
|
4
3
|
}
|
|
@@ -7,9 +6,6 @@ export declare class Http2Error extends Error {
|
|
|
7
6
|
}
|
|
8
7
|
export declare class Http2Transport {
|
|
9
8
|
#private;
|
|
10
|
-
constructor({ logger }?: {
|
|
11
|
-
logger?: Logger;
|
|
12
|
-
});
|
|
13
9
|
fetch(input: Request | string | URL): Promise<Response>;
|
|
14
10
|
}
|
|
15
11
|
//# sourceMappingURL=http2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http2.d.ts","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http2.d.ts","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACzD;AAED,qBAAa,UAAW,SAAQ,KAAK;gBAChB,OAAO,EAAE,MAAM;CAInC;AAED,qBAAa,cAAc;;IAGzB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG;CA8BpC"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
1
|
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
2
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
3
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
4
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
5
|
};
|
|
12
|
-
var
|
|
6
|
+
var _Http2Transport_pool;
|
|
13
7
|
import { Http2SessionManager } from "./http2-session.js";
|
|
14
8
|
const HTTP2_HEADER_STATUS = ":status";
|
|
15
9
|
export class Http2Error extends Error {
|
|
@@ -19,15 +13,12 @@ export class Http2Error extends Error {
|
|
|
19
13
|
}
|
|
20
14
|
}
|
|
21
15
|
export class Http2Transport {
|
|
22
|
-
constructor(
|
|
23
|
-
_Http2Transport_logger.set(this, void 0);
|
|
16
|
+
constructor() {
|
|
24
17
|
_Http2Transport_pool.set(this, new Http2SessionManager());
|
|
25
|
-
__classPrivateFieldSet(this, _Http2Transport_logger, logger, "f");
|
|
26
18
|
}
|
|
27
19
|
fetch(input) {
|
|
28
20
|
const request = input instanceof Request ? input : new Request(input);
|
|
29
21
|
const headers = attachHttp2Headers(request);
|
|
30
|
-
__classPrivateFieldGet(this, _Http2Transport_logger, "f")?.trace({ headers }, `Fetching request to ${request.url} with HTTP/2 transport.`);
|
|
31
22
|
const session = __classPrivateFieldGet(this, _Http2Transport_pool, "f").getSession(request.url);
|
|
32
23
|
const stream = session.request(headers, { endStream: !request.body });
|
|
33
24
|
return new Promise((resolve, reject) => {
|
|
@@ -50,7 +41,7 @@ export class Http2Transport {
|
|
|
50
41
|
});
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
|
-
|
|
44
|
+
_Http2Transport_pool = new WeakMap();
|
|
54
45
|
function attachHttp2Headers(request) {
|
|
55
46
|
const url = new URL(request.url);
|
|
56
47
|
const headers = { ...Object.fromEntries(request.headers) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http2.js","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http2.js","sourceRoot":"","sources":["../../../src/transport/http2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AA4ED,qBAAa,aAAa;;gBAStB,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAC9B,EACE,WAAe,EACf,UAAgB,EAChB,UAAc,EACd,gBAAgB,EAChB,SAAgC,GACjC,GAAE,mBAAwB;IAoBvB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG;CA0C5C"}
|