@moontaiworks/fanbox-dl 1.0.1 → 1.1.0

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