taon 18.0.15 → 18.0.18

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 (300) hide show
  1. package/README.md +6 -3
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/browser/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +39 -20
  4. package/browser/esm2022/lib/base-classes/base.mjs +1 -3
  5. package/browser/esm2022/lib/create-context.mjs +20 -1
  6. package/browser/esm2022/lib/decorators/classes/subscriber-decorator.mjs +3 -29
  7. package/browser/esm2022/lib/endpoint-context.mjs +10 -136
  8. package/browser/esm2022/lib/entity-process.mjs +3 -3
  9. package/browser/esm2022/lib/helpers/class-helpers.mjs +2 -2
  10. package/browser/esm2022/lib/index.mjs +1 -14
  11. package/browser/esm2022/lib/inject.mjs +4 -38
  12. package/browser/esm2022/lib/models.mjs +1 -1
  13. package/browser/esm2022/lib/realtime/realtime-client.mjs +32 -20
  14. package/browser/esm2022/lib/realtime/realtime-core.mjs +15 -7
  15. package/browser/esm2022/lib/realtime/realtime-server.mjs +34 -16
  16. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +198 -29
  17. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +206 -10
  18. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +3 -7
  19. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +6 -2
  20. package/browser/esm2022/lib/realtime/realtime-subs-manager.mjs +10 -8
  21. package/browser/esm2022/lib/realtime/realtime.models.mjs +1 -1
  22. package/browser/esm2022/lib/symbols.mjs +45 -38
  23. package/browser/fesm2022/taon.mjs +557 -559
  24. package/browser/fesm2022/taon.mjs.map +1 -1
  25. package/browser/lib/base-classes/base-context.d.ts +4 -0
  26. package/browser/lib/base-classes/base.d.ts +4 -2
  27. package/browser/lib/create-context.d.ts +13 -0
  28. package/browser/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  29. package/browser/lib/helpers/class-helpers.d.ts +1 -1
  30. package/browser/lib/index.d.ts +12 -13
  31. package/browser/lib/inject.d.ts +1 -8
  32. package/browser/lib/models.d.ts +17 -9
  33. package/browser/lib/realtime/realtime-client.d.ts +8 -2
  34. package/browser/lib/realtime/realtime-core.d.ts +6 -6
  35. package/browser/lib/realtime/realtime-server.d.ts +9 -4
  36. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -12
  37. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
  38. package/browser/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +2 -3
  39. package/browser/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
  40. package/browser/lib/realtime/realtime.models.d.ts +1 -0
  41. package/browser/lib/symbols.d.ts +30 -36
  42. package/client/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +39 -20
  43. package/client/esm2022/lib/base-classes/base.mjs +1 -3
  44. package/client/esm2022/lib/create-context.mjs +20 -1
  45. package/client/esm2022/lib/decorators/classes/subscriber-decorator.mjs +3 -29
  46. package/client/esm2022/lib/endpoint-context.mjs +10 -136
  47. package/client/esm2022/lib/entity-process.mjs +3 -3
  48. package/client/esm2022/lib/helpers/class-helpers.mjs +2 -2
  49. package/client/esm2022/lib/index.mjs +1 -14
  50. package/client/esm2022/lib/inject.mjs +4 -38
  51. package/client/esm2022/lib/models.mjs +1 -1
  52. package/client/esm2022/lib/realtime/realtime-client.mjs +32 -20
  53. package/client/esm2022/lib/realtime/realtime-core.mjs +15 -7
  54. package/client/esm2022/lib/realtime/realtime-server.mjs +34 -16
  55. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +198 -29
  56. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +206 -10
  57. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +3 -7
  58. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +6 -2
  59. package/client/esm2022/lib/realtime/realtime-subs-manager.mjs +10 -8
  60. package/client/esm2022/lib/realtime/realtime.models.mjs +1 -1
  61. package/client/esm2022/lib/symbols.mjs +45 -38
  62. package/client/fesm2022/taon.mjs +557 -559
  63. package/client/fesm2022/taon.mjs.map +1 -1
  64. package/client/lib/base-classes/base-context.d.ts +4 -0
  65. package/client/lib/base-classes/base.d.ts +4 -2
  66. package/client/lib/create-context.d.ts +13 -0
  67. package/client/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  68. package/client/lib/helpers/class-helpers.d.ts +1 -1
  69. package/client/lib/index.d.ts +12 -13
  70. package/client/lib/inject.d.ts +1 -8
  71. package/client/lib/models.d.ts +17 -9
  72. package/client/lib/realtime/realtime-client.d.ts +8 -2
  73. package/client/lib/realtime/realtime-core.d.ts +6 -6
  74. package/client/lib/realtime/realtime-server.d.ts +9 -4
  75. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -12
  76. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
  77. package/client/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +2 -3
  78. package/client/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
  79. package/client/lib/realtime/realtime.models.d.ts +1 -0
  80. package/client/lib/symbols.d.ts +30 -36
  81. package/lib/base-classes/base-context.d.ts +4 -0
  82. package/lib/base-classes/base-subscriber-for-entity.js +38 -19
  83. package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
  84. package/lib/base-classes/base.d.ts +4 -2
  85. package/lib/base-classes/base.js +0 -2
  86. package/lib/base-classes/base.js.map +1 -1
  87. package/lib/create-context.d.ts +13 -0
  88. package/lib/create-context.js +19 -8
  89. package/lib/create-context.js.map +1 -1
  90. package/lib/decorators/classes/subscriber-decorator.d.ts +1 -1
  91. package/lib/decorators/classes/subscriber-decorator.js +7 -58
  92. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  93. package/lib/endpoint-context.js +33 -9
  94. package/lib/endpoint-context.js.map +1 -1
  95. package/lib/entity-process.js +2 -2
  96. package/lib/entity-process.js.map +1 -1
  97. package/lib/formly/formly-repeat-component.js +1 -1
  98. package/lib/formly/formly-repeat-component.js.map +1 -1
  99. package/lib/helpers/class-helpers.d.ts +1 -1
  100. package/lib/helpers/class-helpers.js +2 -2
  101. package/lib/helpers/class-helpers.js.map +1 -1
  102. package/lib/index._auto-generated_.js +6 -0
  103. package/lib/index._auto-generated_.js.map +1 -0
  104. package/lib/index.d.ts +12 -13
  105. package/lib/index.js +1 -17
  106. package/lib/index.js.map +1 -1
  107. package/lib/inject.d.ts +3 -7
  108. package/lib/inject.js +57 -42
  109. package/lib/inject.js.map +1 -1
  110. package/lib/models.d.ts +17 -9
  111. package/lib/models.js.map +1 -1
  112. package/lib/realtime/realtime-client.d.ts +8 -2
  113. package/lib/realtime/realtime-client.js +36 -21
  114. package/lib/realtime/realtime-client.js.map +1 -1
  115. package/lib/realtime/realtime-core.d.ts +6 -6
  116. package/lib/realtime/realtime-core.js +17 -6
  117. package/lib/realtime/realtime-core.js.map +1 -1
  118. package/lib/realtime/realtime-server.d.ts +9 -4
  119. package/lib/realtime/realtime-server.js +98 -76
  120. package/lib/realtime/realtime-server.js.map +1 -1
  121. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -11
  122. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js +301 -40
  123. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
  124. package/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
  125. package/lib/realtime/realtime-strategy/realtime-strategy-mock.js +358 -14
  126. package/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
  127. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +3 -3
  128. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js +10 -14
  129. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
  130. package/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
  131. package/lib/realtime/realtime-strategy/realtime-strategy.js +9 -2
  132. package/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -1
  133. package/lib/realtime/realtime-subs-manager.js +10 -8
  134. package/lib/realtime/realtime-subs-manager.js.map +1 -1
  135. package/lib/realtime/realtime.models.d.ts +1 -0
  136. package/lib/symbols.d.ts +30 -36
  137. package/lib/symbols.js +63 -39
  138. package/lib/symbols.js.map +1 -1
  139. package/lib/ui/directives/index.js +2 -2
  140. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +2 -2
  141. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +2 -2
  142. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +2 -2
  143. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  144. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  145. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  146. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  147. package/lib/ui/taon-progress-bar/index.js +2 -2
  148. package/lib/ui/taon-session-passcode/index.js +2 -2
  149. package/package.json +10 -8
  150. package/tmp-environment.json +36 -31
  151. package/websql/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +39 -20
  152. package/websql/esm2022/lib/base-classes/base.mjs +1 -3
  153. package/websql/esm2022/lib/create-context.mjs +20 -1
  154. package/websql/esm2022/lib/decorators/classes/subscriber-decorator.mjs +3 -29
  155. package/websql/esm2022/lib/endpoint-context.mjs +16 -18
  156. package/websql/esm2022/lib/entity-process.mjs +3 -3
  157. package/websql/esm2022/lib/helpers/class-helpers.mjs +2 -2
  158. package/websql/esm2022/lib/index.mjs +1 -14
  159. package/websql/esm2022/lib/inject.mjs +4 -38
  160. package/websql/esm2022/lib/models.mjs +1 -1
  161. package/websql/esm2022/lib/realtime/realtime-client.mjs +32 -20
  162. package/websql/esm2022/lib/realtime/realtime-core.mjs +15 -7
  163. package/websql/esm2022/lib/realtime/realtime-server.mjs +90 -72
  164. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +200 -30
  165. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +206 -10
  166. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +3 -7
  167. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +6 -2
  168. package/websql/esm2022/lib/realtime/realtime-subs-manager.mjs +10 -8
  169. package/websql/esm2022/lib/realtime/realtime.models.mjs +1 -1
  170. package/websql/esm2022/lib/symbols.mjs +45 -38
  171. package/websql/fesm2022/taon.mjs +669 -687
  172. package/websql/fesm2022/taon.mjs.map +1 -1
  173. package/websql/lib/base-classes/base-context.d.ts +4 -0
  174. package/websql/lib/base-classes/base.d.ts +4 -2
  175. package/websql/lib/create-context.d.ts +13 -0
  176. package/websql/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  177. package/websql/lib/helpers/class-helpers.d.ts +1 -1
  178. package/websql/lib/index.d.ts +12 -13
  179. package/websql/lib/inject.d.ts +1 -8
  180. package/websql/lib/models.d.ts +17 -9
  181. package/websql/lib/realtime/realtime-client.d.ts +8 -2
  182. package/websql/lib/realtime/realtime-core.d.ts +6 -6
  183. package/websql/lib/realtime/realtime-server.d.ts +9 -4
  184. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +71 -12
  185. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +4 -4
  186. package/websql/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +2 -3
  187. package/websql/lib/realtime/realtime-strategy/realtime-strategy.d.ts +4 -5
  188. package/websql/lib/realtime/realtime.models.d.ts +1 -0
  189. package/websql/lib/symbols.d.ts +30 -36
  190. package/browser/esm2022/lib/base-classes/base-subscriber.mjs +0 -27
  191. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +0 -98
  192. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +0 -45
  193. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +0 -40
  194. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +0 -25
  195. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +0 -4
  196. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +0 -5
  197. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +0 -50
  198. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +0 -48
  199. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +0 -35
  200. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +0 -43
  201. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +0 -4
  202. package/browser/lib/base-classes/base-subscriber.d.ts +0 -5
  203. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
  204. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -17
  205. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -11
  206. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -11
  207. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -14
  208. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -3
  209. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -17
  210. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -18
  211. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -12
  212. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -14
  213. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -12
  214. package/client/esm2022/lib/base-classes/base-subscriber.mjs +0 -27
  215. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +0 -98
  216. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +0 -45
  217. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +0 -40
  218. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +0 -25
  219. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +0 -4
  220. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +0 -5
  221. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +0 -50
  222. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +0 -48
  223. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +0 -35
  224. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +0 -43
  225. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +0 -4
  226. package/client/lib/base-classes/base-subscriber.d.ts +0 -5
  227. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
  228. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -17
  229. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -11
  230. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -11
  231. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -14
  232. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -3
  233. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -17
  234. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -18
  235. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -12
  236. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -14
  237. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -12
  238. package/lib/base-classes/base-subscriber.d.ts +0 -4
  239. package/lib/base-classes/base-subscriber.js +0 -25
  240. package/lib/base-classes/base-subscriber.js.map +0 -1
  241. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js +0 -5
  242. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js.map +0 -1
  243. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
  244. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js +0 -139
  245. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js.map +0 -1
  246. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -16
  247. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js +0 -68
  248. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js.map +0 -1
  249. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -10
  250. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js +0 -56
  251. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js.map +0 -1
  252. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -10
  253. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js +0 -50
  254. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js.map +0 -1
  255. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -13
  256. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js +0 -3
  257. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js.map +0 -1
  258. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -2
  259. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js +0 -6
  260. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js.map +0 -1
  261. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -16
  262. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js +0 -54
  263. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js.map +0 -1
  264. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -17
  265. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js +0 -52
  266. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js.map +0 -1
  267. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -11
  268. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js +0 -39
  269. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js.map +0 -1
  270. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -13
  271. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js +0 -46
  272. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js.map +0 -1
  273. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -11
  274. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js +0 -3
  275. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js.map +0 -1
  276. package/websql/esm2022/lib/base-classes/base-subscriber.mjs +0 -27
  277. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +0 -98
  278. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +0 -45
  279. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +0 -40
  280. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +0 -25
  281. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +0 -4
  282. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +0 -5
  283. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +0 -50
  284. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +0 -48
  285. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +0 -35
  286. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +0 -43
  287. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +0 -4
  288. package/websql/lib/base-classes/base-subscriber.d.ts +0 -5
  289. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +0 -22
  290. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +0 -17
  291. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +0 -11
  292. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +0 -11
  293. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +0 -14
  294. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +0 -3
  295. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +0 -17
  296. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +0 -18
  297. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +0 -12
  298. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +0 -14
  299. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +0 -12
  300. /package/lib/{realtime/realtime-strategy/realtime-strategy-ipc-models/index.d.ts → index._auto-generated_.d.ts} +0 -0
@@ -1,6 +1,193 @@
1
1
  import { RealtimeStrategy } from './realtime-strategy';
2
- import { ioIpcStrategy as IoIpcStrategy } from './realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper';
3
- import { IpcRendererWrapper } from './realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper';
2
+ export class MockServerIpc {
3
+ static { this.serverByContextName = new Map(); }
4
+ static from(contextName) {
5
+ if (!MockServerIpc.serverByContextName.has(contextName)) {
6
+ MockServerIpc.serverByContextName.set(contextName, new MockServerIpc(contextName));
7
+ }
8
+ return MockServerIpc.serverByContextName.get(contextName);
9
+ }
10
+ constructor(contextName) {
11
+ this.contextName = contextName;
12
+ this.namespacesByName = new Map();
13
+ MockServerIpc.serverByContextName.set(contextName, this);
14
+ }
15
+ of(namespace) {
16
+ if (!this.namespacesByName.has(namespace)) {
17
+ this.namespacesByName.set(namespace, new MockNamespaceIpc(namespace, this));
18
+ }
19
+ return this.namespacesByName.get(namespace);
20
+ }
21
+ }
22
+ export class MockNamespaceIpc {
23
+ constructor(
24
+ /**
25
+ * Namespace name
26
+ */
27
+ name, server) {
28
+ this.name = name;
29
+ this.server = server;
30
+ this.electronClients = new Set();
31
+ this.roomsByRoomName = {};
32
+ this.namespaceEventHandlers = {};
33
+ }
34
+ on(eventName, callback) {
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ return (void 0);
65
+ }
66
+ off(event, callback) {
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ return (void 0);
80
+ }
81
+ emit(eventName, ...args) {
82
+ /* */
83
+ /* */
84
+ /* */
85
+ /* */
86
+ /* */
87
+ /* */
88
+ /* */
89
+ /* */
90
+ /* */
91
+ return (void 0);
92
+ }
93
+ to(roomName) {
94
+ const electronClientsInroom = this.roomsByRoomName[roomName];
95
+ return new RoomEmitterIpc(electronClientsInroom, this.name, true);
96
+ }
97
+ in(roomName) {
98
+ const electronClientsInroom = this.roomsByRoomName[roomName];
99
+ return new RoomEmitterIpc(electronClientsInroom, this.name, false);
100
+ }
101
+ join(webContents, roomName) {
102
+ if (!this.roomsByRoomName[roomName]) {
103
+ this.roomsByRoomName[roomName] = new Set();
104
+ }
105
+ this.roomsByRoomName[roomName].add(webContents);
106
+ }
107
+ leave(webContents, roomName) {
108
+ if (this.roomsByRoomName[roomName]) {
109
+ this.roomsByRoomName[roomName].delete(webContents);
110
+ if (this.roomsByRoomName[roomName].size === 0) {
111
+ delete this.roomsByRoomName[roomName];
112
+ }
113
+ }
114
+ }
115
+ path() {
116
+ return this.name;
117
+ }
118
+ get nsp() {
119
+ const self = this;
120
+ return {
121
+ get name() {
122
+ return self.name;
123
+ },
124
+ };
125
+ }
126
+ }
127
+ class RoomEmitterIpc {
128
+ constructor(electronClients,
129
+ /**
130
+ * namespace name
131
+ */
132
+ name, includeSender = false, sender = null) {
133
+ this.electronClients = electronClients;
134
+ this.name = name;
135
+ this.includeSender = includeSender;
136
+ this.sender = sender;
137
+ }
138
+ emit(eventName, ...args) {
139
+ const emitEvent = `(${this.name}) "${eventName}"`;
140
+ this.electronClients?.forEach(webContents => {
141
+ webContents.send(emitEvent, ...args);
142
+ });
143
+ }
144
+ }
145
+ export class MockSocketIpc {
146
+ get name() {
147
+ return this.namespaceName;
148
+ }
149
+ /**
150
+ * @param namespaceName instead url for ipc
151
+ */
152
+ constructor(namespaceName) {
153
+ this.namespaceName = namespaceName;
154
+ this.socketEventHandlers = {};
155
+ this.ipcRenderer = window.require('electron').ipcRenderer;
156
+ }
157
+ on(eventName, callback) {
158
+ if (!this.socketEventHandlers[eventName]) {
159
+ this.socketEventHandlers[eventName] = new Set();
160
+ }
161
+ this.socketEventHandlers[eventName].add(callback);
162
+ const listenToEvent = `(${this.name}) "${eventName}"`;
163
+ this.ipcRenderer.on(listenToEvent, (rendereEvent, data) => {
164
+ callback(data);
165
+ });
166
+ if (eventName === 'connect') {
167
+ const connectionEventKey = `(${this.name}) "connection"`;
168
+ this.ipcRenderer.send(connectionEventKey, this.name);
169
+ }
170
+ }
171
+ off(event, callback) {
172
+ if (!this.socketEventHandlers[event]) {
173
+ return;
174
+ }
175
+ if (callback) {
176
+ this.socketEventHandlers[event].delete(callback);
177
+ }
178
+ else {
179
+ delete this.socketEventHandlers[event];
180
+ }
181
+ const removeListener = `(${this.name}) "${event}"`;
182
+ this.ipcRenderer.removeListener(removeListener, data => {
183
+ callback(data);
184
+ });
185
+ }
186
+ emit(event, ...args) {
187
+ const emitEvent = `(${this.name}) "${event}"`;
188
+ this.ipcRenderer.send(emitEvent, ...args);
189
+ }
190
+ }
4
191
  /**
5
192
  * Purpose:
6
193
  * - backend-browser communication between 2 processes in electron mode
@@ -9,40 +196,23 @@ export class RealtimeStrategyIpc extends RealtimeStrategy {
9
196
  toString() {
10
197
  return 'ipc';
11
198
  }
12
- establishConnection() {
13
- throw new Error('Method not implemented.');
14
- }
15
199
  constructor(ctx) {
16
200
  super(ctx);
17
201
  this.ctx = ctx;
18
- this.contextsServers = {};
19
- this.contextsIO = {};
20
202
  }
21
- get io() {
22
- return ((__, { path: namespacePath }) => {
23
- if (this.contextsIO[namespacePath]) {
24
- return this.contextsIO[namespacePath];
25
- }
26
- const wrap = new IpcRendererWrapper(this.ctx.contextName);
27
- const nsp = wrap.of(namespacePath);
28
- this.contextsIO[namespacePath] = nsp;
29
- return nsp;
30
- });
31
- return void 0;
203
+ ioServer(__, opt) {
204
+ const namespace = opt?.path || '/';
205
+ const server = MockServerIpc.from(this.ctx.contextName);
206
+ return server.of(namespace);
32
207
  }
33
- get Server() {
34
- return ((___, { path: namespacePath }) => {
35
- if (this.contextsServers[namespacePath]) {
36
- return this.contextsServers[namespacePath];
37
- }
38
- const wrap = new IoIpcStrategy(this.ctx.contextName);
39
- const nsp = wrap.of(namespacePath);
40
- this.contextsServers[namespacePath] = nsp;
41
- return nsp;
42
- });
43
- return void 0;
208
+ get ioClient() {
209
+ const clientIo = (__, opt) => {
210
+ const namespace = opt?.path || '/';
211
+ return new MockSocketIpc(namespace);
212
+ };
213
+ return clientIo;
44
214
  }
45
215
  }
46
216
  ;
47
217
  ({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy-ipc.ts
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktaXBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxJQUFJLGFBQWEsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBRzNHOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDdkQsUUFBUTtRQUNOLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELG1CQUFtQjtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELFlBQXNCLEdBQW9CO1FBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURTLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBSTFDLG9CQUFlLEdBQXNDLEVBQUUsQ0FBQztRQUN4RCxlQUFVLEdBQXlDLEVBQUUsQ0FBQztJQUh0RCxDQUFDO0lBS0QsSUFBSSxFQUFFO1FBRUosT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTFELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFVLENBQUM7WUFDNUMsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQVEsQ0FBQztRQUVWLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQUksTUFBTTtRQUVSLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQVUsQ0FBQztZQUNqRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBUSxDQUFDO1FBRVYsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlGQUF5RiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdzb2NrZXQuaW8nO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG5pbXBvcnQgeyBpb0lwY1N0cmF0ZWd5IGFzIElvSXBjU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy1tb2RlbHMvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLW1haW4td3JhcHBlcic7XG5pbXBvcnQgeyBJcGNSZW5kZXJlcldyYXBwZXIgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy1tb2RlbHMvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLXJlbmRlcmVyLXdyYXBwZXInO1xuaW1wb3J0IHR5cGUgeyBpbyB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuXG4vKipcbiAqIFB1cnBvc2U6XG4gKiAtIGJhY2tlbmQtYnJvd3NlciBjb21tdW5pY2F0aW9uIGJldHdlZW4gMiBwcm9jZXNzZXMgaW4gZWxlY3Ryb24gbW9kZVxuICovXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVTdHJhdGVneUlwYyBleHRlbmRzIFJlYWx0aW1lU3RyYXRlZ3kge1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnaXBjJztcbiAgfVxuICBlc3RhYmxpc2hDb25uZWN0aW9uKCk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cbiAgY29udGV4dHNTZXJ2ZXJzOiB7IFtjb250ZXh0TmFtZTogc3RyaW5nXTogU2VydmVyIH0gPSB7fTtcbiAgY29udGV4dHNJTzogeyBbY29udGV4dE5hbWU6IHN0cmluZ106IHR5cGVvZiBpbyB9ID0ge307XG5cbiAgZ2V0IGlvKCkge1xuXG4gICAgcmV0dXJuICgoX18sIHsgcGF0aDogbmFtZXNwYWNlUGF0aCB9KSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0c0lPW25hbWVzcGFjZVBhdGhdKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHRzSU9bbmFtZXNwYWNlUGF0aF07XG4gICAgICB9XG4gICAgICBjb25zdCB3cmFwID0gbmV3IElwY1JlbmRlcmVyV3JhcHBlcih0aGlzLmN0eC5jb250ZXh0TmFtZSk7XG5cbiAgICAgIGNvbnN0IG5zcCA9IHdyYXAub2YobmFtZXNwYWNlUGF0aCk7XG4gICAgICB0aGlzLmNvbnRleHRzSU9bbmFtZXNwYWNlUGF0aF0gPSBuc3AgYXMgYW55O1xuICAgICAgcmV0dXJuIG5zcDtcbiAgICB9KSBhcyBhbnk7XG5cbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGdldCBTZXJ2ZXIoKSB7XG5cbiAgICByZXR1cm4gKChfX18sIHsgcGF0aDogbmFtZXNwYWNlUGF0aCB9KSA9PiB7XG4gICAgICBpZiAodGhpcy5jb250ZXh0c1NlcnZlcnNbbmFtZXNwYWNlUGF0aF0pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dHNTZXJ2ZXJzW25hbWVzcGFjZVBhdGhdO1xuICAgICAgfVxuICAgICAgY29uc3Qgd3JhcCA9IG5ldyBJb0lwY1N0cmF0ZWd5KHRoaXMuY3R4LmNvbnRleHROYW1lKTtcblxuICAgICAgY29uc3QgbnNwID0gd3JhcC5vZihuYW1lc3BhY2VQYXRoKTtcbiAgICAgIHRoaXMuY29udGV4dHNTZXJ2ZXJzW25hbWVzcGFjZVBhdGhdID0gbnNwIGFzIGFueTtcbiAgICAgIHJldHVybiBuc3A7XG4gICAgfSkgYXMgYW55O1xuXG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLnRzIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktaXBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LWlwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVl2RCxNQUFNLE9BQU8sYUFBYTthQUNqQix3QkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQUFBbkMsQ0FBb0M7SUFFOUQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFtQjtRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3hELGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQ25DLFdBQVcsRUFDWCxJQUFJLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FDL0IsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUtELFlBQW1CLFdBQW1CO1FBQW5CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBSHRDLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBSXJELGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFJRCxFQUFFLENBQUMsU0FBaUI7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUN2QixTQUFTLEVBQ1QsSUFBSSxnQkFB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QyxFQUM5QixFQUFFO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFDO1lBQ25DLE9BQU8sSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxRQUFlLENBQUM7SUFDekIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5RkFBeUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBTZXJ2ZXIsIFNlcnZlck9wdGlvbnMgfSBmcm9tICdzb2NrZXQuaW8nO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG5pbXBvcnQgdHlwZSB7IGlvLCBNYW5hZ2VyT3B0aW9ucywgU29ja2V0T3B0aW9ucyB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBpcGNSZW5kZXJlciB9IGZyb20gJ2VsZWN0cm9uJztcbmltcG9ydCB7IFN5bWJvbHMgfSBmcm9tICcuLi8uLi9zeW1ib2xzJztcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBSZWFsdGltZU1vZGVscyB9IGZyb20gJy4uL3JlYWx0aW1lLm1vZGVscyc7XG5cblxuXG5leHBvcnQgY2xhc3MgTW9ja1NlcnZlcklwYyB7XG4gIHN0YXRpYyBzZXJ2ZXJCeUNvbnRleHROYW1lID0gbmV3IE1hcDxzdHJpbmcsIE1vY2tTZXJ2ZXJJcGM+KCk7XG5cbiAgc3RhdGljIGZyb20oY29udGV4dE5hbWU6IHN0cmluZyk6IE1vY2tTZXJ2ZXJJcGMge1xuICAgIGlmICghTW9ja1NlcnZlcklwYy5zZXJ2ZXJCeUNvbnRleHROYW1lLmhhcyhjb250ZXh0TmFtZSkpIHtcbiAgICAgIE1vY2tTZXJ2ZXJJcGMuc2VydmVyQnlDb250ZXh0TmFtZS5zZXQoXG4gICAgICAgIGNvbnRleHROYW1lLFxuICAgICAgICBuZXcgTW9ja1NlcnZlcklwYyhjb250ZXh0TmFtZSksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gTW9ja1NlcnZlcklwYy5zZXJ2ZXJCeUNvbnRleHROYW1lLmdldChjb250ZXh0TmFtZSk7XG4gIH1cblxuICBuYW1lc3BhY2VzQnlOYW1lID0gbmV3IE1hcDxzdHJpbmcsIE1vY2tOYW1lc3BhY2VJcGM+KCk7XG5cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGV4dE5hbWU6IHN0cmluZykge1xuICAgIE1vY2tTZXJ2ZXJJcGMuc2VydmVyQnlDb250ZXh0TmFtZS5zZXQoY29udGV4dE5hbWUsIHRoaXMpO1xuICB9XG5cblxuXG4gIG9mKG5hbWVzcGFjZTogc3RyaW5nKTogTW9ja05hbWVzcGFjZUlwYyB7XG4gICAgaWYgKCF0aGlzLm5hbWVzcGFjZXNCeU5hbWUuaGFzKG5hbWVzcGFjZSkpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlc0J5TmFtZS5zZXQoXG4gICAgICAgIG5hbWVzcGFjZSxcbiAgICAgICAgbmV3IE1vY2tOYW1lc3BhY2VJcGMobmFtZXNwYWNlLCB0aGlzKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5hbWVzcGFjZXNCeU5hbWUuZ2V0KG5hbWVzcGFjZSk7XG4gIH1cblxufVxuXG5cblxuZXhwb3J0IGNsYXNzIE1vY2tOYW1lc3BhY2VJcGMge1xuXG4gIGVsZWN0cm9uQ2xpZW50cyA9IG5ldyBTZXQ8RWxlY3Ryb24uV2ViQ29udGVudHM+KCk7XG4gIHJvb21zQnlSb29tTmFtZToge1xuICAgIFtyb29tTmFtZTogc3RyaW5nXTogU2V0PEVsZWN0cm9uLldlYkNvbnRlbnRzPjtcbiAgfSA9IHt9O1xuXG4gIHByaXZhdGUgbmFtZXNwYWNlRXZlbnRIYW5kbGVyczoge1xuICAgIFtldmVudE5hbWU6IHN0cmluZ106IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+O1xuICB9ID0ge307XG5cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIE5hbWVzcGFjZSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgc2VydmVyOiBNb2NrU2VydmVySXBjLFxuICApIHt9XG5cblxuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogUmVhbHRpbWVNb2RlbHMuRXZlbnRIYW5kbGVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgb2ZmKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrPzogUmVhbHRpbWVNb2RlbHMuRXZlbnRIYW5kbGVyKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHRvKHJvb21OYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBlbGVjdHJvbkNsaWVudHNJbnJvb20gPSB0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV07XG4gICAgcmV0dXJuIG5ldyBSb29tRW1pdHRlcklwYyhlbGVjdHJvbkNsaWVudHNJbnJvb20sIHRoaXMubmFtZSwgdHJ1ZSk7XG4gIH1cblxuXG5cbiAgaW4ocm9vbU5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZWN0cm9uQ2xpZW50c0lucm9vbSA9IHRoaXMucm9vbXNCeVJvb21OYW1lW3Jvb21OYW1lXTtcbiAgICByZXR1cm4gbmV3IFJvb21FbWl0dGVySXBjKGVsZWN0cm9uQ2xpZW50c0lucm9vbSwgdGhpcy5uYW1lLCBmYWxzZSk7XG4gIH1cblxuXG5cbiAgam9pbih3ZWJDb250ZW50czogRWxlY3Ryb24uV2ViQ29udGVudHMsIHJvb21OYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMucm9vbXNCeVJvb21OYW1lW3Jvb21OYW1lXSkge1xuICAgICAgdGhpcy5yb29tc0J5Um9vbU5hbWVbcm9vbU5hbWVdID0gbmV3IFNldCgpO1xuICAgIH1cbiAgICB0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV0uYWRkKHdlYkNvbnRlbnRzKTtcbiAgfVxuXG5cblxuICBsZWF2ZSh3ZWJDb250ZW50czogRWxlY3Ryb24uV2ViQ29udGVudHMsIHJvb21OYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5yb29tc0J5Um9vbU5hbWVbcm9vbU5hbWVdKSB7XG4gICAgICB0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV0uZGVsZXRlKHdlYkNvbnRlbnRzKTtcbiAgICAgIGlmICh0aGlzLnJvb21zQnlSb29tTmFtZVtyb29tTmFtZV0uc2l6ZSA9PT0gMCkge1xuICAgICAgICBkZWxldGUgdGhpcy5yb29tc0J5Um9vbU5hbWVbcm9vbU5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICBwYXRoKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuXG5cbiAgZ2V0IG5zcCgpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiBzZWxmLm5hbWU7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxufVxuXG5cblxuXG5jbGFzcyBSb29tRW1pdHRlcklwYyB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVjdHJvbkNsaWVudHM6IFNldDxFbGVjdHJvbi5XZWJDb250ZW50cz4sXG4gICAgLyoqXG4gICAgICogbmFtZXNwYWNlIG5hbWVcbiAgICAgKi9cbiAgICBwcml2YXRlIG5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIGluY2x1ZGVTZW5kZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBwcml2YXRlIHNlbmRlcjogTW9ja1NvY2tldElwYyA9IG51bGwsIC8vIFRPRE8gUVVJQ0sgRklYIGhvdyB0byBpbmNsdWRlIHNlbmRlclxuICApIHt9XG5cblxuXG4gIGVtaXQoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG4gICAgY29uc3QgZW1pdEV2ZW50ID0gYCgke3RoaXMubmFtZX0pIFwiJHtldmVudE5hbWV9XCJgO1xuICAgIHRoaXMuZWxlY3Ryb25DbGllbnRzPy5mb3JFYWNoKHdlYkNvbnRlbnRzID0+IHtcbiAgICAgIHdlYkNvbnRlbnRzLnNlbmQoZW1pdEV2ZW50LCAuLi5hcmdzKTtcbiAgICB9KTtcbiAgfVxuXG59XG5cblxuXG5leHBvcnQgY2xhc3MgTW9ja1NvY2tldElwYyB7XG5cblxuXG4gIGlwY1JlbmRlcmVyITogdHlwZW9mIGlwY1JlbmRlcmVyO1xuXG5cblxuICBwcml2YXRlIHNvY2tldEV2ZW50SGFuZGxlcnMgPSB7fSBhcyB7XG4gICAgW2V2ZW50TmFtZTogc3RyaW5nXTogU2V0PFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcj47XG4gIH07XG5cblxuXG4gIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWVzcGFjZU5hbWU7XG4gIH1cblxuXG5cblxuXG4gIC8qKlxuICAgKiBAcGFyYW0gbmFtZXNwYWNlTmFtZSBpbnN0ZWFkIHVybCBmb3IgaXBjXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmFtZXNwYWNlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pcGNSZW5kZXJlciA9ICh3aW5kb3cgYXMgYW55KS5yZXF1aXJlKCdlbGVjdHJvbicpLmlwY1JlbmRlcmVyO1xuICB9XG5cblxuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogKGV2ZW50OiBhbnksIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSB7XG4gICAgaWYgKCF0aGlzLnNvY2tldEV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSkge1xuICAgICAgdGhpcy5zb2NrZXRFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0gPSBuZXcgU2V0KCk7XG4gICAgfVxuICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdLmFkZChjYWxsYmFjayk7XG5cbiAgICBjb25zdCBsaXN0ZW5Ub0V2ZW50ID0gYCgke3RoaXMubmFtZX0pIFwiJHtldmVudE5hbWV9XCJgO1xuICAgIHRoaXMuaXBjUmVuZGVyZXIub24obGlzdGVuVG9FdmVudCwgKHJlbmRlcmVFdmVudCwgZGF0YSkgPT4ge1xuICAgICAgY2FsbGJhY2soZGF0YSk7XG4gICAgfSk7XG5cbiAgICBpZiAoZXZlbnROYW1lID09PSAnY29ubmVjdCcpIHtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb25FdmVudEtleSA9IGAoJHt0aGlzLm5hbWV9KSBcImNvbm5lY3Rpb25cImA7XG4gICAgICB0aGlzLmlwY1JlbmRlcmVyLnNlbmQoY29ubmVjdGlvbkV2ZW50S2V5LCB0aGlzLm5hbWUpO1xuICAgIH1cbiAgfVxuXG5cblxuICBvZmYoZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s/OiAoZXZlbnQ6IGFueSwgLi4uYXJnczogYW55W10pID0+IHZvaWQpIHtcbiAgICBpZiAoIXRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudF0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudF0uZGVsZXRlKGNhbGxiYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudF07XG4gICAgfVxuICAgIGNvbnN0IHJlbW92ZUxpc3RlbmVyID0gYCgke3RoaXMubmFtZX0pIFwiJHtldmVudH1cImA7XG5cbiAgICB0aGlzLmlwY1JlbmRlcmVyLnJlbW92ZUxpc3RlbmVyKHJlbW92ZUxpc3RlbmVyLCBkYXRhID0+IHtcbiAgICAgIGNhbGxiYWNrKGRhdGEpO1xuICAgIH0pO1xuICB9XG5cblxuXG4gIGVtaXQoZXZlbnQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgICBjb25zdCBlbWl0RXZlbnQgPSBgKCR7dGhpcy5uYW1lfSkgXCIke2V2ZW50fVwiYDtcbiAgICB0aGlzLmlwY1JlbmRlcmVyLnNlbmQoZW1pdEV2ZW50LCAuLi5hcmdzKTtcbiAgfVxuXG59XG5cblxuLyoqXG4gKiBQdXJwb3NlOlxuICogLSBiYWNrZW5kLWJyb3dzZXIgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIDIgcHJvY2Vzc2VzIGluIGVsZWN0cm9uIG1vZGVcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3lJcGMgZXh0ZW5kcyBSZWFsdGltZVN0cmF0ZWd5IHtcblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnaXBjJztcbiAgfVxuXG5cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cblxuXG4gIGlvU2VydmVyKF9fOiBzdHJpbmcsIG9wdDogU2VydmVyT3B0aW9ucykge1xuICAgIGNvbnN0IG5hbWVzcGFjZSA9IG9wdD8ucGF0aCB8fCAnLyc7XG4gICAgY29uc3Qgc2VydmVyID0gTW9ja1NlcnZlcklwYy5mcm9tKHRoaXMuY3R4LmNvbnRleHROYW1lKTtcbiAgICByZXR1cm4gc2VydmVyLm9mKG5hbWVzcGFjZSkgYXMgYW55O1xuICB9XG5cbiAgZ2V0IGlvQ2xpZW50KCkge1xuICAgIGNvbnN0IGNsaWVudElvID0gKFxuICAgICAgX186IHN0cmluZyxcbiAgICAgIG9wdD86IFBhcnRpYWw8TWFuYWdlck9wdGlvbnMgJiBTb2NrZXRPcHRpb25zPixcbiAgICApOiBNb2NrU29ja2V0SXBjID0+IHtcbiAgICAgIGNvbnN0IG5hbWVzcGFjZSA9IG9wdD8ucGF0aCB8fCAnLyc7XG4gICAgICByZXR1cm4gbmV3IE1vY2tTb2NrZXRJcGMobmFtZXNwYWNlKTtcbiAgICB9O1xuICAgIHJldHVybiBjbGllbnRJbyBhcyBhbnk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktaXBjLnRzIl19
@@ -1,5 +1,201 @@
1
1
  import { RealtimeStrategy } from './realtime-strategy';
2
- import { MockServer, mockIo } from './realtime-strategy-mock-models';
2
+ import { Symbols } from '../../symbols';
3
+ class MockServer {
4
+ static { this.serverByUrl = new Map(); }
5
+ static from(url) {
6
+ if (!MockServer.serverByUrl.has(url)) {
7
+ MockServer.serverByUrl.set(url, new MockServer(url));
8
+ }
9
+ return MockServer.serverByUrl.get(url);
10
+ }
11
+ get allServers() {
12
+ return Array.from(MockServer.serverByUrl.values());
13
+ }
14
+ constructor(url) {
15
+ this.url = url;
16
+ this.namespacesByName = new Map();
17
+ MockServer.serverByUrl.set(url, this);
18
+ }
19
+ of(namespace) {
20
+ if (!this.namespacesByName.has(namespace)) {
21
+ this.namespacesByName.set(namespace, new MockNamespace(namespace, this));
22
+ }
23
+ return this.namespacesByName.get(namespace);
24
+ }
25
+ path() {
26
+ return this.url;
27
+ }
28
+ }
29
+ class MockNamespace {
30
+ constructor(
31
+ /**
32
+ * unique namespace name
33
+ */
34
+ name, server) {
35
+ this.name = name;
36
+ this.server = server;
37
+ /**
38
+ * All sockets connected to this namespace
39
+ */
40
+ this.allSocketsForNamespace = new Set();
41
+ /**
42
+ * Rooms and their sockets
43
+ */
44
+ this.socketByRoomName = {};
45
+ /**
46
+ * Event handlers for this namespace
47
+ */
48
+ this.namespaceEventHandlers = {};
49
+ }
50
+ on(eventName, handler) {
51
+ if (!this.namespaceEventHandlers[eventName]) {
52
+ this.namespaceEventHandlers[eventName] =
53
+ new Set();
54
+ }
55
+ if (!this.namespaceEventHandlers[eventName].has(handler)) {
56
+ this.namespaceEventHandlers[eventName].add(handler);
57
+ }
58
+ if (eventName === 'connection') {
59
+ setTimeout(() => {
60
+ this.emit('connection', this);
61
+ });
62
+ }
63
+ }
64
+ emit(event, ...args) {
65
+ this.allSocketsForNamespace?.forEach(socket => {
66
+ socket.emit(event, ...args);
67
+ });
68
+ }
69
+ connect(socket) {
70
+ this.allSocketsForNamespace.add(socket);
71
+ socket.namespaceInstance = this;
72
+ }
73
+ to(roomName) {
74
+ const socketsInRoom = this.socketByRoomName[roomName];
75
+ return new RoomEmitter(socketsInRoom, true);
76
+ }
77
+ in(roomName) {
78
+ const socketsInRoom = this.socketByRoomName[roomName];
79
+ return new RoomEmitter(socketsInRoom, false);
80
+ }
81
+ joinRoom(roomName, socket) {
82
+ if (!this.socketByRoomName[roomName]) {
83
+ this.socketByRoomName[roomName] = new Set();
84
+ }
85
+ this.socketByRoomName[roomName].add(socket);
86
+ }
87
+ leaveRoom(roomName, socket) {
88
+ const roomSockets = this.socketByRoomName[roomName];
89
+ if (roomSockets) {
90
+ this.socketByRoomName[roomName].delete(socket);
91
+ }
92
+ }
93
+ get nsp() {
94
+ const self = this;
95
+ return {
96
+ get name() {
97
+ return self.name;
98
+ },
99
+ };
100
+ }
101
+ path() {
102
+ return this.name;
103
+ }
104
+ }
105
+ class RoomEmitter {
106
+ constructor(sockets, includeSender = false, sender = null) {
107
+ this.sockets = sockets;
108
+ this.includeSender = includeSender;
109
+ this.sender = sender;
110
+ }
111
+ emit(event, ...args) {
112
+ this.sockets?.forEach(socket => {
113
+ if (this.includeSender || socket !== this.sender) {
114
+ socket.emit(event, ...args);
115
+ }
116
+ });
117
+ }
118
+ }
119
+ class MockSocket {
120
+ get id() {
121
+ return this.nsp.name;
122
+ }
123
+ constructor(url, opts) {
124
+ this.url = url;
125
+ this.socketEventHandlers = {};
126
+ // @ts-ignore
127
+ const [baseUrl, namespace] = [url, opts.path || '/'];
128
+ const namespaceName = namespace || '/';
129
+ const server = MockServer.from(url);
130
+ const ns = server.of(namespaceName);
131
+ ns.connect(this);
132
+ }
133
+ get nsp() {
134
+ const self = this;
135
+ return {
136
+ get name() {
137
+ return self.namespaceInstance?.name;
138
+ },
139
+ };
140
+ }
141
+ path() {
142
+ return this.namespaceInstance?.name;
143
+ }
144
+ on(eventName, handler) {
145
+ if (!this.socketEventHandlers[eventName]) {
146
+ this.socketEventHandlers[eventName] =
147
+ new Set();
148
+ }
149
+ this.socketEventHandlers[eventName].add(handler);
150
+ if (eventName === 'connect') {
151
+ setTimeout(() => {
152
+ this.emit('connect');
153
+ });
154
+ }
155
+ }
156
+ emit(eventName, ...args) {
157
+ eventName = eventName || '';
158
+ if (eventName.includes(`:${Symbols.REALTIME.KEYroomSubscribe}`)) {
159
+ const room = args[0];
160
+ this.join(room);
161
+ }
162
+ else if (eventName.includes(`:${Symbols.REALTIME.KEYroomUnsubscribe}`)) {
163
+ const room = args[0];
164
+ this.leave(room);
165
+ }
166
+ else {
167
+ if (this.namespaceInstance) {
168
+ const namespaceEventHandlers = this.namespaceInstance.namespaceEventHandlers[eventName] || [];
169
+ for (const namespaceEventHandler of namespaceEventHandlers) {
170
+ if (namespaceEventHandler) {
171
+ namespaceEventHandler(...args);
172
+ }
173
+ }
174
+ const allSocketsForNamespaceExceptCurrent = Array.from(this.namespaceInstance.allSocketsForNamespace.values()).filter(socket => socket !== this);
175
+ for (const socket of allSocketsForNamespaceExceptCurrent) {
176
+ const socketEventHandlers = socket.socketEventHandlers[eventName];
177
+ for (const socketEventHandler of socketEventHandlers) {
178
+ if (socketEventHandler) {
179
+ socketEventHandler(...args);
180
+ }
181
+ }
182
+ }
183
+ const socketEventHandlers = this.socketEventHandlers[eventName] || [];
184
+ for (const clientHandler of socketEventHandlers) {
185
+ if (clientHandler) {
186
+ clientHandler(...args);
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }
192
+ join(roomName) {
193
+ this.namespaceInstance.joinRoom(roomName, this);
194
+ }
195
+ leave(roomName) {
196
+ this.namespaceInstance.leaveRoom(roomName, this);
197
+ }
198
+ }
3
199
  /**
4
200
  * Purpose:
5
201
  * - browser-browser communication mock (in websql mode)
@@ -12,17 +208,17 @@ export class RealtimeStrategyMock extends RealtimeStrategy {
12
208
  super(ctx);
13
209
  this.ctx = ctx;
14
210
  }
15
- get Server() {
16
- return MockServer;
17
- }
18
- ;
19
- get io() {
20
- return mockIo;
211
+ ioServer(url, opt) {
212
+ const server = MockServer.from(url || this.ctx.uri.origin);
213
+ return server.of(opt?.path || '/');
21
214
  }
22
- establishConnection() {
23
- throw new Error('Method not implemented.');
215
+ get ioClient() {
216
+ const clientIo = (uri, opts) => {
217
+ return new MockSocket(uri || this.ctx.uri.origin, opts);
218
+ };
219
+ return clientIo;
24
220
  }
25
221
  }
26
222
  ;
27
223
  ({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy-mock.ts
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFcEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQUN4RCxRQUFRO1FBQ04sT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUdELFlBQXNCLEdBQW9CO1FBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURTLFFBQUcsR0FBSCxHQUFHLENBQWlCO0lBRTFDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLFVBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUFBLENBQUM7SUFFRixJQUFJLEVBQUU7UUFDSixPQUFPLE1BQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBGQUEwRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdzb2NrZXQuaW8nO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG5pbXBvcnQgeyBNb2NrU2VydmVyLCBtb2NrSW8gfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5LW1vY2stbW9kZWxzJ1xuXG4vKipcbiAqIFB1cnBvc2U6XG4gKiAtIGJyb3dzZXItYnJvd3NlciBjb21tdW5pY2F0aW9uIG1vY2sgKGluIHdlYnNxbCBtb2RlKVxuICovXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVTdHJhdGVneU1vY2sgZXh0ZW5kcyBSZWFsdGltZVN0cmF0ZWd5IHtcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ21vY2snO1xuICB9XG5cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cbiAgZ2V0IFNlcnZlcigpIHtcbiAgICByZXR1cm4gTW9ja1NlcnZlciBhcyBhbnk7XG4gIH07XG5cbiAgZ2V0IGlvKCkge1xuICAgIHJldHVybiBtb2NrSW8gYXMgYW55O1xuICB9XG5cbiAgZXN0YWJsaXNoQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktbW9jay50cyJdfQ==
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktbW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPeEMsTUFBTSxVQUFVO2FBQ1AsZ0JBQVcsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQUFBaEMsQ0FBaUM7SUFDbkQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFXO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFLRCxZQUFtQixHQUFXO1FBQVgsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUg5QixxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUlsRCxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUlELEVBQUUsQ0FBQyxTQUFpQjtRQUNsQixJ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SUFJRCxRQUFRLENBQUMsR0FBVyxFQUFFLEdBQWtCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsQ0FBUSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixNQUFNLFFBQVEsR0FBRyxDQUNmLEdBQVcsRUFDWCxJQUE4QyxFQUNsQyxFQUFFO1lBQ2QsT0FBTyxJQUFJLFVBQVUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQVcsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQztRQUNGLE9BQU8sUUFBZSxDQUFDO0lBQ3pCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEZBQTBGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHR5cGUgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi8uLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB7IFJlYWx0aW1lU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5JztcbmltcG9ydCB7IFN5bWJvbHMgfSBmcm9tICcuLi8uLi9zeW1ib2xzJztcbmltcG9ydCB7IE1hbmFnZXJPcHRpb25zLCBTb2NrZXRPcHRpb25zIH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBSZWFsdGltZU1vZGVscyB9IGZyb20gJy4uL3JlYWx0aW1lLm1vZGVscyc7XG5pbXBvcnQgeyBTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnc29ja2V0LmlvJztcblxuXG5cbmNsYXNzIE1vY2tTZXJ2ZXIge1xuICBzdGF0aWMgc2VydmVyQnlVcmwgPSBuZXcgTWFwPHN0cmluZywgTW9ja1NlcnZlcj4oKTtcbiAgc3RhdGljIGZyb20odXJsOiBzdHJpbmcpOiBNb2NrU2VydmVyIHtcbiAgICBpZiAoIU1vY2tTZXJ2ZXIuc2VydmVyQnlVcmwuaGFzKHVybCkpIHtcbiAgICAgIE1vY2tTZXJ2ZXIuc2VydmVyQnlVcmwuc2V0KHVybCwgbmV3IE1vY2tTZXJ2ZXIodXJsKSk7XG4gICAgfVxuICAgIHJldHVybiBNb2NrU2VydmVyLnNlcnZlckJ5VXJsLmdldCh1cmwpO1xuICB9XG5cbiAgZ2V0IGFsbFNlcnZlcnMoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oTW9ja1NlcnZlci5zZXJ2ZXJCeVVybC52YWx1ZXMoKSk7XG4gIH1cblxuICBuYW1lc3BhY2VzQnlOYW1lID0gbmV3IE1hcDxzdHJpbmcsIE1vY2tOYW1lc3BhY2U+KCk7XG5cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXJsOiBzdHJpbmcpIHtcbiAgICBNb2NrU2VydmVyLnNlcnZlckJ5VXJsLnNldCh1cmwsIHRoaXMpO1xuICB9XG5cblxuXG4gIG9mKG5hbWVzcGFjZTogc3RyaW5nKTogTW9ja05hbWVzcGFjZSB7XG4gICAgaWYgKCF0aGlzLm5hbWVzcGFjZXNCeU5hbWUuaGFzKG5hbWVzcGFjZSkpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlc0J5TmFtZS5zZXQobmFtZXNwYWNlLCBuZXcgTW9ja05hbWVzcGFjZShuYW1lc3BhY2UsIHRoaXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubmFtZXNwYWNlc0J5TmFtZS5nZXQobmFtZXNwYWNlKTtcbiAgfVxuXG5cblxuICBwYXRoKCkge1xuICAgIHJldHVybiB0aGlzLnVybDtcbiAgfVxuXG59XG5cblxuXG5jbGFzcyBNb2NrTmFtZXNwYWNlIHtcbiAgLyoqXG4gICAqIEFsbCBzb2NrZXRzIGNvbm5lY3RlZCB0byB0aGlzIG5hbWVzcGFjZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFsbFNvY2tldHNGb3JOYW1lc3BhY2UgPSBuZXcgU2V0PE1vY2tTb2NrZXQ+KCk7XG4gIC8qKlxuICAgKiBSb29tcyBhbmQgdGhlaXIgc29ja2V0c1xuICAgKi9cbiAgcHJpdmF0ZSBzb2NrZXRCeVJvb21OYW1lOiB7XG4gICAgW3Jvb21OYW1lOiBzdHJpbmddOiBTZXQ8TW9ja1NvY2tldD47XG4gIH0gPSB7fTtcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXJzIGZvciB0aGlzIG5hbWVzcGFjZVxuICAgKi9cbiAgcHVibGljIG5hbWVzcGFjZUV2ZW50SGFuZGxlcnM6IHtcbiAgICBbZXZlbnROYW1lOiBzdHJpbmddOiBTZXQ8UmVhbHRpbWVNb2RlbHMuRXZlbnRIYW5kbGVyPjtcbiAgfSA9IHt9O1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogdW5pcXVlIG5hbWVzcGFjZSBuYW1lXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgc2VydmVyOiBNb2NrU2VydmVyLFxuICApIHt9XG5cblxuXG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXIpOiB2b2lkIHtcblxuICAgIGlmICghdGhpcy5uYW1lc3BhY2VFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0pIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlRXZlbnRIYW5kbGVyc1tldmVudE5hbWVdID1cbiAgICAgICAgbmV3IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+KCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLm5hbWVzcGFjZUV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXS5oYXMoaGFuZGxlcikpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlRXZlbnRIYW5kbGVyc1tldmVudE5hbWVdLmFkZChoYW5kbGVyKTtcbiAgICB9XG5cblxuXG4gICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2Nvbm5lY3Rpb24nKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KCdjb25uZWN0aW9uJywgdGhpcyk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuXG5cbiAgZW1pdChldmVudDogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuYWxsU29ja2V0c0Zvck5hbWVzcGFjZT8uZm9yRWFjaChzb2NrZXQgPT4ge1xuICAgICAgc29ja2V0LmVtaXQoZXZlbnQsIC4uLmFyZ3MpO1xuICAgIH0pO1xuICB9XG5cblxuXG4gIGNvbm5lY3Qoc29ja2V0OiBNb2NrU29ja2V0KTogdm9pZCB7XG4gICAgdGhpcy5hbGxTb2NrZXRzRm9yTmFtZXNwYWNlLmFkZChzb2NrZXQpO1xuICAgIHNvY2tldC5uYW1lc3BhY2VJbnN0YW5jZSA9IHRoaXM7XG4gIH1cblxuXG5cbiAgdG8ocm9vbU5hbWU6IHN0cmluZyk6IFJvb21FbWl0dGVyIHtcbiAgICBjb25zdCBzb2NrZXRzSW5Sb29tID0gdGhpcy5zb2NrZXRCeVJvb21OYW1lW3Jvb21OYW1lXTtcbiAgICByZXR1cm4gbmV3IFJvb21FbWl0dGVyKHNvY2tldHNJblJvb20sIHRydWUpO1xuICB9XG5cblxuXG4gIGluKHJvb21OYW1lOiBzdHJpbmcpOiBSb29tRW1pdHRlciB7XG4gICAgY29uc3Qgc29ja2V0c0luUm9vbSA9IHRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV07XG4gICAgcmV0dXJuIG5ldyBSb29tRW1pdHRlcihzb2NrZXRzSW5Sb29tLCBmYWxzZSk7XG4gIH1cblxuXG5cbiAgam9pblJvb20ocm9vbU5hbWU6IHN0cmluZywgc29ja2V0OiBNb2NrU29ja2V0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdKSB7XG4gICAgICB0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdID0gbmV3IFNldDxNb2NrU29ja2V0PigpO1xuICAgIH1cbiAgICB0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdLmFkZChzb2NrZXQpO1xuICB9XG5cblxuXG4gIGxlYXZlUm9vbShyb29tTmFtZTogc3RyaW5nLCBzb2NrZXQ6IE1vY2tTb2NrZXQpOiB2b2lkIHtcbiAgICBjb25zdCByb29tU29ja2V0cyA9IHRoaXMuc29ja2V0QnlSb29tTmFtZVtyb29tTmFtZV07XG4gICAgaWYgKHJvb21Tb2NrZXRzKSB7XG4gICAgICB0aGlzLnNvY2tldEJ5Um9vbU5hbWVbcm9vbU5hbWVdLmRlbGV0ZShzb2NrZXQpO1xuICAgIH1cbiAgfVxuXG5cblxuICBnZXQgbnNwKCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiB7XG4gICAgICBnZXQgbmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHNlbGYubmFtZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG5cbiAgcGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG59XG5cblxuXG5jbGFzcyBSb29tRW1pdHRlciB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzb2NrZXRzOiBTZXQ8TW9ja1NvY2tldD4sXG4gICAgcHJpdmF0ZSBpbmNsdWRlU2VuZGVyOiBib29sZWFuID0gZmFsc2UsXG4gICAgcHJpdmF0ZSBzZW5kZXI6IE1vY2tTb2NrZXQgPSBudWxsLCAvLyBUT0RPIFFVSUNLIEZJWCBob3cgdG8gaW5jbHVkZSBzZW5kZXJcbiAgKSB7fVxuXG5cblxuICBlbWl0KGV2ZW50OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZCB7XG5cblxuXG4gICAgdGhpcy5zb2NrZXRzPy5mb3JFYWNoKHNvY2tldCA9PiB7XG5cbiAgICAgIGlmICh0aGlzLmluY2x1ZGVTZW5kZXIgfHwgc29ja2V0ICE9PSB0aGlzLnNlbmRlcikge1xuICAgICAgICBzb2NrZXQuZW1pdChldmVudCwgLi4uYXJncyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxufVxuXG5cblxuY2xhc3MgTW9ja1NvY2tldCB7XG4gIHB1YmxpYyBuYW1lc3BhY2VJbnN0YW5jZTogTW9ja05hbWVzcGFjZTtcbiAgcHJpdmF0ZSBzb2NrZXRFdmVudEhhbmRsZXJzID0ge30gYXMge1xuICAgIFtldmVudE5hbWU6IHN0cmluZ106IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+O1xuICB9O1xuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubnNwLm5hbWU7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB1cmw6IHN0cmluZyxcbiAgICBvcHRzPzogUGFydGlhbDxNYW5hZ2VyT3B0aW9ucyAmIFNvY2tldE9wdGlvbnM+LFxuICApIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgW2Jhc2VVcmwsIG5hbWVzcGFjZV0gPSBbdXJsLCBvcHRzLnBhdGggfHwgJy8nXTtcblxuICAgIGNvbnN0IG5hbWVzcGFjZU5hbWUgPSBuYW1lc3BhY2UgfHwgJy8nO1xuXG5cbiAgICBjb25zdCBzZXJ2ZXIgPSBNb2NrU2VydmVyLmZyb20odXJsKTtcblxuICAgIGNvbnN0IG5zID0gc2VydmVyLm9mKG5hbWVzcGFjZU5hbWUpO1xuICAgIG5zLmNvbm5lY3QodGhpcyk7XG4gIH1cblxuXG5cbiAgZ2V0IG5zcCgpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IG5hbWUoKSB7XG4gICAgICAgIHJldHVybiBzZWxmLm5hbWVzcGFjZUluc3RhbmNlPy5uYW1lO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cblxuXG4gIHBhdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZXNwYWNlSW5zdGFuY2U/Lm5hbWU7XG4gIH1cblxuXG5cbiAgb24oZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IFJlYWx0aW1lTW9kZWxzLkV2ZW50SGFuZGxlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5zb2NrZXRFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0pIHtcbiAgICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdID1cbiAgICAgICAgbmV3IFNldDxSZWFsdGltZU1vZGVscy5FdmVudEhhbmRsZXI+KCk7XG4gICAgfVxuICAgIHRoaXMuc29ja2V0RXZlbnRIYW5kbGVyc1tldmVudE5hbWVdLmFkZChoYW5kbGVyKTtcblxuXG4gICAgaWYgKGV2ZW50TmFtZSA9PT0gJ2Nvbm5lY3QnKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KCdjb25uZWN0Jyk7XG5cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cblxuICBlbWl0KGV2ZW50TmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIGV2ZW50TmFtZSA9IGV2ZW50TmFtZSB8fCAnJztcblxuICAgIGlmIChldmVudE5hbWUuaW5jbHVkZXMoYDoke1N5bWJvbHMuUkVBTFRJTUUuS0VZcm9vbVN1YnNjcmliZX1gKSkge1xuICAgICAgY29uc3Qgcm9vbSA9IGFyZ3NbMF07XG4gICAgICB0aGlzLmpvaW4ocm9vbSk7XG4gICAgfSBlbHNlIGlmIChldmVudE5hbWUuaW5jbHVkZXMoYDoke1N5bWJvbHMuUkVBTFRJTUUuS0VZcm9vbVVuc3Vic2NyaWJlfWApKSB7XG4gICAgICBjb25zdCByb29tID0gYXJnc1swXTtcbiAgICAgIHRoaXMubGVhdmUocm9vbSk7XG4gICAgfSBlbHNlIHtcblxuICAgICAgaWYgKHRoaXMubmFtZXNwYWNlSW5zdGFuY2UpIHtcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlRXZlbnRIYW5kbGVycyA9XG4gICAgICAgICAgdGhpcy5uYW1lc3BhY2VJbnN0YW5jZS5uYW1lc3BhY2VFdmVudEhhbmRsZXJzW2V2ZW50TmFtZV0gfHwgW107XG5cblxuICAgICAgICBmb3IgKGNvbnN0IG5hbWVzcGFjZUV2ZW50SGFuZGxlciBvZiBuYW1lc3BhY2VFdmVudEhhbmRsZXJzKSB7XG4gICAgICAgICAgaWYgKG5hbWVzcGFjZUV2ZW50SGFuZGxlcikge1xuICAgICAgICAgICAgbmFtZXNwYWNlRXZlbnRIYW5kbGVyKC4uLmFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFsbFNvY2tldHNGb3JOYW1lc3BhY2VFeGNlcHRDdXJyZW50ID0gQXJyYXkuZnJvbShcbiAgICAgICAgICB0aGlzLm5hbWVzcGFjZUluc3RhbmNlLmFsbFNvY2tldHNGb3JOYW1lc3BhY2UudmFsdWVzKCksXG4gICAgICAgICkuZmlsdGVyKHNvY2tldCA9PiBzb2NrZXQgIT09IHRoaXMpO1xuXG5cbiAgICAgICAgZm9yIChjb25zdCBzb2NrZXQgb2YgYWxsU29ja2V0c0Zvck5hbWVzcGFjZUV4Y2VwdEN1cnJlbnQpIHtcbiAgICAgICAgICBjb25zdCBzb2NrZXRFdmVudEhhbmRsZXJzID0gc29ja2V0LnNvY2tldEV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHNvY2tldEV2ZW50SGFuZGxlciBvZiBzb2NrZXRFdmVudEhhbmRsZXJzKSB7XG4gICAgICAgICAgICBpZiAoc29ja2V0RXZlbnRIYW5kbGVyKSB7XG4gICAgICAgICAgICAgIHNvY2tldEV2ZW50SGFuZGxlciguLi5hcmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIGNvbnN0IHNvY2tldEV2ZW50SGFuZGxlcnMgPSB0aGlzLnNvY2tldEV2ZW50SGFuZGxlcnNbZXZlbnROYW1lXSB8fCBbXTtcbiAgICAgICAgZm9yIChjb25zdCBjbGllbnRIYW5kbGVyIG9mIHNvY2tldEV2ZW50SGFuZGxlcnMpIHtcbiAgICAgICAgICBpZiAoY2xpZW50SGFuZGxlcikge1xuICAgICAgICAgICAgY2xpZW50SGFuZGxlciguLi5hcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgam9pbihyb29tTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5uYW1lc3BhY2VJbnN0YW5jZS5qb2luUm9vbShyb29tTmFtZSwgdGhpcyk7XG4gIH1cblxuXG5cbiAgbGVhdmUocm9vbU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubmFtZXNwYWNlSW5zdGFuY2UubGVhdmVSb29tKHJvb21OYW1lLCB0aGlzKTtcbiAgfVxuXG59XG5cblxuLyoqXG4gKiBQdXJwb3NlOlxuICogLSBicm93c2VyLWJyb3dzZXIgY29tbXVuaWNhdGlvbiBtb2NrIChpbiB3ZWJzcWwgbW9kZSlcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3lNb2NrIGV4dGVuZHMgUmVhbHRpbWVTdHJhdGVneSB7XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ21vY2snO1xuICB9XG5cblxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjdHg6IEVuZHBvaW50Q29udGV4dCkge1xuICAgIHN1cGVyKGN0eCk7XG4gIH1cblxuXG5cbiAgaW9TZXJ2ZXIodXJsOiBzdHJpbmcsIG9wdDogU2VydmVyT3B0aW9ucykge1xuICAgIGNvbnN0IHNlcnZlciA9IE1vY2tTZXJ2ZXIuZnJvbSh1cmwgfHwgdGhpcy5jdHgudXJpLm9yaWdpbik7XG4gICAgcmV0dXJuIHNlcnZlci5vZihvcHQ/LnBhdGggfHwgJy8nKSBhcyBhbnk7XG4gIH1cblxuICBnZXQgaW9DbGllbnQoKSB7XG4gICAgY29uc3QgY2xpZW50SW8gPSAoXG4gICAgICB1cmk6IHN0cmluZyxcbiAgICAgIG9wdHM/OiBQYXJ0aWFsPE1hbmFnZXJPcHRpb25zICYgU29ja2V0T3B0aW9ucz4sXG4gICAgKTogTW9ja1NvY2tldCA9PiB7XG4gICAgICByZXR1cm4gbmV3IE1vY2tTb2NrZXQodXJpIHx8IHRoaXMuY3R4LnVyaS5vcmlnaW4sIG9wdHMgYXMgYW55KTtcbiAgICB9O1xuICAgIHJldHVybiBjbGllbnRJbyBhcyBhbnk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3ktbW9jay50cyJdfQ==
@@ -15,19 +15,15 @@ export class RealtimeStrategySocketIO extends RealtimeStrategy {
15
15
  super(ctx);
16
16
  this.ctx = ctx;
17
17
  }
18
- get Server() {
18
+ ioServer(...args) {
19
19
  /* */
20
20
  /* */
21
21
  return (void 0);
22
22
  }
23
- ;
24
- get io() {
23
+ get ioClient() {
25
24
  return io;
26
25
  }
27
- establishConnection() {
28
- throw new Error('Method not implemented.');
29
- }
30
26
  }
31
27
  ;
32
28
  ({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy-socket-io.ts
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktc29ja2V0LWlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LXNvY2tldC1pby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQUM1RCxRQUFRO1FBQ04sT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELFlBQXNCLEdBQW9CO1FBQ3hDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURTLFFBQUcsR0FBSCxHQUFHLENBQWlCO0lBRTFDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDWixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFJQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtGQUErRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi8uLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB7IFJlYWx0aW1lU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5Jztcbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IGlvIH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5cbi8qKlxuICogUHVycG9zZTpcbiAqIC0gYmFja2VuZC1icm93c2VyIGNvbW11bmljYXRpb25cbiAqIC0gYmFja2VuZC1iYWNrZW5kIGNvbW11bmljYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3lTb2NrZXRJTyBleHRlbmRzIFJlYWx0aW1lU3RyYXRlZ3kge1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAnc29ja2V0LWlvJztcbiAgfVxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHtcbiAgICBzdXBlcihjdHgpO1xuICB9XG5cbiAgZ2V0IFNlcnZlcigpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuICBnZXQgaW8oKSB7XG4gICAgcmV0dXJuIGlvO1xuICB9XG5cbiAgZXN0YWJsaXNoQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS1zb2NrZXQtaW8udHMiXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3ktc29ja2V0LWlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LXNvY2tldC1pby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxFQUFFLEVBQXlDLE1BQU0sa0JBQWtCLENBQUM7QUFFN0U7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxnQkFBZ0I7SUFDNUQsUUFBUTtRQUNOLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxZQUFzQixHQUFvQjtRQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEUyxRQUFHLEdBQUgsR0FBRyxDQUFpQjtJQUUxQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQUcsSUFBSTtRQUNsQixLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0ZBQStGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IERlZmF1bHRFdmVudHNNYXAgfSBmcm9tICdzb2NrZXQuaW8vZGlzdC90eXBlZC1ldmVudHMnO1xuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVN0cmF0ZWd5IH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7XG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBpbywgTWFuYWdlck9wdGlvbnMsIFNvY2tldCwgU29ja2V0T3B0aW9ucyB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuXG4vKipcbiAqIFB1cnBvc2U6XG4gKiAtIGJhY2tlbmQtYnJvd3NlciBjb21tdW5pY2F0aW9uXG4gKiAtIGJhY2tlbmQtYmFja2VuZCBjb21tdW5pY2F0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFsdGltZVN0cmF0ZWd5U29ja2V0SU8gZXh0ZW5kcyBSZWFsdGltZVN0cmF0ZWd5IHtcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3NvY2tldC1pbyc7XG4gIH1cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGN0eDogRW5kcG9pbnRDb250ZXh0KSB7XG4gICAgc3VwZXIoY3R4KTtcbiAgfVxuXG4gIGlvU2VydmVyKC4uLmFyZ3MpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGdldCBpb0NsaWVudCgpIHtcbiAgICByZXR1cm4gaW87XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3JlYWx0aW1lL3JlYWx0aW1lLXN0cmF0ZWd5L3JlYWx0aW1lLXN0cmF0ZWd5LXNvY2tldC1pby50cyJdfQ==
@@ -2,9 +2,13 @@ export class RealtimeStrategy {
2
2
  constructor(ctx) {
3
3
  this.ctx = ctx;
4
4
  }
5
- testTypes() {
5
+ get ioClient() {
6
+ throw new Error('Not implemented');
7
+ }
8
+ ioServer(url, opt) {
9
+ throw new Error('Not implemented');
6
10
  }
7
11
  }
8
12
  ;
9
13
  ({}); // @--end-of-file-for-module=taon lib/realtime/realtime-strategy/realtime-strategy.ts
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsWUFBc0IsR0FBb0I7UUFBcEIsUUFBRyxHQUFILEdBQUcsQ0FBaUI7SUFBRyxDQUFDO0lBRXRDLFNBQVM7SUFFakIsQ0FBQztDQU9GO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxRkFBcUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlciB9IGZyb20gJ3NvY2tldC5pbyc7XG5pbXBvcnQgdHlwZSB7IGlvIH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZWFsdGltZVN0cmF0ZWd5IHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGN0eDogRW5kcG9pbnRDb250ZXh0KSB7fVxuXG4gIHByaXZhdGUgdGVzdFR5cGVzKCkge1xuXG4gIH1cblxuICBhYnN0cmFjdCBlc3RhYmxpc2hDb25uZWN0aW9uKCk6IHZvaWQ7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgaW86IHR5cGVvZiBpbztcbiAgYWJzdHJhY3QgcmVhZG9ubHkgU2VydmVyOiB0eXBlb2YgU2VydmVyO1xuICBhYnN0cmFjdCB0b1N0cmluZygpOiBzdHJpbmc7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS50cyJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvcmVhbHRpbWUvcmVhbHRpbWUtc3RyYXRlZ3kvcmVhbHRpbWUtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsWUFBc0IsR0FBb0I7UUFBcEIsUUFBRyxHQUFILEdBQUcsQ0FBaUI7SUFBRyxDQUFDO0lBRTlDLElBQUksUUFBUTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUSxDQUNOLEdBQVcsRUFDWCxHQUFrQjtRQUVsQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztDQUdGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxRkFBcUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi4vLi4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlciwgU2VydmVyT3B0aW9ucyB9IGZyb20gJ3NvY2tldC5pbyc7XG5pbXBvcnQgdHlwZSB7IGlvIH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgeyBEZWZhdWx0RXZlbnRzTWFwIH0gZnJvbSAnc29ja2V0LmlvL2Rpc3QvdHlwZWQtZXZlbnRzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlYWx0aW1lU3RyYXRlZ3kge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY3R4OiBFbmRwb2ludENvbnRleHQpIHt9XG5cbiAgZ2V0IGlvQ2xpZW50KCk6IHR5cGVvZiBpbyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGlvU2VydmVyKFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdDogU2VydmVyT3B0aW9ucyxcbiAgKTogU2VydmVyPERlZmF1bHRFdmVudHNNYXAsIERlZmF1bHRFdmVudHNNYXAsIERlZmF1bHRFdmVudHNNYXAsIGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XG4gIH1cblxuICBhYnN0cmFjdCB0b1N0cmluZygpOiBzdHJpbmc7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9yZWFsdGltZS9yZWFsdGltZS1zdHJhdGVneS9yZWFsdGltZS1zdHJhdGVneS50cyJdfQ==