@moontaiworks/fanbox-dl 1.0.1 → 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 +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 +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/{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 +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/{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 +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.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,31 @@
|
|
|
1
|
+
import { syncPost } from "../post/sync.js";
|
|
2
|
+
import { discoverCreatorPosts } from "./discover-posts.js";
|
|
3
|
+
export async function syncCreator({ client, headers, logger, manifest, pathManager, transport, }) {
|
|
4
|
+
const postSummaries = await discoverCreatorPosts({ client, logger }, { creatorId: manifest.creatorId });
|
|
5
|
+
logger.debug(`Discovered total ${postSummaries.length} posts for creator ${manifest.creatorId}`);
|
|
6
|
+
let index = 0;
|
|
7
|
+
for (const postSummary of postSummaries) {
|
|
8
|
+
logger.debug(`Syncing ${++index}/${postSummaries.length} post ${postSummary.id} for creator ${manifest.creatorId}`);
|
|
9
|
+
const postPathManager = pathManager.post(postSummary);
|
|
10
|
+
manifest.posts[postSummary.id] = await syncPost({
|
|
11
|
+
client,
|
|
12
|
+
headers,
|
|
13
|
+
logger,
|
|
14
|
+
manifest,
|
|
15
|
+
pathManager: postPathManager,
|
|
16
|
+
transport,
|
|
17
|
+
}, postSummary).catch((err) => {
|
|
18
|
+
const manifest = {
|
|
19
|
+
assets: {},
|
|
20
|
+
error: String(err),
|
|
21
|
+
id: postSummary.id,
|
|
22
|
+
restricted: postSummary.isRestricted,
|
|
23
|
+
status: "failed",
|
|
24
|
+
updatedDatetime: postSummary.updatedDatetime,
|
|
25
|
+
};
|
|
26
|
+
logger.error({ err }, `Error occurred while syncing ${index}/${postSummaries.length} post ${postSummary.id}, skipping.`);
|
|
27
|
+
return manifest;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../src/downloader/creator/sync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAW3D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAChC,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,GACO;IAChB,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAClC,CAAC;IACF,MAAM,CAAC,KAAK,CACV,oBAAoB,aAAa,CAAC,MAAM,sBAAsB,QAAQ,CAAC,SAAS,EAAE,CACnF,CAAC;IAEF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CACV,WAAW,EAAE,KAAK,IAAI,aAAa,CAAC,MAAM,SAAS,WAAW,CAAC,EAAE,gBAAgB,QAAQ,CAAC,SAAS,EAAE,CACtG,CAAC;QACF,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,MAAM,QAAQ,CAC7C;YACE,MAAM;YACN,OAAO;YACP,MAAM;YACN,QAAQ;YACR,WAAW,EAAE,eAAe;YAC5B,SAAS;SACV,EACD,WAAW,CACZ,CAAC,KAAK,CAAC,CAAC,GAAY,EAAoB,EAAE;YACzC,MAAM,QAAQ,GAAG;gBACf,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,EAAE,EAAE,WAAW,CAAC,EAAE;gBAClB,UAAU,EAAE,WAAW,CAAC,YAAY;gBACpC,MAAM,EAAE,QAAQ;gBAChB,eAAe,EAAE,WAAW,CAAC,eAAe;aAClB,CAAC;YAC7B,MAAM,CAAC,KAAK,CACV,EAAE,GAAG,EAAE,EACP,gCAAgC,KAAK,IAAI,aAAa,CAAC,MAAM,SAAS,WAAW,CAAC,EAAE,aAAa,CAClG,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../../src/downloader/fs/filesystem.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../../src/downloader/fs/filesystem.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Post } from "../../client/types.js";
|
|
2
|
+
interface PathManagerOptions {
|
|
3
|
+
flatPosts: boolean;
|
|
4
|
+
rootPath: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class PathManager {
|
|
7
|
+
#private;
|
|
8
|
+
name: string;
|
|
9
|
+
path: string;
|
|
10
|
+
constructor({ flatPosts, rootPath }: PathManagerOptions);
|
|
11
|
+
asset(index: number, name: string, extension: string): string;
|
|
12
|
+
dir(name: string): PathManager;
|
|
13
|
+
file(name: string): string;
|
|
14
|
+
post(post: Pick<Post, "id" | "publishedDatetime" | "title">): PathManager;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=path-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-manager.d.ts","sourceRoot":"","sources":["../../../../src/downloader/fs/path-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAElD,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;gBAGD,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,kBAAkB;IAMvD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAWpD,GAAG,CAAC,IAAI,EAAE,MAAM;IAOhB,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,mBAAmB,GAAG,OAAO,CAAC;CAM5D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 _PathManager_flatPosts;
|
|
13
|
+
import { basename, dirname, join, resolve } from "node:path";
|
|
14
|
+
export class PathManager {
|
|
15
|
+
constructor({ flatPosts, rootPath }) {
|
|
16
|
+
_PathManager_flatPosts.set(this, void 0);
|
|
17
|
+
this.path = resolve(rootPath);
|
|
18
|
+
__classPrivateFieldSet(this, _PathManager_flatPosts, flatPosts, "f");
|
|
19
|
+
this.name = basename(this.path);
|
|
20
|
+
}
|
|
21
|
+
asset(index, name, extension) {
|
|
22
|
+
const fileName = `${index}-${name}.${extension}`;
|
|
23
|
+
if (__classPrivateFieldGet(this, _PathManager_flatPosts, "f")) {
|
|
24
|
+
const parent = dirname(this.path);
|
|
25
|
+
return join(parent, `${this.name}.${fileName}`);
|
|
26
|
+
}
|
|
27
|
+
return join(this.path, fileName);
|
|
28
|
+
}
|
|
29
|
+
dir(name) {
|
|
30
|
+
return new PathManager({
|
|
31
|
+
flatPosts: __classPrivateFieldGet(this, _PathManager_flatPosts, "f"),
|
|
32
|
+
rootPath: join(this.path, name),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
file(name) {
|
|
36
|
+
return join(this.path, name);
|
|
37
|
+
}
|
|
38
|
+
post(post) {
|
|
39
|
+
const date = post.publishedDatetime.split("T")[0];
|
|
40
|
+
const title = `${date}-${post.id}-${post.title}`;
|
|
41
|
+
return this.dir(title);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
_PathManager_flatPosts = new WeakMap();
|
|
45
|
+
//# sourceMappingURL=path-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-manager.js","sourceRoot":"","sources":["../../../../src/downloader/fs/path-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAS7D,MAAM,OAAO,WAAW;IAKtB,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAsB;QAFvD,yCAAoB;QAGlB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,uBAAA,IAAI,0BAAc,SAAS,MAAA,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,IAAY,EAAE,SAAiB;QAClD,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QAEjD,IAAI,uBAAA,IAAI,8BAAW,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,WAAW,CAAC;YACrB,SAAS,EAAE,uBAAA,IAAI,8BAAW;YAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAsD;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAEjD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
import type { HttpTransport } from "../transport/http2.js";
|
|
3
|
+
import type { DownloadOptions } from "./cli/options.js";
|
|
4
|
+
export interface RunCliDependencies {
|
|
5
|
+
logger: Logger;
|
|
6
|
+
transport?: HttpTransport;
|
|
7
|
+
}
|
|
8
|
+
export declare function download({ logger, transport: customTransport }: RunCliDependencies, options: DownloadOptions): Promise<boolean>;
|
|
3
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/downloader/index.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/downloader/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAInC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOxD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,wBAAsB,QAAQ,CAC5B,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,kBAAkB,EAC1D,OAAO,EAAE,eAAe,oBAsDzB"}
|
|
@@ -1,6 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
1
|
+
import { FanboxClient } from "../client/client.js";
|
|
2
|
+
import { createFanboxRequestHeaders } from "../client/fanbox-headers.js";
|
|
3
|
+
import { RequestWorker } from "../transport/worker.js";
|
|
4
|
+
import { resolveCreatorIds } from "./cli/resolver.js";
|
|
5
|
+
import { syncCreator } from "./creator/sync.js";
|
|
6
|
+
import { PathManager } from "./fs/path-manager.js";
|
|
7
|
+
import { CreatorManifestManager } from "./manifest/creator-manager.js";
|
|
8
|
+
export async function download({ logger, transport: customTransport }, options) {
|
|
9
|
+
logger.trace({ options }, "Starting download with options");
|
|
10
|
+
const headers = createFanboxRequestHeaders({
|
|
11
|
+
cookie: options.cookie,
|
|
12
|
+
userAgent: options.userAgent,
|
|
13
|
+
});
|
|
14
|
+
logger.trace({ headers }, "Initialized request headers");
|
|
15
|
+
const transport = new RequestWorker({ logger }, {
|
|
16
|
+
concurrency: options.concurrency,
|
|
17
|
+
intervalMs: options.requestIntervalMs,
|
|
18
|
+
maxRetries: options.maxRetries,
|
|
19
|
+
rateLimitPauseMs: options.rateLimitPauseMs,
|
|
20
|
+
transport: customTransport,
|
|
21
|
+
});
|
|
22
|
+
const pathManager = new PathManager({
|
|
23
|
+
flatPosts: options.flatPosts,
|
|
24
|
+
rootPath: options.output,
|
|
25
|
+
});
|
|
26
|
+
const client = new FanboxClient({ headers, transport });
|
|
27
|
+
let failed = false;
|
|
28
|
+
const creatorIds = await resolveCreatorIds({ client, logger }, options);
|
|
29
|
+
const creatorManifestManager = new CreatorManifestManager({
|
|
30
|
+
logger,
|
|
31
|
+
pathManager,
|
|
32
|
+
});
|
|
33
|
+
for (const creatorId of creatorIds) {
|
|
34
|
+
const creatorManifest = await creatorManifestManager.load(creatorId);
|
|
35
|
+
await syncCreator({
|
|
36
|
+
client,
|
|
37
|
+
headers,
|
|
38
|
+
logger,
|
|
39
|
+
manifest: creatorManifest,
|
|
40
|
+
pathManager,
|
|
41
|
+
transport,
|
|
42
|
+
}).catch(() => {
|
|
43
|
+
logger.error(`Error occurred while syncing creator ${creatorId}, skipping.`);
|
|
44
|
+
failed = true;
|
|
45
|
+
});
|
|
46
|
+
const success = !hasFailures(creatorManifest);
|
|
47
|
+
failed || (failed = !success);
|
|
48
|
+
await creatorManifest.save();
|
|
49
|
+
}
|
|
50
|
+
return failed;
|
|
51
|
+
}
|
|
52
|
+
function hasFailures(manifest) {
|
|
53
|
+
return Object.values(manifest.posts).some((post) => post?.status === "failed");
|
|
54
|
+
}
|
|
6
55
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/downloader/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/downloader/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAQvE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAsB,EAC1D,OAAwB;IAExB,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,gCAAgC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,0BAA0B,CAAC;QACzC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,6BAA6B,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,aAAa,CACjC,EAAE,MAAM,EAAE,EACV;QACE,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,iBAAiB;QACrC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,SAAS,EAAE,eAAe;KAC3B,CACF,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAExD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,CAAC;QACxD,MAAM;QACN,WAAW;KACZ,CAAC,CAAC;IAEH,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErE,MAAM,WAAW,CAAC;YAChB,MAAM;YACN,OAAO;YACP,MAAM;YACN,QAAQ,EAAE,eAAe;YACzB,WAAW;YACX,SAAS;SACV,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,MAAM,CAAC,KAAK,CACV,wCAAwC,SAAS,aAAa,CAC/D,CAAC;YACF,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,KAAN,MAAM,GAAK,CAAC,OAAO,EAAC;QACpB,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,QAAyB;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,CACpC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
import type { PathManager } from "../fs/path-manager.js";
|
|
3
|
+
import { CreatorManifest } from "./creator.js";
|
|
4
|
+
interface CreatorManifestManagerDeps {
|
|
5
|
+
logger: Logger;
|
|
6
|
+
pathManager: PathManager;
|
|
7
|
+
}
|
|
8
|
+
export declare class CreatorManifestManager {
|
|
9
|
+
#private;
|
|
10
|
+
constructor({ logger, pathManager }: CreatorManifestManagerDeps);
|
|
11
|
+
load(creatorId: string): Promise<CreatorManifest>;
|
|
12
|
+
saveAll(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=creator-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator-manager.d.ts","sourceRoot":"","sources":["../../../../src/downloader/manifest/creator-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,qBAAa,sBAAsB;;gBAKrB,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,0BAA0B;IAKzD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IASjD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAa/B"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 _CreatorManifestManager_instances, _CreatorManifestManager_logger, _CreatorManifestManager_manifests, _CreatorManifestManager_pathManager, _CreatorManifestManager_createManifest;
|
|
13
|
+
import { CreatorManifest } from "./creator.js";
|
|
14
|
+
export class CreatorManifestManager {
|
|
15
|
+
constructor({ logger, pathManager }) {
|
|
16
|
+
_CreatorManifestManager_instances.add(this);
|
|
17
|
+
_CreatorManifestManager_logger.set(this, void 0);
|
|
18
|
+
_CreatorManifestManager_manifests.set(this, new Map());
|
|
19
|
+
_CreatorManifestManager_pathManager.set(this, void 0);
|
|
20
|
+
__classPrivateFieldSet(this, _CreatorManifestManager_logger, logger, "f");
|
|
21
|
+
__classPrivateFieldSet(this, _CreatorManifestManager_pathManager, pathManager, "f");
|
|
22
|
+
}
|
|
23
|
+
async load(creatorId) {
|
|
24
|
+
const manifest = __classPrivateFieldGet(this, _CreatorManifestManager_manifests, "f").get(creatorId) ?? __classPrivateFieldGet(this, _CreatorManifestManager_instances, "m", _CreatorManifestManager_createManifest).call(this, creatorId);
|
|
25
|
+
await manifest.load();
|
|
26
|
+
return manifest;
|
|
27
|
+
}
|
|
28
|
+
async saveAll() {
|
|
29
|
+
const manifests = Array.from(__classPrivateFieldGet(this, _CreatorManifestManager_manifests, "f").values());
|
|
30
|
+
await Promise.all(manifests.map((manifest) => manifest.save()));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
_CreatorManifestManager_logger = new WeakMap(), _CreatorManifestManager_manifests = new WeakMap(), _CreatorManifestManager_pathManager = new WeakMap(), _CreatorManifestManager_instances = new WeakSet(), _CreatorManifestManager_createManifest = function _CreatorManifestManager_createManifest(creatorId) {
|
|
34
|
+
const manifest = new CreatorManifest({ logger: __classPrivateFieldGet(this, _CreatorManifestManager_logger, "f"), pathManager: __classPrivateFieldGet(this, _CreatorManifestManager_pathManager, "f").dir(creatorId) }, creatorId);
|
|
35
|
+
__classPrivateFieldGet(this, _CreatorManifestManager_manifests, "f").set(creatorId, manifest);
|
|
36
|
+
return manifest;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=creator-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator-manager.js","sourceRoot":"","sources":["../../../../src/downloader/manifest/creator-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAO/C,MAAM,OAAO,sBAAsB;IAKjC,YAAY,EAAE,MAAM,EAAE,WAAW,EAA8B;;QAJ/D,iDAAgB;QAChB,4CAAa,IAAI,GAAG,EAA2B,EAAC;QAChD,sDAA0B;QAGxB,uBAAA,IAAI,kCAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,uCAAgB,WAAW,MAAA,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,MAAM,QAAQ,GACZ,uBAAA,IAAI,yCAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,uBAAA,IAAI,iFAAgB,MAApB,IAAI,EAAiB,SAAS,CAAC,CAAC;QAEpE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAA,IAAI,yCAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;CAUF;oSARiB,SAAiB;IAC/B,MAAM,QAAQ,GAAG,IAAI,eAAe,CAClC,EAAE,MAAM,EAAE,uBAAA,IAAI,sCAAQ,EAAE,WAAW,EAAE,uBAAA,IAAI,2CAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EACvE,SAAS,CACV,CAAC;IACF,uBAAA,IAAI,yCAAW,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
import type { PathManager } from "../fs/path-manager.js";
|
|
3
|
+
import { type Store } from "./store.js";
|
|
4
|
+
export interface AssetManifestData {
|
|
5
|
+
bytes?: number;
|
|
6
|
+
error?: string;
|
|
7
|
+
path: string;
|
|
8
|
+
sha256?: string;
|
|
9
|
+
status: AssetStatus;
|
|
10
|
+
url: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CreatorManifestData {
|
|
13
|
+
creatorId: string;
|
|
14
|
+
posts: Partial<Record<string, PostManifestData>>;
|
|
15
|
+
version: 1;
|
|
16
|
+
}
|
|
17
|
+
export interface PostManifestData {
|
|
18
|
+
assets: Partial<Record<string, AssetManifestData>>;
|
|
19
|
+
error?: string;
|
|
20
|
+
id: string;
|
|
21
|
+
restricted: boolean;
|
|
22
|
+
status: PostStatus;
|
|
23
|
+
updatedDatetime: string;
|
|
24
|
+
}
|
|
25
|
+
type AssetStatus = "complete" | "failed" | "obsolete" | "pending";
|
|
26
|
+
interface CreatorManifestDeps {
|
|
27
|
+
logger: Logger;
|
|
28
|
+
pathManager: PathManager;
|
|
29
|
+
store?: Store<CreatorManifestData>;
|
|
30
|
+
}
|
|
31
|
+
type PostStatus = "complete" | "failed" | "partial" | "pending" | "skipped";
|
|
32
|
+
export declare class CreatorManifest implements CreatorManifestData {
|
|
33
|
+
#private;
|
|
34
|
+
readonly creatorId: string;
|
|
35
|
+
readonly version: 1;
|
|
36
|
+
get posts(): Partial<Record<string, PostManifestData>>;
|
|
37
|
+
constructor(options: CreatorManifestDeps, creatorId: string);
|
|
38
|
+
load(): Promise<void>;
|
|
39
|
+
save(): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=creator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator.d.ts","sourceRoot":"","sources":["../../../../src/downloader/manifest/creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,KAAK,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;CACpC;AAED,KAAK,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5E,qBAAa,eAAgB,YAAW,mBAAmB;;aAcvC,SAAS,EAAE,MAAM;IAbnC,QAAQ,CAAC,OAAO,EAAG,CAAC,CAAU;IAC9B,IAAI,KAAK,8CAER;gBASC,OAAO,EAAE,mBAAmB,EACZ,SAAS,EAAE,MAAM;IAS7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAe5B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
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");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _CreatorManifest_data, _CreatorManifest_loaded, _CreatorManifest_logger, _CreatorManifest_manifestPath, _CreatorManifest_store;
|
|
13
|
+
import { FileSystemStore } from "./store.js";
|
|
14
|
+
export class CreatorManifest {
|
|
15
|
+
get posts() {
|
|
16
|
+
return __classPrivateFieldGet(this, _CreatorManifest_data, "f").posts;
|
|
17
|
+
}
|
|
18
|
+
constructor(options, creatorId) {
|
|
19
|
+
this.creatorId = creatorId;
|
|
20
|
+
this.version = 1;
|
|
21
|
+
_CreatorManifest_data.set(this, void 0);
|
|
22
|
+
_CreatorManifest_loaded.set(this, false);
|
|
23
|
+
_CreatorManifest_logger.set(this, void 0);
|
|
24
|
+
_CreatorManifest_manifestPath.set(this, void 0);
|
|
25
|
+
_CreatorManifest_store.set(this, void 0);
|
|
26
|
+
__classPrivateFieldSet(this, _CreatorManifest_logger, options.logger, "f");
|
|
27
|
+
__classPrivateFieldSet(this, _CreatorManifest_manifestPath, options.pathManager.file("manifest.json"), "f");
|
|
28
|
+
__classPrivateFieldSet(this, _CreatorManifest_store, options.store ?? new FileSystemStore(), "f");
|
|
29
|
+
__classPrivateFieldSet(this, _CreatorManifest_data, { creatorId, posts: {}, version: 1 }, "f");
|
|
30
|
+
}
|
|
31
|
+
async load() {
|
|
32
|
+
if (__classPrivateFieldGet(this, _CreatorManifest_loaded, "f"))
|
|
33
|
+
return;
|
|
34
|
+
__classPrivateFieldGet(this, _CreatorManifest_logger, "f").trace(`Loading creator manifest for ${this.creatorId} from ${__classPrivateFieldGet(this, _CreatorManifest_manifestPath, "f")}`);
|
|
35
|
+
__classPrivateFieldSet(this, _CreatorManifest_loaded, true, "f");
|
|
36
|
+
const data = await __classPrivateFieldGet(this, _CreatorManifest_store, "f").load(__classPrivateFieldGet(this, _CreatorManifest_manifestPath, "f"));
|
|
37
|
+
__classPrivateFieldSet(this, _CreatorManifest_data, data ?? { creatorId: this.creatorId, posts: {}, version: 1 }, "f");
|
|
38
|
+
}
|
|
39
|
+
async save() {
|
|
40
|
+
const posts = Object.values(__classPrivateFieldGet(this, _CreatorManifest_data, "f").posts);
|
|
41
|
+
if (!posts.length || posts.every((post) => post?.status !== "complete")) {
|
|
42
|
+
__classPrivateFieldGet(this, _CreatorManifest_logger, "f").trace(`No posts in creator manifest for ${this.creatorId}, skipping save.`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
__classPrivateFieldGet(this, _CreatorManifest_logger, "f").trace(`Saving creator manifest for ${this.creatorId} to ${__classPrivateFieldGet(this, _CreatorManifest_manifestPath, "f")}`);
|
|
46
|
+
await __classPrivateFieldGet(this, _CreatorManifest_store, "f").save(__classPrivateFieldGet(this, _CreatorManifest_manifestPath, "f"), __classPrivateFieldGet(this, _CreatorManifest_data, "f"));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
_CreatorManifest_data = new WeakMap(), _CreatorManifest_loaded = new WeakMap(), _CreatorManifest_logger = new WeakMap(), _CreatorManifest_manifestPath = new WeakMap(), _CreatorManifest_store = new WeakMap();
|
|
50
|
+
//# sourceMappingURL=creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../../../src/downloader/manifest/creator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,OAAO,EAAE,eAAe,EAAc,MAAM,YAAY,CAAC;AAoCzD,MAAM,OAAO,eAAe;IAE1B,IAAI,KAAK;QACP,OAAO,uBAAA,IAAI,6BAAM,CAAC,KAAK,CAAC;IAC1B,CAAC;IAQD,YACE,OAA4B,EACZ,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;QAb1B,YAAO,GAAG,CAAU,CAAC;QAK9B,wCAA2B;QAC3B,kCAAU,KAAK,EAAC;QAChB,0CAAgB;QAChB,gDAAsB;QACtB,yCAAmC;QAMjC,uBAAA,IAAI,2BAAW,OAAO,CAAC,MAAM,MAAA,CAAC;QAC9B,uBAAA,IAAI,iCAAiB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,MAAA,CAAC;QAC/D,uBAAA,IAAI,0BAAU,OAAO,CAAC,KAAK,IAAI,IAAI,eAAe,EAAuB,MAAA,CAAC;QAE1E,uBAAA,IAAI,yBAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAA,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,uBAAA,IAAI,+BAAQ;YAAE,OAAO;QACzB,uBAAA,IAAI,+BAAQ,CAAC,KAAK,CAChB,gCAAgC,IAAI,CAAC,SAAS,SAAS,uBAAA,IAAI,qCAAc,EAAE,CAC5E,CAAC;QAEF,uBAAA,IAAI,2BAAW,IAAI,MAAA,CAAC;QAEpB,MAAM,IAAI,GAAG,MAAM,uBAAA,IAAI,8BAAO,CAAC,IAAI,CAAC,uBAAA,IAAI,qCAAc,CAAC,CAAC;QAExD,uBAAA,IAAI,yBAAS,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAA,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,6BAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;YAExE,uBAAA,IAAI,+BAAQ,CAAC,KAAK,CAChB,oCAAoC,IAAI,CAAC,SAAS,kBAAkB,CACrE,CAAC;YACF,OAAO;QACT,CAAC;QAED,uBAAA,IAAI,+BAAQ,CAAC,KAAK,CAChB,+BAA+B,IAAI,CAAC,SAAS,OAAO,uBAAA,IAAI,qCAAc,EAAE,CACzE,CAAC;QACF,MAAM,uBAAA,IAAI,8BAAO,CAAC,IAAI,CAAC,uBAAA,IAAI,qCAAc,EAAE,uBAAA,IAAI,6BAAM,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface Store<T> {
|
|
2
|
+
load(path: string): Promise<null | T>;
|
|
3
|
+
save(path: string, data: T): Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
export declare class FileSystemStore<T> implements Store<T> {
|
|
6
|
+
load(path: string): Promise<null | T>;
|
|
7
|
+
save(path: string, data: T): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/downloader/manifest/store.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IAarC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CASjD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { isNotFoundError } from "../fs/filesystem.js";
|
|
4
|
+
export class FileSystemStore {
|
|
5
|
+
async load(path) {
|
|
6
|
+
try {
|
|
7
|
+
const content = await readFile(path, "utf8");
|
|
8
|
+
return JSON.parse(content);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
if (isNotFoundError(error)) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
throw error;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
async save(path, data) {
|
|
18
|
+
await mkdir(dirname(path), { recursive: true });
|
|
19
|
+
const tempPath = `${path}.tmp`;
|
|
20
|
+
const content = `${JSON.stringify(data, null, 2)}\n`;
|
|
21
|
+
await writeFile(tempPath, content, "utf8");
|
|
22
|
+
await rename(tempPath, path);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/downloader/manifest/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,MAAM,OAAO,eAAe;IAC1B,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAO;QAC9B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,GAAG,IAAI,MAAM,CAAC;QAC/B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QAErD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { TextContent } from "../post/content.js";
|
|
2
|
+
interface FormatMediaAssetOptions {
|
|
3
|
+
altText?: string;
|
|
4
|
+
assetPath: string;
|
|
5
|
+
contentPath: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function formatFileAsset(options: FormatMediaAssetOptions): string;
|
|
8
|
+
export declare function formatImageAsset(options: FormatMediaAssetOptions): string;
|
|
9
|
+
export declare function formatTextContent(textContent: TextContent): string;
|
|
10
|
+
export declare function markdownAssetPath(contentPath: string, assetPath: string): string;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=asset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../../src/downloader/markdown/asset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,UAAU,uBAAuB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAIxE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAIzE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAMlE;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import path from "path/posix";
|
|
2
|
+
export function formatFileAsset(options) {
|
|
3
|
+
const { altText, assetPath, contentPath } = options;
|
|
4
|
+
const relativePath = markdownAssetPath(contentPath, assetPath);
|
|
5
|
+
return `[${altText ?? relativePath}](${relativePath})`;
|
|
6
|
+
}
|
|
7
|
+
export function formatImageAsset(options) {
|
|
8
|
+
const { altText, assetPath, contentPath } = options;
|
|
9
|
+
const relativePath = markdownAssetPath(contentPath, assetPath);
|
|
10
|
+
return ``;
|
|
11
|
+
}
|
|
12
|
+
export function formatTextContent(textContent) {
|
|
13
|
+
if ("url" in textContent.props) {
|
|
14
|
+
return `[${textContent.text}](${textContent.props.url})`;
|
|
15
|
+
}
|
|
16
|
+
return textContent.text;
|
|
17
|
+
}
|
|
18
|
+
export function markdownAssetPath(contentPath, assetPath) {
|
|
19
|
+
const relative = path.relative(path.dirname(contentPath), assetPath);
|
|
20
|
+
return relative || path.basename(assetPath);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=asset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../../src/downloader/markdown/asset.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAC;AAU9B,MAAM,UAAU,eAAe,CAAC,OAAgC;IAC9D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/D,OAAO,IAAI,OAAO,IAAI,YAAY,KAAK,YAAY,GAAG,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/D,OAAO,KAAK,OAAO,IAAI,YAAY,KAAK,YAAY,GAAG,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAwB;IACxD,IAAI,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,CAAC,GAAa,GAAG,CAAC;IACrE,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,EACnB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IACrE,OAAO,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../../../src/downloader/post/article.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAc5C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE,CAgClE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FileContent, ImageContent, TextContent } from "./content.js";
|
|
2
|
+
import { handleEmbedBlock } from "./embed.js";
|
|
3
|
+
import { handleUrlEmbedBlock } from "./url-embed.js";
|
|
4
|
+
export function formatArticleContents(post) {
|
|
5
|
+
return post.body.blocks
|
|
6
|
+
.map((block) => {
|
|
7
|
+
if (isArticleBlockType("image", block)) {
|
|
8
|
+
const image = post.body.imageMap[block.imageId];
|
|
9
|
+
return new ImageContent(image);
|
|
10
|
+
}
|
|
11
|
+
if (isArticleBlockType("file", block)) {
|
|
12
|
+
const file = post.body.fileMap[block.fileId];
|
|
13
|
+
return new FileContent(file);
|
|
14
|
+
}
|
|
15
|
+
if (isArticleBlockType("url_embed", block)) {
|
|
16
|
+
return handleUrlEmbedBlock(block, post.body.urlEmbedMap);
|
|
17
|
+
}
|
|
18
|
+
if (isArticleBlockType("embed", block)) {
|
|
19
|
+
return handleEmbedBlock(block, post.body.embedMap);
|
|
20
|
+
}
|
|
21
|
+
if (isArticleBlockType("p", block) ||
|
|
22
|
+
isArticleBlockType("header", block)) {
|
|
23
|
+
return new TextContent(block);
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
})
|
|
27
|
+
.filter((content) => !!content);
|
|
28
|
+
}
|
|
29
|
+
function isArticleBlockType(type, item) {
|
|
30
|
+
return item.type === type;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=article.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article.js","sourceRoot":"","sources":["../../../../src/downloader/post/article.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAWrD,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;SACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3C,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,IACE,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC;YAC9B,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,EACnC,CAAC;YACD,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAGD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAO,EACP,IAAkB;IAElB,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export type Content = FileContent | ImageContent | TextContent | UnknownContent;
|
|
2
|
+
interface FileSource {
|
|
3
|
+
extension: string;
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
size: number;
|
|
7
|
+
url: string;
|
|
8
|
+
}
|
|
9
|
+
interface ImageSource {
|
|
10
|
+
extension: string;
|
|
11
|
+
id: string;
|
|
12
|
+
originalUrl: string;
|
|
13
|
+
}
|
|
14
|
+
export declare abstract class ContentBasic {
|
|
15
|
+
type: string;
|
|
16
|
+
constructor(payload: {
|
|
17
|
+
type: string;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
export declare abstract class MediaContent extends ContentBasic {
|
|
21
|
+
extension: string;
|
|
22
|
+
id: string;
|
|
23
|
+
url: string;
|
|
24
|
+
constructor(type: string, payload: {
|
|
25
|
+
extension: string;
|
|
26
|
+
id: string;
|
|
27
|
+
url: string;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export declare class FileContent extends MediaContent {
|
|
31
|
+
name: string;
|
|
32
|
+
size: number;
|
|
33
|
+
constructor({ extension, id, name, size, url }: FileSource);
|
|
34
|
+
}
|
|
35
|
+
export declare class ImageContent extends MediaContent {
|
|
36
|
+
constructor({ extension, id, originalUrl }: ImageSource);
|
|
37
|
+
}
|
|
38
|
+
export declare class TextContent<T extends {
|
|
39
|
+
text: string;
|
|
40
|
+
} = {
|
|
41
|
+
text: string;
|
|
42
|
+
}> extends ContentBasic {
|
|
43
|
+
props: Omit<T, "text">;
|
|
44
|
+
text: string;
|
|
45
|
+
constructor({ text, ...remains }: T);
|
|
46
|
+
}
|
|
47
|
+
export declare class UnknownContent<T = unknown> extends ContentBasic {
|
|
48
|
+
readonly payload: T;
|
|
49
|
+
constructor(payload: T);
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../src/downloader/post/content.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AAEhF,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8BAAsB,YAAY;IAChC,IAAI,EAAE,MAAM,CAAC;gBACD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;CAGtC;AAED,8BAAsB,YAAa,SAAQ,YAAY;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;gBAGV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAO1D;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;gBAED,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU;CAK3D;AAED,qBAAa,YAAa,SAAQ,YAAY;gBAChC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,WAAW;CAGxD;AAED,qBAAa,WAAW,CACtB,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAC7C,SAAQ,YAAY;IACpB,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;gBAED,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC;CAKpC;AAED,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY;aAC/B,OAAO,EAAE,CAAC;gBAAV,OAAO,EAAE,CAAC;CAGvC"}
|