@moontaiworks/fanbox-dl 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) 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 +111 -101
  5. package/dist/bundle/index.d.ts +111 -101
  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 +82 -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 -1
  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 +19 -0
  86. package/dist/cjs/downloader/asset/download.d.ts.map +1 -0
  87. package/dist/cjs/downloader/asset/download.js +58 -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/{resolver.d.ts → cli/resolver.d.ts} +7 -1
  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 +56 -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 +126 -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 +15 -0
  174. package/dist/cjs/transport/http2.d.ts.map +1 -0
  175. package/dist/cjs/transport/http2.js +94 -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 +77 -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 -1
  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 +19 -0
  263. package/dist/esm/downloader/asset/download.d.ts.map +1 -0
  264. package/dist/esm/downloader/asset/download.js +52 -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/{resolver.d.ts → cli/resolver.d.ts} +7 -1
  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 +55 -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 +123 -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 +15 -0
  351. package/dist/esm/transport/http2.d.ts.map +1 -0
  352. package/dist/esm/transport/http2.js +89 -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.map +0 -1
  408. package/dist/cjs/downloader/resolver.js +0 -22
  409. package/dist/cjs/downloader/resolver.js.map +0 -1
  410. package/dist/cjs/downloader/scheduler.d.ts +0 -19
  411. package/dist/cjs/downloader/scheduler.d.ts.map +0 -1
  412. package/dist/cjs/downloader/scheduler.js +0 -124
  413. package/dist/cjs/downloader/scheduler.js.map +0 -1
  414. package/dist/cjs/downloader/sync.d.ts +0 -21
  415. package/dist/cjs/downloader/sync.d.ts.map +0 -1
  416. package/dist/cjs/downloader/sync.js +0 -317
  417. package/dist/cjs/downloader/sync.js.map +0 -1
  418. package/dist/cjs/endpoints/creator-get.d.ts +0 -7
  419. package/dist/cjs/endpoints/creator-get.d.ts.map +0 -1
  420. package/dist/cjs/endpoints/creator-get.js +0 -5
  421. package/dist/cjs/endpoints/creator-get.js.map +0 -1
  422. package/dist/cjs/endpoints/creator-list-following.d.ts +0 -6
  423. package/dist/cjs/endpoints/creator-list-following.d.ts.map +0 -1
  424. package/dist/cjs/endpoints/creator-list-following.js +0 -5
  425. package/dist/cjs/endpoints/creator-list-following.js.map +0 -1
  426. package/dist/cjs/endpoints/fanbox-envelope.d.ts.map +0 -1
  427. package/dist/cjs/endpoints/fanbox-envelope.js.map +0 -1
  428. package/dist/cjs/endpoints/models/creator.d.ts.map +0 -1
  429. package/dist/cjs/endpoints/models/creator.js.map +0 -1
  430. package/dist/cjs/endpoints/models/plan.d.ts.map +0 -1
  431. package/dist/cjs/endpoints/models/post.d.ts.map +0 -1
  432. package/dist/cjs/endpoints/models/user.d.ts.map +0 -1
  433. package/dist/cjs/endpoints/plan-list-creator.d.ts +0 -7
  434. package/dist/cjs/endpoints/plan-list-creator.d.ts.map +0 -1
  435. package/dist/cjs/endpoints/plan-list-creator.js +0 -5
  436. package/dist/cjs/endpoints/plan-list-creator.js.map +0 -1
  437. package/dist/cjs/endpoints/plan-list-supporting.d.ts +0 -4
  438. package/dist/cjs/endpoints/plan-list-supporting.d.ts.map +0 -1
  439. package/dist/cjs/endpoints/plan-list-supporting.js +0 -5
  440. package/dist/cjs/endpoints/plan-list-supporting.js.map +0 -1
  441. package/dist/cjs/endpoints/post-info.d.ts +0 -7
  442. package/dist/cjs/endpoints/post-info.d.ts.map +0 -1
  443. package/dist/cjs/endpoints/post-info.js +0 -5
  444. package/dist/cjs/endpoints/post-info.js.map +0 -1
  445. package/dist/cjs/endpoints/post-list-creator.d.ts +0 -10
  446. package/dist/cjs/endpoints/post-list-creator.d.ts.map +0 -1
  447. package/dist/cjs/endpoints/post-list-creator.js +0 -5
  448. package/dist/cjs/endpoints/post-list-creator.js.map +0 -1
  449. package/dist/cjs/endpoints/post-list-home.d.ts +0 -5
  450. package/dist/cjs/endpoints/post-list-home.d.ts.map +0 -1
  451. package/dist/cjs/endpoints/post-list-home.js +0 -5
  452. package/dist/cjs/endpoints/post-list-home.js.map +0 -1
  453. package/dist/cjs/endpoints/post-list-supporting.d.ts +0 -5
  454. package/dist/cjs/endpoints/post-list-supporting.d.ts.map +0 -1
  455. package/dist/cjs/endpoints/post-list-supporting.js +0 -5
  456. package/dist/cjs/endpoints/post-list-supporting.js.map +0 -1
  457. package/dist/cjs/endpoints/post-paginate-creator.d.ts +0 -8
  458. package/dist/cjs/endpoints/post-paginate-creator.d.ts.map +0 -1
  459. package/dist/cjs/endpoints/post-paginate-creator.js +0 -5
  460. package/dist/cjs/endpoints/post-paginate-creator.js.map +0 -1
  461. package/dist/cjs/fanbox-headers.d.ts.map +0 -1
  462. package/dist/cjs/fanbox-headers.js.map +0 -1
  463. package/dist/cjs/http.d.ts +0 -31
  464. package/dist/cjs/http.d.ts.map +0 -1
  465. package/dist/cjs/http.js +0 -200
  466. package/dist/cjs/http.js.map +0 -1
  467. package/dist/cjs/types.d.ts +0 -16
  468. package/dist/cjs/types.d.ts.map +0 -1
  469. package/dist/esm/client-options.d.ts +0 -8
  470. package/dist/esm/client-options.d.ts.map +0 -1
  471. package/dist/esm/client-options.js +0 -2
  472. package/dist/esm/client-options.js.map +0 -1
  473. package/dist/esm/client.d.ts +0 -31
  474. package/dist/esm/client.d.ts.map +0 -1
  475. package/dist/esm/client.js +0 -102
  476. package/dist/esm/client.js.map +0 -1
  477. package/dist/esm/downloader/asset.d.ts +0 -30
  478. package/dist/esm/downloader/asset.d.ts.map +0 -1
  479. package/dist/esm/downloader/asset.js +0 -91
  480. package/dist/esm/downloader/asset.js.map +0 -1
  481. package/dist/esm/downloader/cli.d.ts +0 -8
  482. package/dist/esm/downloader/cli.d.ts.map +0 -1
  483. package/dist/esm/downloader/cli.js +0 -164
  484. package/dist/esm/downloader/cli.js.map +0 -1
  485. package/dist/esm/downloader/discovery.d.ts +0 -12
  486. package/dist/esm/downloader/discovery.d.ts.map +0 -1
  487. package/dist/esm/downloader/discovery.js +0 -84
  488. package/dist/esm/downloader/discovery.js.map +0 -1
  489. package/dist/esm/downloader/errors.d.ts +0 -5
  490. package/dist/esm/downloader/errors.d.ts.map +0 -1
  491. package/dist/esm/downloader/errors.js +0 -36
  492. package/dist/esm/downloader/errors.js.map +0 -1
  493. package/dist/esm/downloader/logger.d.ts +0 -16
  494. package/dist/esm/downloader/logger.d.ts.map +0 -1
  495. package/dist/esm/downloader/logger.js +0 -47
  496. package/dist/esm/downloader/logger.js.map +0 -1
  497. package/dist/esm/downloader/manifest.d.ts +0 -31
  498. package/dist/esm/downloader/manifest.d.ts.map +0 -1
  499. package/dist/esm/downloader/manifest.js +0 -46
  500. package/dist/esm/downloader/manifest.js.map +0 -1
  501. package/dist/esm/downloader/markdown.d.ts +0 -4
  502. package/dist/esm/downloader/markdown.d.ts.map +0 -1
  503. package/dist/esm/downloader/markdown.js +0 -59
  504. package/dist/esm/downloader/markdown.js.map +0 -1
  505. package/dist/esm/downloader/options.d.ts +0 -24
  506. package/dist/esm/downloader/options.d.ts.map +0 -1
  507. package/dist/esm/downloader/options.js +0 -130
  508. package/dist/esm/downloader/options.js.map +0 -1
  509. package/dist/esm/downloader/path.d.ts +0 -15
  510. package/dist/esm/downloader/path.d.ts.map +0 -1
  511. package/dist/esm/downloader/path.js +0 -69
  512. package/dist/esm/downloader/path.js.map +0 -1
  513. package/dist/esm/downloader/resolver.d.ts.map +0 -1
  514. package/dist/esm/downloader/resolver.js +0 -19
  515. package/dist/esm/downloader/resolver.js.map +0 -1
  516. package/dist/esm/downloader/scheduler.d.ts +0 -19
  517. package/dist/esm/downloader/scheduler.d.ts.map +0 -1
  518. package/dist/esm/downloader/scheduler.js +0 -120
  519. package/dist/esm/downloader/scheduler.js.map +0 -1
  520. package/dist/esm/downloader/sync.d.ts +0 -21
  521. package/dist/esm/downloader/sync.d.ts.map +0 -1
  522. package/dist/esm/downloader/sync.js +0 -311
  523. package/dist/esm/downloader/sync.js.map +0 -1
  524. package/dist/esm/endpoints/creator-get.d.ts +0 -7
  525. package/dist/esm/endpoints/creator-get.d.ts.map +0 -1
  526. package/dist/esm/endpoints/creator-get.js +0 -2
  527. package/dist/esm/endpoints/creator-get.js.map +0 -1
  528. package/dist/esm/endpoints/creator-list-following.d.ts +0 -6
  529. package/dist/esm/endpoints/creator-list-following.d.ts.map +0 -1
  530. package/dist/esm/endpoints/creator-list-following.js +0 -2
  531. package/dist/esm/endpoints/creator-list-following.js.map +0 -1
  532. package/dist/esm/endpoints/fanbox-envelope.d.ts.map +0 -1
  533. package/dist/esm/endpoints/fanbox-envelope.js.map +0 -1
  534. package/dist/esm/endpoints/models/creator.d.ts.map +0 -1
  535. package/dist/esm/endpoints/models/creator.js.map +0 -1
  536. package/dist/esm/endpoints/models/plan.d.ts.map +0 -1
  537. package/dist/esm/endpoints/models/post.d.ts.map +0 -1
  538. package/dist/esm/endpoints/models/user.d.ts.map +0 -1
  539. package/dist/esm/endpoints/plan-list-creator.d.ts +0 -7
  540. package/dist/esm/endpoints/plan-list-creator.d.ts.map +0 -1
  541. package/dist/esm/endpoints/plan-list-creator.js +0 -2
  542. package/dist/esm/endpoints/plan-list-creator.js.map +0 -1
  543. package/dist/esm/endpoints/plan-list-supporting.d.ts +0 -4
  544. package/dist/esm/endpoints/plan-list-supporting.d.ts.map +0 -1
  545. package/dist/esm/endpoints/plan-list-supporting.js +0 -2
  546. package/dist/esm/endpoints/plan-list-supporting.js.map +0 -1
  547. package/dist/esm/endpoints/post-info.d.ts +0 -7
  548. package/dist/esm/endpoints/post-info.d.ts.map +0 -1
  549. package/dist/esm/endpoints/post-info.js +0 -2
  550. package/dist/esm/endpoints/post-info.js.map +0 -1
  551. package/dist/esm/endpoints/post-list-creator.d.ts +0 -10
  552. package/dist/esm/endpoints/post-list-creator.d.ts.map +0 -1
  553. package/dist/esm/endpoints/post-list-creator.js +0 -2
  554. package/dist/esm/endpoints/post-list-creator.js.map +0 -1
  555. package/dist/esm/endpoints/post-list-home.d.ts +0 -5
  556. package/dist/esm/endpoints/post-list-home.d.ts.map +0 -1
  557. package/dist/esm/endpoints/post-list-home.js +0 -2
  558. package/dist/esm/endpoints/post-list-home.js.map +0 -1
  559. package/dist/esm/endpoints/post-list-supporting.d.ts +0 -5
  560. package/dist/esm/endpoints/post-list-supporting.d.ts.map +0 -1
  561. package/dist/esm/endpoints/post-list-supporting.js +0 -2
  562. package/dist/esm/endpoints/post-list-supporting.js.map +0 -1
  563. package/dist/esm/endpoints/post-paginate-creator.d.ts +0 -8
  564. package/dist/esm/endpoints/post-paginate-creator.d.ts.map +0 -1
  565. package/dist/esm/endpoints/post-paginate-creator.js +0 -2
  566. package/dist/esm/endpoints/post-paginate-creator.js.map +0 -1
  567. package/dist/esm/fanbox-headers.d.ts.map +0 -1
  568. package/dist/esm/fanbox-headers.js.map +0 -1
  569. package/dist/esm/http.d.ts +0 -31
  570. package/dist/esm/http.d.ts.map +0 -1
  571. package/dist/esm/http.js +0 -195
  572. package/dist/esm/http.js.map +0 -1
  573. package/dist/esm/types.d.ts +0 -16
  574. package/dist/esm/types.d.ts.map +0 -1
  575. /package/dist/cjs/{endpoints → client}/fanbox-envelope.d.ts +0 -0
  576. /package/dist/cjs/{endpoints → client}/fanbox-envelope.js +0 -0
  577. /package/dist/cjs/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
  578. /package/dist/cjs/{endpoints → client}/models/creator.d.ts +0 -0
  579. /package/dist/cjs/{endpoints → client}/models/creator.js +0 -0
  580. /package/dist/cjs/{endpoints → client}/models/plan.d.ts +0 -0
  581. /package/dist/cjs/{endpoints → client}/models/plan.js +0 -0
  582. /package/dist/cjs/{endpoints → client}/models/post.js +0 -0
  583. /package/dist/cjs/{endpoints → client}/models/user.d.ts +0 -0
  584. /package/dist/cjs/{endpoints → client}/models/user.js +0 -0
  585. /package/dist/cjs/{types.js → client/types.js} +0 -0
  586. /package/dist/esm/{endpoints → client}/fanbox-envelope.d.ts +0 -0
  587. /package/dist/esm/{endpoints → client}/fanbox-envelope.js +0 -0
  588. /package/dist/esm/{fanbox-headers.d.ts → client/fanbox-headers.d.ts} +0 -0
  589. /package/dist/esm/{endpoints → client}/models/creator.d.ts +0 -0
  590. /package/dist/esm/{endpoints → client}/models/creator.js +0 -0
  591. /package/dist/esm/{endpoints → client}/models/plan.d.ts +0 -0
  592. /package/dist/esm/{endpoints → client}/models/plan.js +0 -0
  593. /package/dist/esm/{endpoints → client}/models/post.js +0 -0
  594. /package/dist/esm/{endpoints → client}/models/user.d.ts +0 -0
  595. /package/dist/esm/{endpoints → client}/models/user.js +0 -0
  596. /package/dist/esm/{types.js → client/types.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/downloader/cli/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IACxE,mBAAmB,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,qBAAqB,EACzC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CAqCnB"}
@@ -0,0 +1,25 @@
1
+ export async function resolveCreatorIds({ client, logger }, options) {
2
+ logger.debug({ options }, "Resolving creator IDs");
3
+ const creatorIds = new Set(options.creatorIds);
4
+ if (options.following) {
5
+ const { creators } = await client.listFollowingCreators();
6
+ logger.trace({ creators: creators.map((c) => c.creatorId) }, `Retrieved ${creators.length} following creators`);
7
+ for (const creator of creators) {
8
+ creatorIds.add(creator.creatorId);
9
+ }
10
+ }
11
+ if (options.supporting) {
12
+ const plans = await client.listSupportingPlans();
13
+ logger.trace({ plans: plans.map((p) => p.creatorId) }, `Retrieved ${plans.length} supporting plans`);
14
+ for (const plan of plans) {
15
+ creatorIds.add(plan.creatorId);
16
+ }
17
+ }
18
+ for (const ignored of options.ignoreCreatorIds) {
19
+ creatorIds.delete(ignored);
20
+ }
21
+ const result = [...creatorIds];
22
+ logger.debug({ creatorIds: result }, `Resolved total ${result.length} creator IDs`);
23
+ return result;
24
+ }
25
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/downloader/cli/resolver.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAE,MAAM,EAAE,MAAM,EAAyB,EACzC,OAAiC;IAEjC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC1D,MAAM,CAAC,KAAK,CACV,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAC9C,aAAa,QAAQ,CAAC,MAAM,qBAAqB,CAClD,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACjD,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EACxC,aAAa,KAAK,CAAC,MAAM,mBAAmB,CAC7C,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC/B,MAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,MAAM,EAAE,EACtB,kBAAkB,MAAM,CAAC,MAAM,cAAc,CAC9C,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Logger } from "pino";
2
+ import type { FanboxClient } from "../../client/client.js";
3
+ import type { PostSummary } from "../../client/types.js";
4
+ interface DiscoverCreatorPostsDependencies {
5
+ client: FanboxClient;
6
+ logger: Logger;
7
+ }
8
+ interface DiscoverCreatorPostsOptions {
9
+ creatorId: string;
10
+ firstId?: string;
11
+ limit?: number;
12
+ }
13
+ export declare function discoverCreatorPosts({ client, logger }: DiscoverCreatorPostsDependencies, { creatorId, firstId, limit }: DiscoverCreatorPostsOptions): Promise<PostSummary[]>;
14
+ export {};
15
+ //# sourceMappingURL=discover-posts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover-posts.d.ts","sourceRoot":"","sources":["../../../../src/downloader/creator/discover-posts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAEV,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAE/B,UAAU,gCAAgC;IACxC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,2BAA2B;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,gCAAgC,EACpD,EAAE,SAAS,EAAE,OAAO,EAAE,KAAW,EAAE,EAAE,2BAA2B,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC,CAyBxB"}
@@ -0,0 +1,17 @@
1
+ export async function discoverCreatorPosts({ client, logger }, { creatorId, firstId, limit = 300 }) {
2
+ logger.debug(`Discovering max ${limit} posts from ${firstId ?? "start"} for creator ${creatorId}`);
3
+ const listCreatorPostsOptions = {
4
+ creatorId,
5
+ firstId,
6
+ limit,
7
+ sort: "newest",
8
+ };
9
+ const posts = await client.listCreatorPosts(listCreatorPostsOptions);
10
+ logger.debug(`Discovered ${posts.length} posts for creator ${creatorId}`);
11
+ if (posts.length < limit)
12
+ return posts;
13
+ const last = posts.at(-1);
14
+ const remains = await discoverCreatorPosts({ client, logger }, { creatorId, firstId: last.id, limit });
15
+ return [...posts, ...remains];
16
+ }
17
+ //# sourceMappingURL=discover-posts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover-posts.js","sourceRoot":"","sources":["../../../../src/downloader/creator/discover-posts.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,EAAE,MAAM,EAAE,MAAM,EAAoC,EACpD,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,GAAG,GAAG,EAA+B;IAEhE,MAAM,CAAC,KAAK,CACV,mBAAmB,KAAK,eAAe,OAAO,IAAI,OAAO,gBAAgB,SAAS,EAAE,CACrF,CAAC;IACF,MAAM,uBAAuB,GAAG;QAC9B,SAAS;QACT,OAAO;QACP,KAAK;QACL,IAAI,EAAE,QAAQ;KACkB,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,MAAM,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC;IAIvC,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IAG3B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CACxC,EAAE,MAAM,EAAE,MAAM,EAAE,EAClB,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CACvC,CAAC;IAEF,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { Logger } from "pino";
2
+ import type { FanboxClient } from "../../client/client.js";
3
+ import type { HttpTransport } from "../../transport/http2.js";
4
+ import type { PathManager } from "../fs/path-manager.js";
5
+ import type { CreatorManifest } from "../manifest/creator.js";
6
+ interface SyncCreatorDeps {
7
+ client: FanboxClient;
8
+ headers?: Record<string, string>;
9
+ logger: Logger;
10
+ manifest: CreatorManifest;
11
+ pathManager: PathManager;
12
+ transport: HttpTransport;
13
+ }
14
+ export declare function syncCreator({ client, headers, logger, manifest, pathManager, transport, }: SyncCreatorDeps): Promise<void>;
15
+ export {};
16
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../src/downloader/creator/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,wBAAwB,CAAC;AAIhF,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,wBAAsB,WAAW,CAAC,EAChC,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,EACX,SAAS,GACV,EAAE,eAAe,iBAyCjB"}
@@ -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,oBAuDzB"}
@@ -1,6 +1,56 @@
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
+ const creatorPathManager = pathManager.dir(creatorId);
36
+ await syncCreator({
37
+ client,
38
+ headers,
39
+ logger,
40
+ manifest: creatorManifest,
41
+ pathManager: creatorPathManager,
42
+ transport,
43
+ }).catch(() => {
44
+ logger.error(`Error occurred while syncing creator ${creatorId}, skipping.`);
45
+ failed = true;
46
+ });
47
+ const success = !hasFailures(creatorManifest);
48
+ failed || (failed = !success);
49
+ await creatorManifest.save();
50
+ }
51
+ return failed;
52
+ }
53
+ function hasFailures(manifest) {
54
+ return Object.values(manifest.posts).some((post) => post?.status === "failed");
55
+ }
6
56
  //# 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;QACrE,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEtD,MAAM,WAAW,CAAC;YAChB,MAAM;YACN,OAAO;YACP,MAAM;YACN,QAAQ,EAAE,eAAe;YACzB,WAAW,EAAE,kBAAkB;YAC/B,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"}