@kiyasov/platform-hono 1.4.0 → 1.4.2

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 (333) hide show
  1. package/.prettierignore +1 -0
  2. package/.prettierrc +3 -0
  3. package/dist/build.d.ts +1 -0
  4. package/dist/build.js +28 -0
  5. package/dist/build.js.map +1 -0
  6. package/dist/cjs/index.d.ts +4 -4
  7. package/dist/cjs/src/adapters/hono-adapter.d.ts +22 -15
  8. package/dist/cjs/src/adapters/hono-adapter.js +60 -58
  9. package/dist/cjs/src/adapters/hono-adapter.js.map +1 -1
  10. package/dist/cjs/src/adapters/index.d.ts +1 -1
  11. package/dist/cjs/src/drivers/graphQLUpload/GraphQLUpload.d.ts +2 -2
  12. package/dist/cjs/src/drivers/graphQLUpload/GraphQLUpload.js +6 -6
  13. package/dist/cjs/src/drivers/graphQLUpload/GraphQLUpload.js.map +1 -1
  14. package/dist/cjs/src/drivers/graphQLUpload/Upload.d.ts +1 -1
  15. package/dist/cjs/src/drivers/graphQLUpload/fs-capacitor.d.ts +8 -8
  16. package/dist/cjs/src/drivers/graphQLUpload/fs-capacitor.js +30 -30
  17. package/dist/cjs/src/drivers/graphQLUpload/fs-capacitor.js.map +1 -1
  18. package/dist/cjs/src/drivers/graphQLUpload/index.d.ts +4 -4
  19. package/dist/cjs/src/drivers/graphQLUpload/processRequest.d.ts +2 -2
  20. package/dist/cjs/src/drivers/graphQLUpload/processRequest.js +6 -6
  21. package/dist/cjs/src/drivers/graphQLUpload/processRequest.js.map +1 -1
  22. package/dist/cjs/src/drivers/graphql.driver.d.ts +4 -4
  23. package/dist/cjs/src/drivers/graphql.driver.js +12 -12
  24. package/dist/cjs/src/drivers/graphql.driver.js.map +1 -1
  25. package/dist/cjs/src/drivers/index.d.ts +2 -2
  26. package/dist/cjs/src/drivers/services/plugins-explorer.service.d.ts +1 -1
  27. package/dist/cjs/src/drivers/services/plugins-explorer.service.js.map +1 -1
  28. package/dist/cjs/src/interfaces/hono.interface.d.ts +1 -1
  29. package/dist/cjs/src/interfaces/index.d.ts +2 -2
  30. package/dist/cjs/src/interfaces/nest-hono-application.interface.d.ts +4 -4
  31. package/dist/cjs/src/multer/decorators/index.d.ts +2 -2
  32. package/dist/cjs/src/multer/decorators/uploaded-files-decorator.d.ts +1 -1
  33. package/dist/cjs/src/multer/decorators/uploaded-files-decorator.js.map +1 -1
  34. package/dist/cjs/src/multer/fs/index.js +8 -8
  35. package/dist/cjs/src/multer/fs/index.js.map +1 -1
  36. package/dist/cjs/src/multer/index.d.ts +4 -4
  37. package/dist/cjs/src/multer/interceptors/any-files-interceptor.d.ts +2 -2
  38. package/dist/cjs/src/multer/interceptors/any-files-interceptor.js +5 -5
  39. package/dist/cjs/src/multer/interceptors/any-files-interceptor.js.map +1 -1
  40. package/dist/cjs/src/multer/interceptors/file-fields-interceptor.d.ts +3 -3
  41. package/dist/cjs/src/multer/interceptors/file-fields-interceptor.js +5 -5
  42. package/dist/cjs/src/multer/interceptors/file-fields-interceptor.js.map +1 -1
  43. package/dist/cjs/src/multer/interceptors/file-interceptor.d.ts +2 -2
  44. package/dist/cjs/src/multer/interceptors/file-interceptor.js +5 -5
  45. package/dist/cjs/src/multer/interceptors/file-interceptor.js.map +1 -1
  46. package/dist/cjs/src/multer/interceptors/files-interceptor.d.ts +2 -2
  47. package/dist/cjs/src/multer/interceptors/files-interceptor.js +5 -5
  48. package/dist/cjs/src/multer/interceptors/files-interceptor.js.map +1 -1
  49. package/dist/cjs/src/multer/interceptors/index.d.ts +4 -4
  50. package/dist/cjs/src/multer/multipart/exceptions.js.map +1 -1
  51. package/dist/cjs/src/multer/multipart/file.d.ts +1 -1
  52. package/dist/cjs/src/multer/multipart/file.js.map +1 -1
  53. package/dist/cjs/src/multer/multipart/filter.d.ts +1 -1
  54. package/dist/cjs/src/multer/multipart/handlers/any-files.d.ts +6 -4
  55. package/dist/cjs/src/multer/multipart/handlers/any-files.js +1 -1
  56. package/dist/cjs/src/multer/multipart/handlers/any-files.js.map +1 -1
  57. package/dist/cjs/src/multer/multipart/handlers/file-fields.d.ts +9 -6
  58. package/dist/cjs/src/multer/multipart/handlers/file-fields.js +8 -20
  59. package/dist/cjs/src/multer/multipart/handlers/file-fields.js.map +1 -1
  60. package/dist/cjs/src/multer/multipart/handlers/index.d.ts +1 -1
  61. package/dist/cjs/src/multer/multipart/handlers/multiple-files.d.ts +6 -4
  62. package/dist/cjs/src/multer/multipart/handlers/multiple-files.js +1 -1
  63. package/dist/cjs/src/multer/multipart/handlers/multiple-files.js.map +1 -1
  64. package/dist/cjs/src/multer/multipart/handlers/single-file.d.ts +6 -4
  65. package/dist/cjs/src/multer/multipart/handlers/single-file.js +6 -6
  66. package/dist/cjs/src/multer/multipart/handlers/single-file.js.map +1 -1
  67. package/dist/cjs/src/multer/multipart/index.d.ts +3 -3
  68. package/dist/cjs/src/multer/multipart/options.js.map +1 -1
  69. package/dist/cjs/src/multer/multipart/request.d.ts +8 -7
  70. package/dist/cjs/src/multer/multipart/request.js +6 -6
  71. package/dist/cjs/src/multer/multipart/request.js.map +1 -1
  72. package/dist/cjs/src/multer/storage/disk-storage.d.ts +2 -2
  73. package/dist/cjs/src/multer/storage/disk-storage.js +5 -5
  74. package/dist/cjs/src/multer/storage/disk-storage.js.map +1 -1
  75. package/dist/cjs/src/multer/storage/index.d.ts +3 -3
  76. package/dist/cjs/src/multer/storage/memory-storage.d.ts +4 -3
  77. package/dist/cjs/src/multer/storage/memory-storage.js +1 -1
  78. package/dist/cjs/src/multer/storage/memory-storage.js.map +1 -1
  79. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  80. package/dist/esm/build.d.ts +1 -0
  81. package/dist/esm/build.js +28 -0
  82. package/dist/esm/build.js.map +1 -0
  83. package/dist/esm/index.d.ts +4 -4
  84. package/dist/esm/index.js +4 -4
  85. package/dist/esm/src/adapters/hono-adapter.d.ts +22 -15
  86. package/dist/esm/src/adapters/hono-adapter.js +69 -67
  87. package/dist/esm/src/adapters/hono-adapter.js.map +1 -1
  88. package/dist/esm/src/adapters/index.d.ts +1 -1
  89. package/dist/esm/src/adapters/index.js +1 -1
  90. package/dist/esm/src/drivers/graphQLUpload/GraphQLUpload.d.ts +2 -2
  91. package/dist/esm/src/drivers/graphQLUpload/GraphQLUpload.js +7 -7
  92. package/dist/esm/src/drivers/graphQLUpload/GraphQLUpload.js.map +1 -1
  93. package/dist/esm/src/drivers/graphQLUpload/Upload.d.ts +1 -1
  94. package/dist/esm/src/drivers/graphQLUpload/fs-capacitor.d.ts +8 -8
  95. package/dist/esm/src/drivers/graphQLUpload/fs-capacitor.js +35 -35
  96. package/dist/esm/src/drivers/graphQLUpload/fs-capacitor.js.map +1 -1
  97. package/dist/esm/src/drivers/graphQLUpload/index.d.ts +4 -4
  98. package/dist/esm/src/drivers/graphQLUpload/index.js +4 -4
  99. package/dist/esm/src/drivers/graphQLUpload/processRequest.d.ts +2 -2
  100. package/dist/esm/src/drivers/graphQLUpload/processRequest.js +7 -7
  101. package/dist/esm/src/drivers/graphQLUpload/processRequest.js.map +1 -1
  102. package/dist/esm/src/drivers/graphql.driver.d.ts +4 -4
  103. package/dist/esm/src/drivers/graphql.driver.js +16 -16
  104. package/dist/esm/src/drivers/graphql.driver.js.map +1 -1
  105. package/dist/esm/src/drivers/index.d.ts +2 -2
  106. package/dist/esm/src/drivers/index.js +2 -2
  107. package/dist/esm/src/drivers/services/plugins-explorer.service.d.ts +1 -1
  108. package/dist/esm/src/drivers/services/plugins-explorer.service.js.map +1 -1
  109. package/dist/esm/src/interfaces/hono.interface.d.ts +1 -1
  110. package/dist/esm/src/interfaces/index.d.ts +2 -2
  111. package/dist/esm/src/interfaces/index.js +2 -2
  112. package/dist/esm/src/interfaces/nest-hono-application.interface.d.ts +4 -4
  113. package/dist/esm/src/multer/decorators/index.d.ts +2 -2
  114. package/dist/esm/src/multer/decorators/index.js +2 -2
  115. package/dist/esm/src/multer/decorators/uploaded-files-decorator.d.ts +1 -1
  116. package/dist/esm/src/multer/decorators/uploaded-files-decorator.js.map +1 -1
  117. package/dist/esm/src/multer/fs/index.js +7 -7
  118. package/dist/esm/src/multer/fs/index.js.map +1 -1
  119. package/dist/esm/src/multer/index.d.ts +4 -4
  120. package/dist/esm/src/multer/index.js +4 -4
  121. package/dist/esm/src/multer/interceptors/any-files-interceptor.d.ts +2 -2
  122. package/dist/esm/src/multer/interceptors/any-files-interceptor.js +7 -7
  123. package/dist/esm/src/multer/interceptors/any-files-interceptor.js.map +1 -1
  124. package/dist/esm/src/multer/interceptors/file-fields-interceptor.d.ts +3 -3
  125. package/dist/esm/src/multer/interceptors/file-fields-interceptor.js +7 -7
  126. package/dist/esm/src/multer/interceptors/file-fields-interceptor.js.map +1 -1
  127. package/dist/esm/src/multer/interceptors/file-interceptor.d.ts +2 -2
  128. package/dist/esm/src/multer/interceptors/file-interceptor.js +7 -7
  129. package/dist/esm/src/multer/interceptors/file-interceptor.js.map +1 -1
  130. package/dist/esm/src/multer/interceptors/files-interceptor.d.ts +2 -2
  131. package/dist/esm/src/multer/interceptors/files-interceptor.js +7 -7
  132. package/dist/esm/src/multer/interceptors/files-interceptor.js.map +1 -1
  133. package/dist/esm/src/multer/interceptors/index.d.ts +4 -4
  134. package/dist/esm/src/multer/interceptors/index.js +4 -4
  135. package/dist/esm/src/multer/multipart/exceptions.js.map +1 -1
  136. package/dist/esm/src/multer/multipart/file.d.ts +1 -1
  137. package/dist/esm/src/multer/multipart/file.js.map +1 -1
  138. package/dist/esm/src/multer/multipart/filter.d.ts +1 -1
  139. package/dist/esm/src/multer/multipart/handlers/any-files.d.ts +6 -4
  140. package/dist/esm/src/multer/multipart/handlers/any-files.js +3 -3
  141. package/dist/esm/src/multer/multipart/handlers/any-files.js.map +1 -1
  142. package/dist/esm/src/multer/multipart/handlers/file-fields.d.ts +9 -6
  143. package/dist/esm/src/multer/multipart/handlers/file-fields.js +11 -23
  144. package/dist/esm/src/multer/multipart/handlers/file-fields.js.map +1 -1
  145. package/dist/esm/src/multer/multipart/handlers/index.d.ts +1 -1
  146. package/dist/esm/src/multer/multipart/handlers/multiple-files.d.ts +6 -4
  147. package/dist/esm/src/multer/multipart/handlers/multiple-files.js +4 -4
  148. package/dist/esm/src/multer/multipart/handlers/multiple-files.js.map +1 -1
  149. package/dist/esm/src/multer/multipart/handlers/single-file.d.ts +6 -4
  150. package/dist/esm/src/multer/multipart/handlers/single-file.js +8 -8
  151. package/dist/esm/src/multer/multipart/handlers/single-file.js.map +1 -1
  152. package/dist/esm/src/multer/multipart/index.d.ts +3 -3
  153. package/dist/esm/src/multer/multipart/index.js +2 -2
  154. package/dist/esm/src/multer/multipart/options.js.map +1 -1
  155. package/dist/esm/src/multer/multipart/request.d.ts +8 -7
  156. package/dist/esm/src/multer/multipart/request.js +7 -7
  157. package/dist/esm/src/multer/multipart/request.js.map +1 -1
  158. package/dist/esm/src/multer/storage/disk-storage.d.ts +2 -2
  159. package/dist/esm/src/multer/storage/disk-storage.js +9 -9
  160. package/dist/esm/src/multer/storage/disk-storage.js.map +1 -1
  161. package/dist/esm/src/multer/storage/index.d.ts +3 -3
  162. package/dist/esm/src/multer/storage/index.js +3 -3
  163. package/dist/esm/src/multer/storage/memory-storage.d.ts +3 -3
  164. package/dist/esm/src/multer/storage/memory-storage.js +1 -1
  165. package/dist/esm/src/multer/storage/memory-storage.js.map +1 -1
  166. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  167. package/dist/index.d.ts +4 -0
  168. package/dist/index.js +5 -0
  169. package/dist/index.js.map +1 -0
  170. package/dist/src/adapters/hono-adapter.d.ts +66 -0
  171. package/dist/src/adapters/hono-adapter.js +270 -0
  172. package/dist/src/adapters/hono-adapter.js.map +1 -0
  173. package/dist/src/adapters/index.d.ts +1 -0
  174. package/dist/src/adapters/index.js +2 -0
  175. package/dist/src/adapters/index.js.map +1 -0
  176. package/dist/src/drivers/constants/apollo.constants.d.ts +1 -0
  177. package/dist/src/drivers/constants/apollo.constants.js +2 -0
  178. package/dist/src/drivers/constants/apollo.constants.js.map +1 -0
  179. package/dist/src/drivers/constants/index.d.ts +1 -0
  180. package/dist/src/drivers/constants/index.js +2 -0
  181. package/dist/src/drivers/constants/index.js.map +1 -0
  182. package/dist/src/drivers/graphQLUpload/GraphQLUpload.d.ts +3 -0
  183. package/dist/src/drivers/graphQLUpload/GraphQLUpload.js +18 -0
  184. package/dist/src/drivers/graphQLUpload/GraphQLUpload.js.map +1 -0
  185. package/dist/src/drivers/graphQLUpload/Upload.d.ts +16 -0
  186. package/dist/src/drivers/graphQLUpload/Upload.js +17 -0
  187. package/dist/src/drivers/graphQLUpload/Upload.js.map +1 -0
  188. package/dist/src/drivers/graphQLUpload/fs-capacitor.d.ts +42 -0
  189. package/dist/src/drivers/graphQLUpload/fs-capacitor.js +185 -0
  190. package/dist/src/drivers/graphQLUpload/fs-capacitor.js.map +1 -0
  191. package/dist/src/drivers/graphQLUpload/index.d.ts +4 -0
  192. package/dist/src/drivers/graphQLUpload/index.js +5 -0
  193. package/dist/src/drivers/graphQLUpload/index.js.map +1 -0
  194. package/dist/src/drivers/graphQLUpload/processRequest.d.ts +2 -0
  195. package/dist/src/drivers/graphQLUpload/processRequest.js +47 -0
  196. package/dist/src/drivers/graphQLUpload/processRequest.js.map +1 -0
  197. package/dist/src/drivers/graphql.driver.d.ts +20 -0
  198. package/dist/src/drivers/graphql.driver.js +125 -0
  199. package/dist/src/drivers/graphql.driver.js.map +1 -0
  200. package/dist/src/drivers/index.d.ts +2 -0
  201. package/dist/src/drivers/index.js +3 -0
  202. package/dist/src/drivers/index.js.map +1 -0
  203. package/dist/src/drivers/services/plugins-explorer.service.d.ts +9 -0
  204. package/dist/src/drivers/services/plugins-explorer.service.js +22 -0
  205. package/dist/src/drivers/services/plugins-explorer.service.js.map +1 -0
  206. package/dist/src/interfaces/hono.interface.d.ts +4 -0
  207. package/dist/src/interfaces/hono.interface.js +2 -0
  208. package/dist/src/interfaces/hono.interface.js.map +1 -0
  209. package/dist/src/interfaces/index.d.ts +2 -0
  210. package/dist/src/interfaces/index.js +3 -0
  211. package/dist/src/interfaces/index.js.map +1 -0
  212. package/dist/src/interfaces/nest-hono-application.interface.d.ts +18 -0
  213. package/dist/src/interfaces/nest-hono-application.interface.js +2 -0
  214. package/dist/src/interfaces/nest-hono-application.interface.js.map +1 -0
  215. package/dist/src/multer/decorators/index.d.ts +2 -0
  216. package/dist/src/multer/decorators/index.js +3 -0
  217. package/dist/src/multer/decorators/index.js.map +1 -0
  218. package/dist/src/multer/decorators/uploaded-file-decorator.d.ts +1 -0
  219. package/dist/src/multer/decorators/uploaded-file-decorator.js +7 -0
  220. package/dist/src/multer/decorators/uploaded-file-decorator.js.map +1 -0
  221. package/dist/src/multer/decorators/uploaded-files-decorator.d.ts +1 -0
  222. package/dist/src/multer/decorators/uploaded-files-decorator.js +7 -0
  223. package/dist/src/multer/decorators/uploaded-files-decorator.js.map +1 -0
  224. package/dist/src/multer/fs/index.d.ts +2 -0
  225. package/dist/src/multer/fs/index.js +18 -0
  226. package/dist/src/multer/fs/index.js.map +1 -0
  227. package/dist/src/multer/index.d.ts +4 -0
  228. package/dist/src/multer/index.js +5 -0
  229. package/dist/src/multer/index.js.map +1 -0
  230. package/dist/src/multer/interceptors/any-files-interceptor.d.ts +3 -0
  231. package/dist/src/multer/interceptors/any-files-interceptor.js +27 -0
  232. package/dist/src/multer/interceptors/any-files-interceptor.js.map +1 -0
  233. package/dist/src/multer/interceptors/file-fields-interceptor.d.ts +4 -0
  234. package/dist/src/multer/interceptors/file-fields-interceptor.js +29 -0
  235. package/dist/src/multer/interceptors/file-fields-interceptor.js.map +1 -0
  236. package/dist/src/multer/interceptors/file-interceptor.d.ts +3 -0
  237. package/dist/src/multer/interceptors/file-interceptor.js +27 -0
  238. package/dist/src/multer/interceptors/file-interceptor.js.map +1 -0
  239. package/dist/src/multer/interceptors/files-interceptor.d.ts +3 -0
  240. package/dist/src/multer/interceptors/files-interceptor.js +27 -0
  241. package/dist/src/multer/interceptors/files-interceptor.js.map +1 -0
  242. package/dist/src/multer/interceptors/index.d.ts +4 -0
  243. package/dist/src/multer/interceptors/index.js +5 -0
  244. package/dist/src/multer/interceptors/index.js.map +1 -0
  245. package/dist/src/multer/multipart/exceptions.d.ts +1 -0
  246. package/dist/src/multer/multipart/exceptions.js +18 -0
  247. package/dist/src/multer/multipart/exceptions.js.map +1 -0
  248. package/dist/src/multer/multipart/file.d.ts +9 -0
  249. package/dist/src/multer/multipart/file.js +6 -0
  250. package/dist/src/multer/multipart/file.js.map +1 -0
  251. package/dist/src/multer/multipart/filter.d.ts +6 -0
  252. package/dist/src/multer/multipart/filter.js +18 -0
  253. package/dist/src/multer/multipart/filter.js.map +1 -0
  254. package/dist/src/multer/multipart/handlers/any-files.d.ts +10 -0
  255. package/dist/src/multer/multipart/handlers/any-files.js +29 -0
  256. package/dist/src/multer/multipart/handlers/any-files.js.map +1 -0
  257. package/dist/src/multer/multipart/handlers/file-fields.d.ts +17 -0
  258. package/dist/src/multer/multipart/handlers/file-fields.js +40 -0
  259. package/dist/src/multer/multipart/handlers/file-fields.js.map +1 -0
  260. package/dist/src/multer/multipart/handlers/index.d.ts +1 -0
  261. package/dist/src/multer/multipart/handlers/index.js +2 -0
  262. package/dist/src/multer/multipart/handlers/index.js.map +1 -0
  263. package/dist/src/multer/multipart/handlers/multiple-files.d.ts +10 -0
  264. package/dist/src/multer/multipart/handlers/multiple-files.js +36 -0
  265. package/dist/src/multer/multipart/handlers/multiple-files.js.map +1 -0
  266. package/dist/src/multer/multipart/handlers/single-file.d.ts +10 -0
  267. package/dist/src/multer/multipart/handlers/single-file.js +41 -0
  268. package/dist/src/multer/multipart/handlers/single-file.js.map +1 -0
  269. package/dist/src/multer/multipart/index.d.ts +3 -0
  270. package/dist/src/multer/multipart/index.js +3 -0
  271. package/dist/src/multer/multipart/index.js.map +1 -0
  272. package/dist/src/multer/multipart/options.d.ts +21 -0
  273. package/dist/src/multer/multipart/options.js +19 -0
  274. package/dist/src/multer/multipart/options.js.map +1 -0
  275. package/dist/src/multer/multipart/request.d.ts +15 -0
  276. package/dist/src/multer/multipart/request.js +17 -0
  277. package/dist/src/multer/multipart/request.js.map +1 -0
  278. package/dist/src/multer/storage/disk-storage.d.ts +31 -0
  279. package/dist/src/multer/storage/disk-storage.js +59 -0
  280. package/dist/src/multer/storage/disk-storage.js.map +1 -0
  281. package/dist/src/multer/storage/index.d.ts +3 -0
  282. package/dist/src/multer/storage/index.js +4 -0
  283. package/dist/src/multer/storage/index.js.map +1 -0
  284. package/dist/src/multer/storage/memory-storage.d.ts +19 -0
  285. package/dist/src/multer/storage/memory-storage.js +23 -0
  286. package/dist/src/multer/storage/memory-storage.js.map +1 -0
  287. package/dist/src/multer/storage/storage.d.ts +13 -0
  288. package/dist/src/multer/storage/storage.js +2 -0
  289. package/dist/src/multer/storage/storage.js.map +1 -0
  290. package/dist/tsconfig.tsbuildinfo +1 -0
  291. package/eslint.config.mjs +25 -0
  292. package/index.ts +4 -4
  293. package/package.json +20 -13
  294. package/src/adapters/hono-adapter.ts +113 -91
  295. package/src/adapters/index.ts +1 -1
  296. package/src/drivers/graphQLUpload/GraphQLUpload.ts +8 -7
  297. package/src/drivers/graphQLUpload/Upload.ts +1 -1
  298. package/src/drivers/graphQLUpload/fs-capacitor.ts +45 -45
  299. package/src/drivers/graphQLUpload/index.ts +4 -4
  300. package/src/drivers/graphQLUpload/processRequest.ts +11 -10
  301. package/src/drivers/graphql.driver.ts +24 -23
  302. package/src/drivers/index.ts +2 -2
  303. package/src/drivers/services/plugins-explorer.service.ts +2 -1
  304. package/src/interfaces/hono.interface.ts +1 -1
  305. package/src/interfaces/index.ts +2 -2
  306. package/src/interfaces/nest-hono-application.interface.ts +9 -9
  307. package/src/multer/decorators/index.ts +2 -2
  308. package/src/multer/decorators/uploaded-files-decorator.ts +1 -1
  309. package/src/multer/fs/index.ts +7 -11
  310. package/src/multer/index.ts +4 -4
  311. package/src/multer/interceptors/any-files-interceptor.ts +10 -13
  312. package/src/multer/interceptors/file-fields-interceptor.ts +10 -13
  313. package/src/multer/interceptors/file-interceptor.ts +10 -13
  314. package/src/multer/interceptors/files-interceptor.ts +10 -13
  315. package/src/multer/interceptors/index.ts +4 -4
  316. package/src/multer/multipart/exceptions.ts +1 -0
  317. package/src/multer/multipart/file.ts +2 -1
  318. package/src/multer/multipart/filter.ts +2 -2
  319. package/src/multer/multipart/handlers/any-files.ts +9 -7
  320. package/src/multer/multipart/handlers/file-fields.ts +47 -47
  321. package/src/multer/multipart/handlers/index.ts +1 -1
  322. package/src/multer/multipart/handlers/multiple-files.ts +11 -10
  323. package/src/multer/multipart/handlers/single-file.ts +26 -13
  324. package/src/multer/multipart/index.ts +3 -3
  325. package/src/multer/multipart/options.ts +1 -0
  326. package/src/multer/multipart/request.ts +33 -20
  327. package/src/multer/storage/disk-storage.ts +14 -14
  328. package/src/multer/storage/index.ts +3 -3
  329. package/src/multer/storage/memory-storage.ts +4 -3
  330. package/src/multer/storage/storage.ts +1 -0
  331. package/.yarn/install-state.gz +0 -0
  332. package/.yarnrc.yml +0 -1
  333. package/src/multer/crypto/index.ts +0 -4
@@ -1,16 +1,16 @@
1
- import { randomBytes } from "crypto";
2
- import { read, open, closeSync, unlinkSync, write, close, unlink } from "fs";
3
- import { tmpdir } from "os";
4
- import { join } from "path";
5
- import { Readable, ReadableOptions, Writable, WritableOptions } from "stream";
6
- import { EventEmitter } from "events";
1
+ import { randomBytes } from 'crypto';
2
+ import { EventEmitter } from 'events';
3
+ import { read, open, closeSync, unlinkSync, write, close, unlink } from 'fs';
4
+ import { tmpdir } from 'os';
5
+ import { join } from 'path';
6
+ import { Readable, ReadableOptions, Writable, WritableOptions } from 'stream';
7
7
 
8
8
  export class ReadAfterDestroyedError extends Error {}
9
9
  export class ReadAfterReleasedError extends Error {}
10
10
 
11
11
  export interface ReadStreamOptions {
12
- highWaterMark?: ReadableOptions["highWaterMark"];
13
- encoding?: ReadableOptions["encoding"];
12
+ highWaterMark?: ReadableOptions['highWaterMark'];
13
+ encoding?: ReadableOptions['encoding'];
14
14
  }
15
15
 
16
16
  // Use a “proxy” event emitter configured to have an infinite maximum number of
@@ -19,7 +19,7 @@ export interface ReadStreamOptions {
19
19
  // https://github.com/mike-marcacci/fs-capacitor/issues/30
20
20
  const processExitProxy = new EventEmitter();
21
21
  processExitProxy.setMaxListeners(Infinity);
22
- process.once("exit", () => processExitProxy.emit("exit"));
22
+ process.once('exit', () => processExitProxy.emit('exit'));
23
23
 
24
24
  export class ReadStream extends Readable {
25
25
  private _pos: number = 0;
@@ -37,8 +37,8 @@ export class ReadStream extends Readable {
37
37
  _read(n: number): void {
38
38
  if (this.destroyed) return;
39
39
 
40
- if (typeof this._writeStream["_fd"] !== "number") {
41
- this._writeStream.once("ready", () => this._read(n));
40
+ if (typeof this._writeStream['_fd'] !== 'number') {
41
+ this._writeStream.once('ready', () => this._read(n));
42
42
  return;
43
43
  }
44
44
 
@@ -46,7 +46,7 @@ export class ReadStream extends Readable {
46
46
  // `bytesRead`, and discard the rest. This prevents node from having to zero
47
47
  // out the entire allocation first.
48
48
  const buf = new Uint8Array(Buffer.allocUnsafe(n).buffer);
49
- read(this._writeStream["_fd"], buf, 0, n, this._pos, (error, bytesRead) => {
49
+ read(this._writeStream['_fd'], buf, 0, n, this._pos, (error, bytesRead) => {
50
50
  if (error) this.destroy(error);
51
51
 
52
52
  // Push any read bytes into the local stream buffer.
@@ -60,14 +60,14 @@ export class ReadStream extends Readable {
60
60
  // then this stream has reached the end.
61
61
  if (
62
62
  (
63
- this._writeStream as any as {
63
+ this._writeStream as unknown as {
64
64
  _writableState: { finished: boolean };
65
65
  }
66
66
  )._writableState.finished
67
67
  ) {
68
68
  // Check if we have consumed the whole file up to where
69
69
  // the write stream has written before ending the stream
70
- if (this._pos < (this._writeStream as any as { _pos: number })._pos)
70
+ if (this._pos < (this._writeStream as unknown as { _pos: number })._pos)
71
71
  this._read(n);
72
72
  else this.push(null);
73
73
  return;
@@ -75,20 +75,20 @@ export class ReadStream extends Readable {
75
75
 
76
76
  // Otherwise, wait for the write stream to add more data or finish.
77
77
  const retry = (): void => {
78
- this._writeStream.off("finish", retry);
79
- this._writeStream.off("write", retry);
78
+ this._writeStream.off('finish', retry);
79
+ this._writeStream.off('write', retry);
80
80
  this._read(n);
81
81
  };
82
82
 
83
- this._writeStream.on("finish", retry);
84
- this._writeStream.on("write", retry);
83
+ this._writeStream.on('finish', retry);
84
+ this._writeStream.on('write', retry);
85
85
  });
86
86
  }
87
87
  }
88
88
 
89
89
  export interface WriteStreamOptions {
90
- highWaterMark?: WritableOptions["highWaterMark"];
91
- defaultEncoding?: WritableOptions["defaultEncoding"];
90
+ highWaterMark?: WritableOptions['highWaterMark'];
91
+ defaultEncoding?: WritableOptions['defaultEncoding'];
92
92
  tmpdir?: () => string;
93
93
  }
94
94
 
@@ -115,21 +115,21 @@ export class WriteStream extends Writable {
115
115
 
116
116
  this._path = join(
117
117
  (options?.tmpdir ?? tmpdir)(),
118
- `capacitor-${buffer.toString("hex")}.tmp`
118
+ `capacitor-${buffer.toString('hex')}.tmp`,
119
119
  );
120
120
 
121
121
  // Create a file in the OS's temporary files directory.
122
- open(this._path, "wx+", 0o600, (error, fd) => {
122
+ open(this._path, 'wx+', 0o600, (error, fd) => {
123
123
  if (error) {
124
124
  this.destroy(error);
125
125
  return;
126
126
  }
127
127
 
128
128
  // Cleanup when the process exits or is killed.
129
- processExitProxy.once("exit", this._cleanupSync);
129
+ processExitProxy.once('exit', this._cleanupSync);
130
130
 
131
131
  this._fd = fd;
132
- this.emit("ready");
132
+ this.emit('ready');
133
133
  });
134
134
  });
135
135
  }
@@ -138,7 +138,7 @@ export class WriteStream extends Writable {
138
138
  const fd = this._fd;
139
139
  const path = this._path;
140
140
 
141
- if (typeof fd !== "number" || typeof path !== "string") {
141
+ if (typeof fd !== 'number' || typeof path !== 'string') {
142
142
  callback(null);
143
143
  return;
144
144
  }
@@ -154,19 +154,19 @@ export class WriteStream extends Writable {
154
154
 
155
155
  // We avoid removing this until now in case an exit occurs while
156
156
  // asyncronously cleaning up.
157
- processExitProxy.off("exit", this._cleanupSync);
157
+ processExitProxy.off('exit', this._cleanupSync);
158
158
  callback(unlinkError ?? closeError);
159
159
  });
160
160
  });
161
161
  };
162
162
 
163
163
  _cleanupSync = (): void => {
164
- processExitProxy.off("exit", this._cleanupSync);
164
+ processExitProxy.off('exit', this._cleanupSync);
165
165
 
166
- if (typeof this._fd === "number")
166
+ if (typeof this._fd === 'number')
167
167
  try {
168
168
  closeSync(this._fd);
169
- } catch (error) {
169
+ } catch {
170
170
  // An error here probably means the fd was already closed, but we can
171
171
  // still try to unlink the file.
172
172
  }
@@ -175,15 +175,15 @@ export class WriteStream extends Writable {
175
175
  if (this._path !== null) {
176
176
  unlinkSync(this._path);
177
177
  }
178
- } catch (error) {
178
+ } catch {
179
179
  // If we are unable to unlink the file, the operating system will clean
180
180
  // up on next restart, since we use store thes in `os.tmpdir()`
181
181
  }
182
182
  };
183
183
 
184
- _final(callback: (error?: null | Error) => any): void {
185
- if (typeof this._fd !== "number") {
186
- this.once("ready", () => this._final(callback));
184
+ _final(callback: (error?: null | Error) => unknown): void {
185
+ if (typeof this._fd !== 'number') {
186
+ this.once('ready', () => this._final(callback));
187
187
  return;
188
188
  }
189
189
  callback();
@@ -192,17 +192,17 @@ export class WriteStream extends Writable {
192
192
  _write(
193
193
  chunk: Buffer,
194
194
  encoding: string,
195
- callback: (error?: null | Error) => any
195
+ callback: (error?: null | Error) => unknown,
196
196
  ): void {
197
- if (typeof this._fd !== "number") {
198
- this.once("ready", () => this._write(chunk, encoding, callback));
197
+ if (typeof this._fd !== 'number') {
198
+ this.once('ready', () => this._write(chunk, encoding, callback));
199
199
  return;
200
200
  }
201
201
 
202
202
  const uint8Array = new Uint8Array(
203
203
  chunk.buffer,
204
204
  chunk.byteOffset,
205
- chunk.byteLength
205
+ chunk.byteLength,
206
206
  );
207
207
 
208
208
  write(this._fd, uint8Array, 0, chunk.length, this._pos, (error) => {
@@ -219,7 +219,7 @@ export class WriteStream extends Writable {
219
219
  // the out-of-order writes would still open the potential for read streams
220
220
  // to scan positions that have not yet been written.
221
221
  this._pos += chunk.length;
222
- this.emit("write");
222
+ this.emit('write');
223
223
  callback();
224
224
  });
225
225
  }
@@ -231,7 +231,7 @@ export class WriteStream extends Writable {
231
231
 
232
232
  _destroy(
233
233
  error: undefined | null | Error,
234
- callback: (error?: null | Error) => any
234
+ callback: (error?: null | Error) => unknown,
235
235
  ): void {
236
236
  // Destroy all attached read streams.
237
237
  for (const readStream of this._readStreams) {
@@ -239,17 +239,17 @@ export class WriteStream extends Writable {
239
239
  }
240
240
 
241
241
  // This capacitor is fully initialized.
242
- if (typeof this._fd === "number" && typeof this._path === "string") {
242
+ if (typeof this._fd === 'number' && typeof this._path === 'string') {
243
243
  this._cleanup((cleanupError) => callback(cleanupError ?? error));
244
244
  return;
245
245
  }
246
246
 
247
247
  // This capacitor has not yet finished initialization; if initialization
248
248
  // does complete, immediately clean up after.
249
- this.once("ready", () => {
249
+ this.once('ready', () => {
250
250
  this._cleanup((cleanupError) => {
251
251
  if (cleanupError) {
252
- this.emit("error", cleanupError);
252
+ this.emit('error', cleanupError);
253
253
  }
254
254
  });
255
255
  });
@@ -260,18 +260,18 @@ export class WriteStream extends Writable {
260
260
  createReadStream(options?: ReadStreamOptions): ReadStream {
261
261
  if (this.destroyed)
262
262
  throw new ReadAfterDestroyedError(
263
- "A ReadStream cannot be created from a destroyed WriteStream."
263
+ 'A ReadStream cannot be created from a destroyed WriteStream.',
264
264
  );
265
265
 
266
266
  if (this._released)
267
267
  throw new ReadAfterReleasedError(
268
- "A ReadStream cannot be created from a released WriteStream."
268
+ 'A ReadStream cannot be created from a released WriteStream.',
269
269
  );
270
270
 
271
271
  const readStream = new ReadStream(this, options);
272
272
  this._readStreams.add(readStream);
273
273
 
274
- readStream.once("close", (): void => {
274
+ readStream.once('close', (): void => {
275
275
  this._readStreams.delete(readStream);
276
276
 
277
277
  if (this._released && this._readStreams.size === 0) {
@@ -1,4 +1,4 @@
1
- export * from "./fs-capacitor";
2
- export * from "./Upload";
3
- export * from "./GraphQLUpload";
4
- export * from "./processRequest";
1
+ export * from './fs-capacitor';
2
+ export * from './Upload';
3
+ export * from './GraphQLUpload';
4
+ export * from './processRequest';
@@ -1,18 +1,19 @@
1
- import { Context } from "hono";
2
- import { WriteStream, Upload } from ".";
3
- import { Readable } from "stream";
1
+ import { Context } from 'hono';
2
+ import { Readable } from 'stream';
3
+
4
+ import { WriteStream, Upload } from '.';
4
5
 
5
6
  export async function processRequest(
6
- ctx: Context
7
- ): Promise<Record<string, any>> {
7
+ ctx: Context,
8
+ ): Promise<Record<string, unknown>> {
8
9
  const body = await ctx.req.parseBody();
9
10
  const operations = JSON.parse(body.operations as string);
10
11
  const map = new Map(Object.entries(JSON.parse(body.map as string)));
11
12
 
12
13
  for (const [fieldName, file] of Object.entries(body)) {
13
14
  if (
14
- fieldName === "operations" ||
15
- fieldName === "map" ||
15
+ fieldName === 'operations' ||
16
+ fieldName === 'map' ||
16
17
  !(file instanceof File)
17
18
  )
18
19
  continue;
@@ -30,10 +31,10 @@ export async function processRequest(
30
31
  filename: file.name,
31
32
  mimetype: file.type,
32
33
  fieldName,
33
- encoding: "7bit",
34
+ encoding: '7bit',
34
35
  createReadStream: (options) => {
35
36
  const stream = capacitor.createReadStream(options);
36
- stream.on("close", () => {
37
+ stream.on('close', () => {
37
38
  capacitor.release();
38
39
  });
39
40
  return stream;
@@ -43,7 +44,7 @@ export async function processRequest(
43
44
  upload.resolve(upload.file);
44
45
 
45
46
  for (const fileKey of fileKeys) {
46
- const pathSegments = fileKey.split(".");
47
+ const pathSegments = fileKey.split('.');
47
48
  let current = operations;
48
49
  for (let i = 0; i < pathSegments.length - 1; i++) {
49
50
  if (!current[pathSegments[i]]) current[pathSegments[i]] = {};
@@ -1,21 +1,22 @@
1
- import { ApolloServer, BaseContext, HeaderMap } from "@apollo/server";
2
- import { ModulesContainer } from "@nestjs/core";
1
+ import { ApolloServer, BaseContext, HeaderMap } from '@apollo/server';
2
+ import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer';
3
+ import { ApolloDriverConfig } from '@nestjs/apollo';
4
+ import { Logger } from '@nestjs/common';
5
+ import { ModulesContainer } from '@nestjs/core';
3
6
  import {
4
7
  AbstractGraphQLDriver,
5
8
  GqlSubscriptionService,
6
9
  SubscriptionConfig,
7
- } from "@nestjs/graphql";
8
- import { ApolloServerPluginDrainHttpServer } from "@apollo/server/plugin/drainHttpServer";
9
- import { ApolloDriverConfig } from "@nestjs/apollo";
10
- import { Context, HonoRequest } from "hono";
11
- import { StatusCode } from "hono/utils/http-status";
12
- import { Logger } from "@nestjs/common";
10
+ } from '@nestjs/graphql';
11
+ import { Context, HonoRequest } from 'hono';
12
+ import { StatusCode } from 'hono/utils/http-status';
13
13
 
14
- import { PluginsExplorerService } from "./services/plugins-explorer.service";
15
- import { processRequest } from "./graphQLUpload";
14
+ import { processRequest } from './graphQLUpload';
15
+ import { PluginsExplorerService } from './services/plugins-explorer.service';
16
16
 
17
17
  export class HonoGraphQLDriver<
18
- T extends Record<string, any> = ApolloDriverConfig
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ T extends Record<string, any> = ApolloDriverConfig,
19
20
  > extends AbstractGraphQLDriver {
20
21
  protected apolloServer: ApolloServer<BaseContext>;
21
22
  private _subscriptionService?: GqlSubscriptionService;
@@ -34,15 +35,15 @@ export class HonoGraphQLDriver<
34
35
  const { httpAdapter } = this.httpAdapterHost;
35
36
  const platformName = httpAdapter.getType();
36
37
 
37
- if (platformName !== "hono") {
38
- throw new Error("This driver is only compatible with the Hono platform");
38
+ if (platformName !== 'hono') {
39
+ throw new Error('This driver is only compatible with the Hono platform');
39
40
  }
40
41
 
41
42
  await this.registerHono(options);
42
43
 
43
44
  if (options.installSubscriptionHandlers || options.subscriptions) {
44
45
  const subscriptionsOptions: SubscriptionConfig =
45
- options.subscriptions || { "subscriptions-transport-ws": {} };
46
+ options.subscriptions || { 'subscriptions-transport-ws': {} };
46
47
  this._subscriptionService = new GqlSubscriptionService(
47
48
  {
48
49
  schema: options.schema,
@@ -50,14 +51,14 @@ export class HonoGraphQLDriver<
50
51
  context: options.context,
51
52
  ...subscriptionsOptions,
52
53
  },
53
- this.httpAdapterHost.httpAdapter?.getHttpServer()
54
+ this.httpAdapterHost.httpAdapter?.getHttpServer(),
54
55
  );
55
56
  }
56
57
  }
57
58
 
58
59
  protected async registerHono(
59
60
  options: T,
60
- { preStartHook }: { preStartHook?: () => void } = {}
61
+ { preStartHook }: { preStartHook?: () => void } = {},
61
62
  ) {
62
63
  const { path, typeDefs, resolvers, schema } = options;
63
64
  const { httpAdapter } = this.httpAdapterHost;
@@ -109,7 +110,7 @@ export class HonoGraphQLDriver<
109
110
 
110
111
  ctx.status(status === undefined ? 200 : (status as StatusCode));
111
112
 
112
- if (body.kind === "complete") {
113
+ if (body.kind === 'complete') {
113
114
  return ctx.body(body.string);
114
115
  }
115
116
 
@@ -123,7 +124,7 @@ export class HonoGraphQLDriver<
123
124
  });
124
125
 
125
126
  return new Response(readableStream, {
126
- headers: { "Content-Type": "application/octet-stream" },
127
+ headers: { 'Content-Type': 'application/octet-stream' },
127
128
  });
128
129
  });
129
130
 
@@ -143,15 +144,15 @@ export class HonoGraphQLDriver<
143
144
 
144
145
  private async parseBody(ctx: Context): Promise<Record<string, unknown>> {
145
146
  const req = ctx.req;
146
- const contentType = req.header("content-type");
147
+ const contentType = req.header('content-type');
147
148
 
148
- if (contentType === "application/graphql")
149
+ if (contentType === 'application/graphql')
149
150
  return { query: await req.text() };
150
- if (contentType === "application/json")
151
+ if (contentType === 'application/json')
151
152
  return req.json().catch(this.logError);
152
- if (contentType === "application/x-www-form-urlencoded")
153
+ if (contentType === 'application/x-www-form-urlencoded')
153
154
  return this.parseFormURL(req);
154
- if (contentType?.startsWith("multipart/form-data")) {
155
+ if (contentType?.startsWith('multipart/form-data')) {
155
156
  return processRequest(ctx);
156
157
  }
157
158
  return {};
@@ -1,2 +1,2 @@
1
- export * from "./graphql.driver";
2
- export * from "./graphQLUpload";
1
+ export * from './graphql.driver';
2
+ export * from './graphQLUpload';
@@ -1,6 +1,7 @@
1
1
  import { InstanceWrapper } from '@nestjs/core/injector/instance-wrapper';
2
2
  import { ModulesContainer } from '@nestjs/core/injector/modules-container';
3
3
  import { BaseExplorerService, GqlModuleOptions } from '@nestjs/graphql';
4
+
4
5
  import { PLUGIN_METADATA } from '../constants';
5
6
 
6
7
  export class PluginsExplorerService extends BaseExplorerService {
@@ -16,7 +17,7 @@ export class PluginsExplorerService extends BaseExplorerService {
16
17
  return this.flatMap(modules, (instance) => this.filterPlugins(instance));
17
18
  }
18
19
 
19
- filterPlugins<T = any>(wrapper: InstanceWrapper<T>) {
20
+ filterPlugins<T = unknown>(wrapper: InstanceWrapper<T>) {
20
21
  const { instance } = wrapper;
21
22
  if (!instance) {
22
23
  return undefined;
@@ -1,4 +1,4 @@
1
- import { HonoRequest as Request } from "hono";
1
+ import { HonoRequest as Request } from 'hono';
2
2
 
3
3
  export type HonoRequest = Request & {
4
4
  headers?: Record<string, string>;
@@ -1,2 +1,2 @@
1
- export * from "./nest-hono-application.interface";
2
- export * from "./hono.interface";
1
+ export * from './nest-hono-application.interface';
2
+ export * from './hono.interface';
@@ -1,11 +1,11 @@
1
- import { ServeStaticOptions } from "@hono/node-server/serve-static";
2
- import { HttpServer, INestApplication } from "@nestjs/common";
3
- import { Context, Hono, MiddlewareHandler } from "hono";
1
+ import { ServeStaticOptions } from '@hono/node-server/serve-static';
2
+ import { HttpServer, INestApplication } from '@nestjs/common';
3
+ import { Context, Hono, MiddlewareHandler } from 'hono';
4
4
 
5
5
  export type TypeBodyParser =
6
- | "application/json"
7
- | "text/plain"
8
- | "application/x-www-form-urlencoded";
6
+ | 'application/json'
7
+ | 'text/plain'
8
+ | 'application/x-www-form-urlencoded';
9
9
 
10
10
  interface HonoViewOptions {
11
11
  engine: string;
@@ -56,17 +56,17 @@ export interface NestHonoApplication<TServer extends Hono = Hono>
56
56
  */
57
57
  listen(
58
58
  port: number | string,
59
- callback?: (err: Error, address: string) => void
59
+ callback?: (err: Error, address: string) => void,
60
60
  ): Promise<TServer>;
61
61
  listen(
62
62
  port: number | string,
63
63
  address: string,
64
- callback?: (err: Error, address: string) => void
64
+ callback?: (err: Error, address: string) => void,
65
65
  ): Promise<TServer>;
66
66
  listen(
67
67
  port: number | string,
68
68
  address: string,
69
69
  backlog: number,
70
- callback?: (err: Error, address: string) => void
70
+ callback?: (err: Error, address: string) => void,
71
71
  ): Promise<TServer>;
72
72
  }
@@ -1,2 +1,2 @@
1
- export * from "./uploaded-files-decorator";
2
- export * from "./uploaded-file-decorator";
1
+ export * from './uploaded-files-decorator';
2
+ export * from './uploaded-file-decorator';
@@ -5,7 +5,7 @@ import { StorageFile } from '../storage/storage';
5
5
 
6
6
  export const UploadedFiles = createParamDecorator(
7
7
  async (
8
- _data: any,
8
+ _data: unknown,
9
9
  ctx: ExecutionContext,
10
10
  ): Promise<Record<string, StorageFile[]> | StorageFile[] | undefined> => {
11
11
  const req = getMultipartRequest(ctx.switchToHttp());
@@ -1,22 +1,18 @@
1
- import fs from 'node:fs/promises';
2
- import { extname } from 'node:path';
3
-
4
- import { randomBytes } from '../crypto';
1
+ import { randomBytes } from 'crypto';
2
+ import { stat } from 'fs/promises';
3
+ import { extname } from 'path';
5
4
 
6
5
  export const pathExists = async (path: string) => {
7
6
  try {
8
- await fs.stat(path);
9
- } catch (err) {
7
+ await stat(path);
8
+ return true;
9
+ } catch {
10
10
  return false;
11
11
  }
12
-
13
- return true;
14
12
  };
15
13
 
16
14
  export const getUniqueFilename = async (filename: string) => {
17
- const buffer = await randomBytes(16);
18
-
15
+ const buffer = randomBytes(16);
19
16
  const ext = extname(filename);
20
-
21
17
  return buffer.toString('hex') + ext;
22
18
  };
@@ -1,4 +1,4 @@
1
- export * from "./interceptors";
2
- export * from "./decorators";
3
- export * from "./storage";
4
- export * from "./multipart";
1
+ export * from './interceptors';
2
+ export * from './decorators';
3
+ export * from './storage';
4
+ export * from './multipart';
@@ -1,18 +1,18 @@
1
- import { Observable, tap } from "rxjs";
2
1
  import {
3
2
  CallHandler,
4
3
  ExecutionContext,
5
4
  mixin,
6
5
  NestInterceptor,
7
6
  Type,
8
- } from "@nestjs/common";
7
+ } from '@nestjs/common';
8
+ import { finalize } from 'rxjs';
9
9
 
10
- import { getMultipartRequest } from "../multipart/request";
11
- import { transformUploadOptions, UploadOptions } from "../multipart/options";
12
- import { handleMultipartAnyFiles } from "../multipart/handlers/any-files";
10
+ import { handleMultipartAnyFiles } from '../multipart/handlers/any-files';
11
+ import { transformUploadOptions, UploadOptions } from '../multipart/options';
12
+ import { getMultipartRequest } from '../multipart/request';
13
13
 
14
14
  export function AnyFilesInterceptor(
15
- options?: UploadOptions
15
+ options?: UploadOptions,
16
16
  ): Type<NestInterceptor> {
17
17
  class MixinInterceptor implements NestInterceptor {
18
18
  private readonly options: UploadOptions;
@@ -21,26 +21,23 @@ export function AnyFilesInterceptor(
21
21
  this.options = transformUploadOptions(options);
22
22
  }
23
23
 
24
- async intercept(
25
- context: ExecutionContext,
26
- next: CallHandler
27
- ): Promise<Observable<any>> {
24
+ async intercept(context: ExecutionContext, next: CallHandler) {
28
25
  const ctx = context.switchToHttp();
29
26
  const req = getMultipartRequest(ctx);
30
27
 
31
- if (!req.header("content-type")?.startsWith("multipart/form-data")) {
28
+ if (!req.header('content-type')?.startsWith('multipart/form-data')) {
32
29
  return next.handle();
33
30
  }
34
31
 
35
32
  const { body, files, remove } = await handleMultipartAnyFiles(
36
33
  req,
37
- this.options
34
+ this.options,
38
35
  );
39
36
 
40
37
  req.body = body;
41
38
  req.storageFiles = files;
42
39
 
43
- return next.handle().pipe(tap(remove));
40
+ return next.handle().pipe(finalize(remove));
44
41
  }
45
42
  }
46
43