atom.io 0.40.6 → 0.40.7
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/README.md +1 -1
- package/dist/data/index.d.ts +1 -1
- package/dist/employ-socket-D6wgByWh.js +12 -0
- package/dist/employ-socket-D6wgByWh.js.map +1 -0
- package/dist/has-role-hv4-hJMw.js +1149 -0
- package/dist/has-role-hv4-hJMw.js.map +1 -0
- package/dist/internal/index.d.ts +248 -248
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +570 -1712
- package/dist/internal/index.js.map +1 -1
- package/dist/introspection/index.d.ts +1 -1
- package/dist/is-fn-DY1wZ-md.js +10 -0
- package/dist/is-fn-DY1wZ-md.js.map +1 -0
- package/dist/main/index.d.ts +33 -33
- package/dist/main/index.d.ts.map +1 -1
- package/dist/main/index.js +2 -2
- package/dist/main/index.js.map +1 -1
- package/dist/mutex-store-CSvxY9i3.js +11 -0
- package/dist/mutex-store-CSvxY9i3.js.map +1 -0
- package/dist/react/index.d.ts +5 -5
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react-devtools/index.js +7 -7
- package/dist/react-devtools/index.js.map +1 -1
- package/dist/realtime/index.d.ts +7 -15
- package/dist/realtime/index.d.ts.map +1 -1
- package/dist/realtime/index.js +3 -33
- package/dist/realtime/index.js.map +1 -1
- package/dist/realtime-client/index.d.ts +5 -5
- package/dist/realtime-client/index.d.ts.map +1 -1
- package/dist/realtime-client/index.js +92 -69
- package/dist/realtime-client/index.js.map +1 -1
- package/dist/realtime-react/index.d.ts +17 -10
- package/dist/realtime-react/index.d.ts.map +1 -1
- package/dist/realtime-react/index.js +41 -41
- package/dist/realtime-react/index.js.map +1 -1
- package/dist/realtime-server/index.d.ts +60 -53
- package/dist/realtime-server/index.d.ts.map +1 -1
- package/dist/realtime-server/index.js +592 -485
- package/dist/realtime-server/index.js.map +1 -1
- package/dist/realtime-testing/index.d.ts +1 -2
- package/dist/realtime-testing/index.d.ts.map +1 -1
- package/dist/realtime-testing/index.js +25 -18
- package/dist/realtime-testing/index.js.map +1 -1
- package/dist/shared-room-store-COGGKqes.js +32 -0
- package/dist/shared-room-store-COGGKqes.js.map +1 -0
- package/dist/shared-room-store-D2o4ZLjC.d.ts +15 -0
- package/dist/shared-room-store-D2o4ZLjC.d.ts.map +1 -0
- package/dist/web/index.d.ts +3 -3
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +4 -3
- package/dist/web/index.js.map +1 -1
- package/package.json +12 -12
- package/src/internal/atom/create-regular-atom.ts +5 -4
- package/src/internal/atom/dispose-atom.ts +7 -2
- package/src/internal/atom/has-role.ts +3 -3
- package/src/internal/caching.ts +4 -2
- package/src/internal/families/create-readonly-held-selector-family.ts +2 -1
- package/src/internal/families/create-readonly-pure-selector-family.ts +5 -2
- package/src/internal/families/create-regular-atom-family.ts +2 -1
- package/src/internal/families/create-writable-held-selector-family.ts +2 -1
- package/src/internal/families/create-writable-pure-selector-family.ts +5 -2
- package/src/internal/families/dispose-from-store.ts +4 -4
- package/src/internal/families/find-in-store.ts +10 -10
- package/src/internal/families/get-family-of-token.ts +2 -2
- package/src/internal/families/index.ts +1 -0
- package/src/internal/families/mint-in-store.ts +54 -19
- package/src/internal/families/seek-in-store.ts +1 -1
- package/src/internal/get-state/get-fallback.ts +2 -2
- package/src/internal/get-state/get-from-store.ts +5 -5
- package/src/internal/get-state/read-or-compute-value.ts +1 -1
- package/src/internal/get-state/reduce-reference.ts +8 -6
- package/src/internal/index.ts +2 -220
- package/src/internal/molecule.ts +1 -2
- package/src/internal/mutable/create-mutable-atom-family.ts +3 -2
- package/src/internal/mutable/create-mutable-atom.ts +4 -2
- package/src/internal/mutable/get-json-family.ts +1 -1
- package/src/internal/mutable/get-update-family.ts +1 -1
- package/src/internal/mutable/tracker-family.ts +2 -1
- package/src/internal/mutable/tracker.ts +5 -8
- package/src/internal/safe-compute.ts +1 -1
- package/src/internal/selector/create-readonly-held-selector.ts +2 -1
- package/src/internal/selector/create-readonly-pure-selector.ts +2 -1
- package/src/internal/selector/create-writable-held-selector.ts +2 -1
- package/src/internal/selector/create-writable-pure-selector.ts +2 -1
- package/src/internal/selector/dispose-selector.ts +3 -2
- package/src/internal/selector/register-selector.ts +8 -5
- package/src/internal/selector/trace-selector-atoms.ts +2 -1
- package/src/internal/set-state/dispatch-state-update.ts +3 -2
- package/src/internal/set-state/evict-downstream.ts +1 -1
- package/src/internal/set-state/operate-on-store.ts +16 -22
- package/src/internal/set-state/reset-atom-or-selector.ts +5 -3
- package/src/internal/set-state/reset-in-store.ts +5 -5
- package/src/internal/set-state/set-atom-or-selector.ts +2 -2
- package/src/internal/set-state/set-atom.ts +4 -2
- package/src/internal/set-state/set-into-store.ts +21 -39
- package/src/internal/set-state/set-selector.ts +3 -2
- package/src/internal/state-types.ts +228 -0
- package/src/internal/store/deposit.ts +4 -4
- package/src/internal/store/index.ts +0 -1
- package/src/internal/store/store.ts +9 -9
- package/src/internal/store/withdraw.ts +4 -4
- package/src/internal/subscribe/recall-state.ts +1 -1
- package/src/internal/subscribe/subscribe-to-root-atoms.ts +1 -12
- package/src/internal/subscribe/subscribe-to-transaction.ts +3 -2
- package/src/internal/transaction/build-transaction.ts +3 -2
- package/src/internal/transaction/index.ts +1 -23
- package/src/internal/transaction/is-root-store.ts +4 -1
- package/src/internal/transaction/transaction-meta-progress.ts +22 -0
- package/src/main/atom.ts +1 -2
- package/src/main/find-state.ts +5 -5
- package/src/main/get-state.ts +4 -4
- package/src/main/realm.ts +2 -2
- package/src/main/set-state.ts +10 -10
- package/src/react/parse-state-overloads.ts +3 -3
- package/src/react/use-i.ts +6 -4
- package/src/react/use-loadable.ts +4 -10
- package/src/react/use-o.ts +6 -4
- package/src/react-devtools/store.ts +6 -6
- package/src/realtime/index.ts +1 -0
- package/src/realtime/mutex-store.ts +11 -0
- package/src/realtime/realtime-continuity.ts +1 -5
- package/src/realtime-client/pull-atom-family-member.ts +14 -17
- package/src/realtime-client/pull-atom.ts +1 -1
- package/src/realtime-client/pull-mutable-atom-family-member.ts +16 -12
- package/src/realtime-client/pull-selector-family-member.ts +8 -35
- package/src/realtime-client/pull-selector-roots.ts +90 -0
- package/src/realtime-client/pull-selector.ts +2 -27
- package/src/realtime-client/push-state.ts +33 -5
- package/src/realtime-client/realtime-client-stores/client-main-store.ts +2 -5
- package/src/realtime-react/index.ts +2 -1
- package/src/realtime-react/realtime-context.tsx +9 -5
- package/src/realtime-react/use-pull-atom-family-member.ts +2 -3
- package/src/realtime-react/use-pull-mutable-family-member.ts +2 -3
- package/src/realtime-react/use-pull-selector-family-member.ts +5 -6
- package/src/realtime-react/use-push.ts +7 -3
- package/src/realtime-react/use-realtime-service.ts +11 -11
- package/src/realtime-react/use-single-effect.ts +11 -14
- package/src/realtime-server/{realtime-server-stores/server-sync-store.ts → continuity/continuity-store.ts} +1 -1
- package/src/realtime-server/continuity/prepare-to-sync-realtime-continuity.ts +1 -1
- package/src/realtime-server/continuity/prepare-to-track-client-acknowledgement.ts +3 -5
- package/src/realtime-server/continuity/subscribe-to-continuity-actions.ts +1 -1
- package/src/realtime-server/employ-socket.ts +14 -0
- package/src/realtime-server/index.ts +2 -20
- package/src/realtime-server/ipc-sockets/child-socket.ts +125 -66
- package/src/realtime-server/ipc-sockets/custom-socket.ts +16 -14
- package/src/realtime-server/ipc-sockets/parent-socket.ts +81 -58
- package/src/realtime-server/realtime-family-provider.ts +78 -29
- package/src/realtime-server/realtime-mutable-family-provider.ts +80 -31
- package/src/realtime-server/realtime-mutable-provider.ts +30 -22
- package/src/realtime-server/realtime-server-stores/index.ts +0 -2
- package/src/realtime-server/realtime-server-stores/server-room-external-store.ts +77 -36
- package/src/realtime-server/realtime-server-stores/server-user-store.ts +12 -1
- package/src/realtime-server/realtime-state-provider.ts +30 -29
- package/src/realtime-server/realtime-state-receiver.ts +62 -16
- package/src/realtime-server/server-config.ts +9 -0
- package/src/realtime-server/socket-interface.ts +14 -0
- package/src/realtime-testing/setup-realtime-test.tsx +56 -23
- package/src/web/index.ts +1 -1
- package/src/web/{persist-sync.ts → storage-sync.ts} +5 -2
- package/src/internal/store/mint-or-counterfeit.ts +0 -108
- package/src/realtime-react/on-mount.ts +0 -5
- package/src/realtime-server/realtime-server-stores/server-room-external-actions.ts +0 -79
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { Loadable } from "atom.io"
|
|
2
|
-
import * as AtomIO from "atom.io"
|
|
3
|
-
import { editRelationsInStore } from "atom.io/internal"
|
|
4
|
-
import type { UserInRoomMeta } from "atom.io/realtime"
|
|
5
|
-
import { roomIndex, usersInRooms } from "atom.io/realtime"
|
|
6
|
-
|
|
7
|
-
import type { ChildSocket } from "../ipc-sockets"
|
|
8
|
-
import type { RoomArguments } from "./server-room-external-store"
|
|
9
|
-
import { roomArgumentsAtoms, roomSelectors } from "./server-room-external-store"
|
|
10
|
-
import type { RoomKey } from "./server-user-store"
|
|
11
|
-
|
|
12
|
-
export const createRoomTX: AtomIO.TransactionToken<
|
|
13
|
-
(
|
|
14
|
-
roomKey: RoomKey,
|
|
15
|
-
script: string,
|
|
16
|
-
options?: string[],
|
|
17
|
-
) => Loadable<ChildSocket<any, any>>
|
|
18
|
-
> = AtomIO.transaction({
|
|
19
|
-
key: `createRoom`,
|
|
20
|
-
do: ({ get, set, find }, roomId, script, options) => {
|
|
21
|
-
const args: RoomArguments = options ? [script, options] : [script]
|
|
22
|
-
const roomArgumentsState = find(roomArgumentsAtoms, roomId)
|
|
23
|
-
set(roomArgumentsState, args)
|
|
24
|
-
set(roomIndex, (s) => s.add(roomId))
|
|
25
|
-
const roomState = find(roomSelectors, roomId)
|
|
26
|
-
const room = get(roomState)
|
|
27
|
-
return room
|
|
28
|
-
},
|
|
29
|
-
})
|
|
30
|
-
export type CreateRoomIO = AtomIO.TransactionIO<typeof createRoomTX>
|
|
31
|
-
|
|
32
|
-
export const joinRoomTX: AtomIO.TransactionToken<
|
|
33
|
-
(roomId: string, userId: string, enteredAtEpoch: number) => UserInRoomMeta
|
|
34
|
-
> = AtomIO.transaction({
|
|
35
|
-
key: `joinRoom`,
|
|
36
|
-
do: (tools, roomId, userId, enteredAtEpoch) => {
|
|
37
|
-
const meta = { enteredAtEpoch }
|
|
38
|
-
editRelationsInStore(
|
|
39
|
-
usersInRooms,
|
|
40
|
-
(relations) => {
|
|
41
|
-
relations.set({ room: roomId, user: userId }, meta)
|
|
42
|
-
},
|
|
43
|
-
tools.env().store,
|
|
44
|
-
)
|
|
45
|
-
return meta
|
|
46
|
-
},
|
|
47
|
-
})
|
|
48
|
-
export type JoinRoomIO = AtomIO.TransactionIO<typeof joinRoomTX>
|
|
49
|
-
|
|
50
|
-
export const leaveRoomTX: AtomIO.TransactionToken<
|
|
51
|
-
(roomId: string, userId: string) => void
|
|
52
|
-
> = AtomIO.transaction({
|
|
53
|
-
key: `leaveRoom`,
|
|
54
|
-
do: (tools, roomId, userId) => {
|
|
55
|
-
editRelationsInStore(
|
|
56
|
-
usersInRooms,
|
|
57
|
-
(relations) => {
|
|
58
|
-
relations.delete({ room: roomId, user: userId })
|
|
59
|
-
},
|
|
60
|
-
tools.env().store,
|
|
61
|
-
)
|
|
62
|
-
},
|
|
63
|
-
})
|
|
64
|
-
export type LeaveRoomIO = AtomIO.TransactionIO<typeof leaveRoomTX>
|
|
65
|
-
|
|
66
|
-
export const destroyRoomTX: AtomIO.TransactionToken<(roomKey: RoomKey) => void> =
|
|
67
|
-
AtomIO.transaction({
|
|
68
|
-
key: `destroyRoom`,
|
|
69
|
-
do: (tools, roomKey) => {
|
|
70
|
-
editRelationsInStore(
|
|
71
|
-
usersInRooms,
|
|
72
|
-
(relations) => {
|
|
73
|
-
relations.delete({ room: roomKey })
|
|
74
|
-
},
|
|
75
|
-
tools.env().store,
|
|
76
|
-
)
|
|
77
|
-
tools.set(roomIndex, (s) => (s.delete(roomKey), s))
|
|
78
|
-
},
|
|
79
|
-
})
|