@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.
Files changed (598) hide show
  1. package/README.md +1 -1
  2. package/dist/bundle/index.cjs +1 -1
  3. package/dist/bundle/index.cjs.map +1 -1
  4. package/dist/bundle/index.d.cts +112 -100
  5. package/dist/bundle/index.d.ts +112 -100
  6. package/dist/bundle/index.js +1 -1
  7. package/dist/bundle/index.js.map +1 -1
  8. package/dist/cjs/cli.d.ts +3 -0
  9. package/dist/cjs/cli.d.ts.map +1 -0
  10. package/dist/cjs/cli.js +97 -0
  11. package/dist/cjs/cli.js.map +1 -0
  12. package/dist/cjs/client/client.d.ts +36 -0
  13. package/dist/cjs/client/client.d.ts.map +1 -0
  14. package/dist/cjs/client/client.js +73 -0
  15. package/dist/cjs/client/client.js.map +1 -0
  16. package/dist/cjs/client/endpoints/creator-get.d.ts +8 -0
  17. package/dist/cjs/client/endpoints/creator-get.d.ts.map +1 -0
  18. package/dist/cjs/client/endpoints/creator-get.js +7 -0
  19. package/dist/cjs/client/endpoints/creator-get.js.map +1 -0
  20. package/dist/cjs/client/endpoints/creator-list-pages.d.ts +9 -0
  21. package/dist/cjs/client/endpoints/creator-list-pages.d.ts.map +1 -0
  22. package/dist/cjs/client/endpoints/creator-list-pages.js +7 -0
  23. package/dist/cjs/client/endpoints/creator-list-pages.js.map +1 -0
  24. package/dist/cjs/client/endpoints/creator-list-plans.d.ts +8 -0
  25. package/dist/cjs/client/endpoints/creator-list-plans.d.ts.map +1 -0
  26. package/dist/cjs/client/endpoints/creator-list-plans.js +7 -0
  27. package/dist/cjs/client/endpoints/creator-list-plans.js.map +1 -0
  28. package/dist/cjs/client/endpoints/creator-list-posts.d.ts +11 -0
  29. package/dist/cjs/client/endpoints/creator-list-posts.d.ts.map +1 -0
  30. package/dist/cjs/client/endpoints/creator-list-posts.js +7 -0
  31. package/dist/cjs/client/endpoints/creator-list-posts.js.map +1 -0
  32. package/dist/cjs/client/endpoints/post-info.d.ts +8 -0
  33. package/dist/cjs/client/endpoints/post-info.d.ts.map +1 -0
  34. package/dist/cjs/client/endpoints/post-info.js +7 -0
  35. package/dist/cjs/client/endpoints/post-info.js.map +1 -0
  36. package/dist/cjs/client/endpoints/post-list-home.d.ts +6 -0
  37. package/dist/cjs/client/endpoints/post-list-home.d.ts.map +1 -0
  38. package/dist/cjs/client/endpoints/post-list-home.js +7 -0
  39. package/dist/cjs/client/endpoints/post-list-home.js.map +1 -0
  40. package/dist/cjs/client/endpoints/post-list-supporting.d.ts +6 -0
  41. package/dist/cjs/client/endpoints/post-list-supporting.d.ts.map +1 -0
  42. package/dist/cjs/client/endpoints/post-list-supporting.js +7 -0
  43. package/dist/cjs/client/endpoints/post-list-supporting.js.map +1 -0
  44. package/dist/cjs/client/endpoints/user-list-following.d.ts +7 -0
  45. package/dist/cjs/client/endpoints/user-list-following.d.ts.map +1 -0
  46. package/dist/cjs/client/endpoints/user-list-following.js +7 -0
  47. package/dist/cjs/client/endpoints/user-list-following.js.map +1 -0
  48. package/dist/cjs/client/endpoints/user-list-supporting.d.ts +5 -0
  49. package/dist/cjs/client/endpoints/user-list-supporting.d.ts.map +1 -0
  50. package/dist/cjs/client/endpoints/user-list-supporting.js +7 -0
  51. package/dist/cjs/client/endpoints/user-list-supporting.js.map +1 -0
  52. package/dist/cjs/client/fanbox-envelope.d.ts.map +1 -0
  53. package/dist/cjs/client/fanbox-envelope.js.map +1 -0
  54. package/dist/cjs/client/fanbox-headers.d.ts.map +1 -0
  55. package/dist/cjs/{fanbox-headers.js → client/fanbox-headers.js} +0 -4
  56. package/dist/cjs/client/fanbox-headers.js.map +1 -0
  57. package/dist/cjs/client/models/creator.d.ts.map +1 -0
  58. package/dist/cjs/client/models/creator.js.map +1 -0
  59. package/dist/cjs/client/models/plan.d.ts.map +1 -0
  60. package/dist/cjs/{endpoints → client}/models/plan.js.map +1 -1
  61. package/dist/cjs/client/models/post/article.d.ts +41 -0
  62. package/dist/cjs/client/models/post/article.d.ts.map +1 -0
  63. package/dist/cjs/client/models/post/article.js +3 -0
  64. package/dist/cjs/client/models/post/article.js.map +1 -0
  65. package/dist/cjs/client/models/post/asset.d.ts +16 -0
  66. package/dist/cjs/client/models/post/asset.d.ts.map +1 -0
  67. package/dist/cjs/client/models/post/asset.js +3 -0
  68. package/dist/cjs/client/models/post/asset.js.map +1 -0
  69. package/dist/cjs/client/models/post/embed.d.ts +12 -0
  70. package/dist/cjs/client/models/post/embed.d.ts.map +1 -0
  71. package/dist/cjs/client/models/post/embed.js +3 -0
  72. package/dist/cjs/client/models/post/embed.js.map +1 -0
  73. package/dist/cjs/client/models/post/url-embed.d.ts +13 -0
  74. package/dist/cjs/client/models/post/url-embed.d.ts.map +1 -0
  75. package/dist/cjs/client/models/post/url-embed.js +3 -0
  76. package/dist/cjs/client/models/post/url-embed.js.map +1 -0
  77. package/dist/cjs/{endpoints → client}/models/post.d.ts +5 -48
  78. package/dist/cjs/client/models/post.d.ts.map +1 -0
  79. package/dist/cjs/{endpoints → client}/models/post.js.map +1 -1
  80. package/dist/cjs/client/models/user.d.ts.map +1 -0
  81. package/dist/cjs/{endpoints → client}/models/user.js.map +1 -1
  82. package/dist/cjs/client/types.d.ts +14 -0
  83. package/dist/cjs/client/types.d.ts.map +1 -0
  84. package/dist/cjs/{types.js.map → client/types.js.map} +1 -1
  85. package/dist/cjs/downloader/asset/download.d.ts +21 -0
  86. package/dist/cjs/downloader/asset/download.d.ts.map +1 -0
  87. package/dist/cjs/downloader/asset/download.js +95 -0
  88. package/dist/cjs/downloader/asset/download.js.map +1 -0
  89. package/dist/cjs/downloader/cli/cookie.d.ts +2 -0
  90. package/dist/cjs/downloader/cli/cookie.d.ts.map +1 -0
  91. package/dist/cjs/downloader/cli/cookie.js +37 -0
  92. package/dist/cjs/downloader/cli/cookie.js.map +1 -0
  93. package/dist/cjs/downloader/cli/index.d.ts +4 -0
  94. package/dist/cjs/downloader/cli/index.d.ts.map +1 -0
  95. package/dist/cjs/downloader/cli/index.js +15 -0
  96. package/dist/cjs/downloader/cli/index.js.map +1 -0
  97. package/dist/cjs/downloader/cli/options.d.ts +22 -0
  98. package/dist/cjs/downloader/cli/options.d.ts.map +1 -0
  99. package/dist/cjs/downloader/cli/options.js +124 -0
  100. package/dist/cjs/downloader/cli/options.js.map +1 -0
  101. package/dist/cjs/downloader/cli/resolver.d.ts +24 -0
  102. package/dist/cjs/downloader/cli/resolver.d.ts.map +1 -0
  103. package/dist/cjs/downloader/cli/resolver.js +28 -0
  104. package/dist/cjs/downloader/cli/resolver.js.map +1 -0
  105. package/dist/cjs/downloader/creator/discover-posts.d.ts +15 -0
  106. package/dist/cjs/downloader/creator/discover-posts.d.ts.map +1 -0
  107. package/dist/cjs/downloader/creator/discover-posts.js +20 -0
  108. package/dist/cjs/downloader/creator/discover-posts.js.map +1 -0
  109. package/dist/cjs/downloader/creator/sync.d.ts +16 -0
  110. package/dist/cjs/downloader/creator/sync.d.ts.map +1 -0
  111. package/dist/cjs/downloader/creator/sync.js +34 -0
  112. package/dist/cjs/downloader/creator/sync.js.map +1 -0
  113. package/dist/cjs/downloader/fs/filesystem.d.ts +2 -0
  114. package/dist/cjs/downloader/fs/filesystem.d.ts.map +1 -0
  115. package/dist/cjs/downloader/fs/filesystem.js +10 -0
  116. package/dist/cjs/downloader/fs/filesystem.js.map +1 -0
  117. package/dist/cjs/downloader/fs/path-manager.d.ts +17 -0
  118. package/dist/cjs/downloader/fs/path-manager.d.ts.map +1 -0
  119. package/dist/cjs/downloader/fs/path-manager.js +49 -0
  120. package/dist/cjs/downloader/fs/path-manager.js.map +1 -0
  121. package/dist/cjs/downloader/index.d.ts +8 -2
  122. package/dist/cjs/downloader/index.d.ts.map +1 -1
  123. package/dist/cjs/downloader/index.js +55 -5
  124. package/dist/cjs/downloader/index.js.map +1 -1
  125. package/dist/cjs/downloader/manifest/creator-manager.d.ts +15 -0
  126. package/dist/cjs/downloader/manifest/creator-manager.d.ts.map +1 -0
  127. package/dist/cjs/downloader/manifest/creator-manager.js +42 -0
  128. package/dist/cjs/downloader/manifest/creator-manager.js.map +1 -0
  129. package/dist/cjs/downloader/manifest/creator.d.ts +42 -0
  130. package/dist/cjs/downloader/manifest/creator.d.ts.map +1 -0
  131. package/dist/cjs/downloader/manifest/creator.js +54 -0
  132. package/dist/cjs/downloader/manifest/creator.js.map +1 -0
  133. package/dist/cjs/downloader/manifest/store.d.ts +9 -0
  134. package/dist/cjs/downloader/manifest/store.d.ts.map +1 -0
  135. package/dist/cjs/downloader/manifest/store.js +29 -0
  136. package/dist/cjs/downloader/manifest/store.js.map +1 -0
  137. package/dist/cjs/downloader/markdown/asset.d.ts +12 -0
  138. package/dist/cjs/downloader/markdown/asset.d.ts.map +1 -0
  139. package/dist/cjs/downloader/markdown/asset.js +31 -0
  140. package/dist/cjs/downloader/markdown/asset.js.map +1 -0
  141. package/dist/cjs/downloader/post/article.d.ts +4 -0
  142. package/dist/cjs/downloader/post/article.d.ts.map +1 -0
  143. package/dist/cjs/downloader/post/article.js +35 -0
  144. package/dist/cjs/downloader/post/article.js.map +1 -0
  145. package/dist/cjs/downloader/post/content.d.ts +52 -0
  146. package/dist/cjs/downloader/post/content.d.ts.map +1 -0
  147. package/dist/cjs/downloader/post/content.js +48 -0
  148. package/dist/cjs/downloader/post/content.js.map +1 -0
  149. package/dist/cjs/downloader/post/contents.d.ts +9 -0
  150. package/dist/cjs/downloader/post/contents.d.ts.map +1 -0
  151. package/dist/cjs/downloader/post/contents.js +36 -0
  152. package/dist/cjs/downloader/post/contents.js.map +1 -0
  153. package/dist/cjs/downloader/post/embed.d.ts +7 -0
  154. package/dist/cjs/downloader/post/embed.d.ts.map +1 -0
  155. package/dist/cjs/downloader/post/embed.js +14 -0
  156. package/dist/cjs/downloader/post/embed.js.map +1 -0
  157. package/dist/cjs/downloader/post/sync.d.ts +17 -0
  158. package/dist/cjs/downloader/post/sync.d.ts.map +1 -0
  159. package/dist/cjs/downloader/post/sync.js +127 -0
  160. package/dist/cjs/downloader/post/sync.js.map +1 -0
  161. package/dist/cjs/downloader/post/url-embed.d.ts +7 -0
  162. package/dist/cjs/downloader/post/url-embed.d.ts.map +1 -0
  163. package/dist/cjs/downloader/post/url-embed.js +14 -0
  164. package/dist/cjs/downloader/post/url-embed.js.map +1 -0
  165. package/dist/cjs/index.d.ts +2 -2
  166. package/dist/cjs/index.d.ts.map +1 -1
  167. package/dist/cjs/index.js +1 -1
  168. package/dist/cjs/index.js.map +1 -1
  169. package/dist/cjs/transport/http2-session.d.ts +7 -0
  170. package/dist/cjs/transport/http2-session.d.ts.map +1 -0
  171. package/dist/cjs/transport/http2-session.js +48 -0
  172. package/dist/cjs/transport/http2-session.js.map +1 -0
  173. package/dist/cjs/transport/http2.d.ts +11 -0
  174. package/dist/cjs/transport/http2.d.ts.map +1 -0
  175. package/dist/cjs/transport/http2.js +85 -0
  176. package/dist/cjs/transport/http2.js.map +1 -0
  177. package/dist/cjs/transport/worker.d.ts +17 -0
  178. package/dist/cjs/transport/worker.d.ts.map +1 -0
  179. package/dist/cjs/transport/worker.js +137 -0
  180. package/dist/cjs/transport/worker.js.map +1 -0
  181. package/dist/cjs/usage.d.ts +4 -0
  182. package/dist/cjs/usage.d.ts.map +1 -0
  183. package/dist/cjs/usage.js +11 -0
  184. package/dist/cjs/usage.js.map +1 -0
  185. package/dist/esm/cli.d.ts +3 -0
  186. package/dist/esm/cli.d.ts.map +1 -0
  187. package/dist/esm/cli.js +62 -0
  188. package/dist/esm/cli.js.map +1 -0
  189. package/dist/esm/client/client.d.ts +36 -0
  190. package/dist/esm/client/client.d.ts.map +1 -0
  191. package/dist/esm/client/client.js +68 -0
  192. package/dist/esm/client/client.js.map +1 -0
  193. package/dist/esm/client/endpoints/creator-get.d.ts +8 -0
  194. package/dist/esm/client/endpoints/creator-get.d.ts.map +1 -0
  195. package/dist/esm/client/endpoints/creator-get.js +4 -0
  196. package/dist/esm/client/endpoints/creator-get.js.map +1 -0
  197. package/dist/esm/client/endpoints/creator-list-pages.d.ts +9 -0
  198. package/dist/esm/client/endpoints/creator-list-pages.d.ts.map +1 -0
  199. package/dist/esm/client/endpoints/creator-list-pages.js +4 -0
  200. package/dist/esm/client/endpoints/creator-list-pages.js.map +1 -0
  201. package/dist/esm/client/endpoints/creator-list-plans.d.ts +8 -0
  202. package/dist/esm/client/endpoints/creator-list-plans.d.ts.map +1 -0
  203. package/dist/esm/client/endpoints/creator-list-plans.js +4 -0
  204. package/dist/esm/client/endpoints/creator-list-plans.js.map +1 -0
  205. package/dist/esm/client/endpoints/creator-list-posts.d.ts +11 -0
  206. package/dist/esm/client/endpoints/creator-list-posts.d.ts.map +1 -0
  207. package/dist/esm/client/endpoints/creator-list-posts.js +4 -0
  208. package/dist/esm/client/endpoints/creator-list-posts.js.map +1 -0
  209. package/dist/esm/client/endpoints/post-info.d.ts +8 -0
  210. package/dist/esm/client/endpoints/post-info.d.ts.map +1 -0
  211. package/dist/esm/client/endpoints/post-info.js +4 -0
  212. package/dist/esm/client/endpoints/post-info.js.map +1 -0
  213. package/dist/esm/client/endpoints/post-list-home.d.ts +6 -0
  214. package/dist/esm/client/endpoints/post-list-home.d.ts.map +1 -0
  215. package/dist/esm/client/endpoints/post-list-home.js +4 -0
  216. package/dist/esm/client/endpoints/post-list-home.js.map +1 -0
  217. package/dist/esm/client/endpoints/post-list-supporting.d.ts +6 -0
  218. package/dist/esm/client/endpoints/post-list-supporting.d.ts.map +1 -0
  219. package/dist/esm/client/endpoints/post-list-supporting.js +4 -0
  220. package/dist/esm/client/endpoints/post-list-supporting.js.map +1 -0
  221. package/dist/esm/client/endpoints/user-list-following.d.ts +7 -0
  222. package/dist/esm/client/endpoints/user-list-following.d.ts.map +1 -0
  223. package/dist/esm/client/endpoints/user-list-following.js +4 -0
  224. package/dist/esm/client/endpoints/user-list-following.js.map +1 -0
  225. package/dist/esm/client/endpoints/user-list-supporting.d.ts +5 -0
  226. package/dist/esm/client/endpoints/user-list-supporting.d.ts.map +1 -0
  227. package/dist/esm/client/endpoints/user-list-supporting.js +4 -0
  228. package/dist/esm/client/endpoints/user-list-supporting.js.map +1 -0
  229. package/dist/esm/client/fanbox-envelope.d.ts.map +1 -0
  230. package/dist/esm/client/fanbox-envelope.js.map +1 -0
  231. package/dist/esm/client/fanbox-headers.d.ts.map +1 -0
  232. package/dist/esm/{fanbox-headers.js → client/fanbox-headers.js} +0 -4
  233. package/dist/esm/client/fanbox-headers.js.map +1 -0
  234. package/dist/esm/client/models/creator.d.ts.map +1 -0
  235. package/dist/esm/client/models/creator.js.map +1 -0
  236. package/dist/esm/client/models/plan.d.ts.map +1 -0
  237. package/dist/esm/{endpoints → client}/models/plan.js.map +1 -1
  238. package/dist/esm/client/models/post/article.d.ts +41 -0
  239. package/dist/esm/client/models/post/article.d.ts.map +1 -0
  240. package/dist/esm/client/models/post/article.js +2 -0
  241. package/dist/esm/client/models/post/article.js.map +1 -0
  242. package/dist/esm/client/models/post/asset.d.ts +16 -0
  243. package/dist/esm/client/models/post/asset.d.ts.map +1 -0
  244. package/dist/esm/client/models/post/asset.js +2 -0
  245. package/dist/esm/client/models/post/asset.js.map +1 -0
  246. package/dist/esm/client/models/post/embed.d.ts +12 -0
  247. package/dist/esm/client/models/post/embed.d.ts.map +1 -0
  248. package/dist/esm/client/models/post/embed.js +2 -0
  249. package/dist/esm/client/models/post/embed.js.map +1 -0
  250. package/dist/esm/client/models/post/url-embed.d.ts +13 -0
  251. package/dist/esm/client/models/post/url-embed.d.ts.map +1 -0
  252. package/dist/esm/client/models/post/url-embed.js +2 -0
  253. package/dist/esm/client/models/post/url-embed.js.map +1 -0
  254. package/dist/esm/{endpoints → client}/models/post.d.ts +5 -48
  255. package/dist/esm/client/models/post.d.ts.map +1 -0
  256. package/dist/esm/{endpoints → client}/models/post.js.map +1 -1
  257. package/dist/esm/client/models/user.d.ts.map +1 -0
  258. package/dist/esm/{endpoints → client}/models/user.js.map +1 -1
  259. package/dist/esm/client/types.d.ts +14 -0
  260. package/dist/esm/client/types.d.ts.map +1 -0
  261. package/dist/esm/{types.js.map → client/types.js.map} +1 -1
  262. package/dist/esm/downloader/asset/download.d.ts +21 -0
  263. package/dist/esm/downloader/asset/download.d.ts.map +1 -0
  264. package/dist/esm/downloader/asset/download.js +56 -0
  265. package/dist/esm/downloader/asset/download.js.map +1 -0
  266. package/dist/esm/downloader/cli/cookie.d.ts +2 -0
  267. package/dist/esm/downloader/cli/cookie.d.ts.map +1 -0
  268. package/dist/esm/downloader/cli/cookie.js +34 -0
  269. package/dist/esm/downloader/cli/cookie.js.map +1 -0
  270. package/dist/esm/downloader/cli/index.d.ts +4 -0
  271. package/dist/esm/downloader/cli/index.d.ts.map +1 -0
  272. package/dist/esm/downloader/cli/index.js +11 -0
  273. package/dist/esm/downloader/cli/index.js.map +1 -0
  274. package/dist/esm/downloader/cli/options.d.ts +22 -0
  275. package/dist/esm/downloader/cli/options.d.ts.map +1 -0
  276. package/dist/esm/downloader/cli/options.js +120 -0
  277. package/dist/esm/downloader/cli/options.js.map +1 -0
  278. package/dist/esm/downloader/cli/resolver.d.ts +24 -0
  279. package/dist/esm/downloader/cli/resolver.d.ts.map +1 -0
  280. package/dist/esm/downloader/cli/resolver.js +25 -0
  281. package/dist/esm/downloader/cli/resolver.js.map +1 -0
  282. package/dist/esm/downloader/creator/discover-posts.d.ts +15 -0
  283. package/dist/esm/downloader/creator/discover-posts.d.ts.map +1 -0
  284. package/dist/esm/downloader/creator/discover-posts.js +17 -0
  285. package/dist/esm/downloader/creator/discover-posts.js.map +1 -0
  286. package/dist/esm/downloader/creator/sync.d.ts +16 -0
  287. package/dist/esm/downloader/creator/sync.d.ts.map +1 -0
  288. package/dist/esm/downloader/creator/sync.js +31 -0
  289. package/dist/esm/downloader/creator/sync.js.map +1 -0
  290. package/dist/esm/downloader/fs/filesystem.d.ts +2 -0
  291. package/dist/esm/downloader/fs/filesystem.d.ts.map +1 -0
  292. package/dist/esm/downloader/fs/filesystem.js +7 -0
  293. package/dist/esm/downloader/fs/filesystem.js.map +1 -0
  294. package/dist/esm/downloader/fs/path-manager.d.ts +17 -0
  295. package/dist/esm/downloader/fs/path-manager.d.ts.map +1 -0
  296. package/dist/esm/downloader/fs/path-manager.js +45 -0
  297. package/dist/esm/downloader/fs/path-manager.js.map +1 -0
  298. package/dist/esm/downloader/index.d.ts +8 -2
  299. package/dist/esm/downloader/index.d.ts.map +1 -1
  300. package/dist/esm/downloader/index.js +54 -5
  301. package/dist/esm/downloader/index.js.map +1 -1
  302. package/dist/esm/downloader/manifest/creator-manager.d.ts +15 -0
  303. package/dist/esm/downloader/manifest/creator-manager.d.ts.map +1 -0
  304. package/dist/esm/downloader/manifest/creator-manager.js +38 -0
  305. package/dist/esm/downloader/manifest/creator-manager.js.map +1 -0
  306. package/dist/esm/downloader/manifest/creator.d.ts +42 -0
  307. package/dist/esm/downloader/manifest/creator.d.ts.map +1 -0
  308. package/dist/esm/downloader/manifest/creator.js +50 -0
  309. package/dist/esm/downloader/manifest/creator.js.map +1 -0
  310. package/dist/esm/downloader/manifest/store.d.ts +9 -0
  311. package/dist/esm/downloader/manifest/store.d.ts.map +1 -0
  312. package/dist/esm/downloader/manifest/store.js +25 -0
  313. package/dist/esm/downloader/manifest/store.js.map +1 -0
  314. package/dist/esm/downloader/markdown/asset.d.ts +12 -0
  315. package/dist/esm/downloader/markdown/asset.d.ts.map +1 -0
  316. package/dist/esm/downloader/markdown/asset.js +22 -0
  317. package/dist/esm/downloader/markdown/asset.js.map +1 -0
  318. package/dist/esm/downloader/post/article.d.ts +4 -0
  319. package/dist/esm/downloader/post/article.d.ts.map +1 -0
  320. package/dist/esm/downloader/post/article.js +32 -0
  321. package/dist/esm/downloader/post/article.js.map +1 -0
  322. package/dist/esm/downloader/post/content.d.ts +52 -0
  323. package/dist/esm/downloader/post/content.d.ts.map +1 -0
  324. package/dist/esm/downloader/post/content.js +39 -0
  325. package/dist/esm/downloader/post/content.js.map +1 -0
  326. package/dist/esm/downloader/post/contents.d.ts +9 -0
  327. package/dist/esm/downloader/post/contents.d.ts.map +1 -0
  328. package/dist/esm/downloader/post/contents.js +33 -0
  329. package/dist/esm/downloader/post/contents.js.map +1 -0
  330. package/dist/esm/downloader/post/embed.d.ts +7 -0
  331. package/dist/esm/downloader/post/embed.d.ts.map +1 -0
  332. package/dist/esm/downloader/post/embed.js +11 -0
  333. package/dist/esm/downloader/post/embed.js.map +1 -0
  334. package/dist/esm/downloader/post/sync.d.ts +17 -0
  335. package/dist/esm/downloader/post/sync.d.ts.map +1 -0
  336. package/dist/esm/downloader/post/sync.js +124 -0
  337. package/dist/esm/downloader/post/sync.js.map +1 -0
  338. package/dist/esm/downloader/post/url-embed.d.ts +7 -0
  339. package/dist/esm/downloader/post/url-embed.d.ts.map +1 -0
  340. package/dist/esm/downloader/post/url-embed.js +11 -0
  341. package/dist/esm/downloader/post/url-embed.js.map +1 -0
  342. package/dist/esm/index.d.ts +2 -2
  343. package/dist/esm/index.d.ts.map +1 -1
  344. package/dist/esm/index.js +1 -1
  345. package/dist/esm/index.js.map +1 -1
  346. package/dist/esm/transport/http2-session.d.ts +7 -0
  347. package/dist/esm/transport/http2-session.d.ts.map +1 -0
  348. package/dist/esm/transport/http2-session.js +44 -0
  349. package/dist/esm/transport/http2-session.js.map +1 -0
  350. package/dist/esm/transport/http2.d.ts +11 -0
  351. package/dist/esm/transport/http2.d.ts.map +1 -0
  352. package/dist/esm/transport/http2.js +80 -0
  353. package/dist/esm/transport/http2.js.map +1 -0
  354. package/dist/esm/transport/worker.d.ts +17 -0
  355. package/dist/esm/transport/worker.d.ts.map +1 -0
  356. package/dist/esm/transport/worker.js +133 -0
  357. package/dist/esm/transport/worker.js.map +1 -0
  358. package/dist/esm/usage.d.ts +4 -0
  359. package/dist/esm/usage.d.ts.map +1 -0
  360. package/dist/esm/usage.js +7 -0
  361. package/dist/esm/usage.js.map +1 -0
  362. package/package.json +5 -2
  363. package/dist/cjs/client-options.d.ts +0 -8
  364. package/dist/cjs/client-options.d.ts.map +0 -1
  365. package/dist/cjs/client-options.js +0 -3
  366. package/dist/cjs/client-options.js.map +0 -1
  367. package/dist/cjs/client.d.ts +0 -31
  368. package/dist/cjs/client.d.ts.map +0 -1
  369. package/dist/cjs/client.js +0 -107
  370. package/dist/cjs/client.js.map +0 -1
  371. package/dist/cjs/downloader/asset.d.ts +0 -30
  372. package/dist/cjs/downloader/asset.d.ts.map +0 -1
  373. package/dist/cjs/downloader/asset.js +0 -99
  374. package/dist/cjs/downloader/asset.js.map +0 -1
  375. package/dist/cjs/downloader/cli.d.ts +0 -8
  376. package/dist/cjs/downloader/cli.d.ts.map +0 -1
  377. package/dist/cjs/downloader/cli.js +0 -168
  378. package/dist/cjs/downloader/cli.js.map +0 -1
  379. package/dist/cjs/downloader/discovery.d.ts +0 -12
  380. package/dist/cjs/downloader/discovery.d.ts.map +0 -1
  381. package/dist/cjs/downloader/discovery.js +0 -87
  382. package/dist/cjs/downloader/discovery.js.map +0 -1
  383. package/dist/cjs/downloader/errors.d.ts +0 -5
  384. package/dist/cjs/downloader/errors.d.ts.map +0 -1
  385. package/dist/cjs/downloader/errors.js +0 -40
  386. package/dist/cjs/downloader/errors.js.map +0 -1
  387. package/dist/cjs/downloader/logger.d.ts +0 -16
  388. package/dist/cjs/downloader/logger.d.ts.map +0 -1
  389. package/dist/cjs/downloader/logger.js +0 -51
  390. package/dist/cjs/downloader/logger.js.map +0 -1
  391. package/dist/cjs/downloader/manifest.d.ts +0 -31
  392. package/dist/cjs/downloader/manifest.d.ts.map +0 -1
  393. package/dist/cjs/downloader/manifest.js +0 -53
  394. package/dist/cjs/downloader/manifest.js.map +0 -1
  395. package/dist/cjs/downloader/markdown.d.ts +0 -4
  396. package/dist/cjs/downloader/markdown.d.ts.map +0 -1
  397. package/dist/cjs/downloader/markdown.js +0 -62
  398. package/dist/cjs/downloader/markdown.js.map +0 -1
  399. package/dist/cjs/downloader/options.d.ts +0 -24
  400. package/dist/cjs/downloader/options.d.ts.map +0 -1
  401. package/dist/cjs/downloader/options.js +0 -135
  402. package/dist/cjs/downloader/options.js.map +0 -1
  403. package/dist/cjs/downloader/path.d.ts +0 -15
  404. package/dist/cjs/downloader/path.d.ts.map +0 -1
  405. package/dist/cjs/downloader/path.js +0 -79
  406. package/dist/cjs/downloader/path.js.map +0 -1
  407. package/dist/cjs/downloader/resolver.d.ts +0 -16
  408. package/dist/cjs/downloader/resolver.d.ts.map +0 -1
  409. package/dist/cjs/downloader/resolver.js +0 -21
  410. package/dist/cjs/downloader/resolver.js.map +0 -1
  411. package/dist/cjs/downloader/scheduler.d.ts +0 -19
  412. package/dist/cjs/downloader/scheduler.d.ts.map +0 -1
  413. package/dist/cjs/downloader/scheduler.js +0 -124
  414. package/dist/cjs/downloader/scheduler.js.map +0 -1
  415. package/dist/cjs/downloader/sync.d.ts +0 -21
  416. package/dist/cjs/downloader/sync.d.ts.map +0 -1
  417. package/dist/cjs/downloader/sync.js +0 -317
  418. package/dist/cjs/downloader/sync.js.map +0 -1
  419. package/dist/cjs/endpoints/creator-get.d.ts +0 -7
  420. package/dist/cjs/endpoints/creator-get.d.ts.map +0 -1
  421. package/dist/cjs/endpoints/creator-get.js +0 -5
  422. package/dist/cjs/endpoints/creator-get.js.map +0 -1
  423. package/dist/cjs/endpoints/creator-list-following.d.ts +0 -4
  424. package/dist/cjs/endpoints/creator-list-following.d.ts.map +0 -1
  425. package/dist/cjs/endpoints/creator-list-following.js +0 -5
  426. package/dist/cjs/endpoints/creator-list-following.js.map +0 -1
  427. package/dist/cjs/endpoints/fanbox-envelope.d.ts.map +0 -1
  428. package/dist/cjs/endpoints/fanbox-envelope.js.map +0 -1
  429. package/dist/cjs/endpoints/models/creator.d.ts.map +0 -1
  430. package/dist/cjs/endpoints/models/creator.js.map +0 -1
  431. package/dist/cjs/endpoints/models/plan.d.ts.map +0 -1
  432. package/dist/cjs/endpoints/models/post.d.ts.map +0 -1
  433. package/dist/cjs/endpoints/models/user.d.ts.map +0 -1
  434. package/dist/cjs/endpoints/plan-list-creator.d.ts +0 -7
  435. package/dist/cjs/endpoints/plan-list-creator.d.ts.map +0 -1
  436. package/dist/cjs/endpoints/plan-list-creator.js +0 -5
  437. package/dist/cjs/endpoints/plan-list-creator.js.map +0 -1
  438. package/dist/cjs/endpoints/plan-list-supporting.d.ts +0 -4
  439. package/dist/cjs/endpoints/plan-list-supporting.d.ts.map +0 -1
  440. package/dist/cjs/endpoints/plan-list-supporting.js +0 -5
  441. package/dist/cjs/endpoints/plan-list-supporting.js.map +0 -1
  442. package/dist/cjs/endpoints/post-info.d.ts +0 -7
  443. package/dist/cjs/endpoints/post-info.d.ts.map +0 -1
  444. package/dist/cjs/endpoints/post-info.js +0 -5
  445. package/dist/cjs/endpoints/post-info.js.map +0 -1
  446. package/dist/cjs/endpoints/post-list-creator.d.ts +0 -10
  447. package/dist/cjs/endpoints/post-list-creator.d.ts.map +0 -1
  448. package/dist/cjs/endpoints/post-list-creator.js +0 -5
  449. package/dist/cjs/endpoints/post-list-creator.js.map +0 -1
  450. package/dist/cjs/endpoints/post-list-home.d.ts +0 -5
  451. package/dist/cjs/endpoints/post-list-home.d.ts.map +0 -1
  452. package/dist/cjs/endpoints/post-list-home.js +0 -5
  453. package/dist/cjs/endpoints/post-list-home.js.map +0 -1
  454. package/dist/cjs/endpoints/post-list-supporting.d.ts +0 -5
  455. package/dist/cjs/endpoints/post-list-supporting.d.ts.map +0 -1
  456. package/dist/cjs/endpoints/post-list-supporting.js +0 -5
  457. package/dist/cjs/endpoints/post-list-supporting.js.map +0 -1
  458. package/dist/cjs/endpoints/post-paginate-creator.d.ts +0 -8
  459. package/dist/cjs/endpoints/post-paginate-creator.d.ts.map +0 -1
  460. package/dist/cjs/endpoints/post-paginate-creator.js +0 -5
  461. package/dist/cjs/endpoints/post-paginate-creator.js.map +0 -1
  462. package/dist/cjs/fanbox-headers.d.ts.map +0 -1
  463. package/dist/cjs/fanbox-headers.js.map +0 -1
  464. package/dist/cjs/http.d.ts +0 -31
  465. package/dist/cjs/http.d.ts.map +0 -1
  466. package/dist/cjs/http.js +0 -200
  467. package/dist/cjs/http.js.map +0 -1
  468. package/dist/cjs/types.d.ts +0 -16
  469. package/dist/cjs/types.d.ts.map +0 -1
  470. package/dist/esm/client-options.d.ts +0 -8
  471. package/dist/esm/client-options.d.ts.map +0 -1
  472. package/dist/esm/client-options.js +0 -2
  473. package/dist/esm/client-options.js.map +0 -1
  474. package/dist/esm/client.d.ts +0 -31
  475. package/dist/esm/client.d.ts.map +0 -1
  476. package/dist/esm/client.js +0 -102
  477. package/dist/esm/client.js.map +0 -1
  478. package/dist/esm/downloader/asset.d.ts +0 -30
  479. package/dist/esm/downloader/asset.d.ts.map +0 -1
  480. package/dist/esm/downloader/asset.js +0 -91
  481. package/dist/esm/downloader/asset.js.map +0 -1
  482. package/dist/esm/downloader/cli.d.ts +0 -8
  483. package/dist/esm/downloader/cli.d.ts.map +0 -1
  484. package/dist/esm/downloader/cli.js +0 -164
  485. package/dist/esm/downloader/cli.js.map +0 -1
  486. package/dist/esm/downloader/discovery.d.ts +0 -12
  487. package/dist/esm/downloader/discovery.d.ts.map +0 -1
  488. package/dist/esm/downloader/discovery.js +0 -84
  489. package/dist/esm/downloader/discovery.js.map +0 -1
  490. package/dist/esm/downloader/errors.d.ts +0 -5
  491. package/dist/esm/downloader/errors.d.ts.map +0 -1
  492. package/dist/esm/downloader/errors.js +0 -36
  493. package/dist/esm/downloader/errors.js.map +0 -1
  494. package/dist/esm/downloader/logger.d.ts +0 -16
  495. package/dist/esm/downloader/logger.d.ts.map +0 -1
  496. package/dist/esm/downloader/logger.js +0 -47
  497. package/dist/esm/downloader/logger.js.map +0 -1
  498. package/dist/esm/downloader/manifest.d.ts +0 -31
  499. package/dist/esm/downloader/manifest.d.ts.map +0 -1
  500. package/dist/esm/downloader/manifest.js +0 -46
  501. package/dist/esm/downloader/manifest.js.map +0 -1
  502. package/dist/esm/downloader/markdown.d.ts +0 -4
  503. package/dist/esm/downloader/markdown.d.ts.map +0 -1
  504. package/dist/esm/downloader/markdown.js +0 -59
  505. package/dist/esm/downloader/markdown.js.map +0 -1
  506. package/dist/esm/downloader/options.d.ts +0 -24
  507. package/dist/esm/downloader/options.d.ts.map +0 -1
  508. package/dist/esm/downloader/options.js +0 -130
  509. package/dist/esm/downloader/options.js.map +0 -1
  510. package/dist/esm/downloader/path.d.ts +0 -15
  511. package/dist/esm/downloader/path.d.ts.map +0 -1
  512. package/dist/esm/downloader/path.js +0 -69
  513. package/dist/esm/downloader/path.js.map +0 -1
  514. package/dist/esm/downloader/resolver.d.ts +0 -16
  515. package/dist/esm/downloader/resolver.d.ts.map +0 -1
  516. package/dist/esm/downloader/resolver.js +0 -18
  517. package/dist/esm/downloader/resolver.js.map +0 -1
  518. package/dist/esm/downloader/scheduler.d.ts +0 -19
  519. package/dist/esm/downloader/scheduler.d.ts.map +0 -1
  520. package/dist/esm/downloader/scheduler.js +0 -120
  521. package/dist/esm/downloader/scheduler.js.map +0 -1
  522. package/dist/esm/downloader/sync.d.ts +0 -21
  523. package/dist/esm/downloader/sync.d.ts.map +0 -1
  524. package/dist/esm/downloader/sync.js +0 -311
  525. package/dist/esm/downloader/sync.js.map +0 -1
  526. package/dist/esm/endpoints/creator-get.d.ts +0 -7
  527. package/dist/esm/endpoints/creator-get.d.ts.map +0 -1
  528. package/dist/esm/endpoints/creator-get.js +0 -2
  529. package/dist/esm/endpoints/creator-get.js.map +0 -1
  530. package/dist/esm/endpoints/creator-list-following.d.ts +0 -4
  531. package/dist/esm/endpoints/creator-list-following.d.ts.map +0 -1
  532. package/dist/esm/endpoints/creator-list-following.js +0 -2
  533. package/dist/esm/endpoints/creator-list-following.js.map +0 -1
  534. package/dist/esm/endpoints/fanbox-envelope.d.ts.map +0 -1
  535. package/dist/esm/endpoints/fanbox-envelope.js.map +0 -1
  536. package/dist/esm/endpoints/models/creator.d.ts.map +0 -1
  537. package/dist/esm/endpoints/models/creator.js.map +0 -1
  538. package/dist/esm/endpoints/models/plan.d.ts.map +0 -1
  539. package/dist/esm/endpoints/models/post.d.ts.map +0 -1
  540. package/dist/esm/endpoints/models/user.d.ts.map +0 -1
  541. package/dist/esm/endpoints/plan-list-creator.d.ts +0 -7
  542. package/dist/esm/endpoints/plan-list-creator.d.ts.map +0 -1
  543. package/dist/esm/endpoints/plan-list-creator.js +0 -2
  544. package/dist/esm/endpoints/plan-list-creator.js.map +0 -1
  545. package/dist/esm/endpoints/plan-list-supporting.d.ts +0 -4
  546. package/dist/esm/endpoints/plan-list-supporting.d.ts.map +0 -1
  547. package/dist/esm/endpoints/plan-list-supporting.js +0 -2
  548. package/dist/esm/endpoints/plan-list-supporting.js.map +0 -1
  549. package/dist/esm/endpoints/post-info.d.ts +0 -7
  550. package/dist/esm/endpoints/post-info.d.ts.map +0 -1
  551. package/dist/esm/endpoints/post-info.js +0 -2
  552. package/dist/esm/endpoints/post-info.js.map +0 -1
  553. package/dist/esm/endpoints/post-list-creator.d.ts +0 -10
  554. package/dist/esm/endpoints/post-list-creator.d.ts.map +0 -1
  555. package/dist/esm/endpoints/post-list-creator.js +0 -2
  556. package/dist/esm/endpoints/post-list-creator.js.map +0 -1
  557. package/dist/esm/endpoints/post-list-home.d.ts +0 -5
  558. package/dist/esm/endpoints/post-list-home.d.ts.map +0 -1
  559. package/dist/esm/endpoints/post-list-home.js +0 -2
  560. package/dist/esm/endpoints/post-list-home.js.map +0 -1
  561. package/dist/esm/endpoints/post-list-supporting.d.ts +0 -5
  562. package/dist/esm/endpoints/post-list-supporting.d.ts.map +0 -1
  563. package/dist/esm/endpoints/post-list-supporting.js +0 -2
  564. package/dist/esm/endpoints/post-list-supporting.js.map +0 -1
  565. package/dist/esm/endpoints/post-paginate-creator.d.ts +0 -8
  566. package/dist/esm/endpoints/post-paginate-creator.d.ts.map +0 -1
  567. package/dist/esm/endpoints/post-paginate-creator.js +0 -2
  568. package/dist/esm/endpoints/post-paginate-creator.js.map +0 -1
  569. package/dist/esm/fanbox-headers.d.ts.map +0 -1
  570. package/dist/esm/fanbox-headers.js.map +0 -1
  571. package/dist/esm/http.d.ts +0 -31
  572. package/dist/esm/http.d.ts.map +0 -1
  573. package/dist/esm/http.js +0 -195
  574. package/dist/esm/http.js.map +0 -1
  575. package/dist/esm/types.d.ts +0 -16
  576. package/dist/esm/types.d.ts.map +0 -1
  577. /package/dist/cjs/{endpoints → client}/fanbox-envelope.d.ts +0 -0
  578. /package/dist/cjs/{endpoints → client}/fanbox-envelope.js +0 -0
  579. /package/dist/cjs/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
  580. /package/dist/cjs/{endpoints → client}/models/creator.d.ts +0 -0
  581. /package/dist/cjs/{endpoints → client}/models/creator.js +0 -0
  582. /package/dist/cjs/{endpoints → client}/models/plan.d.ts +0 -0
  583. /package/dist/cjs/{endpoints → client}/models/plan.js +0 -0
  584. /package/dist/cjs/{endpoints → client}/models/post.js +0 -0
  585. /package/dist/cjs/{endpoints → client}/models/user.d.ts +0 -0
  586. /package/dist/cjs/{endpoints → client}/models/user.js +0 -0
  587. /package/dist/cjs/{types.js → client/types.js} +0 -0
  588. /package/dist/esm/{endpoints → client}/fanbox-envelope.d.ts +0 -0
  589. /package/dist/esm/{endpoints → client}/fanbox-envelope.js +0 -0
  590. /package/dist/esm/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
  591. /package/dist/esm/{endpoints → client}/models/creator.d.ts +0 -0
  592. /package/dist/esm/{endpoints → client}/models/creator.js +0 -0
  593. /package/dist/esm/{endpoints → client}/models/plan.d.ts +0 -0
  594. /package/dist/esm/{endpoints → client}/models/plan.js +0 -0
  595. /package/dist/esm/{endpoints → client}/models/post.js +0 -0
  596. /package/dist/esm/{endpoints → client}/models/user.d.ts +0 -0
  597. /package/dist/esm/{endpoints → client}/models/user.js +0 -0
  598. /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,2 @@
1
+ export declare function isNotFoundError(error: unknown): boolean;
2
+ //# sourceMappingURL=filesystem.d.ts.map
@@ -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,7 @@
1
+ export function isNotFoundError(error) {
2
+ return isNodeError(error) && error.code === "ENOENT";
3
+ }
4
+ function isNodeError(error) {
5
+ return error instanceof Error && "code" in error;
6
+ }
7
+ //# sourceMappingURL=filesystem.js.map
@@ -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
- #!/usr/bin/env node
2
- export {};
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
- #!/usr/bin/env node
2
- import { runCli } from "./cli.js";
3
- void runCli(process.argv.slice(2)).then((exitCode) => {
4
- process.exitCode = exitCode;
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":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;IACnD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC,CAAC"}
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 `![${altText ?? relativePath}](${relativePath})`;
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,4 @@
1
+ import type { ArticlePost } from "../../client/types.js";
2
+ import type { Content } from "./content.js";
3
+ export declare function formatArticleContents(post: ArticlePost): Content[];
4
+ //# sourceMappingURL=article.d.ts.map
@@ -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"}