@innet/server 2.0.0-alpha.3 → 2.0.0-alpha.30

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 (304) hide show
  1. package/README.md +1375 -541
  2. package/handler/handler.d.ts +19 -13
  3. package/handler/handler.es6.js +17 -11
  4. package/handler/handler.js +17 -11
  5. package/hooks/index.d.ts +6 -0
  6. package/hooks/index.es6.js +6 -0
  7. package/hooks/index.js +6 -0
  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/index.d.ts +1 -0
  12. package/hooks/useClientIp/index.es6.js +1 -0
  13. package/hooks/useClientIp/index.js +9 -0
  14. package/hooks/useClientIp/useClientIp.d.ts +1 -0
  15. package/hooks/useClientIp/useClientIp.es6.js +9 -0
  16. package/hooks/useClientIp/useClientIp.js +13 -0
  17. package/hooks/useComponentName/useComponentName.d.ts +1 -1
  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/useIsServerHttps/index.d.ts +1 -0
  22. package/hooks/useIsServerHttps/index.es6.js +1 -0
  23. package/hooks/useIsServerHttps/index.js +10 -0
  24. package/hooks/useIsServerHttps/useIsServerHttps.d.ts +3 -0
  25. package/hooks/useIsServerHttps/useIsServerHttps.es6.js +14 -0
  26. package/hooks/useIsServerHttps/useIsServerHttps.js +19 -0
  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/useResponse/index.es6.js +1 -1
  39. package/hooks/useResponse/index.js +0 -1
  40. package/hooks/useResponse/useResponse.d.ts +1 -4
  41. package/hooks/useResponse/useResponse.es6.js +4 -4
  42. package/hooks/useResponse/useResponse.js +3 -4
  43. package/hooks/useSchemaType/useSchemaType.d.ts +3 -2
  44. package/hooks/useSchemaType/useSchemaType.es6.js +5 -6
  45. package/hooks/useSchemaType/useSchemaType.js +5 -6
  46. package/hooks/useServer/useServer.d.ts +2 -1
  47. package/hooks/useServer/useServer.es6.js +3 -1
  48. package/hooks/useServer/useServer.js +3 -1
  49. package/hooks/useServerPlugin/index.d.ts +1 -0
  50. package/hooks/useServerPlugin/index.es6.js +1 -0
  51. package/hooks/useServerPlugin/index.js +9 -0
  52. package/hooks/useServerPlugin/useServerPlugin.d.ts +2 -0
  53. package/hooks/useServerPlugin/useServerPlugin.es6.js +13 -0
  54. package/hooks/useServerPlugin/useServerPlugin.js +17 -0
  55. package/hooks/useServerPlugins/index.d.ts +1 -0
  56. package/hooks/useServerPlugins/index.es6.js +1 -0
  57. package/hooks/useServerPlugins/index.js +10 -0
  58. package/hooks/useServerPlugins/useServerPlugins.d.ts +4 -0
  59. package/hooks/useServerPlugins/useServerPlugins.es6.js +14 -0
  60. package/hooks/useServerPlugins/useServerPlugins.js +19 -0
  61. package/hooks/useServerPort/index.d.ts +1 -0
  62. package/hooks/useServerPort/index.es6.js +1 -0
  63. package/hooks/useServerPort/index.js +10 -0
  64. package/hooks/useServerPort/useServerPort.d.ts +3 -0
  65. package/hooks/useServerPort/useServerPort.es6.js +14 -0
  66. package/hooks/useServerPort/useServerPort.js +19 -0
  67. package/index.es6.js +17 -8
  68. package/index.js +34 -12
  69. package/package.json +2 -2
  70. package/plugins/main/api/api.d.ts +10 -8
  71. package/plugins/main/api/api.es6.js +53 -55
  72. package/plugins/main/api/api.js +53 -55
  73. package/plugins/main/contact/contact.d.ts +2 -2
  74. package/plugins/main/endpoint/endpoint.d.ts +15 -15
  75. package/plugins/main/endpoint/endpoint.es6.js +7 -4
  76. package/plugins/main/endpoint/endpoint.js +7 -4
  77. package/plugins/main/host/host.d.ts +5 -5
  78. package/plugins/main/index.d.ts +2 -2
  79. package/plugins/main/index.es6.js +2 -2
  80. package/plugins/main/index.js +2 -2
  81. package/plugins/main/license/license.d.ts +5 -5
  82. package/plugins/main/param/param.d.ts +11 -11
  83. package/plugins/main/param/param.es6.js +3 -3
  84. package/plugins/main/param/param.js +3 -3
  85. package/plugins/main/preset/index.d.ts +1 -0
  86. package/plugins/main/preset/index.es6.js +1 -0
  87. package/plugins/{utils/prod → main/preset}/index.js +2 -2
  88. package/plugins/main/preset/preset.d.ts +3 -0
  89. package/plugins/main/preset/preset.es6.js +13 -0
  90. package/plugins/{utils/dev/dev.js → main/preset/preset.js} +9 -6
  91. package/plugins/main/response/index.es6.js +1 -1
  92. package/plugins/main/response/index.js +1 -0
  93. package/plugins/main/response/response.d.ts +6 -2
  94. package/plugins/main/response/response.es6.js +18 -10
  95. package/plugins/main/response/response.js +18 -9
  96. package/plugins/main/return/index.d.ts +1 -0
  97. package/plugins/main/return/index.es6.js +1 -0
  98. package/plugins/main/return/index.js +9 -0
  99. package/plugins/main/return/return.d.ts +4 -0
  100. package/plugins/main/return/return.es6.js +10 -0
  101. package/plugins/main/return/return.js +14 -0
  102. package/plugins/main/server/server.d.ts +5 -5
  103. package/plugins/main/server/server.es6.js +36 -10
  104. package/plugins/main/server/server.js +36 -10
  105. package/plugins/main/tag/tag.d.ts +2 -2
  106. package/plugins/main/tag/tag.es6.js +5 -2
  107. package/plugins/main/tag/tag.js +5 -2
  108. package/plugins/main/variable/variable.d.ts +5 -5
  109. package/plugins/main/variable/variable.es6.js +3 -1
  110. package/plugins/main/variable/variable.js +3 -1
  111. package/plugins/request/cms/cms.es6.js +2 -2
  112. package/plugins/request/cms/cms.js +2 -2
  113. package/plugins/request/cookie/cookie.es6.js +3 -19
  114. package/plugins/request/cookie/cookie.js +3 -23
  115. package/plugins/request/error/error.d.ts +40 -40
  116. package/plugins/request/error/error.es6.js +45 -42
  117. package/plugins/request/error/error.js +45 -42
  118. package/plugins/request/file/file.es6.js +2 -3
  119. package/plugins/request/file/file.js +2 -3
  120. package/plugins/request/header/header.es6.js +1 -1
  121. package/plugins/request/header/header.js +1 -1
  122. package/plugins/request/proxy/proxy.d.ts +4 -1
  123. package/plugins/request/proxy/proxy.es6.js +5 -2
  124. package/plugins/request/proxy/proxy.js +5 -2
  125. package/plugins/request/redirect/redirect.d.ts +8 -7
  126. package/plugins/request/redirect/redirect.es6.js +7 -7
  127. package/plugins/request/redirect/redirect.js +7 -7
  128. package/plugins/request/success/success.d.ts +7 -6
  129. package/plugins/request/success/success.es6.js +21 -10
  130. package/plugins/request/success/success.js +21 -10
  131. package/plugins/schema/any/any.d.ts +5 -0
  132. package/plugins/schema/any/any.es6.js +27 -0
  133. package/plugins/schema/any/any.js +31 -0
  134. package/plugins/schema/binary/binary.d.ts +3 -3
  135. package/plugins/schema/boolean/boolean.es6.js +2 -4
  136. package/plugins/schema/boolean/boolean.js +1 -3
  137. package/plugins/schema/date/date.d.ts +1 -1
  138. package/plugins/schema/date/date.es6.js +3 -3
  139. package/plugins/schema/date/date.js +3 -3
  140. package/plugins/schema/field/field.d.ts +1 -0
  141. package/plugins/schema/field/field.es6.js +7 -6
  142. package/plugins/schema/field/field.js +6 -5
  143. package/plugins/schema/index.d.ts +1 -0
  144. package/plugins/schema/index.es6.js +1 -0
  145. package/plugins/schema/index.js +1 -0
  146. package/plugins/schema/integer/integer.d.ts +3 -3
  147. package/plugins/schema/integer/integer.es6.js +1 -1
  148. package/plugins/schema/integer/integer.js +1 -1
  149. package/plugins/schema/number/number.d.ts +2 -2
  150. package/plugins/schema/number/number.es6.js +1 -1
  151. package/plugins/schema/number/number.js +1 -1
  152. package/plugins/schema/object/object.es6.js +17 -4
  153. package/plugins/schema/object/object.js +17 -4
  154. package/plugins/schema/string/string.d.ts +2 -2
  155. package/plugins/schema/string/string.es6.js +44 -30
  156. package/plugins/schema/string/string.js +44 -30
  157. package/plugins/utils/blacklist/blacklist.d.ts +4 -0
  158. package/plugins/utils/blacklist/blacklist.es6.js +18 -0
  159. package/plugins/utils/blacklist/blacklist.js +22 -0
  160. package/plugins/utils/blacklist/index.d.ts +1 -0
  161. package/plugins/utils/blacklist/index.es6.js +1 -0
  162. package/plugins/utils/blacklist/index.js +9 -0
  163. package/plugins/utils/dts/dts.d.ts +3 -3
  164. package/plugins/utils/dts/dts.es6.js +6 -25
  165. package/plugins/utils/dts/dts.js +5 -29
  166. package/plugins/utils/env/env.d.ts +6 -0
  167. package/plugins/utils/env/env.es6.js +11 -0
  168. package/plugins/utils/{prod/prod.js → env/env.js} +4 -3
  169. package/plugins/utils/env/index.d.ts +1 -0
  170. package/plugins/utils/env/index.es6.js +1 -0
  171. package/plugins/utils/{dev → env}/index.js +2 -2
  172. package/plugins/utils/index.d.ts +4 -2
  173. package/plugins/utils/index.es6.js +4 -2
  174. package/plugins/utils/index.js +4 -2
  175. package/plugins/utils/protection/index.d.ts +1 -0
  176. package/plugins/utils/protection/index.es6.js +1 -0
  177. package/plugins/utils/protection/index.js +9 -0
  178. package/plugins/utils/protection/protection.d.ts +8 -0
  179. package/plugins/utils/protection/protection.es6.js +36 -0
  180. package/plugins/utils/protection/protection.js +40 -0
  181. package/plugins/utils/swagger/swagger.es6.js +10 -12
  182. package/plugins/utils/swagger/swagger.js +10 -12
  183. package/plugins/utils/whitelist/index.d.ts +1 -0
  184. package/plugins/utils/whitelist/index.es6.js +1 -0
  185. package/plugins/utils/whitelist/index.js +9 -0
  186. package/plugins/utils/whitelist/whitelist.d.ts +4 -0
  187. package/plugins/utils/whitelist/whitelist.es6.js +20 -0
  188. package/plugins/utils/whitelist/whitelist.js +24 -0
  189. package/types.d.ts +15 -23
  190. package/utils/FileData/Bin.d.ts +13 -13
  191. package/utils/FileData/Bin.es6.js +2 -2
  192. package/utils/FileData/Bin.js +2 -2
  193. package/utils/action/Action.d.ts +17 -14
  194. package/utils/action/Action.es6.js +102 -78
  195. package/utils/action/Action.js +102 -78
  196. package/utils/dateFormat/dateFormat.d.ts +1 -1
  197. package/utils/dateFormat/dateFormat.es6.js +1 -1
  198. package/utils/dateFormat/dateFormat.js +1 -1
  199. package/utils/generateTypes/generateTypes.d.ts +3 -0
  200. package/utils/generateTypes/generateTypes.es6.js +157 -0
  201. package/utils/generateTypes/generateTypes.js +162 -0
  202. package/utils/generateTypes/index.d.ts +1 -0
  203. package/utils/generateTypes/index.es6.js +1 -0
  204. package/utils/generateTypes/index.js +10 -0
  205. package/utils/getEndpoint/getEndpoint.es6.js +2 -2
  206. package/utils/getEndpoint/getEndpoint.js +2 -2
  207. package/utils/getOrAdd/getOrAdd.d.ts +1 -1
  208. package/utils/httpOnStart/httpOnStart.d.ts +1 -1
  209. package/utils/httpOnStart/httpOnStart.es6.js +1 -1
  210. package/utils/httpOnStart/httpOnStart.js +1 -1
  211. package/utils/index.d.ts +1 -0
  212. package/utils/index.es6.js +1 -0
  213. package/utils/index.js +1 -0
  214. package/utils/rules/binaryAccept/binaryAccept.es6.js +2 -2
  215. package/utils/rules/binaryAccept/binaryAccept.js +2 -2
  216. package/utils/rules/dateTo/dateTo.d.ts +1 -1
  217. package/utils/rules/helpers.d.ts +1 -1
  218. package/utils/rules/index.d.ts +0 -1
  219. package/utils/rules/index.es6.js +0 -1
  220. package/utils/rules/index.js +0 -1
  221. package/utils/rules/int/int.es6.js +2 -2
  222. package/utils/rules/int/int.js +2 -2
  223. package/utils/rules/max/max.d.ts +1 -1
  224. package/utils/rules/max/max.es6.js +3 -3
  225. package/utils/rules/max/max.js +3 -3
  226. package/utils/rules/maxBin/maxBin.es6.js +2 -2
  227. package/utils/rules/maxBin/maxBin.js +2 -2
  228. package/utils/rules/maxDate/maxDate.es6.js +1 -1
  229. package/utils/rules/maxDate/maxDate.js +1 -1
  230. package/utils/rules/maxLength/maxLength.es6.js +2 -2
  231. package/utils/rules/maxLength/maxLength.js +2 -2
  232. package/utils/rules/min/min.d.ts +1 -1
  233. package/utils/rules/min/min.es6.js +3 -3
  234. package/utils/rules/min/min.js +3 -3
  235. package/utils/rules/minBin/minBin.es6.js +2 -2
  236. package/utils/rules/minBin/minBin.js +2 -2
  237. package/utils/rules/minDate/minDate.es6.js +1 -1
  238. package/utils/rules/minDate/minDate.js +1 -1
  239. package/utils/rules/minLength/minLength.es6.js +2 -2
  240. package/utils/rules/minLength/minLength.js +2 -2
  241. package/utils/rules/objectOf/objectOf.d.ts +1 -1
  242. package/utils/rules/objectOf/objectOf.es6.js +15 -2
  243. package/utils/rules/objectOf/objectOf.js +15 -2
  244. package/utils/rules/pattern/pattern.d.ts +1 -1
  245. package/utils/rules/pattern/pattern.es6.js +2 -1
  246. package/utils/rules/pattern/pattern.js +2 -1
  247. package/example/app/App/App.d.ts +0 -1
  248. package/example/app/App/index.d.ts +0 -1
  249. package/example/index.d.ts +0 -1
  250. package/example/requests/index.d.ts +0 -1
  251. package/example/requests/partners/EditPartner/EditPartner.d.ts +0 -1
  252. package/example/requests/partners/EditPartner/index.d.ts +0 -1
  253. package/example/requests/partners/GetPartner/GetPartner.d.ts +0 -1
  254. package/example/requests/partners/GetPartner/index.d.ts +0 -1
  255. package/example/requests/partners/GetPartners/GetPartners.d.ts +0 -1
  256. package/example/requests/partners/GetPartners/index.d.ts +0 -1
  257. package/example/requests/partners/index.d.ts +0 -3
  258. package/example/schemas/address/AddressSchema/AddressSchema.d.ts +0 -1
  259. package/example/schemas/address/AddressSchema/index.d.ts +0 -1
  260. package/example/schemas/address/index.d.ts +0 -1
  261. package/example/schemas/app/ListSchema/ListSchema.d.ts +0 -1
  262. package/example/schemas/app/ListSchema/index.d.ts +0 -1
  263. package/example/schemas/app/index.d.ts +0 -1
  264. package/example/schemas/index.d.ts +0 -4
  265. package/example/schemas/location/LocationSchema/LocationSchema.d.ts +0 -1
  266. package/example/schemas/location/LocationSchema/index.d.ts +0 -1
  267. package/example/schemas/location/index.d.ts +0 -1
  268. package/example/schemas/partner/EditPartnerSchema/EditPartnerSchema.d.ts +0 -1
  269. package/example/schemas/partner/EditPartnerSchema/index.d.ts +0 -1
  270. package/example/schemas/partner/PartnerSchema/PartnerSchema.d.ts +0 -1
  271. package/example/schemas/partner/PartnerSchema/index.d.ts +0 -1
  272. package/example/schemas/partner/index.d.ts +0 -2
  273. package/example/tags/Partner/Partner.d.ts +0 -1
  274. package/example/tags/Partner/index.d.ts +0 -1
  275. package/example/tags/index.d.ts +0 -1
  276. package/openApi.test.d.ts +0 -1
  277. package/plugins/main/fallback/fallback.d.ts +0 -4
  278. package/plugins/main/fallback/fallback.es6.js +0 -19
  279. package/plugins/main/fallback/fallback.js +0 -23
  280. package/plugins/main/fallback/index.d.ts +0 -1
  281. package/plugins/main/fallback/index.es6.js +0 -1
  282. package/plugins/main/fallback/index.js +0 -9
  283. package/plugins/main/request/index.d.ts +0 -1
  284. package/plugins/main/request/index.es6.js +0 -1
  285. package/plugins/main/request/index.js +0 -9
  286. package/plugins/main/request/request.d.ts +0 -4
  287. package/plugins/main/request/request.es6.js +0 -21
  288. package/plugins/main/request/request.js +0 -25
  289. package/plugins/utils/dev/dev.d.ts +0 -4
  290. package/plugins/utils/dev/dev.es6.js +0 -10
  291. package/plugins/utils/dev/index.d.ts +0 -1
  292. package/plugins/utils/dev/index.es6.js +0 -1
  293. package/plugins/utils/prod/index.d.ts +0 -1
  294. package/plugins/utils/prod/index.es6.js +0 -1
  295. package/plugins/utils/prod/prod.d.ts +0 -4
  296. package/plugins/utils/prod/prod.es6.js +0 -10
  297. package/utils/decorators/once/once.test.d.ts +0 -1
  298. package/utils/parseSearch/parseSearch.test.d.ts +0 -1
  299. package/utils/rules/any/any.d.ts +0 -1
  300. package/utils/rules/any/any.es6.js +0 -5
  301. package/utils/rules/any/any.js +0 -9
  302. /package/{utils/rules → plugins/schema}/any/index.d.ts +0 -0
  303. /package/{utils/rules → plugins/schema}/any/index.es6.js +0 -0
  304. /package/{utils/rules → plugins/schema}/any/index.js +0 -0
@@ -21,14 +21,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
21
21
  var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
22
22
 
23
23
  const inMap = {
24
- query: 'search',
25
- path: 'path',
26
24
  cookie: 'cookie',
27
25
  header: 'header',
26
+ path: 'path',
27
+ query: 'search',
28
28
  };
29
29
  const param = () => {
30
30
  var _a;
31
- const { operation, endpoint } = useEndpoint.useEndpoint();
31
+ const { endpoint, operation, } = useEndpoint.useEndpoint();
32
32
  if (!operation.parameters) {
33
33
  operation.parameters = [];
34
34
  }
@@ -0,0 +1 @@
1
+ export * from './preset';
@@ -0,0 +1 @@
1
+ export { preset } from './preset.es6.js';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var prod = require('./prod.js');
5
+ var preset = require('./preset.js');
6
6
 
7
7
 
8
8
 
9
- exports.prod = prod.prod;
9
+ exports.preset = preset.preset;
@@ -0,0 +1,3 @@
1
+ export interface PresetProps {
2
+ }
3
+ export declare function preset(): void;
@@ -0,0 +1,13 @@
1
+ import innet, { useHandler } from 'innet';
2
+ import { useChildren } from '@innet/jsx';
3
+ import '../../../hooks/index.es6.js';
4
+ import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
5
+
6
+ function preset() {
7
+ const children = useChildren();
8
+ useServerPlugin(() => {
9
+ innet(children, useHandler());
10
+ });
11
+ }
12
+
13
+ export { preset };
@@ -4,15 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var innet = require('innet');
6
6
  var jsx = require('@innet/jsx');
7
+ require('../../../hooks/index.js');
8
+ var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
7
9
 
8
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
11
 
10
12
  var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
11
13
 
12
- const dev = () => {
13
- if (process.env.NODE_ENV === 'development') {
14
- innet__default["default"](jsx.useChildren(), innet.useHandler());
15
- }
16
- };
14
+ function preset() {
15
+ const children = jsx.useChildren();
16
+ useServerPlugin.useServerPlugin(() => {
17
+ innet__default["default"](children, innet.useHandler());
18
+ });
19
+ }
17
20
 
18
- exports.dev = dev;
21
+ exports.preset = preset;
@@ -1 +1 @@
1
- export { response } from './response.es6.js';
1
+ export { response, statuses } from './response.es6.js';
@@ -7,3 +7,4 @@ var response = require('./response.js');
7
7
 
8
8
 
9
9
  exports.response = response.response;
10
+ exports.statuses = response.statuses;
@@ -1,16 +1,20 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
+ import { type ErrorStatuses, type RedirectStatuses, type SuccessStatuses } from '../../request';
3
+ export type StatusKey = ErrorStatuses | RedirectStatuses | SuccessStatuses;
2
4
  export interface ResponseProps {
3
5
  /**
4
6
  * A description of the response.
5
7
  * [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
6
8
  * */
7
- description: string;
9
+ description?: string;
8
10
  /**
9
11
  * Any [HTTP status code](https://swagger.io/specification/#http-codes) can be used as the property.
10
12
  * To define a range of response codes, this field MAY contain the uppercase wildcard character X.
11
13
  * For example, 2XX represents all response codes between [200-299].
12
14
  * Only the following range definitions are allowed: 1XX, 2XX, 3XX, 4XX, and 5XX.
13
15
  * */
14
- status?: number | 'default';
16
+ status?: 'default' | `${1 | 2 | 3 | 4 | 5}XX` | StatusKey | number;
17
+ type?: string;
15
18
  }
19
+ export declare const statuses: Record<StatusKey, number>;
16
20
  export declare const response: HandlerPlugin;
@@ -2,35 +2,43 @@ import innet, { useNewHandler } from 'innet';
2
2
  import { useProps, useChildren, useContext } from '@innet/jsx';
3
3
  import '../../../hooks/index.es6.js';
4
4
  import '../../../utils/index.es6.js';
5
+ import '../../request/index.es6.js';
6
+ import { errorStatuses } from '../../request/error/error.es6.js';
7
+ import { redirectStatuses } from '../../request/redirect/redirect.es6.js';
8
+ import { successStatuses } from '../../request/success/success.es6.js';
5
9
  import { useEndpoint, endpointContext } from '../../../hooks/useEndpoint/useEndpoint.es6.js';
6
10
  import { useThrow } from '../../../hooks/useThrow/useThrow.es6.js';
7
11
  import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.es6.js';
8
12
  import { getOrAdd } from '../../../utils/getOrAdd/getOrAdd.es6.js';
9
13
  import { ruleContext } from '../../../hooks/useRule/useRule.es6.js';
10
14
 
15
+ const statuses = Object.assign(Object.assign(Object.assign({}, errorStatuses), redirectStatuses), successStatuses);
11
16
  const response = () => {
12
- const { description, status = 'default' } = useProps();
13
- const { operation, props: { path } } = useEndpoint();
17
+ var _a;
18
+ let { description = '', status = 'default', type = 'application/json', } = useProps() || {};
19
+ const { operation, props: { path }, } = useEndpoint();
14
20
  const children = useChildren();
15
21
  const handler = useNewHandler();
16
22
  const endpoint = useContext(endpointContext);
23
+ if (status in statuses) {
24
+ status = statuses[status];
25
+ }
17
26
  if (!endpoint) {
18
27
  useThrow('<{type}> MUST be placed in <endpoint> element');
19
28
  }
20
29
  if (!operation.responses) {
21
30
  operation.responses = {};
22
31
  }
23
- if (operation.responses[status]) {
24
- throw Error(`status ${status} for '${path}' already used`);
32
+ const defaultResponse = operation.responses[status];
33
+ if ((_a = defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content) === null || _a === void 0 ? void 0 : _a[type]) {
34
+ throw Error(`status ${status} and type ${type} for '${path}' already used`);
25
35
  }
26
36
  const schema = {};
27
37
  const response = {
28
- description,
29
- content: {
30
- 'application/json': {
38
+ content: Object.assign(Object.assign({}, defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content), { [type]: {
31
39
  schema,
32
- },
33
- },
40
+ } }),
41
+ description,
34
42
  };
35
43
  operation.responses[status] = response;
36
44
  schemaContext.set(handler, schema);
@@ -41,4 +49,4 @@ const response = () => {
41
49
  innet(children, handler);
42
50
  };
43
51
 
44
- export { response };
52
+ export { response, statuses };
@@ -6,6 +6,10 @@ var innet = require('innet');
6
6
  var jsx = require('@innet/jsx');
7
7
  require('../../../hooks/index.js');
8
8
  require('../../../utils/index.js');
9
+ require('../../request/index.js');
10
+ var error = require('../../request/error/error.js');
11
+ var redirect = require('../../request/redirect/redirect.js');
12
+ var success = require('../../request/success/success.js');
9
13
  var useEndpoint = require('../../../hooks/useEndpoint/useEndpoint.js');
10
14
  var useThrow = require('../../../hooks/useThrow/useThrow.js');
11
15
  var useSchemaContext = require('../../../hooks/useSchemaContext/useSchemaContext.js');
@@ -16,29 +20,33 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
16
20
 
17
21
  var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
18
22
 
23
+ const statuses = Object.assign(Object.assign(Object.assign({}, error.errorStatuses), redirect.redirectStatuses), success.successStatuses);
19
24
  const response = () => {
20
- const { description, status = 'default' } = jsx.useProps();
21
- const { operation, props: { path } } = useEndpoint.useEndpoint();
25
+ var _a;
26
+ let { description = '', status = 'default', type = 'application/json', } = jsx.useProps() || {};
27
+ const { operation, props: { path }, } = useEndpoint.useEndpoint();
22
28
  const children = jsx.useChildren();
23
29
  const handler = innet.useNewHandler();
24
30
  const endpoint = jsx.useContext(useEndpoint.endpointContext);
31
+ if (status in statuses) {
32
+ status = statuses[status];
33
+ }
25
34
  if (!endpoint) {
26
35
  useThrow.useThrow('<{type}> MUST be placed in <endpoint> element');
27
36
  }
28
37
  if (!operation.responses) {
29
38
  operation.responses = {};
30
39
  }
31
- if (operation.responses[status]) {
32
- throw Error(`status ${status} for '${path}' already used`);
40
+ const defaultResponse = operation.responses[status];
41
+ if ((_a = defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content) === null || _a === void 0 ? void 0 : _a[type]) {
42
+ throw Error(`status ${status} and type ${type} for '${path}' already used`);
33
43
  }
34
44
  const schema = {};
35
45
  const response = {
36
- description,
37
- content: {
38
- 'application/json': {
46
+ content: Object.assign(Object.assign({}, defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content), { [type]: {
39
47
  schema,
40
- },
41
- },
48
+ } }),
49
+ description,
42
50
  };
43
51
  operation.responses[status] = response;
44
52
  useSchemaContext.schemaContext.set(handler, schema);
@@ -50,3 +58,4 @@ const response = () => {
50
58
  };
51
59
 
52
60
  exports.response = response;
61
+ exports.statuses = statuses;
@@ -0,0 +1 @@
1
+ export * from './return';
@@ -0,0 +1 @@
1
+ export { returnPlugin } from './return.es6.js';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _return = require('./return.js');
6
+
7
+
8
+
9
+ exports.returnPlugin = _return.returnPlugin;
@@ -0,0 +1,4 @@
1
+ import { type HandlerPlugin } from 'innet';
2
+ export interface ReturnProps {
3
+ }
4
+ export declare const returnPlugin: HandlerPlugin;
@@ -0,0 +1,10 @@
1
+ import { useChildren } from '@innet/jsx';
2
+ import '../../../hooks/index.es6.js';
3
+ import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
4
+
5
+ const returnPlugin = () => {
6
+ const children = useChildren();
7
+ useServerPlugin(() => children);
8
+ };
9
+
10
+ export { returnPlugin };
@@ -0,0 +1,14 @@
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
+
9
+ const returnPlugin = () => {
10
+ const children = jsx.useChildren();
11
+ useServerPlugin.useServerPlugin(() => children);
12
+ };
13
+
14
+ exports.returnPlugin = returnPlugin;
@@ -1,13 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import { type HandlerPlugin } from 'innet';
3
- import { type ServerResponse } from 'http';
3
+ import { type IncomingMessage, type ServerResponse } from 'http';
4
4
  import { type ServerStartParams, type SSL } from '../../../types';
5
5
  export interface ServerProps {
6
+ onClose?: () => any;
7
+ onError?: (e: Error) => any;
8
+ onRequest?: (req: IncomingMessage, res: ServerResponse) => any;
9
+ onStart?: (params: ServerStartParams) => any;
6
10
  port?: number;
7
11
  ssl?: SSL;
8
- onStart?: (params: ServerStartParams) => any;
9
- onRequest?: (req: Request, res: ServerResponse) => any;
10
- onError?: (e: Error) => any;
11
- onDestroy?: () => any;
12
12
  }
13
13
  export declare const server: HandlerPlugin;
@@ -1,19 +1,26 @@
1
+ import { __awaiter } from 'tslib';
1
2
  import innet, { useNewHandler, useApp } from 'innet';
2
3
  import fs from 'node:fs';
3
4
  import http from 'node:http';
4
5
  import http2 from 'node:https';
5
6
  import { onDestroy } from 'watch-state';
6
7
  import '../../../hooks/index.es6.js';
8
+ import '../../../utils/index.es6.js';
7
9
  import { serverContext } from '../../../hooks/useServer/useServer.es6.js';
10
+ import { serverPlugins } from '../../../hooks/useServerPlugins/useServerPlugins.es6.js';
11
+ import { serverPortContext } from '../../../hooks/useServerPort/useServerPort.es6.js';
12
+ import { serverHttpsContext } from '../../../hooks/useIsServerHttps/useIsServerHttps.es6.js';
13
+ import { Action } from '../../../utils/action/Action.es6.js';
14
+ import { actionContext } from '../../../hooks/useAction/useAction.es6.js';
8
15
 
9
16
  // eslint-disable-next-line @typescript-eslint/no-var-requires
10
17
  const isInvalidPath = require('is-invalid-path');
11
18
  const server = () => {
12
19
  var _a, _b, _c;
13
20
  const handler = useNewHandler();
14
- const { props = {}, children } = useApp();
21
+ const { children, props = {}, } = useApp();
15
22
  const { env } = process;
16
- let { ssl: { key = (_a = env.SSL_KEY) !== null && _a !== void 0 ? _a : 'localhost.key', cert = (_b = env.SSL_CRT) !== null && _b !== void 0 ? _b : 'localhost.crt', } = {}, } = props;
23
+ let { ssl: { cert = (_a = env.INNET_SSL_CRT) !== null && _a !== void 0 ? _a : 'localhost.crt', key = (_b = env.INNET_SSL_KEY) !== null && _b !== void 0 ? _b : 'localhost.key', } = {}, } = props;
17
24
  try {
18
25
  if (!isInvalidPath(key)) {
19
26
  key = fs.readFileSync(key).toString();
@@ -27,23 +34,42 @@ const server = () => {
27
34
  cert = '';
28
35
  }
29
36
  const https = Boolean(key && cert);
30
- const { port = Number((_c = env.PORT) !== null && _c !== void 0 ? _c : (https ? 442 : 80)), onStart, onError, onRequest, } = props;
31
- const server = https ? http2.createServer({ key, cert }) : http.createServer();
32
- handler[serverContext.key] = { server, port };
37
+ const { onClose, onError, onRequest, onStart, port = Number((_c = env.INNET_PORT) !== null && _c !== void 0 ? _c : (https ? 442 : 80)), } = props;
38
+ const plugins = new Set();
39
+ const server = https ? http2.createServer({ cert, key }) : http.createServer();
40
+ serverContext.set(handler, { port, server });
41
+ serverPlugins.set(handler, plugins);
42
+ serverPortContext.set(handler, port);
43
+ serverHttpsContext.set(handler, https);
33
44
  onDestroy(() => {
34
- var _a;
35
- (_a = props.onDestroy) === null || _a === void 0 ? void 0 : _a.call(props);
36
45
  server.close();
37
46
  });
38
47
  if (onError) {
39
48
  server.on('error', onError);
40
49
  }
41
- if (onRequest) {
42
- server.on('request', onRequest);
50
+ if (onClose) {
51
+ server.addListener('close', onClose);
43
52
  }
53
+ server.on('request', (req, res) => {
54
+ onRequest === null || onRequest === void 0 ? void 0 : onRequest(req, res);
55
+ const action = new Action(req, res);
56
+ const requestHandler = Object.create(handler);
57
+ actionContext.set(requestHandler, action);
58
+ function server() {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ for (const plugin of plugins) {
61
+ const result = yield plugin();
62
+ if (result !== undefined) {
63
+ return result;
64
+ }
65
+ }
66
+ });
67
+ }
68
+ innet({ props, type: server }, requestHandler);
69
+ });
44
70
  innet(children, handler);
45
71
  server.listen(port, () => {
46
- onStart === null || onStart === void 0 ? void 0 : onStart({ port, https });
72
+ onStart === null || onStart === void 0 ? void 0 : onStart({ https, port });
47
73
  });
48
74
  };
49
75
 
@@ -2,13 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var tslib = require('tslib');
5
6
  var innet = require('innet');
6
7
  var fs = require('node:fs');
7
8
  var http = require('node:http');
8
9
  var http2 = require('node:https');
9
10
  var watchState = require('watch-state');
10
11
  require('../../../hooks/index.js');
12
+ require('../../../utils/index.js');
11
13
  var useServer = require('../../../hooks/useServer/useServer.js');
14
+ var useServerPlugins = require('../../../hooks/useServerPlugins/useServerPlugins.js');
15
+ var useServerPort = require('../../../hooks/useServerPort/useServerPort.js');
16
+ var useIsServerHttps = require('../../../hooks/useIsServerHttps/useIsServerHttps.js');
17
+ var Action = require('../../../utils/action/Action.js');
18
+ var useAction = require('../../../hooks/useAction/useAction.js');
12
19
 
13
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
21
 
@@ -22,9 +29,9 @@ const isInvalidPath = require('is-invalid-path');
22
29
  const server = () => {
23
30
  var _a, _b, _c;
24
31
  const handler = innet.useNewHandler();
25
- const { props = {}, children } = innet.useApp();
32
+ const { children, props = {}, } = innet.useApp();
26
33
  const { env } = process;
27
- let { ssl: { key = (_a = env.SSL_KEY) !== null && _a !== void 0 ? _a : 'localhost.key', cert = (_b = env.SSL_CRT) !== null && _b !== void 0 ? _b : 'localhost.crt', } = {}, } = props;
34
+ let { ssl: { cert = (_a = env.INNET_SSL_CRT) !== null && _a !== void 0 ? _a : 'localhost.crt', key = (_b = env.INNET_SSL_KEY) !== null && _b !== void 0 ? _b : 'localhost.key', } = {}, } = props;
28
35
  try {
29
36
  if (!isInvalidPath(key)) {
30
37
  key = fs__default["default"].readFileSync(key).toString();
@@ -38,23 +45,42 @@ const server = () => {
38
45
  cert = '';
39
46
  }
40
47
  const https = Boolean(key && cert);
41
- const { port = Number((_c = env.PORT) !== null && _c !== void 0 ? _c : (https ? 442 : 80)), onStart, onError, onRequest, } = props;
42
- const server = https ? http2__default["default"].createServer({ key, cert }) : http__default["default"].createServer();
43
- handler[useServer.serverContext.key] = { server, port };
48
+ const { onClose, onError, onRequest, onStart, port = Number((_c = env.INNET_PORT) !== null && _c !== void 0 ? _c : (https ? 442 : 80)), } = props;
49
+ const plugins = new Set();
50
+ const server = https ? http2__default["default"].createServer({ cert, key }) : http__default["default"].createServer();
51
+ useServer.serverContext.set(handler, { port, server });
52
+ useServerPlugins.serverPlugins.set(handler, plugins);
53
+ useServerPort.serverPortContext.set(handler, port);
54
+ useIsServerHttps.serverHttpsContext.set(handler, https);
44
55
  watchState.onDestroy(() => {
45
- var _a;
46
- (_a = props.onDestroy) === null || _a === void 0 ? void 0 : _a.call(props);
47
56
  server.close();
48
57
  });
49
58
  if (onError) {
50
59
  server.on('error', onError);
51
60
  }
52
- if (onRequest) {
53
- server.on('request', onRequest);
61
+ if (onClose) {
62
+ server.addListener('close', onClose);
54
63
  }
64
+ server.on('request', (req, res) => {
65
+ onRequest === null || onRequest === void 0 ? void 0 : onRequest(req, res);
66
+ const action = new Action.Action(req, res);
67
+ const requestHandler = Object.create(handler);
68
+ useAction.actionContext.set(requestHandler, action);
69
+ function server() {
70
+ return tslib.__awaiter(this, void 0, void 0, function* () {
71
+ for (const plugin of plugins) {
72
+ const result = yield plugin();
73
+ if (result !== undefined) {
74
+ return result;
75
+ }
76
+ }
77
+ });
78
+ }
79
+ innet__default["default"]({ props, type: server }, requestHandler);
80
+ });
55
81
  innet__default["default"](children, handler);
56
82
  server.listen(port, () => {
57
- onStart === null || onStart === void 0 ? void 0 : onStart({ port, https });
83
+ onStart === null || onStart === void 0 ? void 0 : onStart({ https, port });
58
84
  });
59
85
  };
60
86
 
@@ -1,11 +1,11 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  export interface TagProps {
3
- /** The name of the tag. */
4
- name: string;
5
3
  /**
6
4
  * A description for the tag.
7
5
  * [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
8
6
  * */
9
7
  description?: string;
8
+ /** The name of the tag. */
9
+ name: string;
10
10
  }
11
11
  export declare const tag: HandlerPlugin;
@@ -8,10 +8,13 @@ const tag = () => {
8
8
  if (useContext(tagContext)) {
9
9
  throw Error('You cannot use a <tag> inside another one');
10
10
  }
11
- const { name, description } = useProps();
11
+ const { description, name, } = useProps();
12
12
  const children = useChildren();
13
13
  const { docs } = useApi();
14
- const tag = description ? { name, description } : { name };
14
+ const tag = { name };
15
+ if (description) {
16
+ tag.description = description;
17
+ }
15
18
  if (!docs.tags) {
16
19
  docs.tags = [tag];
17
20
  }
@@ -16,10 +16,13 @@ const tag = () => {
16
16
  if (jsx.useContext(useTag.tagContext)) {
17
17
  throw Error('You cannot use a <tag> inside another one');
18
18
  }
19
- const { name, description } = jsx.useProps();
19
+ const { description, name, } = jsx.useProps();
20
20
  const children = jsx.useChildren();
21
21
  const { docs } = useApi.useApi();
22
- const tag = description ? { name, description } : { name };
22
+ const tag = { name };
23
+ if (description) {
24
+ tag.description = description;
25
+ }
23
26
  if (!docs.tags) {
24
27
  docs.tags = [tag];
25
28
  }
@@ -1,5 +1,10 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  export interface VariableProps {
3
+ /**
4
+ * An optional description for the server variable.
5
+ * [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
6
+ * */
7
+ description?: string;
3
8
  /**
4
9
  * A server url parameter
5
10
  * */
@@ -15,10 +20,5 @@ export interface VariableProps {
15
20
  * The array MUST NOT be empty.
16
21
  * */
17
22
  values?: [string, string, ...string[]];
18
- /**
19
- * An optional description for the server variable.
20
- * [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
21
- * */
22
- description?: string;
23
23
  }
24
24
  export declare const variable: HandlerPlugin;
@@ -5,7 +5,9 @@ import { useHost } from '../../../hooks/useHost/useHost.es6.js';
5
5
 
6
6
  const variable = () => {
7
7
  const { server } = useHost();
8
- const _a = useProps(), { key, values, value = values === null || values === void 0 ? void 0 : values[0] } = _a, rest = __rest(_a, ["key", "values", "value"]);
8
+ const _a = useProps(), { key, values,
9
+ // predefine
10
+ value = values === null || values === void 0 ? void 0 : values[0] } = _a, rest = __rest(_a, ["key", "values", "value"]);
9
11
  if (!server.variables) {
10
12
  server.variables = {};
11
13
  }
@@ -9,7 +9,9 @@ var useHost = require('../../../hooks/useHost/useHost.js');
9
9
 
10
10
  const variable = () => {
11
11
  const { server } = useHost.useHost();
12
- const _a = jsx.useProps(), { key, values, value = values === null || values === void 0 ? void 0 : values[0] } = _a, rest = tslib.__rest(_a, ["key", "values", "value"]);
12
+ const _a = jsx.useProps(), { key, values,
13
+ // predefine
14
+ value = values === null || values === void 0 ? void 0 : values[0] } = _a, rest = tslib.__rest(_a, ["key", "values", "value"]);
13
15
  if (!server.variables) {
14
16
  server.variables = {};
15
17
  }
@@ -7,7 +7,7 @@ import { usePath } from '../../../hooks/usePath/usePath.es6.js';
7
7
  import { file } from '../file/file.es6.js';
8
8
 
9
9
  function cms() {
10
- const { prefix = '/', dir = '.' } = useProps() || {};
10
+ const { dir = process.env.INNET_CMS_DIR || '.', prefix = process.env.INNET_CMS_PREFIX || '/', } = useProps() || {};
11
11
  const children = useChildren();
12
12
  const handler = useHandler();
13
13
  let url = usePath();
@@ -18,7 +18,7 @@ function cms() {
18
18
  return innet(children, handler);
19
19
  }
20
20
  const filePath = path.join(dir, url);
21
- innet({ type: file, props: { path: filePath }, children }, handler);
21
+ innet({ children, props: { path: filePath }, type: file }, handler);
22
22
  }
23
23
 
24
24
  export { cms };
@@ -16,7 +16,7 @@ var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
16
16
  var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
17
17
 
18
18
  function cms() {
19
- const { prefix = '/', dir = '.' } = jsx.useProps() || {};
19
+ const { dir = process.env.INNET_CMS_DIR || '.', prefix = process.env.INNET_CMS_PREFIX || '/', } = jsx.useProps() || {};
20
20
  const children = jsx.useChildren();
21
21
  const handler = innet.useHandler();
22
22
  let url = usePath.usePath();
@@ -27,7 +27,7 @@ function cms() {
27
27
  return innet__default["default"](children, handler);
28
28
  }
29
29
  const filePath = path__default["default"].join(dir, url);
30
- innet__default["default"]({ type: file.file, props: { path: filePath }, children }, handler);
30
+ innet__default["default"]({ children, props: { path: filePath }, type: file.file }, handler);
31
31
  }
32
32
 
33
33
  exports.cms = cms;
@@ -1,28 +1,12 @@
1
1
  import { __rest } from 'tslib';
2
2
  import { useProps } from '@innet/jsx';
3
- import cookie$1 from 'cookie';
4
3
  import '../../../hooks/index.es6.js';
5
- import { useResponse } from '../../../hooks/useResponse/useResponse.es6.js';
6
- import { useThrow } from '../../../hooks/useThrow/useThrow.es6.js';
4
+ import { useAction } from '../../../hooks/useAction/useAction.es6.js';
7
5
 
8
6
  const cookie = () => {
9
- const res = useResponse();
10
- if (!res) {
11
- useThrow('<{type}> MUST be in <request> or <fallback>');
12
- }
7
+ const action = useAction();
13
8
  const _a = useProps(), { key, value } = _a, opt = __rest(_a, ["key", "value"]);
14
- let cookies = res.getHeader('Set-Cookie');
15
- if (typeof cookies === 'string') {
16
- cookies = [cookies];
17
- }
18
- const normValue = typeof value === 'string' ? cookie$1.serialize(key, value, opt) : `${key}=; max-age=0`;
19
- if (cookies) {
20
- cookies.push(normValue);
21
- }
22
- else {
23
- cookies = normValue;
24
- }
25
- res.setHeader('Set-Cookie', cookies);
9
+ action.setCookie(key, value, opt);
26
10
  };
27
11
 
28
12
  export { cookie };