@innet/server 2.0.0-alpha.8 → 2.0.0-beta.1

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 (322) hide show
  1. package/README.md +1200 -440
  2. package/_virtual/_rollup-plugin-process-env.es6.js +10 -0
  3. package/_virtual/_rollup-plugin-process-env.js +12 -0
  4. package/handler/handler.d.ts +27 -14
  5. package/handler/handler.es6.js +17 -11
  6. package/handler/handler.js +17 -11
  7. package/hooks/index.d.ts +6 -1
  8. package/hooks/index.es6.js +6 -1
  9. package/hooks/index.js +6 -1
  10. package/hooks/useAction/useAction.es6.js +1 -1
  11. package/hooks/useAction/useAction.js +1 -1
  12. package/hooks/useApi/useApi.d.ts +1 -3
  13. package/hooks/useClientIp/useClientIp.d.ts +1 -1
  14. package/hooks/useClientIp/useClientIp.es6.js +4 -10
  15. package/hooks/useClientIp/useClientIp.js +4 -10
  16. package/hooks/useEndpoint/useEndpoint.d.ts +1 -1
  17. package/hooks/useEndpoint/useEndpoint.es6.js +3 -1
  18. package/hooks/useEndpoint/useEndpoint.js +3 -1
  19. package/hooks/useIsServerHttps/index.d.ts +1 -0
  20. package/hooks/useIsServerHttps/index.es6.js +1 -0
  21. package/hooks/useIsServerHttps/index.js +10 -0
  22. package/hooks/useIsServerHttps/useIsServerHttps.d.ts +3 -0
  23. package/hooks/useIsServerHttps/useIsServerHttps.es6.js +14 -0
  24. package/hooks/useIsServerHttps/useIsServerHttps.js +19 -0
  25. package/hooks/useNewSchema/useNewSchema.es6.js +1 -1
  26. package/hooks/useNewSchema/useNewSchema.js +1 -1
  27. package/hooks/useObjectSchemaContext/index.d.ts +1 -0
  28. package/hooks/useObjectSchemaContext/index.es6.js +1 -0
  29. package/hooks/useObjectSchemaContext/index.js +10 -0
  30. package/hooks/useObjectSchemaContext/useObjectSchemaContext.d.ts +3 -0
  31. package/hooks/useObjectSchemaContext/useObjectSchemaContext.es6.js +14 -0
  32. package/hooks/useObjectSchemaContext/useObjectSchemaContext.js +19 -0
  33. package/hooks/useRequest/index.es6.js +1 -1
  34. package/hooks/useRequest/index.js +0 -1
  35. package/hooks/useRequest/useRequest.d.ts +1 -4
  36. package/hooks/useRequest/useRequest.es6.js +4 -4
  37. package/hooks/useRequest/useRequest.js +3 -4
  38. package/hooks/useRequestHandler/index.d.ts +1 -0
  39. package/hooks/useRequestHandler/index.es6.js +1 -0
  40. package/hooks/useRequestHandler/index.js +10 -0
  41. package/hooks/useRequestHandler/useRequestHandler.d.ts +4 -0
  42. package/hooks/useRequestHandler/useRequestHandler.es6.js +14 -0
  43. package/hooks/useRequestHandler/useRequestHandler.js +19 -0
  44. package/hooks/useResponse/index.es6.js +1 -1
  45. package/hooks/useResponse/index.js +0 -1
  46. package/hooks/useResponse/useResponse.d.ts +1 -4
  47. package/hooks/useResponse/useResponse.es6.js +4 -4
  48. package/hooks/useResponse/useResponse.js +3 -4
  49. package/hooks/useSchemaType/useSchemaType.d.ts +3 -2
  50. package/hooks/useSchemaType/useSchemaType.es6.js +5 -6
  51. package/hooks/useSchemaType/useSchemaType.js +5 -6
  52. package/hooks/useServer/useServer.d.ts +2 -1
  53. package/hooks/useServer/useServer.es6.js +3 -1
  54. package/hooks/useServer/useServer.js +3 -1
  55. package/hooks/useServerPlugin/index.d.ts +1 -0
  56. package/hooks/useServerPlugin/index.es6.js +1 -0
  57. package/hooks/useServerPlugin/index.js +9 -0
  58. package/hooks/useServerPlugin/useServerPlugin.d.ts +2 -0
  59. package/hooks/useServerPlugin/useServerPlugin.es6.js +13 -0
  60. package/hooks/useServerPlugin/useServerPlugin.js +17 -0
  61. package/hooks/useServerPlugins/index.d.ts +1 -0
  62. package/hooks/useServerPlugins/index.es6.js +1 -0
  63. package/hooks/useServerPlugins/index.js +10 -0
  64. package/hooks/useServerPlugins/useServerPlugins.d.ts +4 -0
  65. package/hooks/useServerPlugins/useServerPlugins.es6.js +14 -0
  66. package/hooks/useServerPlugins/useServerPlugins.js +19 -0
  67. package/hooks/useServerPort/index.d.ts +1 -0
  68. package/hooks/useServerPort/index.es6.js +1 -0
  69. package/hooks/useServerPort/index.js +10 -0
  70. package/hooks/useServerPort/useServerPort.d.ts +3 -0
  71. package/hooks/useServerPort/useServerPort.es6.js +14 -0
  72. package/hooks/useServerPort/useServerPort.js +19 -0
  73. package/index.es6.js +17 -9
  74. package/index.js +33 -14
  75. package/package.json +2 -3
  76. package/plugins/main/api/api.d.ts +11 -8
  77. package/plugins/main/api/api.es6.js +55 -56
  78. package/plugins/main/api/api.js +54 -55
  79. package/plugins/main/body/body.d.ts +1 -0
  80. package/plugins/main/contact/contact.d.ts +2 -2
  81. package/plugins/main/endpoint/endpoint.d.ts +16 -15
  82. package/plugins/main/endpoint/endpoint.es6.js +8 -6
  83. package/plugins/main/endpoint/endpoint.js +7 -5
  84. package/plugins/main/host/host.d.ts +5 -5
  85. package/plugins/main/index.d.ts +2 -2
  86. package/plugins/main/index.es6.js +2 -2
  87. package/plugins/main/index.js +2 -2
  88. package/plugins/main/license/license.d.ts +5 -5
  89. package/plugins/main/param/param.d.ts +12 -11
  90. package/plugins/main/param/param.es6.js +6 -6
  91. package/plugins/main/param/param.js +5 -5
  92. package/plugins/main/preset/index.d.ts +1 -0
  93. package/plugins/main/preset/index.es6.js +1 -0
  94. package/plugins/{utils/prod → main/preset}/index.js +2 -2
  95. package/plugins/main/preset/preset.d.ts +3 -0
  96. package/plugins/main/preset/preset.es6.js +13 -0
  97. package/plugins/{utils/dev/dev.js → main/preset/preset.js} +9 -6
  98. package/plugins/main/response/index.es6.js +1 -1
  99. package/plugins/main/response/index.js +1 -0
  100. package/plugins/main/response/response.d.ts +6 -1
  101. package/plugins/main/response/response.es6.js +22 -13
  102. package/plugins/main/response/response.js +21 -11
  103. package/plugins/main/return/index.d.ts +1 -0
  104. package/plugins/main/return/index.es6.js +1 -0
  105. package/plugins/main/return/index.js +9 -0
  106. package/plugins/main/return/return.d.ts +4 -0
  107. package/plugins/main/return/return.es6.js +10 -0
  108. package/plugins/main/return/return.js +14 -0
  109. package/plugins/main/server/server.d.ts +6 -5
  110. package/plugins/main/server/server.es6.js +43 -16
  111. package/plugins/main/server/server.js +42 -15
  112. package/plugins/main/tag/tag.d.ts +3 -2
  113. package/plugins/main/tag/tag.es6.js +6 -4
  114. package/plugins/main/tag/tag.js +5 -3
  115. package/plugins/main/variable/variable.d.ts +5 -5
  116. package/plugins/main/variable/variable.es6.js +3 -1
  117. package/plugins/main/variable/variable.js +3 -1
  118. package/plugins/request/cms/cms.d.ts +1 -0
  119. package/plugins/request/cms/cms.es6.js +3 -4
  120. package/plugins/request/cms/cms.js +2 -3
  121. package/plugins/request/cookie/cookie.es6.js +3 -19
  122. package/plugins/request/cookie/cookie.js +3 -23
  123. package/plugins/request/error/error.d.ts +41 -40
  124. package/plugins/request/error/error.es6.js +48 -45
  125. package/plugins/request/error/error.js +47 -44
  126. package/plugins/request/file/file.d.ts +1 -0
  127. package/plugins/request/file/file.es6.js +5 -6
  128. package/plugins/request/file/file.js +4 -5
  129. package/plugins/request/header/header.es6.js +1 -1
  130. package/plugins/request/header/header.js +1 -1
  131. package/plugins/request/proxy/proxy.d.ts +4 -1
  132. package/plugins/request/proxy/proxy.es6.js +5 -2
  133. package/plugins/request/proxy/proxy.js +5 -2
  134. package/plugins/request/redirect/redirect.d.ts +8 -7
  135. package/plugins/request/redirect/redirect.es6.js +7 -7
  136. package/plugins/request/redirect/redirect.js +7 -7
  137. package/plugins/request/success/success.d.ts +8 -6
  138. package/plugins/request/success/success.es6.js +21 -11
  139. package/plugins/request/success/success.js +20 -10
  140. package/plugins/schema/any/any.d.ts +5 -0
  141. package/plugins/schema/any/any.es6.js +27 -0
  142. package/plugins/schema/any/any.js +31 -0
  143. package/plugins/schema/array/array.d.ts +1 -0
  144. package/plugins/schema/array/array.es6.js +3 -3
  145. package/plugins/schema/array/array.js +2 -2
  146. package/plugins/schema/binary/binary.d.ts +3 -3
  147. package/plugins/schema/date/date.d.ts +1 -1
  148. package/plugins/schema/date/date.es6.js +3 -3
  149. package/plugins/schema/date/date.js +3 -3
  150. package/plugins/schema/field/field.d.ts +2 -0
  151. package/plugins/schema/field/field.es6.js +8 -8
  152. package/plugins/schema/field/field.js +6 -6
  153. package/plugins/schema/index.d.ts +1 -0
  154. package/plugins/schema/index.es6.js +1 -0
  155. package/plugins/schema/index.js +1 -0
  156. package/plugins/schema/integer/integer.d.ts +3 -3
  157. package/plugins/schema/integer/integer.es6.js +1 -1
  158. package/plugins/schema/integer/integer.js +1 -1
  159. package/plugins/schema/number/number.d.ts +2 -2
  160. package/plugins/schema/number/number.es6.js +1 -1
  161. package/plugins/schema/number/number.js +1 -1
  162. package/plugins/schema/object/object.d.ts +1 -0
  163. package/plugins/schema/object/object.es6.js +20 -7
  164. package/plugins/schema/object/object.js +19 -6
  165. package/plugins/schema/string/string.d.ts +2 -2
  166. package/plugins/schema/string/string.es6.js +44 -30
  167. package/plugins/schema/string/string.js +44 -30
  168. package/plugins/schema/tuple/tuple.d.ts +1 -0
  169. package/plugins/schema/tuple/tuple.es6.js +5 -5
  170. package/plugins/schema/tuple/tuple.js +4 -4
  171. package/plugins/schema/uuid/uuid.es6.js +1 -1
  172. package/plugins/schema/uuid/uuid.js +1 -1
  173. package/plugins/utils/blacklist/blacklist.d.ts +5 -0
  174. package/plugins/utils/blacklist/blacklist.es6.js +17 -0
  175. package/plugins/utils/blacklist/blacklist.js +21 -0
  176. package/plugins/utils/blacklist/index.d.ts +1 -0
  177. package/plugins/utils/blacklist/index.es6.js +1 -0
  178. package/plugins/utils/blacklist/index.js +9 -0
  179. package/plugins/utils/dts/dts.d.ts +2 -1
  180. package/plugins/utils/dts/dts.es6.js +2 -2
  181. package/plugins/utils/dts/dts.js +2 -2
  182. package/plugins/utils/env/env.d.ts +7 -0
  183. package/plugins/utils/env/env.es6.js +11 -0
  184. package/plugins/utils/{prod/prod.js → env/env.js} +5 -4
  185. package/plugins/utils/env/index.d.ts +1 -0
  186. package/plugins/utils/env/index.es6.js +1 -0
  187. package/plugins/utils/{dev → env}/index.js +2 -2
  188. package/plugins/utils/index.d.ts +4 -2
  189. package/plugins/utils/index.es6.js +4 -2
  190. package/plugins/utils/index.js +4 -2
  191. package/plugins/utils/protection/index.d.ts +1 -0
  192. package/plugins/utils/protection/index.es6.js +1 -0
  193. package/plugins/utils/protection/index.js +9 -0
  194. package/plugins/utils/protection/protection.d.ts +9 -0
  195. package/plugins/utils/protection/protection.es6.js +35 -0
  196. package/plugins/utils/protection/protection.js +39 -0
  197. package/plugins/utils/swagger/swagger.es6.js +10 -8
  198. package/plugins/utils/swagger/swagger.js +10 -8
  199. package/plugins/utils/whitelist/index.d.ts +1 -0
  200. package/plugins/utils/whitelist/index.es6.js +1 -0
  201. package/plugins/utils/whitelist/index.js +9 -0
  202. package/plugins/utils/whitelist/whitelist.d.ts +5 -0
  203. package/plugins/utils/whitelist/whitelist.es6.js +19 -0
  204. package/plugins/utils/whitelist/whitelist.js +23 -0
  205. package/types.d.ts +15 -23
  206. package/utils/FileData/Bin.d.ts +13 -13
  207. package/utils/FileData/Bin.es6.js +2 -2
  208. package/utils/FileData/Bin.js +2 -2
  209. package/utils/action/Action.d.ts +17 -14
  210. package/utils/action/Action.es6.js +102 -78
  211. package/utils/action/Action.js +102 -78
  212. package/utils/dateFormat/dateFormat.d.ts +1 -1
  213. package/utils/dateFormat/dateFormat.es6.js +1 -1
  214. package/utils/dateFormat/dateFormat.js +1 -1
  215. package/utils/decorators/once/once.es6.js +1 -1
  216. package/utils/decorators/once/once.js +1 -1
  217. package/utils/generateTypes/generateTypes.d.ts +2 -2
  218. package/utils/generateTypes/generateTypes.es6.js +85 -25
  219. package/utils/generateTypes/generateTypes.js +85 -25
  220. package/utils/getEndpoint/getEndpoint.es6.js +2 -2
  221. package/utils/getEndpoint/getEndpoint.js +2 -2
  222. package/utils/getOrAdd/getOrAdd.d.ts +1 -1
  223. package/utils/httpOnStart/httpOnStart.d.ts +1 -1
  224. package/utils/httpOnStart/httpOnStart.es6.js +1 -1
  225. package/utils/httpOnStart/httpOnStart.js +1 -1
  226. package/utils/rules/binaryAccept/binaryAccept.es6.js +2 -2
  227. package/utils/rules/binaryAccept/binaryAccept.js +2 -2
  228. package/utils/rules/dateTo/dateTo.d.ts +1 -1
  229. package/utils/rules/helpers.d.ts +1 -1
  230. package/utils/rules/index.d.ts +0 -1
  231. package/utils/rules/index.es6.js +0 -1
  232. package/utils/rules/index.js +0 -1
  233. package/utils/rules/int/int.es6.js +2 -2
  234. package/utils/rules/int/int.js +2 -2
  235. package/utils/rules/max/max.d.ts +1 -1
  236. package/utils/rules/max/max.es6.js +3 -3
  237. package/utils/rules/max/max.js +3 -3
  238. package/utils/rules/maxBin/maxBin.es6.js +2 -2
  239. package/utils/rules/maxBin/maxBin.js +2 -2
  240. package/utils/rules/maxDate/maxDate.es6.js +1 -1
  241. package/utils/rules/maxDate/maxDate.js +1 -1
  242. package/utils/rules/maxLength/maxLength.es6.js +2 -2
  243. package/utils/rules/maxLength/maxLength.js +2 -2
  244. package/utils/rules/min/min.d.ts +1 -1
  245. package/utils/rules/min/min.es6.js +3 -3
  246. package/utils/rules/min/min.js +3 -3
  247. package/utils/rules/minBin/minBin.es6.js +2 -2
  248. package/utils/rules/minBin/minBin.js +2 -2
  249. package/utils/rules/minDate/minDate.es6.js +1 -1
  250. package/utils/rules/minDate/minDate.js +1 -1
  251. package/utils/rules/minLength/minLength.es6.js +2 -2
  252. package/utils/rules/minLength/minLength.js +2 -2
  253. package/utils/rules/objectOf/objectOf.d.ts +1 -1
  254. package/utils/rules/objectOf/objectOf.es6.js +11 -1
  255. package/utils/rules/objectOf/objectOf.js +11 -1
  256. package/utils/rules/pattern/pattern.d.ts +1 -1
  257. package/utils/rules/pattern/pattern.es6.js +2 -1
  258. package/utils/rules/pattern/pattern.js +2 -1
  259. package/example/app/App/App.d.ts +0 -1
  260. package/example/app/App/index.d.ts +0 -1
  261. package/example/index.d.ts +0 -1
  262. package/example/requests/index.d.ts +0 -1
  263. package/example/requests/todo/AddTodo/AddTodo.d.ts +0 -1
  264. package/example/requests/todo/AddTodo/index.d.ts +0 -1
  265. package/example/requests/todo/DeleteTodo/DeleteTodo.d.ts +0 -1
  266. package/example/requests/todo/DeleteTodo/index.d.ts +0 -1
  267. package/example/requests/todo/EditTodo/EditTodo.d.ts +0 -1
  268. package/example/requests/todo/EditTodo/index.d.ts +0 -1
  269. package/example/requests/todo/GetTodo/GetTodo.d.ts +0 -1
  270. package/example/requests/todo/GetTodo/index.d.ts +0 -1
  271. package/example/requests/todo/GetTodos/GetTodos.d.ts +0 -1
  272. package/example/requests/todo/GetTodos/index.d.ts +0 -1
  273. package/example/requests/todo/index.d.ts +0 -5
  274. package/example/requests/todo/todos.d.ts +0 -1
  275. package/example/schemas/app/ListQueryParams/ListQueryParams.d.ts +0 -1
  276. package/example/schemas/app/ListQueryParams/index.d.ts +0 -1
  277. package/example/schemas/app/ListSchema/ListSchema.d.ts +0 -4
  278. package/example/schemas/app/ListSchema/index.d.ts +0 -1
  279. package/example/schemas/app/index.d.ts +0 -2
  280. package/example/schemas/index.d.ts +0 -2
  281. package/example/schemas/todo/TodoSchema/TodoSchema.d.ts +0 -4
  282. package/example/schemas/todo/TodoSchema/index.d.ts +0 -1
  283. package/example/schemas/todo/index.d.ts +0 -1
  284. package/example/tags/Todo/Todo.d.ts +0 -1
  285. package/example/tags/Todo/index.d.ts +0 -1
  286. package/example/tags/index.d.ts +0 -1
  287. package/hooks/useRequestPlugin/index.d.ts +0 -1
  288. package/hooks/useRequestPlugin/index.es6.js +0 -1
  289. package/hooks/useRequestPlugin/index.js +0 -9
  290. package/hooks/useRequestPlugin/useRequestPlugin.d.ts +0 -2
  291. package/hooks/useRequestPlugin/useRequestPlugin.es6.js +0 -13
  292. package/hooks/useRequestPlugin/useRequestPlugin.js +0 -17
  293. package/openApi.test.d.ts +0 -1
  294. package/plugins/main/fallback/fallback.d.ts +0 -4
  295. package/plugins/main/fallback/fallback.es6.js +0 -19
  296. package/plugins/main/fallback/fallback.js +0 -23
  297. package/plugins/main/fallback/index.d.ts +0 -1
  298. package/plugins/main/fallback/index.es6.js +0 -1
  299. package/plugins/main/fallback/index.js +0 -9
  300. package/plugins/main/request/index.d.ts +0 -1
  301. package/plugins/main/request/index.es6.js +0 -1
  302. package/plugins/main/request/index.js +0 -9
  303. package/plugins/main/request/request.d.ts +0 -4
  304. package/plugins/main/request/request.es6.js +0 -21
  305. package/plugins/main/request/request.js +0 -25
  306. package/plugins/utils/dev/dev.d.ts +0 -4
  307. package/plugins/utils/dev/dev.es6.js +0 -10
  308. package/plugins/utils/dev/index.d.ts +0 -1
  309. package/plugins/utils/dev/index.es6.js +0 -1
  310. package/plugins/utils/prod/index.d.ts +0 -1
  311. package/plugins/utils/prod/index.es6.js +0 -1
  312. package/plugins/utils/prod/prod.d.ts +0 -4
  313. package/plugins/utils/prod/prod.es6.js +0 -10
  314. package/utils/decorators/once/once.test.d.ts +0 -1
  315. package/utils/generateTypes/generateTypes.test.d.ts +0 -1
  316. package/utils/parseSearch/parseSearch.test.d.ts +0 -1
  317. package/utils/rules/any/any.d.ts +0 -1
  318. package/utils/rules/any/any.es6.js +0 -5
  319. package/utils/rules/any/any.js +0 -9
  320. /package/{utils/rules → plugins/schema}/any/index.d.ts +0 -0
  321. /package/{utils/rules → plugins/schema}/any/index.es6.js +0 -0
  322. /package/{utils/rules → plugins/schema}/any/index.js +0 -0
package/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('./_virtual/_rollup-plugin-process-env.js');
5
6
  require('./handler/index.js');
6
7
  require('./plugins/index.js');
7
8
  require('./utils/index.js');
@@ -17,10 +18,10 @@ var variable = require('./plugins/main/variable/variable.js');
17
18
  var tag = require('./plugins/main/tag/tag.js');
18
19
  var endpoint = require('./plugins/main/endpoint/endpoint.js');
19
20
  var response = require('./plugins/main/response/response.js');
20
- var request = require('./plugins/main/request/request.js');
21
+ var _return = require('./plugins/main/return/return.js');
21
22
  var param = require('./plugins/main/param/param.js');
22
23
  var body = require('./plugins/main/body/body.js');
23
- var fallback = require('./plugins/main/fallback/fallback.js');
24
+ var preset = require('./plugins/main/preset/preset.js');
24
25
  var object = require('./plugins/schema/object/object.js');
25
26
  var field = require('./plugins/schema/field/field.js');
26
27
  var number = require('./plugins/schema/number/number.js');
@@ -33,6 +34,7 @@ var date = require('./plugins/schema/date/date.js');
33
34
  var tuple = require('./plugins/schema/tuple/tuple.js');
34
35
  var uuid = require('./plugins/schema/uuid/uuid.js');
35
36
  var binary = require('./plugins/schema/binary/binary.js');
37
+ var any = require('./plugins/schema/any/any.js');
36
38
  var success = require('./plugins/request/success/success.js');
37
39
  var error = require('./plugins/request/error/error.js');
38
40
  var proxy = require('./plugins/request/proxy/proxy.js');
@@ -43,8 +45,10 @@ var file = require('./plugins/request/file/file.js');
43
45
  var cms = require('./plugins/request/cms/cms.js');
44
46
  var swagger = require('./plugins/utils/swagger/swagger.js');
45
47
  var dts = require('./plugins/utils/dts/dts.js');
46
- var dev = require('./plugins/utils/dev/dev.js');
47
- var prod = require('./plugins/utils/prod/prod.js');
48
+ var env = require('./plugins/utils/env/env.js');
49
+ var protection = require('./plugins/utils/protection/protection.js');
50
+ var blacklist = require('./plugins/utils/blacklist/blacklist.js');
51
+ var whitelist = require('./plugins/utils/whitelist/whitelist.js');
48
52
  var serverFn = require('./plugins/handler/serverFn/serverFn.js');
49
53
  var parseSearch = require('./utils/parseSearch/parseSearch.js');
50
54
  var stringifySearch = require('./utils/stringifySearch/stringifySearch.js');
@@ -78,7 +82,6 @@ var minLength = require('./utils/rules/minLength/minLength.js');
78
82
  var max = require('./utils/rules/max/max.js');
79
83
  var min = require('./utils/rules/min/min.js');
80
84
  var defaultTo = require('./utils/rules/defaultTo/defaultTo.js');
81
- var any = require('./utils/rules/any/any.js');
82
85
  var bin = require('./utils/rules/bin/bin.js');
83
86
  var minBin = require('./utils/rules/minBin/minBin.js');
84
87
  var maxBin = require('./utils/rules/maxBin/maxBin.js');
@@ -111,8 +114,13 @@ var useRule = require('./hooks/useRule/useRule.js');
111
114
  var useObjectRule = require('./hooks/useObjectRule/useObjectRule.js');
112
115
  var useBodyFile = require('./hooks/useBodyFile/useBodyFile.js');
113
116
  var usePath = require('./hooks/usePath/usePath.js');
114
- var useRequestPlugin = require('./hooks/useRequestPlugin/useRequestPlugin.js');
117
+ var useServerPlugin = require('./hooks/useServerPlugin/useServerPlugin.js');
115
118
  var useClientIp = require('./hooks/useClientIp/useClientIp.js');
119
+ var useServerPlugins = require('./hooks/useServerPlugins/useServerPlugins.js');
120
+ var useObjectSchemaContext = require('./hooks/useObjectSchemaContext/useObjectSchemaContext.js');
121
+ var useServerPort = require('./hooks/useServerPort/useServerPort.js');
122
+ var useIsServerHttps = require('./hooks/useIsServerHttps/useIsServerHttps.js');
123
+ var useRequestHandler = require('./hooks/useRequestHandler/useRequestHandler.js');
116
124
 
117
125
 
118
126
 
@@ -132,10 +140,11 @@ exports.variable = variable.variable;
132
140
  exports.tag = tag.tag;
133
141
  exports.endpoint = endpoint.endpoint;
134
142
  exports.response = response.response;
135
- exports.request = request.request;
143
+ exports.statuses = response.statuses;
144
+ exports.returnPlugin = _return.returnPlugin;
136
145
  exports.param = param.param;
137
146
  exports.body = body.body;
138
- exports.fallback = fallback.fallback;
147
+ exports.preset = preset.preset;
139
148
  exports.object = object.object;
140
149
  exports.field = field.field;
141
150
  exports.number = number.number;
@@ -148,6 +157,7 @@ exports.date = date.date;
148
157
  exports.tuple = tuple.tuple;
149
158
  exports.uuid = uuid.uuid;
150
159
  exports.binary = binary.binary;
160
+ exports.any = any.any;
151
161
  exports.success = success.success;
152
162
  exports.successStatuses = success.successStatuses;
153
163
  exports.error = error.error;
@@ -161,8 +171,10 @@ exports.file = file.file;
161
171
  exports.cms = cms.cms;
162
172
  exports.swagger = swagger.swagger;
163
173
  exports.dts = dts.dts;
164
- exports.dev = dev.dev;
165
- exports.prod = prod.prod;
174
+ exports.env = env.env;
175
+ exports.protection = protection.protection;
176
+ exports.blacklist = blacklist.blacklist;
177
+ exports.whitelist = whitelist.whitelist;
166
178
  exports.serverFn = serverFn.serverFn;
167
179
  exports.EMPTY_SEARCH = parseSearch.EMPTY_SEARCH;
168
180
  exports.parseSearch = parseSearch.parseSearch;
@@ -199,7 +211,6 @@ exports.minLength = minLength.minLength;
199
211
  exports.max = max.max;
200
212
  exports.min = min.min;
201
213
  exports.defaultTo = defaultTo.defaultTo;
202
- exports.any = any.any;
203
214
  exports.bin = bin.bin;
204
215
  exports.minBin = minBin.minBin;
205
216
  exports.maxBin = maxBin.maxBin;
@@ -222,9 +233,7 @@ exports.schemaContext = useSchemaContext.schemaContext;
222
233
  exports.useSchemaContext = useSchemaContext.useSchemaContext;
223
234
  exports.useSchemaType = useSchemaType.useSchemaType;
224
235
  exports.useNewSchema = useNewSchema.useNewSchema;
225
- exports.requestContext = useRequest.requestContext;
226
236
  exports.useRequest = useRequest.useRequest;
227
- exports.responseContext = useResponse.responseContext;
228
237
  exports.useResponse = useResponse.useResponse;
229
238
  exports.paramsContext = useParams.paramsContext;
230
239
  exports.useParams = useParams.useParams;
@@ -248,5 +257,15 @@ exports.useObjectRule = useObjectRule.useObjectRule;
248
257
  exports.bodyFileContext = useBodyFile.bodyFileContext;
249
258
  exports.useBodyFile = useBodyFile.useBodyFile;
250
259
  exports.usePath = usePath.usePath;
251
- exports.useRequestPlugin = useRequestPlugin.useRequestPlugin;
260
+ exports.useServerPlugin = useServerPlugin.useServerPlugin;
252
261
  exports.useClientIp = useClientIp.useClientIp;
262
+ exports.serverPlugins = useServerPlugins.serverPlugins;
263
+ exports.useServerPlugins = useServerPlugins.useServerPlugins;
264
+ exports.objectSchemaContext = useObjectSchemaContext.objectSchemaContext;
265
+ exports.useObjectSchemaContext = useObjectSchemaContext.useObjectSchemaContext;
266
+ exports.serverPortContext = useServerPort.serverPortContext;
267
+ exports.useServerPort = useServerPort.useServerPort;
268
+ exports.serverHttpsContext = useIsServerHttps.serverHttpsContext;
269
+ exports.useIsServerHttps = useIsServerHttps.useIsServerHttps;
270
+ exports.requestHandlerContext = useRequestHandler.requestHandlerContext;
271
+ exports.useRequestHandler = useRequestHandler.useRequestHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@innet/server",
3
- "version": "2.0.0-alpha.8",
3
+ "version": "2.0.0-beta.1",
4
4
  "description": "Create server-side application with innet",
5
5
  "main": "index.js",
6
6
  "module": "index.es6.js",
@@ -36,7 +36,7 @@
36
36
  "homepage": "https://github.com/d8corp/innet-server",
37
37
  "dependencies": {
38
38
  "@cantinc/utils": "^1.4.2",
39
- "@innet/jsx": "^2.0.0-alpha.10",
39
+ "@innet/jsx": "^2.0.0-beta.2",
40
40
  "@innet/utils": "^2.0.0-alpha.1",
41
41
  "@types/cookie": "^0.5.1",
42
42
  "@types/multiparty": "^0.0.33",
@@ -44,7 +44,6 @@
44
44
  "cookie": "^0.5.0",
45
45
  "http-proxy": "^1.18.1",
46
46
  "innet": "^2.0.0-alpha.3",
47
- "is-invalid-path": "^1.0.2",
48
47
  "mime": "^3.0.0",
49
48
  "multiparty": "^4.2.3",
50
49
  "openapi-types": "^12.1.3",
@@ -1,5 +1,16 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  export interface ApiProps {
3
+ children?: any;
4
+ /** A description of the API. [CommonMark syntax](https://spec.commonmark.or.org) MAY be used for rich text representation. */
5
+ description?: string;
6
+ exclude?: RegExp;
7
+ include?: RegExp;
8
+ /** URL path prefix scopes the API. */
9
+ prefix?: string;
10
+ /** A short summary of the API. */
11
+ summary?: string;
12
+ /** A URL to the Terms of Service for the API. This MUST be in the form of a URL. */
13
+ termsOfService?: string;
3
14
  /** The title of the API. */
4
15
  title?: string;
5
16
  /**
@@ -10,13 +21,5 @@ export interface ApiProps {
10
21
  * @default: 0.0.0
11
22
  * */
12
23
  version?: string;
13
- /** A short summary of the API. */
14
- summary?: string;
15
- /** A description of the API. [CommonMark syntax](https://spec.commonmark.or.org) MAY be used for rich text representation. */
16
- description?: string;
17
- /** A URL to the Terms of Service for the API. This MUST be in the form of a URL. */
18
- termsOfService?: string;
19
- /** URL path prefix scopes the API. */
20
- prefix?: string;
21
24
  }
22
25
  export declare const api: HandlerPlugin;
@@ -1,56 +1,59 @@
1
1
  import { __rest, __awaiter } from 'tslib';
2
- import innet, { useNewHandler, useApp } from 'innet';
3
- import { onDestroy } from 'watch-state';
2
+ import innet, { useNewHandler } from 'innet';
3
+ import { useProps } from '@innet/jsx';
4
4
  import '../../../hooks/index.es6.js';
5
5
  import '../../../utils/index.es6.js';
6
6
  import '../../../utils/rules/index.es6.js';
7
- import { useServer } from '../../../hooks/useServer/useServer.es6.js';
7
+ import { serverPlugins } from '../../../hooks/useServerPlugins/useServerPlugins.es6.js';
8
8
  import { apiContext } from '../../../hooks/useApi/useApi.es6.js';
9
- import { Action } from '../../../utils/action/Action.es6.js';
9
+ import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
10
+ import { useAction, actionContext } from '../../../hooks/useAction/useAction.es6.js';
10
11
  import { JSONString } from '../../../utils/JSONString/JSONString.es6.js';
11
12
  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
13
  import { paramsContext } from '../../../hooks/useParams/useParams.es6.js';
15
- import { actionContext } from '../../../hooks/useAction/useAction.es6.js';
16
14
 
17
15
  const api = () => {
18
- var _a;
19
16
  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 });
17
+ const props = useProps();
18
+ const { children, exclude, include, prefix = process.env.INNET_API_PREFIX || '', title = '', version = process.env.INNET_API_VERSION || '0.0.0' } = props, rest = __rest(props, ["children", "exclude", "include", "prefix", "title", "version"]);
19
+ const info = Object.assign(Object.assign({}, rest), { title, version });
24
20
  const endpoints = {};
25
21
  const docs = {
26
- openapi: '3.1.0',
27
22
  info,
23
+ openapi: '3.1.0',
28
24
  paths: {},
29
25
  };
30
- const requestPlugins = new Set();
31
- const context = { docs, endpoints, prefix, requestPlugins, refRules: {} };
26
+ const plugins = new Set();
27
+ const context = { docs, endpoints, prefix, refRules: {} };
28
+ const condition = (action) => {
29
+ const path = action.parsedUrl.path;
30
+ const url = path.endsWith('/') ? path.slice(0, -1) : path;
31
+ if (!url.startsWith(prefix) || (exclude === null || exclude === void 0 ? void 0 : exclude.test(url))) {
32
+ return false;
33
+ }
34
+ if (include && !include.test(url)) {
35
+ return false;
36
+ }
37
+ return true;
38
+ };
39
+ serverPlugins.set(handler, plugins);
32
40
  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)
41
+ useServerPlugin(() => __awaiter(void 0, void 0, void 0, function* () {
42
+ var _a, _b, _c, _d, _e, _f;
43
+ const action = useAction();
44
+ if (!condition(action))
36
45
  return;
37
- const action = new Action(req);
46
+ const actionHandler = useNewHandler();
38
47
  const path = action.parsedUrl.path;
39
48
  const url = path.endsWith('/') ? path.slice(0, -1) : path;
49
+ const { req, res, } = action;
40
50
  if (url === (prefix || '')) {
41
51
  res.setHeader('Content-Type', 'application/json');
42
52
  res.write(JSONString(docs));
43
53
  res.end();
44
- return;
45
- }
46
- if (!url.startsWith(prefix)) {
47
- return;
54
+ return null;
48
55
  }
49
- for (const requestPlugin of requestPlugins) {
50
- if (requestPlugin(req, res))
51
- return;
52
- }
53
- const method = ((_c = (_b = req.method) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : 'get');
56
+ const method = ((_b = (_a = req.method) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : 'get');
54
57
  const rawSplitPath = url.slice(prefix.length).split('/').slice(1);
55
58
  const splitPath = rawSplitPath.at(-1) ? rawSplitPath : rawSplitPath.slice(0, -1);
56
59
  const endpoint = endpoints[method];
@@ -85,8 +88,8 @@ const api = () => {
85
88
  if (e instanceof RulesError) {
86
89
  res.statusCode = 400;
87
90
  res.write(JSONString({
88
- error: 'requestValidation',
89
91
  data: Object.assign(Object.assign({}, e.data), { in: key }),
92
+ error: 'requestValidation',
90
93
  }));
91
94
  res.end();
92
95
  }
@@ -94,8 +97,8 @@ const api = () => {
94
97
  console.error(e);
95
98
  res.statusCode = 500;
96
99
  res.write(JSONString({
97
- error: 'unknown',
98
100
  data: { in: key },
101
+ error: 'unknown',
99
102
  }));
100
103
  res.end();
101
104
  }
@@ -124,32 +127,34 @@ const api = () => {
124
127
  if (checkActionRules(bodyRules, 'body'))
125
128
  return true;
126
129
  }
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);
130
+ paramsContext.set(actionHandler, params);
131
+ for (const plugin of runEndpoint.plugins) {
132
+ const result = yield plugin();
133
+ if (result === undefined)
134
+ continue;
135
+ innet(result, actionHandler);
136
+ return true;
137
+ }
133
138
  return true;
134
139
  });
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 (!(yield 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) {
148
+ if (dynamicEndpoint.plugins) {
144
149
  if (!(yield run(dynamicEndpoint, Object.assign(Object.assign({}, 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) {
@@ -158,22 +163,16 @@ const api = () => {
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 = yield 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
- });
173
- server.on('request', listener);
174
- onDestroy(() => {
175
- server.off('request', listener);
176
- });
175
+ }));
177
176
  innet(children, handler);
178
177
  };
179
178
 
@@ -4,61 +4,64 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var innet = require('innet');
7
- var watchState = require('watch-state');
7
+ var jsx = require('@innet/jsx');
8
8
  require('../../../hooks/index.js');
9
9
  require('../../../utils/index.js');
10
10
  require('../../../utils/rules/index.js');
11
- var useServer = require('../../../hooks/useServer/useServer.js');
11
+ var useServerPlugins = require('../../../hooks/useServerPlugins/useServerPlugins.js');
12
12
  var useApi = require('../../../hooks/useApi/useApi.js');
13
- var Action = require('../../../utils/action/Action.js');
13
+ var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
14
+ var useAction = require('../../../hooks/useAction/useAction.js');
14
15
  var JSONString = require('../../../utils/JSONString/JSONString.js');
15
16
  var helpers = require('../../../utils/rules/helpers.js');
16
- var useResponse = require('../../../hooks/useResponse/useResponse.js');
17
- var useRequest = require('../../../hooks/useRequest/useRequest.js');
18
17
  var useParams = require('../../../hooks/useParams/useParams.js');
19
- var useAction = require('../../../hooks/useAction/useAction.js');
20
18
 
21
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
20
 
23
21
  var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
24
22
 
25
23
  const api = () => {
26
- var _a;
27
24
  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 });
25
+ const props = jsx.useProps();
26
+ const { children, exclude, include, prefix = process.env.INNET_API_PREFIX || '', title = '', version = process.env.INNET_API_VERSION || '0.0.0' } = props, rest = tslib.__rest(props, ["children", "exclude", "include", "prefix", "title", "version"]);
27
+ const info = Object.assign(Object.assign({}, rest), { title, version });
32
28
  const endpoints = {};
33
29
  const docs = {
34
- openapi: '3.1.0',
35
30
  info,
31
+ openapi: '3.1.0',
36
32
  paths: {},
37
33
  };
38
- const requestPlugins = new Set();
39
- const context = { docs, endpoints, prefix, requestPlugins, refRules: {} };
34
+ const plugins = new Set();
35
+ const context = { docs, endpoints, prefix, refRules: {} };
36
+ const condition = (action) => {
37
+ const path = action.parsedUrl.path;
38
+ const url = path.endsWith('/') ? path.slice(0, -1) : path;
39
+ if (!url.startsWith(prefix) || (exclude === null || exclude === void 0 ? void 0 : exclude.test(url))) {
40
+ return false;
41
+ }
42
+ if (include && !include.test(url)) {
43
+ return false;
44
+ }
45
+ return true;
46
+ };
47
+ useServerPlugins.serverPlugins.set(handler, plugins);
40
48
  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)
49
+ useServerPlugin.useServerPlugin(() => tslib.__awaiter(void 0, void 0, void 0, function* () {
50
+ var _a, _b, _c, _d, _e, _f;
51
+ const action = useAction.useAction();
52
+ if (!condition(action))
44
53
  return;
45
- const action = new Action.Action(req);
54
+ const actionHandler = innet.useNewHandler();
46
55
  const path = action.parsedUrl.path;
47
56
  const url = path.endsWith('/') ? path.slice(0, -1) : path;
57
+ const { req, res, } = action;
48
58
  if (url === (prefix || '')) {
49
59
  res.setHeader('Content-Type', 'application/json');
50
60
  res.write(JSONString.JSONString(docs));
51
61
  res.end();
52
- return;
53
- }
54
- if (!url.startsWith(prefix)) {
55
- return;
56
- }
57
- for (const requestPlugin of requestPlugins) {
58
- if (requestPlugin(req, res))
59
- return;
62
+ return null;
60
63
  }
61
- const method = ((_c = (_b = req.method) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : 'get');
64
+ const method = ((_b = (_a = req.method) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : 'get');
62
65
  const rawSplitPath = url.slice(prefix.length).split('/').slice(1);
63
66
  const splitPath = rawSplitPath.at(-1) ? rawSplitPath : rawSplitPath.slice(0, -1);
64
67
  const endpoint = endpoints[method];
@@ -93,8 +96,8 @@ const api = () => {
93
96
  if (e instanceof helpers.RulesError) {
94
97
  res.statusCode = 400;
95
98
  res.write(JSONString.JSONString({
96
- error: 'requestValidation',
97
99
  data: Object.assign(Object.assign({}, e.data), { in: key }),
100
+ error: 'requestValidation',
98
101
  }));
99
102
  res.end();
100
103
  }
@@ -102,8 +105,8 @@ const api = () => {
102
105
  console.error(e);
103
106
  res.statusCode = 500;
104
107
  res.write(JSONString.JSONString({
105
- error: 'unknown',
106
108
  data: { in: key },
109
+ error: 'unknown',
107
110
  }));
108
111
  res.end();
109
112
  }
@@ -132,32 +135,34 @@ const api = () => {
132
135
  if (checkActionRules(bodyRules, 'body'))
133
136
  return true;
134
137
  }
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);
138
+ useParams.paramsContext.set(actionHandler, params);
139
+ for (const plugin of runEndpoint.plugins) {
140
+ const result = yield plugin();
141
+ if (result === undefined)
142
+ continue;
143
+ innet__default["default"](result, actionHandler);
144
+ return true;
145
+ }
141
146
  return true;
142
147
  });
143
148
  }
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)))
149
+ if ((_d = (_c = currentEndpoint.static) === null || _c === void 0 ? void 0 : _c[key]) === null || _d === void 0 ? void 0 : _d.plugins) {
150
+ if (!(yield run((_e = currentEndpoint.static) === null || _e === void 0 ? void 0 : _e[key], params)))
146
151
  continue;
147
- return;
152
+ return null;
148
153
  }
149
154
  if (currentEndpoint.dynamic) {
150
155
  for (const dynamicEndpoint of currentEndpoint.dynamic) {
151
- if (dynamicEndpoint.content) {
156
+ if (dynamicEndpoint.plugins) {
152
157
  if (!(yield run(dynamicEndpoint, Object.assign(Object.assign({}, params), { [dynamicEndpoint.key.slice(1, -1)]: key }))))
153
158
  continue;
154
- return;
159
+ return null;
155
160
  }
156
161
  }
157
162
  }
158
163
  break;
159
164
  }
160
- if ((_g = currentEndpoint.static) === null || _g === void 0 ? void 0 : _g[key]) {
165
+ if ((_f = currentEndpoint.static) === null || _f === void 0 ? void 0 : _f[key]) {
161
166
  endpointQueue.push([deep + 1, currentEndpoint.static[key], params]);
162
167
  }
163
168
  if (currentEndpoint.dynamic) {
@@ -166,22 +171,16 @@ const api = () => {
166
171
  }
167
172
  }
168
173
  }
169
- if (context.fallback) {
170
- const newHandler = Object.create(context.fallback.handler);
171
- useResponse.responseContext.set(newHandler, res);
172
- useRequest.requestContext.set(newHandler, req);
174
+ for (const plugin of plugins) {
175
+ const result = yield plugin();
176
+ if (result === undefined)
177
+ continue;
178
+ const newHandler = Object.create(handler);
173
179
  useAction.actionContext.set(newHandler, action);
174
- innet__default["default"](context.fallback.children, newHandler);
175
- }
176
- else {
177
- res.statusCode = 404;
178
- res.end();
180
+ innet__default["default"](result, newHandler);
181
+ return null;
179
182
  }
180
- });
181
- server.on('request', listener);
182
- watchState.onDestroy(() => {
183
- server.off('request', listener);
184
- });
183
+ }));
185
184
  innet__default["default"](children, handler);
186
185
  };
187
186
 
@@ -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,10 +1,10 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  export interface ContactProps {
3
+ /** The email address of the contact person/organization. This MUST be in the form of an email address. */
4
+ email?: string;
3
5
  /** The identifying name of the contact person/organization. */
4
6
  name?: string;
5
7
  /** The URL pointing to the contact information. This MUST be in the form of a URL. */
6
8
  url?: string;
7
- /** The email address of the contact person/organization. This MUST be in the form of an email address. */
8
- email?: string;
9
9
  }
10
10
  export declare const contact: HandlerPlugin;
@@ -1,6 +1,18 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  import { type EndpointsMethods } from '../../../types';
3
3
  export interface EndpointProps {
4
+ children?: any;
5
+ /**
6
+ * Declares this operation to be deprecated.
7
+ * Consumers SHOULD refrain from usage of the declared operation.
8
+ * Default value is false.
9
+ * */
10
+ deprecated?: boolean;
11
+ /**
12
+ * An optional, string description, intended to apply to all operations in this path.
13
+ * [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
14
+ * */
15
+ description?: string;
4
16
  /**
5
17
  * A method of the endpoint.
6
18
  * */
@@ -13,25 +25,14 @@ export interface EndpointProps {
13
25
  * Templated paths with the same hierarchy but different templated names MUST NOT exist as they are identical.
14
26
  * */
15
27
  path: string;
16
- /**
17
- * An optional, string summary, intended to apply to all operations in this path.
18
- * */
19
- summary?: string;
20
- /**
21
- * An optional, string description, intended to apply to all operations in this path.
22
- * [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
23
- * */
24
- description?: string;
25
- /**
26
- * Declares this operation to be deprecated.
27
- * Consumers SHOULD refrain from usage of the declared operation.
28
- * Default value is false.
29
- * */
30
- deprecated?: boolean;
31
28
  /**
32
29
  * Declares this operation to make an endpoint private.
33
30
  * That means the endpoint should not be described and will not be shown in the Open API documentation.
34
31
  * */
35
32
  private?: boolean;
33
+ /**
34
+ * An optional, string summary, intended to apply to all operations in this path.
35
+ * */
36
+ summary?: string;
36
37
  }
37
38
  export declare const endpoint: HandlerPlugin;