@mx-space/api-client 1.0.0-beta.3 → 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 (564) 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/clover.xml +591 -0
  54. package/coverage/coverage-final.json +5944 -0
  55. package/coverage/lcov-report/__tests__/helpers/adaptor-test.ts.html +405 -0
  56. package/coverage/lcov-report/__tests__/helpers/e2e-mock-server.ts.html +150 -0
  57. package/coverage/lcov-report/__tests__/helpers/index.html +236 -0
  58. package/coverage/lcov-report/__tests__/helpers/instance.ts.html +120 -0
  59. package/coverage/lcov-report/__tests__/helpers/response.ts.html +231 -0
  60. package/coverage/lcov-report/adaptors/axios.ts.html +201 -0
  61. package/coverage/lcov-report/adaptors/index.html +196 -0
  62. package/coverage/lcov-report/adaptors/umi-request.ts.html +186 -0
  63. package/coverage/lcov-report/auto-bind.ts.html +228 -0
  64. package/coverage/lcov-report/base.css +354 -0
  65. package/coverage/lcov-report/block-navigation.js +85 -0
  66. package/coverage/lcov-report/controllers/aggregate.ts.html +294 -0
  67. package/coverage/lcov-report/controllers/base.ts.html +183 -0
  68. package/coverage/lcov-report/controllers/category.ts.html +441 -0
  69. package/coverage/lcov-report/controllers/comment.ts.html +291 -0
  70. package/coverage/lcov-report/controllers/index.html +476 -0
  71. package/coverage/lcov-report/controllers/index.ts.html +297 -0
  72. package/coverage/lcov-report/controllers/link.ts.html +216 -0
  73. package/coverage/lcov-report/controllers/note.ts.html +375 -0
  74. package/coverage/lcov-report/controllers/page.ts.html +279 -0
  75. package/coverage/lcov-report/controllers/post.ts.html +369 -0
  76. package/coverage/lcov-report/controllers/project.ts.html +168 -0
  77. package/coverage/lcov-report/controllers/recently.ts.html +246 -0
  78. package/coverage/lcov-report/controllers/say.ts.html +207 -0
  79. package/coverage/lcov-report/controllers/search.ts.html +411 -0
  80. package/coverage/lcov-report/controllers/severless.ts.html +180 -0
  81. package/coverage/lcov-report/controllers/snippet.ts.html +195 -0
  82. package/coverage/lcov-report/controllers/user.ts.html +240 -0
  83. package/coverage/lcov-report/core/attach-request.ts.html +216 -0
  84. package/coverage/lcov-report/core/client.ts.html +786 -0
  85. package/coverage/lcov-report/core/error.ts.html +117 -0
  86. package/coverage/lcov-report/core/index.html +236 -0
  87. package/coverage/lcov-report/core/index.ts.html +93 -0
  88. package/coverage/lcov-report/favicon.png +0 -0
  89. package/coverage/lcov-report/index.html +276 -0
  90. package/coverage/lcov-report/index.ts.html +243 -0
  91. package/coverage/lcov-report/models/aggregate.ts.html +300 -0
  92. package/coverage/lcov-report/models/category.ts.html +162 -0
  93. package/coverage/lcov-report/models/index.html +196 -0
  94. package/coverage/lcov-report/prettify.css +101 -0
  95. package/coverage/lcov-report/prettify.js +1004 -0
  96. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  97. package/coverage/lcov-report/sorter.js +191 -0
  98. package/coverage/lcov-report/utils/auto-bind.ts.html +231 -0
  99. package/coverage/lcov-report/utils/index.html +216 -0
  100. package/coverage/lcov-report/utils/index.ts.html +246 -0
  101. package/coverage/lcov-report/utils/path.ts.html +105 -0
  102. package/coverage/lcov.info +1209 -0
  103. package/dist/adaptors/axios.cjs.map +1 -1
  104. package/dist/adaptors/axios.d.ts +2 -2
  105. package/dist/adaptors/axios.js.map +1 -1
  106. package/dist/adaptors/axios.min.cjs.map +1 -1
  107. package/dist/adaptors/axios.min.js.map +1 -1
  108. package/dist/adaptors/axios.umd.js.map +1 -1
  109. package/dist/adaptors/axios.umd.min.js.map +1 -1
  110. package/dist/adaptors/ky.cjs +5 -2
  111. package/dist/adaptors/ky.cjs.map +1 -1
  112. package/dist/adaptors/ky.d.ts +6 -2
  113. package/dist/adaptors/ky.js +4 -2
  114. package/dist/adaptors/ky.js.map +1 -1
  115. package/dist/adaptors/ky.min.cjs +1 -1
  116. package/dist/adaptors/ky.min.cjs.map +1 -1
  117. package/dist/adaptors/ky.min.js +1 -1
  118. package/dist/adaptors/ky.min.js.map +1 -1
  119. package/dist/adaptors/ky.umd.js +5 -2
  120. package/dist/adaptors/ky.umd.js.map +1 -1
  121. package/dist/adaptors/ky.umd.min.js +1 -1
  122. package/dist/adaptors/ky.umd.min.js.map +1 -1
  123. package/dist/adaptors/umi-request.cjs.map +1 -1
  124. package/dist/adaptors/umi-request.d.ts +2 -2
  125. package/dist/adaptors/umi-request.js.map +1 -1
  126. package/dist/adaptors/umi-request.min.cjs.map +1 -1
  127. package/dist/adaptors/umi-request.min.js.map +1 -1
  128. package/dist/adaptors/umi-request.umd.js.map +1 -1
  129. package/dist/adaptors/umi-request.umd.min.js.map +1 -1
  130. package/dist/index.cjs.map +1 -1
  131. package/dist/index.js.map +1 -1
  132. package/dist/index.min.cjs.map +1 -1
  133. package/dist/index.min.js.map +1 -1
  134. package/dist/index.umd.js.map +1 -1
  135. package/dist/index.umd.min.js.map +1 -1
  136. package/index.ts +1 -0
  137. package/interfaces/adapter.ts +1 -1
  138. package/interfaces/client.ts +2 -2
  139. package/interfaces/request.ts +1 -1
  140. package/models/aggregate.ts +7 -7
  141. package/models/base.ts +4 -0
  142. package/models/category.ts +2 -2
  143. package/models/comment.ts +2 -2
  144. package/models/link.ts +1 -1
  145. package/models/note.ts +8 -2
  146. package/models/page.ts +1 -1
  147. package/models/post.ts +2 -2
  148. package/models/project.ts +1 -1
  149. package/models/recently.ts +5 -10
  150. package/models/say.ts +1 -1
  151. package/models/snippet.ts +1 -1
  152. package/models/topic.ts +1 -1
  153. package/models/user.ts +1 -1
  154. package/package.json +10 -31
  155. package/rollup.config.js +150 -0
  156. package/utils/auto-bind.ts +48 -0
  157. package/utils/camelcase-keys.ts +26 -0
  158. package/utils/index.ts +53 -0
  159. package/utils/path.ts +6 -0
  160. package/dist/adaptors/ky-universal.cjs +0 -70
  161. package/dist/adaptors/ky-universal.cjs.map +0 -1
  162. package/dist/adaptors/ky-universal.d.ts +0 -37
  163. package/dist/adaptors/ky-universal.js +0 -61
  164. package/dist/adaptors/ky-universal.js.map +0 -1
  165. package/dist/adaptors/ky-universal.min.cjs +0 -2
  166. package/dist/adaptors/ky-universal.min.cjs.map +0 -1
  167. package/dist/adaptors/ky-universal.min.js +0 -2
  168. package/dist/adaptors/ky-universal.min.js.map +0 -1
  169. package/dist/adaptors/ky-universal.umd.js +0 -74
  170. package/dist/adaptors/ky-universal.umd.js.map +0 -1
  171. package/dist/adaptors/ky-universal.umd.min.js +0 -2
  172. package/dist/adaptors/ky-universal.umd.min.js.map +0 -1
  173. package/esm/adaptors/axios.d.ts +0 -4
  174. package/esm/adaptors/axios.js +0 -36
  175. package/esm/adaptors/axios.js.map +0 -1
  176. package/esm/adaptors/ky-universal.d.ts +0 -22
  177. package/esm/adaptors/ky-universal.js +0 -58
  178. package/esm/adaptors/ky-universal.js.map +0 -1
  179. package/esm/adaptors/ky.d.ts +0 -22
  180. package/esm/adaptors/ky.js +0 -58
  181. package/esm/adaptors/ky.js.map +0 -1
  182. package/esm/adaptors/umi-request.d.ts +0 -4
  183. package/esm/adaptors/umi-request.js +0 -30
  184. package/esm/adaptors/umi-request.js.map +0 -1
  185. package/esm/controllers/aggregate.d.ts +0 -64
  186. package/esm/controllers/aggregate.js +0 -42
  187. package/esm/controllers/aggregate.js.map +0 -1
  188. package/esm/controllers/base.d.ts +0 -43
  189. package/esm/controllers/base.js +0 -27
  190. package/esm/controllers/base.js.map +0 -1
  191. package/esm/controllers/category.d.ts +0 -115
  192. package/esm/controllers/category.js +0 -68
  193. package/esm/controllers/category.js.map +0 -1
  194. package/esm/controllers/comment.d.ts +0 -81
  195. package/esm/controllers/comment.js +0 -47
  196. package/esm/controllers/comment.js.map +0 -1
  197. package/esm/controllers/index.d.ts +0 -18
  198. package/esm/controllers/index.js +0 -55
  199. package/esm/controllers/index.js.map +0 -1
  200. package/esm/controllers/link.d.ts +0 -20
  201. package/esm/controllers/link.js +0 -21
  202. package/esm/controllers/link.js.map +0 -1
  203. package/esm/controllers/note.d.ts +0 -103
  204. package/esm/controllers/note.js +0 -68
  205. package/esm/controllers/note.js.map +0 -1
  206. package/esm/controllers/page.d.ts +0 -59
  207. package/esm/controllers/page.js +0 -42
  208. package/esm/controllers/page.js.map +0 -1
  209. package/esm/controllers/post.d.ts +0 -72
  210. package/esm/controllers/post.js +0 -52
  211. package/esm/controllers/post.js.map +0 -1
  212. package/esm/controllers/project.d.ts +0 -15
  213. package/esm/controllers/project.js +0 -12
  214. package/esm/controllers/project.js.map +0 -1
  215. package/esm/controllers/recently.d.ts +0 -61
  216. package/esm/controllers/recently.js +0 -31
  217. package/esm/controllers/recently.js.map +0 -1
  218. package/esm/controllers/say.d.ts +0 -37
  219. package/esm/controllers/say.js +0 -21
  220. package/esm/controllers/say.js.map +0 -1
  221. package/esm/controllers/search.d.ts +0 -247
  222. package/esm/controllers/search.js +0 -28
  223. package/esm/controllers/search.js.map +0 -1
  224. package/esm/controllers/severless.d.ts +0 -24
  225. package/esm/controllers/severless.js +0 -16
  226. package/esm/controllers/severless.js.map +0 -1
  227. package/esm/controllers/snippet.d.ts +0 -24
  228. package/esm/controllers/snippet.js +0 -19
  229. package/esm/controllers/snippet.js.map +0 -1
  230. package/esm/controllers/topic.d.ts +0 -26
  231. package/esm/controllers/topic.js +0 -18
  232. package/esm/controllers/topic.js.map +0 -1
  233. package/esm/controllers/user.d.ts +0 -70
  234. package/esm/controllers/user.js +0 -40
  235. package/esm/controllers/user.js.map +0 -1
  236. package/esm/core/attach-request.d.ts +0 -2
  237. package/esm/core/attach-request.js +0 -36
  238. package/esm/core/attach-request.js.map +0 -1
  239. package/esm/core/client.d.ts +0 -29
  240. package/esm/core/client.js +0 -186
  241. package/esm/core/client.js.map +0 -1
  242. package/esm/core/error.d.ts +0 -6
  243. package/esm/core/error.js +0 -9
  244. package/esm/core/error.js.map +0 -1
  245. package/esm/core/index.d.ts +0 -2
  246. package/esm/core/index.js +0 -3
  247. package/esm/core/index.js.map +0 -1
  248. package/esm/dtos/comment.d.ts +0 -6
  249. package/esm/dtos/comment.js +0 -3
  250. package/esm/dtos/comment.js.map +0 -1
  251. package/esm/index.d.ts +0 -7
  252. package/esm/index.js +0 -7
  253. package/esm/index.js.map +0 -1
  254. package/esm/interfaces/adapter.d.ts +0 -14
  255. package/esm/interfaces/adapter.js +0 -2
  256. package/esm/interfaces/adapter.js.map +0 -1
  257. package/esm/interfaces/client.d.ts +0 -13
  258. package/esm/interfaces/client.js +0 -2
  259. package/esm/interfaces/client.js.map +0 -1
  260. package/esm/interfaces/controller.d.ts +0 -4
  261. package/esm/interfaces/controller.js +0 -2
  262. package/esm/interfaces/controller.js.map +0 -1
  263. package/esm/interfaces/instance.d.ts +0 -7
  264. package/esm/interfaces/instance.js +0 -2
  265. package/esm/interfaces/instance.js.map +0 -1
  266. package/esm/interfaces/options.d.ts +0 -1
  267. package/esm/interfaces/options.js +0 -2
  268. package/esm/interfaces/options.js.map +0 -1
  269. package/esm/interfaces/params.d.ts +0 -4
  270. package/esm/interfaces/params.js +0 -2
  271. package/esm/interfaces/params.js.map +0 -1
  272. package/esm/interfaces/request.d.ts +0 -43
  273. package/esm/interfaces/request.js +0 -2
  274. package/esm/interfaces/request.js.map +0 -1
  275. package/esm/interfaces/types.d.ts +0 -2
  276. package/esm/interfaces/types.js +0 -2
  277. package/esm/interfaces/types.js.map +0 -1
  278. package/esm/models/aggregate.d.ts +0 -53
  279. package/esm/models/aggregate.js +0 -6
  280. package/esm/models/aggregate.js.map +0 -1
  281. package/esm/models/base.d.ts +0 -38
  282. package/esm/models/base.js +0 -2
  283. package/esm/models/base.js.map +0 -1
  284. package/esm/models/category.d.ts +0 -22
  285. package/esm/models/category.js +0 -6
  286. package/esm/models/category.js.map +0 -1
  287. package/esm/models/comment.d.ts +0 -37
  288. package/esm/models/comment.js +0 -13
  289. package/esm/models/comment.js.map +0 -1
  290. package/esm/models/index.d.ts +0 -14
  291. package/esm/models/index.js +0 -15
  292. package/esm/models/index.js.map +0 -1
  293. package/esm/models/link.d.ts +0 -22
  294. package/esm/models/link.js +0 -14
  295. package/esm/models/link.js.map +0 -1
  296. package/esm/models/note.d.ts +0 -33
  297. package/esm/models/note.js +0 -2
  298. package/esm/models/note.js.map +0 -1
  299. package/esm/models/page.d.ts +0 -14
  300. package/esm/models/page.js +0 -7
  301. package/esm/models/page.js.map +0 -1
  302. package/esm/models/post.d.ts +0 -17
  303. package/esm/models/post.js +0 -2
  304. package/esm/models/post.js.map +0 -1
  305. package/esm/models/project.d.ts +0 -11
  306. package/esm/models/project.js +0 -2
  307. package/esm/models/project.js.map +0 -1
  308. package/esm/models/recently.d.ts +0 -26
  309. package/esm/models/recently.js +0 -7
  310. package/esm/models/recently.js.map +0 -1
  311. package/esm/models/say.d.ts +0 -6
  312. package/esm/models/say.js +0 -2
  313. package/esm/models/say.js.map +0 -1
  314. package/esm/models/setting.d.ts +0 -66
  315. package/esm/models/setting.js +0 -2
  316. package/esm/models/setting.js.map +0 -1
  317. package/esm/models/snippet.d.ts +0 -18
  318. package/esm/models/snippet.js +0 -8
  319. package/esm/models/snippet.js.map +0 -1
  320. package/esm/models/topic.d.ts +0 -8
  321. package/esm/models/topic.js +0 -2
  322. package/esm/models/topic.js.map +0 -1
  323. package/esm/models/user.d.ts +0 -21
  324. package/esm/models/user.js +0 -2
  325. package/esm/models/user.js.map +0 -1
  326. package/esm/utils/auto-bind.d.ts +0 -4
  327. package/esm/utils/auto-bind.js +0 -36
  328. package/esm/utils/auto-bind.js.map +0 -1
  329. package/esm/utils/camelcase-keys.d.ts +0 -6
  330. package/esm/utils/camelcase-keys.js +0 -23
  331. package/esm/utils/camelcase-keys.js.map +0 -1
  332. package/esm/utils/index.d.ts +0 -5
  333. package/esm/utils/index.js +0 -43
  334. package/esm/utils/index.js.map +0 -1
  335. package/esm/utils/path.d.ts +0 -1
  336. package/esm/utils/path.js +0 -7
  337. package/esm/utils/path.js.map +0 -1
  338. package/esm/vitest.config.d.ts +0 -2
  339. package/esm/vitest.config.js +0 -12
  340. package/esm/vitest.config.js.map +0 -1
  341. package/lib/adaptors/axios.d.ts +0 -4
  342. package/lib/adaptors/axios.js +0 -42
  343. package/lib/adaptors/axios.js.map +0 -1
  344. package/lib/adaptors/ky-universal.d.ts +0 -22
  345. package/lib/adaptors/ky-universal.js +0 -66
  346. package/lib/adaptors/ky-universal.js.map +0 -1
  347. package/lib/adaptors/ky.d.ts +0 -22
  348. package/lib/adaptors/ky.js +0 -66
  349. package/lib/adaptors/ky.js.map +0 -1
  350. package/lib/adaptors/umi-request.d.ts +0 -4
  351. package/lib/adaptors/umi-request.js +0 -33
  352. package/lib/adaptors/umi-request.js.map +0 -1
  353. package/lib/controllers/aggregate.d.ts +0 -64
  354. package/lib/controllers/aggregate.js +0 -46
  355. package/lib/controllers/aggregate.js.map +0 -1
  356. package/lib/controllers/base.d.ts +0 -43
  357. package/lib/controllers/base.js +0 -31
  358. package/lib/controllers/base.js.map +0 -1
  359. package/lib/controllers/category.d.ts +0 -115
  360. package/lib/controllers/category.js +0 -72
  361. package/lib/controllers/category.js.map +0 -1
  362. package/lib/controllers/comment.d.ts +0 -81
  363. package/lib/controllers/comment.js +0 -51
  364. package/lib/controllers/comment.js.map +0 -1
  365. package/lib/controllers/index.d.ts +0 -18
  366. package/lib/controllers/index.js +0 -72
  367. package/lib/controllers/index.js.map +0 -1
  368. package/lib/controllers/link.d.ts +0 -20
  369. package/lib/controllers/link.js +0 -25
  370. package/lib/controllers/link.js.map +0 -1
  371. package/lib/controllers/note.d.ts +0 -103
  372. package/lib/controllers/note.js +0 -72
  373. package/lib/controllers/note.js.map +0 -1
  374. package/lib/controllers/page.d.ts +0 -59
  375. package/lib/controllers/page.js +0 -46
  376. package/lib/controllers/page.js.map +0 -1
  377. package/lib/controllers/post.d.ts +0 -72
  378. package/lib/controllers/post.js +0 -56
  379. package/lib/controllers/post.js.map +0 -1
  380. package/lib/controllers/project.d.ts +0 -15
  381. package/lib/controllers/project.js +0 -16
  382. package/lib/controllers/project.js.map +0 -1
  383. package/lib/controllers/recently.d.ts +0 -61
  384. package/lib/controllers/recently.js +0 -35
  385. package/lib/controllers/recently.js.map +0 -1
  386. package/lib/controllers/say.d.ts +0 -37
  387. package/lib/controllers/say.js +0 -25
  388. package/lib/controllers/say.js.map +0 -1
  389. package/lib/controllers/search.d.ts +0 -247
  390. package/lib/controllers/search.js +0 -32
  391. package/lib/controllers/search.js.map +0 -1
  392. package/lib/controllers/severless.d.ts +0 -24
  393. package/lib/controllers/severless.js +0 -20
  394. package/lib/controllers/severless.js.map +0 -1
  395. package/lib/controllers/snippet.d.ts +0 -24
  396. package/lib/controllers/snippet.js +0 -23
  397. package/lib/controllers/snippet.js.map +0 -1
  398. package/lib/controllers/topic.d.ts +0 -26
  399. package/lib/controllers/topic.js +0 -22
  400. package/lib/controllers/topic.js.map +0 -1
  401. package/lib/controllers/user.d.ts +0 -70
  402. package/lib/controllers/user.js +0 -44
  403. package/lib/controllers/user.js.map +0 -1
  404. package/lib/core/attach-request.d.ts +0 -2
  405. package/lib/core/attach-request.js +0 -40
  406. package/lib/core/attach-request.js.map +0 -1
  407. package/lib/core/client.d.ts +0 -29
  408. package/lib/core/client.js +0 -190
  409. package/lib/core/client.js.map +0 -1
  410. package/lib/core/error.d.ts +0 -6
  411. package/lib/core/error.js +0 -13
  412. package/lib/core/error.js.map +0 -1
  413. package/lib/core/index.d.ts +0 -2
  414. package/lib/core/index.js +0 -19
  415. package/lib/core/index.js.map +0 -1
  416. package/lib/dtos/comment.d.ts +0 -6
  417. package/lib/dtos/comment.js +0 -7
  418. package/lib/dtos/comment.js.map +0 -1
  419. package/lib/index.d.ts +0 -7
  420. package/lib/index.js +0 -27
  421. package/lib/index.js.map +0 -1
  422. package/lib/interfaces/adapter.d.ts +0 -14
  423. package/lib/interfaces/adapter.js +0 -3
  424. package/lib/interfaces/adapter.js.map +0 -1
  425. package/lib/interfaces/client.d.ts +0 -13
  426. package/lib/interfaces/client.js +0 -3
  427. package/lib/interfaces/client.js.map +0 -1
  428. package/lib/interfaces/controller.d.ts +0 -4
  429. package/lib/interfaces/controller.js +0 -3
  430. package/lib/interfaces/controller.js.map +0 -1
  431. package/lib/interfaces/instance.d.ts +0 -7
  432. package/lib/interfaces/instance.js +0 -3
  433. package/lib/interfaces/instance.js.map +0 -1
  434. package/lib/interfaces/options.d.ts +0 -1
  435. package/lib/interfaces/options.js +0 -3
  436. package/lib/interfaces/options.js.map +0 -1
  437. package/lib/interfaces/params.d.ts +0 -4
  438. package/lib/interfaces/params.js +0 -3
  439. package/lib/interfaces/params.js.map +0 -1
  440. package/lib/interfaces/request.d.ts +0 -43
  441. package/lib/interfaces/request.js +0 -3
  442. package/lib/interfaces/request.js.map +0 -1
  443. package/lib/interfaces/types.d.ts +0 -2
  444. package/lib/interfaces/types.js +0 -3
  445. package/lib/interfaces/types.js.map +0 -1
  446. package/lib/models/aggregate.d.ts +0 -53
  447. package/lib/models/aggregate.js +0 -9
  448. package/lib/models/aggregate.js.map +0 -1
  449. package/lib/models/base.d.ts +0 -38
  450. package/lib/models/base.js +0 -3
  451. package/lib/models/base.js.map +0 -1
  452. package/lib/models/category.d.ts +0 -22
  453. package/lib/models/category.js +0 -9
  454. package/lib/models/category.js.map +0 -1
  455. package/lib/models/comment.d.ts +0 -37
  456. package/lib/models/comment.js +0 -16
  457. package/lib/models/comment.js.map +0 -1
  458. package/lib/models/index.d.ts +0 -14
  459. package/lib/models/index.js +0 -31
  460. package/lib/models/index.js.map +0 -1
  461. package/lib/models/link.d.ts +0 -22
  462. package/lib/models/link.js +0 -17
  463. package/lib/models/link.js.map +0 -1
  464. package/lib/models/note.d.ts +0 -33
  465. package/lib/models/note.js +0 -3
  466. package/lib/models/note.js.map +0 -1
  467. package/lib/models/page.d.ts +0 -14
  468. package/lib/models/page.js +0 -10
  469. package/lib/models/page.js.map +0 -1
  470. package/lib/models/post.d.ts +0 -17
  471. package/lib/models/post.js +0 -3
  472. package/lib/models/post.js.map +0 -1
  473. package/lib/models/project.d.ts +0 -11
  474. package/lib/models/project.js +0 -3
  475. package/lib/models/project.js.map +0 -1
  476. package/lib/models/recently.d.ts +0 -26
  477. package/lib/models/recently.js +0 -10
  478. package/lib/models/recently.js.map +0 -1
  479. package/lib/models/say.d.ts +0 -6
  480. package/lib/models/say.js +0 -3
  481. package/lib/models/say.js.map +0 -1
  482. package/lib/models/setting.d.ts +0 -66
  483. package/lib/models/setting.js +0 -3
  484. package/lib/models/setting.js.map +0 -1
  485. package/lib/models/snippet.d.ts +0 -18
  486. package/lib/models/snippet.js +0 -11
  487. package/lib/models/snippet.js.map +0 -1
  488. package/lib/models/topic.d.ts +0 -8
  489. package/lib/models/topic.js +0 -3
  490. package/lib/models/topic.js.map +0 -1
  491. package/lib/models/user.d.ts +0 -21
  492. package/lib/models/user.js +0 -3
  493. package/lib/models/user.js.map +0 -1
  494. package/lib/utils/auto-bind.d.ts +0 -4
  495. package/lib/utils/auto-bind.js +0 -40
  496. package/lib/utils/auto-bind.js.map +0 -1
  497. package/lib/utils/camelcase-keys.d.ts +0 -6
  498. package/lib/utils/camelcase-keys.js +0 -28
  499. package/lib/utils/camelcase-keys.js.map +0 -1
  500. package/lib/utils/index.d.ts +0 -5
  501. package/lib/utils/index.js +0 -50
  502. package/lib/utils/index.js.map +0 -1
  503. package/lib/utils/path.d.ts +0 -1
  504. package/lib/utils/path.js +0 -11
  505. package/lib/utils/path.js.map +0 -1
  506. package/lib/vitest.config.d.ts +0 -2
  507. package/lib/vitest.config.js +0 -17
  508. package/lib/vitest.config.js.map +0 -1
  509. package/types/adaptors/axios.d.ts +0 -4
  510. package/types/adaptors/ky-universal.d.ts +0 -22
  511. package/types/adaptors/ky.d.ts +0 -22
  512. package/types/adaptors/umi-request.d.ts +0 -4
  513. package/types/controllers/aggregate.d.ts +0 -64
  514. package/types/controllers/base.d.ts +0 -43
  515. package/types/controllers/category.d.ts +0 -115
  516. package/types/controllers/comment.d.ts +0 -81
  517. package/types/controllers/index.d.ts +0 -18
  518. package/types/controllers/link.d.ts +0 -20
  519. package/types/controllers/note.d.ts +0 -103
  520. package/types/controllers/page.d.ts +0 -59
  521. package/types/controllers/post.d.ts +0 -72
  522. package/types/controllers/project.d.ts +0 -15
  523. package/types/controllers/recently.d.ts +0 -61
  524. package/types/controllers/say.d.ts +0 -37
  525. package/types/controllers/search.d.ts +0 -247
  526. package/types/controllers/severless.d.ts +0 -24
  527. package/types/controllers/snippet.d.ts +0 -24
  528. package/types/controllers/topic.d.ts +0 -26
  529. package/types/controllers/user.d.ts +0 -70
  530. package/types/core/attach-request.d.ts +0 -2
  531. package/types/core/client.d.ts +0 -29
  532. package/types/core/error.d.ts +0 -6
  533. package/types/core/index.d.ts +0 -2
  534. package/types/dtos/comment.d.ts +0 -6
  535. package/types/index.d.ts +0 -7
  536. package/types/interfaces/adapter.d.ts +0 -14
  537. package/types/interfaces/client.d.ts +0 -13
  538. package/types/interfaces/controller.d.ts +0 -4
  539. package/types/interfaces/instance.d.ts +0 -7
  540. package/types/interfaces/options.d.ts +0 -1
  541. package/types/interfaces/params.d.ts +0 -4
  542. package/types/interfaces/request.d.ts +0 -43
  543. package/types/interfaces/types.d.ts +0 -2
  544. package/types/models/aggregate.d.ts +0 -53
  545. package/types/models/base.d.ts +0 -38
  546. package/types/models/category.d.ts +0 -22
  547. package/types/models/comment.d.ts +0 -37
  548. package/types/models/index.d.ts +0 -14
  549. package/types/models/link.d.ts +0 -22
  550. package/types/models/note.d.ts +0 -33
  551. package/types/models/page.d.ts +0 -14
  552. package/types/models/post.d.ts +0 -17
  553. package/types/models/project.d.ts +0 -11
  554. package/types/models/recently.d.ts +0 -26
  555. package/types/models/say.d.ts +0 -6
  556. package/types/models/setting.d.ts +0 -66
  557. package/types/models/snippet.d.ts +0 -18
  558. package/types/models/topic.d.ts +0 -8
  559. package/types/models/user.d.ts +0 -21
  560. package/types/utils/auto-bind.d.ts +0 -4
  561. package/types/utils/camelcase-keys.d.ts +0 -6
  562. package/types/utils/index.d.ts +0 -5
  563. package/types/utils/path.d.ts +0 -1
  564. package/types/vitest.config.d.ts +0 -2
@@ -0,0 +1,27 @@
1
+ import { autoBind } from '~/utils/auto-bind'
2
+
3
+ describe('test auto bind', () => {
4
+ it('should bind in class', () => {
5
+ class A {
6
+ constructor() {
7
+ autoBind(this)
8
+ }
9
+ name = 'A'
10
+ foo() {
11
+ return this?.name
12
+ }
13
+ }
14
+
15
+ expect(new A().foo()).toBe('A')
16
+
17
+ function tester(caller: any) {
18
+ return caller()
19
+ }
20
+ expect(tester(new A().foo)).toBe('A')
21
+
22
+ function tester2<T extends (...args: any) => any>(caller: T) {
23
+ return caller.call({})
24
+ }
25
+ expect(tester2(new A().foo)).toBe('A')
26
+ })
27
+ })
@@ -0,0 +1,86 @@
1
+ import camelcaseKeysLib from 'camelcase-keys'
2
+
3
+ import { camelcaseKeys } from '~/utils/camelcase-keys'
4
+
5
+ describe('test camelcase keys', () => {
6
+ it('case 1 normal', () => {
7
+ const obj = {
8
+ tool: 'too',
9
+ tool_name: 'too_name',
10
+
11
+ a_b: 1,
12
+ a: 1,
13
+ b: {
14
+ c_d: 1,
15
+ },
16
+ }
17
+
18
+ expect(camelcaseKeys(obj)).toStrictEqual(
19
+ camelcaseKeysLib(obj, {
20
+ deep: true,
21
+ }),
22
+ )
23
+ })
24
+
25
+ it('case 2: key has number', () => {
26
+ const obj = {
27
+ b147da0eaecbea00aeb62055: {
28
+ data: {},
29
+ },
30
+ a_c11ab_Ac: [
31
+ {
32
+ a_b: 1,
33
+ },
34
+ 1,
35
+ ],
36
+ }
37
+
38
+ expect(camelcaseKeys(obj)).toStrictEqual({
39
+ b147da0eaecbea00aeb62055: {
40
+ data: {},
41
+ },
42
+ aC11abAc: [
43
+ {
44
+ aB: 1,
45
+ },
46
+ 1,
47
+ ],
48
+ })
49
+ })
50
+
51
+ it('case 3: not a object', () => {
52
+ const value = 1
53
+ expect(camelcaseKeys(value)).toBe(value)
54
+ })
55
+
56
+ it('case 4: nullable value', () => {
57
+ let value = null
58
+ expect(camelcaseKeys(value)).toBe(value)
59
+
60
+ value = undefined
61
+ expect(camelcaseKeys(value)).toBe(value)
62
+
63
+ value = NaN
64
+ expect(camelcaseKeys(value)).toBe(value)
65
+ })
66
+
67
+ it('case 5: array', () => {
68
+ const arr = [
69
+ {
70
+ a_b: 1,
71
+ },
72
+ null,
73
+ undefined,
74
+ +0,
75
+ -0,
76
+ Infinity,
77
+ {
78
+ a_b: 1,
79
+ },
80
+ ]
81
+
82
+ expect(camelcaseKeys(arr)).toStrictEqual(
83
+ camelcaseKeysLib(arr, { deep: true }),
84
+ )
85
+ })
86
+ })
@@ -0,0 +1,33 @@
1
+ import { destructureData } from '~/utils'
2
+
3
+ describe('test utils', () => {
4
+ test('destructureData', () => {
5
+ const d = destructureData({ data: { a: 1, b: 2 } })
6
+ expect(d).toEqual({ a: 1, b: 2 })
7
+
8
+ const d2 = destructureData({ data: { a: 1, b: 2 }, c: 3 })
9
+ expect(d2).toEqual({ data: { a: 1, b: 2 }, c: 3 })
10
+
11
+ const d3 = destructureData({ data: [{ a: 1 }] })
12
+ expect(d3).toEqual({ data: [{ a: 1 }] })
13
+
14
+ const d4 = destructureData({ a: 1 })
15
+ expect(d4).toEqual({ a: 1 })
16
+
17
+ const d5 = destructureData([])
18
+ expect(d5).toEqual([])
19
+
20
+ const d6 = destructureData({ data: [] })
21
+ expect(d6).toEqual({ data: [] })
22
+
23
+ const d7 = destructureData(
24
+ (() => {
25
+ const d = { data: { a: 1 } }
26
+ Object.defineProperty(d, '$raw', { value: { a: 1 }, enumerable: false })
27
+ return d
28
+ })(),
29
+ )
30
+ expect(d7).toEqual({ a: 1 })
31
+ expect(d7.$raw).toBeTruthy()
32
+ })
33
+ })
@@ -0,0 +1,8 @@
1
+ import { resolveFullPath } from '~/utils/path'
2
+
3
+ describe('TEST path.utils', () => {
4
+ it('should resolve full path', () => {
5
+ const path = resolveFullPath('http://localhost:3000', '/api/v1/users')
6
+ expect(path).toBe('http://localhost:3000/api/v1/users')
7
+ })
8
+ })
@@ -0,0 +1,44 @@
1
+ import axios, { AxiosInstance, AxiosResponse } from 'axios'
2
+
3
+ import { IRequestAdapter } from '~/interfaces/adapter'
4
+
5
+ // eslint-disable-next-line spaced-comment
6
+ const $http = /*#__PURE__*/ axios.create({})
7
+
8
+ // ignore axios `method` declare not assignable to `Method`
9
+ export const axiosAdaptor: IRequestAdapter<
10
+ AxiosInstance,
11
+ AxiosResponse<unknown>
12
+ > = Object.preventExtensions({
13
+ get default() {
14
+ return $http
15
+ },
16
+ responseWrapper: {} as any as AxiosResponse<unknown>,
17
+ get(url, options) {
18
+ // @ts-ignore
19
+ return $http.get(url, options)
20
+ },
21
+ post(url, options) {
22
+ const { data, ...config } = options || {}
23
+ // @ts-ignore
24
+ return $http.post(url, data, config)
25
+ },
26
+ put(url, options) {
27
+ const { data, ...config } = options || {}
28
+ // @ts-ignore
29
+ return $http.put(url, data, config)
30
+ },
31
+ delete(url, options) {
32
+ const { ...config } = options || {}
33
+ // @ts-ignore
34
+ return $http.delete(url, config)
35
+ },
36
+ patch(url, options) {
37
+ const { data, ...config } = options || {}
38
+ // @ts-ignore
39
+ return $http.patch(url, data, config)
40
+ },
41
+ })
42
+
43
+ // eslint-disable-next-line import/no-default-export
44
+ export default axiosAdaptor
package/adaptors/ky.ts ADDED
@@ -0,0 +1,76 @@
1
+ import ky, { Options, ResponsePromise } from 'ky'
2
+ import { KyInstance } from 'ky/distribution/types/ky'
3
+
4
+ import { IRequestAdapter } from '~/interfaces/adapter'
5
+
6
+ // eslint-disable-next-line spaced-comment
7
+ const $http: KyInstance = /*#__PURE__*/ ky.create({})
8
+ // TODO post data not only json,
9
+ const getDataFromKyResponse = async (response: ResponsePromise) => {
10
+ const res = await response
11
+
12
+ const isJsonType = res.headers
13
+ .get('content-type')
14
+ ?.includes('application/json')
15
+ const json = isJsonType ? await res.clone().json() : null
16
+
17
+ const result: Awaited<ResponsePromise> & {
18
+ data: any
19
+ } = {
20
+ ...res,
21
+ data: json ?? (await res.clone().text()),
22
+ }
23
+ return result
24
+ }
25
+
26
+ export const createKyAdaptor = (ky: KyInstance) => {
27
+ const adaptor: IRequestAdapter<KyInstance, ResponsePromise> =
28
+ Object.preventExtensions({
29
+ get default() {
30
+ return ky
31
+ },
32
+
33
+ responseWrapper: {} as any as ResponsePromise,
34
+ get(url, options) {
35
+ return getDataFromKyResponse(ky.get(url, options))
36
+ },
37
+ post(url, options) {
38
+ const data = options.data
39
+ delete options.data
40
+ const kyOptions: Options = {
41
+ ...options,
42
+ json: data,
43
+ }
44
+
45
+ return getDataFromKyResponse(ky.post(url, kyOptions))
46
+ },
47
+ put(url, options) {
48
+ const data = options.data
49
+ delete options.data
50
+ const kyOptions: Options = {
51
+ ...options,
52
+ json: data,
53
+ }
54
+ return getDataFromKyResponse(ky.put(url, kyOptions))
55
+ },
56
+
57
+ patch(url, options) {
58
+ const data = options.data
59
+ delete options.data
60
+ const kyOptions: Options = {
61
+ ...options,
62
+ json: data,
63
+ }
64
+ return getDataFromKyResponse(ky.patch(url, kyOptions))
65
+ },
66
+ delete(url, options) {
67
+ return getDataFromKyResponse(ky.delete(url, options))
68
+ },
69
+ })
70
+ return adaptor
71
+ }
72
+
73
+ export const defaultKyAdaptor = createKyAdaptor($http)
74
+
75
+ // eslint-disable-next-line import/no-default-export
76
+ export default defaultKyAdaptor
@@ -0,0 +1,38 @@
1
+ import { RequestMethod, RequestResponse, extend } from 'umi-request'
2
+
3
+ import { IRequestAdapter } from '~/interfaces/adapter'
4
+
5
+ // eslint-disable-next-line spaced-comment
6
+ const $http = /*#__PURE__*/ extend({
7
+ getResponse: true,
8
+ requestType: 'json',
9
+ responseType: 'json',
10
+ })
11
+
12
+ export const umiAdaptor: IRequestAdapter<
13
+ RequestMethod<true>,
14
+ RequestResponse
15
+ > = Object.preventExtensions({
16
+ get default() {
17
+ return $http
18
+ },
19
+ responseWrapper: {} as any as RequestResponse,
20
+ get(url, options) {
21
+ return $http.get(url, options)
22
+ },
23
+ post(url, options) {
24
+ return $http.post(url, options)
25
+ },
26
+ put(url, options) {
27
+ return $http.put(url, options)
28
+ },
29
+ delete(url, options) {
30
+ return $http.delete(url, options)
31
+ },
32
+ patch(url, options) {
33
+ return $http.patch(url, options)
34
+ },
35
+ })
36
+
37
+ // eslint-disable-next-line import/no-default-export
38
+ export default umiAdaptor
@@ -1,8 +1,8 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { SortOrder } from '~/interfaces/options'
4
- import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
5
- import type {
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { SortOrder } from '~/interfaces/options'
4
+ import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
5
+ import {
6
6
  AggregateRoot,
7
7
  AggregateStat,
8
8
  AggregateTop,
@@ -12,7 +12,7 @@ import type {
12
12
  import { sortOrderToNumber } from '~/utils'
13
13
  import { autoBind } from '~/utils/auto-bind'
14
14
 
15
- import type { HTTPClient } from '../core'
15
+ import { HTTPClient } from '../core'
16
16
 
17
17
  declare module '../core/client' {
18
18
  interface HTTPClient<
@@ -1,8 +1,8 @@
1
- import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
2
- import type { PaginateResult } from '~/models/base'
1
+ import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
2
+ import { PaginateResult } from '~/models/base'
3
3
  import { autoBind } from '~/utils/auto-bind'
4
4
 
5
- import type { HTTPClient } from '../core'
5
+ import { HTTPClient } from '../core'
6
6
 
7
7
  export type SortOptions = {
8
8
  sortBy?: string
@@ -1,6 +1,6 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type {
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import {
4
4
  IRequestHandler,
5
5
  RequestProxyResult,
6
6
  ResponseProxyExtraRaw,
@@ -8,16 +8,16 @@ import type {
8
8
  import { attachRawFromOneToAnthor, destructureData } from '~/utils'
9
9
  import { autoBind } from '~/utils/auto-bind'
10
10
 
11
- import type { HTTPClient } from '../core/client'
11
+ import { HTTPClient } from '../core/client'
12
12
  import { RequestError } from '../core/error'
13
- import type {
13
+ import {
14
14
  CategoryEntries,
15
15
  CategoryModel,
16
+ CategoryType,
16
17
  CategoryWithChildrenModel,
17
18
  TagModel,
18
19
  } from '../models/category'
19
- import { CategoryType } from '../models/category'
20
- import type { PostModel } from '../models/post'
20
+ import { PostModel } from '../models/post'
21
21
 
22
22
  declare module '../core/client' {
23
23
  interface HTTPClient<
@@ -1,13 +1,13 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { PaginationParams } from '~/interfaces/params'
4
- import type { IRequestHandler } from '~/interfaces/request'
5
- import type { PaginateResult } from '~/models/base'
6
- import type { CommentModel } from '~/models/comment'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { PaginationParams } from '~/interfaces/params'
4
+ import { IRequestHandler } from '~/interfaces/request'
5
+ import { PaginateResult } from '~/models/base'
6
+ import { CommentModel } from '~/models/comment'
7
7
  import { autoBind } from '~/utils/auto-bind'
8
8
 
9
- import type { HTTPClient } from '../core'
10
- import type { CommentDto } from '../dtos/comment'
9
+ import { HTTPClient } from '../core'
10
+ import { CommentDto } from '../dtos/comment'
11
11
 
12
12
  declare module '../core/client' {
13
13
  interface HTTPClient<
@@ -1,8 +1,8 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { LinkModel } from '~/models/link'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { LinkModel } from '~/models/link'
3
3
  import { autoBind } from '~/utils/auto-bind'
4
4
 
5
- import type { HTTPClient } from '../core'
5
+ import { HTTPClient } from '../core'
6
6
  import { BaseCrudController } from './base'
7
7
 
8
8
  declare module '../core/client' {
@@ -1,13 +1,17 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
4
- import type { SelectFields } from '~/interfaces/types'
5
- import type { PaginateResult } from '~/models/base'
6
- import type { NoteModel, NoteWrappedPayload } from '~/models/note'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
4
+ import { SelectFields } from '~/interfaces/types'
5
+ import { PaginateResult } from '~/models/base'
6
+ import {
7
+ NoteModel,
8
+ NoteWrappedPayload,
9
+ NoteWrappedWithLikedPayload,
10
+ } from '~/models/note'
7
11
  import { autoBind } from '~/utils/auto-bind'
8
12
 
9
- import type { HTTPClient } from '../core/client'
10
- import type { SortOptions } from './base'
13
+ import { HTTPClient } from '../core/client'
14
+ import { SortOptions } from './base'
11
15
 
12
16
  declare module '../core/client' {
13
17
  interface HTTPClient<
@@ -40,11 +44,11 @@ export class NoteController<ResponseWrapper> implements IController {
40
44
  * 最新日记
41
45
  */
42
46
  getLatest() {
43
- return this.proxy.latest.get<NoteWrappedPayload>()
47
+ return this.proxy.latest.get<NoteWrappedWithLikedPayload>()
44
48
  }
45
49
 
46
50
  /**
47
- * 获取一篇日记, 根据 Id 查询需要鉴权
51
+ * 获取一篇日记,根据 Id 查询需要鉴权
48
52
  * @param id id | nid
49
53
  * @param password 访问密码
50
54
  */
@@ -68,7 +72,7 @@ export class NoteController<ResponseWrapper> implements IController {
68
72
  const [id, password = undefined, singleResult = false] = rest
69
73
 
70
74
  if (typeof id === 'number') {
71
- return this.proxy.nid(id.toString()).get<NoteWrappedPayload>({
75
+ return this.proxy.nid(id.toString()).get<NoteWrappedWithLikedPayload>({
72
76
  params: { password, single: singleResult ? '1' : undefined },
73
77
  })
74
78
  } else {
@@ -1,12 +1,12 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import type { SelectFields } from '~/interfaces/types'
5
- import type { PaginateResult } from '~/models/base'
6
- import type { PageModel } from '~/models/page'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler } from '~/interfaces/request'
4
+ import { SelectFields } from '~/interfaces/types'
5
+ import { PaginateResult } from '~/models/base'
6
+ import { PageModel } from '~/models/page'
7
7
  import { autoBind } from '~/utils/auto-bind'
8
8
 
9
- import type { HTTPClient } from '../core'
9
+ import { HTTPClient } from '../core'
10
10
 
11
11
  declare module '../core/client' {
12
12
  interface HTTPClient<
@@ -1,12 +1,12 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
4
- import type { SelectFields } from '~/interfaces/types'
5
- import type { PaginateResult } from '~/models/base'
6
- import type { PostModel } from '~/models/post'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
4
+ import { SelectFields } from '~/interfaces/types'
5
+ import { ModelWithLiked, PaginateResult } from '~/models/base'
6
+ import { PostModel } from '~/models/post'
7
7
  import { autoBind } from '~/utils/auto-bind'
8
8
 
9
- import type { HTTPClient } from '../core/client'
9
+ import { HTTPClient } from '../core/client'
10
10
 
11
11
  declare module '../core/client' {
12
12
  interface HTTPClient<
@@ -65,7 +65,7 @@ export class PostController<ResponseWrapper> implements IController {
65
65
  getPost(
66
66
  categoryName: string,
67
67
  slug: string,
68
- ): RequestProxyResult<PostModel, ResponseWrapper>
68
+ ): RequestProxyResult<ModelWithLiked<PostModel>, ResponseWrapper>
69
69
  /**
70
70
  * 根据 ID 查找文章
71
71
  * @param id
@@ -83,7 +83,7 @@ export class PostController<ResponseWrapper> implements IController {
83
83
  * 获取最新的文章
84
84
  */
85
85
  getLatest() {
86
- return this.proxy.latest.get<PostModel>()
86
+ return this.proxy.latest.get<ModelWithLiked<PostModel>>()
87
87
  }
88
88
 
89
89
  /**
@@ -1,8 +1,8 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { ProjectModel } from '~/models/project'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { ProjectModel } from '~/models/project'
3
3
  import { autoBind } from '~/utils/auto-bind'
4
4
 
5
- import type { HTTPClient } from '../core'
5
+ import { HTTPClient } from '../core'
6
6
  import { BaseCrudController } from './base'
7
7
 
8
8
  declare module '../core/client' {
@@ -1,10 +1,10 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import type { RecentlyModel } from '~/models/recently'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler } from '~/interfaces/request'
4
+ import { RecentlyModel } from '~/models/recently'
5
5
  import { autoBind } from '~/utils/auto-bind'
6
6
 
7
- import type { HTTPClient } from '../core'
7
+ import { HTTPClient } from '../core'
8
8
 
9
9
  declare module '../core/client' {
10
10
  interface HTTPClient<
@@ -1,10 +1,10 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import type { SayModel } from '~/models/say'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler } from '~/interfaces/request'
4
+ import { SayModel } from '~/models/say'
5
5
  import { autoBind } from '~/utils/auto-bind'
6
6
 
7
- import type { HTTPClient } from '../core'
7
+ import { HTTPClient } from '../core'
8
8
  import { BaseCrudController } from './base'
9
9
 
10
10
  declare module '../core/client' {
@@ -1,13 +1,13 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
4
- import type { PaginateResult } from '~/models/base'
5
- import type { NoteModel } from '~/models/note'
6
- import type { PostModel } from '~/models/post'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler, RequestProxyResult } from '~/interfaces/request'
4
+ import { PaginateResult } from '~/models/base'
5
+ import { NoteModel } from '~/models/note'
6
+ import { PostModel } from '~/models/post'
7
7
  import { autoBind } from '~/utils/auto-bind'
8
8
 
9
- import type { PageModel } from '..'
10
- import type { HTTPClient } from '../core'
9
+ import { PageModel } from '..'
10
+ import { HTTPClient } from '../core'
11
11
 
12
12
  declare module '../core/client' {
13
13
  interface HTTPClient<
@@ -1,9 +1,9 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler } from '~/interfaces/request'
4
4
  import { autoBind } from '~/utils/auto-bind'
5
5
 
6
- import type { HTTPClient } from '../core'
6
+ import { HTTPClient } from '../core'
7
7
 
8
8
  declare module '../core/client' {
9
9
  interface HTTPClient<
@@ -1,9 +1,9 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler } from '~/interfaces/request'
4
4
  import { autoBind } from '~/utils/auto-bind'
5
5
 
6
- import type { HTTPClient } from '../core'
6
+ import { HTTPClient } from '../core'
7
7
 
8
8
  declare module '../core/client' {
9
9
  interface HTTPClient<
@@ -1,10 +1,10 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import type { TopicModel } from '~/models/topic'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler } from '~/interfaces/request'
4
+ import { TopicModel } from '~/models/topic'
5
5
  import { autoBind } from '~/utils/auto-bind'
6
6
 
7
- import type { HTTPClient } from '../core'
7
+ import { HTTPClient } from '../core'
8
8
  import { BaseCrudController } from './base'
9
9
 
10
10
  declare module '../core/client' {
@@ -1,10 +1,10 @@
1
- import type { IRequestAdapter } from '~/interfaces/adapter'
2
- import type { IController } from '~/interfaces/controller'
3
- import type { IRequestHandler } from '~/interfaces/request'
4
- import type { TLogin, UserModel } from '~/models/user'
1
+ import { IRequestAdapter } from '~/interfaces/adapter'
2
+ import { IController } from '~/interfaces/controller'
3
+ import { IRequestHandler } from '~/interfaces/request'
4
+ import { TLogin, UserModel } from '~/models/user'
5
5
  import { autoBind } from '~/utils/auto-bind'
6
6
 
7
- import type { HTTPClient } from '../core'
7
+ import { HTTPClient } from '../core'
8
8
 
9
9
  declare module '../core/client' {
10
10
  interface HTTPClient<