@effect/cluster 0.0.0-snapshot-d33d8b050b8e3c87dcde9587083e6c1cf733f72b

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 (375) hide show
  1. package/AtLeastOnce/package.json +6 -0
  2. package/AtLeastOnceStorage/package.json +6 -0
  3. package/Broadcaster/package.json +6 -0
  4. package/LICENSE +21 -0
  5. package/ManagerConfig/package.json +6 -0
  6. package/Message/package.json +6 -0
  7. package/MessageState/package.json +6 -0
  8. package/Messenger/package.json +6 -0
  9. package/Pod/package.json +6 -0
  10. package/PodAddress/package.json +6 -0
  11. package/Pods/package.json +6 -0
  12. package/PodsHealth/package.json +6 -0
  13. package/PoisonPill/package.json +6 -0
  14. package/README.md +3 -0
  15. package/RecipientAddress/package.json +6 -0
  16. package/RecipientBehaviour/package.json +6 -0
  17. package/RecipientBehaviourContext/package.json +6 -0
  18. package/RecipientType/package.json +6 -0
  19. package/Serialization/package.json +6 -0
  20. package/SerializedEnvelope/package.json +6 -0
  21. package/SerializedMessage/package.json +6 -0
  22. package/ShardId/package.json +6 -0
  23. package/ShardManager/package.json +6 -0
  24. package/ShardManagerClient/package.json +6 -0
  25. package/Sharding/package.json +6 -0
  26. package/ShardingConfig/package.json +6 -0
  27. package/ShardingEvent/package.json +6 -0
  28. package/ShardingException/package.json +6 -0
  29. package/ShardingRegistrationEvent/package.json +6 -0
  30. package/Storage/package.json +6 -0
  31. package/dist/cjs/AtLeastOnce.js +43 -0
  32. package/dist/cjs/AtLeastOnce.js.map +1 -0
  33. package/dist/cjs/AtLeastOnceStorage.js +48 -0
  34. package/dist/cjs/AtLeastOnceStorage.js.map +1 -0
  35. package/dist/cjs/Broadcaster.js +6 -0
  36. package/dist/cjs/Broadcaster.js.map +1 -0
  37. package/dist/cjs/ManagerConfig.js +57 -0
  38. package/dist/cjs/ManagerConfig.js.map +1 -0
  39. package/dist/cjs/Message.js +64 -0
  40. package/dist/cjs/Message.js.map +1 -0
  41. package/dist/cjs/MessageState.js +78 -0
  42. package/dist/cjs/MessageState.js.map +1 -0
  43. package/dist/cjs/Messenger.js +6 -0
  44. package/dist/cjs/Messenger.js.map +1 -0
  45. package/dist/cjs/Pod.js +101 -0
  46. package/dist/cjs/Pod.js.map +1 -0
  47. package/dist/cjs/PodAddress.js +100 -0
  48. package/dist/cjs/PodAddress.js.map +1 -0
  49. package/dist/cjs/Pods.js +58 -0
  50. package/dist/cjs/Pods.js.map +1 -0
  51. package/dist/cjs/PodsHealth.js +64 -0
  52. package/dist/cjs/PodsHealth.js.map +1 -0
  53. package/dist/cjs/PoisonPill.js +101 -0
  54. package/dist/cjs/PoisonPill.js.map +1 -0
  55. package/dist/cjs/RecipientAddress.js +102 -0
  56. package/dist/cjs/RecipientAddress.js.map +1 -0
  57. package/dist/cjs/RecipientBehaviour.js +61 -0
  58. package/dist/cjs/RecipientBehaviour.js.map +1 -0
  59. package/dist/cjs/RecipientBehaviourContext.js +87 -0
  60. package/dist/cjs/RecipientBehaviourContext.js.map +1 -0
  61. package/dist/cjs/RecipientType.js +142 -0
  62. package/dist/cjs/RecipientType.js.map +1 -0
  63. package/dist/cjs/Serialization.js +55 -0
  64. package/dist/cjs/Serialization.js.map +1 -0
  65. package/dist/cjs/SerializedEnvelope.js +111 -0
  66. package/dist/cjs/SerializedEnvelope.js.map +1 -0
  67. package/dist/cjs/SerializedMessage.js +87 -0
  68. package/dist/cjs/SerializedMessage.js.map +1 -0
  69. package/dist/cjs/ShardId.js +89 -0
  70. package/dist/cjs/ShardId.js.map +1 -0
  71. package/dist/cjs/ShardManager.js +48 -0
  72. package/dist/cjs/ShardManager.js.map +1 -0
  73. package/dist/cjs/ShardManagerClient.js +53 -0
  74. package/dist/cjs/ShardManagerClient.js.map +1 -0
  75. package/dist/cjs/Sharding.js +129 -0
  76. package/dist/cjs/Sharding.js.map +1 -0
  77. package/dist/cjs/ShardingConfig.js +64 -0
  78. package/dist/cjs/ShardingConfig.js.map +1 -0
  79. package/dist/cjs/ShardingEvent.js +72 -0
  80. package/dist/cjs/ShardingEvent.js.map +1 -0
  81. package/dist/cjs/ShardingException.js +130 -0
  82. package/dist/cjs/ShardingException.js.map +1 -0
  83. package/dist/cjs/ShardingRegistrationEvent.js +44 -0
  84. package/dist/cjs/ShardingRegistrationEvent.js.map +1 -0
  85. package/dist/cjs/Storage.js +63 -0
  86. package/dist/cjs/Storage.js.map +1 -0
  87. package/dist/cjs/index.js +88 -0
  88. package/dist/cjs/index.js.map +1 -0
  89. package/dist/cjs/internal/atLeastOnce.js +58 -0
  90. package/dist/cjs/internal/atLeastOnce.js.map +1 -0
  91. package/dist/cjs/internal/atLeastOnceStorage.js +186 -0
  92. package/dist/cjs/internal/atLeastOnceStorage.js.map +1 -0
  93. package/dist/cjs/internal/entityManager.js +191 -0
  94. package/dist/cjs/internal/entityManager.js.map +1 -0
  95. package/dist/cjs/internal/entityState.js +70 -0
  96. package/dist/cjs/internal/entityState.js.map +1 -0
  97. package/dist/cjs/internal/managerConfig.js +69 -0
  98. package/dist/cjs/internal/managerConfig.js.map +1 -0
  99. package/dist/cjs/internal/message.js +68 -0
  100. package/dist/cjs/internal/message.js.map +1 -0
  101. package/dist/cjs/internal/messageState.js +102 -0
  102. package/dist/cjs/internal/messageState.js.map +1 -0
  103. package/dist/cjs/internal/podWithMetadata.js +77 -0
  104. package/dist/cjs/internal/podWithMetadata.js.map +1 -0
  105. package/dist/cjs/internal/pods.js +58 -0
  106. package/dist/cjs/internal/pods.js.map +1 -0
  107. package/dist/cjs/internal/podsHealth.js +63 -0
  108. package/dist/cjs/internal/podsHealth.js.map +1 -0
  109. package/dist/cjs/internal/recipientBehaviour.js +75 -0
  110. package/dist/cjs/internal/recipientBehaviour.js.map +1 -0
  111. package/dist/cjs/internal/recipientBehaviourContext.js +59 -0
  112. package/dist/cjs/internal/recipientBehaviourContext.js.map +1 -0
  113. package/dist/cjs/internal/serialization.js +72 -0
  114. package/dist/cjs/internal/serialization.js.map +1 -0
  115. package/dist/cjs/internal/shardManager.js +291 -0
  116. package/dist/cjs/internal/shardManager.js.map +1 -0
  117. package/dist/cjs/internal/shardManagerClient.js +71 -0
  118. package/dist/cjs/internal/shardManagerClient.js.map +1 -0
  119. package/dist/cjs/internal/shardManagerState.js +67 -0
  120. package/dist/cjs/internal/shardManagerState.js.map +1 -0
  121. package/dist/cjs/internal/sharding.js +329 -0
  122. package/dist/cjs/internal/sharding.js.map +1 -0
  123. package/dist/cjs/internal/shardingConfig.js +79 -0
  124. package/dist/cjs/internal/shardingConfig.js.map +1 -0
  125. package/dist/cjs/internal/storage.js +75 -0
  126. package/dist/cjs/internal/storage.js.map +1 -0
  127. package/dist/cjs/internal/utils.js +92 -0
  128. package/dist/cjs/internal/utils.js.map +1 -0
  129. package/dist/dts/AtLeastOnce.d.ts +20 -0
  130. package/dist/dts/AtLeastOnce.d.ts.map +1 -0
  131. package/dist/dts/AtLeastOnceStorage.d.ts +75 -0
  132. package/dist/dts/AtLeastOnceStorage.d.ts.map +1 -0
  133. package/dist/dts/Broadcaster.d.ts +32 -0
  134. package/dist/dts/Broadcaster.d.ts.map +1 -0
  135. package/dist/dts/ManagerConfig.d.ts +61 -0
  136. package/dist/dts/ManagerConfig.d.ts.map +1 -0
  137. package/dist/dts/Message.d.ts +106 -0
  138. package/dist/dts/Message.d.ts.map +1 -0
  139. package/dist/dts/MessageState.d.ts +107 -0
  140. package/dist/dts/MessageState.d.ts.map +1 -0
  141. package/dist/dts/Messenger.d.ts +32 -0
  142. package/dist/dts/Messenger.d.ts.map +1 -0
  143. package/dist/dts/Pod.d.ts +81 -0
  144. package/dist/dts/Pod.d.ts.map +1 -0
  145. package/dist/dts/PodAddress.d.ts +80 -0
  146. package/dist/dts/PodAddress.d.ts.map +1 -0
  147. package/dist/dts/Pods.d.ts +78 -0
  148. package/dist/dts/Pods.d.ts.map +1 -0
  149. package/dist/dts/PodsHealth.d.ts +66 -0
  150. package/dist/dts/PodsHealth.d.ts.map +1 -0
  151. package/dist/dts/PoisonPill.d.ts +78 -0
  152. package/dist/dts/PoisonPill.d.ts.map +1 -0
  153. package/dist/dts/RecipientAddress.d.ts +57 -0
  154. package/dist/dts/RecipientAddress.d.ts.map +1 -0
  155. package/dist/dts/RecipientBehaviour.d.ts +72 -0
  156. package/dist/dts/RecipientBehaviour.d.ts.map +1 -0
  157. package/dist/dts/RecipientBehaviourContext.d.ts +83 -0
  158. package/dist/dts/RecipientBehaviourContext.d.ts.map +1 -0
  159. package/dist/dts/RecipientType.d.ts +96 -0
  160. package/dist/dts/RecipientType.d.ts.map +1 -0
  161. package/dist/dts/Serialization.d.ts +58 -0
  162. package/dist/dts/Serialization.d.ts.map +1 -0
  163. package/dist/dts/SerializedEnvelope.d.ts +87 -0
  164. package/dist/dts/SerializedEnvelope.d.ts.map +1 -0
  165. package/dist/dts/SerializedMessage.d.ts +66 -0
  166. package/dist/dts/SerializedMessage.d.ts.map +1 -0
  167. package/dist/dts/ShardId.d.ts +70 -0
  168. package/dist/dts/ShardId.d.ts.map +1 -0
  169. package/dist/dts/ShardManager.d.ts +44 -0
  170. package/dist/dts/ShardManager.d.ts.map +1 -0
  171. package/dist/dts/ShardManagerClient.d.ts +50 -0
  172. package/dist/dts/ShardManagerClient.d.ts.map +1 -0
  173. package/dist/dts/Sharding.d.ts +146 -0
  174. package/dist/dts/Sharding.d.ts.map +1 -0
  175. package/dist/dts/ShardingConfig.d.ts +69 -0
  176. package/dist/dts/ShardingConfig.d.ts.map +1 -0
  177. package/dist/dts/ShardingEvent.d.ts +90 -0
  178. package/dist/dts/ShardingEvent.d.ts.map +1 -0
  179. package/dist/dts/ShardingException.d.ts +125 -0
  180. package/dist/dts/ShardingException.d.ts.map +1 -0
  181. package/dist/dts/ShardingRegistrationEvent.d.ts +44 -0
  182. package/dist/dts/ShardingRegistrationEvent.d.ts.map +1 -0
  183. package/dist/dts/Storage.d.ts +78 -0
  184. package/dist/dts/Storage.d.ts.map +1 -0
  185. package/dist/dts/index.d.ts +113 -0
  186. package/dist/dts/index.d.ts.map +1 -0
  187. package/dist/dts/internal/atLeastOnce.d.ts +2 -0
  188. package/dist/dts/internal/atLeastOnce.d.ts.map +1 -0
  189. package/dist/dts/internal/atLeastOnceStorage.d.ts +2 -0
  190. package/dist/dts/internal/atLeastOnceStorage.d.ts.map +1 -0
  191. package/dist/dts/internal/entityManager.d.ts +2 -0
  192. package/dist/dts/internal/entityManager.d.ts.map +1 -0
  193. package/dist/dts/internal/entityState.d.ts +21 -0
  194. package/dist/dts/internal/entityState.d.ts.map +1 -0
  195. package/dist/dts/internal/managerConfig.d.ts +2 -0
  196. package/dist/dts/internal/managerConfig.d.ts.map +1 -0
  197. package/dist/dts/internal/message.d.ts +9 -0
  198. package/dist/dts/internal/message.d.ts.map +1 -0
  199. package/dist/dts/internal/messageState.d.ts +2 -0
  200. package/dist/dts/internal/messageState.d.ts.map +1 -0
  201. package/dist/dts/internal/podWithMetadata.d.ts +2 -0
  202. package/dist/dts/internal/podWithMetadata.d.ts.map +1 -0
  203. package/dist/dts/internal/pods.d.ts +2 -0
  204. package/dist/dts/internal/pods.d.ts.map +1 -0
  205. package/dist/dts/internal/podsHealth.d.ts +2 -0
  206. package/dist/dts/internal/podsHealth.d.ts.map +1 -0
  207. package/dist/dts/internal/recipientBehaviour.d.ts +2 -0
  208. package/dist/dts/internal/recipientBehaviour.d.ts.map +1 -0
  209. package/dist/dts/internal/recipientBehaviourContext.d.ts +2 -0
  210. package/dist/dts/internal/recipientBehaviourContext.d.ts.map +1 -0
  211. package/dist/dts/internal/serialization.d.ts +2 -0
  212. package/dist/dts/internal/serialization.d.ts.map +1 -0
  213. package/dist/dts/internal/shardManager.d.ts +12 -0
  214. package/dist/dts/internal/shardManager.d.ts.map +1 -0
  215. package/dist/dts/internal/shardManagerClient.d.ts +2 -0
  216. package/dist/dts/internal/shardManagerClient.d.ts.map +1 -0
  217. package/dist/dts/internal/shardManagerState.d.ts +26 -0
  218. package/dist/dts/internal/shardManagerState.d.ts.map +1 -0
  219. package/dist/dts/internal/sharding.d.ts +2 -0
  220. package/dist/dts/internal/sharding.d.ts.map +1 -0
  221. package/dist/dts/internal/shardingConfig.d.ts +2 -0
  222. package/dist/dts/internal/shardingConfig.d.ts.map +1 -0
  223. package/dist/dts/internal/storage.d.ts +2 -0
  224. package/dist/dts/internal/storage.d.ts.map +1 -0
  225. package/dist/dts/internal/utils.d.ts +2 -0
  226. package/dist/dts/internal/utils.d.ts.map +1 -0
  227. package/dist/esm/AtLeastOnce.js +12 -0
  228. package/dist/esm/AtLeastOnce.js.map +1 -0
  229. package/dist/esm/AtLeastOnceStorage.js +17 -0
  230. package/dist/esm/AtLeastOnceStorage.js.map +1 -0
  231. package/dist/esm/Broadcaster.js +2 -0
  232. package/dist/esm/Broadcaster.js.map +1 -0
  233. package/dist/esm/ManagerConfig.js +26 -0
  234. package/dist/esm/ManagerConfig.js.map +1 -0
  235. package/dist/esm/Message.js +33 -0
  236. package/dist/esm/Message.js.map +1 -0
  237. package/dist/esm/MessageState.js +47 -0
  238. package/dist/esm/MessageState.js.map +1 -0
  239. package/dist/esm/Messenger.js +2 -0
  240. package/dist/esm/Messenger.js.map +1 -0
  241. package/dist/esm/Pod.js +65 -0
  242. package/dist/esm/Pod.js.map +1 -0
  243. package/dist/esm/PodAddress.js +64 -0
  244. package/dist/esm/PodAddress.js.map +1 -0
  245. package/dist/esm/Pods.js +27 -0
  246. package/dist/esm/Pods.js.map +1 -0
  247. package/dist/esm/PodsHealth.js +33 -0
  248. package/dist/esm/PodsHealth.js.map +1 -0
  249. package/dist/esm/PoisonPill.js +65 -0
  250. package/dist/esm/PoisonPill.js.map +1 -0
  251. package/dist/esm/RecipientAddress.js +67 -0
  252. package/dist/esm/RecipientAddress.js.map +1 -0
  253. package/dist/esm/RecipientBehaviour.js +30 -0
  254. package/dist/esm/RecipientBehaviour.js.map +1 -0
  255. package/dist/esm/RecipientBehaviourContext.js +56 -0
  256. package/dist/esm/RecipientBehaviourContext.js.map +1 -0
  257. package/dist/esm/RecipientType.js +105 -0
  258. package/dist/esm/RecipientType.js.map +1 -0
  259. package/dist/esm/Serialization.js +24 -0
  260. package/dist/esm/Serialization.js.map +1 -0
  261. package/dist/esm/SerializedEnvelope.js +75 -0
  262. package/dist/esm/SerializedEnvelope.js.map +1 -0
  263. package/dist/esm/SerializedMessage.js +51 -0
  264. package/dist/esm/SerializedMessage.js.map +1 -0
  265. package/dist/esm/ShardId.js +54 -0
  266. package/dist/esm/ShardId.js.map +1 -0
  267. package/dist/esm/ShardManager.js +17 -0
  268. package/dist/esm/ShardManager.js.map +1 -0
  269. package/dist/esm/ShardManagerClient.js +22 -0
  270. package/dist/esm/ShardManagerClient.js.map +1 -0
  271. package/dist/esm/Sharding.js +98 -0
  272. package/dist/esm/Sharding.js.map +1 -0
  273. package/dist/esm/ShardingConfig.js +33 -0
  274. package/dist/esm/ShardingConfig.js.map +1 -0
  275. package/dist/esm/ShardingEvent.js +62 -0
  276. package/dist/esm/ShardingEvent.js.map +1 -0
  277. package/dist/esm/ShardingException.js +91 -0
  278. package/dist/esm/ShardingException.js.map +1 -0
  279. package/dist/esm/ShardingRegistrationEvent.js +36 -0
  280. package/dist/esm/ShardingRegistrationEvent.js.map +1 -0
  281. package/dist/esm/Storage.js +32 -0
  282. package/dist/esm/Storage.js.map +1 -0
  283. package/dist/esm/index.js +113 -0
  284. package/dist/esm/index.js.map +1 -0
  285. package/dist/esm/internal/atLeastOnce.js +26 -0
  286. package/dist/esm/internal/atLeastOnce.js.map +1 -0
  287. package/dist/esm/internal/atLeastOnceStorage.js +154 -0
  288. package/dist/esm/internal/atLeastOnceStorage.js.map +1 -0
  289. package/dist/esm/internal/entityManager.js +159 -0
  290. package/dist/esm/internal/entityManager.js.map +1 -0
  291. package/dist/esm/internal/entityState.js +35 -0
  292. package/dist/esm/internal/entityState.js.map +1 -0
  293. package/dist/esm/internal/managerConfig.js +38 -0
  294. package/dist/esm/internal/managerConfig.js.map +1 -0
  295. package/dist/esm/internal/message.js +32 -0
  296. package/dist/esm/internal/message.js.map +1 -0
  297. package/dist/esm/internal/messageState.js +66 -0
  298. package/dist/esm/internal/messageState.js.map +1 -0
  299. package/dist/esm/internal/podWithMetadata.js +41 -0
  300. package/dist/esm/internal/podWithMetadata.js.map +1 -0
  301. package/dist/esm/internal/pods.js +25 -0
  302. package/dist/esm/internal/pods.js.map +1 -0
  303. package/dist/esm/internal/podsHealth.js +30 -0
  304. package/dist/esm/internal/podsHealth.js.map +1 -0
  305. package/dist/esm/internal/recipientBehaviour.js +42 -0
  306. package/dist/esm/internal/recipientBehaviour.js.map +1 -0
  307. package/dist/esm/internal/recipientBehaviourContext.js +26 -0
  308. package/dist/esm/internal/recipientBehaviourContext.js.map +1 -0
  309. package/dist/esm/internal/serialization.js +39 -0
  310. package/dist/esm/internal/serialization.js.map +1 -0
  311. package/dist/esm/internal/shardManager.js +256 -0
  312. package/dist/esm/internal/shardManager.js.map +1 -0
  313. package/dist/esm/internal/shardManagerClient.js +38 -0
  314. package/dist/esm/internal/shardManagerClient.js.map +1 -0
  315. package/dist/esm/internal/shardManagerState.js +36 -0
  316. package/dist/esm/internal/shardManagerState.js.map +1 -0
  317. package/dist/esm/internal/sharding.js +288 -0
  318. package/dist/esm/internal/sharding.js.map +1 -0
  319. package/dist/esm/internal/shardingConfig.js +47 -0
  320. package/dist/esm/internal/shardingConfig.js.map +1 -0
  321. package/dist/esm/internal/storage.js +42 -0
  322. package/dist/esm/internal/storage.js.map +1 -0
  323. package/dist/esm/internal/utils.js +56 -0
  324. package/dist/esm/internal/utils.js.map +1 -0
  325. package/dist/esm/package.json +4 -0
  326. package/package.json +259 -0
  327. package/src/AtLeastOnce.ts +28 -0
  328. package/src/AtLeastOnceStorage.ts +96 -0
  329. package/src/Broadcaster.ts +48 -0
  330. package/src/ManagerConfig.ts +67 -0
  331. package/src/Message.ts +132 -0
  332. package/src/MessageState.ts +126 -0
  333. package/src/Messenger.ts +40 -0
  334. package/src/Pod.ts +95 -0
  335. package/src/PodAddress.ts +94 -0
  336. package/src/Pods.ts +100 -0
  337. package/src/PodsHealth.ts +74 -0
  338. package/src/PoisonPill.ts +105 -0
  339. package/src/RecipientAddress.ts +72 -0
  340. package/src/RecipientBehaviour.ts +108 -0
  341. package/src/RecipientBehaviourContext.ts +101 -0
  342. package/src/RecipientType.ts +134 -0
  343. package/src/Serialization.ts +72 -0
  344. package/src/SerializedEnvelope.ts +109 -0
  345. package/src/SerializedMessage.ts +82 -0
  346. package/src/ShardId.ts +79 -0
  347. package/src/ShardManager.ts +53 -0
  348. package/src/ShardManagerClient.ts +57 -0
  349. package/src/Sharding.ts +214 -0
  350. package/src/ShardingConfig.ts +76 -0
  351. package/src/ShardingEvent.ts +121 -0
  352. package/src/ShardingException.ts +151 -0
  353. package/src/ShardingRegistrationEvent.ts +62 -0
  354. package/src/Storage.ts +92 -0
  355. package/src/index.ts +139 -0
  356. package/src/internal/atLeastOnce.ts +59 -0
  357. package/src/internal/atLeastOnceStorage.ts +218 -0
  358. package/src/internal/entityManager.ts +404 -0
  359. package/src/internal/entityState.ts +64 -0
  360. package/src/internal/managerConfig.ts +84 -0
  361. package/src/internal/message.ts +64 -0
  362. package/src/internal/messageState.ts +98 -0
  363. package/src/internal/podWithMetadata.ts +72 -0
  364. package/src/internal/pods.ts +29 -0
  365. package/src/internal/podsHealth.ts +39 -0
  366. package/src/internal/recipientBehaviour.ts +133 -0
  367. package/src/internal/recipientBehaviourContext.ts +70 -0
  368. package/src/internal/serialization.ts +59 -0
  369. package/src/internal/shardManager.ts +593 -0
  370. package/src/internal/shardManagerClient.ts +49 -0
  371. package/src/internal/shardManagerState.ts +80 -0
  372. package/src/internal/sharding.ts +793 -0
  373. package/src/internal/shardingConfig.ts +97 -0
  374. package/src/internal/storage.ts +60 -0
  375. package/src/internal/utils.ts +54 -0
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ import * as Equal from "effect/Equal";
6
+ import * as Hash from "effect/Hash";
7
+ import { TypeIdSchema } from "./internal/utils.js";
8
+ const RecipientAddressSymbolKey = "@effect/cluster/RecipientAddress";
9
+ /**
10
+ * @since 1.0.0
11
+ * @category symbols
12
+ */
13
+ export const RecipientAddressTypeId = /*#__PURE__*/Symbol.for(RecipientAddressSymbolKey);
14
+ /** @internal */
15
+ const RecipientAddressTypeIdSchema = /*#__PURE__*/TypeIdSchema(RecipientAddressSymbolKey, RecipientAddressTypeId);
16
+ /**
17
+ * A RecipientAddress uniquely identifies a RecipientType + EntityId instance.
18
+ *
19
+ * @since 1.0.0
20
+ * @category models
21
+ */
22
+ export class RecipientAddress extends Schema.Class(RecipientAddressSymbolKey)({
23
+ [RecipientAddressTypeId]: Schema.propertySignature(RecipientAddressTypeIdSchema).pipe(Schema.fromKey(RecipientAddressSymbolKey)),
24
+ recipientTypeName: Schema.String,
25
+ entityId: Schema.String
26
+ }) {
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ [Hash.symbol]() {
31
+ return Hash.structure({
32
+ recipientTypeName: this.recipientTypeName,
33
+ entityId: this.entityId
34
+ });
35
+ }
36
+ /**
37
+ * @since 1.0.0
38
+ */
39
+ [Equal.symbol](that) {
40
+ if (isRecipientAddress(that)) {
41
+ return this.recipientTypeName === that.recipientTypeName && this.entityId === that.entityId;
42
+ }
43
+ return false;
44
+ }
45
+ }
46
+ /**
47
+ * Ensure that given value is a RecipientAddress
48
+ * @since 1.0.0
49
+ * @category constructors
50
+ */
51
+ export function isRecipientAddress(value) {
52
+ return typeof value === "object" && value !== null && RecipientAddressTypeId in value && value[RecipientAddressTypeId] === RecipientAddressTypeId;
53
+ }
54
+ /**
55
+ * Given a name and a schema for the protocol, constructs an EntityType.
56
+ *
57
+ * @since 1.0.0
58
+ * @category constructors
59
+ */
60
+ export function makeRecipientAddress(recipientTypeName, entityId) {
61
+ return new RecipientAddress({
62
+ [RecipientAddressTypeId]: RecipientAddressTypeId,
63
+ recipientTypeName,
64
+ entityId
65
+ });
66
+ }
67
+ //# sourceMappingURL=RecipientAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipientAddress.js","names":["Schema","Equal","Hash","TypeIdSchema","RecipientAddressSymbolKey","RecipientAddressTypeId","Symbol","for","RecipientAddressTypeIdSchema","RecipientAddress","Class","propertySignature","pipe","fromKey","recipientTypeName","String","entityId","symbol","structure","that","isRecipientAddress","value","makeRecipientAddress"],"sources":["../../src/RecipientAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,YAAY,QAAQ,qBAAqB;AAElD,MAAMC,yBAAyB,GAAG,kCAAkC;AAEpE;;;;AAIA,OAAO,MAAMC,sBAAsB,gBAAkBC,MAAM,CAACC,GAAG,CAACH,yBAAyB,CAAC;AAE1F;AACA,MAAMI,4BAA4B,gBAAGL,YAAY,CAACC,yBAAyB,EAAEC,sBAAsB,CAAC;AAEpG;;;;;;AAMA,OAAM,MAAOI,gBAAiB,SAAQT,MAAM,CAACU,KAAK,CAAmBN,yBAAyB,CAAC,CAAC;EAC9F,CAACC,sBAAsB,GAAGL,MAAM,CAACW,iBAAiB,CAACH,4BAA4B,CAAC,CAACI,IAAI,CACnFZ,MAAM,CAACa,OAAO,CAACT,yBAAyB,CAAC,CAC1C;EACDU,iBAAiB,EAAEd,MAAM,CAACe,MAAM;EAChCC,QAAQ,EAAEhB,MAAM,CAACe;CAClB,CAAC;EACA;;;EAGA,CAACb,IAAI,CAACe,MAAM,IAAC;IACX,OAAOf,IAAI,CAACgB,SAAS,CAAC;MAAEJ,iBAAiB,EAAE,IAAI,CAACA,iBAAiB;MAAEE,QAAQ,EAAE,IAAI,CAACA;IAAQ,CAAE,CAAC;EAC/F;EAEA;;;EAGA,CAACf,KAAK,CAACgB,MAAM,EAA0BE,IAAiB;IACtD,IAAIC,kBAAkB,CAACD,IAAI,CAAC,EAAE;MAC5B,OAAO,IAAI,CAACL,iBAAiB,KAAKK,IAAI,CAACL,iBAAiB,IAAI,IAAI,CAACE,QAAQ,KAAKG,IAAI,CAACH,QAAQ;IAC7F;IACA,OAAO,KAAK;EACd;;AAGF;;;;;AAKA,OAAM,SAAUI,kBAAkBA,CAACC,KAAc;EAC/C,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAIhB,sBAAsB,IAAIgB,KAAK,IACnFA,KAAK,CAAChB,sBAAsB,CAAC,KAAKA,sBAAsB;AAC5D;AAEA;;;;;;AAMA,OAAM,SAAUiB,oBAAoBA,CAClCR,iBAAyB,EACzBE,QAAgB;EAEhB,OAAO,IAAIP,gBAAgB,CAAC;IAAE,CAACJ,sBAAsB,GAAGA,sBAAsB;IAAES,iBAAiB;IAAEE;EAAQ,CAAE,CAAC;AAChH","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import * as internal from "./internal/recipientBehaviour.js";
2
+ /**
3
+ * This is the simplest behaviour you can have.
4
+ * You provide a function that given the entityId and the message, it will immediatly process it.
5
+ * You are then required to return a MessageState to tell the caller
6
+ * if the message has just arrived and will be later processed or it has been processed.
7
+ *
8
+ * @since 1.0.0
9
+ * @category utils
10
+ */
11
+ export const fromFunctionEffect = internal.fromFunctionEffect;
12
+ /**
13
+ * This is a stateful version of fromFunctionEffect.
14
+ * You can provide a function to get the initialState, and then it will be passed as Ref.
15
+ * Everything here is just stored in memory, so eventual persistence of the state is up to you!
16
+ *
17
+ * @since 1.0.0
18
+ * @category utils
19
+ */
20
+ export const fromFunctionEffectStateful = internal.fromFunctionEffectStateful;
21
+ /**
22
+ * This behaviour uses a Queue where the entity will accumulate messages to be processed,
23
+ * and then you can use the Dequeue to take messages and process them.
24
+ * A PoisonPill is provided to request interruption of the entity behaviour.
25
+ *
26
+ * @since 1.0.0
27
+ * @category utils
28
+ */
29
+ export const fromInMemoryQueue = internal.fromInMemoryQueue;
30
+ //# sourceMappingURL=RecipientBehaviour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipientBehaviour.js","names":["internal","fromFunctionEffect","fromFunctionEffectStateful","fromInMemoryQueue"],"sources":["../../src/RecipientBehaviour.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,kCAAkC;AA+C5D;;;;;;;;;AASA,OAAO,MAAMC,kBAAkB,GAKGD,QAAQ,CAACC,kBAAkB;AAE7D;;;;;;;;AAQA,OAAO,MAAMC,0BAA0B,GAOAF,QAAQ,CAACE,0BAA0B;AAE1E;;;;;;;;AAQA,OAAO,MAAMC,iBAAiB,GASIH,QAAQ,CAACG,iBAAiB","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ import * as internal from "./internal/recipientBehaviourContext.js";
2
+ /**
3
+ * @since 1.0.0
4
+ * @category symbols
5
+ */
6
+ export const RecipientBehaviourContextTypeId = internal.RecipientBehaviourContextTypeId;
7
+ /**
8
+ * A tag to access current RecipientBehaviourContext
9
+ *
10
+ * @since 1.0.0
11
+ * @category context
12
+ */
13
+ export const RecipientBehaviourContext = internal.recipientBehaviourContextTag;
14
+ /**
15
+ * Creates a new RecipientBehaviourContext
16
+ *
17
+ * @since 1.0.0
18
+ * @category constructors
19
+ */
20
+ export const make = internal.make;
21
+ /**
22
+ * Gets the current entityId
23
+ *
24
+ * @since 1.0.0
25
+ * @category utils
26
+ */
27
+ export const entityId = internal.entityId;
28
+ /**
29
+ * Gets the current entityId
30
+ *
31
+ * @since 1.0.0
32
+ * @category utils
33
+ */
34
+ export const recipientAddress = internal.recipientAddress;
35
+ /**
36
+ * Gets the current shardId
37
+ *
38
+ * @since 1.0.0
39
+ * @category utils
40
+ */
41
+ export const shardId = internal.shardId;
42
+ /**
43
+ * Gets the current recipientType
44
+ *
45
+ * @since 1.0.0
46
+ * @category utils
47
+ */
48
+ export const recipientType = internal.recipientType;
49
+ /**
50
+ * Forks the shutdown of the current recipient behaviour as soon as possible.
51
+ *
52
+ * @since 1.0.0
53
+ * @category utils
54
+ */
55
+ export const forkShutdown = internal.forkShutdown;
56
+ //# sourceMappingURL=RecipientBehaviourContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipientBehaviourContext.js","names":["internal","RecipientBehaviourContextTypeId","RecipientBehaviourContext","recipientBehaviourContextTag","make","entityId","recipientAddress","shardId","recipientType","forkShutdown"],"sources":["../../src/RecipientBehaviourContext.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,yCAAyC;AAMnE;;;;AAIA,OAAO,MAAMC,+BAA+B,GAAkBD,QAAQ,CAACC,+BAA+B;AAuBtG;;;;;;AAMA,OAAO,MAAMC,yBAAyB,GACpCF,QAAQ,CAACG,4BAA4B;AAEvC;;;;;;AAMA,OAAO,MAAMC,IAAI,GAEgBJ,QAAQ,CAACI,IAAI;AAE9C;;;;;;AAMA,OAAO,MAAMC,QAAQ,GAA4DL,QAAQ,CAACK,QAAQ;AAElG;;;;;;AAMA,OAAO,MAAMC,gBAAgB,GAC3BN,QAAQ,CAACM,gBAAgB;AAE3B;;;;;;AAMA,OAAO,MAAMC,OAAO,GAAqEP,QAAQ,CAACO,OAAO;AAEzG;;;;;;AAMA,OAAO,MAAMC,aAAa,GAItBR,QAAQ,CAACQ,aAAa;AAE1B;;;;;;AAMA,OAAO,MAAMC,YAAY,GAA0DT,QAAQ,CAACS,YAAY","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ import * as Data from "effect/Data";
2
+ import * as Equal from "effect/Equal";
3
+ import * as Hash from "effect/Hash";
4
+ import * as ShardId from "./ShardId.js";
5
+ const RecipientTypeSymbolKey = "@effect/cluster/RecipientType";
6
+ /**
7
+ * @since 1.0.0
8
+ * @category symbols
9
+ */
10
+ export const RecipientTypeTypeId = /*#__PURE__*/Symbol.for(RecipientTypeSymbolKey);
11
+ /**
12
+ * An EntityType is a RecipientType that is ensured to be alive only on a single Pod at a time.
13
+ *
14
+ * @since 1.0.0
15
+ * @category models
16
+ */
17
+ export class EntityType extends Data.TaggedClass("EntityType") {
18
+ /**
19
+ * @since 1.0.0
20
+ */
21
+ [RecipientTypeTypeId] = RecipientTypeTypeId;
22
+ /**
23
+ * @since 1.0.0
24
+ */
25
+ [Hash.symbol]() {
26
+ return Hash.structure({
27
+ _tag: this._tag,
28
+ name: this.name
29
+ });
30
+ }
31
+ /**
32
+ * @since 1.0.0
33
+ */
34
+ [Equal.symbol](that) {
35
+ if (isRecipientType(that)) {
36
+ return this._tag === that._tag && this.name === that.name;
37
+ }
38
+ return false;
39
+ }
40
+ }
41
+ /**
42
+ * A TopicType can live on multiple Pods at the same time.
43
+ *
44
+ * @since 1.0.0
45
+ * @category models
46
+ */
47
+ export class TopicType extends Data.TaggedClass("TopicType") {
48
+ /**
49
+ * @since 1.0.0
50
+ */
51
+ [RecipientTypeTypeId] = RecipientTypeTypeId;
52
+ /**
53
+ * @since 1.0.0
54
+ */
55
+ [Hash.symbol]() {
56
+ return Hash.structure({
57
+ _tag: this._tag,
58
+ name: this.name
59
+ });
60
+ }
61
+ /**
62
+ * @since 1.0.0
63
+ */
64
+ [Equal.symbol](that) {
65
+ if (isRecipientType(that)) {
66
+ return this._tag === that._tag && this.name === that.name;
67
+ }
68
+ return false;
69
+ }
70
+ }
71
+ /**
72
+ * Ensure that given value is a RecipientType
73
+ * @since 1.0.0
74
+ * @category constructors
75
+ */
76
+ export function isRecipientType(value) {
77
+ return typeof value === "object" && value !== null && RecipientTypeTypeId in value && value[RecipientTypeTypeId] === RecipientTypeTypeId;
78
+ }
79
+ /**
80
+ * Given a name and a schema for the protocol, constructs an EntityType.
81
+ *
82
+ * @since 1.0.0
83
+ * @category constructors
84
+ */
85
+ export function makeEntityType(name, schema) {
86
+ return new EntityType({
87
+ name,
88
+ schema: schema
89
+ });
90
+ }
91
+ /**
92
+ * Given a name and a schema for the protocol, constructs an TopicType.
93
+ *
94
+ * @since 1.0.0
95
+ * @category constructors
96
+ */
97
+ export function makeTopicType(name, schema) {
98
+ return new TopicType({
99
+ name,
100
+ schema: schema
101
+ });
102
+ }
103
+ /** @internal */
104
+ export const getShardId = (entityId, numberOfShards) => ShardId.make(Math.abs(Hash.string(entityId) % numberOfShards) + 1);
105
+ //# sourceMappingURL=RecipientType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipientType.js","names":["Data","Equal","Hash","ShardId","RecipientTypeSymbolKey","RecipientTypeTypeId","Symbol","for","EntityType","TaggedClass","symbol","structure","_tag","name","that","isRecipientType","TopicType","value","makeEntityType","schema","makeTopicType","getShardId","entityId","numberOfShards","make","Math","abs","string"],"sources":["../../src/RecipientType.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAEnC,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC,MAAMC,sBAAsB,GAAG,+BAA+B;AAE9D;;;;AAIA,OAAO,MAAMC,mBAAmB,gBAAkBC,MAAM,CAACC,GAAG,CAACH,sBAAsB,CAAC;AAEpF;;;;;;AAMA,OAAM,MAAOI,UAA4C,SAAQR,IAAI,CAACS,WAAW,CAAC,YAAY,CAG5F;EACA;;;EAGS,CAACJ,mBAAmB,IAAIA,mBAAmB;EAEpD;;;EAGA,CAACH,IAAI,CAACQ,MAAM,IAAC;IACX,OAAOR,IAAI,CAACS,SAAS,CAAC;MAAEC,IAAI,EAAE,IAAI,CAACA,IAAI;MAAEC,IAAI,EAAE,IAAI,CAACA;IAAI,CAAE,CAAC;EAC7D;EAEA;;;EAGA,CAACZ,KAAK,CAACS,MAAM,EAAwBI,IAAiB;IACpD,IAAIC,eAAe,CAACD,IAAI,CAAC,EAAE;MACzB,OAAO,IAAI,CAACF,IAAI,KAAKE,IAAI,CAACF,IAAI,IAAI,IAAI,CAACC,IAAI,KAAKC,IAAI,CAACD,IAAI;IAC3D;IACA,OAAO,KAAK;EACd;;AAGF;;;;;;AAMA,OAAM,MAAOG,SAA2C,SAAQhB,IAAI,CAACS,WAAW,CAAC,WAAW,CAG1F;EACA;;;EAGS,CAACJ,mBAAmB,IAAIA,mBAAmB;EAEpD;;;EAGA,CAACH,IAAI,CAACQ,MAAM,IAAC;IACX,OAAOR,IAAI,CAACS,SAAS,CAAC;MAAEC,IAAI,EAAE,IAAI,CAACA,IAAI;MAAEC,IAAI,EAAE,IAAI,CAACA;IAAI,CAAE,CAAC;EAC7D;EAEA;;;EAGA,CAACZ,KAAK,CAACS,MAAM,EAAyBI,IAAiB;IACrD,IAAIC,eAAe,CAACD,IAAI,CAAC,EAAE;MACzB,OAAO,IAAI,CAACF,IAAI,KAAKE,IAAI,CAACF,IAAI,IAAI,IAAI,CAACC,IAAI,KAAKC,IAAI,CAACD,IAAI;IAC3D;IACA,OAAO,KAAK;EACd;;AAcF;;;;;AAKA,OAAM,SAAUE,eAAeA,CAAgCE,KAAc;EAC3E,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAIZ,mBAAmB,IAAIY,KAAK,IAChFA,KAAK,CAACZ,mBAAmB,CAAC,KAAKA,mBAAmB;AACtD;AAEA;;;;;;AAMA,OAAM,SAAUa,cAAcA,CAC5BL,IAAY,EACZM,MAA6B;EAE7B,OAAO,IAAIX,UAAU,CAAC;IAAEK,IAAI;IAAEM,MAAM,EAAEA;EAAa,CAAE,CAAC;AACxD;AAEA;;;;;;AAMA,OAAM,SAAUC,aAAaA,CAC3BP,IAAY,EACZM,MAA6B;EAE7B,OAAO,IAAIH,SAAS,CAAC;IAAEH,IAAI;IAAEM,MAAM,EAAEA;EAAa,CAAE,CAAC;AACvD;AAEA;AACA,OAAO,MAAME,UAAU,GAAGA,CAACC,QAAgB,EAAEC,cAAsB,KACjEpB,OAAO,CAACqB,IAAI,CAACC,IAAI,CAACC,GAAG,CAACxB,IAAI,CAACyB,MAAM,CAACL,QAAQ,CAAC,GAAGC,cAAc,CAAC,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import * as internal from "./internal/serialization.js";
2
+ /**
3
+ * @since 1.0.0
4
+ * @category symbols
5
+ */
6
+ export const SerializationTypeId = internal.SerializationTypeId;
7
+ /**
8
+ * @since 1.0.0
9
+ * @category context
10
+ */
11
+ export const Serialization = internal.serializationTag;
12
+ /**
13
+ * @since 1.0.0
14
+ * @category constructors
15
+ */
16
+ export const make = internal.make;
17
+ /**
18
+ * A layer that uses JSON serialization for encoding and decoding messages.
19
+ * This is useful for testing and not recommended to use in production.
20
+ * @since 1.0.0
21
+ * @category layers
22
+ */
23
+ export const json = internal.json;
24
+ //# sourceMappingURL=Serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Serialization.js","names":["internal","SerializationTypeId","Serialization","serializationTag","make","json"],"sources":["../../src/Serialization.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,QAAQ,MAAM,6BAA6B;AAIvD;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAkBD,QAAQ,CAACC,mBAAmB;AAsC9E;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CF,QAAQ,CAACG,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,IAAI,GAA6EJ,QAAQ,CAACI,IAAI;AAE3G;;;;;;AAMA,OAAO,MAAMC,IAAI,GAA+BL,QAAQ,CAACK,IAAI","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ import * as Serializable from "@effect/schema/Serializable";
6
+ import * as PrimaryKey from "effect/PrimaryKey";
7
+ import { TypeIdSchema } from "./internal/utils.js";
8
+ import * as RecipientAddress from "./RecipientAddress.js";
9
+ import * as SerializedMessage from "./SerializedMessage.js";
10
+ /** @internal */
11
+ const SerializedEnvelopeSymbolKey = "@effect/cluster/SerializedEnvelope";
12
+ /**
13
+ * @since 1.0.0
14
+ * @category symbols
15
+ */
16
+ export const SerializedEnvelopeTypeId = /*#__PURE__*/Symbol.for(SerializedEnvelopeSymbolKey);
17
+ /** @internal */
18
+ const SerializedEnvelopeTypeIdSchema = /*#__PURE__*/TypeIdSchema(SerializedEnvelopeSymbolKey, SerializedEnvelopeTypeId);
19
+ /**
20
+ * A SerializedEnvelope is the message that goes over the wire between pods.
21
+ * Inside the Envelope, you have the encoded messages, plus some informations on where it should be routed to.
22
+ *
23
+ * @since 1.0.0
24
+ * @category models
25
+ */
26
+ export class SerializedEnvelope extends Schema.Class(SerializedEnvelopeSymbolKey)({
27
+ [SerializedEnvelopeTypeId]: Schema.propertySignature(SerializedEnvelopeTypeIdSchema).pipe(Schema.fromKey(SerializedEnvelopeSymbolKey)),
28
+ recipientAddress: RecipientAddress.RecipientAddress,
29
+ messageId: Schema.String,
30
+ body: SerializedMessage.schema
31
+ }) {
32
+ get [Serializable.symbol]() {
33
+ return this.constructor;
34
+ }
35
+ get [Serializable.symbolResult]() {
36
+ return {
37
+ Success: Schema.Void,
38
+ Failure: Schema.Never
39
+ };
40
+ }
41
+ get [PrimaryKey.symbol]() {
42
+ return this.messageId + "@" + this.recipientAddress.recipientTypeName + "#" + this.recipientAddress.entityId;
43
+ }
44
+ }
45
+ /**
46
+ * Construct a new `SerializedEnvelope`
47
+ *
48
+ * @since 1.0.0
49
+ * @category constructors
50
+ */
51
+ export function make(recipientAddress, messageId, body) {
52
+ return new SerializedEnvelope({
53
+ [SerializedEnvelopeTypeId]: SerializedEnvelopeTypeId,
54
+ messageId,
55
+ recipientAddress,
56
+ body
57
+ });
58
+ }
59
+ /**
60
+ * Ensures that the given value is a SerializedEnvelope.
61
+ *
62
+ * @since 1.0.0
63
+ * @category utils
64
+ */
65
+ export function isSerializedEnvelope(value) {
66
+ return typeof value === "object" && value !== null && SerializedEnvelopeTypeId in value && value[SerializedEnvelopeTypeId] === SerializedEnvelopeTypeId;
67
+ }
68
+ /**
69
+ * This is the schema for a value.
70
+ *
71
+ * @since 1.0.0
72
+ * @category schema
73
+ */
74
+ export const schema = /*#__PURE__*/Schema.asSchema(SerializedEnvelope);
75
+ //# sourceMappingURL=SerializedEnvelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializedEnvelope.js","names":["Schema","Serializable","PrimaryKey","TypeIdSchema","RecipientAddress","SerializedMessage","SerializedEnvelopeSymbolKey","SerializedEnvelopeTypeId","Symbol","for","SerializedEnvelopeTypeIdSchema","SerializedEnvelope","Class","propertySignature","pipe","fromKey","recipientAddress","messageId","String","body","schema","symbol","constructor","symbolResult","Success","Void","Failure","Never","recipientTypeName","entityId","make","isSerializedEnvelope","value","asSchema"],"sources":["../../src/SerializedEnvelope.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,YAAY,MAAM,6BAA6B;AAC3D,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,SAASC,YAAY,QAAQ,qBAAqB;AAClD,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AACzD,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;AACA,MAAMC,2BAA2B,GAAG,oCAAoC;AAExE;;;;AAIA,OAAO,MAAMC,wBAAwB,gBAAkBC,MAAM,CAACC,GAAG,CAACH,2BAA2B,CAAC;AAE9F;AACA,MAAMI,8BAA8B,gBAAGP,YAAY,CAACG,2BAA2B,EAAEC,wBAAwB,CAAC;AAQ1G;;;;;;;AAOA,OAAM,MAAOI,kBAAmB,SAAQX,MAAM,CAACY,KAAK,CAAqBN,2BAA2B,CAAC,CAAC;EACpG,CAACC,wBAAwB,GAAGP,MAAM,CAACa,iBAAiB,CAACH,8BAA8B,CAAC,CAACI,IAAI,CACvFd,MAAM,CAACe,OAAO,CAACT,2BAA2B,CAAC,CAC5C;EACDU,gBAAgB,EAAEZ,gBAAgB,CAACA,gBAAgB;EACnDa,SAAS,EAAEjB,MAAM,CAACkB,MAAM;EACxBC,IAAI,EAAEd,iBAAiB,CAACe;CACzB,CAAC;EACA,KAAKnB,YAAY,CAACoB,MAAM,IAAC;IACvB,OAAO,IAAI,CAACC,WAAW;EACzB;EACA,KAAKrB,YAAY,CAACsB,YAAY,IAAC;IAC7B,OAAO;MAAEC,OAAO,EAAExB,MAAM,CAACyB,IAAI;MAAEC,OAAO,EAAE1B,MAAM,CAAC2B;IAAK,CAAE;EACxD;EACA,KAAKzB,UAAU,CAACmB,MAAM,IAAC;IACrB,OAAO,IAAI,CAACJ,SAAS,GAAG,GAAG,GAAG,IAAI,CAACD,gBAAgB,CAACY,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAACZ,gBAAgB,CAACa,QAAQ;EAC9G;;AAeF;;;;;;AAMA,OAAM,SAAUC,IAAIA,CAClBd,gBAAmD,EACnDC,SAAiB,EACjBE,IAAyC;EAEzC,OAAO,IAAIR,kBAAkB,CAAC;IAC5B,CAACJ,wBAAwB,GAAGA,wBAAwB;IACpDU,SAAS;IACTD,gBAAgB;IAChBG;GACD,CAAC;AACJ;AAEA;;;;;;AAMA,OAAM,SAAUY,oBAAoBA,CAACC,KAAc;EACjD,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACdzB,wBAAwB,IAAIyB,KAAK,IACjCA,KAAK,CAACzB,wBAAwB,CAAC,KAAKA,wBAAwB;AAEhE;AAEA;;;;;;AAMA,OAAO,MAAMa,MAAM,gBAAyEpB,MAAM,CAACiC,QAAQ,CACzGtB,kBAAkB,CACnB","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ import { TypeIdSchema } from "./internal/utils.js";
6
+ /** @internal */
7
+ const SerializedMessageSymbolKey = "@effect/cluster/SerializedMessage";
8
+ /**
9
+ * @since 1.0.0
10
+ * @category symbols
11
+ */
12
+ export const SerializedMessageTypeId = /*#__PURE__*/Symbol.for(SerializedMessageSymbolKey);
13
+ /** @internal */
14
+ const SerializedMessageTypeIdSchema = /*#__PURE__*/TypeIdSchema(SerializedMessageSymbolKey, SerializedMessageTypeId);
15
+ /**
16
+ * Represents a Message that has been serialized.
17
+ *
18
+ * @since 1.0.0
19
+ * @category models
20
+ */
21
+ export class SerializedMessage extends Schema.Class(SerializedMessageSymbolKey)({
22
+ [SerializedMessageTypeId]: Schema.propertySignature(SerializedMessageTypeIdSchema).pipe(Schema.fromKey(SerializedMessageSymbolKey)),
23
+ value: Schema.String
24
+ }) {}
25
+ /**
26
+ * Construct a new `SerializedMessage` from its internal string value.
27
+ *
28
+ * @since 1.0.0
29
+ * @category constructors
30
+ */
31
+ export function make(value) {
32
+ return new SerializedMessage({
33
+ [SerializedMessageTypeId]: SerializedMessageTypeId,
34
+ value
35
+ });
36
+ }
37
+ /**
38
+ * @since 1.0.0
39
+ * @category utils
40
+ */
41
+ export function isSerializedMessage(value) {
42
+ return typeof value === "object" && value !== null && SerializedMessageTypeId in value && value[SerializedMessageTypeId] === SerializedMessageTypeId;
43
+ }
44
+ /**
45
+ * This is the schema for a value.
46
+ *
47
+ * @since 1.0.0
48
+ * @category schema
49
+ */
50
+ export const schema = /*#__PURE__*/Schema.asSchema(SerializedMessage);
51
+ //# sourceMappingURL=SerializedMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializedMessage.js","names":["Schema","TypeIdSchema","SerializedMessageSymbolKey","SerializedMessageTypeId","Symbol","for","SerializedMessageTypeIdSchema","SerializedMessage","Class","propertySignature","pipe","fromKey","value","String","make","isSerializedMessage","schema","asSchema"],"sources":["../../src/SerializedMessage.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,SAASC,YAAY,QAAQ,qBAAqB;AAElD;AACA,MAAMC,0BAA0B,GAAG,mCAAmC;AAEtE;;;;AAIA,OAAO,MAAMC,uBAAuB,gBAAkBC,MAAM,CAACC,GAAG,CAACH,0BAA0B,CAAC;AAQ5F;AACA,MAAMI,6BAA6B,gBAAGL,YAAY,CAACC,0BAA0B,EAAEC,uBAAuB,CAAC;AAEvG;;;;;;AAMA,OAAM,MAAOI,iBAAkB,SAAQP,MAAM,CAACQ,KAAK,CAAoBN,0BAA0B,CAAC,CAAC;EACjG,CAACC,uBAAuB,GAAGH,MAAM,CAACS,iBAAiB,CAACH,6BAA6B,CAAC,CAACI,IAAI,CACrFV,MAAM,CAACW,OAAO,CAACT,0BAA0B,CAAC,CAC3C;EACDU,KAAK,EAAEZ,MAAM,CAACa;CACf,CAAC;AAcF;;;;;;AAMA,OAAM,SAAUC,IAAIA,CAACF,KAAa;EAChC,OAAO,IAAIL,iBAAiB,CAAC;IAAE,CAACJ,uBAAuB,GAAGA,uBAAuB;IAAES;EAAK,CAAE,CAAC;AAC7F;AAEA;;;;AAIA,OAAM,SAAUG,mBAAmBA,CAACH,KAAc;EAChD,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACdT,uBAAuB,IAAIS,KAAK,IAChCA,KAAK,CAACT,uBAAuB,CAAC,KAAKA,uBAAuB;AAE9D;AAEA;;;;;;AAMA,OAAO,MAAMa,MAAM,gBAGfhB,MAAM,CAACiB,QAAQ,CAACV,iBAAiB,CAAC","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ import { TypeIdSchema } from "./internal/utils.js";
6
+ /** @internal */
7
+ const ShardIdSymbolKey = "@effect/cluster/ShardId";
8
+ /**
9
+ * @since 1.0.0
10
+ * @category symbols
11
+ */
12
+ export const ShardIdTypeId = /*#__PURE__*/Symbol.for(ShardIdSymbolKey);
13
+ /** @internal */
14
+ const ShardIdTypeIdSchema = /*#__PURE__*/TypeIdSchema(ShardIdSymbolKey, ShardIdTypeId);
15
+ /**
16
+ * A shard is a logical grouping of multiple entities. There could be thousands of entities in your system,
17
+ * so instead of managing every single entity id, the shard manager group them by shard id, and when they are assigned
18
+ * or moved around, we always move all the entities with the same shard id.
19
+ *
20
+ * @since 1.0.0
21
+ * @category models
22
+ */
23
+ export class ShardId extends Schema.Class(ShardIdSymbolKey)({
24
+ [ShardIdTypeId]: Schema.propertySignature(ShardIdTypeIdSchema).pipe(Schema.fromKey(ShardIdSymbolKey)),
25
+ value: Schema.Number
26
+ }) {
27
+ /**
28
+ * @since 1.0.0
29
+ */
30
+ toString() {
31
+ return `ShardId(${this.value})`;
32
+ }
33
+ }
34
+ /**
35
+ * Constructs a shard id from its numerical value.
36
+ * The shard id is currently built up by making the hash of the entity id, and then modulo the max amount of shards configured in ManagerConfig.
37
+ *
38
+ * @since 1.0.0
39
+ * @category constructors
40
+ */
41
+ export function make(value) {
42
+ return new ShardId({
43
+ [ShardIdTypeId]: ShardIdTypeId,
44
+ value
45
+ });
46
+ }
47
+ /**
48
+ * This is the schema for a ShardId.
49
+ *
50
+ * @since 1.0.0
51
+ * @category schema
52
+ */
53
+ export const schema = /*#__PURE__*/Schema.asSchema(ShardId);
54
+ //# sourceMappingURL=ShardId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardId.js","names":["Schema","TypeIdSchema","ShardIdSymbolKey","ShardIdTypeId","Symbol","for","ShardIdTypeIdSchema","ShardId","Class","propertySignature","pipe","fromKey","value","Number","toString","make","schema","asSchema"],"sources":["../../src/ShardId.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,uBAAuB;AAC/C,SAASC,YAAY,QAAQ,qBAAqB;AAElD;AACA,MAAMC,gBAAgB,GAAG,yBAAyB;AAElD;;;;AAIA,OAAO,MAAMC,aAAa,gBAAkBC,MAAM,CAACC,GAAG,CAACH,gBAAgB,CAAC;AAQxE;AACA,MAAMI,mBAAmB,gBAAGL,YAAY,CAACC,gBAAgB,EAAEC,aAAa,CAAC;AAEzE;;;;;;;;AAQA,OAAM,MAAOI,OAAQ,SAAQP,MAAM,CAACQ,KAAK,CAAUN,gBAAgB,CAAC,CAAC;EACnE,CAACC,aAAa,GAAGH,MAAM,CAACS,iBAAiB,CAACH,mBAAmB,CAAC,CAACI,IAAI,CAACV,MAAM,CAACW,OAAO,CAACT,gBAAgB,CAAC,CAAC;EACrGU,KAAK,EAAEZ,MAAM,CAACa;CACf,CAAC;EACA;;;EAGAC,QAAQA,CAAA;IACN,OAAO,WAAW,IAAI,CAACF,KAAK,GAAG;EACjC;;AAiBF;;;;;;;AAOA,OAAM,SAAUG,IAAIA,CAACH,KAAa;EAChC,OAAO,IAAIL,OAAO,CAAC;IAAE,CAACJ,aAAa,GAAGA,aAAa;IAAES;EAAK,CAAE,CAAC;AAC/D;AAEA;;;;;;AAMA,OAAO,MAAMI,MAAM,gBAGfhB,MAAM,CAACiB,QAAQ,CAACV,OAAO,CAAC","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import * as internal from "./internal/shardManager.js";
2
+ /**
3
+ * @since 1.0.0
4
+ * @category symbols
5
+ */
6
+ export const ShardManagerTypeId = internal.ShardManagerTypeId;
7
+ /**
8
+ * @since 1.0.0
9
+ * @category context
10
+ */
11
+ export const ShardManager = internal.shardManagerTag;
12
+ /**
13
+ * @since 1.0.0
14
+ * @category layers
15
+ */
16
+ export const live = internal.live;
17
+ //# sourceMappingURL=ShardManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardManager.js","names":["internal","ShardManagerTypeId","ShardManager","shardManagerTag","live"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,QAAQ,MAAM,4BAA4B;AAMtD;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAkBD,QAAQ,CAACC,kBAAkB;AAQ5E;;;;AAIA,OAAO,MAAMC,YAAY,GAAGF,QAAQ,CAACG,eAAe;AAmBpD;;;;AAIA,OAAO,MAAMC,IAAI,GAAGJ,QAAQ,CAACI,IAAI","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import * as internal from "./internal/shardManagerClient.js";
2
+ /**
3
+ * @since 1.0.0
4
+ * @category symbols
5
+ */
6
+ export const ShardManagerClientTypeId = internal.ShardManagerClientTypeId;
7
+ /**
8
+ * @since 1.0.0
9
+ * @category constructors
10
+ */
11
+ export const make = internal.make;
12
+ /**
13
+ * @since 1.0.0
14
+ * @category context
15
+ */
16
+ export const ShardManagerClient = internal.shardManagerClientTag;
17
+ /**
18
+ * @since 1.0.0
19
+ * @category layers
20
+ */
21
+ export const local = internal.local;
22
+ //# sourceMappingURL=ShardManagerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardManagerClient.js","names":["internal","ShardManagerClientTypeId","make","ShardManagerClient","shardManagerClientTag","local"],"sources":["../../src/ShardManagerClient.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,kCAAkC;AAK5D;;;;AAIA,OAAO,MAAMC,wBAAwB,GAAkBD,QAAQ,CAACC,wBAAwB;AAsBxF;;;;AAIA,OAAO,MAAMC,IAAI,GACfF,QAAQ,CAACE,IAAI;AAEf;;;;AAIA,OAAO,MAAMC,kBAAkB,GAAwDH,QAAQ,CAACI,qBAAqB;AAErH;;;;AAIA,OAAO,MAAMC,KAAK,GAA0EL,QAAQ,CAACK,KAAK","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ import * as internal from "./internal/sharding.js";
2
+ /**
3
+ * @since 1.0.0
4
+ * @category symbols
5
+ */
6
+ export const ShardingTypeId = internal.ShardingTypeId;
7
+ /**
8
+ * @since 1.0.0
9
+ * @category context
10
+ */
11
+ export const Tag = internal.shardingTag;
12
+ /**
13
+ * @since 1.0.0
14
+ * @category layers
15
+ */
16
+ export const live = internal.live;
17
+ /**
18
+ * Notify the shard manager that shards can now be assigned to this pod.
19
+ *
20
+ * @since 1.0.0
21
+ * @category utils
22
+ */
23
+ export const register = internal.register;
24
+ /**
25
+ * Notify the shard manager that shards must be unassigned from this pod.
26
+ *
27
+ * @since 1.0.0
28
+ * @category utils
29
+ */
30
+ export const unregister = internal.unregister;
31
+ /**
32
+ * Same as `register`, but will automatically call `unregister` when the `Scope` is terminated.
33
+ *
34
+ * @since 1.0.0
35
+ * @category utils
36
+ */
37
+ export const registerScoped = internal.registerScoped;
38
+ /**
39
+ * Start a computation that is guaranteed to run only on a single pod.
40
+ * Each pod should call `registerSingleton` but only a single pod will actually run it at any given time.
41
+ *
42
+ * @since 1.0.0
43
+ * @category utils
44
+ */
45
+ export const registerSingleton = internal.registerSingleton;
46
+ /**
47
+ * Register a new entity type, allowing pods to send messages to entities of this type.
48
+ *
49
+ * @since 1.0.0
50
+ * @category utils
51
+ */
52
+ export const registerEntity = internal.registerEntity;
53
+ /**
54
+ * Register a new topic type, allowing pods to broadcast messages to subscribers.
55
+ *
56
+ * @since 1.0.0
57
+ * @category utils
58
+ */
59
+ export const registerTopic = internal.registerTopic;
60
+ /**
61
+ * Get an object that allows sending messages to a given entity type.
62
+ * You can provide a custom send timeout to override the one globally defined.
63
+ *
64
+ * @since 1.0.0
65
+ * @category utils
66
+ */
67
+ export const messenger = internal.messenger;
68
+ /**
69
+ * Get an object that allows broadcasting messages to a given topic type.
70
+ * You can provide a custom send timeout to override the one globally defined.
71
+ *
72
+ * @since 1.0.0
73
+ * @category utils
74
+ */
75
+ export const broadcaster = internal.broadcaster;
76
+ /**
77
+ * Get the list of pods currently registered to the Shard Manager
78
+ *
79
+ * @since 1.0.0
80
+ * @category utils
81
+ */
82
+ export const getPods = internal.getPods;
83
+ /**
84
+ * Sends a raw message to the local entity manager without performing reties.
85
+ * Those are up to the caller.
86
+ *
87
+ * @since 1.0.0
88
+ * @category utils
89
+ */
90
+ export const sendMessageToLocalEntityManagerWithoutRetries = internal.sendMessageToLocalEntityManagerWithoutRetries;
91
+ /**
92
+ * Gets the list of shardIds assigned to the current Pod
93
+ *
94
+ * @since 1.0.0
95
+ * @category utils
96
+ */
97
+ export const getAssignedShardIds = internal.getAssignedShardIds;
98
+ //# sourceMappingURL=Sharding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sharding.js","names":["internal","ShardingTypeId","Tag","shardingTag","live","register","unregister","registerScoped","registerSingleton","registerEntity","registerTopic","messenger","broadcaster","getPods","sendMessageToLocalEntityManagerWithoutRetries","getAssignedShardIds"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,wBAAwB;AAelD;;;;AAIA,OAAO,MAAMC,cAAc,GAAkBD,QAAQ,CAACC,cAAc;AA0DpE;;;;AAIA,OAAO,MAAMC,GAAG,GAAGF,QAAQ,CAACG,WAAW;AAEvC;;;;AAIA,OAAO,MAAMC,IAAI,GAAGJ,QAAQ,CAACI,IAAI;AAEjC;;;;;;AAMA,OAAO,MAAMC,QAAQ,GAAyCL,QAAQ,CAACK,QAAQ;AAE/E;;;;;;AAMA,OAAO,MAAMC,UAAU,GAAyCN,QAAQ,CAACM,UAAU;AAEnF;;;;;;AAMA,OAAO,MAAMC,cAAc,GAAuDP,QAAQ,CAACO,cAAc;AAEzG;;;;;;;AAOA,OAAO,MAAMC,iBAAiB,GAGkBR,QAAQ,CAACQ,iBAAiB;AAE1E;;;;;;AAMA,OAAO,MAAMC,cAAc,GAMzBT,QAAQ,CAACS,cAAc;AAEzB;;;;;;AAMA,OAAO,MAAMC,aAAa,GAMxBV,QAAQ,CAACU,aAAa;AAExB;;;;;;;AAOA,OAAO,MAAMC,SAAS,GAEgCX,QAAQ,CAACW,SAAS;AAExE;;;;;;;AAOA,OAAO,MAAMC,WAAW,GAEgCZ,QAAQ,CAACY,WAAW;AAE5E;;;;;;AAMA,OAAO,MAAMC,OAAO,GAA2Eb,QAAQ,CAACa,OAAO;AAE/G;;;;;;;AAOA,OAAO,MAAMC,6CAA6C,GAMtDd,QAAQ,CAACc,6CAA6C;AAE1D;;;;;;AAMA,OAAO,MAAMC,mBAAmB,GAC9Bf,QAAQ,CAACe,mBAAmB","ignoreList":[]}