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.
- package/dist/chunk-Cl8Af3a2.js +11 -0
- package/dist/data/index.d.ts +28 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +66 -0
- package/dist/data/index.js.map +1 -0
- package/dist/devtools-CAg2k57t.js +0 -0
- package/dist/devtools-Jyn42mZm.css +311 -0
- package/dist/devtools-Jyn42mZm.css.map +1 -0
- package/dist/eslint-plugin/index.d.ts +36 -0
- package/dist/eslint-plugin/index.d.ts.map +1 -0
- package/dist/eslint-plugin/index.js +196 -0
- package/dist/eslint-plugin/index.js.map +1 -0
- package/{internal/dist → dist/internal}/index.d.ts +495 -378
- package/dist/internal/index.d.ts.map +1 -0
- package/dist/internal/index.js +3213 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/introspection/index.d.ts +153 -0
- package/dist/introspection/index.d.ts.map +1 -0
- package/dist/introspection/index.js +520 -0
- package/dist/introspection/index.js.map +1 -0
- package/{json/dist → dist/json}/index.d.ts +38 -32
- package/dist/json/index.d.ts.map +1 -0
- package/dist/json/index.js +75 -0
- package/dist/json/index.js.map +1 -0
- package/dist/main/index.d.ts +691 -0
- package/dist/main/index.d.ts.map +1 -0
- package/dist/main/index.js +237 -0
- package/dist/main/index.js.map +1 -0
- package/{react/dist → dist/react}/index.d.ts +22 -11
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +91 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react-devtools/index.d.ts +194 -0
- package/dist/react-devtools/index.d.ts.map +1 -0
- package/dist/react-devtools/index.js +1274 -0
- package/dist/react-devtools/index.js.map +1 -0
- package/dist/realtime/index.d.ts +55 -0
- package/dist/realtime/index.d.ts.map +1 -0
- package/dist/realtime/index.js +113 -0
- package/dist/realtime/index.js.map +1 -0
- package/dist/realtime-client/index.d.ts +81 -0
- package/dist/realtime-client/index.d.ts.map +1 -0
- package/dist/realtime-client/index.js +376 -0
- package/dist/realtime-client/index.js.map +1 -0
- package/dist/realtime-react/index.d.ts +68 -0
- package/dist/realtime-react/index.d.ts.map +1 -0
- package/dist/realtime-react/index.js +182 -0
- package/dist/realtime-react/index.js.map +1 -0
- package/dist/realtime-server/index.d.ts +190 -0
- package/dist/realtime-server/index.d.ts.map +1 -0
- package/dist/realtime-server/index.js +795 -0
- package/dist/realtime-server/index.js.map +1 -0
- package/dist/realtime-testing/index.d.ts +60 -0
- package/dist/realtime-testing/index.d.ts.map +1 -0
- package/dist/realtime-testing/index.js +181 -0
- package/dist/realtime-testing/index.js.map +1 -0
- package/dist/transceivers/set-rtx/index.d.ts +44 -0
- package/dist/transceivers/set-rtx/index.d.ts.map +1 -0
- package/dist/transceivers/set-rtx/index.js +204 -0
- package/dist/transceivers/set-rtx/index.js.map +1 -0
- package/dist/web/index.d.ts +15 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +16 -0
- package/dist/web/index.js.map +1 -0
- package/package.json +65 -117
- package/{eslint-plugin/src → src/eslint-plugin}/index.ts +3 -1
- package/{eslint-plugin/src → src/eslint-plugin}/rules/explicit-state-types.ts +6 -1
- package/{eslint-plugin/src → src/eslint-plugin}/rules/synchronous-selector-dependencies.ts +14 -1
- package/{internal/src → src/internal}/families/index.ts +2 -0
- package/{internal/src → src/internal}/index.ts +1 -0
- package/{internal/src → src/internal}/junction.ts +3 -2
- package/{internal/src → src/internal}/lazy-map.ts +1 -1
- package/{internal/src → src/internal}/mutable/tracker-family.ts +2 -5
- package/{internal/src → src/internal}/mutable/tracker.ts +15 -9
- package/{internal/src → src/internal}/store/store.ts +59 -46
- package/{internal/src → src/internal}/subject.ts +1 -1
- package/{introspection/src → src/introspection}/auditor.ts +1 -1
- package/{introspection/src → src/introspection}/differ.ts +12 -1
- package/{introspection/src → src/introspection}/refinery.ts +18 -3
- package/{json/src → src/json}/entries.ts +1 -1
- package/{json/src → src/json}/select-json-family.ts +1 -1
- package/src/{realm.ts → main/realm.ts} +1 -1
- package/src/{silo.ts → main/silo.ts} +1 -1
- package/src/{transaction.ts → main/transaction.ts} +1 -1
- package/{react/src → src/react}/store-context.tsx +3 -1
- package/{react-devtools/src → src/react-devtools}/AtomIODevtools.tsx +1 -1
- package/{react-devtools/src → src/react-devtools}/Button.tsx +3 -1
- package/{react-devtools/src → src/react-devtools}/Updates.tsx +5 -1
- package/src/react-devtools/devtools.css +308 -0
- package/{react-devtools/src → src/react-devtools}/json-editor/index.ts +5 -2
- package/{react-devtools/src → src/react-devtools}/store.ts +3 -2
- package/{realtime/src → src/realtime}/shared-room-store.ts +28 -5
- package/src/realtime-client/realtime-client-stores/client-main-store.ts +23 -0
- package/src/realtime-client/realtime-client-stores/client-sync-store.ts +15 -0
- package/{realtime-react/src → src/realtime-react}/index.ts +1 -0
- package/{realtime-react/src → src/realtime-react}/on-mount.ts +1 -1
- package/{realtime-react/src → src/realtime-react}/realtime-context.tsx +5 -4
- package/{realtime-react/src → src/realtime-react}/use-single-effect.ts +1 -1
- package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-room-external-actions.ts +20 -19
- package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-room-external-store.ts +12 -7
- package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-sync-store.ts +13 -4
- package/{realtime-server/src → src/realtime-server}/realtime-server-stores/server-user-store.ts +26 -8
- package/{transceivers/set-rtx/src → src/transceivers/set-rtx}/set-rtx.ts +2 -2
- package/data/dist/index.d.ts +0 -31
- package/data/dist/index.js +0 -69
- package/data/package.json +0 -13
- package/dist/chunk-4LWKCEW3.js +0 -14
- package/dist/chunk-7SJVR7FZ.js +0 -4499
- package/dist/chunk-IR77IXS7.js +0 -526
- package/dist/chunk-PG57JXN4.js +0 -1035
- package/dist/chunk-PXB4YZDI.js +0 -153
- package/dist/chunk-Q6OOJWM4.js +0 -634
- package/dist/chunk-TJPLOX7Z.js +0 -81
- package/dist/chunk-U4K63VLA.js +0 -109
- package/dist/chunk-XWL6SNVU.js +0 -7
- package/dist/index.d.ts +0 -701
- package/dist/index.js +0 -2
- package/eslint-plugin/dist/index.d.ts +0 -51
- package/eslint-plugin/dist/index.js +0 -238
- package/eslint-plugin/package.json +0 -13
- package/internal/dist/index.js +0 -2
- package/internal/package.json +0 -13
- package/introspection/dist/index.d.ts +0 -149
- package/introspection/dist/index.js +0 -3
- package/introspection/package.json +0 -13
- package/json/dist/index.js +0 -2
- package/json/package.json +0 -13
- package/react/dist/index.js +0 -3
- package/react/package.json +0 -13
- package/react-devtools/dist/index.css +0 -309
- package/react-devtools/dist/index.d.ts +0 -169
- package/react-devtools/dist/index.js +0 -1481
- package/react-devtools/package.json +0 -13
- package/react-devtools/src/devtools.scss +0 -309
- package/realtime/dist/index.d.ts +0 -51
- package/realtime/dist/index.js +0 -3
- package/realtime/package.json +0 -13
- package/realtime-client/dist/index.d.ts +0 -41
- package/realtime-client/dist/index.js +0 -4
- package/realtime-client/package.json +0 -13
- package/realtime-client/src/realtime-client-stores/client-main-store.ts +0 -20
- package/realtime-client/src/realtime-client-stores/client-sync-store.ts +0 -15
- package/realtime-react/dist/index.d.ts +0 -39
- package/realtime-react/dist/index.js +0 -6
- package/realtime-react/package.json +0 -13
- package/realtime-server/dist/index.d.ts +0 -139
- package/realtime-server/dist/index.js +0 -4
- package/realtime-server/package.json +0 -13
- package/realtime-testing/dist/index.d.ts +0 -59
- package/realtime-testing/dist/index.js +0 -198
- package/realtime-testing/package.json +0 -13
- package/transceivers/set-rtx/dist/index.d.ts +0 -41
- package/transceivers/set-rtx/dist/index.js +0 -2
- package/transceivers/set-rtx/package.json +0 -13
- package/web/dist/index.d.ts +0 -9
- package/web/dist/index.js +0 -2
- package/web/package.json +0 -13
- /package/{data/src → src/data}/dict.ts +0 -0
- /package/{data/src → src/data}/index.ts +0 -0
- /package/{data/src → src/data}/struct-family.ts +0 -0
- /package/{data/src → src/data}/struct.ts +0 -0
- /package/{eslint-plugin/src → src/eslint-plugin}/rules/index.ts +0 -0
- /package/{eslint-plugin/src → src/eslint-plugin}/walk.ts +0 -0
- /package/{internal/src → src/internal}/arbitrary.ts +0 -0
- /package/{internal/src → src/internal}/atom/create-regular-atom.ts +0 -0
- /package/{internal/src → src/internal}/atom/create-standalone-atom.ts +0 -0
- /package/{internal/src → src/internal}/atom/dispose-atom.ts +0 -0
- /package/{internal/src → src/internal}/atom/index.ts +0 -0
- /package/{internal/src → src/internal}/atom/is-default.ts +0 -0
- /package/{internal/src → src/internal}/caching.ts +0 -0
- /package/{internal/src → src/internal}/capitalize.ts +0 -0
- /package/{internal/src → src/internal}/families/create-atom-family.ts +0 -0
- /package/{internal/src → src/internal}/families/create-readonly-selector-family.ts +0 -0
- /package/{internal/src → src/internal}/families/create-regular-atom-family.ts +0 -0
- /package/{internal/src → src/internal}/families/create-selector-family.ts +0 -0
- /package/{internal/src → src/internal}/families/create-writable-selector-family.ts +0 -0
- /package/{internal/src → src/internal}/families/dispose-from-store.ts +0 -0
- /package/{internal/src → src/internal}/families/find-in-store.ts +0 -0
- /package/{internal/src → src/internal}/families/get-family-of-token.ts +0 -0
- /package/{internal/src → src/internal}/families/init-family-member.ts +0 -0
- /package/{internal/src → src/internal}/families/seek-in-store.ts +0 -0
- /package/{internal/src → src/internal}/future.ts +0 -0
- /package/{internal/src → src/internal}/get-environment-data.ts +0 -0
- /package/{internal/src → src/internal}/get-state/get-from-store.ts +0 -0
- /package/{internal/src → src/internal}/get-state/index.ts +0 -0
- /package/{internal/src → src/internal}/get-state/read-or-compute-value.ts +0 -0
- /package/{internal/src → src/internal}/get-trace.ts +0 -0
- /package/{internal/src → src/internal}/ingest-updates/index.ts +0 -0
- /package/{internal/src → src/internal}/ingest-updates/ingest-atom-update.ts +0 -0
- /package/{internal/src → src/internal}/ingest-updates/ingest-creation-disposal.ts +0 -0
- /package/{internal/src → src/internal}/ingest-updates/ingest-selector-update.ts +0 -0
- /package/{internal/src → src/internal}/ingest-updates/ingest-transaction-update.ts +0 -0
- /package/{internal/src → src/internal}/install-into-store.ts +0 -0
- /package/{internal/src → src/internal}/join/edit-relations-in-store.ts +0 -0
- /package/{internal/src → src/internal}/join/find-relations-in-store.ts +0 -0
- /package/{internal/src → src/internal}/join/get-internal-relations-from-store.ts +0 -0
- /package/{internal/src → src/internal}/join/get-join.ts +0 -0
- /package/{internal/src → src/internal}/join/index.ts +0 -0
- /package/{internal/src → src/internal}/join/join-internal.ts +0 -0
- /package/{internal/src → src/internal}/keys.ts +0 -0
- /package/{internal/src → src/internal}/lineage.ts +0 -0
- /package/{internal/src → src/internal}/molecule.ts +0 -0
- /package/{internal/src → src/internal}/mutable/create-mutable-atom-family.ts +0 -0
- /package/{internal/src → src/internal}/mutable/create-mutable-atom.ts +0 -0
- /package/{internal/src → src/internal}/mutable/get-json-family.ts +0 -0
- /package/{internal/src → src/internal}/mutable/get-json-token.ts +0 -0
- /package/{internal/src → src/internal}/mutable/get-update-family.ts +0 -0
- /package/{internal/src → src/internal}/mutable/get-update-token.ts +0 -0
- /package/{internal/src → src/internal}/mutable/index.ts +0 -0
- /package/{internal/src → src/internal}/mutable/transceiver.ts +0 -0
- /package/{internal/src → src/internal}/not-found-error.ts +0 -0
- /package/{internal/src → src/internal}/operation.ts +0 -0
- /package/{internal/src → src/internal}/pretty-print.ts +0 -0
- /package/{internal/src → src/internal}/reserved-keys.ts +0 -0
- /package/{internal/src → src/internal}/selector/create-readonly-selector.ts +0 -0
- /package/{internal/src → src/internal}/selector/create-standalone-selector.ts +0 -0
- /package/{internal/src → src/internal}/selector/create-writable-selector.ts +0 -0
- /package/{internal/src → src/internal}/selector/dispose-selector.ts +0 -0
- /package/{internal/src → src/internal}/selector/get-selector-dependency-keys.ts +0 -0
- /package/{internal/src → src/internal}/selector/index.ts +0 -0
- /package/{internal/src → src/internal}/selector/register-selector.ts +0 -0
- /package/{internal/src → src/internal}/selector/trace-selector-atoms.ts +0 -0
- /package/{internal/src → src/internal}/selector/update-selector-atoms.ts +0 -0
- /package/{internal/src → src/internal}/set-state/become.ts +0 -0
- /package/{internal/src → src/internal}/set-state/copy-mutable-if-needed.ts +0 -0
- /package/{internal/src → src/internal}/set-state/emit-update.ts +0 -0
- /package/{internal/src → src/internal}/set-state/evict-downstream.ts +0 -0
- /package/{internal/src → src/internal}/set-state/index.ts +0 -0
- /package/{internal/src → src/internal}/set-state/set-atom-or-selector.ts +0 -0
- /package/{internal/src → src/internal}/set-state/set-atom.ts +0 -0
- /package/{internal/src → src/internal}/set-state/set-into-store.ts +0 -0
- /package/{internal/src → src/internal}/store/circular-buffer.ts +0 -0
- /package/{internal/src → src/internal}/store/counterfeit.ts +0 -0
- /package/{internal/src → src/internal}/store/deposit.ts +0 -0
- /package/{internal/src → src/internal}/store/index.ts +0 -0
- /package/{internal/src → src/internal}/store/withdraw.ts +0 -0
- /package/{internal/src → src/internal}/subscribe/index.ts +0 -0
- /package/{internal/src → src/internal}/subscribe/recall-state.ts +0 -0
- /package/{internal/src → src/internal}/subscribe/subscribe-in-store.ts +0 -0
- /package/{internal/src → src/internal}/subscribe/subscribe-to-root-atoms.ts +0 -0
- /package/{internal/src → src/internal}/subscribe/subscribe-to-state.ts +0 -0
- /package/{internal/src → src/internal}/subscribe/subscribe-to-timeline.ts +0 -0
- /package/{internal/src → src/internal}/subscribe/subscribe-to-transaction.ts +0 -0
- /package/{internal/src → src/internal}/timeline/create-timeline.ts +0 -0
- /package/{internal/src → src/internal}/timeline/index.ts +0 -0
- /package/{internal/src → src/internal}/timeline/time-travel.ts +0 -0
- /package/{internal/src → src/internal}/transaction/abort-transaction.ts +0 -0
- /package/{internal/src → src/internal}/transaction/act-upon-store.ts +0 -0
- /package/{internal/src → src/internal}/transaction/apply-transaction.ts +0 -0
- /package/{internal/src → src/internal}/transaction/assign-transaction-to-continuity.ts +0 -0
- /package/{internal/src → src/internal}/transaction/build-transaction.ts +0 -0
- /package/{internal/src → src/internal}/transaction/create-transaction.ts +0 -0
- /package/{internal/src → src/internal}/transaction/get-epoch-number.ts +0 -0
- /package/{internal/src → src/internal}/transaction/index.ts +0 -0
- /package/{internal/src → src/internal}/transaction/is-root-store.ts +0 -0
- /package/{internal/src → src/internal}/transaction/set-epoch-number.ts +0 -0
- /package/{internal/src → src/internal}/utility-types.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-atom-index.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-introspection-states.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-selector-index.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-timeline-family.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-timeline-index.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-transaction-index.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-transaction-logs.ts +0 -0
- /package/{introspection/src → src/introspection}/attach-type-selectors.ts +0 -0
- /package/{introspection/src → src/introspection}/index.ts +0 -0
- /package/{introspection/src → src/introspection}/sprawl.ts +0 -0
- /package/{json/src → src/json}/index.ts +0 -0
- /package/{json/src → src/json}/select-json.ts +0 -0
- /package/src/{atom.ts → main/atom.ts} +0 -0
- /package/src/{dispose-state.ts → main/dispose-state.ts} +0 -0
- /package/src/{find-state.ts → main/find-state.ts} +0 -0
- /package/src/{get-state.ts → main/get-state.ts} +0 -0
- /package/src/{index.ts → main/index.ts} +0 -0
- /package/src/{join.ts → main/join.ts} +0 -0
- /package/src/{logger.ts → main/logger.ts} +0 -0
- /package/src/{selector.ts → main/selector.ts} +0 -0
- /package/src/{set-state.ts → main/set-state.ts} +0 -0
- /package/src/{subscribe.ts → main/subscribe.ts} +0 -0
- /package/src/{timeline.ts → main/timeline.ts} +0 -0
- /package/src/{validators.ts → main/validators.ts} +0 -0
- /package/{react/src → src/react}/index.ts +0 -0
- /package/{react/src → src/react}/parse-state-overloads.ts +0 -0
- /package/{react/src → src/react}/use-i.ts +0 -0
- /package/{react/src → src/react}/use-json.ts +0 -0
- /package/{react/src → src/react}/use-o.ts +0 -0
- /package/{react/src → src/react}/use-tl.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/StateEditor.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/StateIndex.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/TimelineIndex.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/TransactionIndex.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/elastic-input/ElasticInput.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/elastic-input/NumberInput.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/elastic-input/TextInput.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/elastic-input/index.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/error-boundary/DefaultFallback.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/error-boundary/ReactErrorBoundary.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/error-boundary/index.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/index.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/default-components.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/developer-interface.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/array-editor.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/non-json.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/object-editor.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/primitive-editors.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/array-elements.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/cast-json.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/cast-to-json.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/editors-by-type/utilities/object-properties.ts +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/json-editor-internal.tsx +0 -0
- /package/{react-devtools/src → src/react-devtools}/json-editor/todo.md +0 -0
- /package/{realtime/src → src/realtime}/index.ts +0 -0
- /package/{realtime/src → src/realtime}/realtime-continuity.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/continuity/index.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/continuity/register-and-attempt-confirmed-update.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/continuity/use-conceal-state.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/continuity/use-reveal-state.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/index.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/pull-atom-family-member.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/pull-atom.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/pull-mutable-atom-family-member.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/pull-mutable-atom.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/pull-selector-family-member.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/pull-selector.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/push-state.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/realtime-client-stores/index.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/server-action.ts +0 -0
- /package/{realtime-client/src → src/realtime-client}/sync-continuity.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-pull-atom-family-member.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-pull-atom.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-pull-mutable-atom.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-pull-mutable-family-member.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-pull-selector-family-member.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-pull-selector.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-push.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-realtime-service.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-server-action.ts +0 -0
- /package/{realtime-react/src → src/realtime-react}/use-sync-continuity.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/README.md +0 -0
- /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-send-initial-payload.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-serve-transaction-request.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-sync-realtime-continuity.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/continuity/prepare-to-track-client-acknowledgement.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/continuity/subscribe-to-continuity-actions.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/continuity/subscribe-to-continuity-perpectives.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/index.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/ipc-sockets/child-socket.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/ipc-sockets/custom-socket.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/ipc-sockets/index.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/ipc-sockets/parent-socket.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/realtime-action-receiver.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/realtime-family-provider.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/realtime-mutable-family-provider.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/realtime-mutable-provider.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/realtime-server-stores/index.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/realtime-state-provider.ts +0 -0
- /package/{realtime-server/src → src/realtime-server}/realtime-state-receiver.ts +0 -0
- /package/{realtime-testing/src → src/realtime-testing}/index.ts +0 -0
- /package/{realtime-testing/src → src/realtime-testing}/setup-realtime-test.tsx +0 -0
- /package/{transceivers/set-rtx/src → src/transceivers/set-rtx}/index.ts +0 -0
- /package/{web/src → src/web}/index.ts +0 -0
- /package/{web/src → src/web}/persist-sync.ts +0 -0
|
@@ -12,12 +12,9 @@ export class FamilyTracker<
|
|
|
12
12
|
FamilyMemberKey extends Canonical,
|
|
13
13
|
> {
|
|
14
14
|
private trackers: Map<FamilyMemberKey, Tracker<Core>> = new Map()
|
|
15
|
-
private readonly Update: Core extends Transceiver<infer Signal>
|
|
16
|
-
? Signal
|
|
17
|
-
: never
|
|
18
15
|
|
|
19
16
|
public readonly latestUpdateAtoms: RegularAtomFamily<
|
|
20
|
-
|
|
17
|
+
(Core extends Transceiver<infer Signal> ? Signal : never) | null,
|
|
21
18
|
FamilyMemberKey
|
|
22
19
|
>
|
|
23
20
|
public readonly mutableAtoms: MutableAtomFamily<Core, any, FamilyMemberKey>
|
|
@@ -27,7 +24,7 @@ export class FamilyTracker<
|
|
|
27
24
|
store: Store,
|
|
28
25
|
) {
|
|
29
26
|
const updateAtoms = createRegularAtomFamily<
|
|
30
|
-
|
|
27
|
+
(Core extends Transceiver<infer Signal> ? Signal : never) | null,
|
|
31
28
|
FamilyMemberKey
|
|
32
29
|
>(
|
|
33
30
|
store,
|
|
@@ -19,12 +19,12 @@ import type { Transceiver } from "./transceiver"
|
|
|
19
19
|
* the tracker will update its own state to reflect the change.
|
|
20
20
|
*/
|
|
21
21
|
export class Tracker<Mutable extends Transceiver<any>> {
|
|
22
|
-
private Update: Mutable extends Transceiver<infer Signal> ? Signal : never
|
|
23
|
-
|
|
24
22
|
private initializeState(
|
|
25
23
|
mutableState: MutableAtomToken<Mutable, Json.Serializable>,
|
|
26
24
|
store: Store,
|
|
27
|
-
): RegularAtomToken<
|
|
25
|
+
): RegularAtomToken<
|
|
26
|
+
(Mutable extends Transceiver<infer Signal> ? Signal : never) | null
|
|
27
|
+
> {
|
|
28
28
|
const latestUpdateStateKey = `*${mutableState.key}`
|
|
29
29
|
store.atoms.delete(latestUpdateStateKey)
|
|
30
30
|
store.valueMap.delete(latestUpdateStateKey)
|
|
@@ -52,11 +52,13 @@ export class Tracker<Mutable extends Transceiver<any>> {
|
|
|
52
52
|
return latestUpdateState
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
private unsubscribeFromInnerValue
|
|
56
|
-
private unsubscribeFromState
|
|
55
|
+
private unsubscribeFromInnerValue!: () => void
|
|
56
|
+
private unsubscribeFromState!: () => void
|
|
57
57
|
private observeCore(
|
|
58
58
|
mutableState: MutableAtomToken<Mutable, any>,
|
|
59
|
-
latestUpdateState: RegularAtomToken<
|
|
59
|
+
latestUpdateState: RegularAtomToken<
|
|
60
|
+
(Mutable extends Transceiver<infer Signal> ? Signal : never) | null
|
|
61
|
+
>,
|
|
60
62
|
target: Store,
|
|
61
63
|
): void {
|
|
62
64
|
const subscriptionKey = `tracker:${target.config.name}:${
|
|
@@ -89,7 +91,9 @@ export class Tracker<Mutable extends Transceiver<any>> {
|
|
|
89
91
|
|
|
90
92
|
private updateCore<Core extends Transceiver<any>>(
|
|
91
93
|
mutableState: MutableAtomToken<Core, Json.Serializable>,
|
|
92
|
-
latestUpdateState: RegularAtomToken<
|
|
94
|
+
latestUpdateState: RegularAtomToken<
|
|
95
|
+
(Mutable extends Transceiver<infer Signal> ? Signal : never) | null
|
|
96
|
+
>,
|
|
93
97
|
target: Store,
|
|
94
98
|
): void {
|
|
95
99
|
const subscriptionKey = `tracker:${target.config.name}:${
|
|
@@ -158,9 +162,11 @@ export class Tracker<Mutable extends Transceiver<any>> {
|
|
|
158
162
|
}
|
|
159
163
|
|
|
160
164
|
public mutableState: MutableAtomToken<Mutable, Json.Serializable>
|
|
161
|
-
public latestUpdateState: RegularAtomToken<
|
|
165
|
+
public latestUpdateState: RegularAtomToken<
|
|
166
|
+
(Mutable extends Transceiver<infer Signal> ? Signal : never) | null
|
|
167
|
+
>
|
|
162
168
|
|
|
163
|
-
public [Symbol.dispose]
|
|
169
|
+
public [Symbol.dispose]!: () => void
|
|
164
170
|
|
|
165
171
|
public constructor(
|
|
166
172
|
mutableState: MutableAtomToken<Mutable, Json.Serializable>,
|
|
@@ -43,25 +43,26 @@ export class Store implements Lineage {
|
|
|
43
43
|
public parent: Store | null = null
|
|
44
44
|
public child: Store | null = null
|
|
45
45
|
|
|
46
|
-
public valueMap
|
|
47
|
-
public defaults
|
|
46
|
+
public valueMap: Map<string, any> = new Map()
|
|
47
|
+
public defaults: Map<string, any> = new Map()
|
|
48
48
|
|
|
49
|
-
public atoms
|
|
50
|
-
public selectors
|
|
51
|
-
public readonlySelectors
|
|
49
|
+
public atoms: Map<string, Atom<any>> = new Map()
|
|
50
|
+
public selectors: Map<string, WritableSelector<any>> = new Map()
|
|
51
|
+
public readonlySelectors: Map<string, ReadonlySelector<any>> = new Map()
|
|
52
52
|
|
|
53
|
-
public atomsThatAreDefault = new Set
|
|
54
|
-
public selectorAtoms
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
public atomsThatAreDefault: Set<string> = new Set()
|
|
54
|
+
public selectorAtoms: Junction<`selectorKey`, string, `atomKey`, string> =
|
|
55
|
+
new Junction({
|
|
56
|
+
between: [`selectorKey`, `atomKey`],
|
|
57
|
+
cardinality: `n:n`,
|
|
58
|
+
})
|
|
59
|
+
public selectorGraph: Junction<
|
|
59
60
|
`upstreamSelectorKey`,
|
|
60
61
|
string,
|
|
61
62
|
`downstreamSelectorKey`,
|
|
62
63
|
string,
|
|
63
64
|
{ source: string }
|
|
64
|
-
>(
|
|
65
|
+
> = new Junction(
|
|
65
66
|
{
|
|
66
67
|
between: [`upstreamSelectorKey`, `downstreamSelectorKey`],
|
|
67
68
|
cardinality: `n:n`,
|
|
@@ -70,17 +71,17 @@ export class Store implements Lineage {
|
|
|
70
71
|
makeContentKey: (...keys) => keys.sort().join(`:`),
|
|
71
72
|
},
|
|
72
73
|
)
|
|
73
|
-
public trackers
|
|
74
|
-
public families
|
|
74
|
+
public trackers: Map<string, Tracker<Transceiver<any>>> = new Map()
|
|
75
|
+
public families: Map<
|
|
75
76
|
string,
|
|
76
77
|
| MutableAtomFamily<any, any, any>
|
|
77
78
|
| ReadonlySelectorFamily<any, any>
|
|
78
79
|
| RegularAtomFamily<any, any>
|
|
79
80
|
| WritableSelectorFamily<any, any>
|
|
80
|
-
>()
|
|
81
|
-
public joins
|
|
81
|
+
> = new Map()
|
|
82
|
+
public joins: Map<string, Join<any, any, any, any, any, any>> = new Map()
|
|
82
83
|
|
|
83
|
-
public transactions
|
|
84
|
+
public transactions: Map<string, Transaction<Func>> = new Map()
|
|
84
85
|
public transactionMeta: TransactionEpoch | TransactionProgress<Func> = {
|
|
85
86
|
epoch: new Map<string, number>(),
|
|
86
87
|
actionContinuities: new Junction({
|
|
@@ -89,27 +90,28 @@ export class Store implements Lineage {
|
|
|
89
90
|
}),
|
|
90
91
|
}
|
|
91
92
|
|
|
92
|
-
public timelines
|
|
93
|
-
public timelineTopics
|
|
93
|
+
public timelines: Map<string, Timeline<any>> = new Map()
|
|
94
|
+
public timelineTopics: Junction<
|
|
94
95
|
`timelineKey`,
|
|
95
96
|
string,
|
|
96
97
|
`topicKey`,
|
|
97
98
|
string,
|
|
98
99
|
{ topicType: `atom_family` | `atom` | `molecule_family` | `molecule` }
|
|
99
|
-
>({
|
|
100
|
+
> = new Junction({
|
|
100
101
|
between: [`timelineKey`, `topicKey`],
|
|
101
102
|
cardinality: `1:n`,
|
|
102
103
|
})
|
|
103
104
|
|
|
104
|
-
public disposalTraces
|
|
105
|
+
public disposalTraces: CircularBuffer<{ key: string; trace: string }> =
|
|
106
|
+
new CircularBuffer(100)
|
|
105
107
|
|
|
106
|
-
public molecules
|
|
107
|
-
public moleculeJoins
|
|
108
|
+
public molecules: Map<string, Molecule<Canonical>> = new Map()
|
|
109
|
+
public moleculeJoins: Junction<
|
|
108
110
|
`moleculeKey`,
|
|
109
111
|
stringified<Canonical>,
|
|
110
112
|
`joinKey`,
|
|
111
113
|
string
|
|
112
|
-
>(
|
|
114
|
+
> = new Junction(
|
|
113
115
|
{
|
|
114
116
|
between: [`moleculeKey`, `joinKey`],
|
|
115
117
|
cardinality: `n:n`,
|
|
@@ -118,13 +120,13 @@ export class Store implements Lineage {
|
|
|
118
120
|
makeContentKey: (...keys) => keys.sort().join(`:`),
|
|
119
121
|
},
|
|
120
122
|
)
|
|
121
|
-
public moleculeGraph
|
|
123
|
+
public moleculeGraph: Junction<
|
|
122
124
|
`upstreamMoleculeKey`,
|
|
123
125
|
stringified<Canonical> | `root`,
|
|
124
126
|
`downstreamMoleculeKey`,
|
|
125
127
|
stringified<Canonical>,
|
|
126
128
|
{ source: stringified<Canonical> }
|
|
127
|
-
>(
|
|
129
|
+
> = new Junction(
|
|
128
130
|
{
|
|
129
131
|
between: [`upstreamMoleculeKey`, `downstreamMoleculeKey`],
|
|
130
132
|
cardinality: `n:n`,
|
|
@@ -133,12 +135,12 @@ export class Store implements Lineage {
|
|
|
133
135
|
makeContentKey: (...keys) => keys.sort().join(`:`),
|
|
134
136
|
},
|
|
135
137
|
)
|
|
136
|
-
public moleculeData
|
|
138
|
+
public moleculeData: Junction<
|
|
137
139
|
`moleculeKey`,
|
|
138
140
|
stringified<Canonical>,
|
|
139
141
|
`stateFamilyKey`,
|
|
140
142
|
string
|
|
141
|
-
>(
|
|
143
|
+
> = new Junction(
|
|
142
144
|
{
|
|
143
145
|
between: [`moleculeKey`, `stateFamilyKey`],
|
|
144
146
|
cardinality: `n:n`,
|
|
@@ -147,25 +149,19 @@ export class Store implements Lineage {
|
|
|
147
149
|
makeContentKey: (...keys) => keys.sort().join(`:`),
|
|
148
150
|
},
|
|
149
151
|
)
|
|
150
|
-
public miscResources
|
|
152
|
+
public miscResources: Map<string, Disposable> = new Map()
|
|
151
153
|
|
|
152
|
-
public on = {
|
|
153
|
-
atomCreation: new Subject
|
|
154
|
-
atomDisposal: new Subject
|
|
155
|
-
selectorCreation: new Subject
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
transactionApplying: new StatefulSubject<TransactionProgress<Func> | null>(
|
|
164
|
-
null,
|
|
165
|
-
),
|
|
166
|
-
operationClose: new Subject<OperationProgress>(),
|
|
167
|
-
moleculeCreation: new Subject<MoleculeCreation>(),
|
|
168
|
-
moleculeDisposal: new Subject<MoleculeDisposal>(),
|
|
154
|
+
public on: StoreEventCarrier = {
|
|
155
|
+
atomCreation: new Subject(),
|
|
156
|
+
atomDisposal: new Subject(),
|
|
157
|
+
selectorCreation: new Subject(),
|
|
158
|
+
selectorDisposal: new Subject(),
|
|
159
|
+
timelineCreation: new Subject(),
|
|
160
|
+
transactionCreation: new Subject(),
|
|
161
|
+
transactionApplying: new StatefulSubject(null),
|
|
162
|
+
operationClose: new Subject(),
|
|
163
|
+
moleculeCreation: new Subject(),
|
|
164
|
+
moleculeDisposal: new Subject(),
|
|
169
165
|
}
|
|
170
166
|
public operation: OperationProgress = { open: false }
|
|
171
167
|
|
|
@@ -250,6 +246,23 @@ export class Store implements Lineage {
|
|
|
250
246
|
}
|
|
251
247
|
}
|
|
252
248
|
|
|
249
|
+
export type StoreEventCarrier = {
|
|
250
|
+
atomCreation: Subject<AtomToken<unknown>>
|
|
251
|
+
atomDisposal: Subject<AtomToken<unknown>>
|
|
252
|
+
selectorCreation: Subject<
|
|
253
|
+
ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>
|
|
254
|
+
>
|
|
255
|
+
selectorDisposal: Subject<
|
|
256
|
+
ReadonlySelectorToken<unknown> | WritableSelectorToken<unknown>
|
|
257
|
+
>
|
|
258
|
+
timelineCreation: Subject<TimelineToken<unknown>>
|
|
259
|
+
transactionCreation: Subject<TransactionToken<Func>>
|
|
260
|
+
transactionApplying: StatefulSubject<TransactionProgress<Func> | null>
|
|
261
|
+
operationClose: Subject<OperationProgress>
|
|
262
|
+
moleculeCreation: Subject<MoleculeCreation>
|
|
263
|
+
moleculeDisposal: Subject<MoleculeDisposal>
|
|
264
|
+
}
|
|
265
|
+
|
|
253
266
|
declare global {
|
|
254
267
|
var ATOM_IO_IMPLICIT_STORE: Store | undefined
|
|
255
268
|
}
|
|
@@ -157,7 +157,18 @@ export class Differ<
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
export const prettyJson
|
|
160
|
+
export const prettyJson: Differ<
|
|
161
|
+
{
|
|
162
|
+
number: (input: unknown) => input is number
|
|
163
|
+
string: (input: unknown) => input is string
|
|
164
|
+
boolean: (input: unknown) => input is boolean
|
|
165
|
+
null: (input: unknown) => input is null
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
object: (input: unknown) => input is Json.Tree.Object
|
|
169
|
+
array: (input: unknown) => input is Json.Tree.Array
|
|
170
|
+
}
|
|
171
|
+
> = new Differ(primitiveRefinery, jsonTreeRefinery, {
|
|
161
172
|
number: diffNumber,
|
|
162
173
|
string: diffString,
|
|
163
174
|
boolean: diffBoolean,
|
|
@@ -59,7 +59,12 @@ export class Refinery<SupportedTypes extends RefinementSupport> {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
export const primitiveRefinery
|
|
62
|
+
export const primitiveRefinery: Refinery<{
|
|
63
|
+
number: (input: unknown) => input is number
|
|
64
|
+
string: (input: unknown) => input is string
|
|
65
|
+
boolean: (input: unknown) => input is boolean
|
|
66
|
+
null: (input: unknown) => input is null
|
|
67
|
+
}> = new Refinery({
|
|
63
68
|
number: (input: unknown): input is number => typeof input === `number`,
|
|
64
69
|
string: (input: unknown): input is string => typeof input === `string`,
|
|
65
70
|
boolean: (input: unknown): input is boolean => typeof input === `boolean`,
|
|
@@ -74,12 +79,22 @@ export function isPlainObject(input: unknown): input is Json.Tree.Object {
|
|
|
74
79
|
return prototype === Object.prototype
|
|
75
80
|
}
|
|
76
81
|
|
|
77
|
-
export const jsonTreeRefinery
|
|
82
|
+
export const jsonTreeRefinery: Refinery<{
|
|
83
|
+
object: (input: unknown) => input is Json.Tree.Object
|
|
84
|
+
array: (input: unknown) => input is Json.Tree.Array
|
|
85
|
+
}> = new Refinery({
|
|
78
86
|
object: isPlainObject,
|
|
79
87
|
array: (input: unknown): input is Json.Tree.Array => Array.isArray(input),
|
|
80
88
|
})
|
|
81
89
|
|
|
82
|
-
export const jsonRefinery
|
|
90
|
+
export const jsonRefinery: Refinery<{
|
|
91
|
+
object: (input: unknown) => input is Json.Tree.Object
|
|
92
|
+
array: (input: unknown) => input is Json.Tree.Array
|
|
93
|
+
number: (input: unknown) => input is number
|
|
94
|
+
string: (input: unknown) => input is string
|
|
95
|
+
boolean: (input: unknown) => input is boolean
|
|
96
|
+
null: (input: unknown) => input is null
|
|
97
|
+
}> = new Refinery({
|
|
83
98
|
...primitiveRefinery.supported,
|
|
84
99
|
...jsonTreeRefinery.supported,
|
|
85
100
|
})
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Count, Flat } from "atom.io/internal"
|
|
2
2
|
|
|
3
|
-
export type Entries<K extends PropertyKey =
|
|
3
|
+
export type Entries<K extends PropertyKey = PropertyKey, V = any> = [K, V][]
|
|
4
4
|
|
|
5
5
|
export type KeyOfEntries<E extends Entries> = E extends [infer K, any][]
|
|
6
6
|
? K
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type * as AtomIO from "atom.io"
|
|
2
2
|
import type { Store, Transceiver } from "atom.io/internal"
|
|
3
|
+
import { createWritableSelectorFamily } from "atom.io/internal"
|
|
3
4
|
|
|
4
|
-
import { createWritableSelectorFamily } from "../../internal/src/families/create-writable-selector-family"
|
|
5
5
|
import type { Canonical, Json, JsonInterface } from "."
|
|
6
6
|
|
|
7
7
|
export function selectJsonFamily<
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "atom.io/internal"
|
|
10
10
|
import type { Canonical } from "atom.io/json"
|
|
11
11
|
|
|
12
|
-
export const $claim = Symbol(`claim`)
|
|
12
|
+
export const $claim: unique symbol = Symbol.for(`claim`)
|
|
13
13
|
export type Claim<K extends Canonical> = K & { [$claim]?: true }
|
|
14
14
|
|
|
15
15
|
export class Realm<H extends Hierarchy> {
|
|
@@ -12,13 +12,13 @@ import {
|
|
|
12
12
|
findInStore,
|
|
13
13
|
getFromStore,
|
|
14
14
|
IMPLICIT,
|
|
15
|
+
installIntoStore,
|
|
15
16
|
setIntoStore,
|
|
16
17
|
Store,
|
|
17
18
|
subscribeInStore,
|
|
18
19
|
timeTravel,
|
|
19
20
|
} from "atom.io/internal"
|
|
20
21
|
|
|
21
|
-
import { installIntoStore } from "../internal/src/install-into-store"
|
|
22
22
|
import type {
|
|
23
23
|
AtomIOToken,
|
|
24
24
|
disposeState,
|
|
@@ -133,7 +133,7 @@ export function transaction<F extends Func>(
|
|
|
133
133
|
|
|
134
134
|
export function runTransaction<F extends Func>(
|
|
135
135
|
token: TransactionToken<F>,
|
|
136
|
-
id = arbitrary(),
|
|
136
|
+
id: string = arbitrary(),
|
|
137
137
|
): (...parameters: Parameters<F>) => ReturnType<F> {
|
|
138
138
|
return actUponStore(IMPLICIT.STORE, token, id)
|
|
139
139
|
}
|
|
@@ -2,7 +2,9 @@ import type { Store } from "atom.io/internal"
|
|
|
2
2
|
import { IMPLICIT } from "atom.io/internal"
|
|
3
3
|
import * as React from "react"
|
|
4
4
|
|
|
5
|
-
export const StoreContext = React.createContext
|
|
5
|
+
export const StoreContext: React.Context<Store> = React.createContext(
|
|
6
|
+
IMPLICIT.STORE,
|
|
7
|
+
)
|
|
6
8
|
|
|
7
9
|
export const StoreProvider: React.FC<{
|
|
8
10
|
children: React.ReactNode
|
|
@@ -210,7 +210,11 @@ export const TimelineUpdateFC: React.FC<{
|
|
|
210
210
|
) : null
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
export const article
|
|
213
|
+
export const article: {
|
|
214
|
+
AtomUpdate: typeof AtomUpdateFC
|
|
215
|
+
TransactionUpdate: typeof TransactionUpdateFC
|
|
216
|
+
TimelineUpdate: typeof TimelineUpdateFC
|
|
217
|
+
} = {
|
|
214
218
|
AtomUpdate: AtomUpdateFC,
|
|
215
219
|
TransactionUpdate: TransactionUpdateFC,
|
|
216
220
|
TimelineUpdate: TimelineUpdateFC,
|