@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
@@ -10,8 +10,8 @@ require('../parseBody/index.js');
10
10
  require('../parseFormBody/index.js');
11
11
  require('../parseSearch/index.js');
12
12
  var constants = require('../../constants.js');
13
- var parseSearch = require('../parseSearch/parseSearch.js');
14
13
  var parseFormBody = require('../parseFormBody/parseFormBody.js');
14
+ var parseSearch = require('../parseSearch/parseSearch.js');
15
15
  var parseBody = require('../parseBody/parseBody.js');
16
16
  var once = require('../decorators/once/once.js');
17
17
 
@@ -21,82 +21,21 @@ var cookieLib__default = /*#__PURE__*/_interopDefaultLegacy(cookieLib);
21
21
 
22
22
  const URL_PARSER = /^(?<path>[^?]+)(\?(?<search>.*))?/;
23
23
  let Action = (() => {
24
- var _a, _Action_search, _Action_headers, _Action_cookie;
24
+ var _a, _Action_cookie, _Action_headers, _Action_search;
25
25
  let _instanceExtraInitializers = [];
26
- let _get_parsedUrl_decorators;
27
- let _get_originSearch_decorators;
28
- let _get_originCookies_decorators;
29
- let _get_bodyType_decorators;
30
26
  let _parseBody_decorators;
27
+ let _get_bodyType_decorators;
31
28
  let _get_clientIp_decorators;
29
+ let _get_originCookies_decorators;
30
+ let _get_originSearch_decorators;
31
+ let _get_parsedUrl_decorators;
32
32
  return _a = class Action {
33
33
  constructor(req, res) {
34
34
  this.req = (tslib.__runInitializers(this, _instanceExtraInitializers), req);
35
35
  this.res = res;
36
- _Action_search.set(this, void 0);
37
- _Action_headers.set(this, {});
38
36
  _Action_cookie.set(this, {});
39
- }
40
- get parsedUrl() {
41
- var _a;
42
- const match = (_a = this.req.url) === null || _a === void 0 ? void 0 : _a.match(URL_PARSER);
43
- if (!match)
44
- throw Error('cannot parse url');
45
- const result = match.groups;
46
- result.path = result.path
47
- .replaceAll(/\/\.\.\//g, '/')
48
- .replaceAll(/\/+/g, '/');
49
- return result;
50
- }
51
- get path() {
52
- return this.parsedUrl.path;
53
- }
54
- get originSearch() {
55
- return parseSearch.parseSearch(this.parsedUrl.search);
56
- }
57
- get search() {
58
- if (tslib.__classPrivateFieldGet(this, _Action_search, "f"))
59
- return tslib.__classPrivateFieldGet(this, _Action_search, "f");
60
- tslib.__classPrivateFieldSet(this, _Action_search, this.originSearch, "f");
61
- return tslib.__classPrivateFieldGet(this, _Action_search, "f");
62
- }
63
- set search(value) {
64
- tslib.__classPrivateFieldSet(this, _Action_search, value, "f");
65
- }
66
- get originHeaders() {
67
- return this.req.headers;
68
- }
69
- get headers() {
70
- if (tslib.__classPrivateFieldGet(this, _Action_headers, "f"))
71
- return tslib.__classPrivateFieldGet(this, _Action_headers, "f");
72
- tslib.__classPrivateFieldSet(this, _Action_headers, this.originHeaders, "f");
73
- return tslib.__classPrivateFieldGet(this, _Action_headers, "f");
74
- }
75
- set headers(value) {
76
- tslib.__classPrivateFieldSet(this, _Action_headers, value, "f");
77
- }
78
- get originCookies() {
79
- var _a;
80
- return cookieLib__default["default"].parse((_a = this.req.headers.cookie) !== null && _a !== void 0 ? _a : '');
81
- }
82
- get cookies() {
83
- if (tslib.__classPrivateFieldGet(this, _Action_cookie, "f"))
84
- return tslib.__classPrivateFieldGet(this, _Action_cookie, "f");
85
- tslib.__classPrivateFieldSet(this, _Action_cookie, this.originCookies, "f");
86
- return tslib.__classPrivateFieldGet(this, _Action_cookie, "f");
87
- }
88
- set cookies(value) {
89
- tslib.__classPrivateFieldSet(this, _Action_cookie, value, "f");
90
- }
91
- get bodyType() {
92
- const headerType = this.req.headers['content-type'];
93
- if (!headerType)
94
- return;
95
- for (const bodyType of constants.allBodyTypes) {
96
- if (headerType.startsWith(bodyType)) {
97
- return bodyType;
98
- }
99
- }
37
+ _Action_headers.set(this, {});
38
+ _Action_search.set(this, void 0);
100
39
  }
101
40
  parseBody() {
102
41
  return tslib.__awaiter(this, void 0, void 0, function* () {
@@ -128,26 +67,89 @@ let Action = (() => {
128
67
  }
129
68
  this.res.setHeader('Set-Cookie', cookies);
130
69
  }
70
+ get bodyType() {
71
+ const headerType = this.req.headers['content-type'];
72
+ if (!headerType)
73
+ return;
74
+ for (const bodyType of constants.allBodyTypes) {
75
+ if (headerType.startsWith(bodyType)) {
76
+ return bodyType;
77
+ }
78
+ }
79
+ }
131
80
  get clientIp() {
132
81
  return requestIp.getClientIp(this.req);
133
82
  }
83
+ get cookies() {
84
+ if (tslib.__classPrivateFieldGet(this, _Action_cookie, "f"))
85
+ return tslib.__classPrivateFieldGet(this, _Action_cookie, "f");
86
+ tslib.__classPrivateFieldSet(this, _Action_cookie, this.originCookies, "f");
87
+ return tslib.__classPrivateFieldGet(this, _Action_cookie, "f");
88
+ }
89
+ set cookies(value) {
90
+ tslib.__classPrivateFieldSet(this, _Action_cookie, value, "f");
91
+ }
92
+ get headers() {
93
+ if (tslib.__classPrivateFieldGet(this, _Action_headers, "f"))
94
+ return tslib.__classPrivateFieldGet(this, _Action_headers, "f");
95
+ tslib.__classPrivateFieldSet(this, _Action_headers, this.originHeaders, "f");
96
+ return tslib.__classPrivateFieldGet(this, _Action_headers, "f");
97
+ }
98
+ set headers(value) {
99
+ tslib.__classPrivateFieldSet(this, _Action_headers, value, "f");
100
+ }
101
+ get originCookies() {
102
+ var _b;
103
+ return cookieLib__default["default"].parse((_b = this.req.headers.cookie) !== null && _b !== void 0 ? _b : '');
104
+ }
105
+ get originHeaders() {
106
+ return this.req.headers;
107
+ }
108
+ get originSearch() {
109
+ return parseSearch.parseSearch(this.parsedUrl.search);
110
+ }
111
+ get parsedUrl() {
112
+ var _b;
113
+ const match = (_b = this.req.url) === null || _b === void 0 ? void 0 : _b.match(URL_PARSER);
114
+ if (!match)
115
+ throw Error('cannot parse url');
116
+ const result = match.groups;
117
+ result.path = result.path
118
+ .replaceAll(/\/\.\.\//g, '/')
119
+ .replaceAll(/\/+/g, '/');
120
+ return result;
121
+ }
122
+ get path() {
123
+ return this.parsedUrl.path;
124
+ }
125
+ get search() {
126
+ if (tslib.__classPrivateFieldGet(this, _Action_search, "f"))
127
+ return tslib.__classPrivateFieldGet(this, _Action_search, "f");
128
+ tslib.__classPrivateFieldSet(this, _Action_search, this.originSearch, "f");
129
+ return tslib.__classPrivateFieldGet(this, _Action_search, "f");
130
+ }
131
+ set search(value) {
132
+ tslib.__classPrivateFieldSet(this, _Action_search, value, "f");
133
+ }
134
134
  },
135
- _Action_search = new WeakMap(),
136
- _Action_headers = new WeakMap(),
137
135
  _Action_cookie = new WeakMap(),
136
+ _Action_headers = new WeakMap(),
137
+ _Action_search = new WeakMap(),
138
138
  (() => {
139
- _get_parsedUrl_decorators = [once.once];
140
- _get_originSearch_decorators = [once.once];
141
- _get_originCookies_decorators = [once.once];
142
- _get_bodyType_decorators = [once.once];
139
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
143
140
  _parseBody_decorators = [once.once];
141
+ _get_bodyType_decorators = [once.once];
144
142
  _get_clientIp_decorators = [once.once];
145
- tslib.__esDecorate(_a, null, _get_parsedUrl_decorators, { kind: "getter", name: "parsedUrl", static: false, private: false, access: { has: obj => "parsedUrl" in obj, get: obj => obj.parsedUrl } }, null, _instanceExtraInitializers);
146
- tslib.__esDecorate(_a, null, _get_originSearch_decorators, { kind: "getter", name: "originSearch", static: false, private: false, access: { has: obj => "originSearch" in obj, get: obj => obj.originSearch } }, null, _instanceExtraInitializers);
147
- tslib.__esDecorate(_a, null, _get_originCookies_decorators, { kind: "getter", name: "originCookies", static: false, private: false, access: { has: obj => "originCookies" in obj, get: obj => obj.originCookies } }, null, _instanceExtraInitializers);
148
- tslib.__esDecorate(_a, null, _get_bodyType_decorators, { kind: "getter", name: "bodyType", static: false, private: false, access: { has: obj => "bodyType" in obj, get: obj => obj.bodyType } }, null, _instanceExtraInitializers);
149
- tslib.__esDecorate(_a, null, _parseBody_decorators, { kind: "method", name: "parseBody", static: false, private: false, access: { has: obj => "parseBody" in obj, get: obj => obj.parseBody } }, null, _instanceExtraInitializers);
150
- tslib.__esDecorate(_a, null, _get_clientIp_decorators, { kind: "getter", name: "clientIp", static: false, private: false, access: { has: obj => "clientIp" in obj, get: obj => obj.clientIp } }, null, _instanceExtraInitializers);
143
+ _get_originCookies_decorators = [once.once];
144
+ _get_originSearch_decorators = [once.once];
145
+ _get_parsedUrl_decorators = [once.once];
146
+ tslib.__esDecorate(_a, null, _parseBody_decorators, { kind: "method", name: "parseBody", static: false, private: false, access: { has: obj => "parseBody" in obj, get: obj => obj.parseBody }, metadata: _metadata }, null, _instanceExtraInitializers);
147
+ tslib.__esDecorate(_a, null, _get_bodyType_decorators, { kind: "getter", name: "bodyType", static: false, private: false, access: { has: obj => "bodyType" in obj, get: obj => obj.bodyType }, metadata: _metadata }, null, _instanceExtraInitializers);
148
+ tslib.__esDecorate(_a, null, _get_clientIp_decorators, { kind: "getter", name: "clientIp", static: false, private: false, access: { has: obj => "clientIp" in obj, get: obj => obj.clientIp }, metadata: _metadata }, null, _instanceExtraInitializers);
149
+ tslib.__esDecorate(_a, null, _get_originCookies_decorators, { kind: "getter", name: "originCookies", static: false, private: false, access: { has: obj => "originCookies" in obj, get: obj => obj.originCookies }, metadata: _metadata }, null, _instanceExtraInitializers);
150
+ tslib.__esDecorate(_a, null, _get_originSearch_decorators, { kind: "getter", name: "originSearch", static: false, private: false, access: { has: obj => "originSearch" in obj, get: obj => obj.originSearch }, metadata: _metadata }, null, _instanceExtraInitializers);
151
+ tslib.__esDecorate(_a, null, _get_parsedUrl_decorators, { kind: "getter", name: "parsedUrl", static: false, private: false, access: { has: obj => "parsedUrl" in obj, get: obj => obj.parsedUrl }, metadata: _metadata }, null, _instanceExtraInitializers);
152
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
151
153
  })(),
152
154
  _a;
153
155
  })();
@@ -1,2 +1,2 @@
1
- export type DateFormat = 'now' | string | number | Date;
1
+ export type DateFormat = 'now' | Date | number | string;
2
2
  export declare function dateFormat(date?: DateFormat): Date | undefined;
@@ -3,7 +3,7 @@ function dateFormat(date) {
3
3
  return;
4
4
  if (date === 'now')
5
5
  return new Date();
6
- if (['string', 'number'].includes(typeof date))
6
+ if (['number', 'string'].includes(typeof date))
7
7
  return new Date(date);
8
8
  return date;
9
9
  }
@@ -7,7 +7,7 @@ function dateFormat(date) {
7
7
  return;
8
8
  if (date === 'now')
9
9
  return new Date();
10
- if (['string', 'number'].includes(typeof date))
10
+ if (['number', 'string'].includes(typeof date))
11
11
  return new Date(date);
12
12
  return date;
13
13
  }
@@ -17,7 +17,7 @@ function once(target, context) {
17
17
  : function once() {
18
18
  // @ts-expect-error: FIXME
19
19
  const map = getCacheObject(this);
20
- if (map[context.name]) {
20
+ if (context.name in map) {
21
21
  return map[context.name];
22
22
  }
23
23
  // @ts-expect-error: FIXME
@@ -21,7 +21,7 @@ function once(target, context) {
21
21
  : function once() {
22
22
  // @ts-expect-error: FIXME
23
23
  const map = getCacheObject(this);
24
- if (map[context.name]) {
24
+ if (context.name in map) {
25
25
  return map[context.name];
26
26
  }
27
27
  // @ts-expect-error: FIXME
@@ -1,3 +1,3 @@
1
1
  import { type Document, type SchemaObject } from '../../types';
2
- export declare function generateSchemaTypes(schema: SchemaObject, spaces?: number): string;
3
- export declare function generateTypes(docs: Document): string;
2
+ export declare function generateSchemaTypes(schema: SchemaObject, spaces?: number, lastChar?: string): string;
3
+ export declare function generateTypes(docs: Document, namespace?: string): string;
@@ -1,49 +1,87 @@
1
1
  function hasDefault(target) {
2
2
  return Boolean(target && ('default' in target || 'x-default' in target));
3
3
  }
4
- function generateSchemaTypes(schema, spaces = 2) {
4
+ function generateSchemaTypes(schema, spaces = 2, lastChar = '\n') {
5
5
  const space = [...new Array(spaces)].map(() => ' ').join('');
6
6
  if ('$ref' in schema) {
7
- return `Schemas.${schema.$ref.slice(21)}\n`;
7
+ return `Schemas.${schema.$ref.slice(21)}${lastChar}`;
8
8
  }
9
9
  if (schema.type === 'integer') {
10
- return `${schema.format === 'int64' ? 'bigint' : 'number'}\n`;
10
+ return `${schema.format === 'int64' ? 'bigint' : 'number'}${lastChar}`;
11
11
  }
12
12
  if (schema.type === 'string') {
13
13
  if (schema.format === 'date-time') {
14
- return 'Date\n';
14
+ return `Date${lastChar}`;
15
15
  }
16
16
  if (schema.format === 'binary') {
17
- return 'Bin\n';
17
+ return `Bin${lastChar}`;
18
18
  }
19
- return 'string\n';
19
+ return `string${lastChar}`;
20
20
  }
21
- if (['boolean', 'number', 'null'].includes(schema.type)) {
22
- return `${schema.type}\n`;
21
+ if (['boolean', 'null', 'number'].includes(schema.type)) {
22
+ return `${schema.type}${lastChar}`;
23
+ }
24
+ if (schema.oneOf) {
25
+ let result = '';
26
+ for (const item of schema.oneOf) {
27
+ if (result) {
28
+ result += ' | ';
29
+ }
30
+ result += generateSchemaTypes(item, spaces + 2, '');
31
+ }
32
+ return result + lastChar;
23
33
  }
24
34
  if (schema.type === 'array') {
25
35
  if (!schema.items)
26
- return 'any[]\n';
27
- return `(${generateSchemaTypes(schema.items, spaces + 2).slice(0, -1)})[]\n`;
36
+ return `any[]${lastChar}`;
37
+ return `Array<${generateSchemaTypes(schema.items, spaces + 2, '')}>${lastChar}`;
38
+ }
39
+ if (!schema.type) {
40
+ return `any${lastChar}`;
28
41
  }
29
42
  if (schema.type !== 'object') {
30
43
  console.error('unknown type', schema);
31
- return 'any\n';
44
+ return `any${lastChar}`;
32
45
  }
33
46
  let result = '{\n';
34
47
  const required = schema.required || [];
35
- for (const key in schema.properties) {
36
- const prop = schema.properties[key];
37
- const splitter = required.includes(key) || hasDefault(prop)
38
- ? ':'
39
- : '?:';
40
- result += `${space}${key}${splitter} ${generateSchemaTypes(prop, spaces + 2)}`;
48
+ const hasProps = Boolean(schema.properties && Object.keys(schema.properties).length);
49
+ const hasRestProps = Boolean(typeof schema.additionalProperties === 'object' &&
50
+ Object.keys(schema.additionalProperties).length);
51
+ if (hasProps) {
52
+ for (const key in schema.properties) {
53
+ const prop = schema.properties[key];
54
+ const splitter = required.includes(key) || hasDefault(prop)
55
+ ? ':'
56
+ : '?:';
57
+ if ('deprecated' in prop && prop.deprecated) {
58
+ result += `${space}/** @deprecated */\n`;
59
+ }
60
+ result += `${space}${key}${splitter} ${generateSchemaTypes(prop, spaces + 2)}`;
61
+ }
62
+ }
63
+ if (hasRestProps) {
64
+ const value = hasProps
65
+ ? 'any\n'
66
+ : generateSchemaTypes(schema.additionalProperties, spaces + 2);
67
+ result += `${space}[key: string]: ${value}`;
41
68
  }
42
- return `${result}${space.slice(0, -2)}}\n`;
69
+ return `${result}${space.slice(0, -2)}}${lastChar}`;
43
70
  }
44
- function generateTypes(docs) {
71
+ function generateTypes(docs, namespace = 'Api') {
45
72
  var _a;
46
- let result = 'declare namespace Api {\n export interface Bin {\n filename: string\n fieldName: string\n originalFilename: string\n path: string\n type: string\n disposition: string\n size: number\n extension?: string\n }\n';
73
+ let result = `declare namespace ${namespace} {
74
+ export interface Bin {
75
+ filename: string
76
+ fieldName: string
77
+ originalFilename: string
78
+ path: string
79
+ type: string
80
+ disposition: string
81
+ size: number
82
+ extension?: string
83
+ }
84
+ `;
47
85
  const schemas = (_a = docs.components) === null || _a === void 0 ? void 0 : _a.schemas;
48
86
  const paths = docs.paths;
49
87
  if (schemas) {
@@ -62,16 +100,19 @@ function generateTypes(docs) {
62
100
  const parameters = endpoint.parameters;
63
101
  const requestBody = endpoint.requestBody;
64
102
  const responses = endpoint.responses;
103
+ if (endpoint.deprecated) {
104
+ result += ' /** @deprecated */\n';
105
+ }
65
106
  result += ` ['${method.toUpperCase()}:${path}']: {\n`;
66
107
  if (parameters) {
67
108
  const params = {
68
- query: '',
109
+ cookie: '',
69
110
  header: '',
70
111
  path: '',
71
- cookie: '',
112
+ query: '',
72
113
  };
73
114
  for (const param of parameters) {
74
- const splitter = param.in === 'path' || hasDefault(param.schema) ? ':' : '?:';
115
+ const splitter = param.in === 'path' || hasDefault(param.schema) || param.required ? ':' : '?:';
75
116
  params[param.in] += ` ${param.name}${splitter} ${generateSchemaTypes(param.schema)}`;
76
117
  }
77
118
  if (params.path) {
@@ -90,8 +131,27 @@ function generateTypes(docs) {
90
131
  if (requestBody) {
91
132
  result += ` Body: ${generateSchemaTypes(requestBody.content['multipart/form-data'].schema, 8)}`;
92
133
  }
93
- if (responses === null || responses === void 0 ? void 0 : responses.default) {
94
- result += ` Response: ${generateSchemaTypes(responses.default.content['application/json'].schema, 8)}`;
134
+ if (responses) {
135
+ result += ' Response: {\n';
136
+ for (const key in responses) {
137
+ let multiple = false;
138
+ const response = responses[key];
139
+ result += ` ['${key}']: `;
140
+ if (!response.content) {
141
+ result += 'void';
142
+ }
143
+ else {
144
+ for (const type in response.content) {
145
+ if (multiple) {
146
+ result += ' | ';
147
+ }
148
+ result += generateSchemaTypes(response.content[type].schema, 10, '');
149
+ multiple = true;
150
+ }
151
+ }
152
+ result += '\n';
153
+ }
154
+ result += ' }\n';
95
155
  }
96
156
  result += ' }\n';
97
157
  }
@@ -5,49 +5,87 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  function hasDefault(target) {
6
6
  return Boolean(target && ('default' in target || 'x-default' in target));
7
7
  }
8
- function generateSchemaTypes(schema, spaces = 2) {
8
+ function generateSchemaTypes(schema, spaces = 2, lastChar = '\n') {
9
9
  const space = [...new Array(spaces)].map(() => ' ').join('');
10
10
  if ('$ref' in schema) {
11
- return `Schemas.${schema.$ref.slice(21)}\n`;
11
+ return `Schemas.${schema.$ref.slice(21)}${lastChar}`;
12
12
  }
13
13
  if (schema.type === 'integer') {
14
- return `${schema.format === 'int64' ? 'bigint' : 'number'}\n`;
14
+ return `${schema.format === 'int64' ? 'bigint' : 'number'}${lastChar}`;
15
15
  }
16
16
  if (schema.type === 'string') {
17
17
  if (schema.format === 'date-time') {
18
- return 'Date\n';
18
+ return `Date${lastChar}`;
19
19
  }
20
20
  if (schema.format === 'binary') {
21
- return 'Bin\n';
21
+ return `Bin${lastChar}`;
22
22
  }
23
- return 'string\n';
23
+ return `string${lastChar}`;
24
24
  }
25
- if (['boolean', 'number', 'null'].includes(schema.type)) {
26
- return `${schema.type}\n`;
25
+ if (['boolean', 'null', 'number'].includes(schema.type)) {
26
+ return `${schema.type}${lastChar}`;
27
+ }
28
+ if (schema.oneOf) {
29
+ let result = '';
30
+ for (const item of schema.oneOf) {
31
+ if (result) {
32
+ result += ' | ';
33
+ }
34
+ result += generateSchemaTypes(item, spaces + 2, '');
35
+ }
36
+ return result + lastChar;
27
37
  }
28
38
  if (schema.type === 'array') {
29
39
  if (!schema.items)
30
- return 'any[]\n';
31
- return `(${generateSchemaTypes(schema.items, spaces + 2).slice(0, -1)})[]\n`;
40
+ return `any[]${lastChar}`;
41
+ return `Array<${generateSchemaTypes(schema.items, spaces + 2, '')}>${lastChar}`;
42
+ }
43
+ if (!schema.type) {
44
+ return `any${lastChar}`;
32
45
  }
33
46
  if (schema.type !== 'object') {
34
47
  console.error('unknown type', schema);
35
- return 'any\n';
48
+ return `any${lastChar}`;
36
49
  }
37
50
  let result = '{\n';
38
51
  const required = schema.required || [];
39
- for (const key in schema.properties) {
40
- const prop = schema.properties[key];
41
- const splitter = required.includes(key) || hasDefault(prop)
42
- ? ':'
43
- : '?:';
44
- result += `${space}${key}${splitter} ${generateSchemaTypes(prop, spaces + 2)}`;
52
+ const hasProps = Boolean(schema.properties && Object.keys(schema.properties).length);
53
+ const hasRestProps = Boolean(typeof schema.additionalProperties === 'object' &&
54
+ Object.keys(schema.additionalProperties).length);
55
+ if (hasProps) {
56
+ for (const key in schema.properties) {
57
+ const prop = schema.properties[key];
58
+ const splitter = required.includes(key) || hasDefault(prop)
59
+ ? ':'
60
+ : '?:';
61
+ if ('deprecated' in prop && prop.deprecated) {
62
+ result += `${space}/** @deprecated */\n`;
63
+ }
64
+ result += `${space}${key}${splitter} ${generateSchemaTypes(prop, spaces + 2)}`;
65
+ }
66
+ }
67
+ if (hasRestProps) {
68
+ const value = hasProps
69
+ ? 'any\n'
70
+ : generateSchemaTypes(schema.additionalProperties, spaces + 2);
71
+ result += `${space}[key: string]: ${value}`;
45
72
  }
46
- return `${result}${space.slice(0, -2)}}\n`;
73
+ return `${result}${space.slice(0, -2)}}${lastChar}`;
47
74
  }
48
- function generateTypes(docs) {
75
+ function generateTypes(docs, namespace = 'Api') {
49
76
  var _a;
50
- let result = 'declare namespace Api {\n export interface Bin {\n filename: string\n fieldName: string\n originalFilename: string\n path: string\n type: string\n disposition: string\n size: number\n extension?: string\n }\n';
77
+ let result = `declare namespace ${namespace} {
78
+ export interface Bin {
79
+ filename: string
80
+ fieldName: string
81
+ originalFilename: string
82
+ path: string
83
+ type: string
84
+ disposition: string
85
+ size: number
86
+ extension?: string
87
+ }
88
+ `;
51
89
  const schemas = (_a = docs.components) === null || _a === void 0 ? void 0 : _a.schemas;
52
90
  const paths = docs.paths;
53
91
  if (schemas) {
@@ -66,16 +104,19 @@ function generateTypes(docs) {
66
104
  const parameters = endpoint.parameters;
67
105
  const requestBody = endpoint.requestBody;
68
106
  const responses = endpoint.responses;
107
+ if (endpoint.deprecated) {
108
+ result += ' /** @deprecated */\n';
109
+ }
69
110
  result += ` ['${method.toUpperCase()}:${path}']: {\n`;
70
111
  if (parameters) {
71
112
  const params = {
72
- query: '',
113
+ cookie: '',
73
114
  header: '',
74
115
  path: '',
75
- cookie: '',
116
+ query: '',
76
117
  };
77
118
  for (const param of parameters) {
78
- const splitter = param.in === 'path' || hasDefault(param.schema) ? ':' : '?:';
119
+ const splitter = param.in === 'path' || hasDefault(param.schema) || param.required ? ':' : '?:';
79
120
  params[param.in] += ` ${param.name}${splitter} ${generateSchemaTypes(param.schema)}`;
80
121
  }
81
122
  if (params.path) {
@@ -94,8 +135,27 @@ function generateTypes(docs) {
94
135
  if (requestBody) {
95
136
  result += ` Body: ${generateSchemaTypes(requestBody.content['multipart/form-data'].schema, 8)}`;
96
137
  }
97
- if (responses === null || responses === void 0 ? void 0 : responses.default) {
98
- result += ` Response: ${generateSchemaTypes(responses.default.content['application/json'].schema, 8)}`;
138
+ if (responses) {
139
+ result += ' Response: {\n';
140
+ for (const key in responses) {
141
+ let multiple = false;
142
+ const response = responses[key];
143
+ result += ` ['${key}']: `;
144
+ if (!response.content) {
145
+ result += 'void';
146
+ }
147
+ else {
148
+ for (const type in response.content) {
149
+ if (multiple) {
150
+ result += ' | ';
151
+ }
152
+ result += generateSchemaTypes(response.content[type].schema, 10, '');
153
+ multiple = true;
154
+ }
155
+ }
156
+ result += '\n';
157
+ }
158
+ result += ' }\n';
99
159
  }
100
160
  result += ' }\n';
101
161
  }
@@ -8,7 +8,7 @@ function getEndpoint(path, parentEndpoint) {
8
8
  parentEndpoint.static = {};
9
9
  }
10
10
  if (!parentEndpoint.static[key]) {
11
- parentEndpoint.static[key] = { key };
11
+ parentEndpoint.static[key] = { key, plugins: new Set() };
12
12
  }
13
13
  parentEndpoint = parentEndpoint.static[key];
14
14
  if (deep + 1 === splitPath.length) {
@@ -19,7 +19,7 @@ function getEndpoint(path, parentEndpoint) {
19
19
  if (!parentEndpoint.dynamic) {
20
20
  parentEndpoint.dynamic = [];
21
21
  }
22
- const newEndpoint = { key };
22
+ const newEndpoint = { key, plugins: new Set() };
23
23
  parentEndpoint.dynamic.push(newEndpoint);
24
24
  parentEndpoint = newEndpoint;
25
25
  if (deep + 1 === splitPath.length) {
@@ -12,7 +12,7 @@ function getEndpoint(path, parentEndpoint) {
12
12
  parentEndpoint.static = {};
13
13
  }
14
14
  if (!parentEndpoint.static[key]) {
15
- parentEndpoint.static[key] = { key };
15
+ parentEndpoint.static[key] = { key, plugins: new Set() };
16
16
  }
17
17
  parentEndpoint = parentEndpoint.static[key];
18
18
  if (deep + 1 === splitPath.length) {
@@ -23,7 +23,7 @@ function getEndpoint(path, parentEndpoint) {
23
23
  if (!parentEndpoint.dynamic) {
24
24
  parentEndpoint.dynamic = [];
25
25
  }
26
- const newEndpoint = { key };
26
+ const newEndpoint = { key, plugins: new Set() };
27
27
  parentEndpoint.dynamic.push(newEndpoint);
28
28
  parentEndpoint = newEndpoint;
29
29
  if (deep + 1 === splitPath.length) {
@@ -1 +1 @@
1
- export declare function getOrAdd<R = any>(target: object, path: string | number, defaultValues: any[]): R;
1
+ export declare function getOrAdd<R = any>(target: object, path: number | string, defaultValues: any[]): R;
@@ -1,2 +1,2 @@
1
1
  import { type ServerStartParams } from '../../types';
2
- export declare function httpOnStart({ port, https }: ServerStartParams): void;
2
+ export declare function httpOnStart({ https, port, }: ServerStartParams): void;
@@ -1,4 +1,4 @@
1
- function httpOnStart({ port, https }) {
1
+ function httpOnStart({ https, port, }) {
2
2
  console.log(`http${https ? 's' : ''}://localhost:${port}`);
3
3
  }
4
4
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function httpOnStart({ port, https }) {
5
+ function httpOnStart({ https, port, }) {
6
6
  console.log(`http${https ? 's' : ''}://localhost:${port}`);
7
7
  }
8
8
 
@@ -24,8 +24,8 @@ function binaryAccept(accept) {
24
24
  continue;
25
25
  return value;
26
26
  }
27
- throw new RulesError('binaryAccept', Object.assign({ value,
28
- accept }, data));
27
+ throw new RulesError('binaryAccept', Object.assign({ accept,
28
+ value }, data));
29
29
  };
30
30
  }
31
31