atom.io 0.32.4 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +65 -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 +59 -46
  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,634 +0,0 @@
1
- import { IMPLICIT, getState, createReadonlySelectorFamily, createRegularAtomFamily, Subject, createSelectorFamily, createRegularAtom, createStandaloneSelector, isReservedIntrospectionKey, deposit } from './chunk-7SJVR7FZ.js';
2
-
3
- // introspection/src/attach-atom-index.ts
4
- var attachAtomIndex = (store) => {
5
- const atomTokenIndexState__INTERNAL = createRegularAtom(
6
- store,
7
- {
8
- key: `\u{1F50D} Atom Token Index (Internal)`,
9
- default: () => {
10
- const base = /* @__PURE__ */ new Map();
11
- for (const [key, val] of store.atoms) {
12
- if (isReservedIntrospectionKey(key)) {
13
- continue;
14
- }
15
- const token = deposit(val);
16
- if (val.family) {
17
- let familyNode = base.get(val.family.key);
18
- if (!familyNode || !(`familyMembers` in familyNode)) {
19
- familyNode = {
20
- key: val.family.key,
21
- familyMembers: /* @__PURE__ */ new Map()
22
- };
23
- base.set(val.family.key, familyNode);
24
- }
25
- familyNode.familyMembers.set(val.family.subKey, token);
26
- } else {
27
- base.set(key, token);
28
- }
29
- }
30
- return base;
31
- },
32
- effects: [
33
- ({ setSelf }) => {
34
- store.on.atomCreation.subscribe(`introspection`, (atomToken) => {
35
- if (isReservedIntrospectionKey(atomToken.key)) {
36
- return;
37
- }
38
- setSelf((self) => {
39
- if (atomToken.family) {
40
- const { key: familyKey, subKey } = atomToken.family;
41
- let familyNode = self.get(familyKey);
42
- if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
43
- familyNode = {
44
- key: familyKey,
45
- familyMembers: /* @__PURE__ */ new Map()
46
- };
47
- self.set(familyKey, familyNode);
48
- }
49
- familyNode.familyMembers.set(subKey, atomToken);
50
- } else {
51
- self.set(atomToken.key, atomToken);
52
- }
53
- return self;
54
- });
55
- });
56
- store.on.atomDisposal.subscribe(`introspection`, (atomToken) => {
57
- setSelf((self) => {
58
- if (atomToken.family) {
59
- const { key: familyKey, subKey } = atomToken.family;
60
- const familyNode = self.get(familyKey);
61
- if (familyNode && `familyMembers` in familyNode) {
62
- familyNode.familyMembers.delete(subKey);
63
- if (familyNode.familyMembers.size === 0) {
64
- self.delete(familyKey);
65
- }
66
- }
67
- } else {
68
- self.delete(atomToken.key);
69
- }
70
- return self;
71
- });
72
- });
73
- }
74
- ]
75
- },
76
- void 0
77
- );
78
- return createStandaloneSelector(store, {
79
- key: `\u{1F50D} Atom Token Index`,
80
- get: ({ get }) => get(atomTokenIndexState__INTERNAL)
81
- });
82
- };
83
-
84
- // introspection/src/attach-selector-index.ts
85
- var attachSelectorIndex = (store) => {
86
- const readonlySelectorTokenIndexState__INTERNAL = createRegularAtom(
87
- store,
88
- {
89
- key: `\u{1F50D} Selector Token Index (Internal)`,
90
- default: () => {
91
- const base = /* @__PURE__ */ new Map();
92
- for (const map of [store.readonlySelectors, store.selectors]) {
93
- for (const [key, val] of map) {
94
- if (isReservedIntrospectionKey(key)) {
95
- continue;
96
- }
97
- const token = deposit(val);
98
- if (val.family) {
99
- let familyNode = base.get(val.family.key);
100
- if (!familyNode || !(`familyMembers` in familyNode)) {
101
- familyNode = {
102
- key: val.family.key,
103
- familyMembers: /* @__PURE__ */ new Map()
104
- };
105
- base.set(val.family.key, familyNode);
106
- }
107
- familyNode.familyMembers.set(val.family.subKey, token);
108
- } else {
109
- base.set(key, token);
110
- }
111
- }
112
- }
113
- return base;
114
- },
115
- effects: [
116
- ({ setSelf }) => {
117
- store.on.selectorCreation.subscribe(
118
- `introspection`,
119
- (selectorToken) => {
120
- if (isReservedIntrospectionKey(selectorToken.key)) {
121
- return;
122
- }
123
- setSelf((self) => {
124
- if (selectorToken.family) {
125
- const { key: familyKey, subKey } = selectorToken.family;
126
- let familyNode = self.get(familyKey);
127
- if (familyNode === void 0 || !(`familyMembers` in familyNode)) {
128
- familyNode = {
129
- key: familyKey,
130
- familyMembers: /* @__PURE__ */ new Map()
131
- };
132
- self.set(familyKey, familyNode);
133
- }
134
- familyNode.familyMembers.set(subKey, selectorToken);
135
- } else {
136
- self.set(selectorToken.key, selectorToken);
137
- }
138
- return self;
139
- });
140
- }
141
- );
142
- store.on.selectorDisposal.subscribe(
143
- `introspection`,
144
- (selectorToken) => {
145
- setSelf((self) => {
146
- if (selectorToken.family) {
147
- const { key: familyKey, subKey } = selectorToken.family;
148
- const familyNode = self.get(familyKey);
149
- if (familyNode && `familyMembers` in familyNode) {
150
- familyNode.familyMembers.delete(subKey);
151
- if (familyNode.familyMembers.size === 0) {
152
- self.delete(familyKey);
153
- }
154
- }
155
- } else {
156
- self.delete(selectorToken.key);
157
- }
158
- return self;
159
- });
160
- }
161
- );
162
- }
163
- ]
164
- },
165
- void 0
166
- );
167
- return createStandaloneSelector(store, {
168
- key: `\u{1F50D} Selector Token Index`,
169
- get: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL)
170
- });
171
- };
172
-
173
- // introspection/src/attach-timeline-family.ts
174
- var attachTimelineFamily = (store) => {
175
- const findTimelineLogState__INTERNAL = createRegularAtomFamily(store, {
176
- key: `\u{1F50D} Timeline Update Log (Internal)`,
177
- default: (key) => store.timelines.get(key) ?? {
178
- type: `timeline`,
179
- key: ``,
180
- at: 0,
181
- timeTraveling: null,
182
- history: [],
183
- selectorTime: null,
184
- transactionKey: null,
185
- install: () => {
186
- },
187
- subject: new Subject(),
188
- subscriptions: /* @__PURE__ */ new Map()
189
- },
190
- effects: (key) => [
191
- ({ setSelf }) => {
192
- const tl = store.timelines.get(key);
193
- tl?.subject.subscribe(`introspection`, (_) => {
194
- setSelf({ ...tl });
195
- });
196
- }
197
- ]
198
- });
199
- const findTimelineLogState = createSelectorFamily(
200
- store,
201
- {
202
- key: `\u{1F50D} Timeline Update Log`,
203
- get: (key) => ({ get }) => get(findTimelineLogState__INTERNAL, key)
204
- }
205
- );
206
- return findTimelineLogState;
207
- };
208
-
209
- // introspection/src/attach-timeline-index.ts
210
- var attachTimelineIndex = (store) => {
211
- const timelineTokenIndexState__INTERNAL = createRegularAtom(
212
- store,
213
- {
214
- key: `\u{1F50D} Timeline Token Index (Internal)`,
215
- default: () => [...store.timelines].map(([key]) => {
216
- return { key, type: `timeline` };
217
- }),
218
- effects: [
219
- ({ setSelf }) => {
220
- store.on.timelineCreation.subscribe(
221
- `introspection`,
222
- (timelineToken) => {
223
- setSelf((state) => [...state, timelineToken]);
224
- }
225
- );
226
- }
227
- ]
228
- },
229
- void 0
230
- );
231
- const timelineTokenIndex = createStandaloneSelector(store, {
232
- key: `\u{1F50D} Timeline Token Index`,
233
- get: ({ get }) => get(timelineTokenIndexState__INTERNAL)
234
- });
235
- return timelineTokenIndex;
236
- };
237
-
238
- // introspection/src/attach-transaction-index.ts
239
- var attachTransactionIndex = (store) => {
240
- const transactionTokenIndexState__INTERNAL = createRegularAtom(
241
- store,
242
- {
243
- key: `\u{1F50D} Transaction Token Index (Internal)`,
244
- default: () => [...store.transactions].map(([key]) => {
245
- return { key, type: `transaction` };
246
- }),
247
- effects: [
248
- ({ setSelf }) => {
249
- store.on.transactionCreation.subscribe(
250
- `introspection`,
251
- (transactionToken) => {
252
- setSelf((state) => [...state, transactionToken]);
253
- }
254
- );
255
- }
256
- ]
257
- },
258
- void 0
259
- );
260
- const transactionTokenIndex = createStandaloneSelector(store, {
261
- key: `\u{1F50D} Transaction Token Index`,
262
- get: ({ get }) => get(transactionTokenIndexState__INTERNAL)
263
- });
264
- return transactionTokenIndex;
265
- };
266
-
267
- // introspection/src/attach-transaction-logs.ts
268
- var attachTransactionLogs = (store) => {
269
- const transactionUpdateLogAtoms = createRegularAtomFamily(store, {
270
- key: `\u{1F50D} Transaction Update Log (Internal)`,
271
- default: () => [],
272
- effects: (key) => [
273
- ({ setSelf }) => {
274
- const tx = store.transactions.get(key);
275
- tx?.subject.subscribe(`introspection`, (transactionUpdate) => {
276
- if (transactionUpdate.key === key) {
277
- setSelf((state) => [...state, transactionUpdate]);
278
- }
279
- });
280
- }
281
- ]
282
- });
283
- const findTransactionUpdateLogState = createSelectorFamily(store, {
284
- key: `\u{1F50D} Transaction Update Log`,
285
- get: (key) => ({ get }) => get(transactionUpdateLogAtoms, key)
286
- });
287
- return findTransactionUpdateLogState;
288
- };
289
-
290
- // introspection/src/refinery.ts
291
- var Refinery = class {
292
- supported;
293
- constructor(supported) {
294
- this.supported = supported;
295
- }
296
- refine(input) {
297
- for (const [key, refiner] of Object.entries(this.supported)) {
298
- try {
299
- if (
300
- // @ts-expect-error that's the point
301
- refiner(input) === true && refiner !== Boolean
302
- ) {
303
- return { type: key, data: input };
304
- }
305
- } catch (_) {
306
- try {
307
- if (input instanceof refiner) {
308
- return { type: key, data: input };
309
- }
310
- } catch (__) {
311
- }
312
- }
313
- }
314
- return null;
315
- }
316
- };
317
- var primitiveRefinery = new Refinery({
318
- number: (input) => typeof input === `number`,
319
- string: (input) => typeof input === `string`,
320
- boolean: (input) => typeof input === `boolean`,
321
- null: (input) => input === null
322
- });
323
- function isPlainObject(input) {
324
- if (!input) {
325
- return false;
326
- }
327
- const prototype = Object.getPrototypeOf(input);
328
- return prototype === Object.prototype;
329
- }
330
- var jsonTreeRefinery = new Refinery({
331
- object: isPlainObject,
332
- array: (input) => Array.isArray(input)
333
- });
334
- var jsonRefinery = new Refinery({
335
- ...primitiveRefinery.supported,
336
- ...jsonTreeRefinery.supported
337
- });
338
- var discoverType = (input) => {
339
- if (input === void 0) {
340
- return `undefined`;
341
- }
342
- const refined = jsonRefinery.refine(input);
343
- if (refined) {
344
- return refined.type;
345
- }
346
- return Object.getPrototypeOf(input).constructor.name;
347
- };
348
-
349
- // introspection/src/attach-type-selectors.ts
350
- var attachTypeSelectors = (store) => {
351
- const typeSelectors = createReadonlySelectorFamily(store, {
352
- key: `\u{1F50D} State Type`,
353
- get: (key) => ({ get }) => {
354
- let state;
355
- try {
356
- const token = store.atoms.get(key) ?? store.selectors.get(key) ?? store.readonlySelectors.get(key);
357
- if (token === void 0) {
358
- throw new Error(`Could not find state with key "${key}"`);
359
- }
360
- state = get(token);
361
- } catch (thrown) {
362
- return `error`;
363
- }
364
- const typeOfState = discoverType(state);
365
- return typeOfState;
366
- }
367
- });
368
- return typeSelectors;
369
- };
370
-
371
- // introspection/src/attach-introspection-states.ts
372
- var attachIntrospectionStates = (store) => {
373
- return {
374
- atomIndex: attachAtomIndex(store),
375
- selectorIndex: attachSelectorIndex(store),
376
- transactionIndex: attachTransactionIndex(store),
377
- transactionLogSelectors: attachTransactionLogs(store),
378
- timelineIndex: attachTimelineIndex(store),
379
- timelineSelectors: attachTimelineFamily(store),
380
- typeSelectors: attachTypeSelectors(store)
381
- };
382
- };
383
-
384
- // introspection/src/auditor.ts
385
- var Auditor = class _Auditor {
386
- store;
387
- auditorCreatedAt = performance.now();
388
- statesCreatedAt = /* @__PURE__ */ new Map();
389
- atomIndex;
390
- selectorIndex;
391
- disposed = false;
392
- unsubscribeFromAtomCreation;
393
- unsubscribeFromAtomDisposal;
394
- unsubscribeFromSelectorCreation;
395
- unsubscribeFromSelectorDisposal;
396
- /**
397
- * @param {Store} store - The store to audit.
398
- */
399
- constructor(store = IMPLICIT.STORE) {
400
- this.store = store;
401
- this.atomIndex = attachAtomIndex(this.store);
402
- this.selectorIndex = attachSelectorIndex(this.store);
403
- this.unsubscribeFromAtomCreation = this.store.on.atomCreation.subscribe(
404
- `auditor-${this.auditorCreatedAt}`,
405
- ({ key }) => {
406
- this.statesCreatedAt.set(key, performance.now() - this.auditorCreatedAt);
407
- }
408
- );
409
- this.unsubscribeFromAtomDisposal = this.store.on.atomDisposal.subscribe(
410
- `auditor-${this.auditorCreatedAt}`,
411
- ({ key }) => {
412
- this.statesCreatedAt.delete(key);
413
- }
414
- );
415
- this.unsubscribeFromSelectorCreation = this.store.on.selectorCreation.subscribe(
416
- `auditor-${this.auditorCreatedAt}`,
417
- ({ key }) => {
418
- this.statesCreatedAt.set(
419
- key,
420
- performance.now() - this.auditorCreatedAt
421
- );
422
- }
423
- );
424
- this.unsubscribeFromSelectorDisposal = this.store.on.selectorDisposal.subscribe(
425
- `auditor-${this.auditorCreatedAt}`,
426
- ({ key }) => {
427
- this.statesCreatedAt.delete(key);
428
- }
429
- );
430
- }
431
- static DEFAULT_LIST_RESOURCES_PARAM = {
432
- atomFamilies: true,
433
- selectorFamilies: true
434
- };
435
- /**
436
- * Lists all resources in the store, along with their creation time.
437
- *
438
- * @param {ListResourcesParam} [param] - Optional parameters for filtering the list of resources.
439
- * @returns {readonly [ReadableToken<unknown>, number]}[] - An array of tuples, where each tuple contains a state token belonging to a family in the store and that state's creation time.
440
- */
441
- listResources(param = _Auditor.DEFAULT_LIST_RESOURCES_PARAM) {
442
- if (this.disposed) {
443
- throw new Error(`This Auditor has been disposed`);
444
- }
445
- const atoms = getState(this.atomIndex);
446
- const selectors = getState(this.selectorIndex);
447
- const atomFamilyNodes = [...atoms.values()].filter(
448
- (node) => `familyMembers` in node
449
- );
450
- const selectorFamilyNodes = [...selectors.values()].filter(
451
- (node) => `familyMembers` in node
452
- );
453
- const currentTime = performance.now();
454
- const resources = [];
455
- if (param.atomFamilies) {
456
- for (const familyNode of atomFamilyNodes) {
457
- const tokens = familyNode.familyMembers.values();
458
- for (const token of tokens) {
459
- const storedTime = this.statesCreatedAt.get(token.key);
460
- const creationTime = storedTime ?? this.auditorCreatedAt;
461
- const age = currentTime - creationTime;
462
- resources.push([token, age]);
463
- }
464
- }
465
- }
466
- if (param.selectorFamilies) {
467
- for (const familyNode of selectorFamilyNodes) {
468
- const tokens = familyNode.familyMembers.values();
469
- for (const token of tokens) {
470
- const storedTime = this.statesCreatedAt.get(token.key);
471
- const creationTime = storedTime ?? this.auditorCreatedAt;
472
- const age = currentTime - creationTime;
473
- resources.push([token, age]);
474
- }
475
- }
476
- }
477
- return resources;
478
- }
479
- [Symbol.dispose]() {
480
- this.unsubscribeFromAtomCreation();
481
- this.unsubscribeFromAtomDisposal();
482
- this.unsubscribeFromSelectorCreation();
483
- this.unsubscribeFromSelectorDisposal();
484
- this.disposed = true;
485
- }
486
- };
487
-
488
- // introspection/src/sprawl.ts
489
- var sprawl = (tree, inspector) => {
490
- const walk = (path, node) => {
491
- const inspect = (p, n) => {
492
- const result2 = inspector(p, n);
493
- if (result2) return result2;
494
- return null;
495
- };
496
- const result = inspect(path, node);
497
- if (result?.jobComplete ?? result?.pathComplete) {
498
- return result;
499
- }
500
- const childEntries = Array.isArray(node) ? node.map((v, i) => [i, v]) : isPlainObject(node) ? Object.entries(node) : [];
501
- for (const [k, v] of childEntries) {
502
- const subResult = walk([...path, k], v);
503
- if (subResult?.jobComplete) {
504
- return subResult;
505
- }
506
- }
507
- return {};
508
- };
509
- walk([], tree);
510
- };
511
-
512
- // introspection/src/differ.ts
513
- function diffNumber(a, b) {
514
- const sign = a < b ? `+` : `-`;
515
- return {
516
- summary: `${sign}${Math.abs(a - b)} (${a} \u2192 ${b})`
517
- };
518
- }
519
- function diffString(a, b) {
520
- const sign = a.length < b.length ? `+` : `-`;
521
- return {
522
- summary: `${sign}${Math.abs(a.length - b.length)} ("${a}" \u2192 "${b}")`
523
- };
524
- }
525
- function diffBoolean(a, b) {
526
- return {
527
- summary: `${a} \u2192 ${b}`
528
- };
529
- }
530
- function diffObject(a, b, recurse) {
531
- let summary = ``;
532
- const added = [];
533
- const removed = [];
534
- const changed = [];
535
- sprawl(a, (path, nodeA) => {
536
- let key;
537
- for (key of path) {
538
- const nodeB = b[key];
539
- if (nodeB === void 0) {
540
- removed.push([key, JSON.stringify(nodeA)]);
541
- } else {
542
- const delta = recurse(nodeA, nodeB);
543
- if (delta.summary !== `No Change`) {
544
- changed.push([key, delta]);
545
- }
546
- }
547
- }
548
- });
549
- sprawl(b, (path, nodeB) => {
550
- let key;
551
- for (key of path) {
552
- const nodeA = a[key];
553
- if (nodeA === void 0) {
554
- added.push([key, JSON.stringify(nodeB)]);
555
- }
556
- }
557
- });
558
- summary = `\uFF5E${changed.length} \uFF0B${added.length} \uFF0D${removed.length}`;
559
- return {
560
- summary,
561
- added,
562
- removed,
563
- changed
564
- };
565
- }
566
- function diffArray(a, b, recurse) {
567
- return diffObject(a, b, recurse);
568
- }
569
- var Differ = class {
570
- leafRefinery;
571
- treeRefinery;
572
- leafDiffers;
573
- treeDiffers;
574
- constructor(leafRefinery, treeRefinery, diffFunctions) {
575
- this.leafRefinery = leafRefinery;
576
- this.treeRefinery = treeRefinery;
577
- this.leafDiffers = {};
578
- this.treeDiffers = {};
579
- for (const key of Object.keys(leafRefinery.supported)) {
580
- const diffFunction = diffFunctions[key];
581
- this.leafDiffers[key] = diffFunction;
582
- }
583
- for (const key of Object.keys(treeRefinery.supported)) {
584
- const diffFunction = diffFunctions[key];
585
- this.treeDiffers[key] = diffFunction;
586
- }
587
- }
588
- diff(a, b) {
589
- if (a === b) {
590
- return { summary: `No Change` };
591
- }
592
- const aRefined = this.leafRefinery.refine(a) ?? this.treeRefinery.refine(a);
593
- const bRefined = this.leafRefinery.refine(b) ?? this.treeRefinery.refine(b);
594
- if (aRefined !== null && bRefined !== null) {
595
- if (aRefined.type === bRefined.type) {
596
- if (aRefined.type in this.leafDiffers) {
597
- const delta = this.leafDiffers[aRefined.type](
598
- aRefined.data,
599
- bRefined.data
600
- );
601
- return delta;
602
- }
603
- if (aRefined.type in this.treeDiffers) {
604
- const delta = this.treeDiffers[aRefined.type](
605
- aRefined.data,
606
- bRefined.data,
607
- (x, y) => this.diff(x, y)
608
- );
609
- return delta;
610
- }
611
- }
612
- }
613
- const typeA = discoverType(a);
614
- const typeB = discoverType(b);
615
- if (typeA === typeB) {
616
- return {
617
- summary: `${typeA} \u2192 ${typeB}`
618
- };
619
- }
620
- return {
621
- summary: `Type change: ${typeA} \u2192 ${typeB}`
622
- };
623
- }
624
- };
625
- var prettyJson = new Differ(primitiveRefinery, jsonTreeRefinery, {
626
- number: diffNumber,
627
- string: diffString,
628
- boolean: diffBoolean,
629
- null: () => ({ summary: `No Change` }),
630
- object: diffObject,
631
- array: diffArray
632
- });
633
-
634
- export { Auditor, Differ, Refinery, attachIntrospectionStates, diffArray, diffBoolean, diffNumber, diffObject, diffString, discoverType, isPlainObject, jsonRefinery, jsonTreeRefinery, prettyJson, primitiveRefinery, sprawl };
@@ -1,81 +0,0 @@
1
- import { IMPLICIT, setIntoStore, subscribeToState, getFromStore, findInStore, getJsonToken, withdraw, subscribeToTimeline, redo, undo } from './chunk-7SJVR7FZ.js';
2
- import * as React5 from 'react';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- var StoreContext = React5.createContext(IMPLICIT.STORE);
6
- var StoreProvider = ({ children, store = IMPLICIT.STORE }) => /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children });
7
-
8
- // react/src/parse-state-overloads.ts
9
- function parseStateOverloads(store, ...rest) {
10
- let token;
11
- if (rest.length === 2) {
12
- const family = rest[0];
13
- const key = rest[1];
14
- token = findInStore(store, family, key);
15
- } else {
16
- token = rest[0];
17
- }
18
- return token;
19
- }
20
-
21
- // react/src/use-i.ts
22
- function useI(...params) {
23
- const store = React5.useContext(StoreContext);
24
- const token = parseStateOverloads(store, ...params);
25
- const setter = React5.useRef(null);
26
- setter.current ??= (next) => {
27
- setIntoStore(store, token, next);
28
- };
29
- return setter.current;
30
- }
31
- function useO(...params) {
32
- const store = React5.useContext(StoreContext);
33
- const token = parseStateOverloads(store, ...params);
34
- const id = React5.useId();
35
- return React5.useSyncExternalStore(
36
- (dispatch) => subscribeToState(store, token, `use-o:${id}`, dispatch),
37
- () => getFromStore(store, token),
38
- () => getFromStore(store, token)
39
- );
40
- }
41
-
42
- // react/src/use-json.ts
43
- function useJSON(token, key) {
44
- const store = React5.useContext(StoreContext);
45
- const stateToken = token.type === `mutable_atom_family` ? findInStore(store, token, key) : token;
46
- const jsonToken = getJsonToken(store, stateToken);
47
- return useO(jsonToken);
48
- }
49
- function useTL(token) {
50
- const store = React5.useContext(StoreContext);
51
- const id = React5.useId();
52
- const timeline = withdraw(store, token);
53
- const tokenRef = React5.useRef(token);
54
- const rebuildMeta = () => {
55
- return {
56
- at: timeline.at,
57
- length: timeline.history.length,
58
- undo: () => {
59
- undo(token);
60
- },
61
- redo: () => {
62
- redo(token);
63
- }
64
- };
65
- };
66
- const meta = React5.useRef(rebuildMeta());
67
- const retrieve = () => {
68
- if (meta.current.at !== timeline?.at || meta.current.length !== timeline?.history.length || tokenRef.current !== token) {
69
- tokenRef.current = token;
70
- meta.current = rebuildMeta();
71
- }
72
- return meta.current;
73
- };
74
- return React5.useSyncExternalStore(
75
- (dispatch) => subscribeToTimeline(store, token, `use-tl:${id}`, dispatch),
76
- retrieve,
77
- retrieve
78
- );
79
- }
80
-
81
- export { StoreContext, StoreProvider, useI, useJSON, useO, useTL };