@omujs/omu 0.1.22

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 (342) hide show
  1. package/.eslintignore +13 -0
  2. package/.eslintrc.cjs +6 -0
  3. package/.prettierignore +1 -0
  4. package/CHANGELOG.md +268 -0
  5. package/LICENSE +21 -0
  6. package/README.md +1 -0
  7. package/built/dts/address.d.ts +6 -0
  8. package/built/dts/address.d.ts.map +1 -0
  9. package/built/dts/app.d.ts +38 -0
  10. package/built/dts/app.d.ts.map +1 -0
  11. package/built/dts/bytebuffer.d.ts +46 -0
  12. package/built/dts/bytebuffer.d.ts.map +1 -0
  13. package/built/dts/client/client.d.ts +47 -0
  14. package/built/dts/client/client.d.ts.map +1 -0
  15. package/built/dts/client/index.d.ts +2 -0
  16. package/built/dts/client/index.d.ts.map +1 -0
  17. package/built/dts/client/omu.d.ts +53 -0
  18. package/built/dts/client/omu.d.ts.map +1 -0
  19. package/built/dts/client/omuclient.d.ts +50 -0
  20. package/built/dts/client/omuclient.d.ts.map +1 -0
  21. package/built/dts/client/token.d.ts +14 -0
  22. package/built/dts/client/token.d.ts.map +1 -0
  23. package/built/dts/client.d.ts +48 -0
  24. package/built/dts/client.d.ts.map +1 -0
  25. package/built/dts/const.d.ts +3 -0
  26. package/built/dts/const.d.ts.map +1 -0
  27. package/built/dts/errors.d.ts +29 -0
  28. package/built/dts/errors.d.ts.map +1 -0
  29. package/built/dts/event-emitter.d.ts +7 -0
  30. package/built/dts/event-emitter.d.ts.map +1 -0
  31. package/built/dts/extension/asset/asset-extension.d.ts +26 -0
  32. package/built/dts/extension/asset/asset-extension.d.ts.map +1 -0
  33. package/built/dts/extension/asset/index.d.ts +2 -0
  34. package/built/dts/extension/asset/index.d.ts.map +1 -0
  35. package/built/dts/extension/dashboard/dashboard-extension.d.ts +24 -0
  36. package/built/dts/extension/dashboard/dashboard-extension.d.ts.map +1 -0
  37. package/built/dts/extension/dashboard/dashboard.d.ts +8 -0
  38. package/built/dts/extension/dashboard/dashboard.d.ts.map +1 -0
  39. package/built/dts/extension/dashboard/index.d.ts +3 -0
  40. package/built/dts/extension/dashboard/index.d.ts.map +1 -0
  41. package/built/dts/extension/dashboard/packets.d.ts +20 -0
  42. package/built/dts/extension/dashboard/packets.d.ts.map +1 -0
  43. package/built/dts/extension/endpoint/endpoint-extension.d.ts +16 -0
  44. package/built/dts/extension/endpoint/endpoint-extension.d.ts.map +1 -0
  45. package/built/dts/extension/endpoint/endpoint.d.ts +22 -0
  46. package/built/dts/extension/endpoint/endpoint.d.ts.map +1 -0
  47. package/built/dts/extension/endpoint/index.d.ts +3 -0
  48. package/built/dts/extension/endpoint/index.d.ts.map +1 -0
  49. package/built/dts/extension/endpoint/packets.d.ts +24 -0
  50. package/built/dts/extension/endpoint/packets.d.ts.map +1 -0
  51. package/built/dts/extension/extension-registry.d.ts +12 -0
  52. package/built/dts/extension/extension-registry.d.ts.map +1 -0
  53. package/built/dts/extension/extension.d.ts +12 -0
  54. package/built/dts/extension/extension.d.ts.map +1 -0
  55. package/built/dts/extension/i18n/i18n-extension.d.ts +19 -0
  56. package/built/dts/extension/i18n/i18n-extension.d.ts.map +1 -0
  57. package/built/dts/extension/i18n/index.d.ts +2 -0
  58. package/built/dts/extension/i18n/index.d.ts.map +1 -0
  59. package/built/dts/extension/index.d.ts +3 -0
  60. package/built/dts/extension/index.d.ts.map +1 -0
  61. package/built/dts/extension/logger/index.d.ts +2 -0
  62. package/built/dts/extension/logger/index.d.ts.map +1 -0
  63. package/built/dts/extension/logger/logger-extension.d.ts +25 -0
  64. package/built/dts/extension/logger/logger-extension.d.ts.map +1 -0
  65. package/built/dts/extension/logger/packets.d.ts +19 -0
  66. package/built/dts/extension/logger/packets.d.ts.map +1 -0
  67. package/built/dts/extension/permission/index.d.ts +3 -0
  68. package/built/dts/extension/permission/index.d.ts.map +1 -0
  69. package/built/dts/extension/permission/permission-extension.d.ts +18 -0
  70. package/built/dts/extension/permission/permission-extension.d.ts.map +1 -0
  71. package/built/dts/extension/permission/permission.d.ts +29 -0
  72. package/built/dts/extension/permission/permission.d.ts.map +1 -0
  73. package/built/dts/extension/plugin/index.d.ts +2 -0
  74. package/built/dts/extension/plugin/index.d.ts.map +1 -0
  75. package/built/dts/extension/plugin/package-info.d.ts +85 -0
  76. package/built/dts/extension/plugin/package-info.d.ts.map +1 -0
  77. package/built/dts/extension/plugin/plugin-extension.d.ts +11 -0
  78. package/built/dts/extension/plugin/plugin-extension.d.ts.map +1 -0
  79. package/built/dts/extension/registry/index.d.ts +3 -0
  80. package/built/dts/extension/registry/index.d.ts.map +1 -0
  81. package/built/dts/extension/registry/packets.d.ts +17 -0
  82. package/built/dts/extension/registry/packets.d.ts.map +1 -0
  83. package/built/dts/extension/registry/registry-extension.d.ts +15 -0
  84. package/built/dts/extension/registry/registry-extension.d.ts.map +1 -0
  85. package/built/dts/extension/registry/registry.d.ts +39 -0
  86. package/built/dts/extension/registry/registry.d.ts.map +1 -0
  87. package/built/dts/extension/server/index.d.ts +2 -0
  88. package/built/dts/extension/server/index.d.ts.map +1 -0
  89. package/built/dts/extension/server/packets.d.ts +8 -0
  90. package/built/dts/extension/server/packets.d.ts.map +1 -0
  91. package/built/dts/extension/server/server-extension.d.ts +19 -0
  92. package/built/dts/extension/server/server-extension.d.ts.map +1 -0
  93. package/built/dts/extension/signal/index.d.ts +3 -0
  94. package/built/dts/extension/signal/index.d.ts.map +1 -0
  95. package/built/dts/extension/signal/packets.d.ts +17 -0
  96. package/built/dts/extension/signal/packets.d.ts.map +1 -0
  97. package/built/dts/extension/signal/signal-extension.d.ts +14 -0
  98. package/built/dts/extension/signal/signal-extension.d.ts.map +1 -0
  99. package/built/dts/extension/signal/signal.d.ts +32 -0
  100. package/built/dts/extension/signal/signal.d.ts.map +1 -0
  101. package/built/dts/extension/table/index.d.ts +3 -0
  102. package/built/dts/extension/table/index.d.ts.map +1 -0
  103. package/built/dts/extension/table/packets.d.ts +58 -0
  104. package/built/dts/extension/table/packets.d.ts.map +1 -0
  105. package/built/dts/extension/table/table-extension.d.ts +24 -0
  106. package/built/dts/extension/table/table-extension.d.ts.map +1 -0
  107. package/built/dts/extension/table/table.d.ts +64 -0
  108. package/built/dts/extension/table/table.d.ts.map +1 -0
  109. package/built/dts/identifier.d.ts +43 -0
  110. package/built/dts/identifier.d.ts.map +1 -0
  111. package/built/dts/index.d.ts +5 -0
  112. package/built/dts/index.d.ts.map +1 -0
  113. package/built/dts/interface.d.ts +7 -0
  114. package/built/dts/interface.d.ts.map +1 -0
  115. package/built/dts/localization/index.d.ts +3 -0
  116. package/built/dts/localization/index.d.ts.map +1 -0
  117. package/built/dts/localization/locale.d.ts +736 -0
  118. package/built/dts/localization/locale.d.ts.map +1 -0
  119. package/built/dts/localization/localization.d.ts +8 -0
  120. package/built/dts/localization/localization.d.ts.map +1 -0
  121. package/built/dts/model.d.ts +5 -0
  122. package/built/dts/model.d.ts.map +1 -0
  123. package/built/dts/network/connection.d.ts +17 -0
  124. package/built/dts/network/connection.d.ts.map +1 -0
  125. package/built/dts/network/index.d.ts +4 -0
  126. package/built/dts/network/index.d.ts.map +1 -0
  127. package/built/dts/network/network.d.ts +45 -0
  128. package/built/dts/network/network.d.ts.map +1 -0
  129. package/built/dts/network/packet/index.d.ts +3 -0
  130. package/built/dts/network/packet/index.d.ts.map +1 -0
  131. package/built/dts/network/packet/packet-types.d.ts +52 -0
  132. package/built/dts/network/packet/packet-types.d.ts.map +1 -0
  133. package/built/dts/network/packet/packet.d.ts +24 -0
  134. package/built/dts/network/packet/packet.d.ts.map +1 -0
  135. package/built/dts/network/websocket-connection.d.ts +20 -0
  136. package/built/dts/network/websocket-connection.d.ts.map +1 -0
  137. package/built/dts/omu.d.ts +50 -0
  138. package/built/dts/omu.d.ts.map +1 -0
  139. package/built/dts/serializer.d.ts +21 -0
  140. package/built/dts/serializer.d.ts.map +1 -0
  141. package/built/dts/token.d.ts +14 -0
  142. package/built/dts/token.d.ts.map +1 -0
  143. package/built/esm/address.js +2 -0
  144. package/built/esm/address.js.map +1 -0
  145. package/built/esm/app.js +33 -0
  146. package/built/esm/app.js.map +1 -0
  147. package/built/esm/bytebuffer.js +191 -0
  148. package/built/esm/bytebuffer.js.map +1 -0
  149. package/built/esm/client/client.js +2 -0
  150. package/built/esm/client/client.js.map +1 -0
  151. package/built/esm/client/index.js +2 -0
  152. package/built/esm/client/index.js.map +1 -0
  153. package/built/esm/client/omu.js +96 -0
  154. package/built/esm/client/omu.js.map +1 -0
  155. package/built/esm/client/omuclient.js +96 -0
  156. package/built/esm/client/omuclient.js.map +1 -0
  157. package/built/esm/client/token.js +21 -0
  158. package/built/esm/client/token.js.map +1 -0
  159. package/built/esm/client.js +2 -0
  160. package/built/esm/client.js.map +1 -0
  161. package/built/esm/const.js +3 -0
  162. package/built/esm/const.js.map +1 -0
  163. package/built/esm/errors.js +46 -0
  164. package/built/esm/errors.js.map +1 -0
  165. package/built/esm/event-emitter.js +15 -0
  166. package/built/esm/event-emitter.js.map +1 -0
  167. package/built/esm/extension/asset/asset-extension.js +105 -0
  168. package/built/esm/extension/asset/asset-extension.js.map +1 -0
  169. package/built/esm/extension/asset/index.js +2 -0
  170. package/built/esm/extension/asset/index.js.map +1 -0
  171. package/built/esm/extension/dashboard/dashboard-extension.js +119 -0
  172. package/built/esm/extension/dashboard/dashboard-extension.js.map +1 -0
  173. package/built/esm/extension/dashboard/dashboard.js +2 -0
  174. package/built/esm/extension/dashboard/dashboard.js.map +1 -0
  175. package/built/esm/extension/dashboard/index.js +2 -0
  176. package/built/esm/extension/dashboard/index.js.map +1 -0
  177. package/built/esm/extension/dashboard/packets.js +52 -0
  178. package/built/esm/extension/dashboard/packets.js.map +1 -0
  179. package/built/esm/extension/endpoint/endpoint-extension.js +85 -0
  180. package/built/esm/extension/endpoint/endpoint-extension.js.map +1 -0
  181. package/built/esm/extension/endpoint/endpoint.js +22 -0
  182. package/built/esm/extension/endpoint/endpoint.js.map +1 -0
  183. package/built/esm/extension/endpoint/index.js +2 -0
  184. package/built/esm/extension/endpoint/index.js.map +1 -0
  185. package/built/esm/extension/endpoint/packets.js +77 -0
  186. package/built/esm/extension/endpoint/packets.js.map +1 -0
  187. package/built/esm/extension/extension-registry.js +34 -0
  188. package/built/esm/extension/extension-registry.js.map +1 -0
  189. package/built/esm/extension/extension.js +16 -0
  190. package/built/esm/extension/extension.js.map +1 -0
  191. package/built/esm/extension/i18n/i18n-extension.js +59 -0
  192. package/built/esm/extension/i18n/i18n-extension.js.map +1 -0
  193. package/built/esm/extension/i18n/index.js +2 -0
  194. package/built/esm/extension/i18n/index.js.map +1 -0
  195. package/built/esm/extension/index.js +3 -0
  196. package/built/esm/extension/index.js.map +1 -0
  197. package/built/esm/extension/logger/index.js +2 -0
  198. package/built/esm/extension/logger/index.js.map +1 -0
  199. package/built/esm/extension/logger/logger-extension.js +59 -0
  200. package/built/esm/extension/logger/logger-extension.js.map +1 -0
  201. package/built/esm/extension/logger/packets.js +33 -0
  202. package/built/esm/extension/logger/packets.js.map +1 -0
  203. package/built/esm/extension/permission/index.js +3 -0
  204. package/built/esm/extension/permission/index.js.map +1 -0
  205. package/built/esm/extension/permission/permission-extension.js +73 -0
  206. package/built/esm/extension/permission/permission-extension.js.map +1 -0
  207. package/built/esm/extension/permission/permission.js +28 -0
  208. package/built/esm/extension/permission/permission.js.map +1 -0
  209. package/built/esm/extension/plugin/index.js +2 -0
  210. package/built/esm/extension/plugin/index.js.map +1 -0
  211. package/built/esm/extension/plugin/package-info.js +2 -0
  212. package/built/esm/extension/plugin/package-info.js.map +1 -0
  213. package/built/esm/extension/plugin/plugin-extension.js +27 -0
  214. package/built/esm/extension/plugin/plugin-extension.js.map +1 -0
  215. package/built/esm/extension/registry/index.js +3 -0
  216. package/built/esm/extension/registry/index.js.map +1 -0
  217. package/built/esm/extension/registry/packets.js +48 -0
  218. package/built/esm/extension/registry/packets.js.map +1 -0
  219. package/built/esm/extension/registry/registry-extension.js +123 -0
  220. package/built/esm/extension/registry/registry-extension.js.map +1 -0
  221. package/built/esm/extension/registry/registry.js +55 -0
  222. package/built/esm/extension/registry/registry.js.map +1 -0
  223. package/built/esm/extension/server/index.js +2 -0
  224. package/built/esm/extension/server/index.js.map +1 -0
  225. package/built/esm/extension/server/packets.js +25 -0
  226. package/built/esm/extension/server/packets.js.map +1 -0
  227. package/built/esm/extension/server/server-extension.js +52 -0
  228. package/built/esm/extension/server/server-extension.js.map +1 -0
  229. package/built/esm/extension/signal/index.js +3 -0
  230. package/built/esm/extension/signal/index.js.map +1 -0
  231. package/built/esm/extension/signal/packets.js +44 -0
  232. package/built/esm/extension/signal/packets.js.map +1 -0
  233. package/built/esm/extension/signal/signal-extension.js +91 -0
  234. package/built/esm/extension/signal/signal-extension.js.map +1 -0
  235. package/built/esm/extension/signal/signal.js +53 -0
  236. package/built/esm/extension/signal/signal.js.map +1 -0
  237. package/built/esm/extension/table/index.js +3 -0
  238. package/built/esm/extension/table/index.js.map +1 -0
  239. package/built/esm/extension/table/packets.js +230 -0
  240. package/built/esm/extension/table/packets.js.map +1 -0
  241. package/built/esm/extension/table/table-extension.js +384 -0
  242. package/built/esm/extension/table/table-extension.js.map +1 -0
  243. package/built/esm/extension/table/table.js +17 -0
  244. package/built/esm/extension/table/table.js.map +1 -0
  245. package/built/esm/identifier.js +160 -0
  246. package/built/esm/identifier.js.map +1 -0
  247. package/built/esm/index.js +5 -0
  248. package/built/esm/index.js.map +1 -0
  249. package/built/esm/interface.js +2 -0
  250. package/built/esm/interface.js.map +1 -0
  251. package/built/esm/localization/index.js +2 -0
  252. package/built/esm/localization/index.js.map +1 -0
  253. package/built/esm/localization/locale.js +736 -0
  254. package/built/esm/localization/locale.js.map +1 -0
  255. package/built/esm/localization/localization.js +2 -0
  256. package/built/esm/localization/localization.js.map +1 -0
  257. package/built/esm/model.js +2 -0
  258. package/built/esm/model.js.map +1 -0
  259. package/built/esm/network/connection.js +29 -0
  260. package/built/esm/network/connection.js.map +1 -0
  261. package/built/esm/network/index.js +2 -0
  262. package/built/esm/network/index.js.map +1 -0
  263. package/built/esm/network/network.js +190 -0
  264. package/built/esm/network/network.js.map +1 -0
  265. package/built/esm/network/packet/index.js +2 -0
  266. package/built/esm/network/packet/index.js.map +1 -0
  267. package/built/esm/network/packet/packet-types.js +75 -0
  268. package/built/esm/network/packet/packet-types.js.map +1 -0
  269. package/built/esm/network/packet/packet.js +17 -0
  270. package/built/esm/network/packet/packet.js.map +1 -0
  271. package/built/esm/network/websocket-connection.js +88 -0
  272. package/built/esm/network/websocket-connection.js.map +1 -0
  273. package/built/esm/omu.js +96 -0
  274. package/built/esm/omu.js.map +1 -0
  275. package/built/esm/serializer.js +52 -0
  276. package/built/esm/serializer.js.map +1 -0
  277. package/built/esm/token.js +21 -0
  278. package/built/esm/token.js.map +1 -0
  279. package/package.json +49 -0
  280. package/src/address.ts +5 -0
  281. package/src/app.ts +65 -0
  282. package/src/bytebuffer.ts +219 -0
  283. package/src/client.ts +53 -0
  284. package/src/const.ts +2 -0
  285. package/src/errors.ts +52 -0
  286. package/src/event-emitter.ts +18 -0
  287. package/src/extension/asset/asset-extension.ts +148 -0
  288. package/src/extension/asset/index.ts +1 -0
  289. package/src/extension/dashboard/dashboard-extension.ts +162 -0
  290. package/src/extension/dashboard/dashboard.ts +9 -0
  291. package/src/extension/dashboard/index.ts +3 -0
  292. package/src/extension/dashboard/packets.ts +52 -0
  293. package/src/extension/endpoint/endpoint-extension.ts +124 -0
  294. package/src/extension/endpoint/endpoint.ts +58 -0
  295. package/src/extension/endpoint/index.ts +3 -0
  296. package/src/extension/endpoint/packets.ts +78 -0
  297. package/src/extension/extension-registry.ts +39 -0
  298. package/src/extension/extension.ts +18 -0
  299. package/src/extension/i18n/i18n-extension.ts +73 -0
  300. package/src/extension/i18n/index.ts +2 -0
  301. package/src/extension/index.ts +3 -0
  302. package/src/extension/logger/index.ts +5 -0
  303. package/src/extension/logger/logger-extension.ts +75 -0
  304. package/src/extension/logger/packets.ts +38 -0
  305. package/src/extension/permission/index.ts +3 -0
  306. package/src/extension/permission/permission-extension.ts +98 -0
  307. package/src/extension/permission/permission.ts +56 -0
  308. package/src/extension/plugin/index.ts +2 -0
  309. package/src/extension/plugin/package-info.ts +91 -0
  310. package/src/extension/plugin/plugin-extension.ts +37 -0
  311. package/src/extension/registry/index.ts +3 -0
  312. package/src/extension/registry/packets.ts +50 -0
  313. package/src/extension/registry/registry-extension.ts +154 -0
  314. package/src/extension/registry/registry.ts +97 -0
  315. package/src/extension/server/index.ts +6 -0
  316. package/src/extension/server/server-extension.ts +63 -0
  317. package/src/extension/signal/index.ts +3 -0
  318. package/src/extension/signal/packets.ts +46 -0
  319. package/src/extension/signal/signal-extension.ts +114 -0
  320. package/src/extension/signal/signal.ts +85 -0
  321. package/src/extension/table/index.ts +3 -0
  322. package/src/extension/table/packets.ts +237 -0
  323. package/src/extension/table/table-extension.ts +503 -0
  324. package/src/extension/table/table.ts +87 -0
  325. package/src/identifier.ts +197 -0
  326. package/src/index.ts +4 -0
  327. package/src/interface.ts +8 -0
  328. package/src/localization/index.ts +3 -0
  329. package/src/localization/locale.ts +737 -0
  330. package/src/localization/localization.ts +9 -0
  331. package/src/model.ts +4 -0
  332. package/src/network/connection.ts +43 -0
  333. package/src/network/index.ts +3 -0
  334. package/src/network/network.ts +225 -0
  335. package/src/network/packet/index.ts +2 -0
  336. package/src/network/packet/packet-types.ts +101 -0
  337. package/src/network/packet/packet.ts +46 -0
  338. package/src/network/websocket-connection.ts +102 -0
  339. package/src/omu.ts +123 -0
  340. package/src/serializer.ts +82 -0
  341. package/src/token.ts +29 -0
  342. package/tsconfig.json +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../src/localization/locale.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../../src/localization/localization.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { Identifier, IdentifierMap } from '../identifier.js';
2
+ export class PacketMapper {
3
+ packetMap = new IdentifierMap();
4
+ register(...packetTypes) {
5
+ for (const type of packetTypes) {
6
+ if (this.packetMap.has(type.id)) {
7
+ throw new Error(`Packet id ${type.id.key()} already registered`);
8
+ }
9
+ this.packetMap.set(type.id, type);
10
+ }
11
+ }
12
+ serialize(packet) {
13
+ return {
14
+ type: packet.type.id.key(),
15
+ data: packet.type.serializer.serialize(packet.data),
16
+ };
17
+ }
18
+ deserialize(data) {
19
+ const identifier = Identifier.fromKey(data.type);
20
+ const type = this.packetMap.get(identifier);
21
+ if (!type)
22
+ throw new Error(`Packet type ${data.type} not registered`);
23
+ return {
24
+ type,
25
+ data: type.serializer.deserialize(data.data),
26
+ };
27
+ }
28
+ }
29
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/network/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM7D,MAAM,OAAO,YAAY;IACJ,SAAS,GAAG,IAAI,aAAa,EAAuB,CAAC;IAE/D,QAAQ,CAAC,GAAG,WAAkC;QACjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;SACtD,CAAC;IACN,CAAC;IAED,WAAW,CAAC,IAAgB;QACxB,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;QACtE,OAAO;YACH,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/C,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export { Network, NetworkStatus } from './network.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,190 @@
1
+ import { AnotherConnection, InvalidOrigin, InvalidPacket, InvalidToken, InvalidVersion, PermissionDenied, } from '../errors.js';
2
+ import { EventEmitter } from '../event-emitter.js';
3
+ import { IdentifierMap } from '../identifier.js';
4
+ import { PacketMapper } from './connection.js';
5
+ import { ConnectPacket, DisconnectType, PACKET_TYPES } from './packet/packet-types.js';
6
+ export var NetworkStatus;
7
+ (function (NetworkStatus) {
8
+ NetworkStatus["DISCONNECTED"] = "disconnected";
9
+ NetworkStatus["CONNECTING"] = "connecting";
10
+ NetworkStatus["CONNECTED"] = "connected";
11
+ NetworkStatus["READY"] = "ready";
12
+ NetworkStatus["ERROR"] = "error";
13
+ NetworkStatus["CLOSED"] = "closed";
14
+ })(NetworkStatus || (NetworkStatus = {}));
15
+ export class Network {
16
+ client;
17
+ address;
18
+ tokenProvider;
19
+ connection;
20
+ status = NetworkStatus.DISCONNECTED;
21
+ event = {
22
+ connected: new EventEmitter(),
23
+ disconnected: new EventEmitter(),
24
+ packet: new EventEmitter(),
25
+ status: new EventEmitter(),
26
+ };
27
+ tasks = [];
28
+ packetMapper = new PacketMapper();
29
+ packetHandlers = new IdentifierMap();
30
+ constructor(client, address, tokenProvider, connection) {
31
+ this.client = client;
32
+ this.address = address;
33
+ this.tokenProvider = tokenProvider;
34
+ this.connection = connection;
35
+ this.registerPacket(PACKET_TYPES.CONNECT, PACKET_TYPES.DISCONNECT, PACKET_TYPES.TOKEN, PACKET_TYPES.READY);
36
+ this.addPacketHandler(PACKET_TYPES.TOKEN, async (token) => {
37
+ await this.tokenProvider.set(this.address, this.client.app, token);
38
+ });
39
+ this.addPacketHandler(PACKET_TYPES.DISCONNECT, (reason) => {
40
+ if (reason.type === DisconnectType.SHUTDOWN || reason.type === DisconnectType.CLOSE) {
41
+ return;
42
+ }
43
+ this.setStatus(NetworkStatus.ERROR);
44
+ const ERROR_MAP = {
45
+ [DisconnectType.ANOTHER_CONNECTION]: AnotherConnection,
46
+ [DisconnectType.PERMISSION_DENIED]: PermissionDenied,
47
+ [DisconnectType.INVALID_TOKEN]: InvalidToken,
48
+ [DisconnectType.INVALID_ORIGIN]: InvalidOrigin,
49
+ [DisconnectType.INVALID_VERSION]: InvalidVersion,
50
+ [DisconnectType.INVALID_PACKET]: InvalidPacket,
51
+ [DisconnectType.INVALID_PACKET_TYPE]: InvalidPacket,
52
+ [DisconnectType.INVALID_PACKET_DATA]: InvalidPacket,
53
+ [DisconnectType.CLOSE]: undefined,
54
+ [DisconnectType.SHUTDOWN]: undefined,
55
+ };
56
+ const error = ERROR_MAP[reason.type];
57
+ if (error) {
58
+ throw new error(reason.message);
59
+ }
60
+ });
61
+ this.addPacketHandler(PACKET_TYPES.READY, () => {
62
+ if (this.status === NetworkStatus.READY) {
63
+ throw new Error('Received READY packet when already ready');
64
+ }
65
+ this.setStatus(NetworkStatus.READY);
66
+ this.event.status.emit(NetworkStatus.READY);
67
+ this.client.event.ready.emit();
68
+ });
69
+ }
70
+ setConnection(connection) {
71
+ if (this.status !== NetworkStatus.DISCONNECTED) {
72
+ throw new Error('Cannot change connection while connected');
73
+ }
74
+ this.connection = connection;
75
+ }
76
+ registerPacket(...packetTypes) {
77
+ this.packetMapper.register(...packetTypes);
78
+ for (const type of packetTypes) {
79
+ this.packetHandlers.set(type.id, {
80
+ type,
81
+ event: new EventEmitter(),
82
+ });
83
+ }
84
+ }
85
+ addPacketHandler(type, handler) {
86
+ const listeners = this.packetHandlers.get(type.id);
87
+ if (!listeners) {
88
+ throw new Error(`Packet type ${type.id.key()} not registered`);
89
+ }
90
+ listeners.event.listen(handler);
91
+ }
92
+ async connect(recconect = true) {
93
+ if (this.status !== NetworkStatus.DISCONNECTED) {
94
+ throw new Error(`Cannot connect while ${this.status}`);
95
+ }
96
+ try {
97
+ await this.connection.connect();
98
+ }
99
+ catch (error) {
100
+ if (recconect) {
101
+ await this.tryReconnect();
102
+ }
103
+ else {
104
+ throw error;
105
+ }
106
+ }
107
+ this.setStatus(NetworkStatus.CONNECTING);
108
+ const token = await this.tokenProvider.get(this.address, this.client.app);
109
+ this.send({
110
+ type: PACKET_TYPES.CONNECT,
111
+ data: new ConnectPacket({
112
+ app: this.client.app,
113
+ token,
114
+ }),
115
+ });
116
+ const listenPromise = this.listen();
117
+ await this.event.status.emit(NetworkStatus.CONNECTED);
118
+ await this.event.connected.emit();
119
+ await this.dispatchTasks();
120
+ this.send({
121
+ type: PACKET_TYPES.READY,
122
+ data: null,
123
+ });
124
+ await listenPromise;
125
+ if (recconect) {
126
+ await this.tryReconnect();
127
+ }
128
+ }
129
+ async tryReconnect() {
130
+ if (this.status === NetworkStatus.CLOSED) {
131
+ return;
132
+ }
133
+ await new Promise((resolve) => setTimeout(resolve, 1000));
134
+ await this.connect();
135
+ }
136
+ disconnect() {
137
+ if (this.status === NetworkStatus.CLOSED) {
138
+ return;
139
+ }
140
+ this.setStatus(NetworkStatus.DISCONNECTED);
141
+ this.event.status.emit(NetworkStatus.DISCONNECTED);
142
+ this.connection.close();
143
+ this.event.disconnected.emit();
144
+ }
145
+ send(packet) {
146
+ if (this.connection.closed) {
147
+ throw new Error('Cannot send packet while connection is closed');
148
+ }
149
+ this.connection.send(packet, this.packetMapper);
150
+ }
151
+ async listen() {
152
+ while (!this.connection.closed) {
153
+ const packet = await this.connection.receive(this.packetMapper);
154
+ if (!packet) {
155
+ return;
156
+ }
157
+ this.dispatchPacket(packet);
158
+ }
159
+ }
160
+ async dispatchPacket(packet) {
161
+ await this.event.packet.emit(packet);
162
+ const packetHandler = this.packetHandlers.get(packet.type.id);
163
+ if (!packetHandler) {
164
+ return;
165
+ }
166
+ await packetHandler.event.emit(packet.data);
167
+ }
168
+ addTask(task) {
169
+ if (this.client.running) {
170
+ throw new Error('Cannot add task after client is ready');
171
+ }
172
+ this.tasks.push(task);
173
+ }
174
+ removeTask(task) {
175
+ this.tasks.splice(this.tasks.indexOf(task), 1);
176
+ }
177
+ async dispatchTasks() {
178
+ for (const task of this.tasks) {
179
+ await task();
180
+ }
181
+ }
182
+ setStatus(status) {
183
+ if (this.status === status) {
184
+ throw new Error(`Cannot set status to ${status} when already ${status}`);
185
+ }
186
+ this.status = status;
187
+ this.event.status.emit(status);
188
+ }
189
+ }
190
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { PacketType } from './packet.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/packet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { App } from '../../app.js';
2
+ import { Identifier } from '../../identifier.js';
3
+ import { Serializer } from '../../serializer.js';
4
+ import { PacketType } from './packet.js';
5
+ const IDENTIFIER = new Identifier('core', 'packet');
6
+ export class ConnectPacket {
7
+ app;
8
+ token;
9
+ constructor(options) {
10
+ this.app = options.app;
11
+ this.token = options.token;
12
+ }
13
+ static fromJson(data) {
14
+ return new ConnectPacket({
15
+ app: App.fromJson(data.app),
16
+ token: data.token,
17
+ });
18
+ }
19
+ toJson() {
20
+ return {
21
+ app: this.app.toJson(),
22
+ token: this.token,
23
+ };
24
+ }
25
+ }
26
+ export var DisconnectType;
27
+ (function (DisconnectType) {
28
+ DisconnectType["INVALID_TOKEN"] = "invalid_token";
29
+ DisconnectType["INVALID_ORIGIN"] = "invalid_origin";
30
+ DisconnectType["INVALID_VERSION"] = "invalid_version";
31
+ DisconnectType["INVALID_PACKET_TYPE"] = "invalid_packet_type";
32
+ DisconnectType["INVALID_PACKET_DATA"] = "invalid_packet_data";
33
+ DisconnectType["INVALID_PACKET"] = "invalid_packet";
34
+ DisconnectType["ANOTHER_CONNECTION"] = "another_connection";
35
+ DisconnectType["PERMISSION_DENIED"] = "permission_denied";
36
+ DisconnectType["SHUTDOWN"] = "shutdown";
37
+ DisconnectType["CLOSE"] = "close";
38
+ })(DisconnectType || (DisconnectType = {}));
39
+ export class DisconnectPacket {
40
+ type;
41
+ message;
42
+ constructor(options) {
43
+ this.type = options.type;
44
+ this.message = options.message ?? null;
45
+ }
46
+ static fromJson(data) {
47
+ return new DisconnectPacket({
48
+ type: data.type,
49
+ message: data.message,
50
+ });
51
+ }
52
+ toJson() {
53
+ return {
54
+ type: this.type,
55
+ message: this.message,
56
+ };
57
+ }
58
+ }
59
+ export const PACKET_TYPES = {
60
+ CONNECT: PacketType.createJson(IDENTIFIER, {
61
+ name: 'connect',
62
+ serializer: Serializer.model(ConnectPacket),
63
+ }),
64
+ DISCONNECT: PacketType.createJson(IDENTIFIER, {
65
+ name: 'disconnect',
66
+ serializer: Serializer.model(DisconnectPacket),
67
+ }),
68
+ TOKEN: PacketType.createJson(IDENTIFIER, {
69
+ name: 'token',
70
+ }),
71
+ READY: PacketType.createJson(IDENTIFIER, {
72
+ name: 'ready',
73
+ }),
74
+ };
75
+ //# sourceMappingURL=packet-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packet-types.js","sourceRoot":"","sources":["../../../../src/network/packet/packet-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAMpD,MAAM,OAAO,aAAa;IACN,GAAG,CAAM;IACT,KAAK,CAAU;IAC/B,YAAY,OAGX;QACG,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAuB;QACnC,OAAO,IAAI,aAAa,CAAC;YACrB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;IAC3C,mDAAiC,CAAA;IACjC,2DAAyC,CAAA;IACzC,yDAAuC,CAAA;IACvC,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACnB,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAOD,MAAM,OAAO,gBAAgB;IACT,IAAI,CAAiB;IACrB,OAAO,CAAgB;IAEvC,YAAY,OAGX;QACG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA0B;QACtC,OAAO,IAAI,gBAAgB,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE,UAAU,CAAC,UAAU,CAAgB,UAAU,EAAE;QACtD,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;KAC9C,CAAC;IACF,UAAU,EAAE,UAAU,CAAC,UAAU,CAAmB,UAAU,EAAE;QAC5D,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACjD,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,UAAU,CAAS,UAAU,EAAE;QAC7C,IAAI,EAAE,OAAO;KAChB,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,UAAU,CAAY,UAAU,EAAE;QAChD,IAAI,EAAE,OAAO;KAChB,CAAC;CACL,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Serializer } from '../../serializer.js';
2
+ export class PacketType {
3
+ id;
4
+ serializer;
5
+ constructor(id, serializer) {
6
+ this.id = id;
7
+ this.serializer = serializer;
8
+ }
9
+ static createJson(identifier, { name, serializer, }) {
10
+ return new PacketType(identifier.join(name), Serializer.of(serializer ?? Serializer.noop())
11
+ .pipe(Serializer.json()));
12
+ }
13
+ static createSerialized(identifier, { name, serializer, }) {
14
+ return new PacketType(identifier.join(name), serializer);
15
+ }
16
+ }
17
+ //# sourceMappingURL=packet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packet.js","sourceRoot":"","sources":["../../../../src/network/packet/packet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AAYpE,MAAM,OAAO,UAAU;IAEC;IACA;IAFpB,YACoB,EAAc,EACd,UAAuC;QADvC,OAAE,GAAF,EAAE,CAAY;QACd,eAAU,GAAV,UAAU,CAA6B;IACvD,CAAC;IAEL,MAAM,CAAC,UAAU,CAAI,UAAsB,EAAE,EACzC,IAAI,EACJ,UAAU,GAIb;QACG,OAAO,IAAI,UAAU,CACjB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,UAAU,CAAC,EAAE,CAAS,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;aACjD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAI,UAAsB,EAAE,EAC/C,IAAI,EACJ,UAAU,GAIb;QACG,OAAO,IAAI,UAAU,CACjB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,UAAU,CACb,CAAC;IACN,CAAC;CACJ"}
@@ -0,0 +1,88 @@
1
+ import { ByteReader, ByteWriter } from '../bytebuffer.js';
2
+ export class WebsocketConnection {
3
+ address;
4
+ connected;
5
+ socket;
6
+ packetQueue = [];
7
+ receiveWaiter = null;
8
+ constructor(address) {
9
+ this.address = address;
10
+ this.connected = false;
11
+ this.socket = null;
12
+ }
13
+ get wsEndpoint() {
14
+ const protocol = this.address.secure ? 'wss' : 'ws';
15
+ const { host, port } = this.address;
16
+ return `${protocol}://${host}:${port}/ws`;
17
+ }
18
+ connect() {
19
+ if (this.socket && !this.connected) {
20
+ throw new Error('Already connecting');
21
+ }
22
+ return new Promise((resolve, reject) => {
23
+ this.close();
24
+ this.socket = new WebSocket(this.wsEndpoint);
25
+ this.socket.onerror = reject;
26
+ this.socket.onclose = () => { this.close(); };
27
+ this.socket.onmessage = (event) => { this.onMessage(event); };
28
+ this.socket.onopen = () => {
29
+ this.connected = true;
30
+ resolve();
31
+ };
32
+ });
33
+ }
34
+ async onMessage(event) {
35
+ if (typeof event.data === 'string') {
36
+ throw new Error('Received string data');
37
+ }
38
+ const reader = new ByteReader(await event.data.arrayBuffer());
39
+ this.packetQueue.push({
40
+ type: reader.readString(),
41
+ data: reader.readByteArray(),
42
+ });
43
+ reader.finish();
44
+ if (this.receiveWaiter) {
45
+ this.receiveWaiter();
46
+ }
47
+ }
48
+ async receive(serializer) {
49
+ if (this.receiveWaiter) {
50
+ throw new Error('Already receiving');
51
+ }
52
+ if (!this.connected || !this.socket) {
53
+ return null;
54
+ }
55
+ while (this.packetQueue.length === 0) {
56
+ await new Promise((resolve) => {
57
+ this.receiveWaiter = () => resolve();
58
+ });
59
+ }
60
+ const packet = serializer.deserialize(this.packetQueue.shift());
61
+ this.receiveWaiter = null;
62
+ return packet;
63
+ }
64
+ get closed() {
65
+ if (this.socket) {
66
+ return this.socket.readyState === WebSocket.CLOSED;
67
+ }
68
+ return true;
69
+ }
70
+ close() {
71
+ this.connected = false;
72
+ if (this.socket) {
73
+ this.socket.close();
74
+ this.socket = null;
75
+ }
76
+ }
77
+ send(packet, serializer) {
78
+ if (!this.connected || !this.socket) {
79
+ throw new Error('Not connected');
80
+ }
81
+ const packetData = serializer.serialize(packet);
82
+ const writer = new ByteWriter();
83
+ writer.writeString(packetData.type);
84
+ writer.writeByteArray(packetData.data);
85
+ this.socket.send(writer.finish());
86
+ }
87
+ }
88
+ //# sourceMappingURL=websocket-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-connection.js","sourceRoot":"","sources":["../../../src/network/websocket-connection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM1D,MAAM,OAAO,mBAAmB;IAOP;IANd,SAAS,CAAU;IAClB,MAAM,CAAmB;IAChB,WAAW,GAAsB,EAAE,CAAC;IAC7C,aAAa,GAAwB,IAAI,CAAC;IAElD,YACqB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QAEjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,IAAY,UAAU;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACpC,OAAO,GAAG,QAAQ,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC;IAC9C,CAAC;IAEM,OAAO;QACV,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAS,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,KAAK,EAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAS,EAAE;gBAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,OAAO,EAAE,CAAC;YACd,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAkC;QACtD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE;SAC/B,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAAqD;QACtE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAChC,IAAI,CAAC,aAAa,GAAG,GAAS,EAAE,CAAC,OAAO,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAG,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,MAAM;QACN,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACvB,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,UAAqD;QACtE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;CACJ"}
@@ -0,0 +1,96 @@
1
+ import { EventEmitter } from './event-emitter.js';
2
+ import { ASSET_EXTENSION_TYPE } from './extension/asset/index.js';
3
+ import { DASHBOARD_EXTENSION_TYPE } from './extension/dashboard/index.js';
4
+ import { ENDPOINT_EXTENSION_TYPE } from './extension/endpoint/index.js';
5
+ import { I18N_EXTENSION_TYPE } from './extension/i18n/index.js';
6
+ import { ExtensionRegistry } from './extension/index.js';
7
+ import { LOGGER_EXTENSION_TYPE, } from './extension/logger/logger-extension.js';
8
+ import { PERMISSION_EXTENSION_TYPE, } from './extension/permission/index.js';
9
+ import { PLUGIN_EXTENSION_TYPE } from './extension/plugin/index.js';
10
+ import { REGISTRY_EXTENSION_TYPE } from './extension/registry/index.js';
11
+ import { SERVER_EXTENSION_TYPE } from './extension/server/index.js';
12
+ import { SIGNAL_EXTENSION_TYPE } from './extension/signal/index.js';
13
+ import { TABLE_EXTENSION_TYPE } from './extension/table/index.js';
14
+ import { Network } from './network/index.js';
15
+ import { WebsocketConnection } from './network/websocket-connection.js';
16
+ import { BrowserTokenProvider } from './token.js';
17
+ export class Omu {
18
+ app;
19
+ ready;
20
+ running;
21
+ event = {
22
+ started: new EventEmitter(),
23
+ stopped: new EventEmitter(),
24
+ ready: new EventEmitter(),
25
+ };
26
+ token;
27
+ address;
28
+ network;
29
+ endpoints;
30
+ permissions;
31
+ plugins;
32
+ dashboard;
33
+ extensions;
34
+ tables;
35
+ registry;
36
+ signal;
37
+ assets;
38
+ i18n;
39
+ server;
40
+ logger;
41
+ constructor(app, options) {
42
+ this.app = app;
43
+ this.ready = false;
44
+ this.running = false;
45
+ this.token = options?.token ?? new BrowserTokenProvider('omu-token');
46
+ this.address = options?.address ?? {
47
+ host: '127.0.0.1',
48
+ port: 26423,
49
+ secure: false,
50
+ };
51
+ this.network = new Network(this, this.address, this.token, options?.connection ?? new WebsocketConnection(this.address));
52
+ this.extensions = new ExtensionRegistry(this);
53
+ this.endpoints = this.extensions.register(ENDPOINT_EXTENSION_TYPE);
54
+ this.permissions = this.extensions.register(PERMISSION_EXTENSION_TYPE);
55
+ this.plugins = this.extensions.register(PLUGIN_EXTENSION_TYPE);
56
+ this.tables = this.extensions.register(TABLE_EXTENSION_TYPE);
57
+ this.dashboard = this.extensions.register(DASHBOARD_EXTENSION_TYPE);
58
+ this.registry = this.extensions.register(REGISTRY_EXTENSION_TYPE);
59
+ this.signal = this.extensions.register(SIGNAL_EXTENSION_TYPE);
60
+ this.assets = this.extensions.register(ASSET_EXTENSION_TYPE);
61
+ this.i18n = this.extensions.register(I18N_EXTENSION_TYPE);
62
+ this.server = this.extensions.register(SERVER_EXTENSION_TYPE);
63
+ this.logger = this.extensions.register(LOGGER_EXTENSION_TYPE);
64
+ this.event.ready.listen(() => {
65
+ this.ready = true;
66
+ });
67
+ this.network.event.disconnected.listen(() => {
68
+ this.ready = false;
69
+ });
70
+ }
71
+ send(packetType, data) {
72
+ this.network.send({
73
+ type: packetType,
74
+ data,
75
+ });
76
+ }
77
+ start() {
78
+ if (this.running) {
79
+ throw new Error('Client already running');
80
+ }
81
+ this.running = true;
82
+ this.network.connect();
83
+ this.event.started.emit();
84
+ }
85
+ stop() {
86
+ this.running = false;
87
+ this.event.stopped.emit();
88
+ }
89
+ whenReady(callback) {
90
+ if (this.ready) {
91
+ callback();
92
+ }
93
+ return this.event.ready.listen(callback);
94
+ }
95
+ }
96
+ //# sourceMappingURL=omu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omu.js","sourceRoot":"","sources":["../../src/omu.ts"],"names":[],"mappings":"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"}