@innet/server 2.0.0-alpha.9 → 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 (315) hide show
  1. package/README.md +1041 -445
  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 +25 -14
  5. package/handler/handler.es6.js +15 -11
  6. package/handler/handler.js +15 -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/useEndpoint/useEndpoint.d.ts +1 -1
  15. package/hooks/useEndpoint/useEndpoint.es6.js +3 -1
  16. package/hooks/useEndpoint/useEndpoint.js +3 -1
  17. package/hooks/useIsServerHttps/index.d.ts +1 -0
  18. package/hooks/useIsServerHttps/index.es6.js +1 -0
  19. package/hooks/useIsServerHttps/index.js +10 -0
  20. package/hooks/useIsServerHttps/useIsServerHttps.d.ts +3 -0
  21. package/hooks/useIsServerHttps/useIsServerHttps.es6.js +14 -0
  22. package/hooks/useIsServerHttps/useIsServerHttps.js +19 -0
  23. package/hooks/useNewSchema/useNewSchema.es6.js +1 -1
  24. package/hooks/useNewSchema/useNewSchema.js +1 -1
  25. package/hooks/useObjectSchemaContext/index.d.ts +1 -0
  26. package/hooks/useObjectSchemaContext/index.es6.js +1 -0
  27. package/hooks/useObjectSchemaContext/index.js +10 -0
  28. package/hooks/useObjectSchemaContext/useObjectSchemaContext.d.ts +3 -0
  29. package/hooks/useObjectSchemaContext/useObjectSchemaContext.es6.js +14 -0
  30. package/hooks/useObjectSchemaContext/useObjectSchemaContext.js +19 -0
  31. package/hooks/useRequest/index.es6.js +1 -1
  32. package/hooks/useRequest/index.js +0 -1
  33. package/hooks/useRequest/useRequest.d.ts +1 -4
  34. package/hooks/useRequest/useRequest.es6.js +4 -4
  35. package/hooks/useRequest/useRequest.js +3 -4
  36. package/hooks/useRequestHandler/index.d.ts +1 -0
  37. package/hooks/useRequestHandler/index.es6.js +1 -0
  38. package/hooks/useRequestHandler/index.js +10 -0
  39. package/hooks/useRequestHandler/useRequestHandler.d.ts +4 -0
  40. package/hooks/useRequestHandler/useRequestHandler.es6.js +14 -0
  41. package/hooks/useRequestHandler/useRequestHandler.js +19 -0
  42. package/hooks/useResponse/index.es6.js +1 -1
  43. package/hooks/useResponse/index.js +0 -1
  44. package/hooks/useResponse/useResponse.d.ts +1 -4
  45. package/hooks/useResponse/useResponse.es6.js +4 -4
  46. package/hooks/useResponse/useResponse.js +3 -4
  47. package/hooks/useSchemaType/useSchemaType.d.ts +3 -2
  48. package/hooks/useSchemaType/useSchemaType.es6.js +5 -6
  49. package/hooks/useSchemaType/useSchemaType.js +5 -6
  50. package/hooks/useServer/useServer.d.ts +2 -1
  51. package/hooks/useServer/useServer.es6.js +3 -1
  52. package/hooks/useServer/useServer.js +3 -1
  53. package/hooks/useServerPlugin/index.d.ts +1 -0
  54. package/hooks/useServerPlugin/index.es6.js +1 -0
  55. package/hooks/useServerPlugin/index.js +9 -0
  56. package/hooks/useServerPlugin/useServerPlugin.d.ts +2 -0
  57. package/hooks/useServerPlugin/useServerPlugin.es6.js +13 -0
  58. package/hooks/useServerPlugin/useServerPlugin.js +17 -0
  59. package/hooks/useServerPlugins/index.d.ts +1 -0
  60. package/hooks/useServerPlugins/index.es6.js +1 -0
  61. package/hooks/useServerPlugins/index.js +10 -0
  62. package/hooks/useServerPlugins/useServerPlugins.d.ts +4 -0
  63. package/hooks/useServerPlugins/useServerPlugins.es6.js +14 -0
  64. package/hooks/useServerPlugins/useServerPlugins.js +19 -0
  65. package/hooks/useServerPort/index.d.ts +1 -0
  66. package/hooks/useServerPort/index.es6.js +1 -0
  67. package/hooks/useServerPort/index.js +10 -0
  68. package/hooks/useServerPort/useServerPort.d.ts +3 -0
  69. package/hooks/useServerPort/useServerPort.es6.js +14 -0
  70. package/hooks/useServerPort/useServerPort.js +19 -0
  71. package/index.es6.js +16 -9
  72. package/index.js +31 -14
  73. package/package.json +2 -3
  74. package/plugins/main/api/api.d.ts +11 -8
  75. package/plugins/main/api/api.es6.js +55 -56
  76. package/plugins/main/api/api.js +54 -55
  77. package/plugins/main/body/body.d.ts +1 -0
  78. package/plugins/main/contact/contact.d.ts +2 -2
  79. package/plugins/main/endpoint/endpoint.d.ts +16 -15
  80. package/plugins/main/endpoint/endpoint.es6.js +8 -6
  81. package/plugins/main/endpoint/endpoint.js +7 -5
  82. package/plugins/main/host/host.d.ts +5 -5
  83. package/plugins/main/index.d.ts +2 -2
  84. package/plugins/main/index.es6.js +2 -2
  85. package/plugins/main/index.js +2 -2
  86. package/plugins/main/license/license.d.ts +5 -5
  87. package/plugins/main/param/param.d.ts +12 -11
  88. package/plugins/main/param/param.es6.js +6 -6
  89. package/plugins/main/param/param.js +5 -5
  90. package/plugins/main/preset/index.d.ts +1 -0
  91. package/plugins/main/preset/index.es6.js +1 -0
  92. package/plugins/{utils/prod → main/preset}/index.js +2 -2
  93. package/plugins/main/preset/preset.d.ts +3 -0
  94. package/plugins/main/preset/preset.es6.js +13 -0
  95. package/plugins/{utils/dev/dev.js → main/preset/preset.js} +9 -6
  96. package/plugins/main/response/index.es6.js +1 -1
  97. package/plugins/main/response/index.js +1 -0
  98. package/plugins/main/response/response.d.ts +6 -1
  99. package/plugins/main/response/response.es6.js +22 -13
  100. package/plugins/main/response/response.js +21 -11
  101. package/plugins/main/return/index.d.ts +1 -0
  102. package/plugins/main/return/index.es6.js +1 -0
  103. package/plugins/main/return/index.js +9 -0
  104. package/plugins/main/return/return.d.ts +4 -0
  105. package/plugins/main/return/return.es6.js +10 -0
  106. package/plugins/main/return/return.js +14 -0
  107. package/plugins/main/server/server.d.ts +6 -5
  108. package/plugins/main/server/server.es6.js +43 -16
  109. package/plugins/main/server/server.js +42 -15
  110. package/plugins/main/tag/tag.d.ts +3 -2
  111. package/plugins/main/tag/tag.es6.js +6 -4
  112. package/plugins/main/tag/tag.js +5 -3
  113. package/plugins/main/variable/variable.d.ts +5 -5
  114. package/plugins/main/variable/variable.es6.js +3 -1
  115. package/plugins/main/variable/variable.js +3 -1
  116. package/plugins/request/cms/cms.d.ts +1 -0
  117. package/plugins/request/cms/cms.es6.js +3 -4
  118. package/plugins/request/cms/cms.js +2 -3
  119. package/plugins/request/error/error.d.ts +41 -40
  120. package/plugins/request/error/error.es6.js +48 -45
  121. package/plugins/request/error/error.js +47 -44
  122. package/plugins/request/file/file.d.ts +1 -0
  123. package/plugins/request/file/file.es6.js +5 -6
  124. package/plugins/request/file/file.js +4 -5
  125. package/plugins/request/header/header.es6.js +1 -1
  126. package/plugins/request/header/header.js +1 -1
  127. package/plugins/request/proxy/proxy.d.ts +4 -1
  128. package/plugins/request/proxy/proxy.es6.js +5 -2
  129. package/plugins/request/proxy/proxy.js +5 -2
  130. package/plugins/request/redirect/redirect.d.ts +8 -7
  131. package/plugins/request/redirect/redirect.es6.js +7 -7
  132. package/plugins/request/redirect/redirect.js +7 -7
  133. package/plugins/request/success/success.d.ts +8 -6
  134. package/plugins/request/success/success.es6.js +21 -11
  135. package/plugins/request/success/success.js +20 -10
  136. package/plugins/schema/any/any.d.ts +5 -0
  137. package/plugins/schema/any/any.es6.js +27 -0
  138. package/plugins/schema/any/any.js +31 -0
  139. package/plugins/schema/array/array.d.ts +1 -0
  140. package/plugins/schema/array/array.es6.js +3 -3
  141. package/plugins/schema/array/array.js +2 -2
  142. package/plugins/schema/binary/binary.d.ts +3 -3
  143. package/plugins/schema/date/date.d.ts +1 -1
  144. package/plugins/schema/date/date.es6.js +3 -3
  145. package/plugins/schema/date/date.js +3 -3
  146. package/plugins/schema/field/field.d.ts +2 -0
  147. package/plugins/schema/field/field.es6.js +8 -8
  148. package/plugins/schema/field/field.js +6 -6
  149. package/plugins/schema/index.d.ts +1 -0
  150. package/plugins/schema/index.es6.js +1 -0
  151. package/plugins/schema/index.js +1 -0
  152. package/plugins/schema/integer/integer.d.ts +3 -3
  153. package/plugins/schema/integer/integer.es6.js +1 -1
  154. package/plugins/schema/integer/integer.js +1 -1
  155. package/plugins/schema/number/number.d.ts +2 -2
  156. package/plugins/schema/number/number.es6.js +1 -1
  157. package/plugins/schema/number/number.js +1 -1
  158. package/plugins/schema/object/object.d.ts +1 -0
  159. package/plugins/schema/object/object.es6.js +20 -7
  160. package/plugins/schema/object/object.js +19 -6
  161. package/plugins/schema/string/string.d.ts +2 -2
  162. package/plugins/schema/string/string.es6.js +44 -30
  163. package/plugins/schema/string/string.js +44 -30
  164. package/plugins/schema/tuple/tuple.d.ts +1 -0
  165. package/plugins/schema/tuple/tuple.es6.js +5 -5
  166. package/plugins/schema/tuple/tuple.js +4 -4
  167. package/plugins/schema/uuid/uuid.es6.js +1 -1
  168. package/plugins/schema/uuid/uuid.js +1 -1
  169. package/plugins/utils/blacklist/blacklist.d.ts +5 -0
  170. package/plugins/utils/blacklist/blacklist.es6.js +17 -0
  171. package/plugins/utils/blacklist/blacklist.js +21 -0
  172. package/plugins/utils/blacklist/index.d.ts +1 -0
  173. package/plugins/utils/blacklist/index.es6.js +1 -0
  174. package/plugins/utils/blacklist/index.js +9 -0
  175. package/plugins/utils/dts/dts.d.ts +2 -1
  176. package/plugins/utils/dts/dts.es6.js +2 -2
  177. package/plugins/utils/dts/dts.js +2 -2
  178. package/plugins/utils/env/env.d.ts +7 -0
  179. package/plugins/utils/env/env.es6.js +11 -0
  180. package/plugins/utils/{prod/prod.js → env/env.js} +5 -4
  181. package/plugins/utils/env/index.d.ts +1 -0
  182. package/plugins/utils/env/index.es6.js +1 -0
  183. package/plugins/utils/{dev → env}/index.js +2 -2
  184. package/plugins/utils/index.d.ts +3 -2
  185. package/plugins/utils/index.es6.js +3 -2
  186. package/plugins/utils/index.js +3 -2
  187. package/plugins/utils/protection/protection.d.ts +4 -4
  188. package/plugins/utils/protection/protection.es6.js +13 -16
  189. package/plugins/utils/protection/protection.js +13 -16
  190. package/plugins/utils/swagger/swagger.es6.js +7 -5
  191. package/plugins/utils/swagger/swagger.js +7 -5
  192. package/plugins/utils/whitelist/index.d.ts +1 -0
  193. package/plugins/utils/whitelist/index.es6.js +1 -0
  194. package/plugins/utils/whitelist/index.js +9 -0
  195. package/plugins/utils/whitelist/whitelist.d.ts +5 -0
  196. package/plugins/utils/whitelist/whitelist.es6.js +19 -0
  197. package/plugins/utils/whitelist/whitelist.js +23 -0
  198. package/types.d.ts +15 -22
  199. package/utils/FileData/Bin.d.ts +13 -13
  200. package/utils/FileData/Bin.es6.js +2 -2
  201. package/utils/FileData/Bin.js +2 -2
  202. package/utils/action/Action.d.ts +12 -12
  203. package/utils/action/Action.es6.js +84 -82
  204. package/utils/action/Action.js +83 -81
  205. package/utils/dateFormat/dateFormat.d.ts +1 -1
  206. package/utils/dateFormat/dateFormat.es6.js +1 -1
  207. package/utils/dateFormat/dateFormat.js +1 -1
  208. package/utils/decorators/once/once.es6.js +1 -1
  209. package/utils/decorators/once/once.js +1 -1
  210. package/utils/generateTypes/generateTypes.d.ts +2 -2
  211. package/utils/generateTypes/generateTypes.es6.js +85 -25
  212. package/utils/generateTypes/generateTypes.js +85 -25
  213. package/utils/getEndpoint/getEndpoint.es6.js +2 -2
  214. package/utils/getEndpoint/getEndpoint.js +2 -2
  215. package/utils/getOrAdd/getOrAdd.d.ts +1 -1
  216. package/utils/httpOnStart/httpOnStart.d.ts +1 -1
  217. package/utils/httpOnStart/httpOnStart.es6.js +1 -1
  218. package/utils/httpOnStart/httpOnStart.js +1 -1
  219. package/utils/rules/binaryAccept/binaryAccept.es6.js +2 -2
  220. package/utils/rules/binaryAccept/binaryAccept.js +2 -2
  221. package/utils/rules/dateTo/dateTo.d.ts +1 -1
  222. package/utils/rules/helpers.d.ts +1 -1
  223. package/utils/rules/index.d.ts +0 -1
  224. package/utils/rules/index.es6.js +0 -1
  225. package/utils/rules/index.js +0 -1
  226. package/utils/rules/int/int.es6.js +2 -2
  227. package/utils/rules/int/int.js +2 -2
  228. package/utils/rules/max/max.d.ts +1 -1
  229. package/utils/rules/max/max.es6.js +3 -3
  230. package/utils/rules/max/max.js +3 -3
  231. package/utils/rules/maxBin/maxBin.es6.js +2 -2
  232. package/utils/rules/maxBin/maxBin.js +2 -2
  233. package/utils/rules/maxDate/maxDate.es6.js +1 -1
  234. package/utils/rules/maxDate/maxDate.js +1 -1
  235. package/utils/rules/maxLength/maxLength.es6.js +2 -2
  236. package/utils/rules/maxLength/maxLength.js +2 -2
  237. package/utils/rules/min/min.d.ts +1 -1
  238. package/utils/rules/min/min.es6.js +3 -3
  239. package/utils/rules/min/min.js +3 -3
  240. package/utils/rules/minBin/minBin.es6.js +2 -2
  241. package/utils/rules/minBin/minBin.js +2 -2
  242. package/utils/rules/minDate/minDate.es6.js +1 -1
  243. package/utils/rules/minDate/minDate.js +1 -1
  244. package/utils/rules/minLength/minLength.es6.js +2 -2
  245. package/utils/rules/minLength/minLength.js +2 -2
  246. package/utils/rules/objectOf/objectOf.d.ts +1 -1
  247. package/utils/rules/objectOf/objectOf.es6.js +11 -1
  248. package/utils/rules/objectOf/objectOf.js +11 -1
  249. package/utils/rules/pattern/pattern.d.ts +1 -1
  250. package/utils/rules/pattern/pattern.es6.js +2 -1
  251. package/utils/rules/pattern/pattern.js +2 -1
  252. package/example/app/App/App.d.ts +0 -1
  253. package/example/app/App/index.d.ts +0 -1
  254. package/example/index.d.ts +0 -1
  255. package/example/requests/index.d.ts +0 -1
  256. package/example/requests/todo/AddTodo/AddTodo.d.ts +0 -1
  257. package/example/requests/todo/AddTodo/index.d.ts +0 -1
  258. package/example/requests/todo/DeleteTodo/DeleteTodo.d.ts +0 -1
  259. package/example/requests/todo/DeleteTodo/index.d.ts +0 -1
  260. package/example/requests/todo/EditTodo/EditTodo.d.ts +0 -1
  261. package/example/requests/todo/EditTodo/index.d.ts +0 -1
  262. package/example/requests/todo/GetTodo/GetTodo.d.ts +0 -1
  263. package/example/requests/todo/GetTodo/index.d.ts +0 -1
  264. package/example/requests/todo/GetTodos/GetTodos.d.ts +0 -1
  265. package/example/requests/todo/GetTodos/index.d.ts +0 -1
  266. package/example/requests/todo/index.d.ts +0 -5
  267. package/example/requests/todo/todos.d.ts +0 -1
  268. package/example/schemas/app/ListQueryParams/ListQueryParams.d.ts +0 -1
  269. package/example/schemas/app/ListQueryParams/index.d.ts +0 -1
  270. package/example/schemas/app/ListSchema/ListSchema.d.ts +0 -4
  271. package/example/schemas/app/ListSchema/index.d.ts +0 -1
  272. package/example/schemas/app/index.d.ts +0 -2
  273. package/example/schemas/index.d.ts +0 -2
  274. package/example/schemas/todo/TodoSchema/TodoSchema.d.ts +0 -4
  275. package/example/schemas/todo/TodoSchema/index.d.ts +0 -1
  276. package/example/schemas/todo/index.d.ts +0 -1
  277. package/example/tags/Todo/Todo.d.ts +0 -1
  278. package/example/tags/Todo/index.d.ts +0 -1
  279. package/example/tags/index.d.ts +0 -1
  280. package/hooks/useRequestPlugin/index.d.ts +0 -1
  281. package/hooks/useRequestPlugin/index.es6.js +0 -1
  282. package/hooks/useRequestPlugin/index.js +0 -9
  283. package/hooks/useRequestPlugin/useRequestPlugin.d.ts +0 -2
  284. package/hooks/useRequestPlugin/useRequestPlugin.es6.js +0 -13
  285. package/hooks/useRequestPlugin/useRequestPlugin.js +0 -17
  286. package/openApi.test.d.ts +0 -1
  287. package/plugins/main/fallback/fallback.d.ts +0 -4
  288. package/plugins/main/fallback/fallback.es6.js +0 -19
  289. package/plugins/main/fallback/fallback.js +0 -23
  290. package/plugins/main/fallback/index.d.ts +0 -1
  291. package/plugins/main/fallback/index.es6.js +0 -1
  292. package/plugins/main/fallback/index.js +0 -9
  293. package/plugins/main/request/index.d.ts +0 -1
  294. package/plugins/main/request/index.es6.js +0 -1
  295. package/plugins/main/request/index.js +0 -9
  296. package/plugins/main/request/request.d.ts +0 -4
  297. package/plugins/main/request/request.es6.js +0 -21
  298. package/plugins/main/request/request.js +0 -25
  299. package/plugins/utils/dev/dev.d.ts +0 -4
  300. package/plugins/utils/dev/dev.es6.js +0 -10
  301. package/plugins/utils/dev/index.d.ts +0 -1
  302. package/plugins/utils/dev/index.es6.js +0 -1
  303. package/plugins/utils/prod/index.d.ts +0 -1
  304. package/plugins/utils/prod/index.es6.js +0 -1
  305. package/plugins/utils/prod/prod.d.ts +0 -4
  306. package/plugins/utils/prod/prod.es6.js +0 -10
  307. package/utils/decorators/once/once.test.d.ts +0 -1
  308. package/utils/generateTypes/generateTypes.test.d.ts +0 -1
  309. package/utils/parseSearch/parseSearch.test.d.ts +0 -1
  310. package/utils/rules/any/any.d.ts +0 -1
  311. package/utils/rules/any/any.es6.js +0 -5
  312. package/utils/rules/any/any.js +0 -9
  313. /package/{utils/rules → plugins/schema}/any/index.d.ts +0 -0
  314. /package/{utils/rules → plugins/schema}/any/index.es6.js +0 -0
  315. /package/{utils/rules → plugins/schema}/any/index.js +0 -0
@@ -2,14 +2,17 @@
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 jsx = require('@innet/jsx');
8
+ var utils = require('@innet/utils');
7
9
  require('../../../hooks/index.js');
8
10
  require('../../../hooks/useParentRule/index.js');
9
11
  require('../../../utils/index.js');
10
12
  var useBlock = require('../../../hooks/useBlock/useBlock.js');
11
13
  var useApi = require('../../../hooks/useApi/useApi.js');
12
14
  var useSchemaType = require('../../../hooks/useSchemaType/useSchemaType.js');
15
+ var useObjectSchemaContext = require('../../../hooks/useObjectSchemaContext/useObjectSchemaContext.js');
13
16
  var useSchemaContext = require('../../../hooks/useSchemaContext/useSchemaContext.js');
14
17
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
15
18
  var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
@@ -24,25 +27,28 @@ var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
24
27
 
25
28
  const object = () => {
26
29
  useBlock.useBlock('path');
27
- const children = jsx.useChildren();
28
- const props = jsx.useProps() || {};
30
+ const _a = jsx.useProps(), { children } = _a, props = tslib.__rest(_a, ["children"]);
29
31
  const { refRules } = useApi.useApi();
30
32
  const schema = useSchemaType.useSchemaType('object', props);
31
33
  const handler = innet.useNewHandler();
32
34
  if (schema) {
33
- useSchemaContext.schemaContext.set(handler, schema);
35
+ schema.additionalProperties = {};
36
+ useObjectSchemaContext.objectSchemaContext.set(handler, schema);
37
+ useSchemaContext.schemaContext.set(handler, schema.additionalProperties);
34
38
  useParentRule.parentRuleContext.reset(handler);
35
39
  const rules = [];
36
40
  const rulesMap = {};
37
41
  if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
38
42
  rules.push(defaultTo.defaultTo(props.default));
39
43
  }
44
+ let childRule = v => v;
45
+ const restRule = (value, data) => childRule(value, data);
40
46
  if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
41
- rules.push(objectOf.objectOf(rulesMap));
47
+ rules.push(objectOf.objectOf(rulesMap, restRule));
42
48
  }
43
49
  else {
44
50
  const parentRule = useParentRule.useParentRule();
45
- rules.push(parentRule(objectOf.objectOf(rulesMap)));
51
+ rules.push(parentRule(objectOf.objectOf(rulesMap, restRule)));
46
52
  }
47
53
  const rule = pipe.pipe(...rules);
48
54
  if (props.ref) {
@@ -50,9 +56,16 @@ const object = () => {
50
56
  }
51
57
  useRule.useRule(rule);
52
58
  useObjectRule.objectRuleContext.set(handler, rulesMap);
53
- useRule.ruleContext.set(handler, null);
59
+ useRule.ruleContext.set(handler, rule => {
60
+ childRule = rule;
61
+ });
54
62
  useParentRule.parentRuleContext.reset(handler);
55
63
  innet__default["default"](children, handler);
64
+ innet__default["default"](() => {
65
+ if (!Object.keys(schema.additionalProperties).length) {
66
+ delete schema.additionalProperties;
67
+ }
68
+ }, utils.callHandler);
56
69
  }
57
70
  else if (props.ref) {
58
71
  useRule.useRule(refRules[props.ref]);
@@ -1,9 +1,9 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  import { type ValuesSchemaProps } from '../../../types';
3
3
  export interface StringProps extends ValuesSchemaProps<string> {
4
- min?: number;
5
4
  max?: number;
6
- pattern?: string | RegExp;
5
+ min?: number;
6
+ pattern?: RegExp | string;
7
7
  patternId?: string;
8
8
  }
9
9
  export declare const string: HandlerPlugin;
@@ -3,48 +3,62 @@ import { useProps } from '@innet/jsx';
3
3
  import '../../../hooks/index.es6.js';
4
4
  import '../../../hooks/useParentRule/index.es6.js';
5
5
  import '../../../utils/index.es6.js';
6
+ import { useApi } from '../../../hooks/useApi/useApi.es6.js';
6
7
  import { useSchemaType } from '../../../hooks/useSchemaType/useSchemaType.es6.js';
7
8
  import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
8
9
  import { values } from '../../../utils/rules/values/values.es6.js';
9
10
  import { minLength } from '../../../utils/rules/minLength/minLength.es6.js';
10
11
  import { maxLength } from '../../../utils/rules/maxLength/maxLength.es6.js';
11
12
  import { pattern } from '../../../utils/rules/pattern/pattern.es6.js';
12
- import { useRule } from '../../../hooks/useRule/useRule.es6.js';
13
13
  import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
14
+ import { useRule } from '../../../hooks/useRule/useRule.es6.js';
14
15
  import { useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
15
16
 
16
17
  const string = () => {
17
- const _a = useProps() || {}, { min, max, pattern: pattern$1, patternId } = _a, props = __rest(_a, ["min", "max", "pattern", "patternId"]);
18
+ const _a = useProps() || {}, { max, min, pattern: pattern$1, patternId } = _a, props = __rest(_a, ["max", "min", "pattern", "patternId"]);
19
+ const { refRules } = useApi();
18
20
  const schema = useSchemaType('string', props);
19
- const rules = [];
20
- if (props.default !== undefined) {
21
- rules.push(defaultTo(props.default));
22
- }
23
- rules.push(String);
24
- if (props.values) {
25
- rules.push(values(props.values));
26
- }
27
- if (min !== undefined) {
28
- // @ts-expect-error: FIXME
29
- schema.minimum = min;
30
- rules.push(minLength(min));
31
- }
32
- if (max !== undefined) {
33
- // @ts-expect-error: FIXME
34
- schema.maximum = max;
35
- rules.push(maxLength(max));
36
- }
37
- if (pattern$1 !== undefined) {
38
- // @ts-expect-error: FIXME
39
- schema.pattern = String(pattern$1);
40
- rules.push(pattern(pattern$1, patternId));
41
- }
42
- if (props.default) {
43
- useRule(pipe(...rules));
21
+ if (schema) {
22
+ const rules = [];
23
+ if (props.default !== undefined) {
24
+ rules.push(defaultTo(props.default));
25
+ }
26
+ rules.push(String);
27
+ if (props.values) {
28
+ rules.push(values(props.values));
29
+ }
30
+ if (min !== undefined) {
31
+ schema.minimum = min;
32
+ rules.push(minLength(min));
33
+ }
34
+ if (max !== undefined) {
35
+ schema.maximum = max;
36
+ rules.push(maxLength(max));
37
+ }
38
+ if (pattern$1 !== undefined) {
39
+ schema.pattern = String(pattern$1);
40
+ rules.push(pattern(pattern$1, patternId));
41
+ }
42
+ const rule = pipe(...rules);
43
+ if (props.ref) {
44
+ refRules[props.ref] = rule;
45
+ }
46
+ if (props.default !== undefined) {
47
+ useRule(rule);
48
+ }
49
+ else {
50
+ const parentRule = useParentRule();
51
+ useRule(parentRule(rule));
52
+ }
44
53
  }
45
- else {
46
- const parentRule = useParentRule();
47
- useRule(parentRule(pipe(...rules)));
54
+ else if (props.ref) {
55
+ if (props.default !== undefined) {
56
+ useRule(refRules[props.ref]);
57
+ }
58
+ else {
59
+ const parentRule = useParentRule();
60
+ useRule(parentRule(refRules[props.ref]));
61
+ }
48
62
  }
49
63
  };
50
64
 
@@ -7,48 +7,62 @@ var jsx = require('@innet/jsx');
7
7
  require('../../../hooks/index.js');
8
8
  require('../../../hooks/useParentRule/index.js');
9
9
  require('../../../utils/index.js');
10
+ var useApi = require('../../../hooks/useApi/useApi.js');
10
11
  var useSchemaType = require('../../../hooks/useSchemaType/useSchemaType.js');
11
12
  var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
12
13
  var values = require('../../../utils/rules/values/values.js');
13
14
  var minLength = require('../../../utils/rules/minLength/minLength.js');
14
15
  var maxLength = require('../../../utils/rules/maxLength/maxLength.js');
15
16
  var pattern = require('../../../utils/rules/pattern/pattern.js');
16
- var useRule = require('../../../hooks/useRule/useRule.js');
17
17
  var pipe = require('../../../utils/rules/pipe/pipe.js');
18
+ var useRule = require('../../../hooks/useRule/useRule.js');
18
19
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
19
20
 
20
21
  const string = () => {
21
- const _a = jsx.useProps() || {}, { min, max, pattern: pattern$1, patternId } = _a, props = tslib.__rest(_a, ["min", "max", "pattern", "patternId"]);
22
+ const _a = jsx.useProps() || {}, { max, min, pattern: pattern$1, patternId } = _a, props = tslib.__rest(_a, ["max", "min", "pattern", "patternId"]);
23
+ const { refRules } = useApi.useApi();
22
24
  const schema = useSchemaType.useSchemaType('string', props);
23
- const rules = [];
24
- if (props.default !== undefined) {
25
- rules.push(defaultTo.defaultTo(props.default));
26
- }
27
- rules.push(String);
28
- if (props.values) {
29
- rules.push(values.values(props.values));
30
- }
31
- if (min !== undefined) {
32
- // @ts-expect-error: FIXME
33
- schema.minimum = min;
34
- rules.push(minLength.minLength(min));
35
- }
36
- if (max !== undefined) {
37
- // @ts-expect-error: FIXME
38
- schema.maximum = max;
39
- rules.push(maxLength.maxLength(max));
40
- }
41
- if (pattern$1 !== undefined) {
42
- // @ts-expect-error: FIXME
43
- schema.pattern = String(pattern$1);
44
- rules.push(pattern.pattern(pattern$1, patternId));
45
- }
46
- if (props.default) {
47
- useRule.useRule(pipe.pipe(...rules));
25
+ if (schema) {
26
+ const rules = [];
27
+ if (props.default !== undefined) {
28
+ rules.push(defaultTo.defaultTo(props.default));
29
+ }
30
+ rules.push(String);
31
+ if (props.values) {
32
+ rules.push(values.values(props.values));
33
+ }
34
+ if (min !== undefined) {
35
+ schema.minimum = min;
36
+ rules.push(minLength.minLength(min));
37
+ }
38
+ if (max !== undefined) {
39
+ schema.maximum = max;
40
+ rules.push(maxLength.maxLength(max));
41
+ }
42
+ if (pattern$1 !== undefined) {
43
+ schema.pattern = String(pattern$1);
44
+ rules.push(pattern.pattern(pattern$1, patternId));
45
+ }
46
+ const rule = pipe.pipe(...rules);
47
+ if (props.ref) {
48
+ refRules[props.ref] = rule;
49
+ }
50
+ if (props.default !== undefined) {
51
+ useRule.useRule(rule);
52
+ }
53
+ else {
54
+ const parentRule = useParentRule.useParentRule();
55
+ useRule.useRule(parentRule(rule));
56
+ }
48
57
  }
49
- else {
50
- const parentRule = useParentRule.useParentRule();
51
- useRule.useRule(parentRule(pipe.pipe(...rules)));
58
+ else if (props.ref) {
59
+ if (props.default !== undefined) {
60
+ useRule.useRule(refRules[props.ref]);
61
+ }
62
+ else {
63
+ const parentRule = useParentRule.useParentRule();
64
+ useRule.useRule(parentRule(refRules[props.ref]));
65
+ }
52
66
  }
53
67
  };
54
68
 
@@ -1,5 +1,6 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  import { type BaseSchemaProps } from '../../../types';
3
3
  export interface TupleProps extends BaseSchemaProps<any[]> {
4
+ children?: any;
4
5
  }
5
6
  export declare const tuple: HandlerPlugin;
@@ -1,5 +1,6 @@
1
+ import { __rest } from 'tslib';
1
2
  import innet, { useNewHandler } from 'innet';
2
- import { useProps, useChildren } from '@innet/jsx';
3
+ import { useProps } from '@innet/jsx';
3
4
  import { callHandler } from '@innet/utils';
4
5
  import '../../../hooks/index.es6.js';
5
6
  import '../../../hooks/useParentRule/index.es6.js';
@@ -17,9 +18,8 @@ import { required } from '../../../utils/rules/required/required.es6.js';
17
18
  const tuple = () => {
18
19
  useBlock('path');
19
20
  const handler = useNewHandler();
20
- const props = useProps();
21
+ const _a = useProps(), { children } = _a, props = __rest(_a, ["children"]);
21
22
  const schema = useSchemaType('array', props);
22
- const children = useChildren();
23
23
  if (schema) {
24
24
  const schemas = [];
25
25
  handler[schemaContext.key] = schemas;
@@ -27,10 +27,10 @@ const tuple = () => {
27
27
  schema.prefixItems = schemas;
28
28
  const rulesMap = [];
29
29
  const rules = [];
30
- if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
30
+ if (props.default !== undefined) {
31
31
  rules.push(defaultTo(props.default));
32
32
  }
33
- if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
33
+ if (props.default !== undefined) {
34
34
  rules.push(tupleOf(rulesMap));
35
35
  }
36
36
  else {
@@ -2,6 +2,7 @@
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 jsx = require('@innet/jsx');
7
8
  var utils = require('@innet/utils');
@@ -25,9 +26,8 @@ var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
25
26
  const tuple = () => {
26
27
  useBlock.useBlock('path');
27
28
  const handler = innet.useNewHandler();
28
- const props = jsx.useProps();
29
+ const _a = jsx.useProps(), { children } = _a, props = tslib.__rest(_a, ["children"]);
29
30
  const schema = useSchemaType.useSchemaType('array', props);
30
- const children = jsx.useChildren();
31
31
  if (schema) {
32
32
  const schemas = [];
33
33
  handler[useSchemaContext.schemaContext.key] = schemas;
@@ -35,10 +35,10 @@ const tuple = () => {
35
35
  schema.prefixItems = schemas;
36
36
  const rulesMap = [];
37
37
  const rules = [];
38
- if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
38
+ if (props.default !== undefined) {
39
39
  rules.push(defaultTo.defaultTo(props.default));
40
40
  }
41
- if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
41
+ if (props.default !== undefined) {
42
42
  rules.push(tupleOf.tupleOf(rulesMap));
43
43
  }
44
44
  else {
@@ -12,7 +12,7 @@ import { optional } from '../../../utils/rules/optional/optional.es6.js';
12
12
  import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
13
13
 
14
14
  const uuid = () => {
15
- const _a = useProps() || {}, { default: defaultValue } = _a, props = __rest(_a, ["default"]);
15
+ const _a = useProps(), { default: defaultValue } = _a, props = __rest(_a, ["default"]);
16
16
  const schema = useSchemaType('string', Object.assign(Object.assign({}, props), { default: defaultValue === 'new' ? undefined : defaultValue }));
17
17
  // @ts-expect-error: FIXME
18
18
  schema.format = 'uuid';
@@ -16,7 +16,7 @@ var optional = require('../../../utils/rules/optional/optional.js');
16
16
  var pipe = require('../../../utils/rules/pipe/pipe.js');
17
17
 
18
18
  const uuid = () => {
19
- const _a = jsx.useProps() || {}, { default: defaultValue } = _a, props = tslib.__rest(_a, ["default"]);
19
+ const _a = jsx.useProps(), { default: defaultValue } = _a, props = tslib.__rest(_a, ["default"]);
20
20
  const schema = useSchemaType.useSchemaType('string', Object.assign(Object.assign({}, props), { default: defaultValue === 'new' ? undefined : defaultValue }));
21
21
  // @ts-expect-error: FIXME
22
22
  schema.format = 'uuid';
@@ -0,0 +1,5 @@
1
+ export interface BlacklistProps {
2
+ children?: any;
3
+ ip?: string | string[];
4
+ }
5
+ export declare function blacklist(): void;
@@ -0,0 +1,17 @@
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 blacklist() {
7
+ const { children, ip = process.env.INNET_BLACKLIST_IP, } = useProps() || {};
8
+ const ips = typeof ip === 'string' ? ip.split(',') : ip;
9
+ useServerPlugin(() => {
10
+ const action = useAction();
11
+ if (!action.clientIp || (ips === null || ips === void 0 ? void 0 : ips.includes(action.clientIp))) {
12
+ return children;
13
+ }
14
+ });
15
+ }
16
+
17
+ export { blacklist };
@@ -0,0 +1,21 @@
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 blacklist() {
11
+ const { children, ip = process.env.INNET_BLACKLIST_IP, } = jsx.useProps() || {};
12
+ const ips = typeof ip === 'string' ? ip.split(',') : ip;
13
+ useServerPlugin.useServerPlugin(() => {
14
+ const action = useAction.useAction();
15
+ if (!action.clientIp || (ips === null || ips === void 0 ? void 0 : ips.includes(action.clientIp))) {
16
+ return children;
17
+ }
18
+ });
19
+ }
20
+
21
+ exports.blacklist = blacklist;
@@ -0,0 +1 @@
1
+ export * from './blacklist';
@@ -0,0 +1 @@
1
+ export { blacklist } from './blacklist.es6.js';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var blacklist = require('./blacklist.js');
6
+
7
+
8
+
9
+ exports.blacklist = blacklist.blacklist;
@@ -1,5 +1,6 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
2
  export interface DtsProps {
3
- path: string;
3
+ namespace?: string;
4
+ path?: string;
4
5
  }
5
6
  export declare const dts: HandlerPlugin;
@@ -6,9 +6,9 @@ import { useApi } from '../../../hooks/useApi/useApi.es6.js';
6
6
  import { generateTypes } from '../../../utils/generateTypes/generateTypes.es6.js';
7
7
 
8
8
  const dts = () => {
9
- const { path } = useProps();
9
+ const { namespace = process.env.INNET_DTS_NAMESPACE, path = process.env.INNET_DTS_PATH || 'src/apiTypes.d.ts', } = useProps() || {};
10
10
  const { docs } = useApi();
11
- promises.writeFile(path, generateTypes(docs)).catch(e => {
11
+ promises.writeFile(path, generateTypes(docs, namespace)).catch(e => {
12
12
  console.error(e);
13
13
  });
14
14
  };
@@ -10,9 +10,9 @@ var useApi = require('../../../hooks/useApi/useApi.js');
10
10
  var generateTypes = require('../../../utils/generateTypes/generateTypes.js');
11
11
 
12
12
  const dts = () => {
13
- const { path } = jsx.useProps();
13
+ const { namespace = process.env.INNET_DTS_NAMESPACE, path = process.env.INNET_DTS_PATH || 'src/apiTypes.d.ts', } = jsx.useProps() || {};
14
14
  const { docs } = useApi.useApi();
15
- fs.promises.writeFile(path, generateTypes.generateTypes(docs)).catch(e => {
15
+ fs.promises.writeFile(path, generateTypes.generateTypes(docs, namespace)).catch(e => {
16
16
  console.error(e);
17
17
  });
18
18
  };
@@ -0,0 +1,7 @@
1
+ import { type HandlerPlugin } from 'innet';
2
+ export interface EnvProps {
3
+ children?: any;
4
+ is: string | string[];
5
+ of?: string;
6
+ }
7
+ export declare const env: HandlerPlugin;
@@ -0,0 +1,11 @@
1
+ import innet, { useHandler } from 'innet';
2
+ import { useProps } from '@innet/jsx';
3
+
4
+ const env = () => {
5
+ const { children, is, of = 'NODE_ENV', } = useProps();
6
+ if (Array.isArray(is) ? is.includes(process.env[of]) : process.env[of] === is) {
7
+ innet(children, useHandler());
8
+ }
9
+ };
10
+
11
+ export { env };
@@ -9,10 +9,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
11
11
 
12
- const prod = () => {
13
- if (process.env.NODE_ENV === 'production') {
14
- innet__default["default"](jsx.useChildren(), innet.useHandler());
12
+ const env = () => {
13
+ const { children, is, of = 'NODE_ENV', } = jsx.useProps();
14
+ if (Array.isArray(is) ? is.includes(process.env[of]) : process.env[of] === is) {
15
+ innet__default["default"](children, innet.useHandler());
15
16
  }
16
17
  };
17
18
 
18
- exports.prod = prod;
19
+ exports.env = env;
@@ -0,0 +1 @@
1
+ export * from './env';
@@ -0,0 +1 @@
1
+ export { env } from './env.es6.js';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var dev = require('./dev.js');
5
+ var env = require('./env.js');
6
6
 
7
7
 
8
8
 
9
- exports.dev = dev.dev;
9
+ exports.env = env.env;
@@ -1,5 +1,6 @@
1
1
  export * from './swagger';
2
2
  export * from './dts';
3
- export * from './dev';
4
- export * from './prod';
3
+ export * from './env';
5
4
  export * from './protection';
5
+ export * from './blacklist';
6
+ export * from './whitelist';
@@ -1,5 +1,6 @@
1
1
  import './swagger/index.es6.js';
2
2
  import './dts/index.es6.js';
3
- import './dev/index.es6.js';
4
- import './prod/index.es6.js';
3
+ import './env/index.es6.js';
5
4
  import './protection/index.es6.js';
5
+ import './blacklist/index.es6.js';
6
+ import './whitelist/index.es6.js';
@@ -2,7 +2,8 @@
2
2
 
3
3
  require('./swagger/index.js');
4
4
  require('./dts/index.js');
5
- require('./dev/index.js');
6
- require('./prod/index.js');
5
+ require('./env/index.js');
7
6
  require('./protection/index.js');
7
+ require('./blacklist/index.js');
8
+ require('./whitelist/index.js');
8
9
 
@@ -1,9 +1,9 @@
1
1
  export interface ProtectionProps {
2
- html: string;
3
- value?: string;
4
- maxAge?: number;
5
- excludeIp?: string | string[];
2
+ children?: any;
6
3
  cookieKey?: string;
4
+ excludeIp?: string | string[];
5
+ maxAge?: number;
7
6
  searchKey?: string;
7
+ value?: string;
8
8
  }
9
9
  export declare function protection(): void;
@@ -1,37 +1,34 @@
1
1
  import { useProps } from '@innet/jsx';
2
2
  import '../../../hooks/index.es6.js';
3
- import { useRequestPlugin } from '../../../hooks/useRequestPlugin/useRequestPlugin.es6.js';
3
+ import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
4
+ import { useAction } from '../../../hooks/useAction/useAction.es6.js';
4
5
 
5
6
  function protection() {
6
- const { html, maxAge = Number(process.env.PROTECTION_MAX_AGE) || 365 * 24 * 60 * 60, value = process.env.PROTECTION, excludeIp = process.env.PROTECTED_IP, cookieKey = process.env.PROTECTION_COOKIE_KEY || 'protection', searchKey = process.env.PROTECTION_SEARCH_KEY || 'protection', } = useProps();
7
+ const { children, cookieKey = process.env.INNET_PROTECTION_COOKIE_KEY || 'protection', excludeIp = process.env.INNET_PROTECTED_IP, maxAge = Number(process.env.INNET_PROTECTION_MAX_AGE) || 365 * 24 * 60 * 60, searchKey = process.env.INNET_PROTECTION_SEARCH_KEY || 'protection', value = process.env.INNET_PROTECTION, } = useProps();
7
8
  if (!value)
8
9
  return;
9
10
  const excludeIps = Array.isArray(excludeIp) ? excludeIp : excludeIp === null || excludeIp === void 0 ? void 0 : excludeIp.split(',');
10
- useRequestPlugin(action => {
11
- if (!action.clientIp) {
12
- action.res.write(html);
13
- action.res.end();
14
- return true;
15
- }
11
+ useServerPlugin(() => {
12
+ const action = useAction();
13
+ if (!action.clientIp)
14
+ return children;
16
15
  if (excludeIps === null || excludeIps === void 0 ? void 0 : excludeIps.includes(action.clientIp))
17
- return false;
16
+ return;
18
17
  const { [cookieKey]: cookieProtection } = action.cookies;
19
18
  if (cookieProtection && cookieProtection === value)
20
- return false;
19
+ return;
21
20
  const { [searchKey]: searchProtection } = action.search;
22
21
  if (searchProtection && searchProtection === value) {
23
22
  action.setCookie(cookieKey, value, {
24
- maxAge,
25
23
  httpOnly: true,
26
- secure: true,
24
+ maxAge,
27
25
  path: '/',
26
+ secure: true,
28
27
  });
29
- return false;
28
+ return;
30
29
  }
31
30
  action.setCookie(cookieKey);
32
- action.res.write(html);
33
- action.res.end();
34
- return true;
31
+ return children;
35
32
  });
36
33
  }
37
34