@innet/server 2.0.0-alpha.9 → 2.0.0-beta.10

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 (389) hide show
  1. package/README.md +1771 -799
  2. package/handler/handler.d.ts +26 -18
  3. package/handler/handler.es6.js +17 -14
  4. package/handler/handler.js +16 -13
  5. package/hooks/index.d.ts +26 -20
  6. package/hooks/index.es6.js +26 -20
  7. package/hooks/index.js +26 -20
  8. package/hooks/useAction/useAction.es6.js +1 -1
  9. package/hooks/useAction/useAction.js +1 -1
  10. package/hooks/useApi/useApi.d.ts +1 -3
  11. package/hooks/useClientIp/useClientIp.d.ts +1 -1
  12. package/hooks/useEffect/index.d.ts +1 -0
  13. package/hooks/useEffect/index.es6.js +1 -0
  14. package/hooks/useEffect/index.js +9 -0
  15. package/hooks/useEffect/useEffect.d.ts +2 -0
  16. package/hooks/useEffect/useEffect.es6.js +8 -0
  17. package/hooks/useEffect/useEffect.js +12 -0
  18. package/hooks/useEndpoint/useEndpoint.d.ts +1 -1
  19. package/hooks/useEndpoint/useEndpoint.es6.js +3 -1
  20. package/hooks/useEndpoint/useEndpoint.js +3 -1
  21. package/hooks/useHeaders/useHeaders.d.ts +0 -1
  22. package/hooks/useIsServerHttps/index.d.ts +1 -0
  23. package/hooks/useIsServerHttps/index.es6.js +1 -0
  24. package/hooks/useIsServerHttps/index.js +10 -0
  25. package/hooks/useIsServerHttps/useIsServerHttps.d.ts +3 -0
  26. package/hooks/useIsServerHttps/useIsServerHttps.es6.js +14 -0
  27. package/hooks/useIsServerHttps/useIsServerHttps.js +19 -0
  28. package/hooks/useNewSchema/useNewSchema.es6.js +2 -2
  29. package/hooks/useNewSchema/useNewSchema.js +2 -2
  30. package/hooks/useObjectSchemaContext/index.d.ts +1 -0
  31. package/hooks/useObjectSchemaContext/index.es6.js +1 -0
  32. package/hooks/useObjectSchemaContext/index.js +10 -0
  33. package/hooks/useObjectSchemaContext/useObjectSchemaContext.d.ts +3 -0
  34. package/hooks/useObjectSchemaContext/useObjectSchemaContext.es6.js +14 -0
  35. package/hooks/useObjectSchemaContext/useObjectSchemaContext.js +19 -0
  36. package/hooks/useRequest/index.es6.js +1 -1
  37. package/hooks/useRequest/index.js +0 -1
  38. package/hooks/useRequest/useRequest.d.ts +1 -5
  39. package/hooks/useRequest/useRequest.es6.js +4 -4
  40. package/hooks/useRequest/useRequest.js +3 -4
  41. package/hooks/useRequestHandler/index.d.ts +1 -0
  42. package/hooks/useRequestHandler/index.es6.js +1 -0
  43. package/hooks/useRequestHandler/index.js +10 -0
  44. package/hooks/useRequestHandler/useRequestHandler.d.ts +4 -0
  45. package/hooks/useRequestHandler/useRequestHandler.es6.js +14 -0
  46. package/hooks/useRequestHandler/useRequestHandler.js +19 -0
  47. package/hooks/useResponse/index.es6.js +1 -1
  48. package/hooks/useResponse/index.js +0 -1
  49. package/hooks/useResponse/useResponse.d.ts +1 -5
  50. package/hooks/useResponse/useResponse.es6.js +4 -4
  51. package/hooks/useResponse/useResponse.js +3 -4
  52. package/hooks/useSchemaType/useSchemaType.d.ts +3 -2
  53. package/hooks/useSchemaType/useSchemaType.es6.js +16 -9
  54. package/hooks/useSchemaType/useSchemaType.js +16 -9
  55. package/hooks/useServer/useServer.d.ts +2 -3
  56. package/hooks/useServer/useServer.es6.js +3 -1
  57. package/hooks/useServer/useServer.js +3 -1
  58. package/hooks/useServerPlugin/index.d.ts +1 -0
  59. package/hooks/useServerPlugin/index.es6.js +1 -0
  60. package/hooks/useServerPlugin/index.js +9 -0
  61. package/hooks/useServerPlugin/useServerPlugin.d.ts +2 -0
  62. package/hooks/useServerPlugin/useServerPlugin.es6.js +13 -0
  63. package/hooks/useServerPlugin/useServerPlugin.js +17 -0
  64. package/hooks/useServerPlugins/index.d.ts +1 -0
  65. package/hooks/useServerPlugins/index.es6.js +1 -0
  66. package/hooks/useServerPlugins/index.js +10 -0
  67. package/hooks/useServerPlugins/useServerPlugins.d.ts +4 -0
  68. package/hooks/useServerPlugins/useServerPlugins.es6.js +14 -0
  69. package/hooks/useServerPlugins/useServerPlugins.js +19 -0
  70. package/hooks/useServerPort/index.d.ts +1 -0
  71. package/hooks/useServerPort/index.es6.js +1 -0
  72. package/hooks/useServerPort/index.js +10 -0
  73. package/hooks/useServerPort/useServerPort.d.ts +3 -0
  74. package/hooks/useServerPort/useServerPort.es6.js +14 -0
  75. package/hooks/useServerPort/useServerPort.js +19 -0
  76. package/index.d.ts +2 -2
  77. package/index.es6.js +91 -82
  78. package/index.js +208 -184
  79. package/package.json +16 -16
  80. package/plugins/handler/serverFn/serverFn.es6.js +2 -2
  81. package/plugins/handler/serverFn/serverFn.js +2 -6
  82. package/plugins/index.d.ts +2 -2
  83. package/plugins/index.es6.js +2 -2
  84. package/plugins/index.js +2 -2
  85. package/plugins/main/api/api.d.ts +11 -8
  86. package/plugins/main/api/api.es6.js +112 -113
  87. package/plugins/main/api/api.js +112 -117
  88. package/plugins/main/body/body.d.ts +1 -0
  89. package/plugins/main/body/body.es6.js +4 -4
  90. package/plugins/main/body/body.js +4 -8
  91. package/plugins/main/contact/contact.d.ts +2 -2
  92. package/plugins/main/endpoint/endpoint.d.ts +21 -15
  93. package/plugins/main/endpoint/endpoint.es6.js +12 -10
  94. package/plugins/main/endpoint/endpoint.js +11 -13
  95. package/plugins/main/host/host.d.ts +5 -5
  96. package/plugins/main/host/host.es6.js +4 -2
  97. package/plugins/main/host/host.js +4 -6
  98. package/plugins/main/index.d.ts +9 -9
  99. package/plugins/main/index.es6.js +9 -9
  100. package/plugins/main/index.js +9 -9
  101. package/plugins/main/license/license.d.ts +5 -5
  102. package/plugins/main/param/param.d.ts +12 -11
  103. package/plugins/main/param/param.es6.js +7 -8
  104. package/plugins/main/param/param.js +6 -11
  105. package/plugins/main/preset/index.d.ts +1 -0
  106. package/plugins/main/preset/index.es6.js +1 -0
  107. package/plugins/{utils/prod → main/preset}/index.js +2 -2
  108. package/plugins/main/preset/preset.d.ts +3 -0
  109. package/plugins/main/preset/preset.es6.js +13 -0
  110. package/plugins/main/preset/preset.js +17 -0
  111. package/plugins/main/response/index.es6.js +1 -1
  112. package/plugins/main/response/index.js +1 -0
  113. package/plugins/main/response/response.d.ts +6 -1
  114. package/plugins/main/response/response.es6.js +29 -13
  115. package/plugins/main/response/response.js +28 -15
  116. package/plugins/main/return/index.d.ts +1 -0
  117. package/plugins/main/return/index.es6.js +1 -0
  118. package/plugins/main/return/index.js +9 -0
  119. package/plugins/main/return/return.d.ts +4 -0
  120. package/plugins/main/return/return.es6.js +10 -0
  121. package/plugins/main/return/return.js +14 -0
  122. package/plugins/main/server/server.d.ts +6 -6
  123. package/plugins/main/server/server.es6.js +40 -16
  124. package/plugins/main/server/server.js +39 -16
  125. package/plugins/main/tag/index.es6.js +1 -1
  126. package/plugins/main/tag/index.js +1 -0
  127. package/plugins/main/tag/tag.d.ts +10 -2
  128. package/plugins/main/tag/tag.es6.js +25 -6
  129. package/plugins/main/tag/tag.js +24 -8
  130. package/plugins/main/variable/variable.d.ts +5 -5
  131. package/plugins/main/variable/variable.es6.js +4 -3
  132. package/plugins/main/variable/variable.js +4 -3
  133. package/plugins/request/cms/cms.d.ts +1 -0
  134. package/plugins/request/cms/cms.es6.js +4 -5
  135. package/plugins/request/cms/cms.js +3 -5
  136. package/plugins/request/cookie/cookie.d.ts +2 -2
  137. package/plugins/request/cookie/cookie.es6.js +1 -2
  138. package/plugins/request/cookie/cookie.js +1 -2
  139. package/plugins/request/error/error.d.ts +41 -40
  140. package/plugins/request/error/error.es6.js +47 -45
  141. package/plugins/request/error/error.js +46 -44
  142. package/plugins/request/file/file.d.ts +1 -0
  143. package/plugins/request/file/file.es6.js +5 -7
  144. package/plugins/request/file/file.js +3 -6
  145. package/plugins/request/header/header.es6.js +1 -1
  146. package/plugins/request/header/header.js +1 -1
  147. package/plugins/request/index.d.ts +5 -5
  148. package/plugins/request/index.es6.js +5 -5
  149. package/plugins/request/index.js +5 -5
  150. package/plugins/request/proxy/proxy.d.ts +3 -1
  151. package/plugins/request/proxy/proxy.es6.js +5 -2
  152. package/plugins/request/proxy/proxy.js +5 -2
  153. package/plugins/request/redirect/redirect.d.ts +8 -7
  154. package/plugins/request/redirect/redirect.es6.js +7 -7
  155. package/plugins/request/redirect/redirect.js +7 -7
  156. package/plugins/request/success/success.d.ts +8 -6
  157. package/plugins/request/success/success.es6.js +21 -11
  158. package/plugins/request/success/success.js +20 -10
  159. package/plugins/schema/any/any.d.ts +5 -0
  160. package/plugins/schema/any/any.es6.js +27 -0
  161. package/plugins/schema/any/any.js +31 -0
  162. package/plugins/schema/array/array.d.ts +4 -0
  163. package/plugins/schema/array/array.es6.js +15 -7
  164. package/plugins/schema/array/array.js +15 -11
  165. package/plugins/schema/binary/binary.d.ts +7 -3
  166. package/plugins/schema/boolean/boolean.d.ts +1 -0
  167. package/plugins/schema/date/date.d.ts +3 -2
  168. package/plugins/schema/date/date.es6.js +8 -4
  169. package/plugins/schema/date/date.js +8 -4
  170. package/plugins/schema/field/field.d.ts +6 -0
  171. package/plugins/schema/field/field.es6.js +22 -9
  172. package/plugins/schema/field/field.js +20 -11
  173. package/plugins/schema/index.d.ts +8 -7
  174. package/plugins/schema/index.es6.js +8 -7
  175. package/plugins/schema/index.js +8 -7
  176. package/plugins/schema/integer/integer.d.ts +40 -3
  177. package/plugins/schema/integer/integer.es6.js +29 -9
  178. package/plugins/schema/integer/integer.js +29 -9
  179. package/plugins/schema/number/number.d.ts +34 -2
  180. package/plugins/schema/number/number.es6.js +21 -6
  181. package/plugins/schema/number/number.js +21 -6
  182. package/plugins/schema/object/object.d.ts +1 -0
  183. package/plugins/schema/object/object.es6.js +22 -8
  184. package/plugins/schema/object/object.js +21 -11
  185. package/plugins/schema/string/string.d.ts +29 -2
  186. package/plugins/schema/string/string.es6.js +50 -31
  187. package/plugins/schema/string/string.js +50 -31
  188. package/plugins/schema/tuple/tuple.d.ts +1 -0
  189. package/plugins/schema/tuple/tuple.es6.js +8 -9
  190. package/plugins/schema/tuple/tuple.js +7 -12
  191. package/plugins/schema/uuid/uuid.es6.js +5 -3
  192. package/plugins/schema/uuid/uuid.js +5 -3
  193. package/plugins/utils/blacklist/blacklist.d.ts +5 -0
  194. package/plugins/utils/blacklist/blacklist.es6.js +17 -0
  195. package/plugins/utils/blacklist/blacklist.js +21 -0
  196. package/plugins/utils/blacklist/index.d.ts +1 -0
  197. package/plugins/utils/blacklist/index.es6.js +1 -0
  198. package/plugins/utils/blacklist/index.js +9 -0
  199. package/plugins/utils/dts/dts.d.ts +2 -1
  200. package/plugins/utils/dts/dts.es6.js +6 -3
  201. package/plugins/utils/dts/dts.js +6 -3
  202. package/plugins/utils/env/env.d.ts +7 -0
  203. package/plugins/utils/env/env.es6.js +11 -0
  204. package/plugins/utils/env/env.js +15 -0
  205. package/plugins/utils/env/index.d.ts +1 -0
  206. package/plugins/utils/env/index.es6.js +1 -0
  207. package/plugins/utils/{dev → env}/index.js +2 -2
  208. package/plugins/utils/index.d.ts +5 -3
  209. package/plugins/utils/index.es6.js +5 -3
  210. package/plugins/utils/index.js +5 -3
  211. package/plugins/utils/protection/protection.d.ts +4 -4
  212. package/plugins/utils/protection/protection.es6.js +13 -16
  213. package/plugins/utils/protection/protection.js +13 -16
  214. package/plugins/utils/swagger/swagger.d.ts +1 -0
  215. package/plugins/utils/swagger/swagger.es6.js +8 -5
  216. package/plugins/utils/swagger/swagger.js +8 -5
  217. package/plugins/utils/ui/index.d.ts +1 -0
  218. package/plugins/utils/ui/index.es6.js +1 -0
  219. package/plugins/utils/ui/index.js +10 -0
  220. package/plugins/utils/ui/rapidoc.html.es6.js +3 -0
  221. package/plugins/utils/ui/rapidoc.html.js +7 -0
  222. package/plugins/utils/ui/redoc.html.es6.js +3 -0
  223. package/plugins/utils/ui/redoc.html.js +7 -0
  224. package/plugins/utils/ui/scalar.html.es6.js +3 -0
  225. package/plugins/utils/ui/scalar.html.js +7 -0
  226. package/plugins/utils/ui/swagger.html.es6.js +3 -0
  227. package/plugins/utils/ui/swagger.html.js +7 -0
  228. package/plugins/utils/ui/ui.d.ts +13 -0
  229. package/plugins/utils/ui/ui.es6.js +45 -0
  230. package/plugins/utils/ui/ui.js +50 -0
  231. package/plugins/utils/whitelist/index.d.ts +1 -0
  232. package/plugins/utils/whitelist/index.es6.js +1 -0
  233. package/plugins/utils/whitelist/index.js +9 -0
  234. package/plugins/utils/whitelist/whitelist.d.ts +5 -0
  235. package/plugins/utils/whitelist/whitelist.es6.js +19 -0
  236. package/plugins/utils/whitelist/whitelist.js +23 -0
  237. package/types.d.ts +21 -22
  238. package/utils/FileData/Bin.d.ts +13 -13
  239. package/utils/FileData/Bin.es6.js +2 -2
  240. package/utils/FileData/Bin.js +2 -2
  241. package/utils/action/Action.d.ts +13 -14
  242. package/utils/action/Action.es6.js +92 -92
  243. package/utils/action/Action.js +91 -91
  244. package/utils/dateFormat/dateFormat.d.ts +1 -1
  245. package/utils/dateFormat/dateFormat.es6.js +1 -1
  246. package/utils/dateFormat/dateFormat.js +1 -1
  247. package/utils/decorators/once/once.es6.js +1 -1
  248. package/utils/decorators/once/once.js +1 -1
  249. package/utils/generateTypes/generateTypes.d.ts +2 -2
  250. package/utils/generateTypes/generateTypes.es6.js +85 -25
  251. package/utils/generateTypes/generateTypes.js +85 -25
  252. package/utils/getEndpoint/getEndpoint.es6.js +2 -2
  253. package/utils/getEndpoint/getEndpoint.js +2 -2
  254. package/utils/getOrAdd/getOrAdd.d.ts +1 -1
  255. package/utils/getSafeSchema/getSafeSchema.d.ts +2 -0
  256. package/utils/getSafeSchema/getSafeSchema.es6.js +5 -0
  257. package/utils/getSafeSchema/getSafeSchema.js +9 -0
  258. package/utils/getSafeSchema/index.d.ts +1 -0
  259. package/utils/getSafeSchema/index.es6.js +1 -0
  260. package/utils/getSafeSchema/index.js +9 -0
  261. package/utils/httpOnStart/httpOnStart.d.ts +1 -1
  262. package/utils/httpOnStart/httpOnStart.es6.js +1 -1
  263. package/utils/httpOnStart/httpOnStart.js +1 -1
  264. package/utils/index.d.ts +9 -8
  265. package/utils/index.es6.js +9 -8
  266. package/utils/index.js +9 -8
  267. package/utils/parseBody/parseBody.d.ts +0 -1
  268. package/utils/parseBody/parseBody.es6.js +13 -16
  269. package/utils/parseBody/parseBody.js +13 -16
  270. package/utils/parseFormBody/parseFormBody.d.ts +0 -1
  271. package/utils/parseFormBody/parseFormBody.es6.js +41 -41
  272. package/utils/parseFormBody/parseFormBody.js +41 -41
  273. package/utils/parseSearch/parseSearch.es6.js +4 -1
  274. package/utils/parseSearch/parseSearch.js +4 -1
  275. package/utils/rules/arrayOf/arrayOf.es6.js +1 -1
  276. package/utils/rules/arrayOf/arrayOf.js +1 -1
  277. package/utils/rules/bin/bin.es6.js +4 -1
  278. package/utils/rules/bin/bin.js +4 -1
  279. package/utils/rules/binaryAccept/binaryAccept.es6.js +5 -2
  280. package/utils/rules/binaryAccept/binaryAccept.js +5 -2
  281. package/utils/rules/dateTo/dateTo.d.ts +1 -1
  282. package/utils/rules/dateTo/dateTo.es6.js +4 -1
  283. package/utils/rules/dateTo/dateTo.js +4 -1
  284. package/utils/rules/helpers.d.ts +1 -1
  285. package/utils/rules/helpers.es6.js +4 -1
  286. package/utils/rules/helpers.js +4 -1
  287. package/utils/rules/index.d.ts +17 -18
  288. package/utils/rules/index.es6.js +17 -18
  289. package/utils/rules/index.js +18 -19
  290. package/utils/rules/int/int.es6.js +17 -4
  291. package/utils/rules/int/int.js +17 -4
  292. package/utils/rules/max/max.d.ts +1 -1
  293. package/utils/rules/max/max.es6.js +10 -4
  294. package/utils/rules/max/max.js +10 -4
  295. package/utils/rules/maxBin/maxBin.es6.js +5 -2
  296. package/utils/rules/maxBin/maxBin.js +5 -2
  297. package/utils/rules/maxDate/maxDate.es6.js +5 -1
  298. package/utils/rules/maxDate/maxDate.js +5 -1
  299. package/utils/rules/maxLength/maxLength.es6.js +5 -2
  300. package/utils/rules/maxLength/maxLength.js +5 -2
  301. package/utils/rules/min/min.d.ts +1 -1
  302. package/utils/rules/min/min.es6.js +10 -4
  303. package/utils/rules/min/min.js +10 -4
  304. package/utils/rules/minBin/minBin.es6.js +5 -2
  305. package/utils/rules/minBin/minBin.js +5 -2
  306. package/utils/rules/minDate/minDate.es6.js +5 -1
  307. package/utils/rules/minDate/minDate.js +5 -1
  308. package/utils/rules/minLength/minLength.es6.js +5 -2
  309. package/utils/rules/minLength/minLength.js +5 -2
  310. package/utils/rules/num/num.es6.js +4 -1
  311. package/utils/rules/num/num.js +4 -1
  312. package/utils/rules/objectOf/objectOf.d.ts +1 -1
  313. package/utils/rules/objectOf/objectOf.es6.js +16 -3
  314. package/utils/rules/objectOf/objectOf.js +16 -3
  315. package/utils/rules/pattern/pattern.d.ts +1 -1
  316. package/utils/rules/pattern/pattern.es6.js +6 -1
  317. package/utils/rules/pattern/pattern.js +6 -1
  318. package/utils/rules/tupleOf/tupleOf.es6.js +1 -1
  319. package/utils/rules/tupleOf/tupleOf.js +1 -1
  320. package/utils/rules/values/values.es6.js +5 -2
  321. package/utils/rules/values/values.js +5 -2
  322. package/utils/stringifySearch/stringifySearch.es6.js +4 -1
  323. package/utils/stringifySearch/stringifySearch.js +4 -1
  324. package/example/app/App/App.d.ts +0 -1
  325. package/example/app/App/index.d.ts +0 -1
  326. package/example/index.d.ts +0 -1
  327. package/example/requests/index.d.ts +0 -1
  328. package/example/requests/todo/AddTodo/AddTodo.d.ts +0 -1
  329. package/example/requests/todo/AddTodo/index.d.ts +0 -1
  330. package/example/requests/todo/DeleteTodo/DeleteTodo.d.ts +0 -1
  331. package/example/requests/todo/DeleteTodo/index.d.ts +0 -1
  332. package/example/requests/todo/EditTodo/EditTodo.d.ts +0 -1
  333. package/example/requests/todo/EditTodo/index.d.ts +0 -1
  334. package/example/requests/todo/GetTodo/GetTodo.d.ts +0 -1
  335. package/example/requests/todo/GetTodo/index.d.ts +0 -1
  336. package/example/requests/todo/GetTodos/GetTodos.d.ts +0 -1
  337. package/example/requests/todo/GetTodos/index.d.ts +0 -1
  338. package/example/requests/todo/index.d.ts +0 -5
  339. package/example/requests/todo/todos.d.ts +0 -1
  340. package/example/schemas/app/ListQueryParams/ListQueryParams.d.ts +0 -1
  341. package/example/schemas/app/ListQueryParams/index.d.ts +0 -1
  342. package/example/schemas/app/ListSchema/ListSchema.d.ts +0 -4
  343. package/example/schemas/app/ListSchema/index.d.ts +0 -1
  344. package/example/schemas/app/index.d.ts +0 -2
  345. package/example/schemas/index.d.ts +0 -2
  346. package/example/schemas/todo/TodoSchema/TodoSchema.d.ts +0 -4
  347. package/example/schemas/todo/TodoSchema/index.d.ts +0 -1
  348. package/example/schemas/todo/index.d.ts +0 -1
  349. package/example/tags/Todo/Todo.d.ts +0 -1
  350. package/example/tags/Todo/index.d.ts +0 -1
  351. package/example/tags/index.d.ts +0 -1
  352. package/hooks/useRequestPlugin/index.d.ts +0 -1
  353. package/hooks/useRequestPlugin/index.es6.js +0 -1
  354. package/hooks/useRequestPlugin/index.js +0 -9
  355. package/hooks/useRequestPlugin/useRequestPlugin.d.ts +0 -2
  356. package/hooks/useRequestPlugin/useRequestPlugin.es6.js +0 -13
  357. package/hooks/useRequestPlugin/useRequestPlugin.js +0 -17
  358. package/openApi.test.d.ts +0 -1
  359. package/plugins/main/fallback/fallback.d.ts +0 -4
  360. package/plugins/main/fallback/fallback.es6.js +0 -19
  361. package/plugins/main/fallback/fallback.js +0 -23
  362. package/plugins/main/fallback/index.d.ts +0 -1
  363. package/plugins/main/fallback/index.es6.js +0 -1
  364. package/plugins/main/fallback/index.js +0 -9
  365. package/plugins/main/request/index.d.ts +0 -1
  366. package/plugins/main/request/index.es6.js +0 -1
  367. package/plugins/main/request/index.js +0 -9
  368. package/plugins/main/request/request.d.ts +0 -4
  369. package/plugins/main/request/request.es6.js +0 -21
  370. package/plugins/main/request/request.js +0 -25
  371. package/plugins/utils/dev/dev.d.ts +0 -4
  372. package/plugins/utils/dev/dev.es6.js +0 -10
  373. package/plugins/utils/dev/dev.js +0 -18
  374. package/plugins/utils/dev/index.d.ts +0 -1
  375. package/plugins/utils/dev/index.es6.js +0 -1
  376. package/plugins/utils/prod/index.d.ts +0 -1
  377. package/plugins/utils/prod/index.es6.js +0 -1
  378. package/plugins/utils/prod/prod.d.ts +0 -4
  379. package/plugins/utils/prod/prod.es6.js +0 -10
  380. package/plugins/utils/prod/prod.js +0 -18
  381. package/utils/decorators/once/once.test.d.ts +0 -1
  382. package/utils/generateTypes/generateTypes.test.d.ts +0 -1
  383. package/utils/parseSearch/parseSearch.test.d.ts +0 -1
  384. package/utils/rules/any/any.d.ts +0 -1
  385. package/utils/rules/any/any.es6.js +0 -5
  386. package/utils/rules/any/any.js +0 -9
  387. /package/{utils/rules → plugins/schema}/any/index.d.ts +0 -0
  388. /package/{utils/rules → plugins/schema}/any/index.es6.js +0 -0
  389. /package/{utils/rules → plugins/schema}/any/index.js +0 -0
@@ -1,56 +1,58 @@
1
- import { __rest, __awaiter } from 'tslib';
2
- import innet, { useNewHandler, useApp } from 'innet';
3
- import { onDestroy } from 'watch-state';
1
+ import { useNewHandler, innet } from 'innet';
2
+ import { useProps } from '@innet/jsx';
4
3
  import '../../../hooks/index.es6.js';
5
4
  import '../../../utils/index.es6.js';
6
5
  import '../../../utils/rules/index.es6.js';
7
- import { useServer } from '../../../hooks/useServer/useServer.es6.js';
6
+ import { serverPlugins } from '../../../hooks/useServerPlugins/useServerPlugins.es6.js';
8
7
  import { apiContext } from '../../../hooks/useApi/useApi.es6.js';
9
- import { Action } from '../../../utils/action/Action.es6.js';
8
+ import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
9
+ import { useAction, actionContext } from '../../../hooks/useAction/useAction.es6.js';
10
10
  import { JSONString } from '../../../utils/JSONString/JSONString.es6.js';
11
11
  import { RulesError } from '../../../utils/rules/helpers.es6.js';
12
- import { responseContext } from '../../../hooks/useResponse/useResponse.es6.js';
13
- import { requestContext } from '../../../hooks/useRequest/useRequest.es6.js';
14
12
  import { paramsContext } from '../../../hooks/useParams/useParams.es6.js';
15
- import { actionContext } from '../../../hooks/useAction/useAction.es6.js';
16
13
 
17
14
  const api = () => {
18
- var _a;
19
15
  const handler = useNewHandler();
20
- const { props = {}, children } = useApp();
21
- const { server } = useServer();
22
- const { prefix = '', title = '' } = props, rest = __rest(props, ["prefix", "title"]);
23
- const info = Object.assign(Object.assign({}, rest), { version: (_a = rest.version) !== null && _a !== void 0 ? _a : '0.0.0', title });
16
+ const props = useProps();
17
+ const { children, exclude, include, prefix = process.env.INNET_API_PREFIX || '', title = '', version = process.env.INNET_API_VERSION || '0.0.0', ...rest } = props;
18
+ const info = { ...rest, title, version };
24
19
  const endpoints = {};
25
20
  const docs = {
26
- openapi: '3.1.0',
27
21
  info,
22
+ openapi: '3.1.0',
28
23
  paths: {},
29
24
  };
30
- const requestPlugins = new Set();
31
- const context = { docs, endpoints, prefix, requestPlugins, refRules: {} };
25
+ const plugins = new Set();
26
+ const context = { docs, endpoints, prefix, refRules: {} };
27
+ const condition = (action) => {
28
+ const path = action.parsedUrl.path;
29
+ const url = path.endsWith('/') ? path.slice(0, -1) : path;
30
+ if (!url.startsWith(prefix) || (exclude === null || exclude === void 0 ? void 0 : exclude.test(url))) {
31
+ return false;
32
+ }
33
+ if (include && !include.test(url)) {
34
+ return false;
35
+ }
36
+ return true;
37
+ };
38
+ serverPlugins.set(handler, plugins);
32
39
  apiContext.set(handler, context);
33
- const listener = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
34
- var _b, _c, _d, _e, _f, _g;
35
- if (res.writableEnded)
40
+ useServerPlugin(async () => {
41
+ var _a, _b, _c, _d, _e, _f;
42
+ const action = useAction();
43
+ if (!condition(action))
36
44
  return;
37
- const action = new Action(req, res);
45
+ const actionHandler = useNewHandler();
38
46
  const path = action.parsedUrl.path;
39
47
  const url = path.endsWith('/') ? path.slice(0, -1) : path;
48
+ const { req, res, } = action;
40
49
  if (url === (prefix || '')) {
41
50
  res.setHeader('Content-Type', 'application/json');
42
51
  res.write(JSONString(docs));
43
52
  res.end();
44
- return;
45
- }
46
- if (!url.startsWith(prefix)) {
47
- return;
48
- }
49
- for (const requestPlugin of requestPlugins) {
50
- if (requestPlugin(action))
51
- return;
53
+ return null;
52
54
  }
53
- const method = ((_c = (_b = req.method) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : 'get');
55
+ const method = ((_b = (_a = req.method) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : 'get');
54
56
  const rawSplitPath = url.slice(prefix.length).split('/').slice(1);
55
57
  const splitPath = rawSplitPath.at(-1) ? rawSplitPath : rawSplitPath.slice(0, -1);
56
58
  const endpoint = endpoints[method];
@@ -59,121 +61,118 @@ const api = () => {
59
61
  const [deep, currentEndpoint, params] = endpointQueue.shift();
60
62
  const key = splitPath[deep];
61
63
  if (deep + 1 === splitPath.length) {
62
- function run(runEndpoint, params) {
64
+ async function run(runEndpoint, params) {
63
65
  var _a, _b, _c, _d, _e;
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const pathRules = (_a = runEndpoint.rules) === null || _a === void 0 ? void 0 : _a.path;
66
- const headerRules = (_b = runEndpoint.rules) === null || _b === void 0 ? void 0 : _b.header;
67
- const cookieRules = (_c = runEndpoint.rules) === null || _c === void 0 ? void 0 : _c.cookie;
68
- const searchRules = (_d = runEndpoint.rules) === null || _d === void 0 ? void 0 : _d.search;
69
- const bodyRules = (_e = runEndpoint.rules) === null || _e === void 0 ? void 0 : _e.body;
70
- if (pathRules) {
66
+ const pathRules = (_a = runEndpoint.rules) === null || _a === void 0 ? void 0 : _a.path;
67
+ const headerRules = (_b = runEndpoint.rules) === null || _b === void 0 ? void 0 : _b.header;
68
+ const cookieRules = (_c = runEndpoint.rules) === null || _c === void 0 ? void 0 : _c.cookie;
69
+ const searchRules = (_d = runEndpoint.rules) === null || _d === void 0 ? void 0 : _d.search;
70
+ const bodyRules = (_e = runEndpoint.rules) === null || _e === void 0 ? void 0 : _e.body;
71
+ if (pathRules) {
72
+ try {
73
+ Object.assign(params, pathRules(params, { in: 'path' }));
74
+ }
75
+ catch (_f) {
76
+ return false;
77
+ }
78
+ }
79
+ function checkActionRules(rules, key = 'search') {
80
+ if (rules) {
71
81
  try {
72
- Object.assign(params, pathRules(params, { in: 'path' }));
73
- }
74
- catch (_f) {
75
- return false;
82
+ action[key] = rules(action[key]);
76
83
  }
77
- }
78
- function checkActionRules(rules, key = 'search') {
79
- if (rules) {
80
- try {
81
- action[key] = rules(action[key]);
84
+ catch (e) {
85
+ res.setHeader('Content-Type', 'application/json');
86
+ if (e instanceof RulesError) {
87
+ res.statusCode = 400;
88
+ res.write(JSONString({
89
+ data: {
90
+ ...e.data,
91
+ in: key,
92
+ },
93
+ error: 'requestValidation',
94
+ }));
95
+ res.end();
82
96
  }
83
- catch (e) {
84
- res.setHeader('Content-Type', 'application/json');
85
- if (e instanceof RulesError) {
86
- res.statusCode = 400;
87
- res.write(JSONString({
88
- error: 'requestValidation',
89
- data: Object.assign(Object.assign({}, e.data), { in: key }),
90
- }));
91
- res.end();
92
- }
93
- else {
94
- console.error(e);
95
- res.statusCode = 500;
96
- res.write(JSONString({
97
- error: 'unknown',
98
- data: { in: key },
99
- }));
100
- res.end();
101
- }
102
- return true;
97
+ else {
98
+ console.error(e);
99
+ res.statusCode = 500;
100
+ res.write(JSONString({
101
+ data: { in: key },
102
+ error: 'unknown',
103
+ }));
104
+ res.end();
103
105
  }
106
+ return true;
104
107
  }
105
- return false;
106
108
  }
107
- if (checkActionRules(headerRules, 'headers'))
108
- return true;
109
- if (checkActionRules(cookieRules, 'cookies'))
110
- return true;
111
- if (checkActionRules(searchRules, 'search'))
109
+ return false;
110
+ }
111
+ if (checkActionRules(headerRules, 'headers'))
112
+ return true;
113
+ if (checkActionRules(cookieRules, 'cookies'))
114
+ return true;
115
+ if (checkActionRules(searchRules, 'search'))
116
+ return true;
117
+ if (bodyRules) {
118
+ await action.parseBody();
119
+ if (!action.body) {
120
+ res.statusCode = 400;
121
+ res.setHeader('Content-Type', 'application/json');
122
+ res.write(JSONString({
123
+ error: 'requestBodyContentType',
124
+ }));
125
+ res.end();
112
126
  return true;
113
- if (bodyRules) {
114
- yield action.parseBody();
115
- if (!action.body) {
116
- res.statusCode = 400;
117
- res.setHeader('Content-Type', 'application/json');
118
- res.write(JSONString({
119
- error: 'requestBodyContentType',
120
- }));
121
- res.end();
122
- return true;
123
- }
124
- if (checkActionRules(bodyRules, 'body'))
125
- return true;
126
127
  }
127
- const newHandler = Object.create(runEndpoint.handler);
128
- responseContext.set(newHandler, res);
129
- requestContext.set(newHandler, req);
130
- paramsContext.set(newHandler, params);
131
- actionContext.set(newHandler, action);
132
- innet(runEndpoint.content, newHandler);
128
+ if (checkActionRules(bodyRules, 'body'))
129
+ return true;
130
+ }
131
+ paramsContext.set(actionHandler, params);
132
+ for (const plugin of runEndpoint.plugins) {
133
+ const result = await plugin();
134
+ if (result === undefined)
135
+ continue;
136
+ innet(result, actionHandler);
133
137
  return true;
134
- });
138
+ }
139
+ return true;
135
140
  }
136
- if ((_e = (_d = currentEndpoint.static) === null || _d === void 0 ? void 0 : _d[key]) === null || _e === void 0 ? void 0 : _e.content) {
137
- if (!(yield run((_f = currentEndpoint.static) === null || _f === void 0 ? void 0 : _f[key], params)))
141
+ if ((_d = (_c = currentEndpoint.static) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.plugins) {
142
+ if (!await run((_e = currentEndpoint.static) === null || _e === void 0 ? void 0 : _e[key], params))
138
143
  continue;
139
- return;
144
+ return null;
140
145
  }
141
146
  if (currentEndpoint.dynamic) {
142
147
  for (const dynamicEndpoint of currentEndpoint.dynamic) {
143
- if (dynamicEndpoint.content) {
144
- if (!(yield run(dynamicEndpoint, Object.assign(Object.assign({}, params), { [dynamicEndpoint.key.slice(1, -1)]: key }))))
148
+ if (dynamicEndpoint.plugins) {
149
+ if (!await run(dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }))
145
150
  continue;
146
- return;
151
+ return null;
147
152
  }
148
153
  }
149
154
  }
150
155
  break;
151
156
  }
152
- if ((_g = currentEndpoint.static) === null || _g === void 0 ? void 0 : _g[key]) {
157
+ if ((_f = currentEndpoint.static) === null || _f === void 0 ? void 0 : _f[key]) {
153
158
  endpointQueue.push([deep + 1, currentEndpoint.static[key], params]);
154
159
  }
155
160
  if (currentEndpoint.dynamic) {
156
161
  for (const dynamicEndpoint of currentEndpoint.dynamic) {
157
- endpointQueue.push([deep + 1, dynamicEndpoint, Object.assign(Object.assign({}, params), { [dynamicEndpoint.key.slice(1, -1)]: key })]);
162
+ endpointQueue.push([deep + 1, dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }]);
158
163
  }
159
164
  }
160
165
  }
161
- if (context.fallback) {
162
- const newHandler = Object.create(context.fallback.handler);
163
- responseContext.set(newHandler, res);
164
- requestContext.set(newHandler, req);
166
+ for (const plugin of plugins) {
167
+ const result = await plugin();
168
+ if (result === undefined)
169
+ continue;
170
+ const newHandler = Object.create(handler);
165
171
  actionContext.set(newHandler, action);
166
- innet(context.fallback.children, newHandler);
167
- }
168
- else {
169
- res.statusCode = 404;
170
- res.end();
172
+ innet(result, newHandler);
173
+ return null;
171
174
  }
172
175
  });
173
- server.on('request', listener);
174
- onDestroy(() => {
175
- server.off('request', listener);
176
- });
177
176
  innet(children, handler);
178
177
  };
179
178
 
@@ -2,63 +2,61 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib = require('tslib');
6
5
  var innet = require('innet');
7
- var watchState = require('watch-state');
6
+ var jsx = require('@innet/jsx');
8
7
  require('../../../hooks/index.js');
9
8
  require('../../../utils/index.js');
10
9
  require('../../../utils/rules/index.js');
11
- var useServer = require('../../../hooks/useServer/useServer.js');
10
+ var useServerPlugins = require('../../../hooks/useServerPlugins/useServerPlugins.js');
12
11
  var useApi = require('../../../hooks/useApi/useApi.js');
13
- var Action = require('../../../utils/action/Action.js');
12
+ var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
13
+ var useAction = require('../../../hooks/useAction/useAction.js');
14
14
  var JSONString = require('../../../utils/JSONString/JSONString.js');
15
15
  var helpers = require('../../../utils/rules/helpers.js');
16
- var useResponse = require('../../../hooks/useResponse/useResponse.js');
17
- var useRequest = require('../../../hooks/useRequest/useRequest.js');
18
16
  var useParams = require('../../../hooks/useParams/useParams.js');
19
- var useAction = require('../../../hooks/useAction/useAction.js');
20
-
21
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
-
23
- var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
24
17
 
25
18
  const api = () => {
26
- var _a;
27
19
  const handler = innet.useNewHandler();
28
- const { props = {}, children } = innet.useApp();
29
- const { server } = useServer.useServer();
30
- const { prefix = '', title = '' } = props, rest = tslib.__rest(props, ["prefix", "title"]);
31
- const info = Object.assign(Object.assign({}, rest), { version: (_a = rest.version) !== null && _a !== void 0 ? _a : '0.0.0', title });
20
+ const props = jsx.useProps();
21
+ const { children, exclude, include, prefix = process.env.INNET_API_PREFIX || '', title = '', version = process.env.INNET_API_VERSION || '0.0.0', ...rest } = props;
22
+ const info = { ...rest, title, version };
32
23
  const endpoints = {};
33
24
  const docs = {
34
- openapi: '3.1.0',
35
25
  info,
26
+ openapi: '3.1.0',
36
27
  paths: {},
37
28
  };
38
- const requestPlugins = new Set();
39
- const context = { docs, endpoints, prefix, requestPlugins, refRules: {} };
29
+ const plugins = new Set();
30
+ const context = { docs, endpoints, prefix, refRules: {} };
31
+ const condition = (action) => {
32
+ const path = action.parsedUrl.path;
33
+ const url = path.endsWith('/') ? path.slice(0, -1) : path;
34
+ if (!url.startsWith(prefix) || (exclude === null || exclude === void 0 ? void 0 : exclude.test(url))) {
35
+ return false;
36
+ }
37
+ if (include && !include.test(url)) {
38
+ return false;
39
+ }
40
+ return true;
41
+ };
42
+ useServerPlugins.serverPlugins.set(handler, plugins);
40
43
  useApi.apiContext.set(handler, context);
41
- const listener = (req, res) => tslib.__awaiter(void 0, void 0, void 0, function* () {
42
- var _b, _c, _d, _e, _f, _g;
43
- if (res.writableEnded)
44
+ useServerPlugin.useServerPlugin(async () => {
45
+ var _a, _b, _c, _d, _e, _f;
46
+ const action = useAction.useAction();
47
+ if (!condition(action))
44
48
  return;
45
- const action = new Action.Action(req, res);
49
+ const actionHandler = innet.useNewHandler();
46
50
  const path = action.parsedUrl.path;
47
51
  const url = path.endsWith('/') ? path.slice(0, -1) : path;
52
+ const { req, res, } = action;
48
53
  if (url === (prefix || '')) {
49
54
  res.setHeader('Content-Type', 'application/json');
50
55
  res.write(JSONString.JSONString(docs));
51
56
  res.end();
52
- return;
53
- }
54
- if (!url.startsWith(prefix)) {
55
- return;
56
- }
57
- for (const requestPlugin of requestPlugins) {
58
- if (requestPlugin(action))
59
- return;
57
+ return null;
60
58
  }
61
- const method = ((_c = (_b = req.method) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : 'get');
59
+ const method = ((_b = (_a = req.method) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : 'get');
62
60
  const rawSplitPath = url.slice(prefix.length).split('/').slice(1);
63
61
  const splitPath = rawSplitPath.at(-1) ? rawSplitPath : rawSplitPath.slice(0, -1);
64
62
  const endpoint = endpoints[method];
@@ -67,122 +65,119 @@ const api = () => {
67
65
  const [deep, currentEndpoint, params] = endpointQueue.shift();
68
66
  const key = splitPath[deep];
69
67
  if (deep + 1 === splitPath.length) {
70
- function run(runEndpoint, params) {
68
+ async function run(runEndpoint, params) {
71
69
  var _a, _b, _c, _d, _e;
72
- return tslib.__awaiter(this, void 0, void 0, function* () {
73
- const pathRules = (_a = runEndpoint.rules) === null || _a === void 0 ? void 0 : _a.path;
74
- const headerRules = (_b = runEndpoint.rules) === null || _b === void 0 ? void 0 : _b.header;
75
- const cookieRules = (_c = runEndpoint.rules) === null || _c === void 0 ? void 0 : _c.cookie;
76
- const searchRules = (_d = runEndpoint.rules) === null || _d === void 0 ? void 0 : _d.search;
77
- const bodyRules = (_e = runEndpoint.rules) === null || _e === void 0 ? void 0 : _e.body;
78
- if (pathRules) {
70
+ const pathRules = (_a = runEndpoint.rules) === null || _a === void 0 ? void 0 : _a.path;
71
+ const headerRules = (_b = runEndpoint.rules) === null || _b === void 0 ? void 0 : _b.header;
72
+ const cookieRules = (_c = runEndpoint.rules) === null || _c === void 0 ? void 0 : _c.cookie;
73
+ const searchRules = (_d = runEndpoint.rules) === null || _d === void 0 ? void 0 : _d.search;
74
+ const bodyRules = (_e = runEndpoint.rules) === null || _e === void 0 ? void 0 : _e.body;
75
+ if (pathRules) {
76
+ try {
77
+ Object.assign(params, pathRules(params, { in: 'path' }));
78
+ }
79
+ catch (_f) {
80
+ return false;
81
+ }
82
+ }
83
+ function checkActionRules(rules, key = 'search') {
84
+ if (rules) {
79
85
  try {
80
- Object.assign(params, pathRules(params, { in: 'path' }));
81
- }
82
- catch (_f) {
83
- return false;
86
+ action[key] = rules(action[key]);
84
87
  }
85
- }
86
- function checkActionRules(rules, key = 'search') {
87
- if (rules) {
88
- try {
89
- action[key] = rules(action[key]);
88
+ catch (e) {
89
+ res.setHeader('Content-Type', 'application/json');
90
+ if (e instanceof helpers.RulesError) {
91
+ res.statusCode = 400;
92
+ res.write(JSONString.JSONString({
93
+ data: {
94
+ ...e.data,
95
+ in: key,
96
+ },
97
+ error: 'requestValidation',
98
+ }));
99
+ res.end();
90
100
  }
91
- catch (e) {
92
- res.setHeader('Content-Type', 'application/json');
93
- if (e instanceof helpers.RulesError) {
94
- res.statusCode = 400;
95
- res.write(JSONString.JSONString({
96
- error: 'requestValidation',
97
- data: Object.assign(Object.assign({}, e.data), { in: key }),
98
- }));
99
- res.end();
100
- }
101
- else {
102
- console.error(e);
103
- res.statusCode = 500;
104
- res.write(JSONString.JSONString({
105
- error: 'unknown',
106
- data: { in: key },
107
- }));
108
- res.end();
109
- }
110
- return true;
101
+ else {
102
+ console.error(e);
103
+ res.statusCode = 500;
104
+ res.write(JSONString.JSONString({
105
+ data: { in: key },
106
+ error: 'unknown',
107
+ }));
108
+ res.end();
111
109
  }
110
+ return true;
112
111
  }
113
- return false;
114
112
  }
115
- if (checkActionRules(headerRules, 'headers'))
116
- return true;
117
- if (checkActionRules(cookieRules, 'cookies'))
118
- return true;
119
- if (checkActionRules(searchRules, 'search'))
113
+ return false;
114
+ }
115
+ if (checkActionRules(headerRules, 'headers'))
116
+ return true;
117
+ if (checkActionRules(cookieRules, 'cookies'))
118
+ return true;
119
+ if (checkActionRules(searchRules, 'search'))
120
+ return true;
121
+ if (bodyRules) {
122
+ await action.parseBody();
123
+ if (!action.body) {
124
+ res.statusCode = 400;
125
+ res.setHeader('Content-Type', 'application/json');
126
+ res.write(JSONString.JSONString({
127
+ error: 'requestBodyContentType',
128
+ }));
129
+ res.end();
120
130
  return true;
121
- if (bodyRules) {
122
- yield action.parseBody();
123
- if (!action.body) {
124
- res.statusCode = 400;
125
- res.setHeader('Content-Type', 'application/json');
126
- res.write(JSONString.JSONString({
127
- error: 'requestBodyContentType',
128
- }));
129
- res.end();
130
- return true;
131
- }
132
- if (checkActionRules(bodyRules, 'body'))
133
- return true;
134
131
  }
135
- const newHandler = Object.create(runEndpoint.handler);
136
- useResponse.responseContext.set(newHandler, res);
137
- useRequest.requestContext.set(newHandler, req);
138
- useParams.paramsContext.set(newHandler, params);
139
- useAction.actionContext.set(newHandler, action);
140
- innet__default["default"](runEndpoint.content, newHandler);
132
+ if (checkActionRules(bodyRules, 'body'))
133
+ return true;
134
+ }
135
+ useParams.paramsContext.set(actionHandler, params);
136
+ for (const plugin of runEndpoint.plugins) {
137
+ const result = await plugin();
138
+ if (result === undefined)
139
+ continue;
140
+ innet.innet(result, actionHandler);
141
141
  return true;
142
- });
142
+ }
143
+ return true;
143
144
  }
144
- if ((_e = (_d = currentEndpoint.static) === null || _d === void 0 ? void 0 : _d[key]) === null || _e === void 0 ? void 0 : _e.content) {
145
- if (!(yield run((_f = currentEndpoint.static) === null || _f === void 0 ? void 0 : _f[key], params)))
145
+ if ((_d = (_c = currentEndpoint.static) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.plugins) {
146
+ if (!await run((_e = currentEndpoint.static) === null || _e === void 0 ? void 0 : _e[key], params))
146
147
  continue;
147
- return;
148
+ return null;
148
149
  }
149
150
  if (currentEndpoint.dynamic) {
150
151
  for (const dynamicEndpoint of currentEndpoint.dynamic) {
151
- if (dynamicEndpoint.content) {
152
- if (!(yield run(dynamicEndpoint, Object.assign(Object.assign({}, params), { [dynamicEndpoint.key.slice(1, -1)]: key }))))
152
+ if (dynamicEndpoint.plugins) {
153
+ if (!await run(dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }))
153
154
  continue;
154
- return;
155
+ return null;
155
156
  }
156
157
  }
157
158
  }
158
159
  break;
159
160
  }
160
- if ((_g = currentEndpoint.static) === null || _g === void 0 ? void 0 : _g[key]) {
161
+ if ((_f = currentEndpoint.static) === null || _f === void 0 ? void 0 : _f[key]) {
161
162
  endpointQueue.push([deep + 1, currentEndpoint.static[key], params]);
162
163
  }
163
164
  if (currentEndpoint.dynamic) {
164
165
  for (const dynamicEndpoint of currentEndpoint.dynamic) {
165
- endpointQueue.push([deep + 1, dynamicEndpoint, Object.assign(Object.assign({}, params), { [dynamicEndpoint.key.slice(1, -1)]: key })]);
166
+ endpointQueue.push([deep + 1, dynamicEndpoint, { ...params, [dynamicEndpoint.key.slice(1, -1)]: key }]);
166
167
  }
167
168
  }
168
169
  }
169
- if (context.fallback) {
170
- const newHandler = Object.create(context.fallback.handler);
171
- useResponse.responseContext.set(newHandler, res);
172
- useRequest.requestContext.set(newHandler, req);
170
+ for (const plugin of plugins) {
171
+ const result = await plugin();
172
+ if (result === undefined)
173
+ continue;
174
+ const newHandler = Object.create(handler);
173
175
  useAction.actionContext.set(newHandler, action);
174
- innet__default["default"](context.fallback.children, newHandler);
176
+ innet.innet(result, newHandler);
177
+ return null;
175
178
  }
176
- else {
177
- res.statusCode = 404;
178
- res.end();
179
- }
180
- });
181
- server.on('request', listener);
182
- watchState.onDestroy(() => {
183
- server.off('request', listener);
184
179
  });
185
- innet__default["default"](children, handler);
180
+ innet.innet(children, handler);
186
181
  };
187
182
 
188
183
  exports.api = api;
@@ -1,4 +1,5 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  export interface BodyProps {
3
+ children?: any;
3
4
  }
4
5
  export declare const body: HandlerPlugin;
@@ -1,6 +1,5 @@
1
- import innet, { useNewHandler } from 'innet';
1
+ import { useNewHandler, innet } from 'innet';
2
2
  import { useContext, useChildren } from '@innet/jsx';
3
- import { callHandler } from '@innet/utils';
4
3
  import { allBodyTypes } from '../../../constants.es6.js';
5
4
  import '../../../hooks/index.es6.js';
6
5
  import '../../../utils/index.es6.js';
@@ -9,6 +8,7 @@ import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.
9
8
  import { getOrAdd } from '../../../utils/getOrAdd/getOrAdd.es6.js';
10
9
  import { bodyFileContext } from '../../../hooks/useBodyFile/useBodyFile.es6.js';
11
10
  import { ruleContext } from '../../../hooks/useRule/useRule.es6.js';
11
+ import { useEffect } from '../../../hooks/useEffect/useEffect.es6.js';
12
12
 
13
13
  const body = () => {
14
14
  const endpoint = useContext(endpointContext);
@@ -40,7 +40,7 @@ const body = () => {
40
40
  rules.body = rule;
41
41
  });
42
42
  innet(children, handler);
43
- innet(() => {
43
+ useEffect(() => {
44
44
  if (fileUsed) {
45
45
  requestBody.content['multipart/form-data'] = { schema };
46
46
  }
@@ -49,7 +49,7 @@ const body = () => {
49
49
  requestBody.content[type] = { schema };
50
50
  }
51
51
  }
52
- }, callHandler);
52
+ });
53
53
  };
54
54
 
55
55
  export { body };