@moontaiworks/fanbox-dl 1.0.0 → 1.1.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 +112 -100
- package/dist/bundle/index.d.ts +112 -100
- 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 +73 -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 -4
- 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 +21 -0
- package/dist/cjs/downloader/asset/download.d.ts.map +1 -0
- package/dist/cjs/downloader/asset/download.js +95 -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/cli/resolver.d.ts +24 -0
- 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 +55 -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 +127 -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 +11 -0
- package/dist/cjs/transport/http2.d.ts.map +1 -0
- package/dist/cjs/transport/http2.js +85 -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 +68 -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 -4
- 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 +21 -0
- package/dist/esm/downloader/asset/download.d.ts.map +1 -0
- package/dist/esm/downloader/asset/download.js +56 -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/cli/resolver.d.ts +24 -0
- 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 +54 -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 +124 -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 +11 -0
- package/dist/esm/transport/http2.d.ts.map +1 -0
- package/dist/esm/transport/http2.js +80 -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 +0 -16
- package/dist/cjs/downloader/resolver.d.ts.map +0 -1
- package/dist/cjs/downloader/resolver.js +0 -21
- 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 -4
- 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 +0 -16
- package/dist/esm/downloader/resolver.d.ts.map +0 -1
- package/dist/esm/downloader/resolver.js +0 -18
- 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 -4
- 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
package/README.md
CHANGED
|
@@ -65,7 +65,7 @@ At least one creator selector is required: `--creator`, `--following`, or
|
|
|
65
65
|
| `--rate-limit-pause-ms <n>` | Pause duration after HTTP 429 when FANBOX does not send `Retry-After`. | `--rate-limit-pause-ms 60000` | `60000` |
|
|
66
66
|
| `--max-retries <n>` | Retry attempts for retryable request failures. | `--max-retries 5` | `5` |
|
|
67
67
|
| `--log-format json\|pretty` | Choose JSON Lines logs or human-readable logs. | `--log-format pretty` | `json` |
|
|
68
|
-
| `--log-level <level>` | Show logs at this level or higher. One of `debug`, `info`, `warn`, or `
|
|
68
|
+
| `--log-level <level>` | Show logs at this level or higher. One of `trace`, `debug`, `info`, `warn`, `error` or `silent`. | `--log-level trace` | `info` |
|
|
69
69
|
| `--help` | Show CLI help. | `--help` | None |
|
|
70
70
|
|
|
71
71
|
### CLI Notes
|
package/dist/bundle/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var b=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var L=t=>{throw TypeError(t)};var $=(t,s)=>{for(var e in s)b(t,e,{get:s[e],enumerable:!0})},_=(t,s,e,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let o of O(s))!k.call(t,o)&&o!==e&&b(t,o,{get:()=>s[o],enumerable:!(r=I(s,o))||r.enumerable});return t};var D=t=>_(b({},"__esModule",{value:!0}),t);var F=(t,s,e)=>s.has(t)||L("Cannot "+e);var n=(t,s,e)=>(F(t,s,"read from private field"),e?e.call(t):s.get(t)),p=(t,s,e)=>s.has(t)?L("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(t):s.set(t,e),y=(t,s,e,r)=>(F(t,s,"write to private field"),r?r.call(t,e):s.set(t,e),e);var J={};$(J,{FanboxApiError:()=>c,FanboxClient:()=>h});module.exports=D(J);var w=require("http2");var a,d=class{constructor(){p(this,a,new Map)}async closeAll(){let s=[...n(this,a).values()];n(this,a).clear(),await Promise.all(s.map(N))}getSession(s){let e=new URL(s).origin,r=n(this,a).get(e);if(r&&!r.closed&&!r.destroyed)return r;let o=(0,w.connect)(e);n(this,a).set(e,o);let i=()=>{n(this,a).get(e)===o&&n(this,a).delete(e)};return o.once("close",i),o.once("error",i),o}};a=new WeakMap;function N(t){return t.closed||t.destroyed?Promise.resolve():new Promise(s=>{t.close(s)})}var B=":status",S=class extends Error{constructor(s){super(s),this.name="Http2Error"}},C,x=class{constructor(){p(this,C,new d)}fetch(s){let e=s instanceof Request?s:new Request(s),r=W(e),i=n(this,C).getSession(e.url).request(r,{endStream:!e.body});return new Promise((f,g)=>{let m=!1;i.once("error",g),i.once("close",()=>{m||g(new S("HTTP/2 stream closed before response"))}),i.once("response",R=>{m=!0,f(new Response(i,{headers:M(R),status:X(R[B])}))}),e.body&&i.end(e.body)})}};C=new WeakMap;function W(t){let s=new URL(t.url),e={...Object.fromEntries(t.headers)};return e[":authority"]=s.host,e[":method"]=t.method.toUpperCase(),e[":path"]=`${s.pathname}${s.search}`,e[":scheme"]=s.protocol.slice(0,-1),e}function M(t){let s=new Headers;for(let[e,r]of Object.entries(t))if(!(e.startsWith(":")||r===void 0))if(Array.isArray(r))for(let o of r)s.append(e,o);else s.set(e,r);return s}function X(t){return typeof t=="number"?t:Array.isArray(t)?Number(t[0]??0):Number(t??0)}async function j(t){return this.get("creator.get",t)}async function H(t){return this.get("post.paginateCreator",t)}async function T(t){return this.get("plan.listCreator",t)}async function A(t){return this.get("post.listCreator",t)}async function U(t){return this.get("post.info",t)}async function E(t={}){return this.get("post.listHome",t)}async function v(t={}){return this.get("post.listSupporting",t)}async function q(){return this.get("creator.listFollowing")}async function G(){return this.get("plan.listSupporting")}var z="https://api.fanbox.cc",c=class extends Error{constructor(s,e){super(`FANBOX API request failed: ${s.status} ${s.statusText}`),this.name="FanboxApiError",this.body=e,this.status=s.status,this.statusText=s.statusText}},l,u,P,h=class{constructor(s={}){this.getCreator=j;this.getPost=U;this.listCreatorPlans=T;this.listCreatorPosts=A;this.listFollowingCreators=q;this.listHomePosts=E;this.listSupportingPlans=G;this.listSupportingPosts=v;this.paginateCreatorPosts=H;p(this,l);p(this,u);p(this,P);y(this,l,s.baseUrl??z),y(this,u,s.headers??{}),y(this,P,s.transport??new x)}async get(s,e={}){let r=new URL(s,n(this,l).endsWith("/")?n(this,l):`${n(this,l)}/`);for(let[g,m]of Object.entries(e))m!==void 0&&r.searchParams.set(g,String(m));let o=new Request(r,{headers:n(this,u)}),i=await n(this,P).fetch(o),f=await i.json();if(!i.ok)throw new c(i,f);return f.body}};l=new WeakMap,u=new WeakMap,P=new WeakMap;0&&(module.exports={FanboxApiError,FanboxClient});
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/endpoints/creator-get.ts","../../src/endpoints/creator-list-following.ts","../../src/endpoints/plan-list-creator.ts","../../src/endpoints/plan-list-supporting.ts","../../src/endpoints/post-info.ts","../../src/endpoints/post-list-creator.ts","../../src/endpoints/post-list-home.ts","../../src/endpoints/post-list-supporting.ts","../../src/endpoints/post-paginate-creator.ts","../../src/fanbox-headers.ts","../../src/http.ts","../../src/client.ts"],"sourcesContent":["export { FanboxApiError, FanboxClient } from \"./client.js\";\nexport type * from \"./types.js\";\n","import type { Creator } from \"./models/creator.js\";\n\nexport const CREATOR_GET_PATH = \"creator.get\";\n\nexport interface GetCreatorParams {\n creatorId: string;\n}\n\nexport type GetCreatorResult = Creator;\n","import type { CreatorSummary } from \"./models/creator.js\";\n\nexport const CREATOR_LIST_FOLLOWING_PATH = \"creator.listFollowing\";\n\nexport type ListFollowingCreatorsResult = CreatorSummary[];\n","import type { Plan } from \"./models/plan.js\";\n\nexport const PLAN_LIST_CREATOR_PATH = \"plan.listCreator\";\n\nexport interface ListCreatorPlansParams {\n creatorId: string;\n}\n\nexport type ListCreatorPlansResult = Plan[];\n","import type { SupportingPlan } from \"./models/plan.js\";\n\nexport const PLAN_LIST_SUPPORTING_PATH = \"plan.listSupporting\";\n\nexport type ListSupportingPlansResult = SupportingPlan[];\n","import type { Post } from \"./models/post.js\";\n\nexport const POST_INFO_PATH = \"post.info\";\n\nexport interface GetPostParams {\n postId: string;\n}\n\nexport type GetPostResult = Post;\n","import type { PostListParams, PostSort, PostSummary } from \"./models/post.js\";\n\nexport const POST_LIST_CREATOR_PATH = \"post.listCreator\";\n\nexport interface ListCreatorPostsParams extends PostListParams {\n creatorId: string;\n firstId?: string;\n firstPublishedDatetime?: string;\n sort?: PostSort;\n}\n\nexport type ListCreatorPostsResult = PostSummary[];\n","import type { PostListParams, PostSummary } from \"./models/post.js\";\n\nexport const POST_LIST_HOME_PATH = \"post.listHome\";\n\nexport type ListHomePostsParams = PostListParams;\n\nexport type ListHomePostsResult = PostSummary[];\n","import type { PostListParams, PostSummary } from \"./models/post.js\";\n\nexport const POST_LIST_SUPPORTING_PATH = \"post.listSupporting\";\n\nexport type ListSupportingPostsParams = PostListParams;\n\nexport type ListSupportingPostsResult = PostSummary[];\n","import type { PostSort } from \"./models/post.js\";\n\nexport const POST_PAGINATE_CREATOR_PATH = \"post.paginateCreator\";\n\nexport interface PaginateCreatorPostsParams {\n creatorId: string;\n sort?: PostSort;\n}\n\nexport type PaginateCreatorPostsResult = string[];\n","export interface FanboxRequestHeadersOptions {\n cookie?: string;\n userAgent?: string;\n}\n\nexport function createFanboxRequestHeaders(\n options: FanboxRequestHeadersOptions = {},\n): Record<string, string> {\n const headers: Record<string, string> = {\n Accept: \"application/json, text/plain, */*\",\n Origin: \"https://www.fanbox.cc\",\n Referer: \"https://www.fanbox.cc/\",\n \"Sec-Fetch-Dest\": \"empty\",\n \"Sec-Fetch-Mode\": \"cors\",\n \"Sec-Fetch-Site\": \"same-site\",\n \"User-Agent\": options.userAgent ?? createRandomUserAgent(),\n };\n if (options.cookie !== undefined) {\n headers.Cookie = options.cookie;\n }\n\n return headers;\n}\n\nexport function createRandomUserAgent(): string {\n return `${Math.random().toString(36).substring(2, 15)}/${Math.random().toFixed(5)}`;\n}\n","import { type ClientHttp2Session, connect } from \"node:http2\";\nimport type { Readable } from \"node:stream\";\n\nconst HTTP2_HEADER_AUTHORITY = \":authority\";\nconst HTTP2_HEADER_METHOD = \":method\";\nconst HTTP2_HEADER_PATH = \":path\";\nconst HTTP2_HEADER_SCHEME = \":scheme\";\nconst HTTP2_HEADER_STATUS = \":status\";\n\nexport interface HttpRequest {\n body?: BodyInit | undefined;\n headers?: Headers | Record<string, string>;\n method?: string;\n url: string | URL;\n}\n\nexport interface HttpResponse {\n body: Readable;\n headers: Headers;\n json(): Promise<unknown>;\n ok: boolean;\n status: number;\n statusText: string;\n text(): Promise<string>;\n}\n\nexport interface HttpTransport {\n close(): Promise<void>;\n request(request: HttpRequest | string | URL): Promise<HttpResponse>;\n}\n\ntype BodyInit = Blob | string | Uint8Array;\n\ninterface NormalizedHttpRequest {\n body: BodyInit | undefined;\n headers: Headers | Record<string, string> | undefined;\n method: string;\n url: URL;\n}\n\nexport class Http2Transport implements HttpTransport {\n readonly #sessions = new Map<string, ClientHttp2Session>();\n\n public async close(): Promise<void> {\n const sessions = [...this.#sessions.values()];\n this.#sessions.clear();\n await Promise.all(sessions.map(closeSession));\n }\n\n public request(request: HttpRequest | string | URL): Promise<HttpResponse> {\n const normalized = normalizeRequest(request);\n const session = this.#getSession(normalized.url);\n const headers = createHttp2Headers(normalized);\n const stream = session.request(headers, { endStream: !normalized.body });\n\n return new Promise((resolve, reject) => {\n let settled = false;\n stream.once(\"error\", reject);\n stream.once(\"response\", (responseHeaders) => {\n settled = true;\n const status = parseStatus(responseHeaders[HTTP2_HEADER_STATUS]);\n resolve(\n createResponse({\n body: stream,\n headers: createResponseHeaders(responseHeaders),\n status,\n }),\n );\n });\n stream.once(\"close\", () => {\n if (!settled) {\n reject(new HttpError(`HTTP/2 stream closed before response`));\n }\n });\n if (normalized.body !== undefined) {\n writeRequestBody(stream, normalized.body).catch((error: unknown) => {\n stream.destroy(\n error instanceof Error ? error : new Error(String(error)),\n );\n });\n }\n });\n }\n\n #getSession(url: URL): ClientHttp2Session {\n const origin = url.origin;\n const existing = this.#sessions.get(origin);\n if (existing && !existing.closed && !existing.destroyed) {\n return existing;\n }\n\n const session = connect(origin);\n session.once(\"close\", () => {\n if (this.#sessions.get(origin) === session) {\n this.#sessions.delete(origin);\n }\n });\n session.once(\"error\", () => {\n if (this.#sessions.get(origin) === session) {\n this.#sessions.delete(origin);\n }\n });\n this.#sessions.set(origin, session);\n\n return session;\n }\n}\n\nexport class HttpError extends Error {\n public constructor(message: string) {\n super(message);\n this.name = \"HttpError\";\n }\n}\n\nfunction closeSession(session: ClientHttp2Session): Promise<void> {\n if (session.closed || session.destroyed) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n session.close(resolve);\n });\n}\n\nfunction createHttp2Headers(\n request: NormalizedHttpRequest,\n): Record<string, string> {\n const headers: Record<string, string> = {\n [HTTP2_HEADER_AUTHORITY]: request.url.host,\n [HTTP2_HEADER_METHOD]: request.method.toUpperCase(),\n [HTTP2_HEADER_PATH]: `${request.url.pathname}${request.url.search}`,\n [HTTP2_HEADER_SCHEME]: request.url.protocol.slice(0, -1),\n };\n new Headers(request.headers).forEach((value, key) => {\n if (!isForbiddenHttp2Header(key)) {\n headers[key] = value;\n }\n });\n\n return headers;\n}\n\nfunction createResponse(options: {\n body: Readable;\n headers: Headers;\n status: number;\n}): HttpResponse {\n return {\n body: options.body,\n headers: options.headers,\n json: async () => {\n const parsed: unknown = JSON.parse(await readText(options.body));\n return parsed;\n },\n ok: options.status >= 200 && options.status < 300,\n status: options.status,\n statusText: \"\",\n text: async () => readText(options.body),\n };\n}\n\nfunction createResponseHeaders(\n headers: NodeJS.Dict<string | string[]>,\n): Headers {\n const result = new Headers();\n for (const [key, value] of Object.entries(headers)) {\n if (key.startsWith(\":\") || value === undefined) {\n continue;\n }\n if (Array.isArray(value)) {\n for (const item of value) {\n result.append(key, item);\n }\n } else {\n result.set(key, value);\n }\n }\n\n return result;\n}\n\nfunction isForbiddenHttp2Header(header: string): boolean {\n return (\n header.startsWith(\":\") ||\n header === \"connection\" ||\n header === \"keep-alive\" ||\n header === \"proxy-connection\" ||\n header === \"transfer-encoding\" ||\n header === \"upgrade\"\n );\n}\n\nfunction normalizeRequest(\n request: HttpRequest | string | URL,\n): NormalizedHttpRequest {\n if (typeof request === \"string\" || request instanceof URL) {\n return {\n body: undefined,\n headers: undefined,\n method: \"GET\",\n url: new URL(request),\n };\n }\n\n return {\n body: request.body,\n headers: request.headers,\n method: request.method ?? \"GET\",\n url: new URL(request.url),\n };\n}\n\nfunction parseStatus(status: number | string | string[] | undefined): number {\n if (typeof status === \"number\") {\n return status;\n }\n if (Array.isArray(status)) {\n return Number(status[0] ?? 0);\n }\n\n return Number(status ?? 0);\n}\n\nasync function readText(body: Readable): Promise<string> {\n const chunks: Buffer[] = [];\n for await (const chunk of body) {\n chunks.push(toBuffer(chunk));\n }\n\n return Buffer.concat(chunks).toString(\"utf8\");\n}\n\nfunction toBuffer(chunk: unknown): Buffer {\n if (Buffer.isBuffer(chunk)) {\n return chunk;\n }\n if (chunk instanceof Uint8Array) {\n return Buffer.from(chunk);\n }\n if (typeof chunk === \"string\") {\n return Buffer.from(chunk);\n }\n\n return Buffer.from(String(chunk));\n}\n\nasync function writeRequestBody(\n stream: NodeJS.WritableStream,\n body: BodyInit | undefined,\n): Promise<void> {\n if (typeof body === \"string\" || body instanceof Uint8Array) {\n stream.end(body);\n return;\n }\n if (body instanceof Blob) {\n stream.end(Buffer.from(new Uint8Array(await body.arrayBuffer())));\n return;\n }\n\n throw new HttpError(\"Unsupported HTTP request body\");\n}\n","import type { FanboxClientOptions } from \"./client-options.js\";\nimport {\n CREATOR_GET_PATH,\n type GetCreatorParams,\n type GetCreatorResult,\n} from \"./endpoints/creator-get.js\";\nimport {\n CREATOR_LIST_FOLLOWING_PATH,\n type ListFollowingCreatorsResult,\n} from \"./endpoints/creator-list-following.js\";\nimport type { FanboxEnvelope } from \"./endpoints/fanbox-envelope.js\";\nimport {\n type ListCreatorPlansParams,\n type ListCreatorPlansResult,\n PLAN_LIST_CREATOR_PATH,\n} from \"./endpoints/plan-list-creator.js\";\nimport {\n type ListSupportingPlansResult,\n PLAN_LIST_SUPPORTING_PATH,\n} from \"./endpoints/plan-list-supporting.js\";\nimport {\n type GetPostParams,\n type GetPostResult,\n POST_INFO_PATH,\n} from \"./endpoints/post-info.js\";\nimport {\n type ListCreatorPostsParams,\n type ListCreatorPostsResult,\n POST_LIST_CREATOR_PATH,\n} from \"./endpoints/post-list-creator.js\";\nimport {\n type ListHomePostsParams,\n type ListHomePostsResult,\n POST_LIST_HOME_PATH,\n} from \"./endpoints/post-list-home.js\";\nimport {\n type ListSupportingPostsParams,\n type ListSupportingPostsResult,\n POST_LIST_SUPPORTING_PATH,\n} from \"./endpoints/post-list-supporting.js\";\nimport {\n type PaginateCreatorPostsParams,\n type PaginateCreatorPostsResult,\n POST_PAGINATE_CREATOR_PATH,\n} from \"./endpoints/post-paginate-creator.js\";\nimport { createFanboxRequestHeaders } from \"./fanbox-headers.js\";\nimport {\n Http2Transport,\n type HttpResponse,\n type HttpTransport,\n} from \"./http.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.fanbox.cc\";\n\nexport class FanboxApiError extends Error {\n public readonly body: unknown;\n public readonly status: number;\n public readonly statusText: string;\n\n public constructor(response: HttpResponse, body: unknown) {\n super(\n `FANBOX API request failed: ${response.status} ${response.statusText}`,\n );\n this.name = \"FanboxApiError\";\n this.body = body;\n this.status = response.status;\n this.statusText = response.statusText;\n }\n}\n\nexport class FanboxClient {\n readonly #baseUrl: string;\n readonly #headers: Record<string, string>;\n readonly #transport: HttpTransport;\n\n public constructor(options: FanboxClientOptions = {}) {\n this.#baseUrl = options.baseUrl ?? DEFAULT_BASE_URL;\n this.#headers = createFanboxRequestHeaders({\n cookie: options.cookie,\n userAgent: options.userAgent,\n });\n this.#transport = options.transport ?? new Http2Transport();\n }\n\n public getCreator(params: GetCreatorParams): Promise<GetCreatorResult> {\n return this.#get(CREATOR_GET_PATH, params);\n }\n\n public getPost(params: GetPostParams): Promise<GetPostResult> {\n return this.#get(POST_INFO_PATH, params);\n }\n\n public listCreatorPlans(\n params: ListCreatorPlansParams,\n ): Promise<ListCreatorPlansResult> {\n return this.#get(PLAN_LIST_CREATOR_PATH, params);\n }\n\n public listCreatorPosts(\n params: ListCreatorPostsParams,\n ): Promise<ListCreatorPostsResult> {\n return this.#get(POST_LIST_CREATOR_PATH, params);\n }\n\n public listFollowingCreators(): Promise<ListFollowingCreatorsResult> {\n return this.#get(CREATOR_LIST_FOLLOWING_PATH);\n }\n\n public listHomePosts(\n params: ListHomePostsParams = {},\n ): Promise<ListHomePostsResult> {\n return this.#get(POST_LIST_HOME_PATH, params);\n }\n\n public listSupportingPlans(): Promise<ListSupportingPlansResult> {\n return this.#get(PLAN_LIST_SUPPORTING_PATH);\n }\n\n public listSupportingPosts(\n params: ListSupportingPostsParams = {},\n ): Promise<ListSupportingPostsResult> {\n return this.#get(POST_LIST_SUPPORTING_PATH, params);\n }\n\n public paginateCreatorPosts(\n params: PaginateCreatorPostsParams,\n ): Promise<PaginateCreatorPostsResult> {\n return this.#get(POST_PAGINATE_CREATOR_PATH, params);\n }\n\n async #get<T>(path: string, query: object = {}): Promise<T> {\n const url = new URL(\n path,\n this.#baseUrl.endsWith(\"/\") ? this.#baseUrl : `${this.#baseUrl}/`,\n );\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n\n const response = await this.#transport.request({\n headers: this.#headers,\n method: \"GET\",\n url,\n });\n const body = await readResponseBody(response);\n if (!response.ok) {\n throw new FanboxApiError(response, body);\n }\n\n return (body as FanboxEnvelope<T>).body;\n }\n}\n\nasync function readResponseBody(response: HttpResponse): Promise<unknown> {\n const text = await response.text();\n try {\n return JSON.parse(text) as unknown;\n } catch {\n return text;\n }\n}\n"],"mappings":"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","names":["index_exports","__export","FanboxApiError","FanboxClient","__toCommonJS","CREATOR_GET_PATH","CREATOR_LIST_FOLLOWING_PATH","PLAN_LIST_CREATOR_PATH","PLAN_LIST_SUPPORTING_PATH","POST_INFO_PATH","POST_LIST_CREATOR_PATH","POST_LIST_HOME_PATH","POST_LIST_SUPPORTING_PATH","POST_PAGINATE_CREATOR_PATH","createFanboxRequestHeaders","options","headers","createRandomUserAgent","import_node_http2","HTTP2_HEADER_AUTHORITY","HTTP2_HEADER_METHOD","HTTP2_HEADER_PATH","HTTP2_HEADER_SCHEME","HTTP2_HEADER_STATUS","_sessions","_Http2Transport_instances","getSession_fn","Http2Transport","__privateAdd","sessions","__privateGet","closeSession","request","normalized","normalizeRequest","session","__privateMethod","headers","createHttp2Headers","stream","resolve","reject","settled","responseHeaders","status","parseStatus","createResponse","createResponseHeaders","HttpError","writeRequestBody","error","url","origin","existing","message","value","key","isForbiddenHttp2Header","options","readText","result","item","header","body","chunks","chunk","toBuffer","DEFAULT_BASE_URL","FanboxApiError","response","body","_baseUrl","_headers","_transport","_FanboxClient_instances","get_fn","FanboxClient","options","__privateAdd","__privateSet","createFanboxRequestHeaders","Http2Transport","params","__privateMethod","CREATOR_GET_PATH","POST_INFO_PATH","PLAN_LIST_CREATOR_PATH","POST_LIST_CREATOR_PATH","CREATOR_LIST_FOLLOWING_PATH","POST_LIST_HOME_PATH","PLAN_LIST_SUPPORTING_PATH","POST_LIST_SUPPORTING_PATH","POST_PAGINATE_CREATOR_PATH","path","query","url","__privateGet","key","value","readResponseBody","text"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/transport/http2-session.ts","../../src/transport/http2.ts","../../src/client/endpoints/creator-get.ts","../../src/client/endpoints/creator-list-pages.ts","../../src/client/endpoints/creator-list-plans.ts","../../src/client/endpoints/creator-list-posts.ts","../../src/client/endpoints/post-info.ts","../../src/client/endpoints/post-list-home.ts","../../src/client/endpoints/post-list-supporting.ts","../../src/client/endpoints/user-list-following.ts","../../src/client/endpoints/user-list-supporting.ts","../../src/client/client.ts"],"sourcesContent":["export { FanboxApiError, FanboxClient } from \"./client/client.js\";\nexport type * from \"./client/types.js\";\n","import { type ClientHttp2Session, connect } from \"node:http2\";\n\nexport class Http2SessionManager {\n readonly #sessions = new Map<string, ClientHttp2Session>();\n\n async closeAll(): Promise<void> {\n const sessions = [...this.#sessions.values()];\n this.#sessions.clear();\n await Promise.all(sessions.map(closeHttp2Session));\n }\n\n getSession(url: string): ClientHttp2Session {\n const origin = new URL(url).origin;\n const existing = this.#sessions.get(origin);\n if (existing && !existing.closed && !existing.destroyed) {\n return existing;\n }\n\n // Create a new HTTP/2 session for the origin\n const session = connect(origin);\n this.#sessions.set(origin, session);\n\n const cleanup = () => {\n if (this.#sessions.get(origin) === session) {\n this.#sessions.delete(origin);\n }\n };\n session.once(\"close\", cleanup);\n session.once(\"error\", cleanup);\n\n return session;\n }\n}\n\nfunction closeHttp2Session(session: ClientHttp2Session): Promise<void> {\n if (session.closed || session.destroyed) {\n return Promise.resolve();\n }\n\n return new Promise((resolve) => {\n session.close(resolve);\n });\n}\n","import { Http2SessionManager } from \"./http2-session.js\";\n\nconst HTTP2_HEADER_STATUS = \":status\";\n\nexport interface HttpTransport {\n fetch(input: Request | string | URL): Promise<Response>;\n}\n\nexport class Http2Error extends Error {\n public constructor(message: string) {\n super(message);\n this.name = \"Http2Error\";\n }\n}\n\nexport class Http2Transport {\n readonly #pool = new Http2SessionManager();\n\n fetch(input: Request | string | URL) {\n const request = input instanceof Request ? input : new Request(input);\n const headers = attachHttp2Headers(request);\n\n const session = this.#pool.getSession(request.url);\n const stream = session.request(headers, { endStream: !request.body });\n\n return new Promise<Response>((resolve, reject) => {\n let settled = false;\n stream.once(\"error\", reject);\n stream.once(\"close\", () => {\n if (!settled) {\n reject(new Http2Error(`HTTP/2 stream closed before response`));\n }\n });\n\n stream.once(\"response\", (responseHeaders) => {\n settled = true;\n resolve(\n new Response(stream, {\n headers: createResponseHeaders(responseHeaders),\n status: parseStatus(responseHeaders[HTTP2_HEADER_STATUS]),\n }),\n );\n });\n\n // If the request has a body, write it to the stream. If writing fails, destroy the stream to trigger error handling.\n if (request.body) stream.end(request.body);\n });\n }\n}\n\nfunction attachHttp2Headers(request: Request) {\n const url = new URL(request.url);\n const headers = { ...Object.fromEntries(request.headers) };\n\n headers[\":authority\"] = url.host;\n headers[\":method\"] = request.method.toUpperCase();\n headers[\":path\"] = `${url.pathname}${url.search}`;\n headers[\":scheme\"] = url.protocol.slice(0, -1);\n\n return headers;\n}\n\nfunction createResponseHeaders(\n headers: Record<string, string | string[] | undefined>,\n): Headers {\n const result = new Headers();\n for (const [key, value] of Object.entries(headers)) {\n if (\n // ignore HTTP/2 pseudo-headers in the response\n key.startsWith(\":\") ||\n value === undefined\n )\n continue;\n\n if (Array.isArray(value)) {\n for (const item of value) {\n result.append(key, item);\n }\n } else {\n result.set(key, value);\n }\n }\n\n return result;\n}\n\nfunction parseStatus(status: number | string | string[] | undefined): number {\n if (typeof status === \"number\") {\n return status;\n }\n if (Array.isArray(status)) {\n return Number(status[0] ?? 0);\n }\n\n return Number(status ?? 0);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { Creator } from \"../models/creator.js\";\n\nexport interface GetCreatorParams {\n creatorId: string;\n}\n\nexport type GetCreatorResult = Creator;\n\n/**\n * Get detailed information about a specific creator.\n */\nexport async function getCreator(\n this: FanboxClient,\n params: GetCreatorParams,\n): Promise<GetCreatorResult> {\n return this.get(\"creator.get\", params);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { PostSort } from \"../models/post.js\";\n\nexport interface PaginateCreatorPostsParams {\n creatorId: string;\n sort?: PostSort;\n}\n\nexport type PaginateCreatorPostsResult = string[];\n\n/**\n * List all urls to the pages, which paginated by the given conditions.\n */\nexport async function paginateCreatorPosts(\n this: FanboxClient,\n params: PaginateCreatorPostsParams,\n): Promise<PaginateCreatorPostsResult> {\n return this.get(\"post.paginateCreator\", params);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { Plan } from \"../models/plan.js\";\n\nexport interface ListCreatorPlansParams {\n creatorId: string;\n}\n\nexport type ListCreatorPlansResult = Plan[];\n\n/**\n * List plans for a specific creator.\n */\nexport async function listCreatorPlans(\n this: FanboxClient,\n params: ListCreatorPlansParams,\n): Promise<ListCreatorPlansResult> {\n return this.get(\"plan.listCreator\", params);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { PostListParams, PostSort, PostSummary } from \"../models/post.js\";\n\nexport interface ListCreatorPostsParams extends PostListParams {\n creatorId: string;\n firstId?: string;\n firstPublishedDatetime?: string;\n sort?: PostSort;\n}\n\nexport type ListCreatorPostsResult = PostSummary[];\n\n/**\n * List posts for a specific creator.\n */\nexport async function listCreatorPosts(\n this: FanboxClient,\n params: ListCreatorPostsParams,\n): Promise<ListCreatorPostsResult> {\n return this.get(\"post.listCreator\", params);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { Post } from \"../models/post.js\";\n\nexport interface GetPostParams {\n postId: string;\n}\n\nexport type GetPostResult = Post;\n\n/**\n * Get detailed information about a specific post.\n */\nexport async function getPost(\n this: FanboxClient,\n params: GetPostParams,\n): Promise<GetPostResult> {\n return this.get(\"post.info\", params);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { PostListParams, PostSummary } from \"../models/post.js\";\n\nexport type ListHomePostsParams = PostListParams;\n\nexport type ListHomePostsResult = PostSummary[];\n\n/**\n * List all posts from the home feed from both following and supporting\n * creators. This endpoint is only available to logged-in users.\n */\nexport async function listHomePosts(\n this: FanboxClient,\n params: ListHomePostsParams = {},\n): Promise<ListHomePostsResult> {\n return this.get(\"post.listHome\", params);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { PostListParams, PostSummary } from \"../models/post.js\";\n\nexport type ListSupportingPostsParams = PostListParams;\n\nexport type ListSupportingPostsResult = PostSummary[];\n\n/**\n * List all posts from the home feed from supporting creators only. This\n * endpoint is only available to logged-in users.\n */\nexport async function listSupportingPosts(\n this: FanboxClient,\n params: ListSupportingPostsParams = {},\n): Promise<ListSupportingPostsResult> {\n return this.get(\"post.listSupporting\", params);\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { CreatorSummary } from \"../models/creator.js\";\n\nexport interface ListFollowingCreatorsResult {\n creators: CreatorSummary[];\n}\n\n/**\n * List creators that the authenticated user is following.\n */\nexport async function listFollowingCreators(\n this: FanboxClient,\n): Promise<ListFollowingCreatorsResult> {\n return this.get(\"creator.listFollowing\");\n}\n","import type { FanboxClient } from \"../client.js\";\nimport type { SupportingPlan } from \"../models/plan.js\";\n\nexport type ListSupportingPlansResult = SupportingPlan[];\n\n/**\n * List plans that the authenticated user is supporting.\n */\nexport async function listSupportingPlans(\n this: FanboxClient,\n): Promise<ListSupportingPlansResult> {\n return this.get(\"plan.listSupporting\");\n}\n","import { Http2Transport, type HttpTransport } from \"../transport/http2.js\";\nimport { getCreator } from \"./endpoints/creator-get.js\";\nimport { paginateCreatorPosts } from \"./endpoints/creator-list-pages.js\";\nimport { listCreatorPlans } from \"./endpoints/creator-list-plans.js\";\nimport { listCreatorPosts } from \"./endpoints/creator-list-posts.js\";\nimport { getPost } from \"./endpoints/post-info.js\";\nimport { listHomePosts } from \"./endpoints/post-list-home.js\";\nimport { listSupportingPosts } from \"./endpoints/post-list-supporting.js\";\nimport { listFollowingCreators } from \"./endpoints/user-list-following.js\";\nimport { listSupportingPlans } from \"./endpoints/user-list-supporting.js\";\nimport type { FanboxEnvelope } from \"./fanbox-envelope.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.fanbox.cc\";\n\nexport interface FanboxClientOptions {\n baseUrl?: string;\n headers?: Record<string, string>;\n transport?: HttpTransport;\n}\n\nexport class FanboxApiError extends Error {\n public readonly body: unknown;\n public readonly status: number;\n public readonly statusText: string;\n\n public constructor(response: Response, body: unknown) {\n super(\n `FANBOX API request failed: ${response.status} ${response.statusText}`,\n );\n this.name = \"FanboxApiError\";\n this.body = body;\n this.status = response.status;\n this.statusText = response.statusText;\n }\n}\n\nexport class FanboxClient {\n getCreator = getCreator;\n getPost = getPost;\n listCreatorPlans = listCreatorPlans;\n listCreatorPosts = listCreatorPosts;\n listFollowingCreators = listFollowingCreators;\n listHomePosts = listHomePosts;\n listSupportingPlans = listSupportingPlans;\n listSupportingPosts = listSupportingPosts;\n paginateCreatorPosts = paginateCreatorPosts;\n\n readonly #baseUrl: string;\n readonly #headers: Record<string, string>;\n readonly #transport: HttpTransport;\n\n public constructor(options: FanboxClientOptions = {}) {\n this.#baseUrl = options.baseUrl ?? DEFAULT_BASE_URL;\n this.#headers = options.headers ?? {};\n this.#transport = options.transport ?? new Http2Transport();\n }\n\n protected async get<T>(path: string, query: object = {}): Promise<T> {\n const url = new URL(\n path,\n this.#baseUrl.endsWith(\"/\") ? this.#baseUrl : `${this.#baseUrl}/`,\n );\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n\n const request = new Request(url, { headers: this.#headers });\n const response = await this.#transport.fetch(request);\n const body = await response.json();\n if (!response.ok) {\n // TODO: log\n throw new FanboxApiError(response, body);\n }\n\n return (body as FanboxEnvelope<T>).body;\n }\n}\n"],"mappings":"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","names":["index_exports","__export","FanboxApiError","FanboxClient","__toCommonJS","import_node_http2","_sessions","Http2SessionManager","__privateAdd","sessions","__privateGet","closeHttp2Session","url","origin","existing","session","cleanup","resolve","HTTP2_HEADER_STATUS","Http2Error","message","_pool","Http2Transport","__privateAdd","Http2SessionManager","input","request","headers","attachHttp2Headers","stream","__privateGet","resolve","reject","settled","responseHeaders","createResponseHeaders","parseStatus","url","result","key","value","item","status","getCreator","params","paginateCreatorPosts","params","listCreatorPlans","params","listCreatorPosts","params","getPost","params","listHomePosts","params","listSupportingPosts","params","listFollowingCreators","listSupportingPlans","DEFAULT_BASE_URL","FanboxApiError","response","body","_baseUrl","_headers","_transport","FanboxClient","options","getCreator","getPost","listCreatorPlans","listCreatorPosts","listFollowingCreators","listHomePosts","listSupportingPlans","listSupportingPosts","paginateCreatorPosts","__privateAdd","__privateSet","Http2Transport","path","query","url","__privateGet","key","value","request"]}
|
package/dist/bundle/index.d.cts
CHANGED
|
@@ -1,31 +1,5 @@
|
|
|
1
|
-
import { Readable } from 'node:stream';
|
|
2
|
-
|
|
3
|
-
interface HttpRequest {
|
|
4
|
-
body?: BodyInit | undefined;
|
|
5
|
-
headers?: Headers | Record<string, string>;
|
|
6
|
-
method?: string;
|
|
7
|
-
url: string | URL;
|
|
8
|
-
}
|
|
9
|
-
interface HttpResponse {
|
|
10
|
-
body: Readable;
|
|
11
|
-
headers: Headers;
|
|
12
|
-
json(): Promise<unknown>;
|
|
13
|
-
ok: boolean;
|
|
14
|
-
status: number;
|
|
15
|
-
statusText: string;
|
|
16
|
-
text(): Promise<string>;
|
|
17
|
-
}
|
|
18
1
|
interface HttpTransport {
|
|
19
|
-
|
|
20
|
-
request(request: HttpRequest | string | URL): Promise<HttpResponse>;
|
|
21
|
-
}
|
|
22
|
-
type BodyInit = Blob | string | Uint8Array;
|
|
23
|
-
|
|
24
|
-
interface FanboxClientOptions {
|
|
25
|
-
baseUrl?: string;
|
|
26
|
-
cookie?: string;
|
|
27
|
-
transport?: HttpTransport;
|
|
28
|
-
userAgent?: string;
|
|
2
|
+
fetch(input: Request | string | URL): Promise<Response>;
|
|
29
3
|
}
|
|
30
4
|
|
|
31
5
|
interface FanboxUser {
|
|
@@ -73,41 +47,58 @@ interface CreatorSummary {
|
|
|
73
47
|
userId: string;
|
|
74
48
|
}
|
|
75
49
|
|
|
76
|
-
declare const CREATOR_GET_PATH = "creator.get";
|
|
77
50
|
interface GetCreatorParams {
|
|
78
51
|
creatorId: string;
|
|
79
52
|
}
|
|
80
53
|
type GetCreatorResult = Creator;
|
|
54
|
+
declare function getCreator(this: FanboxClient, params: GetCreatorParams): Promise<GetCreatorResult>;
|
|
81
55
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
interface Plan {
|
|
86
|
-
coverImageUrl: null | string;
|
|
87
|
-
creatorId: string;
|
|
88
|
-
description: string;
|
|
89
|
-
fee: number;
|
|
90
|
-
hasAdultContent: boolean;
|
|
56
|
+
interface PostFile {
|
|
57
|
+
extension: string;
|
|
91
58
|
id: string;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
user: FanboxUser;
|
|
59
|
+
name: string;
|
|
60
|
+
size: number;
|
|
61
|
+
url: string;
|
|
96
62
|
}
|
|
97
|
-
interface
|
|
98
|
-
|
|
63
|
+
interface PostImage {
|
|
64
|
+
extension: string;
|
|
65
|
+
height: number;
|
|
66
|
+
id: string;
|
|
67
|
+
originalUrl: string;
|
|
68
|
+
thumbnailUrl: string;
|
|
69
|
+
width: number;
|
|
99
70
|
}
|
|
100
71
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
72
|
+
type ArticleEmbedItem = ArticleEmbedKnownItem | ArticleEmbedUnknownItem;
|
|
73
|
+
type ArticleEmbedKnownItem = ArticleEmbedTwitterItem;
|
|
74
|
+
interface ArticleEmbedTwitterItem {
|
|
75
|
+
contentId: string;
|
|
76
|
+
id: string;
|
|
77
|
+
serviceProvider: "twitter";
|
|
78
|
+
}
|
|
79
|
+
interface ArticleEmbedUnknownItem {
|
|
80
|
+
id: string;
|
|
81
|
+
serviceProvider: string & {};
|
|
104
82
|
}
|
|
105
|
-
type ListCreatorPlansResult = Plan[];
|
|
106
83
|
|
|
107
|
-
|
|
108
|
-
|
|
84
|
+
interface ArticleUrlEmbedHtmlItem {
|
|
85
|
+
html: string;
|
|
86
|
+
id: string;
|
|
87
|
+
type: "html";
|
|
88
|
+
}
|
|
89
|
+
type ArticleUrlEmbedItem = ArticleUrlEmbedKnownItem | ArticleUrlEmbedUnknownItem;
|
|
90
|
+
type ArticleUrlEmbedKnownItem = ArticleUrlEmbedHtmlItem;
|
|
91
|
+
interface ArticleUrlEmbedUnknownItem {
|
|
92
|
+
[key: string]: unknown;
|
|
93
|
+
id: string;
|
|
94
|
+
type: string & {};
|
|
95
|
+
}
|
|
109
96
|
|
|
110
|
-
type ArticleBlock =
|
|
97
|
+
type ArticleBlock = ArticleUnknownBlock | KnownArticleBlock;
|
|
98
|
+
interface ArticleEmbedBlock {
|
|
99
|
+
embedId: string;
|
|
100
|
+
type: "embed";
|
|
101
|
+
}
|
|
111
102
|
interface ArticleFileBlock {
|
|
112
103
|
fileId: string;
|
|
113
104
|
type: "file";
|
|
@@ -124,24 +115,27 @@ interface ArticleParagraphBlock {
|
|
|
124
115
|
text: string;
|
|
125
116
|
type: "p";
|
|
126
117
|
}
|
|
127
|
-
interface ArticlePost extends PostBase {
|
|
128
|
-
body: ArticlePostBody;
|
|
129
|
-
type: "article";
|
|
130
|
-
}
|
|
131
118
|
interface ArticlePostBody {
|
|
132
119
|
blocks: ArticleBlock[];
|
|
120
|
+
embedMap: Record<string, ArticleEmbedItem>;
|
|
133
121
|
fileMap: Record<string, PostFile>;
|
|
134
122
|
imageMap: Record<string, PostImage>;
|
|
135
|
-
urlEmbedMap: Record<string,
|
|
123
|
+
urlEmbedMap: Record<string, ArticleUrlEmbedItem>;
|
|
136
124
|
}
|
|
137
125
|
interface ArticleUnknownBlock {
|
|
138
126
|
[key: string]: unknown;
|
|
139
|
-
type: string;
|
|
127
|
+
type: string & {};
|
|
140
128
|
}
|
|
141
129
|
interface ArticleUrlEmbedBlock {
|
|
142
130
|
type: "url_embed";
|
|
143
131
|
urlEmbedId: string;
|
|
144
132
|
}
|
|
133
|
+
type KnownArticleBlock = ArticleEmbedBlock | ArticleFileBlock | ArticleHeaderBlock | ArticleImageBlock | ArticleParagraphBlock | ArticleUrlEmbedBlock;
|
|
134
|
+
|
|
135
|
+
interface ArticlePost extends PostBase {
|
|
136
|
+
body: ArticlePostBody;
|
|
137
|
+
type: "article";
|
|
138
|
+
}
|
|
145
139
|
interface FilePost extends PostBase {
|
|
146
140
|
body: FilePostBody;
|
|
147
141
|
type: "file";
|
|
@@ -158,31 +152,17 @@ interface ImagePostBody {
|
|
|
158
152
|
images: PostImage[];
|
|
159
153
|
text: string;
|
|
160
154
|
}
|
|
155
|
+
type KnownPost = ArticlePost | FilePost | ImagePost | TextPost | VideoPost;
|
|
161
156
|
interface NeighboringPost {
|
|
162
157
|
id: string;
|
|
163
158
|
publishedDatetime: string;
|
|
164
159
|
title: string;
|
|
165
160
|
}
|
|
166
|
-
type Post =
|
|
161
|
+
type Post = KnownPost | UnknownPost;
|
|
167
162
|
interface PostCover {
|
|
168
163
|
type: "cover_image" | "post_image";
|
|
169
164
|
url: string;
|
|
170
165
|
}
|
|
171
|
-
interface PostFile {
|
|
172
|
-
extension: string;
|
|
173
|
-
id: string;
|
|
174
|
-
name: string;
|
|
175
|
-
size: number;
|
|
176
|
-
url: string;
|
|
177
|
-
}
|
|
178
|
-
interface PostImage {
|
|
179
|
-
extension: string;
|
|
180
|
-
height: number;
|
|
181
|
-
id: string;
|
|
182
|
-
originalUrl: string;
|
|
183
|
-
thumbnailUrl: string;
|
|
184
|
-
width: number;
|
|
185
|
-
}
|
|
186
166
|
interface PostListParams {
|
|
187
167
|
limit?: number;
|
|
188
168
|
maxId?: string;
|
|
@@ -216,7 +196,7 @@ interface TextPostBody {
|
|
|
216
196
|
text: string;
|
|
217
197
|
}
|
|
218
198
|
interface UnknownPost extends PostBase {
|
|
219
|
-
type: string;
|
|
199
|
+
type: string & {};
|
|
220
200
|
}
|
|
221
201
|
type UnknownPostBody = Record<string, unknown>;
|
|
222
202
|
interface VideoPost extends PostBase {
|
|
@@ -239,13 +219,35 @@ interface PostBase extends Omit<PostSummary, "cover"> {
|
|
|
239
219
|
type: string;
|
|
240
220
|
}
|
|
241
221
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
222
|
+
interface PaginateCreatorPostsParams {
|
|
223
|
+
creatorId: string;
|
|
224
|
+
sort?: PostSort;
|
|
225
|
+
}
|
|
226
|
+
type PaginateCreatorPostsResult = string[];
|
|
227
|
+
declare function paginateCreatorPosts(this: FanboxClient, params: PaginateCreatorPostsParams): Promise<PaginateCreatorPostsResult>;
|
|
228
|
+
|
|
229
|
+
interface Plan {
|
|
230
|
+
coverImageUrl: null | string;
|
|
231
|
+
creatorId: string;
|
|
232
|
+
description: string;
|
|
233
|
+
fee: number;
|
|
234
|
+
hasAdultContent: boolean;
|
|
235
|
+
id: string;
|
|
236
|
+
paymentMethod: null | string;
|
|
237
|
+
perks: string[];
|
|
238
|
+
title: string;
|
|
239
|
+
user: FanboxUser;
|
|
240
|
+
}
|
|
241
|
+
interface SupportingPlan extends Plan {
|
|
242
|
+
paymentMethod: string;
|
|
245
243
|
}
|
|
246
|
-
type GetPostResult = Post;
|
|
247
244
|
|
|
248
|
-
|
|
245
|
+
interface ListCreatorPlansParams {
|
|
246
|
+
creatorId: string;
|
|
247
|
+
}
|
|
248
|
+
type ListCreatorPlansResult = Plan[];
|
|
249
|
+
declare function listCreatorPlans(this: FanboxClient, params: ListCreatorPlansParams): Promise<ListCreatorPlansResult>;
|
|
250
|
+
|
|
249
251
|
interface ListCreatorPostsParams extends PostListParams {
|
|
250
252
|
creatorId: string;
|
|
251
253
|
firstId?: string;
|
|
@@ -253,44 +255,54 @@ interface ListCreatorPostsParams extends PostListParams {
|
|
|
253
255
|
sort?: PostSort;
|
|
254
256
|
}
|
|
255
257
|
type ListCreatorPostsResult = PostSummary[];
|
|
258
|
+
declare function listCreatorPosts(this: FanboxClient, params: ListCreatorPostsParams): Promise<ListCreatorPostsResult>;
|
|
259
|
+
|
|
260
|
+
interface GetPostParams {
|
|
261
|
+
postId: string;
|
|
262
|
+
}
|
|
263
|
+
type GetPostResult = Post;
|
|
264
|
+
declare function getPost(this: FanboxClient, params: GetPostParams): Promise<GetPostResult>;
|
|
256
265
|
|
|
257
|
-
declare const POST_LIST_HOME_PATH = "post.listHome";
|
|
258
266
|
type ListHomePostsParams = PostListParams;
|
|
259
267
|
type ListHomePostsResult = PostSummary[];
|
|
268
|
+
declare function listHomePosts(this: FanboxClient, params?: ListHomePostsParams): Promise<ListHomePostsResult>;
|
|
260
269
|
|
|
261
|
-
declare const POST_LIST_SUPPORTING_PATH = "post.listSupporting";
|
|
262
270
|
type ListSupportingPostsParams = PostListParams;
|
|
263
271
|
type ListSupportingPostsResult = PostSummary[];
|
|
272
|
+
declare function listSupportingPosts(this: FanboxClient, params?: ListSupportingPostsParams): Promise<ListSupportingPostsResult>;
|
|
264
273
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
creatorId: string;
|
|
268
|
-
sort?: PostSort;
|
|
274
|
+
interface ListFollowingCreatorsResult {
|
|
275
|
+
creators: CreatorSummary[];
|
|
269
276
|
}
|
|
270
|
-
|
|
277
|
+
declare function listFollowingCreators(this: FanboxClient): Promise<ListFollowingCreatorsResult>;
|
|
278
|
+
|
|
279
|
+
type ListSupportingPlansResult = SupportingPlan[];
|
|
280
|
+
declare function listSupportingPlans(this: FanboxClient): Promise<ListSupportingPlansResult>;
|
|
271
281
|
|
|
282
|
+
interface FanboxClientOptions {
|
|
283
|
+
baseUrl?: string;
|
|
284
|
+
headers?: Record<string, string>;
|
|
285
|
+
transport?: HttpTransport;
|
|
286
|
+
}
|
|
272
287
|
declare class FanboxApiError extends Error {
|
|
273
288
|
readonly body: unknown;
|
|
274
289
|
readonly status: number;
|
|
275
290
|
readonly statusText: string;
|
|
276
|
-
constructor(response:
|
|
291
|
+
constructor(response: Response, body: unknown);
|
|
277
292
|
}
|
|
278
293
|
declare class FanboxClient {
|
|
279
294
|
#private;
|
|
295
|
+
getCreator: typeof getCreator;
|
|
296
|
+
getPost: typeof getPost;
|
|
297
|
+
listCreatorPlans: typeof listCreatorPlans;
|
|
298
|
+
listCreatorPosts: typeof listCreatorPosts;
|
|
299
|
+
listFollowingCreators: typeof listFollowingCreators;
|
|
300
|
+
listHomePosts: typeof listHomePosts;
|
|
301
|
+
listSupportingPlans: typeof listSupportingPlans;
|
|
302
|
+
listSupportingPosts: typeof listSupportingPosts;
|
|
303
|
+
paginateCreatorPosts: typeof paginateCreatorPosts;
|
|
280
304
|
constructor(options?: FanboxClientOptions);
|
|
281
|
-
|
|
282
|
-
getPost(params: GetPostParams): Promise<GetPostResult>;
|
|
283
|
-
listCreatorPlans(params: ListCreatorPlansParams): Promise<ListCreatorPlansResult>;
|
|
284
|
-
listCreatorPosts(params: ListCreatorPostsParams): Promise<ListCreatorPostsResult>;
|
|
285
|
-
listFollowingCreators(): Promise<ListFollowingCreatorsResult>;
|
|
286
|
-
listHomePosts(params?: ListHomePostsParams): Promise<ListHomePostsResult>;
|
|
287
|
-
listSupportingPlans(): Promise<ListSupportingPlansResult>;
|
|
288
|
-
listSupportingPosts(params?: ListSupportingPostsParams): Promise<ListSupportingPostsResult>;
|
|
289
|
-
paginateCreatorPosts(params: PaginateCreatorPostsParams): Promise<PaginateCreatorPostsResult>;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
interface FanboxEnvelope<T> {
|
|
293
|
-
body: T;
|
|
305
|
+
protected get<T>(path: string, query?: object): Promise<T>;
|
|
294
306
|
}
|
|
295
307
|
|
|
296
|
-
export { type
|
|
308
|
+
export { type ArticlePost, type Creator, type CreatorProfileImage, type CreatorProfileItem, type CreatorProfileUnknownItem, type CreatorSummary, FanboxApiError, FanboxClient, type FanboxUser, type FilePost, type FilePostBody, type GetCreatorParams, type GetCreatorResult, type GetPostParams, type GetPostResult, type ImagePost, type ImagePostBody, type KnownPost, type ListCreatorPlansParams, type ListCreatorPlansResult, type ListCreatorPostsParams, type ListCreatorPostsResult, type ListFollowingCreatorsResult, type ListHomePostsParams, type ListHomePostsResult, type ListSupportingPlansResult, type ListSupportingPostsParams, type ListSupportingPostsResult, type NeighboringPost, type PaginateCreatorPostsParams, type PaginateCreatorPostsResult, type Plan, type Post, type PostCover, type PostListParams, type PostSort, type PostSummary, type SupportingPlan, type TextPost, type TextPostBody, type UnknownPost, type UnknownPostBody, type VideoPost, type VideoPostBody, getCreator, getPost, listCreatorPlans, listCreatorPosts, listFollowingCreators, listHomePosts, listSupportingPlans, listSupportingPosts, paginateCreatorPosts };
|