@n1k1t/mock-server 0.2.3 → 1.0.0

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 (416) hide show
  1. package/README.md +583 -1013
  2. package/README.old.md +1255 -0
  3. package/lib/package.json +17 -7
  4. package/lib/src/client/helpers/expectations.d.ts +18 -86
  5. package/lib/src/client/helpers/expectations.d.ts.map +1 -1
  6. package/lib/src/client/helpers/expectations.js.map +1 -1
  7. package/lib/src/client/methods/expectations-group.update.method.js +1 -1
  8. package/lib/src/client/methods/expectations-group.update.method.js.map +1 -1
  9. package/lib/src/client/methods/expectations.create.method.js +1 -1
  10. package/lib/src/client/methods/expectations.create.method.js.map +1 -1
  11. package/lib/src/client/methods/expectations.delete.method.js +1 -1
  12. package/lib/src/client/methods/expectations.delete.method.js.map +1 -1
  13. package/lib/src/client/methods/expectations.update.method.js +1 -1
  14. package/lib/src/client/methods/expectations.update.method.js.map +1 -1
  15. package/lib/src/client/methods/ping.method.js +1 -1
  16. package/lib/src/client/methods/ping.method.js.map +1 -1
  17. package/lib/src/client/methods/providers.create.method.js +1 -1
  18. package/lib/src/client/methods/providers.create.method.js.map +1 -1
  19. package/lib/src/client/methods/providers.delete.method.js +1 -1
  20. package/lib/src/client/methods/providers.delete.method.js.map +1 -1
  21. package/lib/src/client/models/client.d.ts +12 -10
  22. package/lib/src/client/models/client.d.ts.map +1 -1
  23. package/lib/src/client/models/client.js +6 -4
  24. package/lib/src/client/models/client.js.map +1 -1
  25. package/lib/src/client/models/types.d.ts +5 -24
  26. package/lib/src/client/models/types.d.ts.map +1 -1
  27. package/lib/src/client/models/types.js +0 -2
  28. package/lib/src/client/models/types.js.map +1 -1
  29. package/lib/src/client/onsite.d.ts +3 -3
  30. package/lib/src/client/onsite.d.ts.map +1 -1
  31. package/lib/src/client/onsite.js.map +1 -1
  32. package/lib/src/client/remote.d.ts +5 -5
  33. package/lib/src/client/remote.d.ts.map +1 -1
  34. package/lib/src/client/remote.js.map +1 -1
  35. package/lib/src/client/types.d.ts +8 -5
  36. package/lib/src/client/types.d.ts.map +1 -1
  37. package/lib/src/client/utils.d.ts +1 -1
  38. package/lib/src/client/utils.d.ts.map +1 -1
  39. package/lib/src/client/utils.js.map +1 -1
  40. package/lib/src/config/index.d.ts +11 -1
  41. package/lib/src/config/index.d.ts.map +1 -1
  42. package/lib/src/config/index.js +11 -1
  43. package/lib/src/config/index.js.map +1 -1
  44. package/lib/src/expectations/__utils__/index.d.ts.map +1 -1
  45. package/lib/src/expectations/__utils__/index.js +1 -2
  46. package/lib/src/expectations/__utils__/index.js.map +1 -1
  47. package/lib/src/expectations/models/expectation.d.ts +15 -11
  48. package/lib/src/expectations/models/expectation.d.ts.map +1 -1
  49. package/lib/src/expectations/models/expectation.js +2 -0
  50. package/lib/src/expectations/models/expectation.js.map +1 -1
  51. package/lib/src/expectations/models/operator.d.ts +3 -3
  52. package/lib/src/expectations/models/operator.d.ts.map +1 -1
  53. package/lib/src/expectations/models/operator.js +3 -4
  54. package/lib/src/expectations/models/operator.js.map +1 -1
  55. package/lib/src/expectations/models/storage.d.ts +5 -5
  56. package/lib/src/expectations/models/storage.d.ts.map +1 -1
  57. package/lib/src/expectations/models/storage.js +2 -2
  58. package/lib/src/expectations/models/storage.js.map +1 -1
  59. package/lib/src/expectations/operators/and.operator.d.ts +2 -2
  60. package/lib/src/expectations/operators/and.operator.d.ts.map +1 -1
  61. package/lib/src/expectations/operators/and.operator.js +11 -4
  62. package/lib/src/expectations/operators/and.operator.js.map +1 -1
  63. package/lib/src/expectations/operators/exec.operator.d.ts +3 -3
  64. package/lib/src/expectations/operators/exec.operator.d.ts.map +1 -1
  65. package/lib/src/expectations/operators/exec.operator.js +4 -4
  66. package/lib/src/expectations/operators/exec.operator.js.map +1 -1
  67. package/lib/src/expectations/operators/has.operator.d.ts +3 -3
  68. package/lib/src/expectations/operators/has.operator.d.ts.map +1 -1
  69. package/lib/src/expectations/operators/has.operator.js +7 -6
  70. package/lib/src/expectations/operators/has.operator.js.map +1 -1
  71. package/lib/src/expectations/operators/if.operator.d.ts +2 -2
  72. package/lib/src/expectations/operators/if.operator.d.ts.map +1 -1
  73. package/lib/src/expectations/operators/if.operator.js +11 -6
  74. package/lib/src/expectations/operators/if.operator.js.map +1 -1
  75. package/lib/src/expectations/operators/merge.operator.d.ts +3 -3
  76. package/lib/src/expectations/operators/merge.operator.d.ts.map +1 -1
  77. package/lib/src/expectations/operators/merge.operator.js +17 -13
  78. package/lib/src/expectations/operators/merge.operator.js.map +1 -1
  79. package/lib/src/expectations/operators/not.operator.d.ts +2 -2
  80. package/lib/src/expectations/operators/not.operator.d.ts.map +1 -1
  81. package/lib/src/expectations/operators/not.operator.js +3 -3
  82. package/lib/src/expectations/operators/not.operator.js.map +1 -1
  83. package/lib/src/expectations/operators/or.operator.d.ts +2 -2
  84. package/lib/src/expectations/operators/or.operator.d.ts.map +1 -1
  85. package/lib/src/expectations/operators/or.operator.js +11 -4
  86. package/lib/src/expectations/operators/or.operator.js.map +1 -1
  87. package/lib/src/expectations/operators/remove.operator.d.ts +2 -2
  88. package/lib/src/expectations/operators/remove.operator.d.ts.map +1 -1
  89. package/lib/src/expectations/operators/remove.operator.js +2 -2
  90. package/lib/src/expectations/operators/remove.operator.js.map +1 -1
  91. package/lib/src/expectations/operators/root.operator.d.ts +2 -2
  92. package/lib/src/expectations/operators/root.operator.d.ts.map +1 -1
  93. package/lib/src/expectations/operators/root.operator.js +2 -2
  94. package/lib/src/expectations/operators/root.operator.js.map +1 -1
  95. package/lib/src/expectations/operators/set.operator.d.ts +3 -3
  96. package/lib/src/expectations/operators/set.operator.d.ts.map +1 -1
  97. package/lib/src/expectations/operators/set.operator.js +16 -8
  98. package/lib/src/expectations/operators/set.operator.js.map +1 -1
  99. package/lib/src/expectations/operators/switch.operator.d.ts +3 -3
  100. package/lib/src/expectations/operators/switch.operator.d.ts.map +1 -1
  101. package/lib/src/expectations/operators/switch.operator.js +9 -9
  102. package/lib/src/expectations/operators/switch.operator.js.map +1 -1
  103. package/lib/src/expectations/types.d.ts +44 -49
  104. package/lib/src/expectations/types.d.ts.map +1 -1
  105. package/lib/src/expectations/types.js +0 -1
  106. package/lib/src/expectations/types.js.map +1 -1
  107. package/lib/src/expectations/utils/location.d.ts.map +1 -1
  108. package/lib/src/expectations/utils/location.js +0 -6
  109. package/lib/src/expectations/utils/location.js.map +1 -1
  110. package/lib/src/expectations/utils/schema.d.ts +1 -1
  111. package/lib/src/expectations/utils/schema.d.ts.map +1 -1
  112. package/lib/src/server/endpoints/cache.backup.endpoint.d.ts +14 -20
  113. package/lib/src/server/endpoints/cache.backup.endpoint.d.ts.map +1 -1
  114. package/lib/src/server/endpoints/cache.backup.endpoint.js +6 -6
  115. package/lib/src/server/endpoints/cache.backup.endpoint.js.map +1 -1
  116. package/lib/src/server/endpoints/cache.delete.endpoint.d.ts +13 -29
  117. package/lib/src/server/endpoints/cache.delete.endpoint.d.ts.map +1 -1
  118. package/lib/src/server/endpoints/cache.delete.endpoint.js +6 -6
  119. package/lib/src/server/endpoints/cache.delete.endpoint.js.map +1 -1
  120. package/lib/src/server/endpoints/cache.restore.endpoint.d.ts +13 -31
  121. package/lib/src/server/endpoints/cache.restore.endpoint.d.ts.map +1 -1
  122. package/lib/src/server/endpoints/cache.restore.endpoint.js +12 -7
  123. package/lib/src/server/endpoints/cache.restore.endpoint.js.map +1 -1
  124. package/lib/src/server/endpoints/cache.restore.stream.endpoint.d.ts +14 -27
  125. package/lib/src/server/endpoints/cache.restore.stream.endpoint.d.ts.map +1 -1
  126. package/lib/src/server/endpoints/cache.restore.stream.endpoint.js +4 -4
  127. package/lib/src/server/endpoints/cache.restore.stream.endpoint.js.map +1 -1
  128. package/lib/src/server/endpoints/cache.usage.get.endpoint.d.ts +14 -36
  129. package/lib/src/server/endpoints/cache.usage.get.endpoint.d.ts.map +1 -1
  130. package/lib/src/server/endpoints/cache.usage.get.endpoint.js +5 -5
  131. package/lib/src/server/endpoints/cache.usage.get.endpoint.js.map +1 -1
  132. package/lib/src/server/endpoints/config.get.endpoint.d.ts +18 -43
  133. package/lib/src/server/endpoints/config.get.endpoint.d.ts.map +1 -1
  134. package/lib/src/server/endpoints/config.get.endpoint.js +4 -4
  135. package/lib/src/server/endpoints/config.get.endpoint.js.map +1 -1
  136. package/lib/src/server/endpoints/expectations-group.update.endpoint.d.ts +14 -38
  137. package/lib/src/server/endpoints/expectations-group.update.endpoint.d.ts.map +1 -1
  138. package/lib/src/server/endpoints/expectations-group.update.endpoint.js +4 -4
  139. package/lib/src/server/endpoints/expectations-group.update.endpoint.js.map +1 -1
  140. package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.d.ts +15 -27
  141. package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.d.ts.map +1 -1
  142. package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.js +4 -4
  143. package/lib/src/server/endpoints/expectations.compact.get-list.endpoint.js.map +1 -1
  144. package/lib/src/server/endpoints/expectations.create.endpoint.d.ts +14 -24
  145. package/lib/src/server/endpoints/expectations.create.endpoint.d.ts.map +1 -1
  146. package/lib/src/server/endpoints/expectations.create.endpoint.js +3 -3
  147. package/lib/src/server/endpoints/expectations.create.endpoint.js.map +1 -1
  148. package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts +13 -25
  149. package/lib/src/server/endpoints/expectations.delete.endpoint.d.ts.map +1 -1
  150. package/lib/src/server/endpoints/expectations.delete.endpoint.js +3 -3
  151. package/lib/src/server/endpoints/expectations.delete.endpoint.js.map +1 -1
  152. package/lib/src/server/endpoints/expectations.get-by-id.endpoint.d.ts +14 -38
  153. package/lib/src/server/endpoints/expectations.get-by-id.endpoint.d.ts.map +1 -1
  154. package/lib/src/server/endpoints/expectations.get-by-id.endpoint.js +5 -5
  155. package/lib/src/server/endpoints/expectations.get-by-id.endpoint.js.map +1 -1
  156. package/lib/src/server/endpoints/expectations.update.endpoint.d.ts +15 -35
  157. package/lib/src/server/endpoints/expectations.update.endpoint.d.ts.map +1 -1
  158. package/lib/src/server/endpoints/expectations.update.endpoint.js +4 -4
  159. package/lib/src/server/endpoints/expectations.update.endpoint.js.map +1 -1
  160. package/lib/src/server/endpoints/gui.endpoint.d.ts +15 -22
  161. package/lib/src/server/endpoints/gui.endpoint.d.ts.map +1 -1
  162. package/lib/src/server/endpoints/gui.endpoint.js +5 -5
  163. package/lib/src/server/endpoints/gui.endpoint.js.map +1 -1
  164. package/lib/src/server/endpoints/history.compact.get-list.endpoint.d.ts +19 -31
  165. package/lib/src/server/endpoints/history.compact.get-list.endpoint.d.ts.map +1 -1
  166. package/lib/src/server/endpoints/history.compact.get-list.endpoint.js +4 -4
  167. package/lib/src/server/endpoints/history.compact.get-list.endpoint.js.map +1 -1
  168. package/lib/src/server/endpoints/history.delete.endpoint.d.ts +14 -20
  169. package/lib/src/server/endpoints/history.delete.endpoint.d.ts.map +1 -1
  170. package/lib/src/server/endpoints/history.delete.endpoint.js +4 -4
  171. package/lib/src/server/endpoints/history.delete.endpoint.js.map +1 -1
  172. package/lib/src/server/endpoints/history.get-by-id.endpoint.d.ts +16 -41
  173. package/lib/src/server/endpoints/history.get-by-id.endpoint.d.ts.map +1 -1
  174. package/lib/src/server/endpoints/history.get-by-id.endpoint.js +5 -5
  175. package/lib/src/server/endpoints/history.get-by-id.endpoint.js.map +1 -1
  176. package/lib/src/server/endpoints/metrics.endpoint.d.ts +15 -27
  177. package/lib/src/server/endpoints/metrics.endpoint.d.ts.map +1 -1
  178. package/lib/src/server/endpoints/metrics.endpoint.js +4 -4
  179. package/lib/src/server/endpoints/metrics.endpoint.js.map +1 -1
  180. package/lib/src/server/endpoints/ping.endpoint.d.ts +14 -20
  181. package/lib/src/server/endpoints/ping.endpoint.d.ts.map +1 -1
  182. package/lib/src/server/endpoints/ping.endpoint.js +4 -4
  183. package/lib/src/server/endpoints/ping.endpoint.js.map +1 -1
  184. package/lib/src/server/endpoints/providers.create.endpoint.d.ts +13 -33
  185. package/lib/src/server/endpoints/providers.create.endpoint.d.ts.map +1 -1
  186. package/lib/src/server/endpoints/providers.create.endpoint.js +3 -3
  187. package/lib/src/server/endpoints/providers.create.endpoint.js.map +1 -1
  188. package/lib/src/server/endpoints/providers.delete.endpoint.d.ts +13 -25
  189. package/lib/src/server/endpoints/providers.delete.endpoint.d.ts.map +1 -1
  190. package/lib/src/server/endpoints/providers.delete.endpoint.js +3 -3
  191. package/lib/src/server/endpoints/providers.delete.endpoint.js.map +1 -1
  192. package/lib/src/server/endpoints/providers.get-list.endpoint.d.ts +16 -17
  193. package/lib/src/server/endpoints/providers.get-list.endpoint.d.ts.map +1 -1
  194. package/lib/src/server/endpoints/providers.get-list.endpoint.js +3 -3
  195. package/lib/src/server/endpoints/providers.get-list.endpoint.js.map +1 -1
  196. package/lib/src/server/endpoints/stats.endpoint.d.ts +15 -30
  197. package/lib/src/server/endpoints/stats.endpoint.d.ts.map +1 -1
  198. package/lib/src/server/endpoints/stats.endpoint.js +5 -5
  199. package/lib/src/server/endpoints/stats.endpoint.js.map +1 -1
  200. package/lib/src/server/index.d.ts +11 -12
  201. package/lib/src/server/index.d.ts.map +1 -1
  202. package/lib/src/server/index.js +55 -14
  203. package/lib/src/server/index.js.map +1 -1
  204. package/lib/src/server/models/containers/model.d.ts +10 -12
  205. package/lib/src/server/models/containers/model.d.ts.map +1 -1
  206. package/lib/src/server/models/containers/model.js +15 -3
  207. package/lib/src/server/models/containers/model.js.map +1 -1
  208. package/lib/src/server/models/containers/storage.d.ts +20 -9
  209. package/lib/src/server/models/containers/storage.d.ts.map +1 -1
  210. package/lib/src/server/models/containers/storage.js +43 -14
  211. package/lib/src/server/models/containers/storage.js.map +1 -1
  212. package/lib/src/server/models/containers/types.d.ts +9 -0
  213. package/lib/src/server/models/containers/types.d.ts.map +1 -1
  214. package/lib/src/server/models/containers/utils.d.ts +1 -1
  215. package/lib/src/server/models/containers/utils.d.ts.map +1 -1
  216. package/lib/src/server/models/containers/utils.js +3 -3
  217. package/lib/src/server/models/containers/utils.js.map +1 -1
  218. package/lib/src/server/models/context/index.d.ts +8 -8
  219. package/lib/src/server/models/context/index.d.ts.map +1 -1
  220. package/lib/src/server/models/context/index.js +15 -11
  221. package/lib/src/server/models/context/index.js.map +1 -1
  222. package/lib/src/server/models/context/snapshot.d.ts +4 -5
  223. package/lib/src/server/models/context/snapshot.d.ts.map +1 -1
  224. package/lib/src/server/models/context/snapshot.js +6 -6
  225. package/lib/src/server/models/context/snapshot.js.map +1 -1
  226. package/lib/src/server/models/context/types.d.ts +10 -9
  227. package/lib/src/server/models/context/types.d.ts.map +1 -1
  228. package/lib/src/server/models/context/utils.d.ts.map +1 -1
  229. package/lib/src/server/models/context/utils.js +2 -6
  230. package/lib/src/server/models/context/utils.js.map +1 -1
  231. package/lib/src/server/models/endpoint.d.ts +45 -28
  232. package/lib/src/server/models/endpoint.d.ts.map +1 -1
  233. package/lib/src/server/models/endpoint.js +24 -9
  234. package/lib/src/server/models/endpoint.js.map +1 -1
  235. package/lib/src/server/models/executor/index.d.ts +2 -2
  236. package/lib/src/server/models/executor/index.d.ts.map +1 -1
  237. package/lib/src/server/models/executor/index.js +45 -8
  238. package/lib/src/server/models/executor/index.js.map +1 -1
  239. package/lib/src/server/models/history/model.d.ts +4 -6
  240. package/lib/src/server/models/history/model.d.ts.map +1 -1
  241. package/lib/src/server/models/history/model.js +2 -7
  242. package/lib/src/server/models/history/model.js.map +1 -1
  243. package/lib/src/server/models/history/storage.d.ts +0 -2
  244. package/lib/src/server/models/history/storage.d.ts.map +1 -1
  245. package/lib/src/server/models/history/storage.js +0 -46
  246. package/lib/src/server/models/history/storage.js.map +1 -1
  247. package/lib/src/server/models/index.d.ts +2 -0
  248. package/lib/src/server/models/index.d.ts.map +1 -1
  249. package/lib/src/server/models/index.js +2 -0
  250. package/lib/src/server/models/index.js.map +1 -1
  251. package/lib/src/server/models/message.d.ts +16 -0
  252. package/lib/src/server/models/message.d.ts.map +1 -0
  253. package/lib/src/server/models/message.js +53 -0
  254. package/lib/src/server/models/message.js.map +1 -0
  255. package/lib/src/server/models/providers/model.d.ts +2 -2
  256. package/lib/src/server/models/providers/model.d.ts.map +1 -1
  257. package/lib/src/server/models/providers/model.js +1 -1
  258. package/lib/src/server/models/providers/model.js.map +1 -1
  259. package/lib/src/server/models/providers/storage.d.ts +10 -9
  260. package/lib/src/server/models/providers/storage.d.ts.map +1 -1
  261. package/lib/src/server/models/providers/storage.js +4 -9
  262. package/lib/src/server/models/providers/storage.js.map +1 -1
  263. package/lib/src/server/models/providers/system.d.ts +23 -0
  264. package/lib/src/server/models/providers/system.d.ts.map +1 -0
  265. package/lib/src/server/models/providers/system.js +105 -0
  266. package/lib/src/server/models/providers/system.js.map +1 -0
  267. package/lib/src/server/models/router.d.ts +8 -8
  268. package/lib/src/server/models/router.d.ts.map +1 -1
  269. package/lib/src/server/models/router.js +1 -1
  270. package/lib/src/server/models/router.js.map +1 -1
  271. package/lib/src/server/models/service.d.ts +2 -2
  272. package/lib/src/server/models/service.d.ts.map +1 -1
  273. package/lib/src/server/models/service.js.map +1 -1
  274. package/lib/src/server/models/transports/model.d.ts +1 -1
  275. package/lib/src/server/models/transports/model.d.ts.map +1 -1
  276. package/lib/src/server/models/transports/model.js.map +1 -1
  277. package/lib/src/server/models/transports/storage.d.ts +2 -2
  278. package/lib/src/server/models/transports/storage.d.ts.map +1 -1
  279. package/lib/src/server/models/transports/storage.js +1 -1
  280. package/lib/src/server/models/transports/storage.js.map +1 -1
  281. package/lib/src/server/models/websocket/errors/index.d.ts +2 -0
  282. package/lib/src/server/models/websocket/errors/index.d.ts.map +1 -0
  283. package/lib/src/server/models/websocket/errors/index.js +18 -0
  284. package/lib/src/server/models/websocket/errors/index.js.map +1 -0
  285. package/lib/src/server/models/websocket/errors/websocket-connection.error.d.ts +9 -0
  286. package/lib/src/server/models/websocket/errors/websocket-connection.error.d.ts.map +1 -0
  287. package/lib/src/server/models/websocket/errors/websocket-connection.error.js +32 -0
  288. package/lib/src/server/models/websocket/errors/websocket-connection.error.js.map +1 -0
  289. package/lib/src/server/models/websocket/factory.d.ts +9 -0
  290. package/lib/src/server/models/websocket/factory.d.ts.map +1 -0
  291. package/lib/src/server/models/websocket/factory.js +23 -0
  292. package/lib/src/server/models/websocket/factory.js.map +1 -0
  293. package/lib/src/server/models/websocket/index.d.ts +5 -0
  294. package/lib/src/server/models/websocket/index.d.ts.map +1 -0
  295. package/lib/src/server/models/websocket/index.js +21 -0
  296. package/lib/src/server/models/websocket/index.js.map +1 -0
  297. package/lib/src/server/models/websocket/model.d.ts +29 -0
  298. package/lib/src/server/models/websocket/model.d.ts.map +1 -0
  299. package/lib/src/server/models/websocket/model.js +164 -0
  300. package/lib/src/server/models/websocket/model.js.map +1 -0
  301. package/lib/src/server/models/websocket/types.d.ts +11 -0
  302. package/lib/src/server/models/websocket/types.d.ts.map +1 -0
  303. package/lib/src/server/models/websocket/types.js +3 -0
  304. package/lib/src/server/models/websocket/types.js.map +1 -0
  305. package/lib/src/server/transports/http.transport/context.d.ts +8 -8
  306. package/lib/src/server/transports/http.transport/context.d.ts.map +1 -1
  307. package/lib/src/server/transports/http.transport/context.js +10 -3
  308. package/lib/src/server/transports/http.transport/context.js.map +1 -1
  309. package/lib/src/server/transports/http.transport/executor.d.ts +3 -13
  310. package/lib/src/server/transports/http.transport/executor.d.ts.map +1 -1
  311. package/lib/src/server/transports/http.transport/executor.js +10 -9
  312. package/lib/src/server/transports/http.transport/executor.js.map +1 -1
  313. package/lib/src/server/transports/http.transport/index.d.ts +3 -2
  314. package/lib/src/server/transports/http.transport/index.d.ts.map +1 -1
  315. package/lib/src/server/transports/http.transport/index.js +2 -3
  316. package/lib/src/server/transports/http.transport/index.js.map +1 -1
  317. package/lib/src/server/transports/index.d.ts +1 -1
  318. package/lib/src/server/transports/index.d.ts.map +1 -1
  319. package/lib/src/server/transports/index.js +1 -1
  320. package/lib/src/server/transports/index.js.map +1 -1
  321. package/lib/src/server/transports/{internal → system}/http.transport/context.d.ts +11 -10
  322. package/lib/src/server/transports/system/http.transport/context.d.ts.map +1 -0
  323. package/lib/src/server/transports/{internal → system}/http.transport/context.js +7 -7
  324. package/lib/src/server/transports/system/http.transport/context.js.map +1 -0
  325. package/lib/src/server/transports/system/http.transport/executor.d.ts +21 -0
  326. package/lib/src/server/transports/system/http.transport/executor.d.ts.map +1 -0
  327. package/lib/src/server/transports/{internal → system}/http.transport/executor.js +8 -6
  328. package/lib/src/server/transports/system/http.transport/executor.js.map +1 -0
  329. package/lib/src/server/transports/system/http.transport/index.d.ts +15 -0
  330. package/lib/src/server/transports/system/http.transport/index.d.ts.map +1 -0
  331. package/lib/src/server/transports/{internal → system}/http.transport/index.js +5 -5
  332. package/lib/src/server/transports/system/http.transport/index.js.map +1 -0
  333. package/lib/src/server/transports/system/http.transport/reply.d.ts +10 -0
  334. package/lib/src/server/transports/system/http.transport/reply.d.ts.map +1 -0
  335. package/lib/src/server/transports/{internal → system}/http.transport/reply.js +4 -4
  336. package/lib/src/server/transports/system/http.transport/reply.js.map +1 -0
  337. package/lib/src/server/transports/system/index.d.ts.map +1 -0
  338. package/lib/src/server/transports/system/index.js.map +1 -0
  339. package/lib/src/server/transports/system/io.transport/context.d.ts +30 -0
  340. package/lib/src/server/transports/system/io.transport/context.d.ts.map +1 -0
  341. package/lib/src/server/transports/{internal → system}/io.transport/context.js +6 -6
  342. package/lib/src/server/transports/system/io.transport/context.js.map +1 -0
  343. package/lib/src/server/transports/system/io.transport/executor.d.ts +19 -0
  344. package/lib/src/server/transports/system/io.transport/executor.d.ts.map +1 -0
  345. package/lib/src/server/transports/{internal → system}/io.transport/executor.js +4 -4
  346. package/lib/src/server/transports/system/io.transport/executor.js.map +1 -0
  347. package/lib/src/server/transports/system/io.transport/index.d.ts +14 -0
  348. package/lib/src/server/transports/system/io.transport/index.d.ts.map +1 -0
  349. package/lib/src/server/transports/{internal → system}/io.transport/index.js +9 -9
  350. package/lib/src/server/transports/system/io.transport/index.js.map +1 -0
  351. package/lib/src/server/transports/system/io.transport/reply.d.ts +10 -0
  352. package/lib/src/server/transports/system/io.transport/reply.d.ts.map +1 -0
  353. package/lib/src/server/transports/{internal → system}/io.transport/reply.js +4 -4
  354. package/lib/src/server/transports/system/io.transport/reply.js.map +1 -0
  355. package/lib/src/server/transports/system/utils.d.ts.map +1 -0
  356. package/lib/src/server/transports/system/utils.js.map +1 -0
  357. package/lib/src/server/transports/ws.transport/context.d.ts +20 -20
  358. package/lib/src/server/transports/ws.transport/context.d.ts.map +1 -1
  359. package/lib/src/server/transports/ws.transport/context.js +20 -28
  360. package/lib/src/server/transports/ws.transport/context.js.map +1 -1
  361. package/lib/src/server/transports/ws.transport/executor.d.ts +7 -5
  362. package/lib/src/server/transports/ws.transport/executor.d.ts.map +1 -1
  363. package/lib/src/server/transports/ws.transport/executor.js +78 -26
  364. package/lib/src/server/transports/ws.transport/executor.js.map +1 -1
  365. package/lib/src/server/transports/ws.transport/index.d.ts +4 -3
  366. package/lib/src/server/transports/ws.transport/index.d.ts.map +1 -1
  367. package/lib/src/server/transports/ws.transport/index.js +29 -54
  368. package/lib/src/server/transports/ws.transport/index.js.map +1 -1
  369. package/lib/src/server/types/index.d.ts +5 -18
  370. package/lib/src/server/types/index.d.ts.map +1 -1
  371. package/lib/src/utils/common.d.ts +6 -3
  372. package/lib/src/utils/common.d.ts.map +1 -1
  373. package/lib/src/utils/common.js +22 -11
  374. package/lib/src/utils/common.js.map +1 -1
  375. package/lib/types/common.d.ts +3 -0
  376. package/lib/types/common.d.ts.map +1 -1
  377. package/package.json +17 -7
  378. package/public/assets/{index-tl7gtkKo.css → index-B87rNiAv.css} +1 -1
  379. package/public/assets/index-DoLXR0S_.js +1710 -0
  380. package/public/index.html +2 -2
  381. package/lib/bin/index.d.ts +0 -3
  382. package/lib/bin/index.d.ts.map +0 -1
  383. package/lib/bin/index.js +0 -32
  384. package/lib/bin/index.js.map +0 -1
  385. package/lib/src/server/transports/internal/http.transport/context.d.ts.map +0 -1
  386. package/lib/src/server/transports/internal/http.transport/context.js.map +0 -1
  387. package/lib/src/server/transports/internal/http.transport/executor.d.ts +0 -11
  388. package/lib/src/server/transports/internal/http.transport/executor.d.ts.map +0 -1
  389. package/lib/src/server/transports/internal/http.transport/executor.js.map +0 -1
  390. package/lib/src/server/transports/internal/http.transport/index.d.ts +0 -15
  391. package/lib/src/server/transports/internal/http.transport/index.d.ts.map +0 -1
  392. package/lib/src/server/transports/internal/http.transport/index.js.map +0 -1
  393. package/lib/src/server/transports/internal/http.transport/reply.d.ts +0 -10
  394. package/lib/src/server/transports/internal/http.transport/reply.d.ts.map +0 -1
  395. package/lib/src/server/transports/internal/http.transport/reply.js.map +0 -1
  396. package/lib/src/server/transports/internal/index.d.ts.map +0 -1
  397. package/lib/src/server/transports/internal/index.js.map +0 -1
  398. package/lib/src/server/transports/internal/io.transport/context.d.ts +0 -29
  399. package/lib/src/server/transports/internal/io.transport/context.d.ts.map +0 -1
  400. package/lib/src/server/transports/internal/io.transport/context.js.map +0 -1
  401. package/lib/src/server/transports/internal/io.transport/executor.d.ts +0 -10
  402. package/lib/src/server/transports/internal/io.transport/executor.d.ts.map +0 -1
  403. package/lib/src/server/transports/internal/io.transport/executor.js.map +0 -1
  404. package/lib/src/server/transports/internal/io.transport/index.d.ts +0 -14
  405. package/lib/src/server/transports/internal/io.transport/index.d.ts.map +0 -1
  406. package/lib/src/server/transports/internal/io.transport/index.js.map +0 -1
  407. package/lib/src/server/transports/internal/io.transport/reply.d.ts +0 -10
  408. package/lib/src/server/transports/internal/io.transport/reply.d.ts.map +0 -1
  409. package/lib/src/server/transports/internal/io.transport/reply.js.map +0 -1
  410. package/lib/src/server/transports/internal/utils.d.ts.map +0 -1
  411. package/lib/src/server/transports/internal/utils.js.map +0 -1
  412. package/public/assets/index-Dd-mRSqz.js +0 -548
  413. /package/lib/src/server/transports/{internal → system}/index.d.ts +0 -0
  414. /package/lib/src/server/transports/{internal → system}/index.js +0 -0
  415. /package/lib/src/server/transports/{internal → system}/utils.d.ts +0 -0
  416. /package/lib/src/server/transports/{internal → system}/utils.js +0 -0
@@ -2,38 +2,37 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WsRequestContext = void 0;
4
4
  const models_1 = require("../../models");
5
- const utils_1 = require("../../../utils");
6
5
  const logger_1 = require("../../../logger");
7
- const logger = logger_1.Logger.build('Server.Transports.Ws.Context');
6
+ const utils_1 = require("../../../utils");
7
+ const logger = logger_1.Logger.build('Transports.Ws.Context');
8
8
  class WsRequestContext extends models_1.RequestContext {
9
- constructor(provider, socket, event, incoming) {
10
- super(provider, { event, transport: 'ws' });
9
+ constructor(provider, incoming, request, socket, head) {
10
+ super(provider, { transport: 'ws' });
11
11
  this.provider = provider;
12
- this.socket = socket;
13
- this.event = event;
14
12
  this.incoming = incoming;
13
+ this.request = request;
14
+ this.socket = socket;
15
+ this.head = head;
15
16
  this.snapshot = this.compileSnapshot();
16
17
  this.history = this.compileHistory();
18
+ this.additional = {
19
+ ws: (0, utils_1.cast)(null),
20
+ };
17
21
  }
18
22
  compileSnapshot() {
19
23
  const snapshot = super.compileSnapshot();
20
- snapshot.outgoing.status = this.event === 'message' ? 0 : 1000;
21
- snapshot.incoming.method = this.event === 'message' ? 'MSG' : 'CON';
24
+ snapshot.incoming.method = 'WS';
22
25
  return snapshot;
23
26
  }
24
27
  handle() {
25
- this.event === 'message'
26
- ? logger.info(`Incoming WS ${event} [${this.incoming.path}] got message`, this.incoming.data)
27
- : logger.info(`Incoming WS ${event} [${this.incoming.path}]`);
28
- if (this.event === 'connection') {
29
- this.streams.incoming.subscribe({
30
- error: () => null,
31
- next: (data) => logger.info(`Incoming WS ${this.event} [${this.incoming.path}] got message`, data),
32
- });
33
- }
28
+ logger.info(`Incoming WS connection [${this.incoming.path}]`);
29
+ this.streams.incoming.subscribe({
30
+ error: () => null,
31
+ next: (message) => logger.info(`Incoming WS connection [${this.incoming.path}] got message of [${message.dataRaw.length}] bytes`),
32
+ });
34
33
  this.streams.outgoing.subscribe({
35
34
  error: () => null,
36
- next: (data) => logger.info(`Incoming WS ${this.event} [${this.incoming.path}] has sent`, data),
35
+ next: (message) => logger.info(`Incoming WS connection [${this.incoming.path}] sent message with [${message.dataRaw.length}] bytes`),
37
36
  });
38
37
  return super.handle();
39
38
  }
@@ -43,19 +42,12 @@ class WsRequestContext extends models_1.RequestContext {
43
42
  return super.skip();
44
43
  }
45
44
  complete() {
46
- logger.info(`Incoming WS ${this.event} [${this.incoming.path}] has finished in [${Date.now() - this.timestamp}ms]`);
45
+ logger.info(`Incoming WS connection [${this.incoming.path}] has finished`, `with status [${this.outgoing?.status ?? 0}] in [${Date.now() - this.timestamp}ms]`);
47
46
  return super.complete();
48
47
  }
49
- static async build(provider, socket, request, event, message) {
48
+ static async build(provider, request, socket, head) {
50
49
  const incoming = await (0, models_1.extractHttpIncommingContext)(request);
51
- incoming.dataRaw = message ? Buffer.from(message.toString()) : undefined;
52
- incoming.data = incoming.dataRaw
53
- ? incoming.type === 'plain'
54
- ? (0, utils_1.parseJsonSafe)(incoming.dataRaw.toString()).result
55
- : (0, models_1.parsePayload)(incoming.type, incoming.dataRaw)
56
- : undefined;
57
- incoming.type = incoming.type === 'plain' && incoming.data !== undefined ? 'json' : incoming.type;
58
- return new WsRequestContext(provider, socket, event, incoming);
50
+ return new WsRequestContext(provider, incoming, request, socket, head);
59
51
  }
60
52
  }
61
53
  exports.WsRequestContext = WsRequestContext;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":";;;AAGA,yCAA4H;AAE5H,0CAA+C;AAE/C,4CAAyC;AAEzC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAE5D,MAAa,gBAAiB,SAAQ,uBAInC;IAID,YACS,QAAgD,EAChD,MAAiB,EACjB,KAA4C,EAC5C,QAAiC;QAExC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QALrC,aAAQ,GAAR,QAAQ,CAAwC;QAChD,WAAM,GAAN,MAAM,CAAW;QACjB,UAAK,GAAL,KAAK,CAAuC;QAC5C,aAAQ,GAAR,QAAQ,CAAyB;QAPnC,aAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,YAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IASvC,CAAC;IAEM,eAAe;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAEzC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAEpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,KAAK,KAAK,SAAS;YACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7F,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;gBACjB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,IAAI,CAAC;aACnG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,IAAI,CAAC;SAChG,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAEM,QAAQ;QACb,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;QACpH,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,QAAgD,EAChD,MAAiB,EACjB,OAAwB,EACxB,KAA4C,EAC5C,OAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAA2B,EAAC,OAAO,CAAC,CAAC;QAE5D,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO;YAC9B,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;gBACzB,CAAC,CAAC,IAAA,qBAAa,EAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM;gBACnD,CAAC,CAAC,IAAA,qBAAY,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;YACjD,CAAC,CAAC,SAAS,CAAC;QAEd,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAElG,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;CACF;AA9ED,4CA8EC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/context.ts"],"names":[],"mappings":";;;AAGA,yCAAyH;AACzH,4CAAyC;AACzC,0CAAsC;AAEtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAa,gBAAiB,SAAQ,uBAGpC;IAQA,YACS,QAAkB,EAClB,QAAiC,EACjC,OAAwB,EACxB,MAAc,EACd,IAAY;QAEnB,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAN9B,aAAQ,GAAR,QAAQ,CAAU;QAClB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,YAAO,GAAP,OAAO,CAAiB;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QAZd,aAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAClC,YAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhC,eAAU,GAAG;YAClB,EAAE,EAAE,IAAA,YAAI,EAAmB,IAAI,CAAC;SACjC,CAAC;IAUF,CAAC;IAEM,eAAe;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAEzC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC;SACjH,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI;YACjB,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,OAAO,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC;SACpH,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEjC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAEM,QAAQ;QACb,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAC7D,gBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,KAAK,CACpF,CAAC;QAEF,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,QAAkB,EAClB,OAAwB,EACxB,MAAc,EACd,IAAY;QAEZ,MAAM,QAAQ,GAAG,MAAM,IAAA,oCAA2B,EAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;CACF;AAvED,4CAuEC"}
@@ -1,10 +1,12 @@
1
- import { Executor, IExecutorExecOptions, IRequestContextOutgoing } from '../../models';
2
- import { WsRequestContext } from './context';
1
+ import type { Expectation, IExpectationSchemaForward } from '../../../expectations';
2
+ import type { WsRequestContext } from './context';
3
+ import { Executor, IExecutorExecOptions, IRequestContextForwarded, IRequestContextIncoming, IRequestContextOutgoing, IWebSocketConfiguration } from '../../models';
3
4
  export declare class WsExecutor extends Executor<WsRequestContext> {
4
5
  exec(context: WsRequestContext, options?: IExecutorExecOptions): Promise<WsRequestContext>;
5
- match(context: WsRequestContext): Promise<import("../../../expectations").Expectation<any, import("../../..").IExpectationSchemaContext<any>> | null>;
6
- prepare(context: WsRequestContext): Promise<WsRequestContext | undefined>;
7
- forward(): Promise<null>;
6
+ match(context: WsRequestContext): Promise<Expectation | null>;
7
+ forward(context: WsRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<IRequestContextForwarded | null>;
8
8
  reply(context: WsRequestContext, outgoing: IRequestContextOutgoing): Promise<IRequestContextOutgoing>;
9
+ /** Compiles WS request configuration to forward */
10
+ protected compileForwardingConfiguration(context: WsRequestContext, incoming: IRequestContextIncoming, schema: IExpectationSchemaForward): Promise<IWebSocketConfiguration>;
9
11
  }
10
12
  //# sourceMappingURL=executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAM7C,qBAAa,UAAW,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAqB9D,KAAK,CAAC,OAAO,EAAE,gBAAgB;IAW/B,OAAO,CAAC,OAAO,EAAE,gBAAgB;IAOjC,OAAO;IAIP,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,uBAAuB;CAYhF"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAIlD,OAAO,EACL,QAAQ,EAER,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EAGxB,MAAM,cAAc,CAAC;AAStB,qBAAa,UAAW,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe1F,KAAK,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAW7D,OAAO,CAClB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAgC9B,KAAK,CAChB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,uBAAuB,CAAC;IA8CnC,mDAAmD;cACnC,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,uBAAuB,CAAC;CAkBpC"}
@@ -1,54 +1,106 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WsExecutor = void 0;
4
- const models_1 = require("../../models");
5
4
  const utils_1 = require("../../../utils");
6
5
  const logger_1 = require("../../../logger");
7
- const logger = logger_1.Logger.build('Server.Transports.Ws.Executor');
6
+ const models_1 = require("../../models");
7
+ const logger = logger_1.Logger.build('Transports.Ws.Executor');
8
+ /** Got from `ws` package */
9
+ const checkStatusIsValid = (code) => (code >= 1000 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006) ||
10
+ (code >= 3000 && code <= 4999);
8
11
  class WsExecutor extends models_1.Executor {
9
12
  async exec(context, options) {
10
13
  context.socket.once('close', () => context.complete());
11
- if (context.event === 'connection') {
12
- context.socket.on('message', (data) => {
13
- const serialized = data.toString();
14
- context.streams.incoming.next((0, utils_1.parseJsonSafe)(serialized).result ?? serialized);
15
- });
16
- }
14
+ context.socket.on('message', (data) => models_1.RequestMessage.build(data));
17
15
  await super.exec(context, options).catch((error) => {
18
16
  if (error instanceof models_1.ExecutorManualError && error.is('ECONNABORTED')) {
19
- return context.socket.close();
17
+ return context.socket.destroy();
20
18
  }
21
19
  logger.error('Got unexpected error while execution', error?.stack ?? error);
22
20
  });
23
- return context.event === 'connection' ? context : context.complete();
21
+ return context;
24
22
  }
25
23
  async match(context) {
26
- const expectation = context.provider.storages.expectations.match(context.snapshot);
24
+ const expectation = await context.provider.storages.expectations.match(context.snapshot);
27
25
  if (!expectation) {
28
- context.event === 'connection' ? context.skip() : logger.warn('Expectation was not found');
26
+ context.skip();
29
27
  return null;
30
28
  }
31
29
  return expectation;
32
30
  }
33
- async prepare(context) {
34
- if (context.snapshot.flags.wsCloseConnection) {
35
- context.socket.close(context.snapshot.outgoing.status || 1000);
36
- return context.complete();
37
- }
38
- }
39
- async forward() {
40
- return null;
31
+ async forward(context, incoming, schema) {
32
+ const configuration = await this
33
+ .compileForwardingConfiguration(context, incoming, schema)
34
+ .catch((error) => {
35
+ context.snapshot.assign({
36
+ error: { code: 'UNKNOWN', message: error?.message ?? 'Unknown' },
37
+ outgoing: { type: 'plain', status: 1006, headers: {} },
38
+ });
39
+ logger.error('Got error while execution [compileForwardingConfiguration] method', error?.stack ?? error);
40
+ throw error;
41
+ });
42
+ context.additional.ws = models_1.WebSocketFactory
43
+ .build(configuration)
44
+ .compile()
45
+ .connect();
46
+ return {
47
+ schema,
48
+ incoming,
49
+ outgoing: {
50
+ type: 'plain',
51
+ status: 0,
52
+ headers: await context.additional.ws.headers(),
53
+ stream: context.additional.ws.observable,
54
+ },
55
+ };
41
56
  }
42
57
  async reply(context, outgoing) {
43
- await outgoing.stream?.forEach((message) => {
44
- context.streams.outgoing.next(message);
45
- context.socket.send(typeof message === 'object' ? JSON.stringify(message) : String(message));
58
+ await new Promise((resolve) => {
59
+ context.provider.server.wss.once('headers', (headers) => {
60
+ const formatted = (0, utils_1.formatHeaders)(outgoing.headers);
61
+ Object.entries(formatted).forEach(([key, value]) => headers.some((line) => line.toLowerCase().startsWith(`${key}:`))
62
+ ? null
63
+ : headers.push([key, value].join(': ')));
64
+ });
65
+ context.provider.server.wss.handleUpgrade(context.request, context.socket, context.head, async (socket) => {
66
+ await outgoing.stream?.forEach((payload) => {
67
+ const message = payload instanceof models_1.RequestMessage
68
+ ? payload
69
+ : models_1.RequestMessage.build(payload);
70
+ context.streams.outgoing.next(message);
71
+ socket.send(message.serialize());
72
+ });
73
+ const status = await context.additional.ws?.status() ?? null;
74
+ if (outgoing.status === 0) {
75
+ outgoing.status = status ?? 1000;
76
+ }
77
+ if (context.snapshot.forwarded?.outgoing) {
78
+ context.snapshot.forwarded.outgoing.status = status ?? outgoing.status;
79
+ }
80
+ if (!checkStatusIsValid(outgoing.status)) {
81
+ const fallback = status ?? 1000;
82
+ logger.warn(`Outgoing status [${outgoing.status}] is invalid. Fallback to [${fallback}]`);
83
+ outgoing.status = fallback;
84
+ }
85
+ socket.close(outgoing.status);
86
+ resolve();
87
+ });
46
88
  });
47
- if (context.event === 'connection' || context.snapshot.flags.wsCloseConnection) {
48
- context.socket.close(outgoing.status || 1000);
49
- }
50
89
  return outgoing;
51
90
  }
91
+ /** Compiles WS request configuration to forward */
92
+ async compileForwardingConfiguration(context, incoming, schema) {
93
+ const url = new URL(schema.url ?? incoming.path, schema.baseUrl);
94
+ return {
95
+ timeout: schema.timeout,
96
+ headers: (0, utils_1.formatHeaders)(Object.assign(incoming.headers, {
97
+ ...(schema.options?.overrideHost !== false && { host: url.host }),
98
+ })),
99
+ ...(schema.url && { url: schema.url }),
100
+ ...(schema.baseUrl && { baseURL: schema.baseUrl, url: incoming.path }),
101
+ query: context.incoming.query,
102
+ };
103
+ }
52
104
  }
53
105
  exports.WsExecutor = WsExecutor;
54
106
  //# sourceMappingURL=executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/executor.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { WebSocket, RawData } from 'ws';
2
1
  import { IncomingMessage } from 'http';
2
+ import { Duplex } from 'stream';
3
3
  import { Provider, Router, Transport } from '../../models';
4
4
  import { WsRequestContext } from './context';
5
+ import { IServerContext } from '../../types';
5
6
  import { WsExecutor } from './executor';
6
- export declare const buildWsListener: <T extends WsRequestContext["TContext"]>(router: Router<T>) => (socket: WebSocket, request: IncomingMessage) => Promise<void>;
7
+ export declare const buildWsListener: <T extends IServerContext>(router: Router<T>) => (request: IncomingMessage, socket: Duplex, head: Buffer) => Promise<void | Duplex | WsRequestContext>;
7
8
  export declare class WsTransport extends Transport<WsExecutor> {
8
9
  executor: WsExecutor;
9
- compileContext(provider: Provider<WsTransport['TContext']>, socket: WebSocket, request: IncomingMessage, event: WsExecutor['TContext']['event'], message?: RawData): Promise<WsRequestContext>;
10
+ compileContext(provider: Provider, request: IncomingMessage, socket: Duplex, head: Buffer): Promise<WsRequestContext>;
10
11
  }
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAAqB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgDxC,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,gBAAgB,CAAC,UAAU,CAAC,UAAU,MAAM,CAAC,CAAC,CAAC,cACxE,SAAS,WAAW,eAAe,kBAoCjD,CAAA;AAEH,qBAAa,WAAY,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7C,QAAQ,aAAoB;IAE5B,cAAc,CACnB,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAC3C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EACtC,OAAO,CAAC,EAAE,OAAO;CAIpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,cAAc,UAAU,MAAM,CAAC,CAAC,CAAC,eACzD,eAAe,UAAU,MAAM,QAAQ,MAAM,8CAyC5D,CAAA;AAEH,qBAAa,WAAY,SAAQ,SAAS,CAAC,UAAU,CAAC;IAC7C,QAAQ,aAAoB;IAE5B,cAAc,CACnB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;CAIf"}
@@ -6,65 +6,40 @@ const context_1 = require("./context");
6
6
  const meta_1 = require("../../../meta");
7
7
  const executor_1 = require("./executor");
8
8
  const logger_1 = require("../../../logger");
9
- const logger = logger_1.Logger.build('Server.Transports.Ws');
10
- const signals = {
11
- close: Symbol('close'),
12
- break: Symbol('break'),
13
- };
14
- const handle = async (event, socket, request, match, data) => {
15
- const context = await match.transport
16
- .compileContext(match.provider, socket, request, event, data)
17
- .catch((error) => logger.error(`Got error while [ws:${event}] context compilation`, error?.stack ?? error));
18
- if (!context) {
19
- return signals.close;
20
- }
21
- if (!context.is(['registered', 'handling'])) {
22
- return signals.break;
23
- }
24
- const expectation = await meta_1.metaStorage
25
- .wrap(context.meta, () => match.transport.executor.match(context))
26
- .catch((error) => logger.error(`Got error while [ws:${event}] expectation matching`, error?.stack ?? error));
27
- if (!context.is(['registered', 'handling'])) {
28
- return signals.break;
29
- }
30
- if (!expectation) {
31
- context.cancel();
32
- return null;
33
- }
34
- await meta_1.metaStorage
35
- .wrap(context.meta, () => match.transport.executor.exec(context.handle(), { expectation }))
36
- .catch((error) => logger.error(`Got error while [ws:${event}] execution`, error?.stack ?? error));
37
- return signals.close;
38
- };
39
- const buildWsListener = (router) => async (socket, request) => {
9
+ const logger = logger_1.Logger.build('Transports.Ws');
10
+ const buildWsListener = (router) => async (request, socket, head) => {
40
11
  if (request.url?.startsWith('/socket.io')) {
41
- return socket.terminate();
12
+ return socket.destroy();
42
13
  }
43
- const matches = [];
44
14
  for (const match of router.match('ws', request.url ?? '')) {
45
- matches.push(match);
46
- const signal = await handle('connection', socket, request, match);
47
- if (signal === signals.close) {
48
- return socket.close();
15
+ const context = await match.transport
16
+ .compileContext(match.provider, request, socket, head)
17
+ .catch((error) => logger.error(`Got error while [ws] context compilation`, error?.stack ?? error));
18
+ if (!context) {
19
+ return socket.destroy();
49
20
  }
50
- if (signal === signals.break) {
21
+ if (!context.is(['registered', 'handling'])) {
51
22
  break;
52
23
  }
53
- }
54
- if (!matches.length || socket.readyState !== socket.OPEN) {
55
- return socket.close();
56
- }
57
- socket.on('message', async (data) => {
58
- for (const match of matches) {
59
- const signal = await handle('message', socket, request, match, data);
60
- if (signal === signals.close) {
61
- return socket.close();
62
- }
63
- if (signal === signals.break) {
64
- break;
65
- }
24
+ const expectation = await meta_1.metaStorage
25
+ .wrap(context.meta, () => match.transport.executor.match(context))
26
+ .catch((error) => logger.error(`Got error while [ws] expectation matching`, error?.stack ?? error));
27
+ if (!context.is(['registered', 'handling'])) {
28
+ break;
66
29
  }
67
- });
30
+ if (!expectation) {
31
+ context.cancel();
32
+ continue;
33
+ }
34
+ return meta_1.metaStorage
35
+ .wrap(context.meta, () => match.transport.executor.exec(context.handle(), { expectation }))
36
+ .catch((error) => logger.error(`Got error while [ws] execution`, error?.stack ?? error));
37
+ }
38
+ const { transport, provider } = router.default('ws');
39
+ const context = await transport.compileContext(provider, request, socket, head);
40
+ await meta_1.metaStorage
41
+ .wrap(context.meta, () => transport.executor.exec(context.handle()))
42
+ .catch((error) => logger.error('Got error while execution', error?.stack ?? error));
68
43
  };
69
44
  exports.buildWsListener = buildWsListener;
70
45
  class WsTransport extends models_1.Transport {
@@ -72,8 +47,8 @@ class WsTransport extends models_1.Transport {
72
47
  super(...arguments);
73
48
  this.executor = new executor_1.WsExecutor();
74
49
  }
75
- compileContext(provider, socket, request, event, message) {
76
- return context_1.WsRequestContext.build(provider, socket, request, event, message);
50
+ compileContext(provider, request, socket, head) {
51
+ return context_1.WsRequestContext.build(provider, request, socket, head);
77
52
  }
78
53
  }
79
54
  exports.WsTransport = WsTransport;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/transports/ws.transport/index.ts"],"names":[],"mappings":";;;AAGA,yCAA2D;AAC3D,uCAA6C;AAE7C,wCAA4C;AAC5C,yCAAwC;AACxC,4CAAyC;AAEzC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAEtC,MAAM,eAAe,GAAG,CAA2B,MAAiB,EAAE,EAAE,CAC7E,KAAK,EAAE,OAAwB,EAAE,MAAc,EAAE,IAAY,EAAE,EAAE;IAC/D,IAAI,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAc,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,SAAS;aAClC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;aACrD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;QAErG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,kBAAW;aAClC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aACjE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;QAEtG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,OAAO,kBAAW;aACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;aAC1F,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO,CAAc,IAAI,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAEhF,MAAM,kBAAW;SACd,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;AACxF,CAAC,CAAA;AA1CU,QAAA,eAAe,mBA0CzB;AAEH,MAAa,WAAY,SAAQ,kBAAqB;IAAtD;;QACS,aAAQ,GAAG,IAAI,qBAAU,EAAE,CAAC;IAUrC,CAAC;IARQ,cAAc,CACnB,QAAkB,EAClB,OAAwB,EACxB,MAAc,EACd,IAAY;QAEZ,OAAO,0BAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF;AAXD,kCAWC"}
@@ -4,30 +4,17 @@ import type { TMetricPoint } from '../services';
4
4
  import type { Expectation } from '../../expectations';
5
5
  import type { History } from '../models';
6
6
  export type TRequestPayloadType = 'json' | 'plain' | 'xml';
7
- export interface IServerContextInput {
8
- transport?: string;
9
- event?: string;
10
- flag?: string;
11
- }
12
- export interface IServerContext<TInput extends IServerContextInput = {}> {
13
- transport: TInput extends {
14
- transport: infer R;
15
- } ? R : (string & {});
16
- event: TInput extends {
17
- event: infer R;
18
- } ? R : (string & {});
19
- flag: TInput extends {
20
- flag: infer R;
21
- } ? R : (string & {});
7
+ export interface IServerContext {
8
+ transport: string;
9
+ flag: string;
22
10
  }
23
11
  export interface IServerContextDefaults {
24
12
  transport: HttpTransport['TContext']['transport'] | WsTransport['TContext']['transport'];
25
- event: HttpTransport['TContext']['event'] | WsTransport['TContext']['event'];
26
13
  flag: HttpTransport['TContext']['flag'] | WsTransport['TContext']['flag'];
27
14
  }
28
15
  export interface IIoExchangeSchema {
29
- 'expectation:added': Expectation<any>['TPlain'];
30
- 'expectation:updated': Expectation<any>['TPlain'];
16
+ 'expectation:added': Expectation['TPlain'];
17
+ 'expectation:updated': Expectation['TPlain'];
31
18
  'history:added': History['TPlain'];
32
19
  'history:updated': History['TPlain'];
33
20
  'metric:registered': {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,mBAAmB,GAAG,EAAE;IACrE,SAAS,EAAE,MAAM,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACrE,KAAK,EAAE,MAAM,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,MAAM,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACzF,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChD,qBAAqB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAElD,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,mBAAmB,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACpE,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACzF,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,qBAAqB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAE7C,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,mBAAmB,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM;IACpE,UAAU,EAAE,WAAW,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3B"}
@@ -1,7 +1,8 @@
1
- import type { FlattenArrays } from '../../types';
2
- export declare const wait: (ms: number) => Promise<unknown>;
3
1
  export declare const cast: <T>(payload: T) => T;
4
- export declare const flattenArrayed: <T extends unknown[][], Q extends FlattenArrays<T>[] = [...T extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_1 ? T_1 extends R ? T_1 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_2 ? T_2 extends R ? T_2 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_3 ? T_3 extends R ? T_3 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_4 ? T_4 extends R ? T_4 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_5 ? T_5 extends R ? T_5 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_6 ? T_6 extends R ? T_6 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_7 ? T_7 extends R ? T_7 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_8 ? T_8 extends R ? T_8 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_9 ? T_9 extends R ? T_9 extends (infer R)[] ? R extends unknown[][] ? [...R extends infer T_10 ? T_10 extends R ? T_10 extends (infer R)[] ? R extends unknown[][] ? [.../*elided*/ any] : R : T_10 : never : never] : R : T_9 : never : never] : R : T_8 : never : never] : R : T_7 : never : never] : R : T_6 : never : never] : R : T_5 : never : never] : R : T_4 : never : never] : R : T_3 : never : never] : R : T_2 : never : never] : R : T_1 : never : never] : R : T][]>(payload: T) => Q;
2
+ export declare const wait: (ms: number) => Promise<void> & {
3
+ value: number;
4
+ abort: () => void;
5
+ };
5
6
  /**
6
7
  * @example
7
8
  * ```ts
@@ -23,6 +24,8 @@ export declare const parseJsonSafe: <T extends object>(serializedJson: string) =
23
24
  readonly error: Error;
24
25
  readonly result?: T;
25
26
  };
27
+ /** Joins propeties arrays and renames keys to lower case */
28
+ export declare const formatHeaders: (headers: object) => Record<string, string>;
26
29
  /**
27
30
  * Cuts massive string to a cunks with limited length
28
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,eAAO,MAAM,IAAI,OAAQ,MAAM,qBAAsD,CAAC;AACtF,eAAO,MAAM,IAAI,GAAI,CAAC,WAAW,CAAC,MAAY,CAAC;AAE/C,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,OAAO,EAAE,EAAE,EACrB,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,0wCACnB,CAAC,KAAG,CAQd,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,iEAGH,CAAC;AAEvB,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAG3E,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,kBAAkB,MAAM;;qBAIvD,CAAC;;;;;sBAAD,CAAC;CAQf,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,UAAW,MAAM,UAAU,MAAM,KAAG,MAAM,EAQzD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,GAAI,CAAC,WAAW,CAAC,MAAY,CAAC;AAC/C,eAAO,MAAM,IAAI,OAAQ,MAAM;;;CAiB9B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,iEAGH,CAAC;AAEvB,eAAO,MAAM,eAAe,QAAS,MAAM,KAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAG3E,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,kBAAkB,MAAM;;qBAIvD,CAAC;;;;;sBAAD,CAAC;CAQf,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAIlE,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,UAAW,MAAM,UAAU,MAAM,KAAG,MAAM,EAQzD,CAAC"}
@@ -1,19 +1,27 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cut = exports.parseJsonSafe = exports.serializeRegExp = exports.buildCounter = exports.flattenArrayed = exports.cast = exports.wait = void 0;
4
- const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
5
- exports.wait = wait;
6
+ exports.cut = exports.formatHeaders = exports.parseJsonSafe = exports.serializeRegExp = exports.buildCounter = exports.wait = exports.cast = void 0;
7
+ const lodash_1 = __importDefault(require("lodash"));
6
8
  const cast = (payload) => payload;
7
9
  exports.cast = cast;
8
- const flattenArrayed = (payload) => {
9
- if (payload?.every?.(Array.isArray)) {
10
- return payload.reduce((acc, nestedPayload) => acc.concat((0, exports.flattenArrayed)(nestedPayload)), []);
11
- }
12
- return Array.isArray(payload)
13
- ? [payload]
14
- : [[payload]];
10
+ const wait = (ms) => {
11
+ const context = {
12
+ isCanceled: false,
13
+ timeout: undefined,
14
+ };
15
+ const promise = new Promise((resolve) => context.isCanceled ? resolve() : (context.timeout = setTimeout(resolve, ms)));
16
+ return Object.assign(promise, {
17
+ value: ms,
18
+ abort: () => {
19
+ context.isCanceled = true;
20
+ clearTimeout(context.timeout);
21
+ },
22
+ });
15
23
  };
16
- exports.flattenArrayed = flattenArrayed;
24
+ exports.wait = wait;
17
25
  /**
18
26
  * @example
19
27
  * ```ts
@@ -46,6 +54,9 @@ const parseJsonSafe = (serializedJson) => {
46
54
  }
47
55
  };
48
56
  exports.parseJsonSafe = parseJsonSafe;
57
+ /** Joins propeties arrays and renames keys to lower case */
58
+ const formatHeaders = (headers) => Object.entries(headers).reduce((acc, [key, value]) => lodash_1.default.set(acc, key.toLowerCase(), Array.isArray(value) ? value.join(',') : String(value)), {});
59
+ exports.formatHeaders = formatHeaders;
49
60
  /**
50
61
  * Cuts massive string to a cunks with limited length
51
62
  *
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":";;;AAEO,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAAzE,QAAA,IAAI,QAAqE;AAC/E,MAAM,IAAI,GAAG,CAAI,OAAU,EAAE,EAAE,CAAC,OAAO,CAAC;AAAlC,QAAA,IAAI,QAA8B;AAExC,MAAM,cAAc,GAAG,CAG5B,OAAU,EAAK,EAAE;IACjB,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAU,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAA,sBAAc,EAAI,aAAa,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAI,CAAC,OAAO,CAAC;QACd,CAAC,CAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB;AAEF;;;;;;;;;GASG;AACI,MAAM,YAAY,GACvB,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,CAC1B,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,CACf,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;AAHV,QAAA,YAAY,gBAGF;AAEhB,MAAM,eAAe,GAAG,CAAC,GAAW,EAAoC,EAAE,CAAC,CAAC;IACjF,MAAM,EAAE,GAAG,CAAC,MAAM;IAClB,KAAK,EAAE,GAAG,CAAC,KAAK;CACjB,CAAC,CAAC;AAHU,QAAA,eAAe,mBAGzB;AAEI,MAAM,aAAa,GAAG,CAAmB,cAAsB,EAAE,EAAE;IACxE,IAAI,CAAC;QACH,OAAc;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;SACtC,CAAC;IACJ,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QACd,OAAc;YACZ,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC;SAC7D,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,aAAa,iBAYxB;AAEF;;;;;;;GAOG;AACI,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAc,EAAY,EAAE;IAC7D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AARW,QAAA,GAAG,OAQd"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/utils/common.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,9 @@ export type ExtractKeysWithoutType<T extends object, U, Q extends keyof T = keyo
55
55
  * ```
56
56
  */
57
57
  export type ExtractClassMethodContext<T extends Constructable<object>, K extends keyof T | keyof InstanceType<T>> = (K extends keyof T ? T[K] : K extends keyof InstanceType<T> ? InstanceType<T>[K] : never) extends TFunction<infer R0, infer R1> ? [R0, R1] : never;
58
+ export type OverrideObject<TTarget extends object, TSource extends object> = {
59
+ [K in keyof TTarget]: K extends keyof TSource ? TSource[K] extends TTarget[K] ? TSource[K] : TTarget[K] : TTarget[K];
60
+ };
58
61
  export type MergeObjects<T1 extends object, T2 extends object> = keyof T2 extends never ? T1 : Omit<T1, keyof T2> & T2;
59
62
  export type MergeClasses<T1 extends Constructable<object>, T2 extends Constructable<object>> = keyof InstanceType<T2> extends never ? keyof T2 extends never ? T1 : Omit<T1, keyof T2> & T2 : Omit<T1, keyof T2> & Constructable<Omit<InstanceType<T1>, keyof InstanceType<T2>>> & T2;
60
63
  export type MergeClassesTuple<T extends readonly Constructable<object>[]> = T extends readonly [infer R0, ...infer RN] ? R0 extends Constructable<object> ? RN extends readonly Constructable<object>[] ? MergeClasses<R0, MergeClassesTuple<RN>> : R0 : Constructable<{}> : Constructable<{}>;