atom.io 0.32.4 → 0.33.1

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 (362) hide show
  1. package/dist/chunk-Cl8Af3a2.js +11 -0
  2. package/dist/data/index.d.ts +28 -0
  3. package/dist/data/index.d.ts.map +1 -0
  4. package/dist/data/index.js +66 -0
  5. package/dist/data/index.js.map +1 -0
  6. package/dist/devtools-CAg2k57t.js +0 -0
  7. package/dist/devtools-Jyn42mZm.css +311 -0
  8. package/dist/devtools-Jyn42mZm.css.map +1 -0
  9. package/dist/eslint-plugin/index.d.ts +36 -0
  10. package/dist/eslint-plugin/index.d.ts.map +1 -0
  11. package/dist/eslint-plugin/index.js +196 -0
  12. package/dist/eslint-plugin/index.js.map +1 -0
  13. package/{internal/dist → dist/internal}/index.d.ts +495 -378
  14. package/dist/internal/index.d.ts.map +1 -0
  15. package/dist/internal/index.js +3213 -0
  16. package/dist/internal/index.js.map +1 -0
  17. package/dist/introspection/index.d.ts +153 -0
  18. package/dist/introspection/index.d.ts.map +1 -0
  19. package/dist/introspection/index.js +520 -0
  20. package/dist/introspection/index.js.map +1 -0
  21. package/{json/dist → dist/json}/index.d.ts +38 -32
  22. package/dist/json/index.d.ts.map +1 -0
  23. package/dist/json/index.js +75 -0
  24. package/dist/json/index.js.map +1 -0
  25. package/dist/main/index.d.ts +691 -0
  26. package/dist/main/index.d.ts.map +1 -0
  27. package/dist/main/index.js +237 -0
  28. package/dist/main/index.js.map +1 -0
  29. package/{react/dist → dist/react}/index.d.ts +22 -11
  30. package/dist/react/index.d.ts.map +1 -0
  31. package/dist/react/index.js +91 -0
  32. package/dist/react/index.js.map +1 -0
  33. package/dist/react-devtools/index.d.ts +194 -0
  34. package/dist/react-devtools/index.d.ts.map +1 -0
  35. package/dist/react-devtools/index.js +1274 -0
  36. package/dist/react-devtools/index.js.map +1 -0
  37. package/dist/realtime/index.d.ts +55 -0
  38. package/dist/realtime/index.d.ts.map +1 -0
  39. package/dist/realtime/index.js +113 -0
  40. package/dist/realtime/index.js.map +1 -0
  41. package/dist/realtime-client/index.d.ts +81 -0
  42. package/dist/realtime-client/index.d.ts.map +1 -0
  43. package/dist/realtime-client/index.js +376 -0
  44. package/dist/realtime-client/index.js.map +1 -0
  45. package/dist/realtime-react/index.d.ts +68 -0
  46. package/dist/realtime-react/index.d.ts.map +1 -0
  47. package/dist/realtime-react/index.js +182 -0
  48. package/dist/realtime-react/index.js.map +1 -0
  49. package/dist/realtime-server/index.d.ts +190 -0
  50. package/dist/realtime-server/index.d.ts.map +1 -0
  51. package/dist/realtime-server/index.js +795 -0
  52. package/dist/realtime-server/index.js.map +1 -0
  53. package/dist/realtime-testing/index.d.ts +60 -0
  54. package/dist/realtime-testing/index.d.ts.map +1 -0
  55. package/dist/realtime-testing/index.js +181 -0
  56. package/dist/realtime-testing/index.js.map +1 -0
  57. package/dist/transceivers/set-rtx/index.d.ts +44 -0
  58. package/dist/transceivers/set-rtx/index.d.ts.map +1 -0
  59. package/dist/transceivers/set-rtx/index.js +204 -0
  60. package/dist/transceivers/set-rtx/index.js.map +1 -0
  61. package/dist/web/index.d.ts +15 -0
  62. package/dist/web/index.d.ts.map +1 -0
  63. package/dist/web/index.js +16 -0
  64. package/dist/web/index.js.map +1 -0
  65. package/package.json +66 -117
  66. package/{eslint-plugin/src → src/eslint-plugin}/index.ts +3 -1
  67. package/{eslint-plugin/src → src/eslint-plugin}/rules/explicit-state-types.ts +6 -1
  68. package/{eslint-plugin/src → src/eslint-plugin}/rules/synchronous-selector-dependencies.ts +14 -1
  69. package/{internal/src → src/internal}/families/index.ts +2 -0
  70. package/{internal/src → src/internal}/index.ts +1 -0
  71. package/{internal/src → src/internal}/junction.ts +3 -2
  72. package/{internal/src → src/internal}/lazy-map.ts +1 -1
  73. package/{internal/src → src/internal}/mutable/tracker-family.ts +2 -5
  74. package/{internal/src → src/internal}/mutable/tracker.ts +15 -9
  75. package/{internal/src → src/internal}/store/store.ts +60 -47
  76. package/{internal/src → src/internal}/subject.ts +1 -1
  77. package/{introspection/src → src/introspection}/auditor.ts +1 -1
  78. package/{introspection/src → src/introspection}/differ.ts +12 -1
  79. package/{introspection/src → src/introspection}/refinery.ts +18 -3
  80. package/{json/src → src/json}/entries.ts +1 -1
  81. package/{json/src → src/json}/select-json-family.ts +1 -1
  82. package/src/{realm.ts → main/realm.ts} +1 -1
  83. package/src/{silo.ts → main/silo.ts} +1 -1
  84. package/src/{transaction.ts → main/transaction.ts} +1 -1
  85. package/{react/src → src/react}/store-context.tsx +3 -1
  86. package/{react-devtools/src → src/react-devtools}/AtomIODevtools.tsx +1 -1
  87. package/{react-devtools/src → src/react-devtools}/Button.tsx +3 -1
  88. package/{react-devtools/src → src/react-devtools}/Updates.tsx +5 -1
  89. package/src/react-devtools/devtools.css +308 -0
  90. package/{react-devtools/src → src/react-devtools}/json-editor/index.ts +5 -2
  91. package/{react-devtools/src → src/react-devtools}/store.ts +3 -2
  92. package/{realtime/src → src/realtime}/shared-room-store.ts +28 -5
  93. package/src/realtime-client/realtime-client-stores/client-main-store.ts +23 -0
  94. package/src/realtime-client/realtime-client-stores/client-sync-store.ts +15 -0
  95. package/{realtime-react/src → src/realtime-react}/index.ts +1 -0
  96. package/{realtime-react/src → src/realtime-react}/on-mount.ts +1 -1
  97. package/{realtime-react/src → src/realtime-react}/realtime-context.tsx +5 -4
  98. package/{realtime-react/src → src/realtime-react}/use-single-effect.ts +1 -1
  99. package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-room-external-actions.ts +20 -19
  100. package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-room-external-store.ts +12 -7
  101. package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-sync-store.ts +13 -4
  102. package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-user-store.ts +26 -8
  103. package/{transceivers/set-rtx/src → src/transceivers/set-rtx}/set-rtx.ts +2 -2
  104. package/data/dist/index.d.ts +0 -31
  105. package/data/dist/index.js +0 -69
  106. package/data/package.json +0 -13
  107. package/dist/chunk-4LWKCEW3.js +0 -14
  108. package/dist/chunk-7SJVR7FZ.js +0 -4499
  109. package/dist/chunk-IR77IXS7.js +0 -526
  110. package/dist/chunk-PG57JXN4.js +0 -1035
  111. package/dist/chunk-PXB4YZDI.js +0 -153
  112. package/dist/chunk-Q6OOJWM4.js +0 -634
  113. package/dist/chunk-TJPLOX7Z.js +0 -81
  114. package/dist/chunk-U4K63VLA.js +0 -109
  115. package/dist/chunk-XWL6SNVU.js +0 -7
  116. package/dist/index.d.ts +0 -701
  117. package/dist/index.js +0 -2
  118. package/eslint-plugin/dist/index.d.ts +0 -51
  119. package/eslint-plugin/dist/index.js +0 -238
  120. package/eslint-plugin/package.json +0 -13
  121. package/internal/dist/index.js +0 -2
  122. package/internal/package.json +0 -13
  123. package/introspection/dist/index.d.ts +0 -149
  124. package/introspection/dist/index.js +0 -3
  125. package/introspection/package.json +0 -13
  126. package/json/dist/index.js +0 -2
  127. package/json/package.json +0 -13
  128. package/react/dist/index.js +0 -3
  129. package/react/package.json +0 -13
  130. package/react-devtools/dist/index.css +0 -309
  131. package/react-devtools/dist/index.d.ts +0 -169
  132. package/react-devtools/dist/index.js +0 -1481
  133. package/react-devtools/package.json +0 -13
  134. package/react-devtools/src/devtools.scss +0 -309
  135. package/realtime/dist/index.d.ts +0 -51
  136. package/realtime/dist/index.js +0 -3
  137. package/realtime/package.json +0 -13
  138. package/realtime-client/dist/index.d.ts +0 -41
  139. package/realtime-client/dist/index.js +0 -4
  140. package/realtime-client/package.json +0 -13
  141. package/realtime-client/src/realtime-client-stores/client-main-store.ts +0 -20
  142. package/realtime-client/src/realtime-client-stores/client-sync-store.ts +0 -15
  143. package/realtime-react/dist/index.d.ts +0 -39
  144. package/realtime-react/dist/index.js +0 -6
  145. package/realtime-react/package.json +0 -13
  146. package/realtime-server/dist/index.d.ts +0 -139
  147. package/realtime-server/dist/index.js +0 -4
  148. package/realtime-server/package.json +0 -13
  149. package/realtime-testing/dist/index.d.ts +0 -59
  150. package/realtime-testing/dist/index.js +0 -198
  151. package/realtime-testing/package.json +0 -13
  152. package/transceivers/set-rtx/dist/index.d.ts +0 -41
  153. package/transceivers/set-rtx/dist/index.js +0 -2
  154. package/transceivers/set-rtx/package.json +0 -13
  155. package/web/dist/index.d.ts +0 -9
  156. package/web/dist/index.js +0 -2
  157. package/web/package.json +0 -13
  158. /package/{data/src → src/data}/dict.ts +0 -0
  159. /package/{data/src → src/data}/index.ts +0 -0
  160. /package/{data/src → src/data}/struct-family.ts +0 -0
  161. /package/{data/src → src/data}/struct.ts +0 -0
  162. /package/{eslint-plugin/src → src/eslint-plugin}/rules/index.ts +0 -0
  163. /package/{eslint-plugin/src → src/eslint-plugin}/walk.ts +0 -0
  164. /package/{internal/src → src/internal}/arbitrary.ts +0 -0
  165. /package/{internal/src → src/internal}/atom/create-regular-atom.ts +0 -0
  166. /package/{internal/src → src/internal}/atom/create-standalone-atom.ts +0 -0
  167. /package/{internal/src → src/internal}/atom/dispose-atom.ts +0 -0
  168. /package/{internal/src → src/internal}/atom/index.ts +0 -0
  169. /package/{internal/src → src/internal}/atom/is-default.ts +0 -0
  170. /package/{internal/src → src/internal}/caching.ts +0 -0
  171. /package/{internal/src → src/internal}/capitalize.ts +0 -0
  172. /package/{internal/src → src/internal}/families/create-atom-family.ts +0 -0
  173. /package/{internal/src → src/internal}/families/create-readonly-selector-family.ts +0 -0
  174. /package/{internal/src → src/internal}/families/create-regular-atom-family.ts +0 -0
  175. /package/{internal/src → src/internal}/families/create-selector-family.ts +0 -0
  176. /package/{internal/src → src/internal}/families/create-writable-selector-family.ts +0 -0
  177. /package/{internal/src → src/internal}/families/dispose-from-store.ts +0 -0
  178. /package/{internal/src → src/internal}/families/find-in-store.ts +0 -0
  179. /package/{internal/src → src/internal}/families/get-family-of-token.ts +0 -0
  180. /package/{internal/src → src/internal}/families/init-family-member.ts +0 -0
  181. /package/{internal/src → src/internal}/families/seek-in-store.ts +0 -0
  182. /package/{internal/src → src/internal}/future.ts +0 -0
  183. /package/{internal/src → src/internal}/get-environment-data.ts +0 -0
  184. /package/{internal/src → src/internal}/get-state/get-from-store.ts +0 -0
  185. /package/{internal/src → src/internal}/get-state/index.ts +0 -0
  186. /package/{internal/src → src/internal}/get-state/read-or-compute-value.ts +0 -0
  187. /package/{internal/src → src/internal}/get-trace.ts +0 -0
  188. /package/{internal/src → src/internal}/ingest-updates/index.ts +0 -0
  189. /package/{internal/src → src/internal}/ingest-updates/ingest-atom-update.ts +0 -0
  190. /package/{internal/src → src/internal}/ingest-updates/ingest-creation-disposal.ts +0 -0
  191. /package/{internal/src → src/internal}/ingest-updates/ingest-selector-update.ts +0 -0
  192. /package/{internal/src → src/internal}/ingest-updates/ingest-transaction-update.ts +0 -0
  193. /package/{internal/src → src/internal}/install-into-store.ts +0 -0
  194. /package/{internal/src → src/internal}/join/edit-relations-in-store.ts +0 -0
  195. /package/{internal/src → src/internal}/join/find-relations-in-store.ts +0 -0
  196. /package/{internal/src → src/internal}/join/get-internal-relations-from-store.ts +0 -0
  197. /package/{internal/src → src/internal}/join/get-join.ts +0 -0
  198. /package/{internal/src → src/internal}/join/index.ts +0 -0
  199. /package/{internal/src → src/internal}/join/join-internal.ts +0 -0
  200. /package/{internal/src → src/internal}/keys.ts +0 -0
  201. /package/{internal/src → src/internal}/lineage.ts +0 -0
  202. /package/{internal/src → src/internal}/molecule.ts +0 -0
  203. /package/{internal/src → src/internal}/mutable/create-mutable-atom-family.ts +0 -0
  204. /package/{internal/src → src/internal}/mutable/create-mutable-atom.ts +0 -0
  205. /package/{internal/src → src/internal}/mutable/get-json-family.ts +0 -0
  206. /package/{internal/src → src/internal}/mutable/get-json-token.ts +0 -0
  207. /package/{internal/src → src/internal}/mutable/get-update-family.ts +0 -0
  208. /package/{internal/src → src/internal}/mutable/get-update-token.ts +0 -0
  209. /package/{internal/src → src/internal}/mutable/index.ts +0 -0
  210. /package/{internal/src → src/internal}/mutable/transceiver.ts +0 -0
  211. /package/{internal/src → src/internal}/not-found-error.ts +0 -0
  212. /package/{internal/src → src/internal}/operation.ts +0 -0
  213. /package/{internal/src → src/internal}/pretty-print.ts +0 -0
  214. /package/{internal/src → src/internal}/reserved-keys.ts +0 -0
  215. /package/{internal/src → src/internal}/selector/create-readonly-selector.ts +0 -0
  216. /package/{internal/src → src/internal}/selector/create-standalone-selector.ts +0 -0
  217. /package/{internal/src → src/internal}/selector/create-writable-selector.ts +0 -0
  218. /package/{internal/src → src/internal}/selector/dispose-selector.ts +0 -0
  219. /package/{internal/src → src/internal}/selector/get-selector-dependency-keys.ts +0 -0
  220. /package/{internal/src → src/internal}/selector/index.ts +0 -0
  221. /package/{internal/src → src/internal}/selector/register-selector.ts +0 -0
  222. /package/{internal/src → src/internal}/selector/trace-selector-atoms.ts +0 -0
  223. /package/{internal/src → src/internal}/selector/update-selector-atoms.ts +0 -0
  224. /package/{internal/src → src/internal}/set-state/become.ts +0 -0
  225. /package/{internal/src → src/internal}/set-state/copy-mutable-if-needed.ts +0 -0
  226. /package/{internal/src → src/internal}/set-state/emit-update.ts +0 -0
  227. /package/{internal/src → src/internal}/set-state/evict-downstream.ts +0 -0
  228. /package/{internal/src → src/internal}/set-state/index.ts +0 -0
  229. /package/{internal/src → src/internal}/set-state/set-atom-or-selector.ts +0 -0
  230. /package/{internal/src → src/internal}/set-state/set-atom.ts +0 -0
  231. /package/{internal/src → src/internal}/set-state/set-into-store.ts +0 -0
  232. /package/{internal/src → src/internal}/store/circular-buffer.ts +0 -0
  233. /package/{internal/src → src/internal}/store/counterfeit.ts +0 -0
  234. /package/{internal/src → src/internal}/store/deposit.ts +0 -0
  235. /package/{internal/src → src/internal}/store/index.ts +0 -0
  236. /package/{internal/src → src/internal}/store/withdraw.ts +0 -0
  237. /package/{internal/src → src/internal}/subscribe/index.ts +0 -0
  238. /package/{internal/src → src/internal}/subscribe/recall-state.ts +0 -0
  239. /package/{internal/src → src/internal}/subscribe/subscribe-in-store.ts +0 -0
  240. /package/{internal/src → src/internal}/subscribe/subscribe-to-root-atoms.ts +0 -0
  241. /package/{internal/src → src/internal}/subscribe/subscribe-to-state.ts +0 -0
  242. /package/{internal/src → src/internal}/subscribe/subscribe-to-timeline.ts +0 -0
  243. /package/{internal/src → src/internal}/subscribe/subscribe-to-transaction.ts +0 -0
  244. /package/{internal/src → src/internal}/timeline/create-timeline.ts +0 -0
  245. /package/{internal/src → src/internal}/timeline/index.ts +0 -0
  246. /package/{internal/src → src/internal}/timeline/time-travel.ts +0 -0
  247. /package/{internal/src → src/internal}/transaction/abort-transaction.ts +0 -0
  248. /package/{internal/src → src/internal}/transaction/act-upon-store.ts +0 -0
  249. /package/{internal/src → src/internal}/transaction/apply-transaction.ts +0 -0
  250. /package/{internal/src → src/internal}/transaction/assign-transaction-to-continuity.ts +0 -0
  251. /package/{internal/src → src/internal}/transaction/build-transaction.ts +0 -0
  252. /package/{internal/src → src/internal}/transaction/create-transaction.ts +0 -0
  253. /package/{internal/src → src/internal}/transaction/get-epoch-number.ts +0 -0
  254. /package/{internal/src → src/internal}/transaction/index.ts +0 -0
  255. /package/{internal/src → src/internal}/transaction/is-root-store.ts +0 -0
  256. /package/{internal/src → src/internal}/transaction/set-epoch-number.ts +0 -0
  257. /package/{internal/src → src/internal}/utility-types.ts +0 -0
  258. /package/{introspection/src → src/introspection}/attach-atom-index.ts +0 -0
  259. /package/{introspection/src → src/introspection}/attach-introspection-states.ts +0 -0
  260. /package/{introspection/src → src/introspection}/attach-selector-index.ts +0 -0
  261. /package/{introspection/src → src/introspection}/attach-timeline-family.ts +0 -0
  262. /package/{introspection/src → src/introspection}/attach-timeline-index.ts +0 -0
  263. /package/{introspection/src → src/introspection}/attach-transaction-index.ts +0 -0
  264. /package/{introspection/src → src/introspection}/attach-transaction-logs.ts +0 -0
  265. /package/{introspection/src → src/introspection}/attach-type-selectors.ts +0 -0
  266. /package/{introspection/src → src/introspection}/index.ts +0 -0
  267. /package/{introspection/src → src/introspection}/sprawl.ts +0 -0
  268. /package/{json/src → src/json}/index.ts +0 -0
  269. /package/{json/src → src/json}/select-json.ts +0 -0
  270. /package/src/{atom.ts → main/atom.ts} +0 -0
  271. /package/src/{dispose-state.ts → main/dispose-state.ts} +0 -0
  272. /package/src/{find-state.ts → main/find-state.ts} +0 -0
  273. /package/src/{get-state.ts → main/get-state.ts} +0 -0
  274. /package/src/{index.ts → main/index.ts} +0 -0
  275. /package/src/{join.ts → main/join.ts} +0 -0
  276. /package/src/{logger.ts → main/logger.ts} +0 -0
  277. /package/src/{selector.ts → main/selector.ts} +0 -0
  278. /package/src/{set-state.ts → main/set-state.ts} +0 -0
  279. /package/src/{subscribe.ts → main/subscribe.ts} +0 -0
  280. /package/src/{timeline.ts → main/timeline.ts} +0 -0
  281. /package/src/{validators.ts → main/validators.ts} +0 -0
  282. /package/{react/src → src/react}/index.ts +0 -0
  283. /package/{react/src → src/react}/parse-state-overloads.ts +0 -0
  284. /package/{react/src → src/react}/use-i.ts +0 -0
  285. /package/{react/src → src/react}/use-json.ts +0 -0
  286. /package/{react/src → src/react}/use-o.ts +0 -0
  287. /package/{react/src → src/react}/use-tl.ts +0 -0
  288. /package/{react-devtools/src → src/react-devtools}/StateEditor.tsx +0 -0
  289. /package/{react-devtools/src → src/react-devtools}/StateIndex.tsx +0 -0
  290. /package/{react-devtools/src → src/react-devtools}/TimelineIndex.tsx +0 -0
  291. /package/{react-devtools/src → src/react-devtools}/TransactionIndex.tsx +0 -0
  292. /package/{react-devtools/src → src/react-devtools}/elastic-input/ElasticInput.tsx +0 -0
  293. /package/{react-devtools/src → src/react-devtools}/elastic-input/NumberInput.tsx +0 -0
  294. /package/{react-devtools/src → src/react-devtools}/elastic-input/TextInput.tsx +0 -0
  295. /package/{react-devtools/src → src/react-devtools}/elastic-input/index.ts +0 -0
  296. /package/{react-devtools/src → src/react-devtools}/error-boundary/DefaultFallback.tsx +0 -0
  297. /package/{react-devtools/src → src/react-devtools}/error-boundary/ReactErrorBoundary.tsx +0 -0
  298. /package/{react-devtools/src → src/react-devtools}/error-boundary/index.ts +0 -0
  299. /package/{react-devtools/src → src/react-devtools}/index.ts +0 -0
  300. /package/{react-devtools/src → src/react-devtools}/json-editor/default-components.tsx +0 -0
  301. /package/{react-devtools/src → src/react-devtools}/json-editor/developer-interface.tsx +0 -0
  302. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/array-editor.tsx +0 -0
  303. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/non-json.tsx +0 -0
  304. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/object-editor.tsx +0 -0
  305. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/primitive-editors.tsx +0 -0
  306. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/array-elements.ts +0 -0
  307. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/cast-json.ts +0 -0
  308. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/cast-to-json.ts +0 -0
  309. /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/object-properties.ts +0 -0
  310. /package/{react-devtools/src → src/react-devtools}/json-editor/json-editor-internal.tsx +0 -0
  311. /package/{react-devtools/src → src/react-devtools}/json-editor/todo.md +0 -0
  312. /package/{realtime/src → src/realtime}/index.ts +0 -0
  313. /package/{realtime/src → src/realtime}/realtime-continuity.ts +0 -0
  314. /package/{realtime-client/src → src/realtime-client}/continuity/index.ts +0 -0
  315. /package/{realtime-client/src → src/realtime-client}/continuity/register-and-attempt-confirmed-update.ts +0 -0
  316. /package/{realtime-client/src → src/realtime-client}/continuity/use-conceal-state.ts +0 -0
  317. /package/{realtime-client/src → src/realtime-client}/continuity/use-reveal-state.ts +0 -0
  318. /package/{realtime-client/src → src/realtime-client}/index.ts +0 -0
  319. /package/{realtime-client/src → src/realtime-client}/pull-atom-family-member.ts +0 -0
  320. /package/{realtime-client/src → src/realtime-client}/pull-atom.ts +0 -0
  321. /package/{realtime-client/src → src/realtime-client}/pull-mutable-atom-family-member.ts +0 -0
  322. /package/{realtime-client/src → src/realtime-client}/pull-mutable-atom.ts +0 -0
  323. /package/{realtime-client/src → src/realtime-client}/pull-selector-family-member.ts +0 -0
  324. /package/{realtime-client/src → src/realtime-client}/pull-selector.ts +0 -0
  325. /package/{realtime-client/src → src/realtime-client}/push-state.ts +0 -0
  326. /package/{realtime-client/src → src/realtime-client}/realtime-client-stores/index.ts +0 -0
  327. /package/{realtime-client/src → src/realtime-client}/server-action.ts +0 -0
  328. /package/{realtime-client/src → src/realtime-client}/sync-continuity.ts +0 -0
  329. /package/{realtime-react/src → src/realtime-react}/use-pull-atom-family-member.ts +0 -0
  330. /package/{realtime-react/src → src/realtime-react}/use-pull-atom.ts +0 -0
  331. /package/{realtime-react/src → src/realtime-react}/use-pull-mutable-atom.ts +0 -0
  332. /package/{realtime-react/src → src/realtime-react}/use-pull-mutable-family-member.ts +0 -0
  333. /package/{realtime-react/src → src/realtime-react}/use-pull-selector-family-member.ts +0 -0
  334. /package/{realtime-react/src → src/realtime-react}/use-pull-selector.ts +0 -0
  335. /package/{realtime-react/src → src/realtime-react}/use-push.ts +0 -0
  336. /package/{realtime-react/src → src/realtime-react}/use-realtime-service.ts +0 -0
  337. /package/{realtime-react/src → src/realtime-react}/use-server-action.ts +0 -0
  338. /package/{realtime-react/src → src/realtime-react}/use-sync-continuity.ts +0 -0
  339. /package/{realtime-server/src → src/realtime-server}/README.md +0 -0
  340. /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-send-initial-payload.ts +0 -0
  341. /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-serve-transaction-request.ts +0 -0
  342. /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-sync-realtime-continuity.ts +0 -0
  343. /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-track-client-acknowledgement.ts +0 -0
  344. /package/{realtime-server/src → src/realtime-server}/continuity/subscribe-to-continuity-actions.ts +0 -0
  345. /package/{realtime-server/src → src/realtime-server}/continuity/subscribe-to-continuity-perpectives.ts +0 -0
  346. /package/{realtime-server/src → src/realtime-server}/index.ts +0 -0
  347. /package/{realtime-server/src → src/realtime-server}/ipc-sockets/child-socket.ts +0 -0
  348. /package/{realtime-server/src → src/realtime-server}/ipc-sockets/custom-socket.ts +0 -0
  349. /package/{realtime-server/src → src/realtime-server}/ipc-sockets/index.ts +0 -0
  350. /package/{realtime-server/src → src/realtime-server}/ipc-sockets/parent-socket.ts +0 -0
  351. /package/{realtime-server/src → src/realtime-server}/realtime-action-receiver.ts +0 -0
  352. /package/{realtime-server/src → src/realtime-server}/realtime-family-provider.ts +0 -0
  353. /package/{realtime-server/src → src/realtime-server}/realtime-mutable-family-provider.ts +0 -0
  354. /package/{realtime-server/src → src/realtime-server}/realtime-mutable-provider.ts +0 -0
  355. /package/{realtime-server/src → src/realtime-server}/realtime-server-stores/index.ts +0 -0
  356. /package/{realtime-server/src → src/realtime-server}/realtime-state-provider.ts +0 -0
  357. /package/{realtime-server/src → src/realtime-server}/realtime-state-receiver.ts +0 -0
  358. /package/{realtime-testing/src → src/realtime-testing}/index.ts +0 -0
  359. /package/{realtime-testing/src → src/realtime-testing}/setup-realtime-test.tsx +0 -0
  360. /package/{transceivers/set-rtx/src → src/transceivers/set-rtx}/index.ts +0 -0
  361. /package/{web/src → src/web}/index.ts +0 -0
  362. /package/{web/src → src/web}/persist-sync.ts +0 -0
@@ -1,526 +0,0 @@
1
- import { persistSync } from './chunk-4LWKCEW3.js';
2
- import { atom, selector, setIntoStore, isRootStore, getEpochNumberOfContinuity, ingestTransactionUpdate, setEpochNumberOfContinuity, disposeAtom, parseJson, getJsonToken, getUpdateToken, subscribeToState, subscribeToTransaction, getFromStore, assignTransactionToContinuity, actUponStore } from './chunk-7SJVR7FZ.js';
3
-
4
- // realtime-client/src/continuity/register-and-attempt-confirmed-update.ts
5
- var useRegisterAndAttemptConfirmedUpdate = (store, continuityKey, socket, optimisticUpdates, confirmedUpdates) => (confirmed) => {
6
- function reconcileEpoch(optimisticUpdate, confirmedUpdate) {
7
- store.logger.info(
8
- `\u{1F9D1}\u200D\u2696\uFE0F`,
9
- `continuity`,
10
- continuityKey,
11
- `reconciling updates`
12
- );
13
- setIntoStore(store, optimisticUpdateQueue, (queue) => {
14
- queue.shift();
15
- return queue;
16
- });
17
- if (optimisticUpdate.id === confirmedUpdate.id) {
18
- const clientResult = JSON.stringify(optimisticUpdate.updates);
19
- const serverResult = JSON.stringify(confirmedUpdate.updates);
20
- if (clientResult === serverResult) {
21
- store.logger.info(
22
- `\u2705`,
23
- `continuity`,
24
- continuityKey,
25
- `results for ${optimisticUpdate.id} match between client and server`
26
- );
27
- socket.emit(`ack:${continuityKey}`, confirmedUpdate.epoch);
28
- return;
29
- }
30
- } else {
31
- store.logger.info(
32
- `\u274C`,
33
- `continuity`,
34
- continuityKey,
35
- `thought update #${confirmedUpdate.epoch} was ${optimisticUpdate.key}:${optimisticUpdate.id}, but it was actually ${confirmedUpdate.key}:${confirmedUpdate.id}`
36
- );
37
- }
38
- store.logger.info(
39
- `\u{1F9D1}\u200D\u2696\uFE0F`,
40
- `continuity`,
41
- continuityKey,
42
- `updates do not match`,
43
- optimisticUpdate,
44
- confirmedUpdate
45
- );
46
- const reversedOptimisticUpdates = optimisticUpdates.toReversed();
47
- for (const subsequentOptimistic of reversedOptimisticUpdates) {
48
- ingestTransactionUpdate(`oldValue`, subsequentOptimistic, store);
49
- }
50
- store.logger.info(
51
- `\u23EA`,
52
- `continuity`,
53
- continuityKey,
54
- `undid optimistic updates:`,
55
- reversedOptimisticUpdates
56
- );
57
- ingestTransactionUpdate(`oldValue`, optimisticUpdate, store);
58
- store.logger.info(
59
- `\u23EA`,
60
- `continuity`,
61
- continuityKey,
62
- `undid zeroth optimistic update`,
63
- optimisticUpdate
64
- );
65
- ingestTransactionUpdate(`newValue`, confirmedUpdate, store);
66
- store.logger.info(
67
- `\u23E9`,
68
- `continuity`,
69
- continuityKey,
70
- `applied confirmed update`,
71
- confirmedUpdate
72
- );
73
- socket.emit(`ack:${continuityKey}`, confirmedUpdate.epoch);
74
- for (const subsequentOptimistic of optimisticUpdates) {
75
- const token = {
76
- type: `transaction`,
77
- key: subsequentOptimistic.key
78
- };
79
- const { id, params } = subsequentOptimistic;
80
- actUponStore(store, token, id)(...params);
81
- }
82
- store.logger.info(
83
- `\u23E9`,
84
- `continuity`,
85
- continuityKey,
86
- `reapplied subsequent optimistic updates:`,
87
- optimisticUpdates
88
- );
89
- }
90
- store.logger.info(
91
- `\u{1F9D1}\u200D\u2696\uFE0F`,
92
- `continuity`,
93
- continuityKey,
94
- `integrating confirmed update`,
95
- { confirmedUpdate: confirmed, confirmedUpdates, optimisticUpdates }
96
- );
97
- const zerothOptimisticUpdate = optimisticUpdates[0];
98
- if (zerothOptimisticUpdate) {
99
- store.logger.info(
100
- `\u{1F9D1}\u200D\u2696\uFE0F`,
101
- `continuity`,
102
- continuityKey,
103
- `has optimistic updates to reconcile`
104
- );
105
- if (confirmed.epoch === zerothOptimisticUpdate.epoch) {
106
- store.logger.info(
107
- `\u{1F9D1}\u200D\u2696\uFE0F`,
108
- `continuity`,
109
- continuityKey,
110
- `epoch of confirmed update #${confirmed.epoch} matches zeroth optimistic update`
111
- );
112
- reconcileEpoch(zerothOptimisticUpdate, confirmed);
113
- for (const nextConfirmed of confirmedUpdates) {
114
- const nextOptimistic = optimisticUpdates[0];
115
- if (nextConfirmed.epoch === nextOptimistic?.epoch) {
116
- reconcileEpoch(nextOptimistic, nextConfirmed);
117
- } else {
118
- break;
119
- }
120
- }
121
- } else {
122
- store.logger.info(
123
- `\u{1F9D1}\u200D\u2696\uFE0F`,
124
- `continuity`,
125
- continuityKey,
126
- `epoch of confirmed update #${confirmed.epoch} does not match zeroth optimistic update #${zerothOptimisticUpdate.epoch}`
127
- );
128
- const confirmedUpdateIsAlreadyEnqueued = confirmedUpdates.some(
129
- (update) => update.epoch === confirmed.epoch
130
- );
131
- if (!confirmedUpdateIsAlreadyEnqueued) {
132
- store.logger.info(
133
- `\u{1F448}`,
134
- `continuity`,
135
- continuityKey,
136
- `pushing confirmed update to queue`,
137
- confirmed
138
- );
139
- setIntoStore(store, confirmedUpdateQueue, (queue) => {
140
- queue.push(confirmed);
141
- queue.sort((a, b) => a.epoch - b.epoch);
142
- return queue;
143
- });
144
- }
145
- }
146
- } else {
147
- store.logger.info(
148
- `\u{1F9D1}\u200D\u2696\uFE0F`,
149
- `continuity`,
150
- continuityKey,
151
- `has no optimistic updates to deal with`
152
- );
153
- const isRoot = isRootStore(store);
154
- let continuityEpoch;
155
- if (isRoot) {
156
- continuityEpoch = getEpochNumberOfContinuity(store, continuityKey);
157
- }
158
- if (continuityEpoch === confirmed.epoch - 1) {
159
- store.logger.info(
160
- `\u2705`,
161
- `continuity`,
162
- continuityKey,
163
- `integrating update #${confirmed.epoch} (${confirmed.key} ${confirmed.id})`
164
- );
165
- ingestTransactionUpdate(`newValue`, confirmed, store);
166
- socket.emit(`ack:${continuityKey}`, confirmed.epoch);
167
- setEpochNumberOfContinuity(store, continuityKey, confirmed.epoch);
168
- } else if (isRoot && continuityEpoch !== void 0) {
169
- store.logger.info(
170
- `\u{1F9D1}\u200D\u2696\uFE0F`,
171
- `continuity`,
172
- continuityKey,
173
- `received update #${confirmed.epoch} but still waiting for update #${continuityEpoch + 1}`,
174
- {
175
- clientEpoch: continuityEpoch,
176
- serverEpoch: confirmed.epoch
177
- }
178
- );
179
- const confirmedUpdateIsAlreadyEnqueued = confirmedUpdates.some(
180
- (update) => update.epoch === confirmed.epoch
181
- );
182
- if (confirmedUpdateIsAlreadyEnqueued) {
183
- store.logger.info(
184
- `\u{1F44D}`,
185
- `continuity`,
186
- continuityKey,
187
- `confirmed update #${confirmed.epoch} is already enqueued`
188
- );
189
- } else {
190
- store.logger.info(
191
- `\u{1F448}`,
192
- `continuity`,
193
- continuityKey,
194
- `pushing confirmed update #${confirmed.epoch} to queue`
195
- );
196
- setIntoStore(store, confirmedUpdateQueue, (queue) => {
197
- queue.push(confirmed);
198
- queue.sort((a, b) => a.epoch - b.epoch);
199
- return queue;
200
- });
201
- }
202
- }
203
- }
204
- };
205
-
206
- // realtime-client/src/continuity/use-conceal-state.ts
207
- function useConcealState(store) {
208
- return (concealed) => {
209
- for (const token of concealed) {
210
- disposeAtom(store, token);
211
- }
212
- };
213
- }
214
-
215
- // realtime-client/src/continuity/use-reveal-state.ts
216
- function useRevealState(store) {
217
- return (revealed) => {
218
- let i = 0;
219
- let k;
220
- let v;
221
- for (const x of revealed) {
222
- if (i % 2 === 0) {
223
- k = x;
224
- } else {
225
- v = x;
226
- setIntoStore(store, k, v);
227
- }
228
- i++;
229
- }
230
- };
231
- }
232
-
233
- // realtime-client/src/pull-atom.ts
234
- function pullAtom(store, socket, token) {
235
- const setServedValue = (data) => {
236
- setIntoStore(store, token, data);
237
- };
238
- socket.on(`serve:${token.key}`, setServedValue);
239
- socket.emit(`sub:${token.key}`);
240
- return () => {
241
- socket.off(`serve:${token.key}`, setServedValue);
242
- socket.emit(`unsub:${token.key}`);
243
- };
244
- }
245
-
246
- // realtime-client/src/pull-atom-family-member.ts
247
- function pullAtomFamilyMember(store, socket, token) {
248
- if (!(`family` in token)) {
249
- console.error(`Token is not a family member:`, token);
250
- return () => {
251
- };
252
- }
253
- const { key: familyKey, subKey: serializedSubKey } = token.family;
254
- const subKey = parseJson(serializedSubKey);
255
- socket?.on(`serve:${token.key}`, (data) => {
256
- setIntoStore(store, token, data);
257
- });
258
- socket?.emit(`sub:${familyKey}`, subKey);
259
- return () => {
260
- socket?.off(`serve:${token.key}`);
261
- socket?.emit(`unsub:${token.key}`);
262
- };
263
- }
264
-
265
- // realtime-client/src/pull-mutable-atom.ts
266
- function pullMutableAtom(store, socket, token) {
267
- const jsonToken = getJsonToken(store, token);
268
- const updateToken = getUpdateToken(token);
269
- socket.on(`init:${token.key}`, (data) => {
270
- setIntoStore(store, jsonToken, data);
271
- });
272
- socket.on(
273
- `next:${token.key}`,
274
- (data) => {
275
- setIntoStore(store, updateToken, data);
276
- }
277
- );
278
- socket.emit(`sub:${token.key}`);
279
- return () => {
280
- socket.off(`init:${token.key}`);
281
- socket.off(`next:${token.key}`);
282
- socket.emit(`unsub:${token.key}`);
283
- };
284
- }
285
-
286
- // realtime-client/src/pull-mutable-atom-family-member.ts
287
- function pullMutableAtomFamilyMember(store, socket, token) {
288
- if (!(`family` in token)) {
289
- console.error(`Token is not a family member:`, token);
290
- return () => {
291
- };
292
- }
293
- const { key: familyKey, subKey: serializedSubKey } = token.family;
294
- const subKey = parseJson(serializedSubKey);
295
- socket.on(`init:${token.key}`, (data) => {
296
- const jsonToken = getJsonToken(store, token);
297
- setIntoStore(store, jsonToken, data);
298
- });
299
- socket.on(
300
- `next:${token.key}`,
301
- (data) => {
302
- const trackerToken = getUpdateToken(token);
303
- setIntoStore(store, trackerToken, data);
304
- }
305
- );
306
- socket.emit(`sub:${familyKey}`, subKey);
307
- return () => {
308
- socket.off(`serve:${token.key}`);
309
- socket.emit(`unsub:${token.key}`);
310
- };
311
- }
312
-
313
- // realtime-client/src/pull-selector.ts
314
- function pullSelector(store, socket, token) {
315
- const atomKeys = store.selectorAtoms.getRelatedKeys(token.key);
316
- const unsubscribes = [];
317
- if (atomKeys) {
318
- for (const atomKey of atomKeys) {
319
- const atom2 = store.atoms.get(atomKey);
320
- if (!atom2) {
321
- continue;
322
- }
323
- switch (atom2.type) {
324
- case `atom`: {
325
- unsubscribes.push(pullAtom(store, socket, atom2));
326
- break;
327
- }
328
- case `mutable_atom`: {
329
- unsubscribes.push(pullMutableAtom(store, socket, atom2));
330
- break;
331
- }
332
- }
333
- }
334
- }
335
- return () => {
336
- for (const unsubscribe of unsubscribes) {
337
- unsubscribe();
338
- }
339
- };
340
- }
341
-
342
- // realtime-client/src/pull-selector-family-member.ts
343
- function pullSelectorFamilyMember(store, socket, token) {
344
- if (!(`family` in token)) {
345
- console.error(`Token is not a family member:`, token);
346
- return () => {
347
- };
348
- }
349
- const atomKeys = store.selectorAtoms.getRelatedKeys(token.key);
350
- const unsubscribes = [];
351
- if (atomKeys) {
352
- for (const atomKey of atomKeys) {
353
- const atom2 = store.atoms.get(atomKey);
354
- if (!atom2) {
355
- continue;
356
- }
357
- switch (atom2.type) {
358
- case `atom`: {
359
- unsubscribes.push(pullAtomFamilyMember(store, socket, atom2));
360
- break;
361
- }
362
- case `mutable_atom`: {
363
- unsubscribes.push(pullMutableAtomFamilyMember(store, socket, atom2));
364
- break;
365
- }
366
- }
367
- }
368
- }
369
- return () => {
370
- for (const unsubscribe of unsubscribes) {
371
- unsubscribe();
372
- }
373
- };
374
- }
375
-
376
- // realtime-client/src/push-state.ts
377
- function pushState(store, socket, token) {
378
- socket.emit(`claim:${token.key}`);
379
- subscribeToState(store, token, `push`, ({ newValue }) => {
380
- socket.emit(`pub:${token.key}`, newValue);
381
- });
382
- return () => {
383
- socket.off(`pub:${token.key}`);
384
- socket.emit(`unclaim:${token.key}`);
385
- };
386
- }
387
-
388
- // realtime-client/src/realtime-client-stores/client-main-store.ts
389
- var myIdState__INTERNAL = atom({
390
- key: `mySocketId__INTERNAL`,
391
- default: void 0
392
- });
393
- var myIdState = selector({
394
- key: `mySocketId`,
395
- get: ({ get }) => get(myIdState__INTERNAL)
396
- });
397
- var myUsernameState = atom({
398
- key: `myName`,
399
- default: null,
400
- effects: typeof window === `undefined` ? [] : [persistSync(window.localStorage, JSON, `myUsername`)]
401
- });
402
-
403
- // realtime-client/src/realtime-client-stores/client-sync-store.ts
404
- var optimisticUpdateQueue = atom({
405
- key: `updateQueue`,
406
- default: []
407
- });
408
- var confirmedUpdateQueue = atom(
409
- {
410
- key: `serverConfirmedUpdateQueue`,
411
- default: []
412
- }
413
- );
414
-
415
- // realtime-client/src/server-action.ts
416
- function serverAction(store, socket, token) {
417
- const unsubscribeFromLocalUpdates = subscribeToTransaction(
418
- store,
419
- token,
420
- `tx-run:${token.key}:${socket.id}`,
421
- (clientUpdate) => {
422
- socket.emit(`tx-run:${token.key}`, clientUpdate);
423
- }
424
- );
425
- return () => {
426
- unsubscribeFromLocalUpdates();
427
- };
428
- }
429
-
430
- // realtime-client/src/sync-continuity.ts
431
- function syncContinuity(store, socket, continuity) {
432
- const continuityKey = continuity.key;
433
- const optimisticUpdates = getFromStore(store, optimisticUpdateQueue);
434
- const confirmedUpdates = getFromStore(store, confirmedUpdateQueue);
435
- const initializeContinuity = (epoch, payload) => {
436
- socket.off(`continuity-init:${continuityKey}`, initializeContinuity);
437
- let i = 0;
438
- let k;
439
- let v;
440
- for (const x of payload) {
441
- if (i % 2 === 0) {
442
- k = x;
443
- } else {
444
- v = x;
445
- if (`type` in k && k.type === `mutable_atom`) {
446
- k = getJsonToken(store, k);
447
- }
448
- setIntoStore(store, k, v);
449
- }
450
- i++;
451
- }
452
- setEpochNumberOfContinuity(store, continuityKey, epoch);
453
- };
454
- socket.off(`continuity-init:${continuityKey}`);
455
- socket.on(`continuity-init:${continuityKey}`, initializeContinuity);
456
- const registerAndAttemptConfirmedUpdate = useRegisterAndAttemptConfirmedUpdate(
457
- store,
458
- continuityKey,
459
- socket,
460
- optimisticUpdates,
461
- confirmedUpdates
462
- );
463
- socket.off(`tx-new:${continuityKey}`);
464
- socket.on(`tx-new:${continuityKey}`, registerAndAttemptConfirmedUpdate);
465
- const unsubscribeFunctions = continuity.actions.map((transaction) => {
466
- assignTransactionToContinuity(store, continuityKey, transaction.key);
467
- const unsubscribeFromTransactionUpdates = subscribeToTransaction(
468
- store,
469
- transaction,
470
- `tx-run:${continuityKey}`,
471
- (clientUpdate) => {
472
- store.logger.info(
473
- `\u{1F91E}`,
474
- `continuity`,
475
- continuityKey,
476
- `enqueuing optimistic update`
477
- );
478
- const optimisticUpdateIndex = optimisticUpdates.findIndex(
479
- (update) => update.id === clientUpdate.id
480
- );
481
- if (optimisticUpdateIndex === -1) {
482
- store.logger.info(
483
- `\u{1F91E}`,
484
- `continuity`,
485
- continuityKey,
486
- `enqueuing new optimistic update`
487
- );
488
- setIntoStore(store, optimisticUpdateQueue, (queue) => {
489
- queue.push(clientUpdate);
490
- queue.sort((a, b) => a.epoch - b.epoch);
491
- return queue;
492
- });
493
- } else {
494
- store.logger.info(
495
- `\u{1F91E}`,
496
- `continuity`,
497
- continuityKey,
498
- `replacing existing optimistic update at index ${optimisticUpdateIndex}`
499
- );
500
- setIntoStore(store, optimisticUpdateQueue, (queue) => {
501
- queue[optimisticUpdateIndex] = clientUpdate;
502
- return queue;
503
- });
504
- }
505
- socket.emit(`tx-run:${continuityKey}`, {
506
- id: clientUpdate.id,
507
- key: transaction.key,
508
- params: clientUpdate.params
509
- });
510
- }
511
- );
512
- return unsubscribeFromTransactionUpdates;
513
- });
514
- const revealState = useRevealState(store);
515
- const concealState = useConcealState(store);
516
- socket.on(`reveal:${continuityKey}`, revealState);
517
- socket.on(`conceal:${continuityKey}`, concealState);
518
- socket.emit(`get:${continuityKey}`);
519
- return () => {
520
- socket.off(`continuity-init:${continuityKey}`);
521
- socket.off(`tx-new:${continuityKey}`);
522
- for (const unsubscribe of unsubscribeFunctions) unsubscribe();
523
- };
524
- }
525
-
526
- export { confirmedUpdateQueue, myIdState, myIdState__INTERNAL, myUsernameState, optimisticUpdateQueue, pullAtom, pullAtomFamilyMember, pullMutableAtom, pullMutableAtomFamilyMember, pullSelector, pullSelectorFamilyMember, pushState, serverAction, syncContinuity, useConcealState, useRegisterAndAttemptConfirmedUpdate, useRevealState };