@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
@@ -6,14 +6,17 @@ var jsx = require('@innet/jsx');
6
6
  require('../../../hooks/index.js');
7
7
  var swagger$1 = require('./swagger.html.js');
8
8
  var useApi = require('../../../hooks/useApi/useApi.js');
9
- var useRequestPlugin = require('../../../hooks/useRequestPlugin/useRequestPlugin.js');
9
+ var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
10
+ var useAction = require('../../../hooks/useAction/useAction.js');
10
11
 
12
+ /** @deprecated Use <ui> */
11
13
  const swagger = () => {
12
- const { path = '/swagger-ui' } = jsx.useProps() || {};
13
- const { docs, prefix } = useApi.useApi();
14
+ const { path = process.env.INNET_SWAGGER_PATH || '/swagger-ui', } = jsx.useProps() || {};
15
+ const { docs, prefix, } = useApi.useApi();
14
16
  let swaggerResponse;
15
- useRequestPlugin.useRequestPlugin(action => {
16
- if (action.req.url === prefix + path) {
17
+ useServerPlugin.useServerPlugin(() => {
18
+ const action = useAction.useAction();
19
+ if (action.path === prefix + path) {
17
20
  if (!swaggerResponse) {
18
21
  swaggerResponse = swagger$1["default"].replace('spec: {},', `spec: ${JSON.stringify(docs)},`);
19
22
  }
@@ -0,0 +1 @@
1
+ export * from './ui';
@@ -0,0 +1 @@
1
+ export { ui, uiPresets } from './ui.es6.js';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ui = require('./ui.js');
6
+
7
+
8
+
9
+ exports.ui = ui.ui;
10
+ exports.uiPresets = ui.uiPresets;
@@ -0,0 +1,3 @@
1
+ var rapidoc = "<!doctype html>\n<html>\n<head>\n <script type=\"module\" src=\"https://unpkg.com/rapidoc/dist/rapidoc-min.js\"></script>\n</head>\n<body>\n<rapi-doc spec-url=\"{apiUrl}\" {attributes}></rapi-doc>\n</body>\n</html>\n";
2
+
3
+ export { rapidoc as default };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var rapidoc = "<!doctype html>\n<html>\n<head>\n <script type=\"module\" src=\"https://unpkg.com/rapidoc/dist/rapidoc-min.js\"></script>\n</head>\n<body>\n<rapi-doc spec-url=\"{apiUrl}\" {attributes}></rapi-doc>\n</body>\n</html>\n";
6
+
7
+ exports["default"] = rapidoc;
@@ -0,0 +1,3 @@
1
+ var redoc = "<!DOCTYPE html>\n<html>\n<head>\n <title>Redoc CE</title>\n <meta charset=\"utf-8\"/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <link href=\"https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700\" rel=\"stylesheet\">\n <style>\n body {\n margin: 0;\n padding: 0;\n }\n </style>\n</head>\n<body>\n<redoc spec-url='{apiUrl}' {attributes}></redoc>\n<script src=\"https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js\"> </script>\n</body>\n</html>\n";
2
+
3
+ export { redoc as default };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var redoc = "<!DOCTYPE html>\n<html>\n<head>\n <title>Redoc CE</title>\n <meta charset=\"utf-8\"/>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <link href=\"https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700\" rel=\"stylesheet\">\n <style>\n body {\n margin: 0;\n padding: 0;\n }\n </style>\n</head>\n<body>\n<redoc spec-url='{apiUrl}' {attributes}></redoc>\n<script src=\"https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js\"> </script>\n</body>\n</html>\n";
6
+
7
+ exports["default"] = redoc;
@@ -0,0 +1,3 @@
1
+ var scalar = "<!doctype html>\n<html>\n<head>\n <title>API Reference</title>\n <meta charset=\"utf-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1\" />\n</head>\n<body>\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/@scalar/api-reference\"></script>\n<script>\n Scalar.createApiReference('#app', {\n url: '{apiUrl}',\n ...{params}\n })\n</script>\n</body>\n</html>\n";
2
+
3
+ export { scalar as default };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var scalar = "<!doctype html>\n<html>\n<head>\n <title>API Reference</title>\n <meta charset=\"utf-8\" />\n <meta\n name=\"viewport\"\n content=\"width=device-width, initial-scale=1\" />\n</head>\n<body>\n<div id=\"app\"></div>\n<script src=\"https://cdn.jsdelivr.net/npm/@scalar/api-reference\"></script>\n<script>\n Scalar.createApiReference('#app', {\n url: '{apiUrl}',\n ...{params}\n })\n</script>\n</body>\n</html>\n";
6
+
7
+ exports["default"] = scalar;
@@ -0,0 +1,3 @@
1
+ var swagger = "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <meta\n name=\"description\"\n content=\"SwaggerUI\"\n />\n <title>SwaggerUI</title>\n <link rel=\"stylesheet\" href=\"https://unpkg.com/swagger-ui-dist/swagger-ui.css\" />\n</head>\n<body>\n<div id=\"swagger-ui\"></div>\n<script src=\"https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js\" crossorigin></script>\n<script>\n window.onload = () => {\n window.ui = SwaggerUIBundle({\n url: \"{apiUrl}\",\n dom_id: '#swagger-ui',\n ...{params}\n });\n };\n</script>\n</body>\n</html>\n";
2
+
3
+ export { swagger as default };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var swagger = "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <meta\n name=\"description\"\n content=\"SwaggerUI\"\n />\n <title>SwaggerUI</title>\n <link rel=\"stylesheet\" href=\"https://unpkg.com/swagger-ui-dist/swagger-ui.css\" />\n</head>\n<body>\n<div id=\"swagger-ui\"></div>\n<script src=\"https://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js\" crossorigin></script>\n<script>\n window.onload = () => {\n window.ui = SwaggerUIBundle({\n url: \"{apiUrl}\",\n dom_id: '#swagger-ui',\n ...{params}\n });\n };\n</script>\n</body>\n</html>\n";
6
+
7
+ exports["default"] = swagger;
@@ -0,0 +1,13 @@
1
+ import { type HandlerPlugin } from 'innet';
2
+ export declare const uiPresets: {
3
+ rapidoc: string;
4
+ redoc: string;
5
+ scalar: string;
6
+ swagger: string;
7
+ };
8
+ export interface UiProps {
9
+ html?: string;
10
+ params?: Record<string, any>;
11
+ path?: string;
12
+ }
13
+ export declare const ui: HandlerPlugin;
@@ -0,0 +1,45 @@
1
+ import { placeholder } from '@cantinc/utils';
2
+ import { useProps } from '@innet/jsx';
3
+ import '../../../hooks/index.es6.js';
4
+ import rapidoc from './rapidoc.html.es6.js';
5
+ import redoc from './redoc.html.es6.js';
6
+ import scalar from './scalar.html.es6.js';
7
+ import swagger from './swagger.html.es6.js';
8
+ import { useApi } from '../../../hooks/useApi/useApi.es6.js';
9
+ import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
10
+ import { useAction } from '../../../hooks/useAction/useAction.es6.js';
11
+
12
+ function camelToDash(str) {
13
+ return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
14
+ }
15
+ const uiPresets = { rapidoc, redoc, scalar, swagger };
16
+ const ui = () => {
17
+ const { html = uiPresets.swagger, params = {}, path = process.env.INNET_UI_PATH || '/ui', } = useProps() || {};
18
+ const { docs, prefix, } = useApi();
19
+ let cache = '';
20
+ useServerPlugin(() => {
21
+ const action = useAction();
22
+ if (action.path === prefix + path) {
23
+ if (!cache) {
24
+ const attributes = Object
25
+ .keys(params)
26
+ .reduce((res, key) => {
27
+ return `${res} ${camelToDash(key)}='${String(params[key])}'`;
28
+ }, '');
29
+ cache = placeholder(html, {
30
+ apiUrl: prefix,
31
+ attributes,
32
+ docs: JSON.stringify(docs),
33
+ params: JSON.stringify(params),
34
+ ...params,
35
+ });
36
+ }
37
+ action.res.statusCode = 200;
38
+ action.res.write(cache);
39
+ action.res.end();
40
+ return true;
41
+ }
42
+ });
43
+ };
44
+
45
+ export { ui, uiPresets };
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@cantinc/utils');
6
+ var jsx = require('@innet/jsx');
7
+ require('../../../hooks/index.js');
8
+ var rapidoc = require('./rapidoc.html.js');
9
+ var redoc = require('./redoc.html.js');
10
+ var scalar = require('./scalar.html.js');
11
+ var swagger = require('./swagger.html.js');
12
+ var useApi = require('../../../hooks/useApi/useApi.js');
13
+ var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
14
+ var useAction = require('../../../hooks/useAction/useAction.js');
15
+
16
+ function camelToDash(str) {
17
+ return str.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
18
+ }
19
+ const uiPresets = { rapidoc: rapidoc["default"], redoc: redoc["default"], scalar: scalar["default"], swagger: swagger["default"] };
20
+ const ui = () => {
21
+ const { html = uiPresets.swagger, params = {}, path = process.env.INNET_UI_PATH || '/ui', } = jsx.useProps() || {};
22
+ const { docs, prefix, } = useApi.useApi();
23
+ let cache = '';
24
+ useServerPlugin.useServerPlugin(() => {
25
+ const action = useAction.useAction();
26
+ if (action.path === prefix + path) {
27
+ if (!cache) {
28
+ const attributes = Object
29
+ .keys(params)
30
+ .reduce((res, key) => {
31
+ return `${res} ${camelToDash(key)}='${String(params[key])}'`;
32
+ }, '');
33
+ cache = utils.placeholder(html, {
34
+ apiUrl: prefix,
35
+ attributes,
36
+ docs: JSON.stringify(docs),
37
+ params: JSON.stringify(params),
38
+ ...params,
39
+ });
40
+ }
41
+ action.res.statusCode = 200;
42
+ action.res.write(cache);
43
+ action.res.end();
44
+ return true;
45
+ }
46
+ });
47
+ };
48
+
49
+ exports.ui = ui;
50
+ exports.uiPresets = uiPresets;
@@ -0,0 +1 @@
1
+ export * from './whitelist';
@@ -0,0 +1 @@
1
+ export { whitelist } from './whitelist.es6.js';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var whitelist = require('./whitelist.js');
6
+
7
+
8
+
9
+ exports.whitelist = whitelist.whitelist;
@@ -0,0 +1,5 @@
1
+ export interface WhitelistProps {
2
+ children?: any;
3
+ ip?: string | string[];
4
+ }
5
+ export declare function whitelist(): void;
@@ -0,0 +1,19 @@
1
+ import { useProps } from '@innet/jsx';
2
+ import '../../../hooks/index.es6.js';
3
+ import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
4
+ import { useAction } from '../../../hooks/useAction/useAction.es6.js';
5
+
6
+ function whitelist() {
7
+ const { children, ip = process.env.INNET_WHITELIST_IP, } = useProps();
8
+ const ips = typeof ip === 'string' ? ip.split(',') : ip;
9
+ if (!ips)
10
+ return;
11
+ useServerPlugin(() => {
12
+ const action = useAction();
13
+ if (!action.clientIp || !ips.includes(action.clientIp)) {
14
+ return children;
15
+ }
16
+ });
17
+ }
18
+
19
+ export { whitelist };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsx = require('@innet/jsx');
6
+ require('../../../hooks/index.js');
7
+ var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
8
+ var useAction = require('../../../hooks/useAction/useAction.js');
9
+
10
+ function whitelist() {
11
+ const { children, ip = process.env.INNET_WHITELIST_IP, } = jsx.useProps();
12
+ const ips = typeof ip === 'string' ? ip.split(',') : ip;
13
+ if (!ips)
14
+ return;
15
+ useServerPlugin.useServerPlugin(() => {
16
+ const action = useAction.useAction();
17
+ if (!action.clientIp || !ips.includes(action.clientIp)) {
18
+ return children;
19
+ }
20
+ });
21
+ }
22
+
23
+ exports.whitelist = whitelist;
package/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import type { Handler } from 'innet';
2
1
  import type { OpenAPIV3_1 as API } from 'openapi-types';
3
2
  import type { ApiErrorValue } from './constants';
4
- import { type Action } from './utils';
3
+ import { type ServerPlugin } from './hooks';
5
4
  import { type Rule, type RulesErrors } from './utils/rules';
6
5
  export type TagObject = API.TagObject;
7
6
  export type Document = API.Document;
@@ -16,60 +15,60 @@ export type ReferenceObject = API.ReferenceObject;
16
15
  export type ParameterObject = API.ParameterObject;
17
16
  export type RequestBodyObject = API.RequestBodyObject;
18
17
  export type ObjectType = ArraySchemaObjectType | NonArraySchemaObjectType;
19
- export type RefSchemaObject = SchemaObject | ReferenceObject;
18
+ export type RefSchemaObject = ReferenceObject | SchemaObject;
19
+ export type Effect = () => void;
20
20
  export interface IValidationErrorData extends Record<string, any> {
21
21
  error: RulesErrors;
22
22
  }
23
23
  export type ValidationErrorData = IValidationErrorData | undefined;
24
24
  export interface EndpointRules {
25
- path?: Rule;
26
- search?: Rule;
25
+ body?: Rule;
27
26
  cookie?: Rule;
28
27
  header?: Rule;
29
- body?: Rule;
28
+ path?: Rule;
30
29
  response?: Rule;
30
+ search?: Rule;
31
31
  }
32
32
  export interface EndpointRulesMaps {
33
- path?: Record<string, Rule>;
34
- search?: Record<string, Rule>;
35
33
  cookie?: Record<string, Rule>;
36
34
  header?: Record<string, Rule>;
35
+ path?: Record<string, Rule>;
36
+ search?: Record<string, Rule>;
37
37
  }
38
38
  export interface Endpoint<I = unknown, O = unknown, E extends ApiErrorValue = ApiErrorValue, P extends InValidationErrorParam = InValidationErrorParam, D extends ValidationErrorData = ValidationErrorData> {
39
+ dynamic?: Endpoint<I, O, E, P, D>[];
39
40
  key: string;
40
- content?: any;
41
+ plugins: Set<ServerPlugin>;
41
42
  rules?: EndpointRules;
42
43
  rulesMaps?: EndpointRulesMaps;
43
- handler?: Handler;
44
44
  static?: Record<string, Endpoint<I, O, E, P, D>>;
45
- dynamic?: Endpoint<I, O, E, P, D>[];
46
45
  }
47
46
  export type IntegerFormats = 'int32' | 'int64';
48
- export type EndpointsMethods = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'options' | 'head' | 'trace';
49
- export type InParam = 'query' | 'header' | 'path' | 'cookie';
50
- export type InValidationErrorParam = InParam | 'body';
51
- export type BodyType = 'application/x-www-form-urlencoded' | 'application/json' | 'multipart/form-data';
47
+ export type EndpointsMethods = 'delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put' | 'trace';
48
+ export type InParam = 'cookie' | 'header' | 'path' | 'query';
49
+ export type InValidationErrorParam = 'body' | InParam;
50
+ export type BodyType = 'application/json' | 'application/x-www-form-urlencoded' | 'multipart/form-data';
52
51
  export type Endpoints<I = unknown, O = unknown, E extends ApiErrorValue = ApiErrorValue, P extends InValidationErrorParam = InValidationErrorParam, D extends ValidationErrorData = ValidationErrorData> = Partial<Record<EndpointsMethods, Endpoint<I, O, E, P, D>>>;
53
52
  export interface SSL {
54
53
  cert: string;
55
54
  key: string;
56
55
  }
57
56
  export interface ServerStartParams {
58
- port: number;
59
57
  https: boolean;
58
+ port: number;
60
59
  }
61
60
  export interface BaseSchemaProps<T> {
62
61
  default?: T;
62
+ deprecated?: boolean;
63
+ description?: string;
63
64
  example?: T;
64
65
  examples?: T[];
65
- description?: string;
66
+ readOnly?: boolean;
66
67
  ref?: string;
68
+ title?: string;
69
+ writeOnly?: boolean;
67
70
  }
68
71
  export interface ValuesSchemaProps<T> extends BaseSchemaProps<T> {
72
+ const?: T;
69
73
  values?: T[];
70
74
  }
71
- export interface Fallback {
72
- children: any;
73
- handler: Handler;
74
- }
75
- export type RequestPlugin = (action: Action) => boolean | undefined;
@@ -1,4 +1,5 @@
1
1
  export interface BinOptions {
2
+ disposition: string;
2
3
  /**
3
4
  * A field name of FormData request
4
5
  */
@@ -11,37 +12,36 @@ export interface BinOptions {
11
12
  * Full path to the file on server, you MUST use it only on server side for the safe
12
13
  */
13
14
  path: string;
14
- /**
15
- * MIME-type of the file
16
- */
17
- type: string;
18
- disposition: string;
19
15
  /**
20
16
  * The file size
21
17
  */
22
18
  size: number;
23
- }
24
- export declare class Bin implements BinOptions {
25
19
  /**
26
- * A file name, without extension
20
+ * MIME-type of the file
27
21
  */
28
- filename: string;
22
+ type: string;
23
+ }
24
+ export declare class Bin implements BinOptions {
25
+ disposition: string;
29
26
  /**
30
27
  * The extension of the origin file from originalFilename
31
28
  */
32
29
  extension?: string;
33
- type: string;
34
- disposition: string;
35
30
  fieldName: string;
31
+ /**
32
+ * A file name, without extension
33
+ */
34
+ filename: string;
36
35
  originalFilename: string;
37
36
  path: string;
38
37
  size: number;
38
+ type: string;
39
39
  constructor(options: BinOptions);
40
40
  toJSON(): {
41
41
  $: string;
42
- originalFilename: string;
43
- type: string;
44
42
  disposition: string;
43
+ originalFilename: string;
45
44
  size: number;
45
+ type: string;
46
46
  };
47
47
  }
@@ -8,10 +8,10 @@ class Bin {
8
8
  toJSON() {
9
9
  return {
10
10
  $: 'binary',
11
- originalFilename: this.originalFilename,
12
- type: this.type,
13
11
  disposition: this.disposition,
12
+ originalFilename: this.originalFilename,
14
13
  size: this.size,
14
+ type: this.type,
15
15
  };
16
16
  }
17
17
  }
@@ -12,10 +12,10 @@ class Bin {
12
12
  toJSON() {
13
13
  return {
14
14
  $: 'binary',
15
- originalFilename: this.originalFilename,
16
- type: this.type,
17
15
  disposition: this.disposition,
16
+ originalFilename: this.originalFilename,
18
17
  size: this.size,
18
+ type: this.type,
19
19
  };
20
20
  }
21
21
  }
@@ -1,5 +1,4 @@
1
- /// <reference types="node" />
2
- import { type CookieSerializeOptions } from 'cookie';
1
+ import { type Cookies, type SerializeOptions } from 'cookie';
3
2
  import { type IncomingHttpHeaders, type IncomingMessage, type ServerResponse } from 'http';
4
3
  import { type ParsedQs } from 'qs';
5
4
  import { type BodyType } from '../../types';
@@ -12,21 +11,21 @@ export declare class Action {
12
11
  #private;
13
12
  readonly req: IncomingMessage;
14
13
  readonly res: ServerResponse;
14
+ body?: object;
15
15
  constructor(req: IncomingMessage, res: ServerResponse);
16
+ parseBody(): Promise<void>;
17
+ setCookie(name: string, value?: string, options?: SerializeOptions): void;
18
+ get bodyType(): BodyType | undefined;
19
+ get clientIp(): string | null;
20
+ get cookies(): Cookies;
21
+ set cookies(value: Record<string, string>);
22
+ get headers(): IncomingHttpHeaders;
23
+ set headers(value: IncomingHttpHeaders);
24
+ get originCookies(): Cookies;
25
+ get originHeaders(): IncomingHttpHeaders;
26
+ get originSearch(): ParsedQs;
16
27
  get parsedUrl(): ParsedUrl;
17
28
  get path(): string;
18
- get originSearch(): ParsedQs;
19
29
  get search(): ParsedQs;
20
30
  set search(value: ParsedQs);
21
- get originHeaders(): IncomingHttpHeaders;
22
- get headers(): IncomingHttpHeaders;
23
- set headers(value: IncomingHttpHeaders);
24
- get originCookies(): Record<string, string>;
25
- get cookies(): Record<string, string>;
26
- set cookies(value: Record<string, string>);
27
- get bodyType(): BodyType | undefined;
28
- body?: object;
29
- parseBody(): Promise<void>;
30
- setCookie(name: string, value?: string, options?: CookieSerializeOptions): void;
31
- get clientIp(): string | null;
32
31
  }