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,25 +1,28 @@
1
- import { MutableAtomFamilyToken, MutableAtomToken, RegularAtomFamilyToken, RegularAtomToken, AtomFamilyToken, AtomToken, WritableSelectorFamilyToken, WritableSelectorToken, ReadonlySelectorFamilyToken, ReadonlySelectorToken, SelectorFamilyToken, SelectorToken, WritableFamilyToken, WritableToken, ReadableFamilyToken, ReadableToken, TransactionToken, TransactionUpdate, TransactionOptions, ActorToolkit, TimelineManageable, TimelineToken, AtomIOToken, JoinToken, JoinStates, Hierarchy, Vassal, Above, Claim, CompoundFrom, CompoundTypedKey, SingularTypedKey, JoinOptions, SetterToolkit, Anarchy, TimelineUpdate, StateUpdate, TokenType, FamilyMetadata, StateCreation, StateDisposal, MoleculeCreation, MoleculeDisposal, TimelineOptions, AtomIOLogger, Logger, MutableAtomOptions, MutableAtomFamilyOptions, RegularAtomOptions, RegularAtomFamilyOptions, ReadonlySelectorFamilyOptions, WritableSelectorFamilyOptions, KeyedStateUpdate, MoleculeTransfer, ReadonlySelectorOptions, WritableSelectorOptions, UpdateHandler, TransactionUpdateHandler } from 'atom.io';
2
- import { Json, Canonical, stringified, JsonInterface } from 'atom.io/json';
3
- import { SetRTX, SetRTXJson } from 'atom.io/transceivers/set-rtx';
4
- import { Store as Store$1, Func as Func$1 } from 'atom.io/internal';
1
+ import { Func as Func$1, Store as Store$1 } from "atom.io/internal";
2
+ import { Canonical, Json, JsonInterface, stringified } from "atom.io/json";
3
+ import { Above, ActorToolkit, Anarchy, AtomFamilyToken, AtomIOLogger, AtomIOToken, AtomToken, Claim, CompoundFrom, CompoundTypedKey, FamilyMetadata, Hierarchy, JoinOptions, JoinStates, JoinToken, KeyedStateUpdate, Logger, MoleculeCreation, MoleculeDisposal, MoleculeTransfer, MutableAtomFamilyOptions, MutableAtomFamilyToken, MutableAtomOptions, MutableAtomToken, ReadableFamilyToken, ReadableToken, ReadonlySelectorFamilyOptions, ReadonlySelectorFamilyToken, ReadonlySelectorOptions, ReadonlySelectorToken, RegularAtomFamilyOptions, RegularAtomFamilyToken, RegularAtomOptions, RegularAtomToken, SelectorFamilyToken, SelectorToken, SetterToolkit, SingularTypedKey, StateCreation, StateDisposal, StateUpdate, TimelineManageable, TimelineOptions, TimelineToken, TimelineUpdate, TokenType, TransactionOptions, TransactionToken, TransactionUpdate, TransactionUpdateHandler, UpdateHandler, Vassal, WritableFamilyToken, WritableSelectorFamilyOptions, WritableSelectorFamilyToken, WritableSelectorOptions, WritableSelectorToken, WritableToken } from "atom.io";
4
+ import { SetRTX, SetRTXJson } from "atom.io/transceivers/set-rtx";
5
5
 
6
+ //#region src/internal/store/circular-buffer.d.ts
6
7
  declare class CircularBuffer<T> {
7
- protected _buffer: T[];
8
- protected _index: number;
9
- constructor(array: T[]);
10
- constructor(length: number);
11
- get buffer(): ReadonlyArray<T | undefined>;
12
- get index(): number;
13
- add(item: T): void;
14
- copy(): CircularBuffer<T>;
8
+ protected _buffer: T[];
9
+ protected _index: number;
10
+ constructor(array: T[]);
11
+ constructor(length: number);
12
+ get buffer(): ReadonlyArray<T | undefined>;
13
+ get index(): number;
14
+ add(item: T): void;
15
+ copy(): CircularBuffer<T>;
15
16
  }
16
17
 
18
+ //#endregion
19
+ //#region src/internal/store/counterfeit.d.ts
17
20
  declare const FAMILY_MEMBER_TOKEN_TYPES: {
18
- readonly atom_family: "atom";
19
- readonly mutable_atom_family: "mutable_atom";
20
- readonly selector_family: "selector";
21
- readonly readonly_selector_family: "readonly_selector";
22
- readonly molecule_family: "molecule";
21
+ readonly atom_family: "atom";
22
+ readonly mutable_atom_family: "mutable_atom";
23
+ readonly selector_family: "selector";
24
+ readonly readonly_selector_family: "readonly_selector";
25
+ readonly molecule_family: "molecule";
23
26
  };
24
27
  declare function counterfeit<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J>;
25
28
  declare function counterfeit<T, K extends Canonical, Key extends K>(token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T>;
@@ -30,180 +33,183 @@ declare function counterfeit<T, K extends Canonical, Key extends K>(token: Selec
30
33
  declare function counterfeit<T, K extends Canonical, Key extends K>(token: WritableFamilyToken<T, K>, key: Key): WritableToken<T>;
31
34
  declare function counterfeit<T, K extends Canonical, Key extends K>(token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T>;
32
35
 
36
+ //#endregion
37
+ //#region src/internal/utility-types.d.ts
33
38
  type Func = (...parameters: any[]) => any;
34
- type Flat<R extends {
35
- [K in PropertyKey]: any;
36
- }> = {
37
- [K in keyof R]: R[K];
38
- };
39
- type Count<N extends number, A extends any[] = []> = [
40
- ...A,
41
- any
42
- ][`length`] extends N ? A[`length`] : A[`length`] | Count<N, [...A, any]>;
43
- type Each<E extends any[]> = {
44
- [P in Count<E[`length`]>]: E[P];
45
- };
39
+ type Flat<R extends { [K in PropertyKey]: any }> = { [K in keyof R]: R[K] };
40
+ type Count<N extends number, A extends any[] = []> = [...A, any][`length`] extends N ? A[`length`] : A[`length`] | Count<N, [...A, any]>;
41
+ type Each<E extends any[]> = { [P in Count<E[`length`]>]: E[P] };
46
42
  type Refinement<A, B extends A> = (a: A) => a is B;
47
43
 
44
+ //#endregion
45
+ //#region src/internal/junction.d.ts
48
46
  type JunctionEntriesBase<AType extends string, BType extends string, Content extends Json.Object | null> = {
49
- readonly relations: ([AType, BType[]] | [BType, AType[]])[];
50
- readonly contents: [string, Content][];
47
+ readonly relations: ([AType, BType[]] | [BType, AType[]])[];
48
+ readonly contents: [string, Content][];
51
49
  };
52
- interface JunctionEntries<AType extends string, BType extends string, Content extends Json.Object | null> extends Json.Object, JunctionEntriesBase<AType, BType, Content> {
53
- }
50
+ interface JunctionEntries<AType extends string, BType extends string, Content extends Json.Object | null> extends Json.Object, JunctionEntriesBase<AType, BType, Content> {}
54
51
  type JunctionSchemaBase<ASide extends string, BSide extends string> = {
55
- readonly between: [a: ASide, b: BSide];
56
- readonly cardinality: `1:1` | `1:n` | `n:n`;
52
+ readonly between: [a: ASide, b: BSide];
53
+ readonly cardinality: `1:1` | `1:n` | `n:n`;
57
54
  };
58
- interface JunctionSchema<ASide extends string, BSide extends string> extends Json.Object, JunctionSchemaBase<ASide, BSide> {
59
- }
55
+ interface JunctionSchema<ASide extends string, BSide extends string> extends Json.Object, JunctionSchemaBase<ASide, BSide> {}
60
56
  type BaseExternalStoreConfiguration = {
61
- addRelation: (a: string, b: string) => void;
62
- deleteRelation: (a: string, b: string) => void;
63
- replaceRelationsSafely: (a: string, bs: string[]) => void;
64
- replaceRelationsUnsafely: (a: string, bs: string[]) => void;
65
- getRelatedKeys(key: string): Set<string> | undefined;
66
- has: (a: string, b?: string) => boolean;
57
+ addRelation: (a: string, b: string) => void;
58
+ deleteRelation: (a: string, b: string) => void;
59
+ replaceRelationsSafely: (a: string, bs: string[]) => void;
60
+ replaceRelationsUnsafely: (a: string, bs: string[]) => void;
61
+ getRelatedKeys(key: string): Set<string> | undefined;
62
+ has: (a: string, b?: string) => boolean;
67
63
  };
68
64
  type ExternalStoreWithContentConfiguration<Content extends Json.Object> = {
69
- getContent: (contentKey: string) => Content | undefined;
70
- setContent: (contentKey: string, content: Content) => void;
71
- deleteContent: (contentKey: string) => void;
72
- };
73
- type Empty<Obj extends object> = {
74
- [Key in keyof Obj]?: undefined;
65
+ getContent: (contentKey: string) => Content | undefined;
66
+ setContent: (contentKey: string, content: Content) => void;
67
+ deleteContent: (contentKey: string) => void;
75
68
  };
69
+ type Empty<Obj extends object> = { [Key in keyof Obj]?: undefined };
76
70
  type ExternalStoreConfiguration<Content extends Json.Object | null> = Content extends Json.Object ? BaseExternalStoreConfiguration & ExternalStoreWithContentConfiguration<Content> : BaseExternalStoreConfiguration & Empty<ExternalStoreWithContentConfiguration<Json.Object>>;
77
71
  type JunctionAdvancedConfiguration<AType extends string, BType extends string, Content extends Json.Object | null> = {
78
- warn?: (...args: any[]) => void;
79
- externalStore?: ExternalStoreConfiguration<Content>;
80
- isAType?: Refinement<string, AType>;
81
- isBType?: Refinement<string, BType>;
82
- isContent?: Refinement<unknown, Content>;
83
- makeContentKey?: (a: AType, b: BType) => string;
72
+ warn?: (...args: any[]) => void;
73
+ externalStore?: ExternalStoreConfiguration<Content>;
74
+ isAType?: Refinement<string, AType>;
75
+ isBType?: Refinement<string, BType>;
76
+ isContent?: Refinement<unknown, Content>;
77
+ makeContentKey?: (a: AType, b: BType) => string;
84
78
  };
85
79
  type JunctionJSON<ASide extends string, AType extends string, BSide extends string, BType extends string, Content extends Json.Object | null> = JunctionEntries<AType, BType, Content> & JunctionSchema<ASide, BSide>;
86
- declare class Junction<const ASide extends string, const AType extends string, const BSide extends string, const BType extends string, const Content extends Json.Object | null = null> {
87
- readonly a: ASide;
88
- readonly b: BSide;
89
- readonly cardinality: `1:1` | `1:n` | `n:n`;
90
- readonly relations: Map<AType | BType, Set<AType> | Set<BType>>;
91
- readonly contents: Map<string, Content>;
92
- isAType?: Refinement<string, AType> | null;
93
- isBType?: Refinement<string, BType> | null;
94
- isContent: Refinement<unknown, Content> | null;
95
- makeContentKey: (a: AType, b: BType) => string;
96
- warn?: (...args: any[]) => void;
97
- getRelatedKeys(key: AType): Set<BType> | undefined;
98
- getRelatedKeys(key: BType): Set<AType> | undefined;
99
- getRelatedKeys(key: AType | BType): Set<AType> | Set<BType> | undefined;
100
- protected addRelation(a: AType, b: BType): void;
101
- protected deleteRelation(a: AType, b: BType): void;
102
- protected replaceRelationsUnsafely(a: AType, bs: BType[]): void;
103
- protected replaceRelationsUnsafely(b: BType, as: AType[]): void;
104
- protected replaceRelationsSafely(a: AType, bs: BType[]): void;
105
- protected replaceRelationsSafely(b: BType, as: AType[]): void;
106
- protected getContentInternal(contentKey: string): Content | undefined;
107
- protected setContent(contentKey: string, content: Content): void;
108
- protected deleteContent(contentKey: string): void;
109
- constructor(data: JunctionSchema<ASide, BSide> & Partial<JunctionEntries<NoInfer<AType>, NoInfer<BType>, Content>>, config?: JunctionAdvancedConfiguration<AType, BType, Content>);
110
- toJSON(): JunctionJSON<ASide, AType, BSide, BType, Content>;
111
- set(a: AType, ...rest: Content extends null ? [b: BType] : [b: BType, content: Content]): this;
112
- set(relation: {
113
- [Key in ASide]: AType;
114
- } & {
115
- [Key in BSide]: BType;
116
- }, ...rest: Content extends null ? [] | [void?: undefined] : [content: Content]): this;
117
- delete(a: AType, b?: BType): this;
118
- delete(b: BType, a?: AType): this;
119
- delete(relation: {
120
- [Key in ASide]: AType;
121
- } | {
122
- [Key in BSide]: BType;
123
- } | ({
124
- [Key in ASide]: AType;
125
- } & {
126
- [Key in BSide]: BType;
127
- }), b?: undefined): this;
128
- getRelatedKey(key: AType): BType | undefined;
129
- getRelatedKey(key: BType): AType | undefined;
130
- replaceRelations(a: AType, relations: Content extends null ? BType[] : Record<BType, Content>, config?: {
131
- reckless: boolean;
132
- }): this;
133
- replaceRelations(b: BType, relations: Content extends null ? AType[] : Record<AType, Content>, config?: {
134
- reckless: boolean;
135
- }): this;
136
- getContent(a: AType, b: BType): Content | undefined;
137
- getRelationEntries(input: Record<ASide, AType>): [BType, Content][];
138
- getRelationEntries(input: Record<BSide, BType>): [AType, Content][];
139
- has(a: AType, b?: BType): boolean;
140
- has(b: BType, a?: AType): boolean;
80
+ declare class Junction<ASide extends string, AType extends string, BSide extends string, BType extends string, Content extends Json.Object | null = null> {
81
+ readonly a: ASide;
82
+ readonly b: BSide;
83
+ readonly cardinality: `1:1` | `1:n` | `n:n`;
84
+ readonly relations: Map<AType | BType, Set<AType> | Set<BType>>;
85
+ readonly contents: Map<string, Content>;
86
+ isAType?: Refinement<string, AType> | null;
87
+ isBType?: Refinement<string, BType> | null;
88
+ isContent: Refinement<unknown, Content> | null;
89
+ makeContentKey: (a: AType, b: BType) => string;
90
+ warn?: (...args: any[]) => void;
91
+ getRelatedKeys(key: AType): Set<BType> | undefined;
92
+ getRelatedKeys(key: BType): Set<AType> | undefined;
93
+ getRelatedKeys(key: AType | BType): Set<AType> | Set<BType> | undefined;
94
+ protected addRelation(a: AType, b: BType): void;
95
+ protected deleteRelation(a: AType, b: BType): void;
96
+ protected replaceRelationsUnsafely(a: AType, bs: BType[]): void;
97
+ protected replaceRelationsUnsafely(b: BType, as: AType[]): void;
98
+ protected replaceRelationsSafely(a: AType, bs: BType[]): void;
99
+ protected replaceRelationsSafely(b: BType, as: AType[]): void;
100
+ protected getContentInternal(contentKey: string): Content | undefined;
101
+ protected setContent(contentKey: string, content: Content): void;
102
+ protected deleteContent(contentKey: string): void;
103
+ constructor(data: JunctionSchema<ASide, BSide> & Partial<JunctionEntries<NoInfer<AType>, NoInfer<BType>, Content>>, config?: JunctionAdvancedConfiguration<AType, BType, Content>);
104
+ toJSON(): JunctionJSON<ASide, AType, BSide, BType, Content>;
105
+ set(a: AType, ...rest: Content extends null ? [b: BType] : [b: BType, content: Content]): this;
106
+ set(relation: { [Key in ASide]: AType } & { [Key in BSide]: BType }, ...rest: Content extends null ? [] | [void?: undefined] : [content: Content]): this;
107
+ delete(a: AType, b?: BType): this;
108
+ delete(b: BType, a?: AType): this;
109
+ delete(relation: { [Key in ASide]: AType } | { [Key in BSide]: BType } | ({ [Key in ASide]: AType } & { [Key in BSide]: BType }), b?: undefined): this;
110
+ getRelatedKey(key: AType): BType | undefined;
111
+ getRelatedKey(key: BType): AType | undefined;
112
+ replaceRelations(a: AType, relations: Content extends null ? BType[] : Record<BType, Content>, config?: {
113
+ reckless: boolean;
114
+ }): this;
115
+ replaceRelations(b: BType, relations: Content extends null ? AType[] : Record<AType, Content>, config?: {
116
+ reckless: boolean;
117
+ }): this;
118
+ getContent(a: AType, b: BType): Content | undefined;
119
+ getRelationEntries(input: Record<ASide, AType>): [BType, Content][];
120
+ getRelationEntries(input: Record<BSide, BType>): [AType, Content][];
121
+ has(a: AType, b?: BType): boolean;
122
+ has(b: BType, a?: AType): boolean;
141
123
  }
142
124
 
125
+ //#endregion
126
+ //#region src/internal/transaction/abort-transaction.d.ts
143
127
  declare const abortTransaction: (store: Store) => void;
144
128
 
129
+ //#endregion
130
+ //#region src/internal/transaction/act-upon-store.d.ts
145
131
  declare function actUponStore<F extends Func>(store: Store, token: TransactionToken<F>, id: string): (...parameters: Parameters<F>) => ReturnType<F>;
146
132
 
133
+ //#endregion
134
+ //#region src/internal/transaction/apply-transaction.d.ts
147
135
  declare const applyTransaction: <F extends Func>(output: ReturnType<F>, store: Store) => void;
148
136
 
137
+ //#endregion
138
+ //#region src/internal/transaction/assign-transaction-to-continuity.d.ts
149
139
  declare function assignTransactionToContinuity(store: Store, continuityKey: string, transactionKey: string): void;
150
140
 
141
+ //#endregion
142
+ //#region src/internal/transaction/is-root-store.d.ts
151
143
  interface RootStore extends Store {
152
- transactionMeta: TransactionEpoch;
153
- parent: null;
154
- child: ChildStore | null;
144
+ transactionMeta: TransactionEpoch;
145
+ parent: null;
146
+ child: ChildStore | null;
155
147
  }
156
148
  interface ChildStore extends Store {
157
- transactionMeta: TransactionProgress<Func>;
158
- parent: ChildStore | RootStore;
159
- child: ChildStore | null;
149
+ transactionMeta: TransactionProgress<Func>;
150
+ parent: ChildStore | RootStore;
151
+ child: ChildStore | null;
160
152
  }
161
153
  declare function isRootStore(store: Store): store is RootStore;
162
154
  declare function isChildStore(store: Store): store is ChildStore;
163
155
 
156
+ //#endregion
157
+ //#region src/internal/transaction/build-transaction.d.ts
164
158
  declare const buildTransaction: (store: Store, key: string, params: any[], id: string) => ChildStore;
165
159
 
160
+ //#endregion
161
+ //#region src/internal/subject.d.ts
166
162
  declare class Subject<T> {
167
- Subscriber: (value: T) => void;
168
- subscribers: Map<string, this[`Subscriber`]>;
169
- subscribe(key: string, subscriber: this[`Subscriber`]): () => void;
170
- private unsubscribe;
171
- next(value: T): void;
163
+ Subscriber: (value: T) => void;
164
+ subscribers: Map<string, this[`Subscriber`]>;
165
+ subscribe(key: string, subscriber: this[`Subscriber`]): () => void;
166
+ private unsubscribe;
167
+ next(value: T): void;
172
168
  }
173
169
  declare class StatefulSubject<T> extends Subject<T> {
174
- state: T;
175
- constructor(initialState: T);
176
- next(value: T): void;
170
+ state: T;
171
+ constructor(initialState: T);
172
+ next(value: T): void;
177
173
  }
178
174
 
175
+ //#endregion
176
+ //#region src/internal/transaction/create-transaction.d.ts
179
177
  type Transaction<F extends Func> = {
180
- key: string;
181
- type: `transaction`;
182
- install: (store: Store) => void;
183
- subject: Subject<TransactionUpdate<F>>;
184
- run: (parameters: Parameters<F>, id?: string) => ReturnType<F>;
178
+ key: string;
179
+ type: `transaction`;
180
+ install: (store: Store) => void;
181
+ subject: Subject<TransactionUpdate<F>>;
182
+ run: (parameters: Parameters<F>, id?: string) => ReturnType<F>;
185
183
  };
186
184
  declare function createTransaction<F extends Func>(store: Store, options: TransactionOptions<F>): TransactionToken<F>;
187
185
 
186
+ //#endregion
187
+ //#region src/internal/transaction/get-epoch-number.d.ts
188
188
  declare function getContinuityKey(store: RootStore, transactionKey: string): string | undefined;
189
189
  declare function getEpochNumberOfContinuity(store: RootStore, continuityKey: string): number | undefined;
190
190
  declare function getEpochNumberOfAction(store: Store, transactionKey: string): number | undefined;
191
191
 
192
+ //#endregion
193
+ //#region src/internal/transaction/set-epoch-number.d.ts
192
194
  declare function setEpochNumberOfContinuity(store: Store, continuityKey: string, newEpoch: number): void;
193
195
  declare function setEpochNumberOfAction(store: Store, transactionKey: string, newEpoch: number): void;
194
196
 
197
+ //#endregion
198
+ //#region src/internal/transaction/index.d.ts
195
199
  declare const TRANSACTION_PHASES: readonly ["idle", "building", "applying"];
196
200
  type TransactionPhase = (typeof TRANSACTION_PHASES)[number];
197
201
  type TransactionProgress<F extends Func> = {
198
- phase: `applying` | `building`;
199
- update: TransactionUpdate<F>;
200
- toolkit: ActorToolkit;
202
+ phase: `applying` | `building`;
203
+ update: TransactionUpdate<F>;
204
+ toolkit: ActorToolkit;
201
205
  };
202
206
  type TransactionEpoch = {
203
- epoch: Map<string, number>;
204
- actionContinuities: Junction<`continuity`, string, `action`, string>;
207
+ epoch: Map<string, number>;
208
+ actionContinuities: Junction<`continuity`, string, `action`, string>;
205
209
  };
206
210
 
211
+ //#endregion
212
+ //#region src/internal/store/deposit.d.ts
207
213
  declare function deposit<T>(state: RegularAtom<T>): RegularAtomToken<T>;
208
214
  declare function deposit<T extends Transceiver<any>>(state: MutableAtom<T, any>): MutableAtomToken<T, any>;
209
215
  declare function deposit<T>(state: Atom<T>): AtomToken<T>;
@@ -224,213 +230,196 @@ declare function deposit<T extends Func>(state: Transaction<T>): TransactionToke
224
230
  declare function deposit<M extends TimelineManageable>(state: Timeline<M>): TimelineToken<M>;
225
231
  declare function deposit(resource: AtomIOInternalResource): AtomIOToken;
226
232
 
233
+ //#endregion
234
+ //#region src/internal/join/edit-relations-in-store.d.ts
227
235
  declare function editRelationsInStore<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null>(token: JoinToken<ASide, AType, BSide, BType, Cardinality, Content>, change: (relations: Junction<ASide, AType, BSide, BType, Content>) => void, store: Store): void;
228
236
 
237
+ //#endregion
238
+ //#region src/internal/join/find-relations-in-store.d.ts
229
239
  declare function findRelationsInStore<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null>(token: JoinToken<ASide, AType, BSide, BType, Cardinality, Content>, key: AType | BType, store: Store): JoinStates<ASide, AType, BSide, BType, Cardinality, Content>;
230
240
 
241
+ //#endregion
242
+ //#region src/internal/join/get-internal-relations-from-store.d.ts
231
243
  declare function getInternalRelationsFromStore(token: JoinToken<any, any, any, any, any, any>, store: Store): MutableAtomFamilyToken<SetRTX<string>, SetRTXJson<string>, string>;
232
244
 
245
+ //#endregion
246
+ //#region src/internal/molecule.d.ts
233
247
  type Molecule<K extends Canonical> = {
234
- readonly key: K;
235
- readonly stringKey: stringified<K>;
236
- readonly dependsOn: `all` | `any`;
248
+ readonly key: K;
249
+ readonly stringKey: stringified<K>;
250
+ readonly dependsOn: `all` | `any`;
237
251
  };
238
252
  declare function makeRootMoleculeInStore<S extends string>(key: S, store?: Store): S;
239
253
  declare function allocateIntoStore<H extends Hierarchy, V extends Vassal<H>, A extends Above<V, H>>(store: Store, provenance: A, key: V, dependsOn?: `all` | `any`): Claim<V>;
240
- declare function fuseWithinStore<H extends Hierarchy, C extends CompoundFrom<H>, T extends C extends CompoundTypedKey<infer t, any, any> ? t : never, A extends C extends CompoundTypedKey<any, infer a, any> ? a : never, B extends C extends CompoundTypedKey<any, any, infer b> ? b : never>(store: Store, type: T, sideA: SingularTypedKey<A>, sideB: SingularTypedKey<B>): Claim<CompoundTypedKey<T, A, B>>;
254
+ declare function fuseWithinStore<H extends Hierarchy, C extends CompoundFrom<H>, T extends (C extends CompoundTypedKey<infer t, any, any> ? t : never), A extends (C extends CompoundTypedKey<any, infer a, any> ? a : never), B extends (C extends CompoundTypedKey<any, any, infer b> ? b : never)>(store: Store, type: T, sideA: SingularTypedKey<A>, sideB: SingularTypedKey<B>): Claim<CompoundTypedKey<T, A, B>>;
241
255
  declare function deallocateFromStore<H extends Hierarchy, V extends Vassal<H>>(store: Store, claim: Claim<V>): void;
242
256
  declare function claimWithinStore<H extends Hierarchy, V extends Exclude<Vassal<H>, CompoundTypedKey>, A extends Above<V, H>>(store: Store, newProvenance: A, claim: Claim<V>, exclusive?: `exclusive`): Claim<V>;
243
257
 
244
- type JoinStateFamilies<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null> = Cardinality extends `1:1` ? (Content extends Json.Object ? {
245
- readonly [A in ASide as `${A}EntryOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<[
246
- AType,
247
- Content
248
- ] | null, BType>;
249
- } & {
250
- readonly [B in BSide as `${B}EntryOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<[
251
- BType,
252
- Content
253
- ] | null, AType>;
254
- } : {}) & {
255
- readonly [A in ASide as `${A}KeyOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<AType | null, BType>;
256
- } & {
257
- readonly [B in BSide as `${B}KeyOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<BType | null, AType>;
258
- } : Cardinality extends `1:n` ? (Content extends Json.Object ? {
259
- readonly [A in ASide as `${A}EntryOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<[
260
- AType,
261
- Content
262
- ] | null, BType>;
263
- } & {
264
- readonly [B in BSide as `${B}EntriesOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<[
265
- BType,
266
- Content
267
- ][], AType>;
268
- } : {}) & {
269
- readonly [A in ASide as `${A}KeyOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<AType | null, BType>;
270
- } & {
271
- readonly [B in BSide as `${B}KeysOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<BType[], AType>;
272
- } : Cardinality extends `n:n` ? (Content extends Json.Object ? {
273
- readonly [A in ASide as `${A}EntriesOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<[
274
- AType,
275
- Content
276
- ][], BType>;
277
- } & {
278
- readonly [B in BSide as `${B}EntriesOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<[
279
- BType,
280
- Content
281
- ][], AType>;
282
- } : {}) & {
283
- readonly [A in ASide as `${A}KeysOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<AType[], BType>;
284
- } & {
285
- readonly [B in BSide as `${B}KeysOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<BType[], AType>;
286
- } : never;
287
- declare class Join<const ASide extends string, const AType extends string, const BSide extends string, const BType extends string, const Cardinality extends `1:1` | `1:n` | `n:n`, const Content extends Json.Object | null = null, const ContentKey extends CompoundTypedKey<`content`, ASide, BSide> = CompoundTypedKey<`content`, ASide, BSide>> {
288
- private toolkit;
289
- options: JoinOptions<ASide, AType, BSide, BType, Cardinality, Content>;
290
- defaultContent: Content | undefined;
291
- molecules: Map<string, Molecule<any>>;
292
- relations: Junction<ASide, AType, BSide, BType, Content>;
293
- states: JoinStateFamilies<ASide, AType, BSide, BType, Cardinality, Content>;
294
- core: {
295
- relatedKeysAtoms: MutableAtomFamilyToken<SetRTX<string>, SetRTXJson<string>, string>;
296
- };
297
- transact(toolkit: SetterToolkit, run: (join: Join<ASide, AType, BSide, BType, Cardinality, Content>) => void): void;
298
- store: Store;
299
- realm: Anarchy;
300
- [Symbol.dispose](): void;
301
- constructor(options: JoinOptions<ASide, AType, BSide, BType, Cardinality, Content>, defaultContent: Content | undefined, store?: Store);
258
+ //#endregion
259
+ //#region src/internal/join/join-internal.d.ts
260
+ type JoinStateFamilies<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null> = Cardinality extends `1:1` ? (Content extends Json.Object ? { readonly [A in ASide as `${A}EntryOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<[AType, Content] | null, BType> } & { readonly [B in BSide as `${B}EntryOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<[BType, Content] | null, AType> } : {}) & { readonly [A in ASide as `${A}KeyOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<AType | null, BType> } & { readonly [B in BSide as `${B}KeyOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<BType | null, AType> } : Cardinality extends `1:n` ? (Content extends Json.Object ? { readonly [A in ASide as `${A}EntryOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<[AType, Content] | null, BType> } & { readonly [B in BSide as `${B}EntriesOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<[BType, Content][], AType> } : {}) & { readonly [A in ASide as `${A}KeyOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<AType | null, BType> } & { readonly [B in BSide as `${B}KeysOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<BType[], AType> } : Cardinality extends `n:n` ? (Content extends Json.Object ? { readonly [A in ASide as `${A}EntriesOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<[AType, Content][], BType> } & { readonly [B in BSide as `${B}EntriesOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<[BType, Content][], AType> } : {}) & { readonly [A in ASide as `${A}KeysOf${Capitalize<BSide>}`]: ReadonlySelectorFamilyToken<AType[], BType> } & { readonly [B in BSide as `${B}KeysOf${Capitalize<ASide>}`]: ReadonlySelectorFamilyToken<BType[], AType> } : never;
261
+ declare class Join<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null = null, ContentKey extends CompoundTypedKey<`content`, ASide, BSide> = CompoundTypedKey<`content`, ASide, BSide>> {
262
+ private toolkit;
263
+ options: JoinOptions<ASide, AType, BSide, BType, Cardinality, Content>;
264
+ defaultContent: Content | undefined;
265
+ molecules: Map<string, Molecule<any>>;
266
+ relations: Junction<ASide, AType, BSide, BType, Content>;
267
+ states: JoinStateFamilies<ASide, AType, BSide, BType, Cardinality, Content>;
268
+ core: {
269
+ relatedKeysAtoms: MutableAtomFamilyToken<SetRTX<string>, SetRTXJson<string>, string>;
270
+ };
271
+ transact(toolkit: SetterToolkit, run: (join: Join<ASide, AType, BSide, BType, Cardinality, Content>) => void): void;
272
+ store: Store;
273
+ realm: Anarchy;
274
+ [Symbol.dispose](): void;
275
+ constructor(options: JoinOptions<ASide, AType, BSide, BType, Cardinality, Content>, defaultContent: Content | undefined, store?: Store);
302
276
  }
303
277
 
278
+ //#endregion
279
+ //#region src/internal/join/get-join.d.ts
304
280
  declare function getJoin<ASide extends string, AType extends string, BSide extends string, BType extends string, Cardinality extends `1:1` | `1:n` | `n:n`, Content extends Json.Object | null>(token: JoinToken<ASide, AType, BSide, BType, Cardinality, Content>, store: Store): Join<ASide, AType, BSide, BType, Cardinality, Content>;
305
281
 
282
+ //#endregion
283
+ //#region src/internal/lineage.d.ts
306
284
  interface Lineage {
307
- parent: typeof this | null;
308
- child: typeof this | null;
285
+ parent: typeof this | null;
286
+ child: typeof this | null;
309
287
  }
310
288
  declare function newest<T extends Lineage>(scion: T): T;
311
289
 
290
+ //#endregion
291
+ //#region src/internal/operation.d.ts
312
292
  type OperationProgress = {
313
- open: false;
293
+ open: false;
314
294
  } | {
315
- open: true;
316
- done: Set<string>;
317
- prev: Map<string, any>;
318
- time: number;
319
- token: WritableToken<any>;
295
+ open: true;
296
+ done: Set<string>;
297
+ prev: Map<string, any>;
298
+ time: number;
299
+ token: WritableToken<any>;
320
300
  };
321
301
  declare const openOperation: (store: Store, token: WritableToken<any>) => number | undefined;
322
302
  declare const closeOperation: (store: Store) => void;
323
303
  declare const isDone: (store: Store, key: string) => boolean;
324
304
  declare const markDone: (store: Store, key: string) => void;
325
305
 
306
+ //#endregion
307
+ //#region src/internal/timeline/create-timeline.d.ts
326
308
  type TimelineAtomUpdate<ManagedAtom extends TimelineManageable> = Flat<StateUpdate<TokenType<ManagedAtom>> & {
327
- key: string;
328
- type: `atom_update`;
329
- timestamp: number;
330
- family?: FamilyMetadata;
309
+ key: string;
310
+ type: `atom_update`;
311
+ timestamp: number;
312
+ family?: FamilyMetadata;
331
313
  }>;
332
314
  type TimelineSelectorUpdate<ManagedAtom extends TimelineManageable> = {
333
- key: string;
334
- type: `selector_update`;
335
- timestamp: number;
336
- atomUpdates: Omit<TimelineAtomUpdate<ManagedAtom>, `timestamp`>[];
315
+ key: string;
316
+ type: `selector_update`;
317
+ timestamp: number;
318
+ atomUpdates: Omit<TimelineAtomUpdate<ManagedAtom>, `timestamp`>[];
337
319
  };
338
320
  type TimelineTransactionUpdate = Flat<TransactionUpdate<Func> & {
339
- key: string;
340
- type: `transaction_update`;
341
- timestamp: number;
321
+ key: string;
322
+ type: `transaction_update`;
323
+ timestamp: number;
342
324
  }>;
343
325
  type TimelineStateCreation<T extends ReadableToken<any>> = Flat<StateCreation<T> & {
344
- timestamp: number;
326
+ timestamp: number;
345
327
  }>;
346
328
  type TimelineStateDisposal<T extends ReadableToken<any>> = Flat<StateDisposal<T> & {
347
- timestamp: number;
329
+ timestamp: number;
348
330
  }>;
349
331
  type TimelineMoleculeCreation = Flat<MoleculeCreation & {
350
- timestamp: number;
332
+ timestamp: number;
351
333
  }>;
352
334
  type TimelineMoleculeDisposal = Flat<MoleculeDisposal & {
353
- timestamp: number;
335
+ timestamp: number;
354
336
  }>;
355
337
  type Timeline<ManagedAtom extends TimelineManageable> = {
356
- type: `timeline`;
357
- key: string;
358
- at: number;
359
- shouldCapture?: (update: TimelineUpdate<ManagedAtom>, timeline: Timeline<ManagedAtom>) => boolean;
360
- timeTraveling: `into_future` | `into_past` | null;
361
- history: TimelineUpdate<ManagedAtom>[];
362
- selectorTime: number | null;
363
- transactionKey: string | null;
364
- install: (store: Store) => void;
365
- subject: Subject<TimelineUpdate<ManagedAtom> | `redo` | `undo`>;
366
- subscriptions: Map<string, () => void>;
338
+ type: `timeline`;
339
+ key: string;
340
+ at: number;
341
+ shouldCapture?: (update: TimelineUpdate<ManagedAtom>, timeline: Timeline<ManagedAtom>) => boolean;
342
+ timeTraveling: `into_future` | `into_past` | null;
343
+ history: TimelineUpdate<ManagedAtom>[];
344
+ selectorTime: number | null;
345
+ transactionKey: string | null;
346
+ install: (store: Store) => void;
347
+ subject: Subject<TimelineUpdate<ManagedAtom> | `redo` | `undo`>;
348
+ subscriptions: Map<string, () => void>;
367
349
  };
368
350
  declare function createTimeline<ManagedAtom extends TimelineManageable>(store: Store, options: TimelineOptions<ManagedAtom>, data?: Timeline<ManagedAtom>): TimelineToken<ManagedAtom>;
369
351
 
352
+ //#endregion
353
+ //#region src/internal/timeline/time-travel.d.ts
370
354
  declare const timeTravel: (store: Store, action: `redo` | `undo`, token: TimelineToken<any>) => void;
371
355
 
356
+ //#endregion
357
+ //#region src/internal/store/store.d.ts
372
358
  declare class Store implements Lineage {
373
- parent: Store | null;
374
- child: Store | null;
375
- valueMap: Map<string, any>;
376
- defaults: Map<string, any>;
377
- atoms: Map<string, Atom<any>>;
378
- selectors: Map<string, WritableSelector<any>>;
379
- readonlySelectors: Map<string, ReadonlySelector<any>>;
380
- atomsThatAreDefault: Set<string>;
381
- selectorAtoms: Junction<"selectorKey", string, "atomKey", string, null>;
382
- selectorGraph: Junction<"upstreamSelectorKey", string, "downstreamSelectorKey", string, {
383
- source: string;
384
- }>;
385
- trackers: Map<string, Tracker<Transceiver<any>>>;
386
- families: Map<string, MutableAtomFamily<any, any, any> | RegularAtomFamily<any, any> | ReadonlySelectorFamily<any, any> | WritableSelectorFamily<any, any>>;
387
- joins: Map<string, Join<any, any, any, any, any, any, `T$--content==${any}::${string}++${any}::${string}`>>;
388
- transactions: Map<string, Transaction<Func>>;
389
- transactionMeta: TransactionEpoch | TransactionProgress<Func>;
390
- timelines: Map<string, Timeline<any>>;
391
- timelineTopics: Junction<"timelineKey", string, "topicKey", string, {
392
- topicType: `atom_family` | `atom` | `molecule_family` | `molecule`;
393
- }>;
394
- disposalTraces: CircularBuffer<{
395
- key: string;
396
- trace: string;
397
- }>;
398
- molecules: Map<string, Molecule<Canonical>>;
399
- moleculeJoins: Junction<"moleculeKey", stringified<Canonical>, "joinKey", string, null>;
400
- moleculeGraph: Junction<"upstreamMoleculeKey", stringified<Canonical> | "root", "downstreamMoleculeKey", stringified<Canonical>, {
401
- source: stringified<Canonical>;
402
- }>;
403
- moleculeData: Junction<"moleculeKey", stringified<Canonical>, "stateFamilyKey", string, null>;
404
- miscResources: Map<string, Disposable>;
405
- on: {
406
- atomCreation: Subject<AtomToken<unknown>>;
407
- atomDisposal: Subject<AtomToken<unknown>>;
408
- selectorCreation: Subject<ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>>;
409
- selectorDisposal: Subject<ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>>;
410
- timelineCreation: Subject<TimelineToken<unknown>>;
411
- transactionCreation: Subject<TransactionToken<Func>>;
412
- transactionApplying: StatefulSubject<TransactionProgress<Func> | null>;
413
- operationClose: Subject<OperationProgress>;
414
- moleculeCreation: Subject<MoleculeCreation>;
415
- moleculeDisposal: Subject<MoleculeDisposal>;
416
- };
417
- operation: OperationProgress;
418
- config: {
419
- name: string;
420
- lifespan: `ephemeral` | `immortal`;
421
- };
422
- loggers: AtomIOLogger[];
423
- logger: Logger;
424
- constructor(config: Store[`config`], store?: Store | null);
359
+ parent: Store | null;
360
+ child: Store | null;
361
+ valueMap: Map<string, any>;
362
+ defaults: Map<string, any>;
363
+ atoms: Map<string, Atom<any>>;
364
+ selectors: Map<string, WritableSelector<any>>;
365
+ readonlySelectors: Map<string, ReadonlySelector<any>>;
366
+ atomsThatAreDefault: Set<string>;
367
+ selectorAtoms: Junction<`selectorKey`, string, `atomKey`, string>;
368
+ selectorGraph: Junction<`upstreamSelectorKey`, string, `downstreamSelectorKey`, string, {
369
+ source: string;
370
+ }>;
371
+ trackers: Map<string, Tracker<Transceiver<any>>>;
372
+ families: Map<string, MutableAtomFamily<any, any, any> | ReadonlySelectorFamily<any, any> | RegularAtomFamily<any, any> | WritableSelectorFamily<any, any>>;
373
+ joins: Map<string, Join<any, any, any, any, any, any>>;
374
+ transactions: Map<string, Transaction<Func>>;
375
+ transactionMeta: TransactionEpoch | TransactionProgress<Func>;
376
+ timelines: Map<string, Timeline<any>>;
377
+ timelineTopics: Junction<`timelineKey`, string, `topicKey`, string, {
378
+ topicType: `atom_family` | `atom` | `molecule_family` | `molecule`;
379
+ }>;
380
+ disposalTraces: CircularBuffer<{
381
+ key: string;
382
+ trace: string;
383
+ }>;
384
+ molecules: Map<string, Molecule<Canonical>>;
385
+ moleculeJoins: Junction<`moleculeKey`, stringified<Canonical>, `joinKey`, string>;
386
+ moleculeGraph: Junction<`upstreamMoleculeKey`, stringified<Canonical> | `root`, `downstreamMoleculeKey`, stringified<Canonical>, {
387
+ source: stringified<Canonical>;
388
+ }>;
389
+ moleculeData: Junction<`moleculeKey`, stringified<Canonical>, `stateFamilyKey`, string>;
390
+ miscResources: Map<string, Disposable>;
391
+ on: StoreEventCarrier;
392
+ operation: OperationProgress;
393
+ config: {
394
+ name: string;
395
+ lifespan: `ephemeral` | `immortal`;
396
+ };
397
+ loggers: AtomIOLogger[];
398
+ logger: Logger;
399
+ constructor(config: Store[`config`], store?: Store | null);
425
400
  }
401
+ type StoreEventCarrier = {
402
+ atomCreation: Subject<AtomToken<unknown>>;
403
+ atomDisposal: Subject<AtomToken<unknown>>;
404
+ selectorCreation: Subject<ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>>;
405
+ selectorDisposal: Subject<ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>>;
406
+ timelineCreation: Subject<TimelineToken<unknown>>;
407
+ transactionCreation: Subject<TransactionToken<Func>>;
408
+ transactionApplying: StatefulSubject<TransactionProgress<Func> | null>;
409
+ operationClose: Subject<OperationProgress>;
410
+ moleculeCreation: Subject<MoleculeCreation>;
411
+ moleculeDisposal: Subject<MoleculeDisposal>;
412
+ };
426
413
  declare global {
427
- var ATOM_IO_IMPLICIT_STORE: Store | undefined;
414
+ var ATOM_IO_IMPLICIT_STORE: Store | undefined;
428
415
  }
429
416
  declare const IMPLICIT: {
430
- readonly STORE: Store;
417
+ STORE: () => Store;
431
418
  };
432
419
  declare const clearStore: (store: Store) => void;
433
420
 
421
+ //#endregion
422
+ //#region src/internal/store/withdraw.d.ts
434
423
  declare function withdraw<T>(store: Store, token: RegularAtomToken<T>): RegularAtom<T>;
435
424
  declare function withdraw<T extends Transceiver<any>>(store: Store, token: MutableAtomToken<T, any>): MutableAtom<T, any>;
436
425
  declare function withdraw<T>(store: Store, token: AtomToken<T>): Atom<T>;
@@ -453,108 +442,156 @@ declare function withdraw<T>(store: Store, token: WritableToken<T>): WritableSta
453
442
  declare function withdraw<T>(store: Store, token: ReadableToken<T>): ReadableState<T>;
454
443
  declare function withdraw(store: Store, token: AtomIOToken): AtomIOInternalResource;
455
444
 
445
+ //#endregion
446
+ //#region src/internal/mutable/transceiver.d.ts
456
447
  interface Transceiver<S extends Json.Serializable> {
457
- do: (update: S) => number | `OUT_OF_RANGE` | null;
458
- undo: (update: S) => void;
459
- subscribe: (key: string, fn: (update: S) => void) => () => void;
460
- cacheUpdateNumber: number;
461
- getUpdateNumber: (update: S) => number;
448
+ do: (update: S) => number | `OUT_OF_RANGE` | null;
449
+ undo: (update: S) => void;
450
+ subscribe: (key: string, fn: (update: S) => void) => () => void;
451
+ cacheUpdateNumber: number;
452
+ getUpdateNumber: (update: S) => number;
462
453
  }
463
454
  declare function isTransceiver(value: unknown): value is Transceiver<Json.Serializable>;
464
455
  type TransceiverMode = `playback` | `record` | `transaction`;
465
- type Signal<TVR extends Transceiver<any>> = TVR extends Transceiver<infer S> ? S : never;
456
+ type Signal$1<TVR extends Transceiver<any>> = TVR extends Transceiver<infer S> ? S : never;
466
457
 
458
+ //#endregion
459
+ //#region src/internal/mutable/create-mutable-atom.d.ts
467
460
  declare function createMutableAtom<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, options: MutableAtomOptions<T, J>, family: FamilyMetadata | undefined): MutableAtomToken<T, J>;
468
461
 
462
+ //#endregion
463
+ //#region src/internal/mutable/create-mutable-atom-family.d.ts
469
464
  declare function createMutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(store: Store, options: MutableAtomFamilyOptions<T, J, K>, internalRoles?: string[]): MutableAtomFamilyToken<T, J, K>;
470
465
 
466
+ //#endregion
467
+ //#region src/internal/mutable/get-json-family.d.ts
471
468
  declare const getJsonFamily: <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable, Key extends Canonical>(mutableAtomFamily: MutableAtomFamilyToken<Core, SerializableCore, Key>, store: Store) => WritableSelectorFamily<SerializableCore, Key>;
472
469
 
470
+ //#endregion
471
+ //#region src/internal/mutable/get-json-token.d.ts
473
472
  declare const getJsonToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(store: Store, mutableAtomToken: MutableAtomToken<Core, SerializableCore>) => WritableSelectorToken<SerializableCore>;
474
473
 
475
- declare const getUpdateFamily: <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable, Key extends string>(mutableAtomFamily: MutableAtomFamilyToken<Core, SerializableCore, Key>, store: Store) => AtomFamily<Signal<Core>, Key>;
474
+ //#endregion
475
+ //#region src/internal/mutable/get-update-family.d.ts
476
+ declare const getUpdateFamily: <Core extends Transceiver<Json.Serializable>, SerializableCore extends Json.Serializable, Key extends string>(mutableAtomFamily: MutableAtomFamilyToken<Core, SerializableCore, Key>, store: Store) => AtomFamily<Signal$1<Core>, Key>;
476
477
 
477
- declare const getUpdateToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(mutableAtomToken: MutableAtomToken<Core, SerializableCore>) => RegularAtomToken<Signal<Core>>;
478
+ //#endregion
479
+ //#region src/internal/mutable/get-update-token.d.ts
480
+ declare const getUpdateToken: <Core extends Transceiver<any>, SerializableCore extends Json.Serializable>(mutableAtomToken: MutableAtomToken<Core, SerializableCore>) => RegularAtomToken<Signal$1<Core>>;
478
481
 
482
+ //#endregion
483
+ //#region src/internal/mutable/tracker.d.ts
479
484
  /**
480
- * @internal Give the tracker a transceiver state and a store, and it will
481
- * subscribe to the transceiver's inner value. When the inner value changes,
482
- * the tracker will update its own state to reflect the change.
483
- */
485
+ * @internal Give the tracker a transceiver state and a store, and it will
486
+ * subscribe to the transceiver's inner value. When the inner value changes,
487
+ * the tracker will update its own state to reflect the change.
488
+ */
484
489
  declare class Tracker<Mutable extends Transceiver<any>> {
485
- private Update;
486
- private initializeState;
487
- private unsubscribeFromInnerValue;
488
- private unsubscribeFromState;
489
- private observeCore;
490
- private updateCore;
491
- mutableState: MutableAtomToken<Mutable, Json.Serializable>;
492
- latestUpdateState: RegularAtomToken<typeof this.Update | null>;
493
- [Symbol.dispose]: () => void;
494
- constructor(mutableState: MutableAtomToken<Mutable, Json.Serializable>, store: Store);
490
+ private initializeState;
491
+ private unsubscribeFromInnerValue;
492
+ private unsubscribeFromState;
493
+ private observeCore;
494
+ private updateCore;
495
+ mutableState: MutableAtomToken<Mutable, Json.Serializable>;
496
+ latestUpdateState: RegularAtomToken<(Mutable extends Transceiver<infer Signal> ? Signal : never) | null>;
497
+ [Symbol.dispose]: () => void;
498
+ constructor(mutableState: MutableAtomToken<Mutable, Json.Serializable>, store: Store);
495
499
  }
496
500
 
501
+ //#endregion
502
+ //#region src/internal/mutable/tracker-family.d.ts
497
503
  declare class FamilyTracker<Core extends Transceiver<any>, FamilyMemberKey extends Canonical> {
498
- private trackers;
499
- private readonly Update;
500
- readonly latestUpdateAtoms: RegularAtomFamily<typeof this.Update | null, FamilyMemberKey>;
501
- readonly mutableAtoms: MutableAtomFamily<Core, any, FamilyMemberKey>;
502
- constructor(mutableAtoms: MutableAtomFamily<Core, any, FamilyMemberKey>, store: Store);
504
+ private trackers;
505
+ readonly latestUpdateAtoms: RegularAtomFamily<(Core extends Transceiver<infer Signal> ? Signal : never) | null, FamilyMemberKey>;
506
+ readonly mutableAtoms: MutableAtomFamily<Core, any, FamilyMemberKey>;
507
+ constructor(mutableAtoms: MutableAtomFamily<Core, any, FamilyMemberKey>, store: Store);
503
508
  }
504
509
 
510
+ //#endregion
511
+ //#region src/internal/arbitrary.d.ts
505
512
  declare function arbitrary(random?: () => number): string;
506
513
 
514
+ //#endregion
515
+ //#region src/internal/atom/create-regular-atom.d.ts
507
516
  declare function createRegularAtom<T>(store: Store, options: RegularAtomOptions<T>, family: FamilyMetadata | undefined): RegularAtomToken<T>;
508
517
 
518
+ //#endregion
519
+ //#region src/internal/atom/create-standalone-atom.d.ts
509
520
  declare function createStandaloneAtom<T>(store: Store, options: RegularAtomOptions<T>): RegularAtomToken<T>;
510
521
  declare function createStandaloneAtom<T extends Transceiver<any>, J extends Json.Serializable>(store: Store, options: MutableAtomOptions<T, J>): MutableAtomToken<T, J>;
511
522
 
523
+ //#endregion
524
+ //#region src/internal/atom/dispose-atom.d.ts
512
525
  declare function disposeAtom(store: Store, atomToken: AtomToken<unknown>): void;
513
526
 
527
+ //#endregion
528
+ //#region src/internal/atom/is-default.d.ts
514
529
  declare const isAtomDefault: (store: Store, key: string) => boolean;
515
530
  declare const markAtomAsDefault: (store: Store, key: string) => void;
516
531
  declare const markAtomAsNotDefault: (store: Store, key: string) => void;
517
532
 
533
+ //#endregion
534
+ //#region src/internal/future.d.ts
518
535
  /**
519
- * A Promise whose incoming value can be hot swapped.
520
- * @internal
521
- * @private
522
- * @typeParam T The type of the value that the promise will resolve to.
523
- *
524
- * @remarks
525
- * Can be constructed like a Promise, or from an existing Promise.
526
- */
536
+ * A Promise whose incoming value can be hot swapped.
537
+ * @internal
538
+ * @private
539
+ * @typeParam T The type of the value that the promise will resolve to.
540
+ *
541
+ * @remarks
542
+ * Can be constructed like a Promise, or from an existing Promise.
543
+ */
527
544
  declare class Future<T> extends Promise<T> {
528
- private fate;
529
- private resolve;
530
- private reject;
531
- done: boolean;
532
- constructor(executor: Promise<T> | ((resolve: (value: T) => void, reject: (reason?: any) => void) => void));
533
- private pass;
534
- private fail;
535
- use(value: Promise<T> | T): void;
545
+ private fate;
546
+ private resolve;
547
+ private reject;
548
+ done: boolean;
549
+ constructor(executor: Promise<T> | ((resolve: (value: T) => void, reject: (reason?: any) => void) => void));
550
+ private pass;
551
+ private fail;
552
+ use(value: Promise<T> | T): void;
536
553
  }
537
554
 
555
+ //#endregion
556
+ //#region src/internal/caching.d.ts
538
557
  declare function cacheValue<T>(store: Store, key: string, value: T, subject: Subject<StateUpdate<unknown>>): T;
539
558
  declare function cacheValue<T extends Promise<any>>(store: Store, key: string, value: T, subject: Subject<StateUpdate<unknown>>): Future<T>;
540
559
  declare const readCachedValue: <T>(token: ReadableState<any>, target: Store) => T;
541
560
  declare const evictCachedValue: (key: string, target: Store) => void;
542
561
 
562
+ //#endregion
563
+ //#region src/internal/capitalize.d.ts
543
564
  declare function capitalize<S extends string>(string: S): Capitalize<S>;
544
565
 
566
+ //#endregion
567
+ //#region src/internal/families/create-atom-family.d.ts
545
568
  declare function createAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical>(store: Store, options: MutableAtomFamilyOptions<T, J, K>): MutableAtomFamilyToken<T, J, K>;
546
569
  declare function createAtomFamily<T, K extends Canonical>(store: Store, options: RegularAtomFamilyOptions<T, K>): RegularAtomFamilyToken<T, K>;
547
570
 
571
+ //#endregion
572
+ //#region src/internal/families/create-readonly-selector-family.d.ts
548
573
  declare function createReadonlySelectorFamily<T, K extends Canonical>(store: Store, options: ReadonlySelectorFamilyOptions<T, K>, internalRoles?: string[]): ReadonlySelectorFamilyToken<T, K>;
549
574
 
575
+ //#endregion
576
+ //#region src/internal/families/create-regular-atom-family.d.ts
550
577
  declare function createRegularAtomFamily<T, K extends Canonical>(store: Store, options: RegularAtomFamilyOptions<T, K>, internalRoles?: string[]): RegularAtomFamilyToken<T, K>;
551
578
 
579
+ //#endregion
580
+ //#region src/internal/families/create-selector-family.d.ts
552
581
  declare function createSelectorFamily<T, K extends Canonical>(store: Store, options: WritableSelectorFamilyOptions<T, K>): WritableSelectorFamilyToken<T, K>;
553
582
  declare function createSelectorFamily<T, K extends Canonical>(store: Store, options: ReadonlySelectorFamilyOptions<T, K>): ReadonlySelectorFamilyToken<T, K>;
554
583
 
584
+ //#endregion
585
+ //#region src/internal/families/create-writable-selector-family.d.ts
586
+ declare function createWritableSelectorFamily<T, K extends Canonical>(store: Store, options: WritableSelectorFamilyOptions<T, K>, internalRoles?: string[]): WritableSelectorFamilyToken<T, K>;
587
+
588
+ //#endregion
589
+ //#region src/internal/families/dispose-from-store.d.ts
555
590
  declare function disposeFromStore(store: Store, token: ReadableToken<any>): void;
556
591
  declare function disposeFromStore<K extends Canonical>(store: Store, token: ReadableFamilyToken<any, K>, key: K): void;
557
592
 
593
+ //#endregion
594
+ //#region src/internal/families/find-in-store.d.ts
558
595
  declare function findInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J, K>;
559
596
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
560
597
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
@@ -564,6 +601,8 @@ declare function findInStore<T, K extends Canonical, Key extends K>(store: Store
564
601
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K>;
565
602
  declare function findInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
566
603
 
604
+ //#endregion
605
+ //#region src/internal/families/init-family-member.d.ts
567
606
  declare function initFamilyMemberInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J, K>;
568
607
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K>;
569
608
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K>;
@@ -573,6 +612,8 @@ declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(
573
612
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K>;
574
613
  declare function initFamilyMemberInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K>;
575
614
 
615
+ //#endregion
616
+ //#region src/internal/families/seek-in-store.d.ts
576
617
  declare function seekInStore<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical, Key extends K>(store: Store, token: MutableAtomFamilyToken<T, J, K>, key: Key): MutableAtomToken<T, J, K> | undefined;
577
618
  declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: RegularAtomFamilyToken<T, K>, key: Key): RegularAtomToken<T, K> | undefined;
578
619
  declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: AtomFamilyToken<T, K>, key: Key): AtomToken<T, K> | undefined;
@@ -582,41 +623,71 @@ declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store
582
623
  declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: WritableFamilyToken<T, K>, key: Key): WritableToken<T, K> | undefined;
583
624
  declare function seekInStore<T, K extends Canonical, Key extends K>(store: Store, token: ReadableFamilyToken<T, K>, key: Key): ReadableToken<T, K> | undefined;
584
625
 
626
+ //#endregion
627
+ //#region src/internal/get-environment-data.d.ts
585
628
  type EnvironmentData = {
586
- store: Store;
629
+ store: Store;
587
630
  };
588
631
  declare function getEnvironmentData(store: Store): EnvironmentData;
589
632
 
633
+ //#endregion
634
+ //#region src/internal/get-state/get-from-store.d.ts
590
635
  declare function getFromStore<T>(store: Store, token: ReadableToken<T>): T;
591
636
  declare function getFromStore<T, K extends Canonical>(store: Store, token: ReadableFamilyToken<T, K>, key: K): T;
592
637
 
638
+ //#endregion
639
+ //#region src/internal/get-state/read-or-compute-value.d.ts
593
640
  declare const readOrComputeValue: <T>(target: Store, state: ReadableState<T>) => T;
594
641
 
642
+ //#endregion
643
+ //#region src/internal/get-trace.d.ts
595
644
  declare function getTrace(error: Error): string;
596
645
 
646
+ //#endregion
647
+ //#region src/internal/ingest-updates/ingest-atom-update.d.ts
597
648
  declare function ingestAtomUpdate(applying: `newValue` | `oldValue`, atomUpdate: KeyedStateUpdate<any>, store: Store): void;
598
649
 
650
+ //#endregion
651
+ //#region src/internal/ingest-updates/ingest-creation-disposal.d.ts
599
652
  declare function ingestCreationEvent(update: StateCreation<any>, applying: `newValue` | `oldValue`, store: Store): void;
600
653
  declare function ingestDisposalEvent(update: StateDisposal<ReadableToken<any>>, applying: `newValue` | `oldValue`, store: Store): void;
601
654
  declare function ingestMoleculeCreationEvent(update: MoleculeCreation, applying: `newValue` | `oldValue`, store: Store): void;
602
655
  declare function ingestMoleculeDisposalEvent(update: MoleculeDisposal, applying: `newValue` | `oldValue`, store: Store): void;
603
656
  declare function ingestMoleculeTransferEvent(update: MoleculeTransfer, applying: `newValue` | `oldValue`, store: Store): void;
604
657
 
658
+ //#endregion
659
+ //#region src/internal/ingest-updates/ingest-selector-update.d.ts
605
660
  declare function ingestSelectorUpdate(applying: `newValue` | `oldValue`, selectorUpdate: TimelineSelectorUpdate<any>, store: Store): void;
606
661
 
662
+ //#endregion
663
+ //#region src/internal/ingest-updates/ingest-transaction-update.d.ts
607
664
  declare function ingestTransactionUpdate(applying: `newValue` | `oldValue`, transactionUpdate: TransactionUpdate<any>, store: Store): void;
608
665
 
666
+ //#endregion
667
+ //#region src/internal/install-into-store.d.ts
668
+ /**
669
+ * @public
670
+ * Install the given tokens into the target store
671
+ * @param tokens - States, families, transactions, and timelines to install into the target store
672
+ * @param target - The store to install the tokens into
673
+ * @param source - The store to install the tokens from
674
+ *
675
+ */
676
+ declare function installIntoStore(tokens: AtomIOToken[], target: Store, source: Store): void;
677
+
678
+ //#endregion
679
+ //#region src/internal/keys.d.ts
609
680
  type AtomKey<T> = string & {
610
- __atomKey?: never;
611
- __brand?: T;
681
+ __atomKey?: never;
682
+ __brand?: T;
612
683
  };
613
684
  type SelectorKey<T> = string & {
614
- __selectorKey?: never;
615
- __brand?: T;
685
+ __selectorKey?: never;
686
+ __brand?: T;
616
687
  };
617
688
  type ReadonlySelectorKey<T> = string & {
618
- __readonlySelectorKey?: never;
619
- __brand?: T;
689
+ __readonlySelectorKey?: never;
690
+ __brand?: T;
620
691
  };
621
692
  declare const isAtomKey: (store: Store, key: string) => key is AtomKey<unknown>;
622
693
  declare const isSelectorKey: (store: Store, key: string) => key is SelectorKey<unknown>;
@@ -624,127 +695,173 @@ declare const isReadonlySelectorKey: (store: Store, key: string) => key is Reado
624
695
  type StateKey<T> = AtomKey<T> | ReadonlySelectorKey<T> | SelectorKey<T>;
625
696
  declare const isStateKey: (store: Store, key: string) => key is StateKey<unknown>;
626
697
 
698
+ //#endregion
699
+ //#region src/internal/lazy-map.d.ts
627
700
  declare class LazyMap<K, V> extends Map<K, V> {
628
- deleted: Set<K>;
629
- protected readonly source: Map<K, V>;
630
- constructor(source: Map<K, V>);
631
- get(key: K): V | undefined;
632
- set(key: K, value: V): this;
633
- hasOwn(key: K): boolean;
634
- has(key: K): boolean;
635
- delete(key: K): boolean;
701
+ deleted: Set<K>;
702
+ protected readonly source: Map<K, V>;
703
+ constructor(source: Map<K, V>);
704
+ get(key: K): V | undefined;
705
+ set(key: K, value: V): this;
706
+ hasOwn(key: K): boolean;
707
+ has(key: K): boolean;
708
+ delete(key: K): boolean;
636
709
  }
637
710
 
711
+ //#endregion
712
+ //#region src/internal/not-found-error.d.ts
638
713
  declare class NotFoundError extends Error {
639
- constructor(token: AtomIOToken, store: Store);
714
+ constructor(token: AtomIOToken, store: Store);
640
715
  }
641
716
 
717
+ //#endregion
718
+ //#region src/internal/pretty-print.d.ts
642
719
  declare function prettyPrintTokenType(token: AtomIOToken): string;
643
720
 
721
+ //#endregion
722
+ //#region src/internal/reserved-keys.d.ts
644
723
  type ReservedIntrospectionKey = `🔍 ${string}`;
645
724
  declare function isReservedIntrospectionKey(value: string): value is ReservedIntrospectionKey;
646
725
 
726
+ //#endregion
727
+ //#region src/internal/selector/create-readonly-selector.d.ts
647
728
  declare const createReadonlySelector: <T>(store: Store, options: ReadonlySelectorOptions<T>, family: FamilyMetadata | undefined) => ReadonlySelectorToken<T>;
648
729
 
730
+ //#endregion
731
+ //#region src/internal/selector/create-standalone-selector.d.ts
649
732
  declare function createStandaloneSelector<T>(store: Store, options: WritableSelectorOptions<T>): WritableSelectorToken<T>;
650
733
  declare function createStandaloneSelector<T>(store: Store, options: ReadonlySelectorOptions<T>): ReadonlySelectorToken<T>;
651
734
 
735
+ //#endregion
736
+ //#region src/internal/selector/create-writable-selector.d.ts
652
737
  declare const createWritableSelector: <T>(store: Store, options: WritableSelectorOptions<T>, family: FamilyMetadata | undefined) => WritableSelectorToken<T>;
653
738
 
739
+ //#endregion
740
+ //#region src/internal/selector/dispose-selector.d.ts
654
741
  declare function disposeSelector(store: Store, selectorToken: SelectorToken<unknown>): void;
655
742
 
743
+ //#endregion
744
+ //#region src/internal/selector/get-selector-dependency-keys.d.ts
656
745
  declare const getSelectorDependencyKeys: (key: string, store: Store) => (AtomKey<unknown> | ReadonlySelectorKey<unknown> | SelectorKey<unknown>)[];
657
746
 
747
+ //#endregion
748
+ //#region src/internal/selector/register-selector.d.ts
658
749
  declare const registerSelector: (selectorKey: string, covered: Set<string>, store: Store) => SetterToolkit;
659
750
 
751
+ //#endregion
752
+ //#region src/internal/selector/trace-selector-atoms.d.ts
660
753
  declare const traceSelectorAtoms: (directDependencyKey: StateKey<unknown>, covered: Set<string>, store: Store) => AtomKey<unknown>[];
661
754
  declare const traceAllSelectorAtoms: (selector: Selector<any>, store: Store) => AtomKey<unknown>[];
662
755
 
756
+ //#endregion
757
+ //#region src/internal/selector/update-selector-atoms.d.ts
663
758
  declare const updateSelectorAtoms: (selectorKey: string, dependency: ReadonlySelectorToken<unknown> | WritableToken<unknown>, covered: Set<string>, store: Store) => void;
664
759
 
760
+ //#endregion
761
+ //#region src/internal/set-state/become.d.ts
665
762
  type Modify<T> = (thing: T) => T;
666
763
  declare const become: <T>(nextVersionOfThing: Modify<T> | T) => (originalThing: T) => T;
667
764
 
765
+ //#endregion
766
+ //#region src/internal/set-state/set-atom-or-selector.d.ts
668
767
  declare const setAtomOrSelector: <T>(store: Store, state: WritableState<T>, value: T | ((oldValue: T) => T)) => void;
669
768
 
769
+ //#endregion
770
+ //#region src/internal/set-state/set-into-store.d.ts
670
771
  declare function setIntoStore<T, New extends T>(store: Store, token: WritableToken<T>, value: New | ((oldValue: T) => New)): void;
671
772
  declare function setIntoStore<T, K extends Canonical, New extends T>(store: Store, token: WritableFamilyToken<T, K>, key: K, value: New | ((oldValue: T) => New)): void;
672
773
 
774
+ //#endregion
775
+ //#region src/internal/subscribe/recall-state.d.ts
673
776
  declare const recallState: <T>(store: Store, state: ReadableState<T>) => T;
674
777
 
778
+ //#endregion
779
+ //#region src/internal/subscribe/subscribe-in-store.d.ts
675
780
  declare function subscribeInStore<T>(store: Store$1, token: ReadableToken<T>, handleUpdate: UpdateHandler<T>, key?: string): () => void;
676
781
  declare function subscribeInStore<F extends Func$1>(store: Store$1, token: TransactionToken<F>, handleUpdate: TransactionUpdateHandler<F>, key?: string): () => void;
677
782
  declare function subscribeInStore<M extends TimelineManageable>(store: Store$1, token: TimelineToken<M>, handleUpdate: (update: TimelineUpdate<M> | `redo` | `undo`) => void, key?: string): () => void;
678
783
  declare function subscribeInStore<M extends TimelineManageable>(store: Store$1, token: ReadableToken<any> | TimelineToken<M> | TransactionToken<any>, handleUpdate: TransactionUpdateHandler<any> | UpdateHandler<any> | ((update: TimelineUpdate<M> | `redo` | `undo`) => void), key?: string): () => void;
679
784
 
785
+ //#endregion
786
+ //#region src/internal/subscribe/subscribe-to-root-atoms.d.ts
680
787
  declare const subscribeToRootAtoms: <T>(store: Store, selector: Selector<T>) => (() => void)[];
681
788
 
789
+ //#endregion
790
+ //#region src/internal/subscribe/subscribe-to-state.d.ts
682
791
  declare function subscribeToState<T>(store: Store, token: ReadableToken<T>, key: string, handleUpdate: UpdateHandler<T>): () => void;
683
792
 
793
+ //#endregion
794
+ //#region src/internal/subscribe/subscribe-to-timeline.d.ts
684
795
  declare const subscribeToTimeline: <ManagedAtom extends TimelineManageable>(store: Store, token: TimelineToken<ManagedAtom>, key: string, handleUpdate: (update: TimelineUpdate<any> | `redo` | `undo`) => void) => (() => void);
685
796
 
797
+ //#endregion
798
+ //#region src/internal/subscribe/subscribe-to-transaction.d.ts
686
799
  declare const subscribeToTransaction: <F extends Func>(store: Store, token: TransactionToken<F>, key: string, handleUpdate: TransactionUpdateHandler<F>) => (() => void);
687
800
 
801
+ //#endregion
802
+ //#region src/internal/index.d.ts
688
803
  type AtomIOState = {
689
- key: string;
690
- family?: FamilyMetadata;
691
- install: (store: Store) => void;
692
- subject: Subject<{
693
- newValue: any;
694
- oldValue: any;
695
- }>;
804
+ key: string;
805
+ family?: FamilyMetadata;
806
+ install: (store: Store) => void;
807
+ subject: Subject<{
808
+ newValue: any;
809
+ oldValue: any;
810
+ }>;
696
811
  };
697
812
  type RegularAtom<T> = AtomIOState & {
698
- type: `atom`;
699
- default: T | (() => T);
700
- cleanup?: () => void;
813
+ type: `atom`;
814
+ default: T | (() => T);
815
+ cleanup?: () => void;
701
816
  };
702
817
  type MutableAtom<T extends Transceiver<any>, J extends Json.Serializable> = AtomIOState & JsonInterface<T, J> & {
703
- type: `mutable_atom`;
704
- default: () => T;
705
- cleanup?: () => void;
818
+ type: `mutable_atom`;
819
+ default: () => T;
820
+ cleanup?: () => void;
706
821
  };
707
822
  type Atom<T> = RegularAtom<T> | (T extends Transceiver<any> ? MutableAtom<T, any> : never);
708
823
  type WritableSelector<T> = AtomIOState & {
709
- type: `selector`;
710
- get: () => T;
711
- set: (newValue: T | ((oldValue: T) => T)) => void;
824
+ type: `selector`;
825
+ get: () => T;
826
+ set: (newValue: T | ((oldValue: T) => T)) => void;
712
827
  };
713
828
  type ReadonlySelector<T> = AtomIOState & {
714
- type: `readonly_selector`;
715
- get: () => T;
829
+ type: `readonly_selector`;
830
+ get: () => T;
716
831
  };
717
832
  type Selector<T> = ReadonlySelector<T> | WritableSelector<T>;
718
833
  type WritableState<T> = Atom<T> | WritableSelector<T>;
719
834
  type ReadableState<T> = Atom<T> | Selector<T>;
720
835
  type RegularAtomFamily<T, K extends Canonical> = RegularAtomFamilyToken<T, K> & {
721
- (key: K): RegularAtomToken<T>;
722
- subject: Subject<StateCreation<AtomToken<T>> | StateDisposal<AtomToken<T>>>;
723
- install: (store: Store) => void;
724
- internalRoles: string[] | undefined;
836
+ (key: K): RegularAtomToken<T>;
837
+ subject: Subject<StateCreation<AtomToken<T>> | StateDisposal<AtomToken<T>>>;
838
+ install: (store: Store) => void;
839
+ internalRoles: string[] | undefined;
725
840
  };
726
841
  type MutableAtomFamily<T extends Transceiver<any>, J extends Json.Serializable, K extends Canonical> = JsonInterface<T, J> & MutableAtomFamilyToken<T, J, K> & {
727
- (key: K): MutableAtomToken<T, J>;
728
- subject: Subject<StateCreation<MutableAtomToken<T, J>> | StateDisposal<MutableAtomToken<T, J>>>;
729
- install: (store: Store) => void;
730
- internalRoles: string[] | undefined;
842
+ (key: K): MutableAtomToken<T, J>;
843
+ subject: Subject<StateCreation<MutableAtomToken<T, J>> | StateDisposal<MutableAtomToken<T, J>>>;
844
+ install: (store: Store) => void;
845
+ internalRoles: string[] | undefined;
731
846
  };
732
847
  type AtomFamily<T, K extends Canonical = Canonical> = MutableAtomFamily<T extends Transceiver<any> ? T : never, any, K> | RegularAtomFamily<T, K>;
733
848
  type WritableSelectorFamily<T, K extends Canonical> = WritableSelectorFamilyToken<T, K> & ((key: K) => WritableSelectorToken<T>) & {
734
- default: (key: K) => T;
735
- subject: Subject<StateCreation<WritableSelectorToken<T>> | StateDisposal<WritableSelectorToken<T>>>;
736
- install: (store: Store) => void;
737
- internalRoles: string[] | undefined;
849
+ default: (key: K) => T;
850
+ subject: Subject<StateCreation<WritableSelectorToken<T>> | StateDisposal<WritableSelectorToken<T>>>;
851
+ install: (store: Store) => void;
852
+ internalRoles: string[] | undefined;
738
853
  };
739
854
  type ReadonlySelectorFamily<T, K extends Canonical> = ReadonlySelectorFamilyToken<T, K> & ((key: K) => ReadonlySelectorToken<T>) & {
740
- default: (key: K) => T;
741
- subject: Subject<StateCreation<ReadonlySelectorToken<T>> | StateDisposal<ReadonlySelectorToken<T>>>;
742
- install: (store: Store) => void;
743
- internalRoles: string[] | undefined;
855
+ default: (key: K) => T;
856
+ subject: Subject<StateCreation<ReadonlySelectorToken<T>> | StateDisposal<ReadonlySelectorToken<T>>>;
857
+ install: (store: Store) => void;
858
+ internalRoles: string[] | undefined;
744
859
  };
745
860
  type SelectorFamily<T, K extends Canonical> = ReadonlySelectorFamily<T, K> | WritableSelectorFamily<T, K>;
746
861
  type WritableFamily<T, K extends Canonical> = AtomFamily<T, K> | WritableSelectorFamily<T, K>;
747
862
  type ReadableFamily<T, K extends Canonical> = AtomFamily<T, K> | SelectorFamily<T, K>;
748
863
  type AtomIOInternalResource = ReadableFamily<any, any> | ReadableState<any> | Timeline<any> | Transaction<any>;
749
864
 
750
- export { type Atom, type AtomFamily, type AtomIOInternalResource, type AtomIOState, type AtomKey, type BaseExternalStoreConfiguration, type ChildStore, CircularBuffer, type Count, type Each, type Empty, type EnvironmentData, type ExternalStoreConfiguration, type ExternalStoreWithContentConfiguration, FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, type Flat, type Func, Future, IMPLICIT, Join, type JoinStateFamilies, Junction, type JunctionAdvancedConfiguration, type JunctionEntries, type JunctionEntriesBase, type JunctionJSON, type JunctionSchema, type JunctionSchemaBase, LazyMap, type Lineage, type Modify, type Molecule, type MutableAtom, type MutableAtomFamily, NotFoundError, type OperationProgress, type ReadableFamily, type ReadableState, type ReadonlySelector, type ReadonlySelectorFamily, type ReadonlySelectorKey, type Refinement, type RegularAtom, type RegularAtomFamily, type ReservedIntrospectionKey, type RootStore, type Selector, type SelectorFamily, type SelectorKey, type Signal, type StateKey, StatefulSubject, Store, Subject, TRANSACTION_PHASES, type Timeline, type TimelineAtomUpdate, type TimelineMoleculeCreation, type TimelineMoleculeDisposal, type TimelineSelectorUpdate, type TimelineStateCreation, type TimelineStateDisposal, type TimelineTransactionUpdate, Tracker, type Transaction, type TransactionEpoch, type TransactionPhase, type TransactionProgress, type Transceiver, type TransceiverMode, type WritableFamily, type WritableSelector, type WritableSelectorFamily, type WritableState, abortTransaction, actUponStore, allocateIntoStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, capitalize, claimWithinStore, clearStore, closeOperation, counterfeit, createAtomFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, deallocateFromStore, deposit, disposeAtom, disposeFromStore, disposeSelector, editRelationsInStore, evictCachedValue, findInStore, findRelationsInStore, fuseWithinStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getInternalRelationsFromStore, getJoin, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getTrace, getUpdateFamily, getUpdateToken, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestMoleculeTransferEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isReservedIntrospectionKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeRootMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
865
+ //#endregion
866
+ export { Atom, AtomFamily, AtomIOInternalResource, AtomIOState, AtomKey, BaseExternalStoreConfiguration, ChildStore, CircularBuffer, Count, Each, Empty, EnvironmentData, ExternalStoreConfiguration, ExternalStoreWithContentConfiguration, FAMILY_MEMBER_TOKEN_TYPES, FamilyTracker, Flat, Func, Future, IMPLICIT, Join, JoinStateFamilies, Junction, JunctionAdvancedConfiguration, JunctionEntries, JunctionEntriesBase, JunctionJSON, JunctionSchema, JunctionSchemaBase, LazyMap, Lineage, Modify, Molecule, MutableAtom, MutableAtomFamily, NotFoundError, OperationProgress, ReadableFamily, ReadableState, ReadonlySelector, ReadonlySelectorFamily, ReadonlySelectorKey, Refinement, RegularAtom, RegularAtomFamily, ReservedIntrospectionKey, RootStore, Selector, SelectorFamily, SelectorKey, Signal$1 as Signal, StateKey, StatefulSubject, Store, StoreEventCarrier, Subject, TRANSACTION_PHASES, Timeline, TimelineAtomUpdate, TimelineMoleculeCreation, TimelineMoleculeDisposal, TimelineSelectorUpdate, TimelineStateCreation, TimelineStateDisposal, TimelineTransactionUpdate, Tracker, Transaction, TransactionEpoch, TransactionPhase, TransactionProgress, Transceiver, TransceiverMode, WritableFamily, WritableSelector, WritableSelectorFamily, WritableState, abortTransaction, actUponStore, allocateIntoStore, applyTransaction, arbitrary, assignTransactionToContinuity, become, buildTransaction, cacheValue, capitalize, claimWithinStore, clearStore, closeOperation, counterfeit, createAtomFamily, createMutableAtom, createMutableAtomFamily, createReadonlySelector, createReadonlySelectorFamily, createRegularAtom, createRegularAtomFamily, createSelectorFamily, createStandaloneAtom, createStandaloneSelector, createTimeline, createTransaction, createWritableSelector, createWritableSelectorFamily, deallocateFromStore, deposit, disposeAtom, disposeFromStore, disposeSelector, editRelationsInStore, evictCachedValue, findInStore, findRelationsInStore, fuseWithinStore, getContinuityKey, getEnvironmentData, getEpochNumberOfAction, getEpochNumberOfContinuity, getFromStore, getInternalRelationsFromStore, getJoin, getJsonFamily, getJsonToken, getSelectorDependencyKeys, getTrace, getUpdateFamily, getUpdateToken, ingestAtomUpdate, ingestCreationEvent, ingestDisposalEvent, ingestMoleculeCreationEvent, ingestMoleculeDisposalEvent, ingestMoleculeTransferEvent, ingestSelectorUpdate, ingestTransactionUpdate, initFamilyMemberInStore, installIntoStore, isAtomDefault, isAtomKey, isChildStore, isDone, isReadonlySelectorKey, isReservedIntrospectionKey, isRootStore, isSelectorKey, isStateKey, isTransceiver, makeRootMoleculeInStore, markAtomAsDefault, markAtomAsNotDefault, markDone, newest, openOperation, prettyPrintTokenType, readCachedValue, readOrComputeValue, recallState, registerSelector, seekInStore, setAtomOrSelector, setEpochNumberOfAction, setEpochNumberOfContinuity, setIntoStore, subscribeInStore, subscribeToRootAtoms, subscribeToState, subscribeToTimeline, subscribeToTransaction, timeTravel, traceAllSelectorAtoms, traceSelectorAtoms, updateSelectorAtoms, withdraw };
867
+ //# sourceMappingURL=index.d.ts.map