@mx-space/api-client 1.0.0-beta.2 → 1.0.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 (508) hide show
  1. package/.eslintcache +1 -0
  2. package/__tests__/adaptors/axios.spec.ts +7 -0
  3. package/__tests__/adaptors/ky.spec.ts +9 -0
  4. package/__tests__/adaptors/umi-request.spec.ts +7 -0
  5. package/__tests__/contronllers/aggregate.test.ts +389 -0
  6. package/__tests__/contronllers/category.test.ts +284 -0
  7. package/__tests__/contronllers/comment.test.ts +113 -0
  8. package/__tests__/contronllers/link.test.ts +95 -0
  9. package/__tests__/contronllers/note.test.ts +120 -0
  10. package/__tests__/contronllers/page.test.ts +49 -0
  11. package/__tests__/contronllers/post.test.ts +77 -0
  12. package/__tests__/contronllers/recently.test.ts +49 -0
  13. package/__tests__/contronllers/say.test.ts +106 -0
  14. package/__tests__/contronllers/search.test.ts +81 -0
  15. package/__tests__/contronllers/serverless.test.ts +19 -0
  16. package/__tests__/contronllers/snippet.test.ts +38 -0
  17. package/__tests__/contronllers/topic.test.ts +17 -0
  18. package/__tests__/contronllers/user.test.ts +59 -0
  19. package/__tests__/core/client.test.ts +293 -0
  20. package/__tests__/helpers/adaptor-test.ts +108 -0
  21. package/__tests__/helpers/e2e-mock-server.ts +22 -0
  22. package/__tests__/helpers/global-fetch.ts +39 -0
  23. package/__tests__/helpers/instance.ts +11 -0
  24. package/__tests__/helpers/response.ts +76 -0
  25. package/__tests__/mock/algolia.json +446 -0
  26. package/__tests__/utils/auto-bind.spec.ts +27 -0
  27. package/__tests__/utils/camelcase-keys.spec.ts +86 -0
  28. package/__tests__/utils/index.test.ts +33 -0
  29. package/__tests__/utils/path.spec.ts +8 -0
  30. package/adaptors/axios.ts +44 -0
  31. package/adaptors/ky.ts +76 -0
  32. package/adaptors/umi-request.ts +38 -0
  33. package/controllers/aggregate.ts +6 -6
  34. package/controllers/base.ts +3 -3
  35. package/controllers/category.ts +7 -7
  36. package/controllers/comment.ts +8 -8
  37. package/controllers/link.ts +3 -3
  38. package/controllers/note.ts +15 -11
  39. package/controllers/page.ts +7 -7
  40. package/controllers/post.ts +9 -9
  41. package/controllers/project.ts +3 -3
  42. package/controllers/recently.ts +5 -5
  43. package/controllers/say.ts +5 -5
  44. package/controllers/search.ts +8 -8
  45. package/controllers/severless.ts +4 -4
  46. package/controllers/snippet.ts +4 -4
  47. package/controllers/topic.ts +5 -5
  48. package/controllers/user.ts +5 -5
  49. package/core/attach-request.ts +43 -0
  50. package/core/client.ts +252 -0
  51. package/core/error.ts +10 -0
  52. package/core/index.ts +2 -0
  53. package/coverage/lcov-report/__tests__/helpers/adaptor-test.ts.html +405 -0
  54. package/coverage/lcov-report/__tests__/helpers/e2e-mock-server.ts.html +150 -0
  55. package/coverage/lcov-report/__tests__/helpers/index.html +236 -0
  56. package/coverage/lcov-report/__tests__/helpers/instance.ts.html +120 -0
  57. package/coverage/lcov-report/__tests__/helpers/response.ts.html +231 -0
  58. package/dist/adaptors/axios.cjs.map +1 -1
  59. package/dist/adaptors/axios.d.ts +2 -2
  60. package/dist/adaptors/axios.js.map +1 -1
  61. package/dist/adaptors/axios.min.cjs.map +1 -1
  62. package/dist/adaptors/axios.min.js.map +1 -1
  63. package/dist/adaptors/axios.umd.js.map +1 -1
  64. package/dist/adaptors/axios.umd.min.js.map +1 -1
  65. package/dist/adaptors/ky.cjs.map +1 -1
  66. package/dist/adaptors/ky.d.ts +1 -1
  67. package/dist/adaptors/ky.js.map +1 -1
  68. package/dist/adaptors/ky.min.cjs +1 -1
  69. package/dist/adaptors/ky.min.cjs.map +1 -1
  70. package/dist/adaptors/ky.min.js +1 -1
  71. package/dist/adaptors/ky.min.js.map +1 -1
  72. package/dist/adaptors/ky.umd.js.map +1 -1
  73. package/dist/adaptors/ky.umd.min.js +1 -1
  74. package/dist/adaptors/ky.umd.min.js.map +1 -1
  75. package/dist/adaptors/umi-request.cjs.map +1 -1
  76. package/dist/adaptors/umi-request.d.ts +2 -2
  77. package/dist/adaptors/umi-request.js.map +1 -1
  78. package/dist/adaptors/umi-request.min.cjs.map +1 -1
  79. package/dist/adaptors/umi-request.min.js.map +1 -1
  80. package/dist/adaptors/umi-request.umd.js.map +1 -1
  81. package/dist/adaptors/umi-request.umd.min.js.map +1 -1
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.min.cjs.map +1 -1
  85. package/dist/index.min.js.map +1 -1
  86. package/dist/index.umd.js.map +1 -1
  87. package/dist/index.umd.min.js.map +1 -1
  88. package/index.ts +1 -0
  89. package/interfaces/adapter.ts +1 -1
  90. package/interfaces/client.ts +2 -2
  91. package/interfaces/request.ts +1 -1
  92. package/models/aggregate.ts +7 -7
  93. package/models/base.ts +4 -0
  94. package/models/category.ts +2 -2
  95. package/models/comment.ts +2 -2
  96. package/models/link.ts +1 -1
  97. package/models/note.ts +8 -2
  98. package/models/page.ts +1 -1
  99. package/models/post.ts +2 -2
  100. package/models/project.ts +1 -1
  101. package/models/recently.ts +5 -10
  102. package/models/say.ts +1 -1
  103. package/models/snippet.ts +1 -1
  104. package/models/topic.ts +1 -1
  105. package/models/user.ts +1 -1
  106. package/package.json +9 -29
  107. package/rollup.config.js +150 -0
  108. package/utils/auto-bind.ts +48 -0
  109. package/utils/camelcase-keys.ts +26 -0
  110. package/utils/index.ts +53 -0
  111. package/utils/path.ts +6 -0
  112. package/build/index.cjs.js +0 -980
  113. package/build/index.cjs.js.map +0 -1
  114. package/build/index.cjs.min.js +0 -2
  115. package/build/index.cjs.min.js.map +0 -1
  116. package/build/index.esm.min.mjs +0 -2
  117. package/build/index.esm.min.mjs.map +0 -1
  118. package/build/index.esm.mjs +0 -958
  119. package/build/index.esm.mjs.map +0 -1
  120. package/build/index.umd.js +0 -986
  121. package/build/index.umd.js.map +0 -1
  122. package/build/index.umd.min.js +0 -2
  123. package/build/index.umd.min.js.map +0 -1
  124. package/esm/adaptors/axios.d.ts +0 -4
  125. package/esm/adaptors/axios.js +0 -36
  126. package/esm/adaptors/axios.js.map +0 -1
  127. package/esm/adaptors/ky.d.ts +0 -23
  128. package/esm/adaptors/ky.js +0 -61
  129. package/esm/adaptors/ky.js.map +0 -1
  130. package/esm/adaptors/umi-request.d.ts +0 -4
  131. package/esm/adaptors/umi-request.js +0 -30
  132. package/esm/adaptors/umi-request.js.map +0 -1
  133. package/esm/controllers/aggregate.d.ts +0 -64
  134. package/esm/controllers/aggregate.js +0 -42
  135. package/esm/controllers/aggregate.js.map +0 -1
  136. package/esm/controllers/base.d.ts +0 -43
  137. package/esm/controllers/base.js +0 -27
  138. package/esm/controllers/base.js.map +0 -1
  139. package/esm/controllers/category.d.ts +0 -115
  140. package/esm/controllers/category.js +0 -68
  141. package/esm/controllers/category.js.map +0 -1
  142. package/esm/controllers/comment.d.ts +0 -81
  143. package/esm/controllers/comment.js +0 -47
  144. package/esm/controllers/comment.js.map +0 -1
  145. package/esm/controllers/index.d.ts +0 -18
  146. package/esm/controllers/index.js +0 -55
  147. package/esm/controllers/index.js.map +0 -1
  148. package/esm/controllers/link.d.ts +0 -20
  149. package/esm/controllers/link.js +0 -21
  150. package/esm/controllers/link.js.map +0 -1
  151. package/esm/controllers/note.d.ts +0 -103
  152. package/esm/controllers/note.js +0 -68
  153. package/esm/controllers/note.js.map +0 -1
  154. package/esm/controllers/page.d.ts +0 -59
  155. package/esm/controllers/page.js +0 -42
  156. package/esm/controllers/page.js.map +0 -1
  157. package/esm/controllers/post.d.ts +0 -72
  158. package/esm/controllers/post.js +0 -52
  159. package/esm/controllers/post.js.map +0 -1
  160. package/esm/controllers/project.d.ts +0 -15
  161. package/esm/controllers/project.js +0 -12
  162. package/esm/controllers/project.js.map +0 -1
  163. package/esm/controllers/recently.d.ts +0 -61
  164. package/esm/controllers/recently.js +0 -31
  165. package/esm/controllers/recently.js.map +0 -1
  166. package/esm/controllers/say.d.ts +0 -37
  167. package/esm/controllers/say.js +0 -21
  168. package/esm/controllers/say.js.map +0 -1
  169. package/esm/controllers/search.d.ts +0 -247
  170. package/esm/controllers/search.js +0 -28
  171. package/esm/controllers/search.js.map +0 -1
  172. package/esm/controllers/severless.d.ts +0 -24
  173. package/esm/controllers/severless.js +0 -16
  174. package/esm/controllers/severless.js.map +0 -1
  175. package/esm/controllers/snippet.d.ts +0 -24
  176. package/esm/controllers/snippet.js +0 -19
  177. package/esm/controllers/snippet.js.map +0 -1
  178. package/esm/controllers/topic.d.ts +0 -26
  179. package/esm/controllers/topic.js +0 -18
  180. package/esm/controllers/topic.js.map +0 -1
  181. package/esm/controllers/user.d.ts +0 -70
  182. package/esm/controllers/user.js +0 -40
  183. package/esm/controllers/user.js.map +0 -1
  184. package/esm/core/attach-request.d.ts +0 -2
  185. package/esm/core/attach-request.js +0 -36
  186. package/esm/core/attach-request.js.map +0 -1
  187. package/esm/core/client.d.ts +0 -29
  188. package/esm/core/client.js +0 -186
  189. package/esm/core/client.js.map +0 -1
  190. package/esm/core/error.d.ts +0 -6
  191. package/esm/core/error.js +0 -9
  192. package/esm/core/error.js.map +0 -1
  193. package/esm/core/index.d.ts +0 -2
  194. package/esm/core/index.js +0 -3
  195. package/esm/core/index.js.map +0 -1
  196. package/esm/dtos/comment.d.ts +0 -6
  197. package/esm/dtos/comment.js +0 -3
  198. package/esm/dtos/comment.js.map +0 -1
  199. package/esm/index.d.ts +0 -7
  200. package/esm/index.js +0 -7
  201. package/esm/index.js.map +0 -1
  202. package/esm/interfaces/adapter.d.ts +0 -14
  203. package/esm/interfaces/adapter.js +0 -2
  204. package/esm/interfaces/adapter.js.map +0 -1
  205. package/esm/interfaces/client.d.ts +0 -13
  206. package/esm/interfaces/client.js +0 -2
  207. package/esm/interfaces/client.js.map +0 -1
  208. package/esm/interfaces/controller.d.ts +0 -4
  209. package/esm/interfaces/controller.js +0 -2
  210. package/esm/interfaces/controller.js.map +0 -1
  211. package/esm/interfaces/instance.d.ts +0 -7
  212. package/esm/interfaces/instance.js +0 -2
  213. package/esm/interfaces/instance.js.map +0 -1
  214. package/esm/interfaces/options.d.ts +0 -1
  215. package/esm/interfaces/options.js +0 -2
  216. package/esm/interfaces/options.js.map +0 -1
  217. package/esm/interfaces/params.d.ts +0 -4
  218. package/esm/interfaces/params.js +0 -2
  219. package/esm/interfaces/params.js.map +0 -1
  220. package/esm/interfaces/request.d.ts +0 -43
  221. package/esm/interfaces/request.js +0 -2
  222. package/esm/interfaces/request.js.map +0 -1
  223. package/esm/interfaces/types.d.ts +0 -2
  224. package/esm/interfaces/types.js +0 -2
  225. package/esm/interfaces/types.js.map +0 -1
  226. package/esm/models/aggregate.d.ts +0 -53
  227. package/esm/models/aggregate.js +0 -6
  228. package/esm/models/aggregate.js.map +0 -1
  229. package/esm/models/base.d.ts +0 -38
  230. package/esm/models/base.js +0 -2
  231. package/esm/models/base.js.map +0 -1
  232. package/esm/models/category.d.ts +0 -22
  233. package/esm/models/category.js +0 -6
  234. package/esm/models/category.js.map +0 -1
  235. package/esm/models/comment.d.ts +0 -37
  236. package/esm/models/comment.js +0 -13
  237. package/esm/models/comment.js.map +0 -1
  238. package/esm/models/index.d.ts +0 -14
  239. package/esm/models/index.js +0 -15
  240. package/esm/models/index.js.map +0 -1
  241. package/esm/models/link.d.ts +0 -22
  242. package/esm/models/link.js +0 -14
  243. package/esm/models/link.js.map +0 -1
  244. package/esm/models/note.d.ts +0 -33
  245. package/esm/models/note.js +0 -2
  246. package/esm/models/note.js.map +0 -1
  247. package/esm/models/page.d.ts +0 -14
  248. package/esm/models/page.js +0 -7
  249. package/esm/models/page.js.map +0 -1
  250. package/esm/models/post.d.ts +0 -17
  251. package/esm/models/post.js +0 -2
  252. package/esm/models/post.js.map +0 -1
  253. package/esm/models/project.d.ts +0 -11
  254. package/esm/models/project.js +0 -2
  255. package/esm/models/project.js.map +0 -1
  256. package/esm/models/recently.d.ts +0 -26
  257. package/esm/models/recently.js +0 -7
  258. package/esm/models/recently.js.map +0 -1
  259. package/esm/models/say.d.ts +0 -6
  260. package/esm/models/say.js +0 -2
  261. package/esm/models/say.js.map +0 -1
  262. package/esm/models/setting.d.ts +0 -66
  263. package/esm/models/setting.js +0 -2
  264. package/esm/models/setting.js.map +0 -1
  265. package/esm/models/snippet.d.ts +0 -18
  266. package/esm/models/snippet.js +0 -8
  267. package/esm/models/snippet.js.map +0 -1
  268. package/esm/models/topic.d.ts +0 -8
  269. package/esm/models/topic.js +0 -2
  270. package/esm/models/topic.js.map +0 -1
  271. package/esm/models/user.d.ts +0 -21
  272. package/esm/models/user.js +0 -2
  273. package/esm/models/user.js.map +0 -1
  274. package/esm/utils/auto-bind.d.ts +0 -4
  275. package/esm/utils/auto-bind.js +0 -36
  276. package/esm/utils/auto-bind.js.map +0 -1
  277. package/esm/utils/camelcase-keys.d.ts +0 -6
  278. package/esm/utils/camelcase-keys.js +0 -23
  279. package/esm/utils/camelcase-keys.js.map +0 -1
  280. package/esm/utils/index.d.ts +0 -5
  281. package/esm/utils/index.js +0 -43
  282. package/esm/utils/index.js.map +0 -1
  283. package/esm/utils/path.d.ts +0 -1
  284. package/esm/utils/path.js +0 -7
  285. package/esm/utils/path.js.map +0 -1
  286. package/esm/vitest.config.d.ts +0 -2
  287. package/esm/vitest.config.js +0 -12
  288. package/esm/vitest.config.js.map +0 -1
  289. package/lib/adaptors/axios.d.ts +0 -4
  290. package/lib/adaptors/axios.js +0 -42
  291. package/lib/adaptors/axios.js.map +0 -1
  292. package/lib/adaptors/ky.d.ts +0 -23
  293. package/lib/adaptors/ky.js +0 -68
  294. package/lib/adaptors/ky.js.map +0 -1
  295. package/lib/adaptors/umi-request.d.ts +0 -4
  296. package/lib/adaptors/umi-request.js +0 -33
  297. package/lib/adaptors/umi-request.js.map +0 -1
  298. package/lib/controllers/aggregate.d.ts +0 -64
  299. package/lib/controllers/aggregate.js +0 -46
  300. package/lib/controllers/aggregate.js.map +0 -1
  301. package/lib/controllers/base.d.ts +0 -43
  302. package/lib/controllers/base.js +0 -31
  303. package/lib/controllers/base.js.map +0 -1
  304. package/lib/controllers/category.d.ts +0 -115
  305. package/lib/controllers/category.js +0 -72
  306. package/lib/controllers/category.js.map +0 -1
  307. package/lib/controllers/comment.d.ts +0 -81
  308. package/lib/controllers/comment.js +0 -51
  309. package/lib/controllers/comment.js.map +0 -1
  310. package/lib/controllers/index.d.ts +0 -18
  311. package/lib/controllers/index.js +0 -72
  312. package/lib/controllers/index.js.map +0 -1
  313. package/lib/controllers/link.d.ts +0 -20
  314. package/lib/controllers/link.js +0 -25
  315. package/lib/controllers/link.js.map +0 -1
  316. package/lib/controllers/note.d.ts +0 -103
  317. package/lib/controllers/note.js +0 -72
  318. package/lib/controllers/note.js.map +0 -1
  319. package/lib/controllers/page.d.ts +0 -59
  320. package/lib/controllers/page.js +0 -46
  321. package/lib/controllers/page.js.map +0 -1
  322. package/lib/controllers/post.d.ts +0 -72
  323. package/lib/controllers/post.js +0 -56
  324. package/lib/controllers/post.js.map +0 -1
  325. package/lib/controllers/project.d.ts +0 -15
  326. package/lib/controllers/project.js +0 -16
  327. package/lib/controllers/project.js.map +0 -1
  328. package/lib/controllers/recently.d.ts +0 -61
  329. package/lib/controllers/recently.js +0 -35
  330. package/lib/controllers/recently.js.map +0 -1
  331. package/lib/controllers/say.d.ts +0 -37
  332. package/lib/controllers/say.js +0 -25
  333. package/lib/controllers/say.js.map +0 -1
  334. package/lib/controllers/search.d.ts +0 -247
  335. package/lib/controllers/search.js +0 -32
  336. package/lib/controllers/search.js.map +0 -1
  337. package/lib/controllers/severless.d.ts +0 -24
  338. package/lib/controllers/severless.js +0 -20
  339. package/lib/controllers/severless.js.map +0 -1
  340. package/lib/controllers/snippet.d.ts +0 -24
  341. package/lib/controllers/snippet.js +0 -23
  342. package/lib/controllers/snippet.js.map +0 -1
  343. package/lib/controllers/topic.d.ts +0 -26
  344. package/lib/controllers/topic.js +0 -22
  345. package/lib/controllers/topic.js.map +0 -1
  346. package/lib/controllers/user.d.ts +0 -70
  347. package/lib/controllers/user.js +0 -44
  348. package/lib/controllers/user.js.map +0 -1
  349. package/lib/core/attach-request.d.ts +0 -2
  350. package/lib/core/attach-request.js +0 -40
  351. package/lib/core/attach-request.js.map +0 -1
  352. package/lib/core/client.d.ts +0 -29
  353. package/lib/core/client.js +0 -190
  354. package/lib/core/client.js.map +0 -1
  355. package/lib/core/error.d.ts +0 -6
  356. package/lib/core/error.js +0 -13
  357. package/lib/core/error.js.map +0 -1
  358. package/lib/core/index.d.ts +0 -2
  359. package/lib/core/index.js +0 -19
  360. package/lib/core/index.js.map +0 -1
  361. package/lib/dtos/comment.d.ts +0 -6
  362. package/lib/dtos/comment.js +0 -7
  363. package/lib/dtos/comment.js.map +0 -1
  364. package/lib/index.d.ts +0 -7
  365. package/lib/index.js +0 -27
  366. package/lib/index.js.map +0 -1
  367. package/lib/interfaces/adapter.d.ts +0 -14
  368. package/lib/interfaces/adapter.js +0 -3
  369. package/lib/interfaces/adapter.js.map +0 -1
  370. package/lib/interfaces/client.d.ts +0 -13
  371. package/lib/interfaces/client.js +0 -3
  372. package/lib/interfaces/client.js.map +0 -1
  373. package/lib/interfaces/controller.d.ts +0 -4
  374. package/lib/interfaces/controller.js +0 -3
  375. package/lib/interfaces/controller.js.map +0 -1
  376. package/lib/interfaces/instance.d.ts +0 -7
  377. package/lib/interfaces/instance.js +0 -3
  378. package/lib/interfaces/instance.js.map +0 -1
  379. package/lib/interfaces/options.d.ts +0 -1
  380. package/lib/interfaces/options.js +0 -3
  381. package/lib/interfaces/options.js.map +0 -1
  382. package/lib/interfaces/params.d.ts +0 -4
  383. package/lib/interfaces/params.js +0 -3
  384. package/lib/interfaces/params.js.map +0 -1
  385. package/lib/interfaces/request.d.ts +0 -43
  386. package/lib/interfaces/request.js +0 -3
  387. package/lib/interfaces/request.js.map +0 -1
  388. package/lib/interfaces/types.d.ts +0 -2
  389. package/lib/interfaces/types.js +0 -3
  390. package/lib/interfaces/types.js.map +0 -1
  391. package/lib/models/aggregate.d.ts +0 -53
  392. package/lib/models/aggregate.js +0 -9
  393. package/lib/models/aggregate.js.map +0 -1
  394. package/lib/models/base.d.ts +0 -38
  395. package/lib/models/base.js +0 -3
  396. package/lib/models/base.js.map +0 -1
  397. package/lib/models/category.d.ts +0 -22
  398. package/lib/models/category.js +0 -9
  399. package/lib/models/category.js.map +0 -1
  400. package/lib/models/comment.d.ts +0 -37
  401. package/lib/models/comment.js +0 -16
  402. package/lib/models/comment.js.map +0 -1
  403. package/lib/models/index.d.ts +0 -14
  404. package/lib/models/index.js +0 -31
  405. package/lib/models/index.js.map +0 -1
  406. package/lib/models/link.d.ts +0 -22
  407. package/lib/models/link.js +0 -17
  408. package/lib/models/link.js.map +0 -1
  409. package/lib/models/note.d.ts +0 -33
  410. package/lib/models/note.js +0 -3
  411. package/lib/models/note.js.map +0 -1
  412. package/lib/models/page.d.ts +0 -14
  413. package/lib/models/page.js +0 -10
  414. package/lib/models/page.js.map +0 -1
  415. package/lib/models/post.d.ts +0 -17
  416. package/lib/models/post.js +0 -3
  417. package/lib/models/post.js.map +0 -1
  418. package/lib/models/project.d.ts +0 -11
  419. package/lib/models/project.js +0 -3
  420. package/lib/models/project.js.map +0 -1
  421. package/lib/models/recently.d.ts +0 -26
  422. package/lib/models/recently.js +0 -10
  423. package/lib/models/recently.js.map +0 -1
  424. package/lib/models/say.d.ts +0 -6
  425. package/lib/models/say.js +0 -3
  426. package/lib/models/say.js.map +0 -1
  427. package/lib/models/setting.d.ts +0 -66
  428. package/lib/models/setting.js +0 -3
  429. package/lib/models/setting.js.map +0 -1
  430. package/lib/models/snippet.d.ts +0 -18
  431. package/lib/models/snippet.js +0 -11
  432. package/lib/models/snippet.js.map +0 -1
  433. package/lib/models/topic.d.ts +0 -8
  434. package/lib/models/topic.js +0 -3
  435. package/lib/models/topic.js.map +0 -1
  436. package/lib/models/user.d.ts +0 -21
  437. package/lib/models/user.js +0 -3
  438. package/lib/models/user.js.map +0 -1
  439. package/lib/utils/auto-bind.d.ts +0 -4
  440. package/lib/utils/auto-bind.js +0 -40
  441. package/lib/utils/auto-bind.js.map +0 -1
  442. package/lib/utils/camelcase-keys.d.ts +0 -6
  443. package/lib/utils/camelcase-keys.js +0 -28
  444. package/lib/utils/camelcase-keys.js.map +0 -1
  445. package/lib/utils/index.d.ts +0 -5
  446. package/lib/utils/index.js +0 -50
  447. package/lib/utils/index.js.map +0 -1
  448. package/lib/utils/path.d.ts +0 -1
  449. package/lib/utils/path.js +0 -11
  450. package/lib/utils/path.js.map +0 -1
  451. package/lib/vitest.config.d.ts +0 -2
  452. package/lib/vitest.config.js +0 -17
  453. package/lib/vitest.config.js.map +0 -1
  454. package/types/adaptors/axios.d.ts +0 -4
  455. package/types/adaptors/ky.d.ts +0 -23
  456. package/types/adaptors/umi-request.d.ts +0 -4
  457. package/types/controllers/aggregate.d.ts +0 -64
  458. package/types/controllers/base.d.ts +0 -43
  459. package/types/controllers/category.d.ts +0 -115
  460. package/types/controllers/comment.d.ts +0 -81
  461. package/types/controllers/index.d.ts +0 -18
  462. package/types/controllers/link.d.ts +0 -20
  463. package/types/controllers/note.d.ts +0 -103
  464. package/types/controllers/page.d.ts +0 -59
  465. package/types/controllers/post.d.ts +0 -72
  466. package/types/controllers/project.d.ts +0 -15
  467. package/types/controllers/recently.d.ts +0 -61
  468. package/types/controllers/say.d.ts +0 -37
  469. package/types/controllers/search.d.ts +0 -247
  470. package/types/controllers/severless.d.ts +0 -24
  471. package/types/controllers/snippet.d.ts +0 -24
  472. package/types/controllers/topic.d.ts +0 -26
  473. package/types/controllers/user.d.ts +0 -70
  474. package/types/core/attach-request.d.ts +0 -2
  475. package/types/core/client.d.ts +0 -29
  476. package/types/core/error.d.ts +0 -6
  477. package/types/core/index.d.ts +0 -2
  478. package/types/dtos/comment.d.ts +0 -6
  479. package/types/index.d.ts +0 -7
  480. package/types/interfaces/adapter.d.ts +0 -14
  481. package/types/interfaces/client.d.ts +0 -13
  482. package/types/interfaces/controller.d.ts +0 -4
  483. package/types/interfaces/instance.d.ts +0 -7
  484. package/types/interfaces/options.d.ts +0 -1
  485. package/types/interfaces/params.d.ts +0 -4
  486. package/types/interfaces/request.d.ts +0 -43
  487. package/types/interfaces/types.d.ts +0 -2
  488. package/types/models/aggregate.d.ts +0 -53
  489. package/types/models/base.d.ts +0 -38
  490. package/types/models/category.d.ts +0 -22
  491. package/types/models/comment.d.ts +0 -37
  492. package/types/models/index.d.ts +0 -14
  493. package/types/models/link.d.ts +0 -22
  494. package/types/models/note.d.ts +0 -33
  495. package/types/models/page.d.ts +0 -14
  496. package/types/models/post.d.ts +0 -17
  497. package/types/models/project.d.ts +0 -11
  498. package/types/models/recently.d.ts +0 -26
  499. package/types/models/say.d.ts +0 -6
  500. package/types/models/setting.d.ts +0 -66
  501. package/types/models/snippet.d.ts +0 -18
  502. package/types/models/topic.d.ts +0 -8
  503. package/types/models/user.d.ts +0 -21
  504. package/types/utils/auto-bind.d.ts +0 -4
  505. package/types/utils/camelcase-keys.d.ts +0 -6
  506. package/types/utils/index.d.ts +0 -5
  507. package/types/utils/path.d.ts +0 -1
  508. package/types/vitest.config.d.ts +0 -2
@@ -1,958 +0,0 @@
1
- const isPlainObject = (obj) => isObject(obj) &&
2
- Object.prototype.toString.call(obj) === '[object Object]' &&
3
- Object.getPrototypeOf(obj) === Object.prototype;
4
- const sortOrderToNumber = (order) => {
5
- return ({
6
- asc: 1,
7
- desc: -1,
8
- }[order] || 1);
9
- };
10
- const isObject = (obj) => obj && typeof obj === 'object';
11
- const destructureData = (payload) => {
12
- if (typeof payload !== 'object') {
13
- return payload;
14
- }
15
- if (payload === null) {
16
- return payload;
17
- }
18
- const data = payload.data;
19
- const dataIsPlainObject = isPlainObject(data);
20
- if (dataIsPlainObject && Object.keys(payload).length === 1) {
21
- const d = Object.assign({}, data);
22
- // attach raw onto new data
23
- attachRawFromOneToAnthor(payload, d);
24
- return d;
25
- }
26
- return payload;
27
- };
28
- const attachRawFromOneToAnthor = (from, to) => {
29
- if (!from || !isObject(to)) {
30
- return;
31
- }
32
- from.$raw &&
33
- Object.defineProperty(to, '$raw', {
34
- value: { ...from.$raw },
35
- enumerable: false,
36
- });
37
- from.$request &&
38
- Object.defineProperty(to, '$request', {
39
- value: { ...from.$request },
40
- enumerable: false,
41
- });
42
- };
43
-
44
- // @ts-nocheck
45
- // @copy: https://github.com/sindresorhus/auto-bind/blob/main/index.js
46
- // Gets all non-builtin properties up the prototype chain.
47
- const getAllProperties = (object) => {
48
- const properties = new Set();
49
- do {
50
- for (const key of Reflect.ownKeys(object)) {
51
- properties.add([object, key]);
52
- }
53
- } while ((object = Reflect.getPrototypeOf(object)) &&
54
- object !== Object.prototype);
55
- return properties;
56
- };
57
- function autoBind(self, { include, exclude } = {}) {
58
- const filter = (key) => {
59
- const match = (pattern) => typeof pattern === 'string' ? key === pattern : pattern.test(key);
60
- if (include) {
61
- return include.some(match);
62
- }
63
- if (exclude) {
64
- return !exclude.some(match);
65
- }
66
- return true;
67
- };
68
- for (const [object, key] of getAllProperties(self.constructor.prototype)) {
69
- if (key === 'constructor' || !filter(key)) {
70
- continue;
71
- }
72
- const descriptor = Reflect.getOwnPropertyDescriptor(object, key);
73
- if (descriptor && typeof descriptor.value === 'function') {
74
- self[key] = self[key].bind(self);
75
- }
76
- }
77
- return self;
78
- }
79
-
80
- class AggregateController {
81
- constructor(client) {
82
- this.client = client;
83
- this.base = 'aggregate';
84
- this.name = 'aggregate';
85
- autoBind(this);
86
- }
87
- get proxy() {
88
- return this.client.proxy(this.base);
89
- }
90
- /**
91
- * 获取聚合数据
92
- */
93
- getAggregateData() {
94
- return this.proxy.get();
95
- }
96
- /**
97
- * 获取最新发布的内容
98
- */
99
- getTop(size = 5) {
100
- return this.proxy.top.get({ params: { size } });
101
- }
102
- getTimeline(options) {
103
- const { sort, type, year } = options || {};
104
- return this.proxy.timeline.get({
105
- params: {
106
- sort: sort && sortOrderToNumber(sort),
107
- type,
108
- year,
109
- },
110
- });
111
- }
112
- /**
113
- * 获取聚合数据统计
114
- */
115
- getStat() {
116
- return this.proxy.stat.get();
117
- }
118
- }
119
-
120
- class RequestError extends Error {
121
- constructor(message, status, path, raw) {
122
- super(message);
123
- this.status = status;
124
- this.path = path;
125
- this.raw = raw;
126
- }
127
- }
128
-
129
- var CategoryType;
130
- (function (CategoryType) {
131
- CategoryType[CategoryType["Category"] = 0] = "Category";
132
- CategoryType[CategoryType["Tag"] = 1] = "Tag";
133
- })(CategoryType || (CategoryType = {}));
134
-
135
- class CategoryController {
136
- constructor(client) {
137
- this.client = client;
138
- this.name = 'category';
139
- this.base = 'categories';
140
- autoBind(this);
141
- }
142
- get proxy() {
143
- return this.client.proxy(this.base);
144
- }
145
- getAllCategories() {
146
- return this.proxy.get({
147
- params: {
148
- type: CategoryType.Category,
149
- },
150
- });
151
- }
152
- getAllTags() {
153
- return this.proxy.get({
154
- params: {
155
- type: CategoryType.Tag,
156
- },
157
- });
158
- }
159
- async getCategoryDetail(ids) {
160
- if (typeof ids === 'string') {
161
- const data = await this.proxy.get({
162
- params: {
163
- ids,
164
- },
165
- });
166
- const result = Object.values(data.entries)[0];
167
- attachRawFromOneToAnthor(data, result);
168
- return result;
169
- }
170
- else if (Array.isArray(ids)) {
171
- const data = await this.proxy.get({
172
- params: {
173
- ids: ids.join(','),
174
- },
175
- });
176
- const entries = data?.entries;
177
- if (!entries) {
178
- throw new RequestError('data structure error', 500, data.$request.path, data);
179
- }
180
- const map = new Map(Object.entries(entries).map(([id, value]) => [id.toLowerCase(), value]));
181
- attachRawFromOneToAnthor(data, map);
182
- return map;
183
- }
184
- }
185
- async getCategoryByIdOrSlug(idOrSlug) {
186
- const res = await this.proxy(idOrSlug).get();
187
- return destructureData(res);
188
- }
189
- async getTagByName(name) {
190
- const res = await this.proxy(name).get({
191
- params: {
192
- tag: 1,
193
- },
194
- });
195
- return res;
196
- }
197
- }
198
-
199
- class CommentController {
200
- constructor(client) {
201
- this.client = client;
202
- this.base = 'comments';
203
- this.name = 'comment';
204
- autoBind(this);
205
- }
206
- get proxy() {
207
- return this.client.proxy(this.base);
208
- }
209
- /**
210
- * 根据 comment id 获取评论, 包括子评论
211
- */
212
- getById(id) {
213
- return this.proxy(id).get();
214
- }
215
- /**
216
- * 获取文章的评论列表
217
- * @param refId 文章 Id
218
- */
219
- getByRefId(refId, pagination = {}) {
220
- const { page, size } = pagination;
221
- return this.proxy
222
- .ref(refId)
223
- .get({
224
- params: { page: page || 1, size: size || 10 },
225
- });
226
- }
227
- /**
228
- * 评论
229
- */
230
- comment(refId, data) {
231
- return this.proxy(refId).post({
232
- data,
233
- });
234
- }
235
- /**
236
- * 回复评论
237
- */
238
- reply(commentId, data) {
239
- return this.proxy.reply(commentId).post({
240
- data,
241
- });
242
- }
243
- }
244
-
245
- class BaseCrudController {
246
- constructor(client) {
247
- this.client = client;
248
- autoBind(this);
249
- }
250
- get proxy() {
251
- return this.client.proxy(this.base);
252
- }
253
- getById(id) {
254
- return this.proxy(id).get();
255
- }
256
- getAll() {
257
- return this.proxy.all.get();
258
- }
259
- /**
260
- * 带分页的查询
261
- * @param page
262
- * @param perPage
263
- */
264
- getAllPaginated(page, perPage, sortOption) {
265
- return this.proxy.get({
266
- params: { page, size: perPage, ...sortOption },
267
- });
268
- }
269
- }
270
-
271
- class LinkController extends BaseCrudController {
272
- constructor(client) {
273
- super(client);
274
- this.client = client;
275
- this.name = ['link', 'friend'];
276
- this.base = 'links';
277
- autoBind(this);
278
- }
279
- // 是否可以申请友链
280
- async canApplyLink() {
281
- const { can } = await this.proxy.audit.get();
282
- return can;
283
- }
284
- // 申请友链
285
- async applyLink(data) {
286
- return await this.proxy.audit.post({ data });
287
- }
288
- }
289
-
290
- class NoteController {
291
- constructor(client) {
292
- this.client = client;
293
- this.base = 'notes';
294
- this.name = 'note';
295
- autoBind(this);
296
- }
297
- get proxy() {
298
- return this.client.proxy(this.base);
299
- }
300
- /**
301
- * 最新日记
302
- */
303
- getLatest() {
304
- return this.proxy.latest.get();
305
- }
306
- getNoteById(...rest) {
307
- const [id, password = undefined, singleResult = false] = rest;
308
- if (typeof id === 'number') {
309
- return this.proxy.nid(id.toString()).get({
310
- params: { password, single: singleResult ? '1' : undefined },
311
- });
312
- }
313
- else {
314
- return this.proxy(id).get();
315
- }
316
- }
317
- /**
318
- * 日记列表分页
319
- */
320
- getList(page = 1, perPage = 10, options = {}) {
321
- const { select, sortBy, sortOrder, year } = options;
322
- return this.proxy.get({
323
- params: {
324
- page,
325
- size: perPage,
326
- select: select?.join(' '),
327
- sortBy,
328
- sortOrder,
329
- year,
330
- },
331
- });
332
- }
333
- /**
334
- * 获取当前日记的上下各 n / 2 篇日记
335
- */
336
- getMiddleList(id, size = 5) {
337
- return this.proxy.list(id).get({
338
- params: { size },
339
- });
340
- }
341
- /**
342
- * 喜欢这篇日记
343
- */
344
- likeIt(id) {
345
- return this.proxy.like(id).get();
346
- }
347
- /**
348
- * 获取专栏内的所有日记
349
- */
350
- getNoteByTopicId(topicId, page = 1, size = 10, sortOptions = {}) {
351
- return this.proxy.topics(topicId).get({
352
- params: { page, size, ...sortOptions },
353
- });
354
- }
355
- }
356
-
357
- class PageController {
358
- constructor(client) {
359
- this.client = client;
360
- this.base = 'pages';
361
- this.name = 'page';
362
- autoBind(this);
363
- }
364
- get proxy() {
365
- return this.client.proxy(this.base);
366
- }
367
- /**
368
- * 页面列表
369
- */
370
- getList(page = 1, perPage = 10, options = {}) {
371
- const { select, sortBy, sortOrder } = options;
372
- return this.proxy.get({
373
- params: {
374
- page,
375
- size: perPage,
376
- select: select?.join(' '),
377
- sortBy,
378
- sortOrder,
379
- },
380
- });
381
- }
382
- /**
383
- * 页面详情
384
- */
385
- getById(id) {
386
- return this.proxy(id).get();
387
- }
388
- /**
389
- * 根据路径获取页面
390
- * @param slug 路径
391
- * @returns
392
- */
393
- getBySlug(slug) {
394
- return this.proxy.slug(slug).get({});
395
- }
396
- }
397
-
398
- class PostController {
399
- constructor(client) {
400
- this.client = client;
401
- this.base = 'posts';
402
- this.name = 'post';
403
- autoBind(this);
404
- }
405
- get proxy() {
406
- return this.client.proxy(this.base);
407
- }
408
- /**
409
- * 获取文章列表分页
410
- * @param page
411
- * @param perPage
412
- * @returns
413
- */
414
- getList(page = 1, perPage = 10, options = {}) {
415
- const { select, sortBy, sortOrder, year } = options;
416
- return this.proxy.get({
417
- params: {
418
- page,
419
- size: perPage,
420
- select: select?.join(' '),
421
- sortBy,
422
- sortOrder,
423
- year,
424
- },
425
- });
426
- }
427
- getPost(idOrCategoryName, slug) {
428
- if (arguments.length == 1) {
429
- return this.proxy(idOrCategoryName).get();
430
- }
431
- else {
432
- return this.proxy(idOrCategoryName)(slug).get();
433
- }
434
- }
435
- /**
436
- * 获取最新的文章
437
- */
438
- getLatest() {
439
- return this.proxy.latest.get();
440
- }
441
- /**
442
- * 点赞
443
- */
444
- thumbsUp(id) {
445
- return this.proxy('_thumbs-up').get({ params: { id } });
446
- }
447
- }
448
-
449
- class ProjectController extends BaseCrudController {
450
- constructor(client) {
451
- super(client);
452
- this.client = client;
453
- this.base = 'projects';
454
- this.name = 'project';
455
- autoBind(this);
456
- }
457
- }
458
-
459
- class RecentlyController {
460
- constructor(client) {
461
- this.client = client;
462
- this.base = 'recently';
463
- this.name = ['recently', 'shorthand'];
464
- autoBind(this);
465
- }
466
- get proxy() {
467
- return this.client.proxy(this.base);
468
- }
469
- /**
470
- * 获取最新一条
471
- */
472
- getLatestOne() {
473
- return this.proxy.latest.get();
474
- }
475
- getAll() {
476
- return this.proxy.all.get();
477
- }
478
- getList(before, after, size) {
479
- return this.proxy.get({
480
- params: {
481
- before,
482
- after,
483
- size,
484
- },
485
- });
486
- }
487
- }
488
-
489
- class SayController extends BaseCrudController {
490
- constructor(client) {
491
- super(client);
492
- this.client = client;
493
- this.base = 'says';
494
- this.name = 'say';
495
- autoBind(this);
496
- }
497
- get proxy() {
498
- return this.client.proxy(this.base);
499
- }
500
- /**
501
- * 获取随机一条
502
- */
503
- getRandom() {
504
- return this.proxy.random.get();
505
- }
506
- }
507
-
508
- class SearchController {
509
- constructor(client) {
510
- this.client = client;
511
- this.base = 'search';
512
- this.name = 'search';
513
- autoBind(this);
514
- }
515
- get proxy() {
516
- return this.client.proxy(this.base);
517
- }
518
- search(type, keyword, options = {}) {
519
- return this.proxy(type).get({
520
- params: { keyword, ...options },
521
- });
522
- }
523
- /**
524
- * 从 algolya 搜索
525
- * https://www.algolia.com/doc/api-reference/api-methods/search/
526
- * @param keyword
527
- * @param options
528
- * @returns
529
- */
530
- searchByAlgolia(keyword, options) {
531
- return this.proxy('algolia').get({ params: { keyword, ...options } });
532
- }
533
- }
534
-
535
- class ServerlessController {
536
- constructor(client) {
537
- this.client = client;
538
- this.base = 'serverless';
539
- this.name = 'serverless';
540
- autoBind(this);
541
- }
542
- get proxy() {
543
- return this.client.proxy(this.base);
544
- }
545
- getByReferenceAndName(reference, name) {
546
- return this.proxy(reference)(name).get();
547
- }
548
- }
549
-
550
- class SnippetController {
551
- constructor(client) {
552
- this.client = client;
553
- this.base = 'snippets';
554
- this.name = 'snippet';
555
- autoBind(this);
556
- }
557
- get proxy() {
558
- return this.client.proxy(this.base);
559
- }
560
- // getById(id: string) {
561
- // return this.proxy(id).get<Omit<SnippetModel, 'data'>>()
562
- // }
563
- getByReferenceAndName(reference, name) {
564
- return this.proxy(reference)(name).get();
565
- }
566
- }
567
-
568
- class TopicController extends BaseCrudController {
569
- constructor(client) {
570
- super(client);
571
- this.client = client;
572
- this.base = 'topics';
573
- this.name = 'topic';
574
- autoBind(this);
575
- }
576
- get proxy() {
577
- return this.client.proxy(this.base);
578
- }
579
- getTopicBySlug(slug) {
580
- return this.proxy.slug(slug).get();
581
- }
582
- }
583
-
584
- class UserController {
585
- constructor(client) {
586
- this.client = client;
587
- this.base = 'master';
588
- this.name = ['user', 'master'];
589
- autoBind(this);
590
- }
591
- get proxy() {
592
- return this.client.proxy(this.base);
593
- }
594
- getMasterInfo() {
595
- return this.proxy.get();
596
- }
597
- login(username, password) {
598
- return this.proxy.login.post({
599
- data: {
600
- username,
601
- password,
602
- },
603
- });
604
- }
605
- loginWithToken(token) {
606
- return this.proxy.login.put({
607
- params: token
608
- ? {
609
- token: `bearer ${token.replace(/^Bearer\s/i, '')}`,
610
- }
611
- : undefined,
612
- });
613
- }
614
- checkTokenValid(token) {
615
- return this.proxy.check_logged.get({
616
- params: {
617
- token: `bearer ${token.replace(/^Bearer\s/i, '')}`,
618
- },
619
- });
620
- }
621
- }
622
-
623
- const allControllers = [
624
- AggregateController,
625
- CategoryController,
626
- CommentController,
627
- LinkController,
628
- NoteController,
629
- PageController,
630
- PostController,
631
- ProjectController,
632
- RecentlyController,
633
- TopicController,
634
- SayController,
635
- SearchController,
636
- SnippetController,
637
- ServerlessController,
638
- UserController,
639
- ];
640
- const allContollerNames = [
641
- 'aggregate',
642
- 'category',
643
- 'comment',
644
- 'link',
645
- 'note',
646
- 'page',
647
- 'post',
648
- 'project',
649
- 'topic',
650
- 'recently',
651
- 'say',
652
- 'search',
653
- 'snippet',
654
- 'serverless',
655
- 'user',
656
- // alias,
657
- 'friend',
658
- 'master',
659
- 'shorthand',
660
- ];
661
-
662
- const camelcaseKeys = (obj) => {
663
- if (Array.isArray(obj)) {
664
- return obj.map((x) => camelcaseKeys(x));
665
- }
666
- if (isPlainObject(obj)) {
667
- return Object.keys(obj).reduce((result, key) => {
668
- result[camelcase(key)] = camelcaseKeys(obj[key]);
669
- return result;
670
- }, {});
671
- }
672
- return obj;
673
- };
674
- function camelcase(str) {
675
- return str.replace(/([-_][a-z])/gi, ($1) => {
676
- return $1.toUpperCase().replace('-', '').replace('_', '');
677
- });
678
- }
679
-
680
- const resolveFullPath = (endpoint, path) => {
681
- if (!path.startsWith('/')) {
682
- path = `/${path}`;
683
- }
684
- return `${endpoint}${path}`;
685
- };
686
-
687
- function attachRequestMethod(target) {
688
- Object.defineProperty(target, '$$get', {
689
- value(url, options) {
690
- // HINT: method get only accept search params;
691
- const { params = {}, ...rest } = options;
692
- const qs = handleSearchParams(params);
693
- return target.instance.get(`${url}${qs ? `${`?${qs}`}` : ''}`, rest);
694
- },
695
- });
696
- ['put', 'post', 'patch', 'delete'].forEach((method) => {
697
- Object.defineProperty(target, `$$${method}`, {
698
- value(path, options) {
699
- return target.instance[method](path, options);
700
- },
701
- });
702
- });
703
- }
704
- // FIXME: only support string value
705
- function handleSearchParams(obj) {
706
- if (!obj && typeof obj !== 'object') {
707
- throw new TypeError('params must be object.');
708
- }
709
- if (obj instanceof URLSearchParams) {
710
- return obj.toString();
711
- }
712
- const search = new URLSearchParams();
713
- Object.entries(obj).forEach(([k, v]) => {
714
- if (typeof v === 'undefined' ||
715
- Object.prototype.toString.call(v) === '[object Null]') {
716
- return;
717
- }
718
- search.set(k, v);
719
- });
720
- return search.toString();
721
- }
722
-
723
- const methodPrefix = '_$';
724
- class HTTPClient {
725
- constructor(_endpoint, _adaptor, options = {}) {
726
- this._endpoint = _endpoint;
727
- this._adaptor = _adaptor;
728
- this.options = options;
729
- this._endpoint = _endpoint
730
- .replace(/\/*$/, '')
731
- .replace('localhost', '127.0.0.1');
732
- this._proxy = this.buildRoute(this)();
733
- options.transformResponse =
734
- options.transformResponse || ((data) => camelcaseKeys(data));
735
- this.initGetClient();
736
- attachRequestMethod(this);
737
- }
738
- initGetClient() {
739
- for (const name of allContollerNames) {
740
- Object.defineProperty(this, name, {
741
- get() {
742
- const client = Reflect.get(this, `${methodPrefix}${name}`);
743
- if (!client) {
744
- throw new ReferenceError(`${name.charAt(0).toUpperCase() + name.slice(1)} Client not inject yet, please inject with client.injectClients(...)`);
745
- }
746
- return client;
747
- },
748
- configurable: false,
749
- enumerable: false,
750
- });
751
- }
752
- }
753
- injectControllers(Controller, ...rest) {
754
- Controller = Array.isArray(Controller) ? Controller : [Controller, ...rest];
755
- for (const Client of Controller) {
756
- const cl = new Client(this);
757
- if (Array.isArray(cl.name)) {
758
- for (const name of cl.name) {
759
- attach.call(this, name, cl);
760
- }
761
- }
762
- else {
763
- attach.call(this, cl.name, cl);
764
- }
765
- }
766
- function attach(name, cl) {
767
- Object.defineProperty(this, `${methodPrefix}${name.toLowerCase()}`, {
768
- get() {
769
- return cl;
770
- },
771
- enumerable: false,
772
- configurable: false,
773
- });
774
- }
775
- }
776
- get endpoint() {
777
- return this._endpoint;
778
- }
779
- get instance() {
780
- return this._adaptor;
781
- }
782
- request(options) {
783
- return this[`$$${String(options.method || 'get').toLowerCase()}`](options.url, options);
784
- }
785
- get proxy() {
786
- return this._proxy;
787
- }
788
- buildRoute(manager) {
789
- // eslint-disable-next-line @typescript-eslint/no-empty-function
790
- const noop = () => { };
791
- const methods = ['get', 'post', 'delete', 'patch', 'put'];
792
- const reflectors = [
793
- 'toString',
794
- 'valueOf',
795
- 'inspect',
796
- 'constructor',
797
- Symbol.toPrimitive,
798
- ];
799
- // eslint-disable-next-line @typescript-eslint/no-this-alias
800
- const that = this;
801
- return () => {
802
- const route = [''];
803
- const handler = {
804
- get(target, name) {
805
- if (reflectors.includes(name))
806
- return (withBase) => {
807
- if (withBase) {
808
- const path = resolveFullPath(that.endpoint, route.join('/'));
809
- route.length = 0;
810
- return path;
811
- }
812
- else {
813
- const path = route.join('/');
814
- route.length = 0;
815
- return path.startsWith('/') ? path : `/${path}`;
816
- }
817
- };
818
- if (methods.includes(name)) {
819
- return async (options) => {
820
- const url = resolveFullPath(that.endpoint, route.join('/'));
821
- route.length = 0;
822
- let res;
823
- try {
824
- res = await manager.request({
825
- method: name,
826
- ...options,
827
- url,
828
- });
829
- }
830
- catch (e) {
831
- let message = e.message;
832
- let code = e.code ||
833
- e.status ||
834
- e.statusCode ||
835
- e.response?.status ||
836
- e.response?.statusCode ||
837
- e.response?.code ||
838
- 500;
839
- if (that.options.getCodeMessageFromException) {
840
- const errorInfo = that.options.getCodeMessageFromException(e);
841
- message = errorInfo.message || message;
842
- code = errorInfo.code || code;
843
- }
844
- throw that.options.customThrowResponseError
845
- ? that.options.customThrowResponseError(e)
846
- : new RequestError(message, code, url, e);
847
- }
848
- const data = res.data;
849
- if (!data) {
850
- return null;
851
- }
852
- const transform = (Array.isArray(data) || isPlainObject(data)) &&
853
- that.options.transformResponse
854
- ? that.options.transformResponse(data)
855
- : data;
856
- if (transform && typeof transform === 'object') {
857
- Object.defineProperty(transform, '$raw', {
858
- get() {
859
- return res;
860
- },
861
- enumerable: false,
862
- configurable: false,
863
- });
864
- // attach request config onto response
865
- Object.defineProperty(transform, '$request', {
866
- get() {
867
- return {
868
- url,
869
- method: name,
870
- options,
871
- };
872
- },
873
- enumerable: false,
874
- });
875
- }
876
- return transform;
877
- };
878
- }
879
- route.push(name);
880
- return new Proxy(noop, handler);
881
- },
882
- // @ts-ignore
883
- apply(target, _, args) {
884
- route.push(...args.filter((x) => x !== null));
885
- return new Proxy(noop, handler);
886
- },
887
- };
888
- return new Proxy(noop, handler);
889
- };
890
- }
891
- }
892
- function createClient(adapter) {
893
- return (endpoint, options) => {
894
- const client = new HTTPClient(endpoint, adapter, options);
895
- const { controllers } = options || {};
896
- if (controllers) {
897
- client.injectControllers(controllers);
898
- }
899
- return client;
900
- };
901
- }
902
-
903
- var TimelineType;
904
- (function (TimelineType) {
905
- TimelineType[TimelineType["Post"] = 0] = "Post";
906
- TimelineType[TimelineType["Note"] = 1] = "Note";
907
- })(TimelineType || (TimelineType = {}));
908
-
909
- var RefType;
910
- (function (RefType) {
911
- RefType["Page"] = "Page";
912
- RefType["Post"] = "Post";
913
- RefType["Note"] = "Note";
914
- })(RefType || (RefType = {}));
915
- var CommentState;
916
- (function (CommentState) {
917
- CommentState[CommentState["Unread"] = 0] = "Unread";
918
- CommentState[CommentState["Read"] = 1] = "Read";
919
- CommentState[CommentState["Junk"] = 2] = "Junk";
920
- })(CommentState || (CommentState = {}));
921
-
922
- var LinkType;
923
- (function (LinkType) {
924
- LinkType[LinkType["Friend"] = 0] = "Friend";
925
- LinkType[LinkType["Collection"] = 1] = "Collection";
926
- })(LinkType || (LinkType = {}));
927
- var LinkState;
928
- (function (LinkState) {
929
- LinkState[LinkState["Pass"] = 0] = "Pass";
930
- LinkState[LinkState["Audit"] = 1] = "Audit";
931
- LinkState[LinkState["Outdate"] = 2] = "Outdate";
932
- LinkState[LinkState["Banned"] = 3] = "Banned";
933
- })(LinkState || (LinkState = {}));
934
-
935
- var EnumPageType;
936
- (function (EnumPageType) {
937
- EnumPageType["md"] = "md";
938
- EnumPageType["html"] = "html";
939
- EnumPageType["frame"] = "frame";
940
- })(EnumPageType || (EnumPageType = {}));
941
-
942
- var RecentlyRefTypes;
943
- (function (RecentlyRefTypes) {
944
- RecentlyRefTypes["Post"] = "Post";
945
- RecentlyRefTypes["Note"] = "Note";
946
- RecentlyRefTypes["Page"] = "Page";
947
- })(RecentlyRefTypes || (RecentlyRefTypes = {}));
948
-
949
- var SnippetType;
950
- (function (SnippetType) {
951
- SnippetType["JSON"] = "json";
952
- SnippetType["Function"] = "function";
953
- SnippetType["Text"] = "text";
954
- SnippetType["YAML"] = "yaml";
955
- })(SnippetType || (SnippetType = {}));
956
-
957
- export { AggregateController, CategoryController, CategoryType, CommentController, CommentState, EnumPageType, LinkController, LinkState, LinkType, NoteController, PageController, PostController, ProjectController, RecentlyController, RecentlyRefTypes, RefType, RequestError, SayController, SearchController, ServerlessController, SnippetController, SnippetType, TimelineType, TopicController, UserController, allContollerNames, allControllers, createClient };
958
- //# sourceMappingURL=index.esm.mjs.map