@litert/televoke 0.4.6 → 1.0.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 (418) hide show
  1. package/CHANGES.md +6 -0
  2. package/README.md +13 -8
  3. package/lib/client/Client.decl.d.ts +47 -0
  4. package/lib/client/Client.decl.d.ts.map +1 -0
  5. package/lib/client/Client.decl.js +18 -0
  6. package/lib/client/Client.decl.js.map +1 -0
  7. package/lib/client/JsonApiClient.impl.d.ts +28 -0
  8. package/lib/client/JsonApiClient.impl.d.ts.map +1 -0
  9. package/lib/client/JsonApiClient.impl.js +169 -0
  10. package/lib/client/JsonApiClient.impl.js.map +1 -0
  11. package/lib/client/LegacyHttpClient.impl.d.ts +62 -0
  12. package/lib/client/LegacyHttpClient.impl.d.ts.map +1 -0
  13. package/lib/client/LegacyHttpClient.impl.js +163 -0
  14. package/lib/client/LegacyHttpClient.impl.js.map +1 -0
  15. package/lib/client/index.d.ts +19 -0
  16. package/lib/client/index.d.ts.map +1 -0
  17. package/lib/client/index.js +35 -0
  18. package/lib/client/index.js.map +1 -0
  19. package/lib/index.d.ts +18 -20
  20. package/lib/index.d.ts.map +1 -1
  21. package/lib/index.js +19 -20
  22. package/lib/index.js.map +1 -1
  23. package/lib/server/LegacyServerChannel.impl.d.ts +38 -0
  24. package/lib/server/LegacyServerChannel.impl.d.ts.map +1 -0
  25. package/lib/server/LegacyServerChannel.impl.js +51 -0
  26. package/lib/server/LegacyServerChannel.impl.js.map +1 -0
  27. package/lib/server/Server.decl.d.ts +81 -0
  28. package/lib/server/Server.decl.d.ts.map +1 -0
  29. package/lib/server/Server.decl.js +18 -0
  30. package/lib/server/Server.decl.js.map +1 -0
  31. package/lib/server/Server.impl.d.ts +33 -0
  32. package/lib/server/Server.impl.d.ts.map +1 -0
  33. package/lib/server/Server.impl.js +58 -0
  34. package/lib/server/Server.impl.js.map +1 -0
  35. package/lib/server/ServerChannel.d.ts +20 -0
  36. package/lib/server/ServerChannel.d.ts.map +1 -0
  37. package/lib/server/ServerChannel.js +23 -0
  38. package/lib/server/ServerChannel.js.map +1 -0
  39. package/lib/server/SimpleJsonApiRouter.d.ts +28 -0
  40. package/lib/server/SimpleJsonApiRouter.d.ts.map +1 -0
  41. package/lib/server/SimpleJsonApiRouter.js +92 -0
  42. package/lib/server/SimpleJsonApiRouter.js.map +1 -0
  43. package/lib/server/index.d.ts +19 -0
  44. package/lib/server/index.d.ts.map +1 -0
  45. package/lib/server/index.js +35 -0
  46. package/lib/server/index.js.map +1 -0
  47. package/lib/shared/BinaryStream.d.ts +32 -0
  48. package/lib/shared/BinaryStream.d.ts.map +1 -0
  49. package/lib/shared/BinaryStream.js +93 -0
  50. package/lib/shared/BinaryStream.js.map +1 -0
  51. package/lib/shared/BinaryStreamManager.d.ts +52 -0
  52. package/lib/shared/BinaryStreamManager.d.ts.map +1 -0
  53. package/lib/shared/BinaryStreamManager.js +105 -0
  54. package/lib/shared/BinaryStreamManager.js.map +1 -0
  55. package/lib/shared/Channel.impl.d.ts +79 -0
  56. package/lib/shared/Channel.impl.d.ts.map +1 -0
  57. package/lib/shared/Channel.impl.js +433 -0
  58. package/lib/shared/Channel.impl.js.map +1 -0
  59. package/lib/shared/Constants.d.ts +32 -0
  60. package/lib/shared/Constants.d.ts.map +1 -0
  61. package/lib/shared/Constants.js +35 -0
  62. package/lib/shared/Constants.js.map +1 -0
  63. package/lib/shared/Encodings/index.d.ts +18 -0
  64. package/lib/shared/Encodings/index.d.ts.map +1 -0
  65. package/lib/shared/Encodings/index.js +21 -0
  66. package/lib/shared/Encodings/index.js.map +1 -0
  67. package/lib/shared/Encodings/v1/EncoderV1.d.ts +22 -0
  68. package/lib/shared/Encodings/v1/EncoderV1.d.ts.map +1 -0
  69. package/lib/shared/Encodings/v1/EncoderV1.js +47 -0
  70. package/lib/shared/Encodings/v1/EncoderV1.js.map +1 -0
  71. package/lib/shared/Encodings/v1/Protocol.v1.decls.d.ts +78 -0
  72. package/lib/shared/Encodings/v1/Protocol.v1.decls.d.ts.map +1 -0
  73. package/lib/shared/Encodings/v1/Protocol.v1.decls.js +53 -0
  74. package/lib/shared/Encodings/v1/Protocol.v1.decls.js.map +1 -0
  75. package/lib/shared/Encodings/v1/index.d.ts +18 -0
  76. package/lib/shared/Encodings/v1/index.d.ts.map +1 -0
  77. package/lib/shared/Encodings/v1/index.js +34 -0
  78. package/lib/shared/Encodings/v1/index.js.map +1 -0
  79. package/lib/shared/Encodings/v2/Constants.v2.d.ts +29 -0
  80. package/lib/shared/Encodings/v2/Constants.v2.d.ts.map +1 -0
  81. package/lib/shared/Encodings/v2/Constants.v2.js +34 -0
  82. package/lib/shared/Encodings/v2/Constants.v2.js.map +1 -0
  83. package/lib/shared/Encodings/v2/DecoderV2.d.ts +27 -0
  84. package/lib/shared/Encodings/v2/DecoderV2.d.ts.map +1 -0
  85. package/lib/shared/Encodings/v2/DecoderV2.js +279 -0
  86. package/lib/shared/Encodings/v2/DecoderV2.js.map +1 -0
  87. package/lib/shared/Encodings/v2/EncoderV2.d.ts +21 -0
  88. package/lib/shared/Encodings/v2/EncoderV2.d.ts.map +1 -0
  89. package/lib/shared/Encodings/v2/EncoderV2.js +176 -0
  90. package/lib/shared/Encodings/v2/EncoderV2.js.map +1 -0
  91. package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts +95 -0
  92. package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts.map +1 -0
  93. package/lib/shared/Encodings/v2/Encoding.v2.decl.js +18 -0
  94. package/lib/shared/Encodings/v2/Encoding.v2.decl.js.map +1 -0
  95. package/lib/shared/Encodings/v2/index.d.ts +20 -0
  96. package/lib/shared/Encodings/v2/index.d.ts.map +1 -0
  97. package/lib/shared/Encodings/v2/index.js +35 -0
  98. package/lib/shared/Encodings/v2/index.js.map +1 -0
  99. package/lib/shared/Errors.d.ts +60 -0
  100. package/lib/shared/Errors.d.ts.map +1 -0
  101. package/lib/shared/Errors.js +75 -0
  102. package/lib/shared/Errors.js.map +1 -0
  103. package/lib/shared/Shared.decl.d.ts +296 -0
  104. package/lib/shared/Shared.decl.d.ts.map +1 -0
  105. package/lib/shared/Shared.decl.js +18 -0
  106. package/lib/shared/Shared.decl.js.map +1 -0
  107. package/lib/shared/Utils.d.ts +25 -0
  108. package/lib/shared/Utils.d.ts.map +1 -0
  109. package/lib/shared/Utils.js +46 -0
  110. package/lib/shared/Utils.js.map +1 -0
  111. package/lib/shared/index.d.ts +23 -0
  112. package/lib/shared/index.d.ts.map +1 -0
  113. package/lib/shared/index.js +39 -0
  114. package/lib/shared/index.js.map +1 -0
  115. package/lib/transporters/Transporter.decl.d.ts +90 -0
  116. package/lib/transporters/Transporter.decl.d.ts.map +1 -0
  117. package/lib/transporters/Transporter.decl.js +18 -0
  118. package/lib/transporters/Transporter.decl.js.map +1 -0
  119. package/lib/transporters/http-listener/AbstractHttpListener.d.ts +32 -0
  120. package/lib/transporters/http-listener/AbstractHttpListener.d.ts.map +1 -0
  121. package/lib/transporters/http-listener/AbstractHttpListener.js +46 -0
  122. package/lib/transporters/http-listener/AbstractHttpListener.js.map +1 -0
  123. package/lib/transporters/http-listener/Http.Decl.d.ts +95 -0
  124. package/lib/transporters/http-listener/Http.Decl.d.ts.map +1 -0
  125. package/lib/transporters/http-listener/Http.Decl.js +52 -0
  126. package/lib/transporters/http-listener/Http.Decl.js.map +1 -0
  127. package/lib/transporters/http-listener/HttpListener.d.ts +18 -0
  128. package/lib/transporters/http-listener/HttpListener.d.ts.map +1 -0
  129. package/lib/transporters/http-listener/HttpListener.js +73 -0
  130. package/lib/transporters/http-listener/HttpListener.js.map +1 -0
  131. package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts +18 -0
  132. package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts.map +1 -0
  133. package/lib/transporters/http-listener/HttpUnixSocketListener.js +72 -0
  134. package/lib/transporters/http-listener/HttpUnixSocketListener.js.map +1 -0
  135. package/lib/transporters/http-listener/HttpsListener.d.ts +18 -0
  136. package/lib/transporters/http-listener/HttpsListener.d.ts.map +1 -0
  137. package/lib/transporters/http-listener/HttpsListener.js +73 -0
  138. package/lib/transporters/http-listener/HttpsListener.js.map +1 -0
  139. package/lib/transporters/http-listener/index.d.ts +20 -0
  140. package/lib/transporters/http-listener/index.d.ts.map +1 -0
  141. package/lib/transporters/http-listener/index.js +36 -0
  142. package/lib/transporters/http-listener/index.js.map +1 -0
  143. package/lib/transporters/index.d.ts +17 -0
  144. package/lib/transporters/index.d.ts.map +1 -0
  145. package/lib/transporters/index.js +18 -0
  146. package/lib/transporters/index.js.map +1 -0
  147. package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts +24 -0
  148. package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts.map +1 -0
  149. package/lib/transporters/legacy-http/LegacyHttp.Server.js +167 -0
  150. package/lib/transporters/legacy-http/LegacyHttp.Server.js.map +1 -0
  151. package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts +28 -0
  152. package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts.map +1 -0
  153. package/lib/transporters/legacy-http/LegacyHttp.Transporter.js +55 -0
  154. package/lib/transporters/legacy-http/LegacyHttp.Transporter.js.map +1 -0
  155. package/lib/transporters/legacy-http/index.d.ts +18 -0
  156. package/lib/transporters/legacy-http/index.d.ts.map +1 -0
  157. package/lib/transporters/legacy-http/index.js +34 -0
  158. package/lib/transporters/legacy-http/index.js.map +1 -0
  159. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.d.ts +19 -0
  160. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.d.ts.map +1 -0
  161. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js +33 -0
  162. package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js.map +1 -0
  163. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.d.ts +21 -0
  164. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.d.ts.map +1 -0
  165. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js +64 -0
  166. package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js.map +1 -0
  167. package/lib/transporters/lwdfx/LwDFX.Tls.Client.d.ts +19 -0
  168. package/lib/transporters/lwdfx/LwDFX.Tls.Client.d.ts.map +1 -0
  169. package/lib/transporters/lwdfx/LwDFX.Tls.Client.js +33 -0
  170. package/lib/transporters/lwdfx/LwDFX.Tls.Client.js.map +1 -0
  171. package/lib/transporters/lwdfx/LwDFX.Tls.Server.d.ts +21 -0
  172. package/lib/transporters/lwdfx/LwDFX.Tls.Server.d.ts.map +1 -0
  173. package/lib/transporters/lwdfx/LwDFX.Tls.Server.js +64 -0
  174. package/lib/transporters/lwdfx/LwDFX.Tls.Server.js.map +1 -0
  175. package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts +34 -0
  176. package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts.map +1 -0
  177. package/lib/transporters/lwdfx/LwDFX.Transporter.js +78 -0
  178. package/lib/transporters/lwdfx/LwDFX.Transporter.js.map +1 -0
  179. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.d.ts +19 -0
  180. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.d.ts.map +1 -0
  181. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js +33 -0
  182. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js.map +1 -0
  183. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.d.ts +21 -0
  184. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.d.ts.map +1 -0
  185. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js +64 -0
  186. package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js.map +1 -0
  187. package/lib/transporters/lwdfx/LwDFX.decl.d.ts +18 -0
  188. package/lib/transporters/lwdfx/LwDFX.decl.d.ts.map +1 -0
  189. package/lib/transporters/lwdfx/LwDFX.decl.js +18 -0
  190. package/lib/transporters/lwdfx/LwDFX.decl.js.map +1 -0
  191. package/lib/transporters/lwdfx/index.d.ts +23 -0
  192. package/lib/transporters/lwdfx/index.d.ts.map +1 -0
  193. package/lib/transporters/lwdfx/index.js +39 -0
  194. package/lib/transporters/lwdfx/index.js.map +1 -0
  195. package/lib/transporters/memory/Memory.Impl.d.ts +43 -0
  196. package/lib/transporters/memory/Memory.Impl.d.ts.map +1 -0
  197. package/lib/transporters/memory/Memory.Impl.js +227 -0
  198. package/lib/transporters/memory/Memory.Impl.js.map +1 -0
  199. package/lib/transporters/memory/index.d.ts +17 -0
  200. package/lib/transporters/memory/index.d.ts.map +1 -0
  201. package/lib/transporters/memory/index.js +33 -0
  202. package/lib/transporters/memory/index.js.map +1 -0
  203. package/lib/transporters/websocket/WebSocket.Client.d.ts +20 -0
  204. package/lib/transporters/websocket/WebSocket.Client.d.ts.map +1 -0
  205. package/lib/transporters/websocket/WebSocket.Client.js +68 -0
  206. package/lib/transporters/websocket/WebSocket.Client.js.map +1 -0
  207. package/lib/transporters/websocket/WebSocket.Server.d.ts +25 -0
  208. package/lib/transporters/websocket/WebSocket.Server.d.ts.map +1 -0
  209. package/lib/transporters/websocket/WebSocket.Server.js +87 -0
  210. package/lib/transporters/websocket/WebSocket.Server.js.map +1 -0
  211. package/lib/transporters/websocket/WebSocket.Transporter.d.ts +34 -0
  212. package/lib/transporters/websocket/WebSocket.Transporter.d.ts.map +1 -0
  213. package/lib/transporters/websocket/WebSocket.Transporter.js +106 -0
  214. package/lib/transporters/websocket/WebSocket.Transporter.js.map +1 -0
  215. package/lib/transporters/websocket/WebSocket.decl.d.ts +19 -0
  216. package/lib/transporters/websocket/WebSocket.decl.d.ts.map +1 -0
  217. package/lib/transporters/websocket/WebSocket.decl.js +22 -0
  218. package/lib/transporters/websocket/WebSocket.decl.js.map +1 -0
  219. package/lib/transporters/websocket/index.d.ts +19 -0
  220. package/lib/transporters/websocket/index.d.ts.map +1 -0
  221. package/lib/transporters/websocket/index.js +35 -0
  222. package/lib/transporters/websocket/index.js.map +1 -0
  223. package/package.json +12 -12
  224. package/src/lib/client/Client.decl.ts +61 -0
  225. package/src/lib/client/JsonApiClient.impl.ts +258 -0
  226. package/src/lib/client/LegacyHttpClient.impl.ts +278 -0
  227. package/src/lib/client/index.ts +19 -0
  228. package/src/lib/index.ts +18 -20
  229. package/src/lib/server/LegacyServerChannel.impl.ts +71 -0
  230. package/src/lib/server/Server.decl.ts +109 -0
  231. package/src/lib/server/Server.impl.ts +90 -0
  232. package/src/lib/server/ServerChannel.ts +20 -0
  233. package/src/lib/server/SimpleJsonApiRouter.ts +135 -0
  234. package/src/lib/server/index.ts +19 -0
  235. package/src/lib/shared/BinaryStream.ts +131 -0
  236. package/src/lib/shared/BinaryStreamManager.ts +142 -0
  237. package/src/lib/shared/Channel.impl.ts +641 -0
  238. package/src/lib/shared/Constants.ts +35 -0
  239. package/src/lib/shared/Encodings/index.ts +18 -0
  240. package/src/lib/shared/Encodings/v1/EncoderV1.ts +66 -0
  241. package/src/lib/shared/Encodings/v1/Protocol.v1.decls.ts +96 -0
  242. package/src/lib/shared/Encodings/v1/index.ts +18 -0
  243. package/src/lib/shared/Encodings/v2/Constants.v2.ts +31 -0
  244. package/src/lib/shared/Encodings/v2/DecoderV2.ts +404 -0
  245. package/src/lib/shared/Encodings/v2/EncoderV2.ts +283 -0
  246. package/src/lib/shared/Encodings/v2/Encoding.v2.decl.ts +133 -0
  247. package/src/lib/shared/Encodings/v2/index.ts +20 -0
  248. package/src/lib/shared/Errors.ts +94 -0
  249. package/src/lib/shared/Shared.decl.ts +347 -0
  250. package/src/lib/shared/Utils.ts +51 -0
  251. package/src/lib/shared/index.ts +23 -0
  252. package/src/lib/transporters/Transporter.decl.ts +117 -0
  253. package/src/lib/transporters/http-listener/AbstractHttpListener.ts +57 -0
  254. package/src/lib/transporters/http-listener/Http.Decl.ts +141 -0
  255. package/src/lib/transporters/http-listener/HttpListener.ts +102 -0
  256. package/src/lib/transporters/http-listener/HttpUnixSocketListener.ts +97 -0
  257. package/src/lib/transporters/http-listener/HttpsListener.ts +102 -0
  258. package/src/lib/transporters/http-listener/index.ts +20 -0
  259. package/src/lib/transporters/index.ts +17 -0
  260. package/src/lib/transporters/legacy-http/LegacyHttp.Server.ts +262 -0
  261. package/src/lib/transporters/legacy-http/LegacyHttp.Transporter.ts +66 -0
  262. package/src/lib/transporters/legacy-http/index.ts +18 -0
  263. package/src/lib/transporters/lwdfx/LwDFX.Tcp.Client.ts +34 -0
  264. package/src/lib/transporters/lwdfx/LwDFX.Tcp.Server.ts +94 -0
  265. package/src/lib/transporters/lwdfx/LwDFX.Tls.Client.ts +34 -0
  266. package/src/lib/transporters/lwdfx/LwDFX.Tls.Server.ts +94 -0
  267. package/src/lib/transporters/lwdfx/LwDFX.Transporter.ts +100 -0
  268. package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.ts +34 -0
  269. package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.ts +94 -0
  270. package/src/lib/transporters/lwdfx/LwDFX.decl.ts +19 -0
  271. package/src/lib/transporters/lwdfx/index.ts +23 -0
  272. package/src/lib/transporters/memory/Memory.Impl.ts +363 -0
  273. package/src/lib/transporters/memory/index.ts +17 -0
  274. package/src/lib/transporters/websocket/WebSocket.Client.ts +76 -0
  275. package/src/lib/transporters/websocket/WebSocket.Server.ts +118 -0
  276. package/src/lib/transporters/websocket/WebSocket.Transporter.ts +132 -0
  277. package/src/lib/transporters/websocket/WebSocket.decl.ts +21 -0
  278. package/src/lib/transporters/websocket/index.ts +19 -0
  279. package/lib/Client/BuiltInRIDGenerator.d.ts +0 -4
  280. package/lib/Client/BuiltInRIDGenerator.d.ts.map +0 -1
  281. package/lib/Client/BuiltInRIDGenerator.js +0 -18
  282. package/lib/Client/BuiltInRIDGenerator.js.map +0 -1
  283. package/lib/Client/Common.d.ts +0 -47
  284. package/lib/Client/Common.d.ts.map +0 -1
  285. package/lib/Client/Common.js +0 -18
  286. package/lib/Client/Common.js.map +0 -1
  287. package/lib/Client/Errors.d.ts +0 -26
  288. package/lib/Client/Errors.d.ts.map +0 -1
  289. package/lib/Client/Errors.js +0 -80
  290. package/lib/Client/Errors.js.map +0 -1
  291. package/lib/Client/HttpClient.d.ts +0 -37
  292. package/lib/Client/HttpClient.d.ts.map +0 -1
  293. package/lib/Client/HttpClient.js +0 -148
  294. package/lib/Client/HttpClient.js.map +0 -1
  295. package/lib/Client/HttpsClient.d.ts +0 -40
  296. package/lib/Client/HttpsClient.d.ts.map +0 -1
  297. package/lib/Client/HttpsClient.js +0 -144
  298. package/lib/Client/HttpsClient.js.map +0 -1
  299. package/lib/Client/TCPClient.d.ts +0 -34
  300. package/lib/Client/TCPClient.d.ts.map +0 -1
  301. package/lib/Client/TCPClient.js +0 -271
  302. package/lib/Client/TCPClient.js.map +0 -1
  303. package/lib/Client/TLSClient.d.ts +0 -34
  304. package/lib/Client/TLSClient.d.ts.map +0 -1
  305. package/lib/Client/TLSClient.js +0 -265
  306. package/lib/Client/TLSClient.js.map +0 -1
  307. package/lib/Client/index.d.ts +0 -23
  308. package/lib/Client/index.d.ts.map +0 -1
  309. package/lib/Client/index.js +0 -39
  310. package/lib/Client/index.js.map +0 -1
  311. package/lib/Common/API.d.ts +0 -19
  312. package/lib/Common/API.d.ts.map +0 -1
  313. package/lib/Common/API.js +0 -18
  314. package/lib/Common/API.js.map +0 -1
  315. package/lib/Common/Encoding.d.ts +0 -32
  316. package/lib/Common/Encoding.d.ts.map +0 -1
  317. package/lib/Common/Encoding.js +0 -20
  318. package/lib/Common/Encoding.js.map +0 -1
  319. package/lib/Common/Request.d.ts +0 -23
  320. package/lib/Common/Request.d.ts.map +0 -1
  321. package/lib/Common/Request.js +0 -18
  322. package/lib/Common/Request.js.map +0 -1
  323. package/lib/Common/Response.d.ts +0 -60
  324. package/lib/Common/Response.d.ts.map +0 -1
  325. package/lib/Common/Response.js +0 -42
  326. package/lib/Common/Response.js.map +0 -1
  327. package/lib/Common/index.d.ts +0 -20
  328. package/lib/Common/index.d.ts.map +0 -1
  329. package/lib/Common/index.js +0 -36
  330. package/lib/Common/index.js.map +0 -1
  331. package/lib/Encoder/Decoder.d.ts +0 -18
  332. package/lib/Encoder/Decoder.d.ts.map +0 -1
  333. package/lib/Encoder/Decoder.js +0 -136
  334. package/lib/Encoder/Decoder.js.map +0 -1
  335. package/lib/Encoder/Encoder.d.ts +0 -18
  336. package/lib/Encoder/Encoder.d.ts.map +0 -1
  337. package/lib/Encoder/Encoder.js +0 -35
  338. package/lib/Encoder/Encoder.js.map +0 -1
  339. package/lib/Encoder/Errors.d.ts +0 -17
  340. package/lib/Encoder/Errors.d.ts.map +0 -1
  341. package/lib/Encoder/Errors.js +0 -26
  342. package/lib/Encoder/Errors.js.map +0 -1
  343. package/lib/Errors.d.ts +0 -20
  344. package/lib/Errors.d.ts.map +0 -1
  345. package/lib/Errors.js +0 -40
  346. package/lib/Errors.js.map +0 -1
  347. package/lib/Server/Common/Gateway.d.ts +0 -26
  348. package/lib/Server/Common/Gateway.d.ts.map +0 -1
  349. package/lib/Server/Common/Gateway.js +0 -18
  350. package/lib/Server/Common/Gateway.js.map +0 -1
  351. package/lib/Server/Common/Request.d.ts +0 -21
  352. package/lib/Server/Common/Request.d.ts.map +0 -1
  353. package/lib/Server/Common/Request.js +0 -18
  354. package/lib/Server/Common/Request.js.map +0 -1
  355. package/lib/Server/Common/Router.d.ts +0 -41
  356. package/lib/Server/Common/Router.d.ts.map +0 -1
  357. package/lib/Server/Common/Router.js +0 -18
  358. package/lib/Server/Common/Router.js.map +0 -1
  359. package/lib/Server/Common/Server.d.ts +0 -57
  360. package/lib/Server/Common/Server.d.ts.map +0 -1
  361. package/lib/Server/Common/Server.js +0 -18
  362. package/lib/Server/Common/Server.js.map +0 -1
  363. package/lib/Server/Common/index.d.ts +0 -20
  364. package/lib/Server/Common/index.d.ts.map +0 -1
  365. package/lib/Server/Common/index.js +0 -36
  366. package/lib/Server/Common/index.js.map +0 -1
  367. package/lib/Server/Errors.d.ts +0 -25
  368. package/lib/Server/Errors.d.ts.map +0 -1
  369. package/lib/Server/Errors.js +0 -74
  370. package/lib/Server/Errors.js.map +0 -1
  371. package/lib/Server/Gateways/Http.d.ts +0 -18
  372. package/lib/Server/Gateways/Http.d.ts.map +0 -1
  373. package/lib/Server/Gateways/Http.js +0 -144
  374. package/lib/Server/Gateways/Http.js.map +0 -1
  375. package/lib/Server/Gateways/TCP.d.ts +0 -23
  376. package/lib/Server/Gateways/TCP.d.ts.map +0 -1
  377. package/lib/Server/Gateways/TCP.js +0 -146
  378. package/lib/Server/Gateways/TCP.js.map +0 -1
  379. package/lib/Server/Server.d.ts +0 -18
  380. package/lib/Server/Server.d.ts.map +0 -1
  381. package/lib/Server/Server.js +0 -200
  382. package/lib/Server/Server.js.map +0 -1
  383. package/lib/Server/SimpleRouter.d.ts +0 -41
  384. package/lib/Server/SimpleRouter.d.ts.map +0 -1
  385. package/lib/Server/SimpleRouter.js +0 -54
  386. package/lib/Server/SimpleRouter.js.map +0 -1
  387. package/lib/Server/index.d.ts +0 -22
  388. package/lib/Server/index.d.ts.map +0 -1
  389. package/lib/Server/index.js +0 -38
  390. package/lib/Server/index.js.map +0 -1
  391. package/src/lib/Client/BuiltInRIDGenerator.ts +0 -21
  392. package/src/lib/Client/Common.ts +0 -63
  393. package/src/lib/Client/Errors.ts +0 -87
  394. package/src/lib/Client/HttpClient.ts +0 -232
  395. package/src/lib/Client/HttpsClient.ts +0 -238
  396. package/src/lib/Client/TCPClient.ts +0 -420
  397. package/src/lib/Client/TLSClient.ts +0 -422
  398. package/src/lib/Client/index.ts +0 -23
  399. package/src/lib/Common/API.ts +0 -20
  400. package/src/lib/Common/Encoding.ts +0 -42
  401. package/src/lib/Common/Request.ts +0 -28
  402. package/src/lib/Common/Response.ts +0 -67
  403. package/src/lib/Common/index.ts +0 -20
  404. package/src/lib/Encoder/Decoder.ts +0 -206
  405. package/src/lib/Encoder/Encoder.ts +0 -41
  406. package/src/lib/Encoder/Errors.ts +0 -24
  407. package/src/lib/Errors.ts +0 -40
  408. package/src/lib/Server/Common/Gateway.ts +0 -37
  409. package/src/lib/Server/Common/Request.ts +0 -24
  410. package/src/lib/Server/Common/Router.ts +0 -52
  411. package/src/lib/Server/Common/Server.ts +0 -68
  412. package/src/lib/Server/Common/index.ts +0 -20
  413. package/src/lib/Server/Errors.ts +0 -80
  414. package/src/lib/Server/Gateways/Http.ts +0 -203
  415. package/src/lib/Server/Gateways/TCP.ts +0 -221
  416. package/src/lib/Server/Server.ts +0 -268
  417. package/src/lib/Server/SimpleRouter.ts +0 -95
  418. package/src/lib/Server/index.ts +0 -22
@@ -0,0 +1,433 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * https://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AbstractTvChannelV2 = exports.encoder = exports.decoder = void 0;
19
+ const E = require("./Errors");
20
+ const node_events_1 = require("node:events");
21
+ const v2 = require("./Encodings/v2");
22
+ const Utils_1 = require("./Utils");
23
+ const DEFAULT_PING_MESSAGE = Buffer.from('PING');
24
+ exports.decoder = new v2.TvDecoderV2();
25
+ exports.encoder = new v2.TvEncoderV2();
26
+ var EState;
27
+ (function (EState) {
28
+ EState[EState["ACTIVE"] = 0] = "ACTIVE";
29
+ EState[EState["ENDING"] = 1] = "ENDING";
30
+ EState[EState["ENDED"] = 2] = "ENDED";
31
+ })(EState || (EState = {}));
32
+ class AbstractTvChannelV2 extends node_events_1.EventEmitter {
33
+ get finished() {
34
+ return this._state === EState.ENDED;
35
+ }
36
+ get writable() {
37
+ return this._state === EState.ACTIVE && this.transporter.writable;
38
+ }
39
+ constructor(id, transporter, timeout, streamManagerFactory) {
40
+ super();
41
+ this.id = id;
42
+ this.transporter = transporter;
43
+ this.timeout = timeout;
44
+ this._seqCounter = 0;
45
+ this.context = {};
46
+ /**
47
+ * The context of requests sent out, waiting for replies.
48
+ */
49
+ this._sentRequests = {};
50
+ /**
51
+ * The qty of received and not responded requests, waiting for replies.
52
+ */
53
+ this._recvRequests = 0;
54
+ this._state = EState.ACTIVE;
55
+ this.ended = false;
56
+ this._onData = (frameChunks) => {
57
+ try {
58
+ const packet = exports.decoder.decode(frameChunks);
59
+ switch (packet.typ) {
60
+ case v2.EPacketType.REQUEST:
61
+ this._onRequest(packet);
62
+ break;
63
+ case v2.EPacketType.ERROR_RESPONSE:
64
+ case v2.EPacketType.SUCCESS_RESPONSE:
65
+ this._onResponse(packet);
66
+ break;
67
+ default:
68
+ this.emit('error', new E.errors.invalid_packet({
69
+ reason: 'invalid_packet_type',
70
+ packet,
71
+ }));
72
+ }
73
+ }
74
+ catch (e) {
75
+ this._end();
76
+ this.emit('error', e);
77
+ }
78
+ };
79
+ this._onConnError = (e) => {
80
+ this.emit('error', e);
81
+ };
82
+ this._onConnClose = () => {
83
+ for (const k of Object.keys(this._sentRequests)) {
84
+ const req = this._sentRequests[k];
85
+ delete this._sentRequests[k];
86
+ if (req.timer) {
87
+ clearTimeout(req.timer);
88
+ }
89
+ try {
90
+ req.callback({
91
+ 'cmd': req.cmd,
92
+ 'typ': v2.EPacketType.ERROR_RESPONSE,
93
+ 'seq': req.seq,
94
+ 'ct': new E.errors.channel_closed(),
95
+ });
96
+ }
97
+ catch (e) {
98
+ this.emit('warning', e);
99
+ }
100
+ }
101
+ this.ended = true;
102
+ this._state = EState.ENDED;
103
+ this.emit('close');
104
+ };
105
+ this._onRemoteEnded = () => {
106
+ if (this.ended) {
107
+ return;
108
+ }
109
+ this.ended = true;
110
+ this._state = EState.ENDING;
111
+ this.emit('end');
112
+ };
113
+ this._onLocalEnded = () => {
114
+ if (this._state === EState.ENDED) {
115
+ return;
116
+ }
117
+ this._state = EState.ENDED;
118
+ this.emit('finish');
119
+ };
120
+ this.streams = streamManagerFactory(this);
121
+ this._setup();
122
+ }
123
+ _setup() {
124
+ this.transporter
125
+ .on('frame', this._onData)
126
+ .on('error', this._onConnError)
127
+ .on('close', this._onConnClose)
128
+ .on('end', this._onRemoteEnded)
129
+ .on('finish', this._onLocalEnded);
130
+ }
131
+ _end() {
132
+ // for (const id of Object.keys(this._streams)) {
133
+ // this._streams[id].abort();
134
+ // delete this._streams[id];
135
+ // }
136
+ if (this._isIdle()) {
137
+ this._state = EState.ENDED;
138
+ this.transporter.end();
139
+ }
140
+ else {
141
+ this._state = EState.ENDING;
142
+ }
143
+ }
144
+ _tryClean() {
145
+ if (this._state !== EState.ENDING) {
146
+ return;
147
+ }
148
+ if (this._isIdle()) {
149
+ this._state = EState.ENDED;
150
+ this.transporter.end();
151
+ }
152
+ }
153
+ _isIdle() {
154
+ return Object.keys(this._sentRequests).length === 0 && this._recvRequests === 0;
155
+ }
156
+ _onResponse(packet) {
157
+ const request = this._sentRequests[packet.seq];
158
+ if (!request) {
159
+ // Timeout response, drop it.
160
+ return;
161
+ }
162
+ delete this._sentRequests[request.seq];
163
+ if (request.timer !== undefined) {
164
+ clearTimeout(request.timer);
165
+ }
166
+ if (request.cmd !== packet.cmd) {
167
+ request.callback({
168
+ typ: v2.EPacketType.ERROR_RESPONSE,
169
+ seq: request.seq,
170
+ cmd: request.cmd,
171
+ ct: new E.errors.invalid_response({
172
+ reason: 'mismatched_command',
173
+ packet,
174
+ })
175
+ });
176
+ this._end();
177
+ return;
178
+ }
179
+ request.callback(packet);
180
+ }
181
+ _reply(packet) {
182
+ try {
183
+ this.transporter.write(exports.encoder.encode(packet));
184
+ }
185
+ catch (e) {
186
+ // ignore errors here.
187
+ this.emit('warning', e);
188
+ }
189
+ }
190
+ _onRequest(packet) {
191
+ if (this._state !== EState.ACTIVE) {
192
+ this._reply({
193
+ 'cmd': packet.cmd,
194
+ 'typ': v2.EPacketType.ERROR_RESPONSE,
195
+ 'seq': packet.seq,
196
+ 'ct': new E.errors.channel_inactive()
197
+ });
198
+ return;
199
+ }
200
+ switch (packet.cmd) {
201
+ default:
202
+ this._reply({
203
+ 'cmd': packet.cmd,
204
+ 'typ': v2.EPacketType.ERROR_RESPONSE,
205
+ 'seq': packet.seq,
206
+ 'ct': new E.errors.invalid_packet({
207
+ reason: 'unknown_command',
208
+ packet,
209
+ })
210
+ });
211
+ return;
212
+ case v2.ECommand.CLOSE:
213
+ this.on('finish', () => {
214
+ this._reply({
215
+ 'cmd': v2.ECommand.CLOSE,
216
+ 'typ': v2.EPacketType.SUCCESS_RESPONSE,
217
+ 'seq': packet.seq,
218
+ 'ct': new E.errors.invalid_packet({
219
+ reason: 'unknown_command',
220
+ packet,
221
+ })
222
+ });
223
+ });
224
+ this._end();
225
+ return;
226
+ case v2.ECommand.PING:
227
+ this._reply({
228
+ 'cmd': v2.ECommand.PING,
229
+ 'typ': v2.EPacketType.SUCCESS_RESPONSE,
230
+ 'seq': packet.seq,
231
+ 'ct': packet.ct,
232
+ });
233
+ this.emit('ping');
234
+ return;
235
+ case v2.ECommand.PUSH_MESSAGE:
236
+ if (!this.listenerCount('push_message')) {
237
+ this._reply({
238
+ 'cmd': v2.ECommand.PUSH_MESSAGE,
239
+ 'typ': v2.EPacketType.ERROR_RESPONSE,
240
+ 'seq': packet.seq,
241
+ 'ct': new E.errors.cmd_not_impl()
242
+ });
243
+ break;
244
+ }
245
+ this._reply({
246
+ 'cmd': v2.ECommand.PUSH_MESSAGE,
247
+ 'typ': v2.EPacketType.SUCCESS_RESPONSE,
248
+ 'seq': packet.seq,
249
+ 'ct': null,
250
+ });
251
+ this.emit('push_message', packet.ct, packet.seq);
252
+ break;
253
+ case v2.ECommand.API_CALL:
254
+ if (!this.listenerCount('api_call')) {
255
+ this._reply({
256
+ 'cmd': v2.ECommand.API_CALL,
257
+ 'typ': v2.EPacketType.ERROR_RESPONSE,
258
+ 'seq': packet.seq,
259
+ 'ct': new E.errors.cmd_not_impl()
260
+ });
261
+ break;
262
+ }
263
+ this._recvRequests++;
264
+ this.emit('api_call', (0, Utils_1.once)((response) => {
265
+ this._recvRequests--;
266
+ this._reply({
267
+ 'cmd': v2.ECommand.API_CALL,
268
+ 'typ': response instanceof E.TelevokeError ?
269
+ v2.EPacketType.ERROR_RESPONSE :
270
+ v2.EPacketType.SUCCESS_RESPONSE,
271
+ 'seq': packet.seq,
272
+ 'ct': response,
273
+ });
274
+ this._tryClean();
275
+ }), packet.ct.name, packet.ct.body, packet.seq);
276
+ break;
277
+ case v2.ECommand.BINARY_CHUNK: {
278
+ const stream = this.streams.get(packet.ct.streamId);
279
+ if (!stream) {
280
+ this._reply({
281
+ 'cmd': v2.ECommand.BINARY_CHUNK,
282
+ 'typ': v2.EPacketType.ERROR_RESPONSE,
283
+ 'seq': packet.seq,
284
+ 'ct': new E.errors.stream_not_found({
285
+ 'sid': packet.ct.streamId,
286
+ 'chId': this.id,
287
+ }),
288
+ });
289
+ break;
290
+ }
291
+ const chunks = packet.ct.body;
292
+ if (!chunks[0]?.byteLength) {
293
+ stream.close();
294
+ }
295
+ else {
296
+ for (const chunk of chunks) {
297
+ stream.push(chunk);
298
+ }
299
+ }
300
+ this._reply({
301
+ 'cmd': v2.ECommand.BINARY_CHUNK,
302
+ 'typ': v2.EPacketType.SUCCESS_RESPONSE,
303
+ 'seq': packet.seq,
304
+ 'ct': null,
305
+ });
306
+ break;
307
+ }
308
+ }
309
+ }
310
+ _setTimeout(cmd, seq, callback) {
311
+ const req = this._sentRequests[seq] = {
312
+ 'cmd': cmd,
313
+ 'seq': seq,
314
+ 'callback': callback,
315
+ };
316
+ if (this.timeout < 1 || !req) {
317
+ return;
318
+ }
319
+ req.timer = setTimeout(() => {
320
+ if (!req.timer) {
321
+ return;
322
+ }
323
+ delete this._sentRequests[req.seq];
324
+ req.callback({
325
+ 'cmd': req.cmd,
326
+ 'typ': v2.EPacketType.ERROR_RESPONSE,
327
+ 'seq': req.seq,
328
+ 'ct': new E.errors.timeout(),
329
+ });
330
+ }, this.timeout);
331
+ }
332
+ openBinaryStream() {
333
+ if (!this.writable || !this.streams) {
334
+ throw new E.errors.channel_inactive();
335
+ }
336
+ return this.streams.create();
337
+ }
338
+ ping(message) {
339
+ if (!this.writable) {
340
+ return Promise.reject(new E.errors.channel_inactive());
341
+ }
342
+ message ?? (message = DEFAULT_PING_MESSAGE);
343
+ const seq = this._seqCounter++;
344
+ this.transporter.write(exports.encoder.encode({
345
+ 'cmd': v2.ECommand.PING,
346
+ 'typ': v2.EPacketType.REQUEST,
347
+ 'seq': seq,
348
+ 'ct': message,
349
+ }));
350
+ return new Promise((resolve, reject) => {
351
+ this._setTimeout(v2.ECommand.PING, seq, (p) => {
352
+ if (p.typ === v2.EPacketType.SUCCESS_RESPONSE) {
353
+ if (Array.isArray(p.ct)) {
354
+ resolve(Buffer.concat(p.ct));
355
+ }
356
+ else {
357
+ resolve(p.ct);
358
+ }
359
+ }
360
+ else {
361
+ reject(p.ct);
362
+ }
363
+ });
364
+ });
365
+ }
366
+ sendBinaryChunk(streamId, chunk) {
367
+ if (!this.writable) {
368
+ return Promise.reject(new E.errors.channel_inactive());
369
+ }
370
+ const seq = this._seqCounter++;
371
+ this.transporter.write(exports.encoder.encode({
372
+ 'cmd': v2.ECommand.BINARY_CHUNK,
373
+ 'typ': v2.EPacketType.REQUEST,
374
+ 'seq': seq,
375
+ 'ct': {
376
+ streamId,
377
+ 'body': chunk ?? [],
378
+ }
379
+ }));
380
+ return new Promise((resolve, reject) => {
381
+ this._setTimeout(v2.ECommand.BINARY_CHUNK, seq, (p) => {
382
+ if (p.typ === v2.EPacketType.SUCCESS_RESPONSE) {
383
+ resolve();
384
+ }
385
+ else {
386
+ reject(p.ct);
387
+ }
388
+ });
389
+ });
390
+ }
391
+ sendMessage(message) {
392
+ if (!this.writable) {
393
+ return Promise.reject(new E.errors.channel_inactive());
394
+ }
395
+ const seq = this._seqCounter++;
396
+ this.transporter.write(exports.encoder.encode({
397
+ 'cmd': v2.ECommand.PUSH_MESSAGE,
398
+ 'typ': v2.EPacketType.REQUEST,
399
+ 'seq': seq,
400
+ 'ct': message,
401
+ }));
402
+ return new Promise((resolve, reject) => {
403
+ this._setTimeout(v2.ECommand.PUSH_MESSAGE, seq, (p) => {
404
+ if (p.typ === v2.EPacketType.SUCCESS_RESPONSE) {
405
+ resolve();
406
+ }
407
+ else {
408
+ reject(p.ct);
409
+ }
410
+ });
411
+ });
412
+ }
413
+ close() {
414
+ if (!this.writable) {
415
+ return;
416
+ }
417
+ const seq = this._seqCounter++;
418
+ try {
419
+ this.transporter.write(exports.encoder.encode({
420
+ 'cmd': v2.ECommand.CLOSE,
421
+ 'typ': v2.EPacketType.REQUEST,
422
+ 'seq': seq,
423
+ 'ct': null,
424
+ }));
425
+ }
426
+ catch {
427
+ // ignore errors here.
428
+ }
429
+ this._end();
430
+ }
431
+ }
432
+ exports.AbstractTvChannelV2 = AbstractTvChannelV2;
433
+ //# sourceMappingURL=Channel.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Channel.impl.js","sourceRoot":"","sources":["../../src/lib/shared/Channel.impl.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAGF,8BAA8B;AAE9B,6CAA2C;AAC3C,qCAAqC;AACrC,mCAA+B;AAyB/B,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEpC,QAAA,OAAO,GAAG,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC/B,QAAA,OAAO,GAAG,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAa5C,IAAK,MAIJ;AAJD,WAAK,MAAM;IACP,uCAAM,CAAA;IACN,uCAAM,CAAA;IACN,qCAAK,CAAA;AACT,CAAC,EAJI,MAAM,KAAN,MAAM,QAIV;AAED,MAAsB,mBAClB,SAAQ,0BAAY;IAqBpB,IAAW,QAAQ;QAEf,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC;IACxC,CAAC;IAED,IAAW,QAAQ;QAEf,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IACtE,CAAC;IAID,YACoB,EAAU,EACV,WAAkD,EAC3D,OAAe,EACtB,oBAAkD;QAGlD,KAAK,EAAE,CAAC;QANQ,OAAE,GAAF,EAAE,CAAQ;QACV,gBAAW,GAAX,WAAW,CAAuC;QAC3D,YAAO,GAAP,OAAO,CAAQ;QAjChB,gBAAW,GAAG,CAAC,CAAC;QAEV,YAAO,GAA4B,EAAE,CAAC;QAEtD;;WAEG;QACO,kBAAa,GAAqC,EAAE,CAAC;QAE/D;;WAEG;QACO,kBAAa,GAAW,CAAC,CAAC;QAE5B,WAAM,GAAW,MAAM,CAAC,MAAM,CAAC;QAEhC,UAAK,GAAY,KAAK,CAAC;QA4Bb,YAAO,GAAG,CAAC,WAAqB,EAAQ,EAAE;YAEvD,IAAI;gBAEA,MAAM,MAAM,GAAG,eAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE3C,QAAQ,MAAM,CAAC,GAAG,EAAE;oBAChB,KAAK,EAAE,CAAC,WAAW,CAAC,OAAO;wBACvB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBACxB,MAAM;oBACV,KAAK,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC;oBACnC,KAAK,EAAE,CAAC,WAAW,CAAC,gBAAgB;wBAEhC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBACzB,MAAM;oBACV;wBACI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;4BAC3C,MAAM,EAAE,qBAAqB;4BAC7B,MAAM;yBACT,CAAC,CAAC,CAAC;iBACX;aACJ;YACD,OAAO,CAAC,EAAE;gBAEN,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEZ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACzB;QACL,CAAC,CAAC;QAEe,iBAAY,GAAG,CAAC,CAAU,EAAQ,EAAE;YAEjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEe,iBAAY,GAAG,GAAS,EAAE;YAEvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE7B,IAAI,GAAG,CAAC,KAAK,EAAE;oBAEX,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC3B;gBAED,IAAI;oBAEA,GAAG,CAAC,QAAQ,CAAC;wBACT,KAAK,EAAE,GAAG,CAAC,GAAG;wBACd,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;wBACpC,KAAK,EAAE,GAAG,CAAC,GAAG;wBACd,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE;qBACtC,CAAC,CAAC;iBACN;gBACD,OAAO,CAAC,EAAE;oBAEN,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;iBAC3B;aACJ;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC;QAEe,mBAAc,GAAG,GAAS,EAAE;YAEzC,IAAI,IAAI,CAAC,KAAK,EAAE;gBAAE,OAAO;aAAE;YAE3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAE5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC;QAEe,kBAAa,GAAG,GAAS,EAAE;YAExC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE;gBAAE,OAAO;aAAE;YAE7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC,CAAC;QAxFE,IAAI,CAAC,OAAO,GAAG,oBAAoB,CAAC,IAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAuFO,MAAM;QAEV,IAAI,CAAC,WAAW;aACX,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;aACzB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;aAC9B,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;aAC9B,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;aAC9B,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAEO,IAAI;QAER,iDAAiD;QAEjD,iCAAiC;QACjC,gCAAgC;QAChC,IAAI;QAEJ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAEhB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1B;aACI;YAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SAC/B;IACL,CAAC;IAEO,SAAS;QAEb,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;YAE/B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YAEhB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;SAC1B;IACL,CAAC;IAEO,OAAO;QAEX,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC;IACpF,CAAC;IAEO,WAAW,CAAC,MAAyB;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,EAAE;YAEV,6BAA6B;YAC7B,OAAO;SACV;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAE7B,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAAE;YAE5B,OAAO,CAAC,QAAQ,CAAC;gBACb,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;gBAClC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,EAAE,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBAC9B,MAAM,EAAE,oBAAoB;oBAC5B,MAAM;iBACT,CAAC;aACL,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YAEZ,OAAO;SACV;QAED,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,MAAyB;QAEpC,IAAI;YAEA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SAClD;QACD,OAAO,CAAC,EAAE;YAEN,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;SAC3B;IACL,CAAC;IAEO,UAAU,CAAC,MAAyB;QAExC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;YAE/B,IAAI,CAAC,MAAM,CAAC;gBACR,KAAK,EAAE,MAAM,CAAC,GAAG;gBACjB,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;gBACpC,KAAK,EAAE,MAAM,CAAC,GAAG;gBACjB,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE;aACxC,CAAC,CAAC;YACH,OAAO;SACV;QAED,QAAQ,MAAM,CAAC,GAAG,EAAE;YAEhB;gBAEI,IAAI,CAAC,MAAM,CAAC;oBACR,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;oBACpC,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;wBAC9B,MAAM,EAAE,iBAAiB;wBACzB,MAAM;qBACT,CAAC;iBACL,CAAC,CAAC;gBACH,OAAO;YAEX,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK;gBAElB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBAEnB,IAAI,CAAC,MAAM,CAAC;wBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK;wBACxB,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB;wBACtC,KAAK,EAAE,MAAM,CAAC,GAAG;wBACjB,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;4BAC9B,MAAM,EAAE,iBAAiB;4BACzB,MAAM;yBACT,CAAC;qBACL,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO;YAEX,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI;gBAEjB,IAAI,CAAC,MAAM,CAAC;oBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;oBACvB,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB;oBACtC,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,IAAI,EAAE,MAAM,CAAC,EAAE;iBAClB,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAElB,OAAO;YAEX,KAAK,EAAE,CAAC,QAAQ,CAAC,YAAY;gBAEzB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;oBAErC,IAAI,CAAC,MAAM,CAAC;wBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY;wBAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;wBACpC,KAAK,EAAE,MAAM,CAAC,GAAG;wBACjB,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;qBACpC,CAAC,CAAC;oBACH,MAAM;iBACT;gBAED,IAAI,CAAC,MAAM,CAAC;oBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY;oBAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB;oBACtC,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,EAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAE7D,MAAM;YAEV,KAAK,EAAE,CAAC,QAAQ,CAAC,QAAQ;gBAErB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;oBAEjC,IAAI,CAAC,MAAM,CAAC;wBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ;wBAC3B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;wBACpC,KAAK,EAAE,MAAM,CAAC,GAAG;wBACjB,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE;qBACpC,CAAC,CAAC;oBACH,MAAM;iBACT;gBAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBAErB,IAAI,CAAC,IAAI,CACL,UAAU,EACV,IAAA,YAAI,EAAC,CAAC,QAA8C,EAAE,EAAE;oBAEpD,IAAI,CAAC,aAAa,EAAE,CAAC;oBAErB,IAAI,CAAC,MAAM,CAAC;wBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ;wBAC3B,KAAK,EAAE,QAAQ,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC;4BACxC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;4BAC/B,EAAE,CAAC,WAAW,CAAC,gBAAgB;wBACnC,KAAK,EAAE,MAAM,CAAC,GAAG;wBACjB,IAAI,EAAE,QAAQ;qBACjB,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrB,CAAC,CAAC,EACD,MAA+B,CAAC,EAAE,CAAC,IAAI,EACvC,MAA+B,CAAC,EAAE,CAAC,IAAI,EACxC,MAAM,CAAC,GAAG,CACb,CAAC;gBAEF,MAAM;YAEV,KAAK,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,MAAuC,CAAC,EAAE,CAAC,QAAQ,CAAE,CAAC;gBAEvF,IAAI,CAAC,MAAM,EAAE;oBAET,IAAI,CAAC,MAAM,CAAC;wBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY;wBAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;wBACpC,KAAK,EAAE,MAAM,CAAC,GAAG;wBACjB,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;4BAChC,KAAK,EAAG,MAAuC,CAAC,EAAE,CAAC,QAAQ;4BAC3D,MAAM,EAAE,IAAI,CAAC,EAAE;yBAClB,CAAC;qBACL,CAAC,CAAC;oBACH,MAAM;iBACT;gBAED,MAAM,MAAM,GAAI,MAAuC,CAAC,EAAE,CAAC,IAAgB,CAAC;gBAE5E,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE;oBAExB,MAAM,CAAC,KAAK,EAAE,CAAC;iBAClB;qBACI;oBAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;wBAExB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACtB;iBACJ;gBAED,IAAI,CAAC,MAAM,CAAC;oBACR,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY;oBAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,gBAAgB;oBACtC,KAAK,EAAE,MAAM,CAAC,GAAG;oBACjB,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;gBAEH,MAAM;aACT;SACJ;IACL,CAAC;IAES,WAAW,CAAC,GAAgB,EAAE,GAAW,EAAE,QAA4C;QAE7F,MAAM,GAAG,GAAqB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG;YACpD,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,UAAU,EAAE,QAAQ;SACvB,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;YAE1B,OAAO;SACV;QAED,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAExB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;gBAEZ,OAAO;aACV;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEnC,GAAG,CAAC,QAAQ,CAAC;gBACT,KAAK,EAAE,GAAG,CAAC,GAAG;gBACd,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,cAAc;gBACpC,KAAK,EAAE,GAAG,CAAC,GAAG;gBACd,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;aAC/B,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,gBAAgB;QAEnB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAEjC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;SACzC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAEM,IAAI,CAAC,OAAyB;QAEjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAEhB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC1D;QAED,OAAO,KAAP,OAAO,GAAK,oBAAoB,EAAC;QAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAO,CAAC,MAAM,CAAC;YAClC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;YACvB,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO;YAC7B,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;SACgB,CAAC,CAAC,CAAC;QAEpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEnC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;gBAE1C,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE;oBAE3C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;wBAErB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAc,CAAC,CAAC,CAAC;qBAC5C;yBACI;wBAED,OAAO,CAAC,CAAC,CAAC,EAAY,CAAC,CAAC;qBAC3B;iBACJ;qBACI;oBAED,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,eAAe,CAAC,QAAgB,EAAE,KAAoB;QAEzD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAEhB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC1D;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAO,CAAC,MAAM,CAAC;YAClC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY;YAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO;YAC7B,KAAK,EAAE,GAAG;YACV,IAAI,EAAE;gBACF,QAAQ;gBACR,MAAM,EAAE,KAAK,IAAI,EAAE;aACtB;SACmC,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEnC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;gBAElD,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE;oBAE3C,OAAO,EAAE,CAAC;iBACb;qBACI;oBAED,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,WAAW,CAAC,OAAwB;QAEvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAEhB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC1D;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAO,CAAC,MAAM,CAAC;YAClC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY;YAC/B,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO;YAC7B,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,OAAO;SACuB,CAAC,CAAC,CAAC;QAE3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEnC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;gBAElD,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE;oBAE3C,OAAO,EAAE,CAAC;iBACb;qBACI;oBAED,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK;QAER,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAEhB,OAAO;SACV;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAE/B,IAAI;YAEA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAO,CAAC,MAAM,CAAC;gBAClC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK;gBACxB,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO;gBAC7B,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,IAAI;aACoB,CAAC,CAAC,CAAC;SACxC;QACD,MAAM;YAEF,sBAAsB;SACzB;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;CACJ;AA5jBD,kDA4jBC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * The namespace of protocol errors.
18
+ */
19
+ export declare const PROTOCOL_ERROR_NAMESPACE = "tv_error";
20
+ /**
21
+ * The namespace of application layer errors.
22
+ */
23
+ export declare const APP_ERROR_NAMESPACE = "app_error";
24
+ /**
25
+ * The default timeout value of each new binary stream.
26
+ */
27
+ export declare const DEFAULT_STREAM_TIMEOUT = 30000;
28
+ /**
29
+ * The default maximum number of streams of a stream manager.
30
+ */
31
+ export declare const DEFAULT_MAX_STREAMS = 10;
32
+ //# sourceMappingURL=Constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.d.ts","sourceRoot":"","sources":["../../src/lib/shared/Constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * https://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.DEFAULT_MAX_STREAMS = exports.DEFAULT_STREAM_TIMEOUT = exports.APP_ERROR_NAMESPACE = exports.PROTOCOL_ERROR_NAMESPACE = void 0;
19
+ /**
20
+ * The namespace of protocol errors.
21
+ */
22
+ exports.PROTOCOL_ERROR_NAMESPACE = 'tv_error';
23
+ /**
24
+ * The namespace of application layer errors.
25
+ */
26
+ exports.APP_ERROR_NAMESPACE = 'app_error';
27
+ /**
28
+ * The default timeout value of each new binary stream.
29
+ */
30
+ exports.DEFAULT_STREAM_TIMEOUT = 30000;
31
+ /**
32
+ * The default maximum number of streams of a stream manager.
33
+ */
34
+ exports.DEFAULT_MAX_STREAMS = 10;
35
+ //# sourceMappingURL=Constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/lib/shared/Constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF;;GAEG;AACU,QAAA,wBAAwB,GAAG,UAAU,CAAC;AAEnD;;GAEG;AACU,QAAA,mBAAmB,GAAG,WAAW,CAAC;AAE/C;;GAEG;AACU,QAAA,sBAAsB,GAAG,KAAM,CAAC;AAE7C;;GAEG;AACU,QAAA,mBAAmB,GAAG,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export * as v1 from './v1';
17
+ export * as v2 from './v2';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/shared/Encodings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAEF,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * https://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.v2 = exports.v1 = void 0;
19
+ exports.v1 = require("./v1");
20
+ exports.v2 = require("./v2");
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/shared/Encodings/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,6BAA2B;AAC3B,6BAA2B"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import * as dEncV1 from './Protocol.v1.decls';
17
+ export declare class TvEncoderV1 {
18
+ encodeApiRequest(rid: string | number, name: string, args: unknown, timeout: number): string;
19
+ encodeApiOkResponse(rid: string | number, body: unknown, recvAt: number): string;
20
+ encodeApiErrorResponse(rid: string | number, errorCode: dEncV1.EResponseCode, body: string, recvAt: number): string;
21
+ }
22
+ //# sourceMappingURL=EncoderV1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncoderV1.d.ts","sourceRoot":"","sources":["../../../../src/lib/shared/Encodings/v1/EncoderV1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AAEF,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,qBAAa,WAAW;IAEb,gBAAgB,CACnB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,GAChB,MAAM;IAWF,mBAAmB,CACtB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,GACf,MAAM;IAWF,sBAAsB,CACzB,GAAG,EAAE,MAAM,GAAG,MAAM,EACpB,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACf,MAAM;CASZ"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2023 Angus.Fenying <fenying@litert.org>
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * https://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TvEncoderV1 = void 0;
19
+ const dEncV1 = require("./Protocol.v1.decls");
20
+ class TvEncoderV1 {
21
+ encodeApiRequest(rid, name, args, timeout) {
22
+ return JSON.stringify({
23
+ ttl: timeout,
24
+ rid,
25
+ api: name,
26
+ args,
27
+ cst: Date.now(),
28
+ });
29
+ }
30
+ encodeApiOkResponse(rid, body, recvAt) {
31
+ return JSON.stringify({
32
+ rid,
33
+ body,
34
+ sst: Date.now(),
35
+ srt: recvAt,
36
+ code: dEncV1.EResponseCode.OK,
37
+ });
38
+ }
39
+ encodeApiErrorResponse(rid, errorCode, body, recvAt) {
40
+ if (typeof rid === 'string') {
41
+ rid = JSON.stringify(rid);
42
+ }
43
+ return `{"rid":${rid},"body":${body},"sst":${Date.now()},"srt":${recvAt},"code":${errorCode}}`;
44
+ }
45
+ }
46
+ exports.TvEncoderV1 = TvEncoderV1;
47
+ //# sourceMappingURL=EncoderV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncoderV1.js","sourceRoot":"","sources":["../../../../src/lib/shared/Encodings/v1/EncoderV1.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,8CAA8C;AAE9C,MAAa,WAAW;IAEb,gBAAgB,CACnB,GAAoB,EACpB,IAAY,EACZ,IAAa,EACb,OAAe;QAGf,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,GAAG,EAAE,OAAO;YACZ,GAAG;YACH,GAAG,EAAE,IAAI;YACT,IAAI;YACJ,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SACiB,CAAC,CAAC;IAC1C,CAAC;IAEM,mBAAmB,CACtB,GAAoB,EACpB,IAAa,EACb,MAAc;QAGd,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,GAAG;YACH,IAAI;YACJ,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;YACf,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE;SACI,CAAC,CAAC;IAC3C,CAAC;IAEM,sBAAsB,CACzB,GAAoB,EACpB,SAA+B,EAC/B,IAAY,EACZ,MAAc;QAGd,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAEzB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC7B;QAED,OAAO,UAAU,GAAG,WAAW,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,UAAU,MAAM,WAAW,SAAS,GAAG,CAAC;IACnG,CAAC;CACJ;AA/CD,kCA+CC"}