@moontaiworks/fanbox-dl 1.0.1 → 1.2.0
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 +1 -1
- package/dist/bundle/index.cjs +1 -1
- package/dist/bundle/index.cjs.map +1 -1
- package/dist/bundle/index.d.cts +111 -101
- package/dist/bundle/index.d.ts +111 -101
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/index.js.map +1 -1
- package/dist/cjs/cli.d.ts +3 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +97 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/client/client.d.ts +36 -0
- package/dist/cjs/client/client.d.ts.map +1 -0
- package/dist/cjs/client/client.js +82 -0
- package/dist/cjs/client/client.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-get.d.ts +8 -0
- package/dist/cjs/client/endpoints/creator-get.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-get.js +7 -0
- package/dist/cjs/client/endpoints/creator-get.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-pages.d.ts +9 -0
- package/dist/cjs/client/endpoints/creator-list-pages.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-pages.js +7 -0
- package/dist/cjs/client/endpoints/creator-list-pages.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-plans.d.ts +8 -0
- package/dist/cjs/client/endpoints/creator-list-plans.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-plans.js +7 -0
- package/dist/cjs/client/endpoints/creator-list-plans.js.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-posts.d.ts +11 -0
- package/dist/cjs/client/endpoints/creator-list-posts.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/creator-list-posts.js +7 -0
- package/dist/cjs/client/endpoints/creator-list-posts.js.map +1 -0
- package/dist/cjs/client/endpoints/post-info.d.ts +8 -0
- package/dist/cjs/client/endpoints/post-info.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/post-info.js +7 -0
- package/dist/cjs/client/endpoints/post-info.js.map +1 -0
- package/dist/cjs/client/endpoints/post-list-home.d.ts +6 -0
- package/dist/cjs/client/endpoints/post-list-home.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/post-list-home.js +7 -0
- package/dist/cjs/client/endpoints/post-list-home.js.map +1 -0
- package/dist/cjs/client/endpoints/post-list-supporting.d.ts +6 -0
- package/dist/cjs/client/endpoints/post-list-supporting.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/post-list-supporting.js +7 -0
- package/dist/cjs/client/endpoints/post-list-supporting.js.map +1 -0
- package/dist/cjs/client/endpoints/user-list-following.d.ts +7 -0
- package/dist/cjs/client/endpoints/user-list-following.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/user-list-following.js +7 -0
- package/dist/cjs/client/endpoints/user-list-following.js.map +1 -0
- package/dist/cjs/client/endpoints/user-list-supporting.d.ts +5 -0
- package/dist/cjs/client/endpoints/user-list-supporting.d.ts.map +1 -0
- package/dist/cjs/client/endpoints/user-list-supporting.js +7 -0
- package/dist/cjs/client/endpoints/user-list-supporting.js.map +1 -0
- package/dist/cjs/client/fanbox-envelope.d.ts.map +1 -0
- package/dist/cjs/client/fanbox-envelope.js.map +1 -0
- package/dist/cjs/client/fanbox-headers.d.ts.map +1 -0
- package/dist/cjs/{fanbox-headers.js → client/fanbox-headers.js} +0 -1
- package/dist/cjs/client/fanbox-headers.js.map +1 -0
- package/dist/cjs/client/models/creator.d.ts.map +1 -0
- package/dist/cjs/client/models/creator.js.map +1 -0
- package/dist/cjs/client/models/plan.d.ts.map +1 -0
- package/dist/cjs/{endpoints → client}/models/plan.js.map +1 -1
- package/dist/cjs/client/models/post/article.d.ts +41 -0
- package/dist/cjs/client/models/post/article.d.ts.map +1 -0
- package/dist/cjs/client/models/post/article.js +3 -0
- package/dist/cjs/client/models/post/article.js.map +1 -0
- package/dist/cjs/client/models/post/asset.d.ts +16 -0
- package/dist/cjs/client/models/post/asset.d.ts.map +1 -0
- package/dist/cjs/client/models/post/asset.js +3 -0
- package/dist/cjs/client/models/post/asset.js.map +1 -0
- package/dist/cjs/client/models/post/embed.d.ts +12 -0
- package/dist/cjs/client/models/post/embed.d.ts.map +1 -0
- package/dist/cjs/client/models/post/embed.js +3 -0
- package/dist/cjs/client/models/post/embed.js.map +1 -0
- package/dist/cjs/client/models/post/url-embed.d.ts +13 -0
- package/dist/cjs/client/models/post/url-embed.d.ts.map +1 -0
- package/dist/cjs/client/models/post/url-embed.js +3 -0
- package/dist/cjs/client/models/post/url-embed.js.map +1 -0
- package/dist/cjs/{endpoints → client}/models/post.d.ts +5 -48
- package/dist/cjs/client/models/post.d.ts.map +1 -0
- package/dist/cjs/{endpoints → client}/models/post.js.map +1 -1
- package/dist/cjs/client/models/user.d.ts.map +1 -0
- package/dist/cjs/{endpoints → client}/models/user.js.map +1 -1
- package/dist/cjs/client/types.d.ts +14 -0
- package/dist/cjs/client/types.d.ts.map +1 -0
- package/dist/cjs/{types.js.map → client/types.js.map} +1 -1
- package/dist/cjs/downloader/asset/download.d.ts +19 -0
- package/dist/cjs/downloader/asset/download.d.ts.map +1 -0
- package/dist/cjs/downloader/asset/download.js +58 -0
- package/dist/cjs/downloader/asset/download.js.map +1 -0
- package/dist/cjs/downloader/cli/cookie.d.ts +2 -0
- package/dist/cjs/downloader/cli/cookie.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/cookie.js +37 -0
- package/dist/cjs/downloader/cli/cookie.js.map +1 -0
- package/dist/cjs/downloader/cli/index.d.ts +4 -0
- package/dist/cjs/downloader/cli/index.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/index.js +15 -0
- package/dist/cjs/downloader/cli/index.js.map +1 -0
- package/dist/cjs/downloader/cli/options.d.ts +22 -0
- package/dist/cjs/downloader/cli/options.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/options.js +124 -0
- package/dist/cjs/downloader/cli/options.js.map +1 -0
- package/dist/cjs/downloader/{resolver.d.ts → cli/resolver.d.ts} +7 -1
- package/dist/cjs/downloader/cli/resolver.d.ts.map +1 -0
- package/dist/cjs/downloader/cli/resolver.js +28 -0
- package/dist/cjs/downloader/cli/resolver.js.map +1 -0
- package/dist/cjs/downloader/creator/discover-posts.d.ts +15 -0
- package/dist/cjs/downloader/creator/discover-posts.d.ts.map +1 -0
- package/dist/cjs/downloader/creator/discover-posts.js +20 -0
- package/dist/cjs/downloader/creator/discover-posts.js.map +1 -0
- package/dist/cjs/downloader/creator/sync.d.ts +16 -0
- package/dist/cjs/downloader/creator/sync.d.ts.map +1 -0
- package/dist/cjs/downloader/creator/sync.js +34 -0
- package/dist/cjs/downloader/creator/sync.js.map +1 -0
- package/dist/cjs/downloader/fs/filesystem.d.ts +2 -0
- package/dist/cjs/downloader/fs/filesystem.d.ts.map +1 -0
- package/dist/cjs/downloader/fs/filesystem.js +10 -0
- package/dist/cjs/downloader/fs/filesystem.js.map +1 -0
- package/dist/cjs/downloader/fs/path-manager.d.ts +17 -0
- package/dist/cjs/downloader/fs/path-manager.d.ts.map +1 -0
- package/dist/cjs/downloader/fs/path-manager.js +49 -0
- package/dist/cjs/downloader/fs/path-manager.js.map +1 -0
- package/dist/cjs/downloader/index.d.ts +8 -2
- package/dist/cjs/downloader/index.d.ts.map +1 -1
- package/dist/cjs/downloader/index.js +56 -5
- package/dist/cjs/downloader/index.js.map +1 -1
- package/dist/cjs/downloader/manifest/creator-manager.d.ts +15 -0
- package/dist/cjs/downloader/manifest/creator-manager.d.ts.map +1 -0
- package/dist/cjs/downloader/manifest/creator-manager.js +42 -0
- package/dist/cjs/downloader/manifest/creator-manager.js.map +1 -0
- package/dist/cjs/downloader/manifest/creator.d.ts +42 -0
- package/dist/cjs/downloader/manifest/creator.d.ts.map +1 -0
- package/dist/cjs/downloader/manifest/creator.js +54 -0
- package/dist/cjs/downloader/manifest/creator.js.map +1 -0
- package/dist/cjs/downloader/manifest/store.d.ts +9 -0
- package/dist/cjs/downloader/manifest/store.d.ts.map +1 -0
- package/dist/cjs/downloader/manifest/store.js +29 -0
- package/dist/cjs/downloader/manifest/store.js.map +1 -0
- package/dist/cjs/downloader/markdown/asset.d.ts +12 -0
- package/dist/cjs/downloader/markdown/asset.d.ts.map +1 -0
- package/dist/cjs/downloader/markdown/asset.js +31 -0
- package/dist/cjs/downloader/markdown/asset.js.map +1 -0
- package/dist/cjs/downloader/post/article.d.ts +4 -0
- package/dist/cjs/downloader/post/article.d.ts.map +1 -0
- package/dist/cjs/downloader/post/article.js +35 -0
- package/dist/cjs/downloader/post/article.js.map +1 -0
- package/dist/cjs/downloader/post/content.d.ts +52 -0
- package/dist/cjs/downloader/post/content.d.ts.map +1 -0
- package/dist/cjs/downloader/post/content.js +48 -0
- package/dist/cjs/downloader/post/content.js.map +1 -0
- package/dist/cjs/downloader/post/contents.d.ts +9 -0
- package/dist/cjs/downloader/post/contents.d.ts.map +1 -0
- package/dist/cjs/downloader/post/contents.js +36 -0
- package/dist/cjs/downloader/post/contents.js.map +1 -0
- package/dist/cjs/downloader/post/embed.d.ts +7 -0
- package/dist/cjs/downloader/post/embed.d.ts.map +1 -0
- package/dist/cjs/downloader/post/embed.js +14 -0
- package/dist/cjs/downloader/post/embed.js.map +1 -0
- package/dist/cjs/downloader/post/sync.d.ts +17 -0
- package/dist/cjs/downloader/post/sync.d.ts.map +1 -0
- package/dist/cjs/downloader/post/sync.js +126 -0
- package/dist/cjs/downloader/post/sync.js.map +1 -0
- package/dist/cjs/downloader/post/url-embed.d.ts +7 -0
- package/dist/cjs/downloader/post/url-embed.d.ts.map +1 -0
- package/dist/cjs/downloader/post/url-embed.js +14 -0
- package/dist/cjs/downloader/post/url-embed.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/transport/http2-session.d.ts +7 -0
- package/dist/cjs/transport/http2-session.d.ts.map +1 -0
- package/dist/cjs/transport/http2-session.js +48 -0
- package/dist/cjs/transport/http2-session.js.map +1 -0
- package/dist/cjs/transport/http2.d.ts +15 -0
- package/dist/cjs/transport/http2.d.ts.map +1 -0
- package/dist/cjs/transport/http2.js +94 -0
- package/dist/cjs/transport/http2.js.map +1 -0
- package/dist/cjs/transport/worker.d.ts +17 -0
- package/dist/cjs/transport/worker.d.ts.map +1 -0
- package/dist/cjs/transport/worker.js +137 -0
- package/dist/cjs/transport/worker.js.map +1 -0
- package/dist/cjs/usage.d.ts +4 -0
- package/dist/cjs/usage.d.ts.map +1 -0
- package/dist/cjs/usage.js +11 -0
- package/dist/cjs/usage.js.map +1 -0
- package/dist/esm/cli.d.ts +3 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +62 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/client/client.d.ts +36 -0
- package/dist/esm/client/client.d.ts.map +1 -0
- package/dist/esm/client/client.js +77 -0
- package/dist/esm/client/client.js.map +1 -0
- package/dist/esm/client/endpoints/creator-get.d.ts +8 -0
- package/dist/esm/client/endpoints/creator-get.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-get.js +4 -0
- package/dist/esm/client/endpoints/creator-get.js.map +1 -0
- package/dist/esm/client/endpoints/creator-list-pages.d.ts +9 -0
- package/dist/esm/client/endpoints/creator-list-pages.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-list-pages.js +4 -0
- package/dist/esm/client/endpoints/creator-list-pages.js.map +1 -0
- package/dist/esm/client/endpoints/creator-list-plans.d.ts +8 -0
- package/dist/esm/client/endpoints/creator-list-plans.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-list-plans.js +4 -0
- package/dist/esm/client/endpoints/creator-list-plans.js.map +1 -0
- package/dist/esm/client/endpoints/creator-list-posts.d.ts +11 -0
- package/dist/esm/client/endpoints/creator-list-posts.d.ts.map +1 -0
- package/dist/esm/client/endpoints/creator-list-posts.js +4 -0
- package/dist/esm/client/endpoints/creator-list-posts.js.map +1 -0
- package/dist/esm/client/endpoints/post-info.d.ts +8 -0
- package/dist/esm/client/endpoints/post-info.d.ts.map +1 -0
- package/dist/esm/client/endpoints/post-info.js +4 -0
- package/dist/esm/client/endpoints/post-info.js.map +1 -0
- package/dist/esm/client/endpoints/post-list-home.d.ts +6 -0
- package/dist/esm/client/endpoints/post-list-home.d.ts.map +1 -0
- package/dist/esm/client/endpoints/post-list-home.js +4 -0
- package/dist/esm/client/endpoints/post-list-home.js.map +1 -0
- package/dist/esm/client/endpoints/post-list-supporting.d.ts +6 -0
- package/dist/esm/client/endpoints/post-list-supporting.d.ts.map +1 -0
- package/dist/esm/client/endpoints/post-list-supporting.js +4 -0
- package/dist/esm/client/endpoints/post-list-supporting.js.map +1 -0
- package/dist/esm/client/endpoints/user-list-following.d.ts +7 -0
- package/dist/esm/client/endpoints/user-list-following.d.ts.map +1 -0
- package/dist/esm/client/endpoints/user-list-following.js +4 -0
- package/dist/esm/client/endpoints/user-list-following.js.map +1 -0
- package/dist/esm/client/endpoints/user-list-supporting.d.ts +5 -0
- package/dist/esm/client/endpoints/user-list-supporting.d.ts.map +1 -0
- package/dist/esm/client/endpoints/user-list-supporting.js +4 -0
- package/dist/esm/client/endpoints/user-list-supporting.js.map +1 -0
- package/dist/esm/client/fanbox-envelope.d.ts.map +1 -0
- package/dist/esm/client/fanbox-envelope.js.map +1 -0
- package/dist/esm/client/fanbox-headers.d.ts.map +1 -0
- package/dist/esm/{fanbox-headers.js → client/fanbox-headers.js} +0 -1
- package/dist/esm/client/fanbox-headers.js.map +1 -0
- package/dist/esm/client/models/creator.d.ts.map +1 -0
- package/dist/esm/client/models/creator.js.map +1 -0
- package/dist/esm/client/models/plan.d.ts.map +1 -0
- package/dist/esm/{endpoints → client}/models/plan.js.map +1 -1
- package/dist/esm/client/models/post/article.d.ts +41 -0
- package/dist/esm/client/models/post/article.d.ts.map +1 -0
- package/dist/esm/client/models/post/article.js +2 -0
- package/dist/esm/client/models/post/article.js.map +1 -0
- package/dist/esm/client/models/post/asset.d.ts +16 -0
- package/dist/esm/client/models/post/asset.d.ts.map +1 -0
- package/dist/esm/client/models/post/asset.js +2 -0
- package/dist/esm/client/models/post/asset.js.map +1 -0
- package/dist/esm/client/models/post/embed.d.ts +12 -0
- package/dist/esm/client/models/post/embed.d.ts.map +1 -0
- package/dist/esm/client/models/post/embed.js +2 -0
- package/dist/esm/client/models/post/embed.js.map +1 -0
- package/dist/esm/client/models/post/url-embed.d.ts +13 -0
- package/dist/esm/client/models/post/url-embed.d.ts.map +1 -0
- package/dist/esm/client/models/post/url-embed.js +2 -0
- package/dist/esm/client/models/post/url-embed.js.map +1 -0
- package/dist/esm/{endpoints → client}/models/post.d.ts +5 -48
- package/dist/esm/client/models/post.d.ts.map +1 -0
- package/dist/esm/{endpoints → client}/models/post.js.map +1 -1
- package/dist/esm/client/models/user.d.ts.map +1 -0
- package/dist/esm/{endpoints → client}/models/user.js.map +1 -1
- package/dist/esm/client/types.d.ts +14 -0
- package/dist/esm/client/types.d.ts.map +1 -0
- package/dist/esm/{types.js.map → client/types.js.map} +1 -1
- package/dist/esm/downloader/asset/download.d.ts +19 -0
- package/dist/esm/downloader/asset/download.d.ts.map +1 -0
- package/dist/esm/downloader/asset/download.js +52 -0
- package/dist/esm/downloader/asset/download.js.map +1 -0
- package/dist/esm/downloader/cli/cookie.d.ts +2 -0
- package/dist/esm/downloader/cli/cookie.d.ts.map +1 -0
- package/dist/esm/downloader/cli/cookie.js +34 -0
- package/dist/esm/downloader/cli/cookie.js.map +1 -0
- package/dist/esm/downloader/cli/index.d.ts +4 -0
- package/dist/esm/downloader/cli/index.d.ts.map +1 -0
- package/dist/esm/downloader/cli/index.js +11 -0
- package/dist/esm/downloader/cli/index.js.map +1 -0
- package/dist/esm/downloader/cli/options.d.ts +22 -0
- package/dist/esm/downloader/cli/options.d.ts.map +1 -0
- package/dist/esm/downloader/cli/options.js +120 -0
- package/dist/esm/downloader/cli/options.js.map +1 -0
- package/dist/esm/downloader/{resolver.d.ts → cli/resolver.d.ts} +7 -1
- package/dist/esm/downloader/cli/resolver.d.ts.map +1 -0
- package/dist/esm/downloader/cli/resolver.js +25 -0
- package/dist/esm/downloader/cli/resolver.js.map +1 -0
- package/dist/esm/downloader/creator/discover-posts.d.ts +15 -0
- package/dist/esm/downloader/creator/discover-posts.d.ts.map +1 -0
- package/dist/esm/downloader/creator/discover-posts.js +17 -0
- package/dist/esm/downloader/creator/discover-posts.js.map +1 -0
- package/dist/esm/downloader/creator/sync.d.ts +16 -0
- package/dist/esm/downloader/creator/sync.d.ts.map +1 -0
- package/dist/esm/downloader/creator/sync.js +31 -0
- package/dist/esm/downloader/creator/sync.js.map +1 -0
- package/dist/esm/downloader/fs/filesystem.d.ts +2 -0
- package/dist/esm/downloader/fs/filesystem.d.ts.map +1 -0
- package/dist/esm/downloader/fs/filesystem.js +7 -0
- package/dist/esm/downloader/fs/filesystem.js.map +1 -0
- package/dist/esm/downloader/fs/path-manager.d.ts +17 -0
- package/dist/esm/downloader/fs/path-manager.d.ts.map +1 -0
- package/dist/esm/downloader/fs/path-manager.js +45 -0
- package/dist/esm/downloader/fs/path-manager.js.map +1 -0
- package/dist/esm/downloader/index.d.ts +8 -2
- package/dist/esm/downloader/index.d.ts.map +1 -1
- package/dist/esm/downloader/index.js +55 -5
- package/dist/esm/downloader/index.js.map +1 -1
- package/dist/esm/downloader/manifest/creator-manager.d.ts +15 -0
- package/dist/esm/downloader/manifest/creator-manager.d.ts.map +1 -0
- package/dist/esm/downloader/manifest/creator-manager.js +38 -0
- package/dist/esm/downloader/manifest/creator-manager.js.map +1 -0
- package/dist/esm/downloader/manifest/creator.d.ts +42 -0
- package/dist/esm/downloader/manifest/creator.d.ts.map +1 -0
- package/dist/esm/downloader/manifest/creator.js +50 -0
- package/dist/esm/downloader/manifest/creator.js.map +1 -0
- package/dist/esm/downloader/manifest/store.d.ts +9 -0
- package/dist/esm/downloader/manifest/store.d.ts.map +1 -0
- package/dist/esm/downloader/manifest/store.js +25 -0
- package/dist/esm/downloader/manifest/store.js.map +1 -0
- package/dist/esm/downloader/markdown/asset.d.ts +12 -0
- package/dist/esm/downloader/markdown/asset.d.ts.map +1 -0
- package/dist/esm/downloader/markdown/asset.js +22 -0
- package/dist/esm/downloader/markdown/asset.js.map +1 -0
- package/dist/esm/downloader/post/article.d.ts +4 -0
- package/dist/esm/downloader/post/article.d.ts.map +1 -0
- package/dist/esm/downloader/post/article.js +32 -0
- package/dist/esm/downloader/post/article.js.map +1 -0
- package/dist/esm/downloader/post/content.d.ts +52 -0
- package/dist/esm/downloader/post/content.d.ts.map +1 -0
- package/dist/esm/downloader/post/content.js +39 -0
- package/dist/esm/downloader/post/content.js.map +1 -0
- package/dist/esm/downloader/post/contents.d.ts +9 -0
- package/dist/esm/downloader/post/contents.d.ts.map +1 -0
- package/dist/esm/downloader/post/contents.js +33 -0
- package/dist/esm/downloader/post/contents.js.map +1 -0
- package/dist/esm/downloader/post/embed.d.ts +7 -0
- package/dist/esm/downloader/post/embed.d.ts.map +1 -0
- package/dist/esm/downloader/post/embed.js +11 -0
- package/dist/esm/downloader/post/embed.js.map +1 -0
- package/dist/esm/downloader/post/sync.d.ts +17 -0
- package/dist/esm/downloader/post/sync.d.ts.map +1 -0
- package/dist/esm/downloader/post/sync.js +123 -0
- package/dist/esm/downloader/post/sync.js.map +1 -0
- package/dist/esm/downloader/post/url-embed.d.ts +7 -0
- package/dist/esm/downloader/post/url-embed.d.ts.map +1 -0
- package/dist/esm/downloader/post/url-embed.js +11 -0
- package/dist/esm/downloader/post/url-embed.js.map +1 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/transport/http2-session.d.ts +7 -0
- package/dist/esm/transport/http2-session.d.ts.map +1 -0
- package/dist/esm/transport/http2-session.js +44 -0
- package/dist/esm/transport/http2-session.js.map +1 -0
- package/dist/esm/transport/http2.d.ts +15 -0
- package/dist/esm/transport/http2.d.ts.map +1 -0
- package/dist/esm/transport/http2.js +89 -0
- package/dist/esm/transport/http2.js.map +1 -0
- package/dist/esm/transport/worker.d.ts +17 -0
- package/dist/esm/transport/worker.d.ts.map +1 -0
- package/dist/esm/transport/worker.js +133 -0
- package/dist/esm/transport/worker.js.map +1 -0
- package/dist/esm/usage.d.ts +4 -0
- package/dist/esm/usage.d.ts.map +1 -0
- package/dist/esm/usage.js +7 -0
- package/dist/esm/usage.js.map +1 -0
- package/package.json +5 -2
- package/dist/cjs/client-options.d.ts +0 -8
- package/dist/cjs/client-options.d.ts.map +0 -1
- package/dist/cjs/client-options.js +0 -3
- package/dist/cjs/client-options.js.map +0 -1
- package/dist/cjs/client.d.ts +0 -31
- package/dist/cjs/client.d.ts.map +0 -1
- package/dist/cjs/client.js +0 -107
- package/dist/cjs/client.js.map +0 -1
- package/dist/cjs/downloader/asset.d.ts +0 -30
- package/dist/cjs/downloader/asset.d.ts.map +0 -1
- package/dist/cjs/downloader/asset.js +0 -99
- package/dist/cjs/downloader/asset.js.map +0 -1
- package/dist/cjs/downloader/cli.d.ts +0 -8
- package/dist/cjs/downloader/cli.d.ts.map +0 -1
- package/dist/cjs/downloader/cli.js +0 -168
- package/dist/cjs/downloader/cli.js.map +0 -1
- package/dist/cjs/downloader/discovery.d.ts +0 -12
- package/dist/cjs/downloader/discovery.d.ts.map +0 -1
- package/dist/cjs/downloader/discovery.js +0 -87
- package/dist/cjs/downloader/discovery.js.map +0 -1
- package/dist/cjs/downloader/errors.d.ts +0 -5
- package/dist/cjs/downloader/errors.d.ts.map +0 -1
- package/dist/cjs/downloader/errors.js +0 -40
- package/dist/cjs/downloader/errors.js.map +0 -1
- package/dist/cjs/downloader/logger.d.ts +0 -16
- package/dist/cjs/downloader/logger.d.ts.map +0 -1
- package/dist/cjs/downloader/logger.js +0 -51
- package/dist/cjs/downloader/logger.js.map +0 -1
- package/dist/cjs/downloader/manifest.d.ts +0 -31
- package/dist/cjs/downloader/manifest.d.ts.map +0 -1
- package/dist/cjs/downloader/manifest.js +0 -53
- package/dist/cjs/downloader/manifest.js.map +0 -1
- package/dist/cjs/downloader/markdown.d.ts +0 -4
- package/dist/cjs/downloader/markdown.d.ts.map +0 -1
- package/dist/cjs/downloader/markdown.js +0 -62
- package/dist/cjs/downloader/markdown.js.map +0 -1
- package/dist/cjs/downloader/options.d.ts +0 -24
- package/dist/cjs/downloader/options.d.ts.map +0 -1
- package/dist/cjs/downloader/options.js +0 -135
- package/dist/cjs/downloader/options.js.map +0 -1
- package/dist/cjs/downloader/path.d.ts +0 -15
- package/dist/cjs/downloader/path.d.ts.map +0 -1
- package/dist/cjs/downloader/path.js +0 -79
- package/dist/cjs/downloader/path.js.map +0 -1
- package/dist/cjs/downloader/resolver.d.ts.map +0 -1
- package/dist/cjs/downloader/resolver.js +0 -22
- package/dist/cjs/downloader/resolver.js.map +0 -1
- package/dist/cjs/downloader/scheduler.d.ts +0 -19
- package/dist/cjs/downloader/scheduler.d.ts.map +0 -1
- package/dist/cjs/downloader/scheduler.js +0 -124
- package/dist/cjs/downloader/scheduler.js.map +0 -1
- package/dist/cjs/downloader/sync.d.ts +0 -21
- package/dist/cjs/downloader/sync.d.ts.map +0 -1
- package/dist/cjs/downloader/sync.js +0 -317
- package/dist/cjs/downloader/sync.js.map +0 -1
- package/dist/cjs/endpoints/creator-get.d.ts +0 -7
- package/dist/cjs/endpoints/creator-get.d.ts.map +0 -1
- package/dist/cjs/endpoints/creator-get.js +0 -5
- package/dist/cjs/endpoints/creator-get.js.map +0 -1
- package/dist/cjs/endpoints/creator-list-following.d.ts +0 -6
- package/dist/cjs/endpoints/creator-list-following.d.ts.map +0 -1
- package/dist/cjs/endpoints/creator-list-following.js +0 -5
- package/dist/cjs/endpoints/creator-list-following.js.map +0 -1
- package/dist/cjs/endpoints/fanbox-envelope.d.ts.map +0 -1
- package/dist/cjs/endpoints/fanbox-envelope.js.map +0 -1
- package/dist/cjs/endpoints/models/creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/models/creator.js.map +0 -1
- package/dist/cjs/endpoints/models/plan.d.ts.map +0 -1
- package/dist/cjs/endpoints/models/post.d.ts.map +0 -1
- package/dist/cjs/endpoints/models/user.d.ts.map +0 -1
- package/dist/cjs/endpoints/plan-list-creator.d.ts +0 -7
- package/dist/cjs/endpoints/plan-list-creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/plan-list-creator.js +0 -5
- package/dist/cjs/endpoints/plan-list-creator.js.map +0 -1
- package/dist/cjs/endpoints/plan-list-supporting.d.ts +0 -4
- package/dist/cjs/endpoints/plan-list-supporting.d.ts.map +0 -1
- package/dist/cjs/endpoints/plan-list-supporting.js +0 -5
- package/dist/cjs/endpoints/plan-list-supporting.js.map +0 -1
- package/dist/cjs/endpoints/post-info.d.ts +0 -7
- package/dist/cjs/endpoints/post-info.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-info.js +0 -5
- package/dist/cjs/endpoints/post-info.js.map +0 -1
- package/dist/cjs/endpoints/post-list-creator.d.ts +0 -10
- package/dist/cjs/endpoints/post-list-creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-list-creator.js +0 -5
- package/dist/cjs/endpoints/post-list-creator.js.map +0 -1
- package/dist/cjs/endpoints/post-list-home.d.ts +0 -5
- package/dist/cjs/endpoints/post-list-home.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-list-home.js +0 -5
- package/dist/cjs/endpoints/post-list-home.js.map +0 -1
- package/dist/cjs/endpoints/post-list-supporting.d.ts +0 -5
- package/dist/cjs/endpoints/post-list-supporting.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-list-supporting.js +0 -5
- package/dist/cjs/endpoints/post-list-supporting.js.map +0 -1
- package/dist/cjs/endpoints/post-paginate-creator.d.ts +0 -8
- package/dist/cjs/endpoints/post-paginate-creator.d.ts.map +0 -1
- package/dist/cjs/endpoints/post-paginate-creator.js +0 -5
- package/dist/cjs/endpoints/post-paginate-creator.js.map +0 -1
- package/dist/cjs/fanbox-headers.d.ts.map +0 -1
- package/dist/cjs/fanbox-headers.js.map +0 -1
- package/dist/cjs/http.d.ts +0 -31
- package/dist/cjs/http.d.ts.map +0 -1
- package/dist/cjs/http.js +0 -200
- package/dist/cjs/http.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -16
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/esm/client-options.d.ts +0 -8
- package/dist/esm/client-options.d.ts.map +0 -1
- package/dist/esm/client-options.js +0 -2
- package/dist/esm/client-options.js.map +0 -1
- package/dist/esm/client.d.ts +0 -31
- package/dist/esm/client.d.ts.map +0 -1
- package/dist/esm/client.js +0 -102
- package/dist/esm/client.js.map +0 -1
- package/dist/esm/downloader/asset.d.ts +0 -30
- package/dist/esm/downloader/asset.d.ts.map +0 -1
- package/dist/esm/downloader/asset.js +0 -91
- package/dist/esm/downloader/asset.js.map +0 -1
- package/dist/esm/downloader/cli.d.ts +0 -8
- package/dist/esm/downloader/cli.d.ts.map +0 -1
- package/dist/esm/downloader/cli.js +0 -164
- package/dist/esm/downloader/cli.js.map +0 -1
- package/dist/esm/downloader/discovery.d.ts +0 -12
- package/dist/esm/downloader/discovery.d.ts.map +0 -1
- package/dist/esm/downloader/discovery.js +0 -84
- package/dist/esm/downloader/discovery.js.map +0 -1
- package/dist/esm/downloader/errors.d.ts +0 -5
- package/dist/esm/downloader/errors.d.ts.map +0 -1
- package/dist/esm/downloader/errors.js +0 -36
- package/dist/esm/downloader/errors.js.map +0 -1
- package/dist/esm/downloader/logger.d.ts +0 -16
- package/dist/esm/downloader/logger.d.ts.map +0 -1
- package/dist/esm/downloader/logger.js +0 -47
- package/dist/esm/downloader/logger.js.map +0 -1
- package/dist/esm/downloader/manifest.d.ts +0 -31
- package/dist/esm/downloader/manifest.d.ts.map +0 -1
- package/dist/esm/downloader/manifest.js +0 -46
- package/dist/esm/downloader/manifest.js.map +0 -1
- package/dist/esm/downloader/markdown.d.ts +0 -4
- package/dist/esm/downloader/markdown.d.ts.map +0 -1
- package/dist/esm/downloader/markdown.js +0 -59
- package/dist/esm/downloader/markdown.js.map +0 -1
- package/dist/esm/downloader/options.d.ts +0 -24
- package/dist/esm/downloader/options.d.ts.map +0 -1
- package/dist/esm/downloader/options.js +0 -130
- package/dist/esm/downloader/options.js.map +0 -1
- package/dist/esm/downloader/path.d.ts +0 -15
- package/dist/esm/downloader/path.d.ts.map +0 -1
- package/dist/esm/downloader/path.js +0 -69
- package/dist/esm/downloader/path.js.map +0 -1
- package/dist/esm/downloader/resolver.d.ts.map +0 -1
- package/dist/esm/downloader/resolver.js +0 -19
- package/dist/esm/downloader/resolver.js.map +0 -1
- package/dist/esm/downloader/scheduler.d.ts +0 -19
- package/dist/esm/downloader/scheduler.d.ts.map +0 -1
- package/dist/esm/downloader/scheduler.js +0 -120
- package/dist/esm/downloader/scheduler.js.map +0 -1
- package/dist/esm/downloader/sync.d.ts +0 -21
- package/dist/esm/downloader/sync.d.ts.map +0 -1
- package/dist/esm/downloader/sync.js +0 -311
- package/dist/esm/downloader/sync.js.map +0 -1
- package/dist/esm/endpoints/creator-get.d.ts +0 -7
- package/dist/esm/endpoints/creator-get.d.ts.map +0 -1
- package/dist/esm/endpoints/creator-get.js +0 -2
- package/dist/esm/endpoints/creator-get.js.map +0 -1
- package/dist/esm/endpoints/creator-list-following.d.ts +0 -6
- package/dist/esm/endpoints/creator-list-following.d.ts.map +0 -1
- package/dist/esm/endpoints/creator-list-following.js +0 -2
- package/dist/esm/endpoints/creator-list-following.js.map +0 -1
- package/dist/esm/endpoints/fanbox-envelope.d.ts.map +0 -1
- package/dist/esm/endpoints/fanbox-envelope.js.map +0 -1
- package/dist/esm/endpoints/models/creator.d.ts.map +0 -1
- package/dist/esm/endpoints/models/creator.js.map +0 -1
- package/dist/esm/endpoints/models/plan.d.ts.map +0 -1
- package/dist/esm/endpoints/models/post.d.ts.map +0 -1
- package/dist/esm/endpoints/models/user.d.ts.map +0 -1
- package/dist/esm/endpoints/plan-list-creator.d.ts +0 -7
- package/dist/esm/endpoints/plan-list-creator.d.ts.map +0 -1
- package/dist/esm/endpoints/plan-list-creator.js +0 -2
- package/dist/esm/endpoints/plan-list-creator.js.map +0 -1
- package/dist/esm/endpoints/plan-list-supporting.d.ts +0 -4
- package/dist/esm/endpoints/plan-list-supporting.d.ts.map +0 -1
- package/dist/esm/endpoints/plan-list-supporting.js +0 -2
- package/dist/esm/endpoints/plan-list-supporting.js.map +0 -1
- package/dist/esm/endpoints/post-info.d.ts +0 -7
- package/dist/esm/endpoints/post-info.d.ts.map +0 -1
- package/dist/esm/endpoints/post-info.js +0 -2
- package/dist/esm/endpoints/post-info.js.map +0 -1
- package/dist/esm/endpoints/post-list-creator.d.ts +0 -10
- package/dist/esm/endpoints/post-list-creator.d.ts.map +0 -1
- package/dist/esm/endpoints/post-list-creator.js +0 -2
- package/dist/esm/endpoints/post-list-creator.js.map +0 -1
- package/dist/esm/endpoints/post-list-home.d.ts +0 -5
- package/dist/esm/endpoints/post-list-home.d.ts.map +0 -1
- package/dist/esm/endpoints/post-list-home.js +0 -2
- package/dist/esm/endpoints/post-list-home.js.map +0 -1
- package/dist/esm/endpoints/post-list-supporting.d.ts +0 -5
- package/dist/esm/endpoints/post-list-supporting.d.ts.map +0 -1
- package/dist/esm/endpoints/post-list-supporting.js +0 -2
- package/dist/esm/endpoints/post-list-supporting.js.map +0 -1
- package/dist/esm/endpoints/post-paginate-creator.d.ts +0 -8
- package/dist/esm/endpoints/post-paginate-creator.d.ts.map +0 -1
- package/dist/esm/endpoints/post-paginate-creator.js +0 -2
- package/dist/esm/endpoints/post-paginate-creator.js.map +0 -1
- package/dist/esm/fanbox-headers.d.ts.map +0 -1
- package/dist/esm/fanbox-headers.js.map +0 -1
- package/dist/esm/http.d.ts +0 -31
- package/dist/esm/http.d.ts.map +0 -1
- package/dist/esm/http.js +0 -195
- package/dist/esm/http.js.map +0 -1
- package/dist/esm/types.d.ts +0 -16
- package/dist/esm/types.d.ts.map +0 -1
- /package/dist/cjs/{endpoints → client}/fanbox-envelope.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/fanbox-envelope.js +0 -0
- /package/dist/cjs/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
- /package/dist/cjs/{endpoints → client}/models/creator.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/models/creator.js +0 -0
- /package/dist/cjs/{endpoints → client}/models/plan.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/models/plan.js +0 -0
- /package/dist/cjs/{endpoints → client}/models/post.js +0 -0
- /package/dist/cjs/{endpoints → client}/models/user.d.ts +0 -0
- /package/dist/cjs/{endpoints → client}/models/user.js +0 -0
- /package/dist/cjs/{types.js → client/types.js} +0 -0
- /package/dist/esm/{endpoints → client}/fanbox-envelope.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/fanbox-envelope.js +0 -0
- /package/dist/esm/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
- /package/dist/esm/{endpoints → client}/models/creator.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/models/creator.js +0 -0
- /package/dist/esm/{endpoints → client}/models/plan.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/models/plan.js +0 -0
- /package/dist/esm/{endpoints → client}/models/post.js +0 -0
- /package/dist/esm/{endpoints → client}/models/user.d.ts +0 -0
- /package/dist/esm/{endpoints → client}/models/user.js +0 -0
- /package/dist/esm/{types.js → client/types.js} +0 -0
|
@@ -0,0 +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;AAwED,qBAAa,aAAa;;gBAStB,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAC9B,EACE,WAAe,EACf,UAAgB,EAChB,UAAc,EACd,gBAAgB,EAChB,SAA0C,GAC3C,GAAE,mBAAwB;IAoBvB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG;CAwC5C"}
|
|
@@ -0,0 +1,133 @@
|
|
|
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
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
+
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
+
};
|
|
12
|
+
var _ConcurrencyLimiter_active, _ConcurrencyLimiter_logger, _ConcurrencyLimiter_queue, _TimeLimiter_availableAt, _TimeLimiter_logger, _RequestWorker_instances, _RequestWorker_concurrencyLimiter, _RequestWorker_logger, _RequestWorker_maxRetries, _RequestWorker_rateLimitPauseMs, _RequestWorker_timeLimiter, _RequestWorker_transport, _RequestWorker_fetch;
|
|
13
|
+
import { Http2Transport } from "./http2.js";
|
|
14
|
+
class ConcurrencyLimiter {
|
|
15
|
+
constructor({ logger }, concurrency) {
|
|
16
|
+
this.concurrency = concurrency;
|
|
17
|
+
_ConcurrencyLimiter_active.set(this, 0);
|
|
18
|
+
_ConcurrencyLimiter_logger.set(this, void 0);
|
|
19
|
+
_ConcurrencyLimiter_queue.set(this, []);
|
|
20
|
+
__classPrivateFieldSet(this, _ConcurrencyLimiter_logger, logger, "f");
|
|
21
|
+
__classPrivateFieldGet(this, _ConcurrencyLimiter_logger, "f").trace({ concurrency }, "Initialized ConcurrencyLimiter");
|
|
22
|
+
}
|
|
23
|
+
async acquire() {
|
|
24
|
+
var _a;
|
|
25
|
+
if (__classPrivateFieldGet(this, _ConcurrencyLimiter_active, "f") >= this.concurrency) {
|
|
26
|
+
__classPrivateFieldGet(this, _ConcurrencyLimiter_logger, "f").trace(`Concurrency limit reached (${__classPrivateFieldGet(this, _ConcurrencyLimiter_active, "f")}/${this.concurrency}), waiting for release.`);
|
|
27
|
+
await new Promise((release) => __classPrivateFieldGet(this, _ConcurrencyLimiter_queue, "f").push(release));
|
|
28
|
+
}
|
|
29
|
+
__classPrivateFieldSet(this, _ConcurrencyLimiter_active, (_a = __classPrivateFieldGet(this, _ConcurrencyLimiter_active, "f"), ++_a), "f");
|
|
30
|
+
}
|
|
31
|
+
release() {
|
|
32
|
+
var _a;
|
|
33
|
+
__classPrivateFieldSet(this, _ConcurrencyLimiter_active, (_a = __classPrivateFieldGet(this, _ConcurrencyLimiter_active, "f"), --_a), "f");
|
|
34
|
+
if (__classPrivateFieldGet(this, _ConcurrencyLimiter_queue, "f").length > 0) {
|
|
35
|
+
const next = __classPrivateFieldGet(this, _ConcurrencyLimiter_queue, "f").shift();
|
|
36
|
+
if (next) {
|
|
37
|
+
__classPrivateFieldGet(this, _ConcurrencyLimiter_logger, "f").trace(`Concurrency limit released (${__classPrivateFieldGet(this, _ConcurrencyLimiter_active, "f")}/${this.concurrency}), processing next request.`);
|
|
38
|
+
next();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
_ConcurrencyLimiter_active = new WeakMap(), _ConcurrencyLimiter_logger = new WeakMap(), _ConcurrencyLimiter_queue = new WeakMap();
|
|
44
|
+
class TimeLimiter {
|
|
45
|
+
constructor({ logger }, intervalMs) {
|
|
46
|
+
this.intervalMs = intervalMs;
|
|
47
|
+
_TimeLimiter_availableAt.set(this, 0);
|
|
48
|
+
_TimeLimiter_logger.set(this, void 0);
|
|
49
|
+
__classPrivateFieldSet(this, _TimeLimiter_logger, logger, "f");
|
|
50
|
+
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Initialized TimeLimiter with interval ${intervalMs}ms`);
|
|
51
|
+
}
|
|
52
|
+
setNextAvailableAt(availableAt) {
|
|
53
|
+
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Setting next available time to ${availableAt}.`);
|
|
54
|
+
__classPrivateFieldSet(this, _TimeLimiter_availableAt, availableAt, "f");
|
|
55
|
+
}
|
|
56
|
+
async wait() {
|
|
57
|
+
const now = Date.now();
|
|
58
|
+
if (__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f") > now) {
|
|
59
|
+
const waitMs = __classPrivateFieldGet(this, _TimeLimiter_availableAt, "f") - now;
|
|
60
|
+
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Waiting for time limiter for ${waitMs}ms, until ${__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f")}.`);
|
|
61
|
+
await sleep(waitMs);
|
|
62
|
+
__classPrivateFieldGet(this, _TimeLimiter_logger, "f").trace(`Time limiter continued at ${__classPrivateFieldGet(this, _TimeLimiter_availableAt, "f")}.`);
|
|
63
|
+
}
|
|
64
|
+
this.setNextAvailableAt(Date.now() + this.intervalMs);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
_TimeLimiter_availableAt = new WeakMap(), _TimeLimiter_logger = new WeakMap();
|
|
68
|
+
export class RequestWorker {
|
|
69
|
+
constructor({ logger }, { concurrency = 5, intervalMs = 500, maxRetries = 3, rateLimitPauseMs, transport = new Http2Transport({ logger }), } = {}) {
|
|
70
|
+
_RequestWorker_instances.add(this);
|
|
71
|
+
_RequestWorker_concurrencyLimiter.set(this, void 0);
|
|
72
|
+
_RequestWorker_logger.set(this, void 0);
|
|
73
|
+
_RequestWorker_maxRetries.set(this, void 0);
|
|
74
|
+
_RequestWorker_rateLimitPauseMs.set(this, void 0);
|
|
75
|
+
_RequestWorker_timeLimiter.set(this, void 0);
|
|
76
|
+
_RequestWorker_transport.set(this, void 0);
|
|
77
|
+
__classPrivateFieldSet(this, _RequestWorker_logger, logger, "f");
|
|
78
|
+
__classPrivateFieldSet(this, _RequestWorker_transport, transport, "f");
|
|
79
|
+
__classPrivateFieldSet(this, _RequestWorker_concurrencyLimiter, new ConcurrencyLimiter({ logger }, concurrency), "f");
|
|
80
|
+
__classPrivateFieldSet(this, _RequestWorker_timeLimiter, new TimeLimiter({ logger }, intervalMs), "f");
|
|
81
|
+
__classPrivateFieldSet(this, _RequestWorker_maxRetries, maxRetries, "f");
|
|
82
|
+
__classPrivateFieldSet(this, _RequestWorker_rateLimitPauseMs, rateLimitPauseMs, "f");
|
|
83
|
+
logger.trace({
|
|
84
|
+
concurrency,
|
|
85
|
+
intervalMs,
|
|
86
|
+
maxRetries,
|
|
87
|
+
rateLimitPauseMs,
|
|
88
|
+
transport: transport.constructor.name,
|
|
89
|
+
}, "Initialized RequestWorker");
|
|
90
|
+
}
|
|
91
|
+
async fetch(request) {
|
|
92
|
+
await __classPrivateFieldGet(this, _RequestWorker_concurrencyLimiter, "f").acquire();
|
|
93
|
+
return __classPrivateFieldGet(this, _RequestWorker_instances, "m", _RequestWorker_fetch).call(this, request).finally(() => {
|
|
94
|
+
__classPrivateFieldGet(this, _RequestWorker_concurrencyLimiter, "f").release();
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
_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")) {
|
|
99
|
+
__classPrivateFieldGet(this, _RequestWorker_logger, "f").trace(`Fetching request with max ${retryRemains} retries to ${request instanceof Request ? request.url : request.toString()}`);
|
|
100
|
+
await __classPrivateFieldGet(this, _RequestWorker_timeLimiter, "f").wait();
|
|
101
|
+
const requestObj = request instanceof Request ? request.clone() : new Request(request);
|
|
102
|
+
const response = await __classPrivateFieldGet(this, _RequestWorker_transport, "f").fetch(requestObj);
|
|
103
|
+
if (response.ok)
|
|
104
|
+
return response;
|
|
105
|
+
if (response.status === 429) {
|
|
106
|
+
const retryAfter = __classPrivateFieldGet(this, _RequestWorker_rateLimitPauseMs, "f") ?? parseRetryAfter(response) ?? 60000;
|
|
107
|
+
const availableAt = Date.now() + retryAfter;
|
|
108
|
+
__classPrivateFieldGet(this, _RequestWorker_logger, "f").warn("Received 429 Too Many Requests. Pausing requests.");
|
|
109
|
+
await sleep(retryAfter);
|
|
110
|
+
__classPrivateFieldGet(this, _RequestWorker_timeLimiter, "f").setNextAvailableAt(availableAt);
|
|
111
|
+
}
|
|
112
|
+
if (retryRemains <= 0) {
|
|
113
|
+
__classPrivateFieldGet(this, _RequestWorker_logger, "f").error(`Request failed with ${response.status} ${response.statusText} after maximum retries.`);
|
|
114
|
+
return response;
|
|
115
|
+
}
|
|
116
|
+
return __classPrivateFieldGet(this, _RequestWorker_instances, "m", _RequestWorker_fetch).call(this, request, retryRemains - 1);
|
|
117
|
+
};
|
|
118
|
+
function parseRetryAfter(response, now = Date.now()) {
|
|
119
|
+
const retryAfter = response.headers.get("Retry-After");
|
|
120
|
+
if (!retryAfter) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
const seconds = Number(retryAfter);
|
|
124
|
+
if (Number.isFinite(seconds)) {
|
|
125
|
+
return Math.max(0, seconds * 1000);
|
|
126
|
+
}
|
|
127
|
+
const date = Date.parse(retryAfter);
|
|
128
|
+
return Number.isNaN(date) ? undefined : Math.max(0, date - now);
|
|
129
|
+
}
|
|
130
|
+
function sleep(milliseconds) {
|
|
131
|
+
return new Promise((resolve) => setTimeout(resolve, milliseconds));
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/transport/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/usage.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;gBACnB,OAAO,EAAE,MAAM;CAInC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/usage.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAmB,OAAe;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moontaiworks/fanbox-dl",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A TypeScript PixivFanbox Downloader and SDK",
|
|
5
5
|
"author": "moontai0724",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"bin": {
|
|
9
|
-
"fanbox-dl": "./dist/esm/
|
|
9
|
+
"fanbox-dl": "./dist/esm/cli.js"
|
|
10
10
|
},
|
|
11
11
|
"engines": {
|
|
12
12
|
"node": ">=20"
|
|
@@ -94,5 +94,8 @@
|
|
|
94
94
|
"typescript": "^5.9.3",
|
|
95
95
|
"typescript-eslint": "^8.57.1",
|
|
96
96
|
"vitest": "^4.1.0"
|
|
97
|
+
},
|
|
98
|
+
"dependencies": {
|
|
99
|
+
"pino": "^10.3.1"
|
|
97
100
|
}
|
|
98
101
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-options.d.ts","sourceRoot":"","sources":["../../src/client-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-options.js","sourceRoot":"","sources":["../../src/client-options.ts"],"names":[],"mappings":""}
|
package/dist/cjs/client.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { FanboxClientOptions } from "./client-options.js";
|
|
2
|
-
import { type GetCreatorParams, type GetCreatorResult } from "./endpoints/creator-get.js";
|
|
3
|
-
import { type ListFollowingCreatorsResult } from "./endpoints/creator-list-following.js";
|
|
4
|
-
import { type ListCreatorPlansParams, type ListCreatorPlansResult } from "./endpoints/plan-list-creator.js";
|
|
5
|
-
import { type ListSupportingPlansResult } from "./endpoints/plan-list-supporting.js";
|
|
6
|
-
import { type GetPostParams, type GetPostResult } from "./endpoints/post-info.js";
|
|
7
|
-
import { type ListCreatorPostsParams, type ListCreatorPostsResult } from "./endpoints/post-list-creator.js";
|
|
8
|
-
import { type ListHomePostsParams, type ListHomePostsResult } from "./endpoints/post-list-home.js";
|
|
9
|
-
import { type ListSupportingPostsParams, type ListSupportingPostsResult } from "./endpoints/post-list-supporting.js";
|
|
10
|
-
import { type PaginateCreatorPostsParams, type PaginateCreatorPostsResult } from "./endpoints/post-paginate-creator.js";
|
|
11
|
-
import { type HttpResponse } from "./http.js";
|
|
12
|
-
export declare class FanboxApiError extends Error {
|
|
13
|
-
readonly body: unknown;
|
|
14
|
-
readonly status: number;
|
|
15
|
-
readonly statusText: string;
|
|
16
|
-
constructor(response: HttpResponse, body: unknown);
|
|
17
|
-
}
|
|
18
|
-
export declare class FanboxClient {
|
|
19
|
-
#private;
|
|
20
|
-
constructor(options?: FanboxClientOptions);
|
|
21
|
-
getCreator(params: GetCreatorParams): Promise<GetCreatorResult>;
|
|
22
|
-
getPost(params: GetPostParams): Promise<GetPostResult>;
|
|
23
|
-
listCreatorPlans(params: ListCreatorPlansParams): Promise<ListCreatorPlansResult>;
|
|
24
|
-
listCreatorPosts(params: ListCreatorPostsParams): Promise<ListCreatorPostsResult>;
|
|
25
|
-
listFollowingCreators(): Promise<ListFollowingCreatorsResult>;
|
|
26
|
-
listHomePosts(params?: ListHomePostsParams): Promise<ListHomePostsResult>;
|
|
27
|
-
listSupportingPlans(): Promise<ListSupportingPlansResult>;
|
|
28
|
-
listSupportingPosts(params?: ListSupportingPostsParams): Promise<ListSupportingPostsResult>;
|
|
29
|
-
paginateCreatorPosts(params: PaginateCreatorPostsParams): Promise<PaginateCreatorPostsResult>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/cjs/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAEzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAE/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAEhC,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,WAAW,CAAC;AAInB,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;gBAEhB,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO;CASzD;AAED,qBAAa,YAAY;;gBAKJ,OAAO,GAAE,mBAAwB;IAS7C,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI/D,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,gBAAgB,CACrB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAI3B,gBAAgB,CACrB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAI3B,qBAAqB,IAAI,OAAO,CAAC,2BAA2B,CAAC;IAI7D,aAAa,CAClB,MAAM,GAAE,mBAAwB,GAC/B,OAAO,CAAC,mBAAmB,CAAC;IAIxB,mBAAmB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAIzD,mBAAmB,CACxB,MAAM,GAAE,yBAA8B,GACrC,OAAO,CAAC,yBAAyB,CAAC;IAI9B,oBAAoB,CACzB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CAAC,0BAA0B,CAAC;CA2BvC"}
|
package/dist/cjs/client.js
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
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
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
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
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _FanboxClient_instances, _FanboxClient_baseUrl, _FanboxClient_headers, _FanboxClient_transport, _FanboxClient_get;
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.FanboxClient = exports.FanboxApiError = void 0;
|
|
16
|
-
const creator_get_js_1 = require("./endpoints/creator-get.js");
|
|
17
|
-
const creator_list_following_js_1 = require("./endpoints/creator-list-following.js");
|
|
18
|
-
const plan_list_creator_js_1 = require("./endpoints/plan-list-creator.js");
|
|
19
|
-
const plan_list_supporting_js_1 = require("./endpoints/plan-list-supporting.js");
|
|
20
|
-
const post_info_js_1 = require("./endpoints/post-info.js");
|
|
21
|
-
const post_list_creator_js_1 = require("./endpoints/post-list-creator.js");
|
|
22
|
-
const post_list_home_js_1 = require("./endpoints/post-list-home.js");
|
|
23
|
-
const post_list_supporting_js_1 = require("./endpoints/post-list-supporting.js");
|
|
24
|
-
const post_paginate_creator_js_1 = require("./endpoints/post-paginate-creator.js");
|
|
25
|
-
const fanbox_headers_js_1 = require("./fanbox-headers.js");
|
|
26
|
-
const http_js_1 = require("./http.js");
|
|
27
|
-
const DEFAULT_BASE_URL = "https://api.fanbox.cc";
|
|
28
|
-
class FanboxApiError extends Error {
|
|
29
|
-
constructor(response, body) {
|
|
30
|
-
super(`FANBOX API request failed: ${response.status} ${response.statusText}`);
|
|
31
|
-
this.name = "FanboxApiError";
|
|
32
|
-
this.body = body;
|
|
33
|
-
this.status = response.status;
|
|
34
|
-
this.statusText = response.statusText;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.FanboxApiError = FanboxApiError;
|
|
38
|
-
class FanboxClient {
|
|
39
|
-
constructor(options = {}) {
|
|
40
|
-
_FanboxClient_instances.add(this);
|
|
41
|
-
_FanboxClient_baseUrl.set(this, void 0);
|
|
42
|
-
_FanboxClient_headers.set(this, void 0);
|
|
43
|
-
_FanboxClient_transport.set(this, void 0);
|
|
44
|
-
__classPrivateFieldSet(this, _FanboxClient_baseUrl, options.baseUrl ?? DEFAULT_BASE_URL, "f");
|
|
45
|
-
__classPrivateFieldSet(this, _FanboxClient_headers, (0, fanbox_headers_js_1.createFanboxRequestHeaders)({
|
|
46
|
-
cookie: options.cookie,
|
|
47
|
-
userAgent: options.userAgent,
|
|
48
|
-
}), "f");
|
|
49
|
-
__classPrivateFieldSet(this, _FanboxClient_transport, options.transport ?? new http_js_1.Http2Transport(), "f");
|
|
50
|
-
}
|
|
51
|
-
getCreator(params) {
|
|
52
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, creator_get_js_1.CREATOR_GET_PATH, params);
|
|
53
|
-
}
|
|
54
|
-
getPost(params) {
|
|
55
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, post_info_js_1.POST_INFO_PATH, params);
|
|
56
|
-
}
|
|
57
|
-
listCreatorPlans(params) {
|
|
58
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, plan_list_creator_js_1.PLAN_LIST_CREATOR_PATH, params);
|
|
59
|
-
}
|
|
60
|
-
listCreatorPosts(params) {
|
|
61
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, post_list_creator_js_1.POST_LIST_CREATOR_PATH, params);
|
|
62
|
-
}
|
|
63
|
-
listFollowingCreators() {
|
|
64
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, creator_list_following_js_1.CREATOR_LIST_FOLLOWING_PATH);
|
|
65
|
-
}
|
|
66
|
-
listHomePosts(params = {}) {
|
|
67
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, post_list_home_js_1.POST_LIST_HOME_PATH, params);
|
|
68
|
-
}
|
|
69
|
-
listSupportingPlans() {
|
|
70
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, plan_list_supporting_js_1.PLAN_LIST_SUPPORTING_PATH);
|
|
71
|
-
}
|
|
72
|
-
listSupportingPosts(params = {}) {
|
|
73
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, post_list_supporting_js_1.POST_LIST_SUPPORTING_PATH, params);
|
|
74
|
-
}
|
|
75
|
-
paginateCreatorPosts(params) {
|
|
76
|
-
return __classPrivateFieldGet(this, _FanboxClient_instances, "m", _FanboxClient_get).call(this, post_paginate_creator_js_1.POST_PAGINATE_CREATOR_PATH, params);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.FanboxClient = FanboxClient;
|
|
80
|
-
_FanboxClient_baseUrl = new WeakMap(), _FanboxClient_headers = new WeakMap(), _FanboxClient_transport = new WeakMap(), _FanboxClient_instances = new WeakSet(), _FanboxClient_get = async function _FanboxClient_get(path, query = {}) {
|
|
81
|
-
const url = new URL(path, __classPrivateFieldGet(this, _FanboxClient_baseUrl, "f").endsWith("/") ? __classPrivateFieldGet(this, _FanboxClient_baseUrl, "f") : `${__classPrivateFieldGet(this, _FanboxClient_baseUrl, "f")}/`);
|
|
82
|
-
for (const [key, value] of Object.entries(query)) {
|
|
83
|
-
if (value !== undefined) {
|
|
84
|
-
url.searchParams.set(key, String(value));
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
const response = await __classPrivateFieldGet(this, _FanboxClient_transport, "f").request({
|
|
88
|
-
headers: __classPrivateFieldGet(this, _FanboxClient_headers, "f"),
|
|
89
|
-
method: "GET",
|
|
90
|
-
url,
|
|
91
|
-
});
|
|
92
|
-
const body = await readResponseBody(response);
|
|
93
|
-
if (!response.ok) {
|
|
94
|
-
throw new FanboxApiError(response, body);
|
|
95
|
-
}
|
|
96
|
-
return body.body;
|
|
97
|
-
};
|
|
98
|
-
async function readResponseBody(response) {
|
|
99
|
-
const text = await response.text();
|
|
100
|
-
try {
|
|
101
|
-
return JSON.parse(text);
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
return text;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=client.js.map
|
package/dist/cjs/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+DAIoC;AACpC,qFAG+C;AAE/C,2EAI0C;AAC1C,iFAG6C;AAC7C,2DAIkC;AAClC,2EAI0C;AAC1C,qEAIuC;AACvC,iFAI6C;AAC7C,mFAI8C;AAC9C,2DAAiE;AACjE,uCAImB;AAEnB,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAEjD,MAAa,cAAe,SAAQ,KAAK;IAKvC,YAAmB,QAAsB,EAAE,IAAa;QACtD,KAAK,CACH,8BAA8B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACvE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IACxC,CAAC;CACF;AAdD,wCAcC;AAED,MAAa,YAAY;IAKvB,YAAmB,UAA+B,EAAE;;QAJ3C,wCAAiB;QACjB,wCAAiC;QACjC,0CAA0B;QAGjC,uBAAA,IAAI,yBAAY,OAAO,CAAC,OAAO,IAAI,gBAAgB,MAAA,CAAC;QACpD,uBAAA,IAAI,yBAAY,IAAA,8CAA0B,EAAC;YACzC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,MAAA,CAAC;QACH,uBAAA,IAAI,2BAAc,OAAO,CAAC,SAAS,IAAI,IAAI,wBAAc,EAAE,MAAA,CAAC;IAC9D,CAAC;IAEM,UAAU,CAAC,MAAwB;QACxC,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,iCAAgB,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,MAAqB;QAClC,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,6BAAc,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEM,gBAAgB,CACrB,MAA8B;QAE9B,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,6CAAsB,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAEM,gBAAgB,CACrB,MAA8B;QAE9B,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,6CAAsB,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAEM,qBAAqB;QAC1B,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,uDAA2B,CAAC,CAAC;IAChD,CAAC;IAEM,aAAa,CAClB,SAA8B,EAAE;QAEhC,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,uCAAmB,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAEM,mBAAmB;QACxB,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,mDAAyB,CAAC,CAAC;IAC9C,CAAC;IAEM,mBAAmB,CACxB,SAAoC,EAAE;QAEtC,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,mDAAyB,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAEM,oBAAoB,CACzB,MAAkC;QAElC,OAAO,uBAAA,IAAI,kDAAK,MAAT,IAAI,EAAM,qDAA0B,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;CAyBF;AAnFD,oCAmFC;oLAvBC,KAAK,4BAAS,IAAY,EAAE,QAAgB,EAAE;IAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,IAAI,EACJ,uBAAA,IAAI,6BAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAA,IAAI,6BAAS,CAAC,CAAC,CAAC,GAAG,uBAAA,IAAI,6BAAS,GAAG,CAClE,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,uBAAA,IAAI,+BAAW,CAAC,OAAO,CAAC;QAC7C,OAAO,EAAE,uBAAA,IAAI,6BAAS;QACtB,MAAM,EAAE,KAAK;QACb,GAAG;KACJ,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,OAAQ,IAA0B,CAAC,IAAI,CAAC;AAC1C,CAAC;AAGH,KAAK,UAAU,gBAAgB,CAAC,QAAsB;IACpD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { type HttpResponse, type HttpTransport } from "../http.js";
|
|
2
|
-
import type { RequestScheduler } from "./scheduler.js";
|
|
3
|
-
export interface AssetDownloaderOptions {
|
|
4
|
-
headers?: Record<string, string>;
|
|
5
|
-
scheduler: RequestScheduler;
|
|
6
|
-
transport?: HttpTransport;
|
|
7
|
-
}
|
|
8
|
-
export interface AssetDownloadOptions {
|
|
9
|
-
publishedDatetime: string;
|
|
10
|
-
relativePath: string;
|
|
11
|
-
rootDirectory: string;
|
|
12
|
-
url: string;
|
|
13
|
-
}
|
|
14
|
-
export interface AssetDownloadResult {
|
|
15
|
-
bytes: number;
|
|
16
|
-
sha256: string;
|
|
17
|
-
}
|
|
18
|
-
export declare class AssetDownloader {
|
|
19
|
-
#private;
|
|
20
|
-
constructor(options: AssetDownloaderOptions);
|
|
21
|
-
download(options: AssetDownloadOptions): Promise<AssetDownloadResult>;
|
|
22
|
-
}
|
|
23
|
-
export declare class AssetDownloadError extends Error {
|
|
24
|
-
readonly body: unknown;
|
|
25
|
-
readonly status: number;
|
|
26
|
-
readonly statusText: string;
|
|
27
|
-
readonly url: string;
|
|
28
|
-
constructor(response: HttpResponse, url: string, body: unknown);
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=asset.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/downloader/asset.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAe;;gBAKP,OAAO,EAAE,sBAAsB;IAMrC,QAAQ,CACnB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CA8ChC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,GAAG,EAAE,MAAM,CAAC;gBAET,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAQtE"}
|
|
@@ -1,99 +0,0 @@
|
|
|
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
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
-
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
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
var _AssetDownloader_headers, _AssetDownloader_scheduler, _AssetDownloader_transport;
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.AssetDownloadError = exports.AssetDownloader = void 0;
|
|
19
|
-
const node_crypto_1 = require("node:crypto");
|
|
20
|
-
const node_fs_1 = require("node:fs");
|
|
21
|
-
const promises_1 = require("node:fs/promises");
|
|
22
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
23
|
-
const promises_2 = require("node:stream/promises");
|
|
24
|
-
const http_js_1 = require("../http.js");
|
|
25
|
-
const path_js_1 = require("./path.js");
|
|
26
|
-
class AssetDownloader {
|
|
27
|
-
constructor(options) {
|
|
28
|
-
_AssetDownloader_headers.set(this, void 0);
|
|
29
|
-
_AssetDownloader_scheduler.set(this, void 0);
|
|
30
|
-
_AssetDownloader_transport.set(this, void 0);
|
|
31
|
-
__classPrivateFieldSet(this, _AssetDownloader_headers, options.headers ?? {}, "f");
|
|
32
|
-
__classPrivateFieldSet(this, _AssetDownloader_scheduler, options.scheduler, "f");
|
|
33
|
-
__classPrivateFieldSet(this, _AssetDownloader_transport, options.transport ?? new http_js_1.Http2Transport(), "f");
|
|
34
|
-
}
|
|
35
|
-
async download(options) {
|
|
36
|
-
const destination = node_path_1.default.join(options.rootDirectory, options.relativePath);
|
|
37
|
-
const temporaryPath = `${destination}.part`;
|
|
38
|
-
(0, path_js_1.assertPathBudget)(temporaryPath);
|
|
39
|
-
await (0, promises_1.mkdir)(node_path_1.default.dirname(destination), { recursive: true });
|
|
40
|
-
const partialBytes = await (0, promises_1.stat)(temporaryPath)
|
|
41
|
-
.then((result) => result.size)
|
|
42
|
-
.catch(() => 0);
|
|
43
|
-
const headers = { ...__classPrivateFieldGet(this, _AssetDownloader_headers, "f") };
|
|
44
|
-
if (partialBytes > 0) {
|
|
45
|
-
headers.Range = `bytes=${partialBytes}-`;
|
|
46
|
-
}
|
|
47
|
-
const response = await __classPrivateFieldGet(this, _AssetDownloader_scheduler, "f").request(() => __classPrivateFieldGet(this, _AssetDownloader_transport, "f").request({
|
|
48
|
-
headers,
|
|
49
|
-
method: "GET",
|
|
50
|
-
url: options.url,
|
|
51
|
-
}));
|
|
52
|
-
if (!response.ok) {
|
|
53
|
-
throw new AssetDownloadError(response, options.url, await readResponseBody(response));
|
|
54
|
-
}
|
|
55
|
-
await (0, promises_2.pipeline)(response.body, (0, node_fs_1.createWriteStream)(temporaryPath, {
|
|
56
|
-
flags: response.status === 206 && partialBytes > 0 ? "a" : "w",
|
|
57
|
-
}));
|
|
58
|
-
await (0, promises_1.rename)(temporaryPath, destination);
|
|
59
|
-
const modified = response.headers.get("Last-Modified");
|
|
60
|
-
const timestamp = modified
|
|
61
|
-
? new Date(modified)
|
|
62
|
-
: new Date(options.publishedDatetime);
|
|
63
|
-
await (0, promises_1.utimes)(destination, timestamp, timestamp);
|
|
64
|
-
return {
|
|
65
|
-
bytes: (await (0, promises_1.stat)(destination)).size,
|
|
66
|
-
sha256: await hashFile(destination),
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.AssetDownloader = AssetDownloader;
|
|
71
|
-
_AssetDownloader_headers = new WeakMap(), _AssetDownloader_scheduler = new WeakMap(), _AssetDownloader_transport = new WeakMap();
|
|
72
|
-
class AssetDownloadError extends Error {
|
|
73
|
-
constructor(response, url, body) {
|
|
74
|
-
super(`Asset download failed: ${response.status} ${url}`);
|
|
75
|
-
this.name = "AssetDownloadError";
|
|
76
|
-
this.body = body;
|
|
77
|
-
this.status = response.status;
|
|
78
|
-
this.statusText = response.statusText;
|
|
79
|
-
this.url = url;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.AssetDownloadError = AssetDownloadError;
|
|
83
|
-
async function hashFile(filePath) {
|
|
84
|
-
const hash = (0, node_crypto_1.createHash)("sha256");
|
|
85
|
-
for await (const chunk of (0, node_fs_1.createReadStream)(filePath)) {
|
|
86
|
-
hash.update(chunk);
|
|
87
|
-
}
|
|
88
|
-
return hash.digest("hex");
|
|
89
|
-
}
|
|
90
|
-
async function readResponseBody(response) {
|
|
91
|
-
const text = await response.text();
|
|
92
|
-
try {
|
|
93
|
-
return JSON.parse(text);
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
return text;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=asset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/downloader/asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type HttpTransport } from "../http.js";
|
|
2
|
-
export interface RunCliDependencies {
|
|
3
|
-
transport?: HttpTransport;
|
|
4
|
-
write?: (line: string) => void;
|
|
5
|
-
}
|
|
6
|
-
export declare const DOWNLOAD_HELP = "Usage: fanbox-dl download [options]\n\nDownload FANBOX posts for selected creators.\n\nSelectors:\n --creator <id> Add a creator ID. Can be repeated.\n --following Add all followed creators.\n --supporting Add all supporting creators.\n --ignore-creator <id> Exclude a creator ID. Can be repeated.\n\nAuth:\n --cookie <value> Raw session ID or FANBOXSESSID=... cookie.\n --cookie-file <path> Read raw cookie or Netscape cookies.txt.\n --user-agent <value> Send the User-Agent from your logged-in browser.\n FANBOX_SESSION_ID Environment fallback.\n FANBOX_USER_AGENT User-Agent environment fallback.\n\nDownload:\n --output <path> Output directory. Default: fanbox-downloads.\n --dry-run List creators/posts without downloading or writing.\n --flat-posts Store post files directly under each creator.\n --verify-assets Verify existing asset size and SHA-256 locally.\n\nRequests:\n --concurrency <n> Concurrent requests. Default: 3.\n --request-interval-ms <n> Delay between request starts. Default: 0.\n --rate-limit-pause-ms <n> Pause after 429 without Retry-After. Default: 60000.\n --max-retries <n> Retry attempts. Default: 5.\n\nOutput:\n --log-format json|pretty Default: json.\n --log-level <level> debug|info|warn|error. Default: info.\n --help Show this help.\n";
|
|
7
|
-
export declare function runCli(args: string[], env?: NodeJS.ProcessEnv, dependencies?: RunCliDependencies): Promise<number>;
|
|
8
|
-
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/downloader/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAWhE,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,aAAa,w7CAiCzB,CAAC;AAEF,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,GAAE,kBAAuB,GACpC,OAAO,CAAC,MAAM,CAAC,CAqHjB"}
|