atom.io 0.15.2 â 0.15.4
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/data/dist/index.cjs +33 -19
- package/data/dist/index.cjs.map +1 -1
- package/data/dist/index.js +33 -19
- package/data/dist/index.js.map +1 -1
- package/data/src/join.ts +37 -27
- package/dist/{chunk-K22LR3V6.js â chunk-RLZQ6IIY.js} +11 -2
- package/dist/chunk-RLZQ6IIY.js.map +1 -0
- package/dist/index.cjs +11 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +89 -72
- package/dist/index.js +1 -1
- package/internal/dist/index.cjs +16 -16
- package/internal/dist/index.cjs.map +1 -1
- package/internal/dist/index.d.ts +20 -20
- package/internal/dist/index.js +17 -17
- package/internal/dist/index.js.map +1 -1
- package/internal/src/atom/create-regular-atom.ts +1 -1
- package/internal/src/mutable/get-json-token.ts +1 -1
- package/internal/src/mutable/get-update-token.ts +1 -1
- package/internal/src/mutable/tracker.ts +3 -3
- package/internal/src/operation.ts +1 -1
- package/internal/src/selector/create-read-write-selector.ts +1 -1
- package/internal/src/selector/create-readonly-selector.ts +1 -1
- package/internal/src/set-state/stow-update.ts +1 -1
- package/internal/src/store/store.ts +4 -4
- package/internal/src/store/withdraw.ts +7 -9
- package/internal/src/subscribe/subscribe-to-timeline.ts +4 -4
- package/internal/src/timeline/add-atom-to-timeline.ts +7 -7
- package/internal/src/timeline/create-timeline.ts +29 -21
- package/internal/src/timeline/time-travel.ts +1 -1
- package/internal/src/transaction/apply-transaction.ts +2 -2
- package/internal/src/transaction/build-transaction.ts +1 -1
- package/internal/src/transaction/create-transaction.ts +1 -1
- package/introspection/dist/index.cjs +9 -9
- package/introspection/dist/index.cjs.map +1 -1
- package/introspection/dist/index.d.ts +2 -2
- package/introspection/dist/index.js +9 -9
- package/introspection/dist/index.js.map +1 -1
- package/introspection/src/attach-atom-index.ts +2 -2
- package/introspection/src/attach-introspection-states.ts +2 -2
- package/introspection/src/attach-selector-index.ts +2 -2
- package/introspection/src/attach-timeline-family.ts +6 -6
- package/introspection/src/attach-timeline-index.ts +6 -4
- package/introspection/src/attach-transaction-index.ts +1 -1
- package/package.json +10 -11
- package/react/dist/index.cjs.map +1 -1
- package/react/dist/index.d.ts +1 -1
- package/react/dist/index.js.map +1 -1
- package/react/src/store-hooks.ts +1 -1
- package/react-devtools/dist/index.cjs +7 -9
- package/react-devtools/dist/index.cjs.map +1 -1
- package/react-devtools/dist/index.d.ts +7 -262
- package/react-devtools/dist/index.js +7 -9
- package/react-devtools/dist/index.js.map +1 -1
- package/react-devtools/src/TimelineIndex.tsx +2 -2
- package/react-devtools/src/Updates.tsx +1 -1
- package/realtime-client/dist/index.cjs +1 -1
- package/realtime-client/dist/index.cjs.map +1 -1
- package/realtime-client/dist/index.d.ts +2 -2
- package/realtime-client/dist/index.js +1 -1
- package/realtime-client/dist/index.js.map +1 -1
- package/realtime-client/src/realtime-state.ts +3 -3
- package/realtime-react/dist/index.cjs +4 -3
- package/realtime-react/dist/index.cjs.map +1 -1
- package/realtime-react/dist/index.d.ts +1 -1
- package/realtime-react/dist/index.js +4 -3
- package/realtime-react/dist/index.js.map +1 -1
- package/realtime-react/src/realtime-context.tsx +5 -4
- package/src/index.ts +10 -0
- package/src/subscribe.ts +7 -11
- package/src/timeline.ts +18 -10
- package/src/validators.ts +74 -0
- package/dist/chunk-K22LR3V6.js.map +0 -1
- package/internal/src/set-state/copy-mutable-into-new-store.ts +0 -34
|
@@ -4,7 +4,7 @@ import type { Json } from "atom.io/json"
|
|
|
4
4
|
import type { Transceiver } from "./transceiver"
|
|
5
5
|
|
|
6
6
|
export const getJsonToken = <
|
|
7
|
-
Core extends Transceiver<
|
|
7
|
+
Core extends Transceiver<any>,
|
|
8
8
|
SerializableCore extends Json.Serializable,
|
|
9
9
|
>(
|
|
10
10
|
mutableAtomToken: MutableAtomToken<Core, SerializableCore>,
|
|
@@ -3,7 +3,7 @@ import type { Json } from "atom.io/json"
|
|
|
3
3
|
import type { Signal, Transceiver } from "./transceiver"
|
|
4
4
|
|
|
5
5
|
export const getUpdateToken = <
|
|
6
|
-
Core extends Transceiver<
|
|
6
|
+
Core extends Transceiver<any>,
|
|
7
7
|
SerializableCore extends Json.Serializable,
|
|
8
8
|
>(
|
|
9
9
|
mutableAtomToken: MutableAtomToken<Core, SerializableCore>,
|
|
@@ -63,7 +63,7 @@ export class Tracker<Mutable extends Transceiver<any>> {
|
|
|
63
63
|
}`,
|
|
64
64
|
(update) => {
|
|
65
65
|
if (target.operation.open) {
|
|
66
|
-
const unsubscribe = target.
|
|
66
|
+
const unsubscribe = target.on.operationClose.subscribe(
|
|
67
67
|
mutableState.key,
|
|
68
68
|
() => {
|
|
69
69
|
unsubscribe()
|
|
@@ -90,7 +90,7 @@ export class Tracker<Mutable extends Transceiver<any>> {
|
|
|
90
90
|
}`,
|
|
91
91
|
(update) => {
|
|
92
92
|
if (target.operation.open) {
|
|
93
|
-
const unsubscribe = target.
|
|
93
|
+
const unsubscribe = target.on.operationClose.subscribe(
|
|
94
94
|
mutableState.key,
|
|
95
95
|
() => {
|
|
96
96
|
unsubscribe()
|
|
@@ -148,7 +148,7 @@ export class Tracker<Mutable extends Transceiver<any>> {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
const unsubscribe = store.
|
|
151
|
+
const unsubscribe = store.on.operationClose.subscribe(
|
|
152
152
|
latestUpdateState.key,
|
|
153
153
|
() => {
|
|
154
154
|
unsubscribe()
|
|
@@ -56,7 +56,7 @@ export const closeOperation = (store: Store): void => {
|
|
|
56
56
|
)
|
|
57
57
|
}
|
|
58
58
|
store.operation = { open: false }
|
|
59
|
-
store.
|
|
59
|
+
store.on.operationClose.next(store.operation)
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
export const isDone = (key: string, store: Store): boolean => {
|
|
@@ -6,7 +6,7 @@ import { isTransceiver } from "../mutable"
|
|
|
6
6
|
import type { Store } from "../store"
|
|
7
7
|
|
|
8
8
|
function shouldUpdateBeStowed(key: string, update: StateUpdate<any>): boolean {
|
|
9
|
-
// do not stow updates that aren't json
|
|
9
|
+
// do not stow updates that aren't json
|
|
10
10
|
if (isTransceiver(update.newValue)) {
|
|
11
11
|
return false
|
|
12
12
|
}
|
|
@@ -47,7 +47,7 @@ export class Store implements Lineage {
|
|
|
47
47
|
| SelectorFamily<any, any>
|
|
48
48
|
>()
|
|
49
49
|
|
|
50
|
-
public timelines = new Map<string, Timeline
|
|
50
|
+
public timelines = new Map<string, Timeline<any>>()
|
|
51
51
|
public transactions = new Map<string, Transaction<Æn>>()
|
|
52
52
|
|
|
53
53
|
public atomsThatAreDefault = new Set<string>()
|
|
@@ -74,15 +74,15 @@ export class Store implements Lineage {
|
|
|
74
74
|
},
|
|
75
75
|
)
|
|
76
76
|
|
|
77
|
-
public
|
|
77
|
+
public on = {
|
|
78
78
|
atomCreation: new Subject<AtomToken<unknown>>(),
|
|
79
79
|
selectorCreation: new Subject<
|
|
80
80
|
ReadonlySelectorToken<unknown> | SelectorToken<unknown>
|
|
81
81
|
>(),
|
|
82
82
|
transactionCreation: new Subject<TransactionToken<Æn>>(),
|
|
83
|
-
timelineCreation: new Subject<TimelineToken
|
|
83
|
+
timelineCreation: new Subject<TimelineToken<unknown>>(),
|
|
84
84
|
transactionApplying: new StatefulSubject<TransactionMeta<Æn> | null>(null),
|
|
85
|
-
|
|
85
|
+
operationClose: new Subject<OperationProgress>(),
|
|
86
86
|
}
|
|
87
87
|
public operation: OperationProgress = { open: false }
|
|
88
88
|
public transactionMeta: TransactionMeta<Æn> | null = null
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
AtomToken,
|
|
3
|
+
ReadableToken,
|
|
3
4
|
ReadonlySelectorToken,
|
|
4
5
|
SelectorToken,
|
|
5
6
|
StateToken,
|
|
7
|
+
TimelineManageable,
|
|
6
8
|
TimelineToken,
|
|
7
9
|
TransactionToken,
|
|
8
10
|
Æn,
|
|
@@ -18,7 +20,7 @@ type Withdrawable<T> =
|
|
|
18
20
|
| Atom<T>
|
|
19
21
|
| ReadonlySelector<T>
|
|
20
22
|
| Selector<T>
|
|
21
|
-
| Timeline
|
|
23
|
+
| Timeline<T extends TimelineManageable ? T : never>
|
|
22
24
|
| Transaction<T extends Æn ? T : never>
|
|
23
25
|
|
|
24
26
|
export function withdraw<T>(
|
|
@@ -42,19 +44,15 @@ export function withdraw<T>(
|
|
|
42
44
|
store: Store,
|
|
43
45
|
): Transaction<T extends Æn ? T : never> | undefined
|
|
44
46
|
export function withdraw<T>(
|
|
45
|
-
token:
|
|
47
|
+
token: ReadableToken<T>,
|
|
46
48
|
store: Store,
|
|
47
49
|
): Atom<T> | ReadonlySelector<T> | Selector<T> | undefined
|
|
48
50
|
export function withdraw<T>(
|
|
49
|
-
token: TimelineToken
|
|
51
|
+
token: TimelineToken<T>,
|
|
50
52
|
store: Store,
|
|
51
|
-
): Timeline | undefined
|
|
53
|
+
): Timeline<T extends TimelineManageable ? T : never> | undefined
|
|
52
54
|
export function withdraw<T>(
|
|
53
|
-
token:
|
|
54
|
-
| ReadonlySelectorToken<T>
|
|
55
|
-
| StateToken<T>
|
|
56
|
-
| TimelineToken
|
|
57
|
-
| TransactionToken<T>,
|
|
55
|
+
token: ReadableToken<T> | TimelineToken<T> | TransactionToken<T>,
|
|
58
56
|
store: Store,
|
|
59
57
|
): Withdrawable<T> | undefined {
|
|
60
58
|
let withdrawn: Withdrawable<T> | undefined
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { TimelineToken, TimelineUpdate } from "atom.io"
|
|
1
|
+
import type { TimelineManageable, TimelineToken, TimelineUpdate } from "atom.io"
|
|
2
2
|
import type { Store } from "atom.io/internal"
|
|
3
3
|
import { withdraw } from "atom.io/internal"
|
|
4
4
|
|
|
5
|
-
export const subscribeToTimeline = (
|
|
6
|
-
token: TimelineToken
|
|
7
|
-
handleUpdate: (update: TimelineUpdate | `redo` | `undo`) => void,
|
|
5
|
+
export const subscribeToTimeline = <ManagedAtom extends TimelineManageable>(
|
|
6
|
+
token: TimelineToken<ManagedAtom>,
|
|
7
|
+
handleUpdate: (update: TimelineUpdate<any> | `redo` | `undo`) => void,
|
|
8
8
|
key: string,
|
|
9
9
|
store: Store,
|
|
10
10
|
): (() => void) => {
|
|
@@ -13,7 +13,7 @@ import type {
|
|
|
13
13
|
|
|
14
14
|
export const addAtomToTimeline = (
|
|
15
15
|
atomToken: AtomToken<any>,
|
|
16
|
-
tl: Timeline
|
|
16
|
+
tl: Timeline<any>,
|
|
17
17
|
store: Store,
|
|
18
18
|
): void => {
|
|
19
19
|
let maybeAtom = withdraw(atomToken, store)
|
|
@@ -40,9 +40,8 @@ export const addAtomToTimeline = (
|
|
|
40
40
|
store.operation.open && store.operation.token.type === `selector`
|
|
41
41
|
? store.operation.time
|
|
42
42
|
: null
|
|
43
|
-
const currentTransactionKey =
|
|
44
|
-
|
|
45
|
-
const currentTransactionTime = target.subject.transactionApplying.state?.time
|
|
43
|
+
const currentTransactionKey = target.on.transactionApplying.state?.update.key
|
|
44
|
+
const currentTransactionTime = target.on.transactionApplying.state?.time
|
|
46
45
|
|
|
47
46
|
store.logger.info(
|
|
48
47
|
`â³`,
|
|
@@ -62,7 +61,8 @@ export const addAtomToTimeline = (
|
|
|
62
61
|
)
|
|
63
62
|
if (tl.timeTraveling === null) {
|
|
64
63
|
if (tl.selectorTime && tl.selectorTime !== currentSelectorTime) {
|
|
65
|
-
const mostRecentUpdate: TimelineUpdate | undefined =
|
|
64
|
+
const mostRecentUpdate: TimelineUpdate<any> | undefined =
|
|
65
|
+
tl.history.at(-1)
|
|
66
66
|
if (mostRecentUpdate === undefined) {
|
|
67
67
|
throw new Error(
|
|
68
68
|
`Timeline "${tl.key}" has a selectorTime, but no history. This is most likely a bug in AtomIO.`,
|
|
@@ -155,7 +155,7 @@ export const addAtomToTimeline = (
|
|
|
155
155
|
)
|
|
156
156
|
}
|
|
157
157
|
} else if (currentSelectorKey && currentSelectorTime) {
|
|
158
|
-
let latestUpdate: TimelineUpdate | undefined = tl.history.at(-1)
|
|
158
|
+
let latestUpdate: TimelineUpdate<any> | undefined = tl.history.at(-1)
|
|
159
159
|
|
|
160
160
|
if (currentSelectorTime !== tl.selectorTime) {
|
|
161
161
|
latestUpdate = {
|
|
@@ -217,7 +217,7 @@ export const addAtomToTimeline = (
|
|
|
217
217
|
if (tl.at !== tl.history.length) {
|
|
218
218
|
tl.history.splice(tl.at)
|
|
219
219
|
}
|
|
220
|
-
const atomUpdate: TimelineAtomUpdate = {
|
|
220
|
+
const atomUpdate: TimelineAtomUpdate<any> = {
|
|
221
221
|
type: `atom_update`,
|
|
222
222
|
timestamp,
|
|
223
223
|
key: atom.key,
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type {
|
|
2
|
+
AtomFamily,
|
|
3
|
+
AtomToken,
|
|
2
4
|
FamilyMetadata,
|
|
3
5
|
StateUpdate,
|
|
6
|
+
TimelineManageable,
|
|
4
7
|
TimelineOptions,
|
|
5
8
|
TimelineToken,
|
|
6
9
|
TimelineUpdate,
|
|
10
|
+
TokenType,
|
|
7
11
|
TransactionUpdate,
|
|
8
12
|
Æn,
|
|
9
13
|
} from "atom.io"
|
|
@@ -16,17 +20,18 @@ import { type Store, withdraw } from "../store"
|
|
|
16
20
|
import { Subject } from "../subject"
|
|
17
21
|
import { addAtomToTimeline } from "./add-atom-to-timeline"
|
|
18
22
|
|
|
19
|
-
export type TimelineAtomUpdate
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
export type TimelineAtomUpdate<ManagedAtom extends TimelineManageable> =
|
|
24
|
+
StateUpdate<TokenType<ManagedAtom>> & {
|
|
25
|
+
key: string
|
|
26
|
+
type: `atom_update`
|
|
27
|
+
timestamp: number
|
|
28
|
+
family?: FamilyMetadata
|
|
29
|
+
}
|
|
30
|
+
export type TimelineSelectorUpdate<ManagedAtom extends TimelineManageable> = {
|
|
26
31
|
key: string
|
|
27
32
|
type: `selector_update`
|
|
28
33
|
timestamp: number
|
|
29
|
-
atomUpdates: Omit<TimelineAtomUpdate
|
|
34
|
+
atomUpdates: Omit<TimelineAtomUpdate<ManagedAtom>, `timestamp`>[]
|
|
30
35
|
}
|
|
31
36
|
export type TimelineTransactionUpdate = TransactionUpdate<Æn> & {
|
|
32
37
|
key: string
|
|
@@ -34,31 +39,34 @@ export type TimelineTransactionUpdate = TransactionUpdate<Æn> & {
|
|
|
34
39
|
timestamp: number
|
|
35
40
|
}
|
|
36
41
|
|
|
37
|
-
export type Timeline = {
|
|
42
|
+
export type Timeline<ManagedAtom extends TimelineManageable> = {
|
|
38
43
|
type: `timeline`
|
|
39
44
|
key: string
|
|
40
45
|
at: number
|
|
41
|
-
shouldCapture?: (
|
|
46
|
+
shouldCapture?: (
|
|
47
|
+
update: TimelineUpdate<TimelineManageable>,
|
|
48
|
+
timeline: Timeline<ManagedAtom>,
|
|
49
|
+
) => boolean
|
|
42
50
|
timeTraveling: `into_future` | `into_past` | null
|
|
43
|
-
history: TimelineUpdate[]
|
|
51
|
+
history: TimelineUpdate<ManagedAtom>[]
|
|
44
52
|
selectorTime: number | null
|
|
45
53
|
transactionKey: string | null
|
|
46
54
|
install: (store: Store) => void
|
|
47
55
|
subject: Subject<
|
|
48
|
-
| TimelineAtomUpdate
|
|
49
|
-
| TimelineSelectorUpdate
|
|
56
|
+
| TimelineAtomUpdate<ManagedAtom>
|
|
57
|
+
| TimelineSelectorUpdate<ManagedAtom>
|
|
50
58
|
| TimelineTransactionUpdate
|
|
51
59
|
| `redo`
|
|
52
60
|
| `undo`
|
|
53
61
|
>
|
|
54
62
|
}
|
|
55
63
|
|
|
56
|
-
export function createTimeline(
|
|
57
|
-
options: TimelineOptions
|
|
64
|
+
export function createTimeline<ManagedAtom extends TimelineManageable>(
|
|
65
|
+
options: TimelineOptions<ManagedAtom>,
|
|
58
66
|
store: Store,
|
|
59
|
-
data?: Timeline
|
|
60
|
-
): TimelineToken {
|
|
61
|
-
const tl: Timeline = {
|
|
67
|
+
data?: Timeline<ManagedAtom>,
|
|
68
|
+
): TimelineToken<ManagedAtom> {
|
|
69
|
+
const tl: Timeline<ManagedAtom> = {
|
|
62
70
|
type: `timeline`,
|
|
63
71
|
key: options.key,
|
|
64
72
|
at: 0,
|
|
@@ -88,7 +96,7 @@ export function createTimeline(
|
|
|
88
96
|
continue
|
|
89
97
|
}
|
|
90
98
|
if (tokenOrFamily.type === `atom_family`) {
|
|
91
|
-
let family = tokenOrFamily
|
|
99
|
+
let family: AtomFamily<any> = tokenOrFamily
|
|
92
100
|
if (isMutable(family)) {
|
|
93
101
|
family = getUpdateFamily(family, store)
|
|
94
102
|
atomKey = family.key
|
|
@@ -146,10 +154,10 @@ export function createTimeline(
|
|
|
146
154
|
}
|
|
147
155
|
|
|
148
156
|
store.timelines.set(options.key, tl)
|
|
149
|
-
const token: TimelineToken = {
|
|
157
|
+
const token: TimelineToken<ManagedAtom> = {
|
|
150
158
|
key: timelineKey,
|
|
151
159
|
type: `timeline`,
|
|
152
160
|
}
|
|
153
|
-
store.
|
|
161
|
+
store.on.timelineCreation.next(token)
|
|
154
162
|
return token
|
|
155
163
|
}
|
|
@@ -73,7 +73,7 @@ export const applyTransaction = <Æ extends Æn>(
|
|
|
73
73
|
child.transactionMeta.phase = `applying`
|
|
74
74
|
child.transactionMeta.update.output = output
|
|
75
75
|
parent.child = null
|
|
76
|
-
parent.
|
|
76
|
+
parent.on.transactionApplying.next(child.transactionMeta)
|
|
77
77
|
const { updates } = child.transactionMeta.update
|
|
78
78
|
store.logger.info(
|
|
79
79
|
`ð`,
|
|
@@ -118,5 +118,5 @@ export const applyTransaction = <Æ extends Æn>(
|
|
|
118
118
|
} else {
|
|
119
119
|
parent.transactionMeta.update.updates.push(child.transactionMeta.update)
|
|
120
120
|
}
|
|
121
|
-
parent.
|
|
121
|
+
parent.on.transactionApplying.next(null)
|
|
122
122
|
}
|
|
@@ -49,6 +49,6 @@ export function createTransaction<Æ extends Æn>(
|
|
|
49
49
|
const target = newest(store)
|
|
50
50
|
target.transactions.set(newTransaction.key, newTransaction)
|
|
51
51
|
const token = deposit(newTransaction)
|
|
52
|
-
store.
|
|
52
|
+
store.on.transactionCreation.next(token)
|
|
53
53
|
return token
|
|
54
54
|
}
|
|
@@ -54,7 +54,7 @@ var attachAtomIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
|
54
54
|
},
|
|
55
55
|
effects: [
|
|
56
56
|
({ setSelf }) => {
|
|
57
|
-
store.
|
|
57
|
+
store.on.atomCreation.subscribe(`introspection`, (atomToken) => {
|
|
58
58
|
if (atomToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
@@ -82,7 +82,7 @@ var attachAtomIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
|
82
82
|
});
|
|
83
83
|
});
|
|
84
84
|
if (Internal.newest(store).operation.open) {
|
|
85
|
-
const unsubscribe = store.
|
|
85
|
+
const unsubscribe = store.on.operationClose.subscribe(
|
|
86
86
|
`introspection: waiting to update atom index`,
|
|
87
87
|
() => {
|
|
88
88
|
unsubscribe();
|
|
@@ -124,7 +124,7 @@ var attachSelectorIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
|
124
124
|
),
|
|
125
125
|
effects: [
|
|
126
126
|
({ setSelf }) => {
|
|
127
|
-
store.
|
|
127
|
+
store.on.selectorCreation.subscribe(
|
|
128
128
|
`introspection`,
|
|
129
129
|
(selectorToken) => {
|
|
130
130
|
if (selectorToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
@@ -154,7 +154,7 @@ var attachSelectorIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
|
154
154
|
});
|
|
155
155
|
});
|
|
156
156
|
if (Internal.newest(store).operation.open) {
|
|
157
|
-
const unsubscribe = store.
|
|
157
|
+
const unsubscribe = store.on.operationClose.subscribe(
|
|
158
158
|
`introspection: waiting to update selector index`,
|
|
159
159
|
() => {
|
|
160
160
|
unsubscribe();
|
|
@@ -205,10 +205,10 @@ var attachTimelineFamily = (store = Internal.IMPLICIT.STORE) => {
|
|
|
205
205
|
const tl = store.timelines.get(key);
|
|
206
206
|
tl == null ? void 0 : tl.subject.subscribe(`introspection`, (_) => {
|
|
207
207
|
if (store.operation.open === true) {
|
|
208
|
-
const unsubscribe = store.
|
|
208
|
+
const unsubscribe = store.on.operationClose.subscribe(
|
|
209
209
|
`introspection`,
|
|
210
|
-
(
|
|
211
|
-
if (
|
|
210
|
+
(operationClose) => {
|
|
211
|
+
if (operationClose.open === false) {
|
|
212
212
|
unsubscribe();
|
|
213
213
|
setSelf(__spreadValues({}, tl));
|
|
214
214
|
}
|
|
@@ -241,7 +241,7 @@ var attachTimelineIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
|
241
241
|
}),
|
|
242
242
|
effects: [
|
|
243
243
|
({ setSelf }) => {
|
|
244
|
-
store.
|
|
244
|
+
store.on.timelineCreation.subscribe(
|
|
245
245
|
`introspection`,
|
|
246
246
|
(timelineToken) => {
|
|
247
247
|
setSelf((state) => [...state, timelineToken]);
|
|
@@ -272,7 +272,7 @@ var attachTransactionIndex = (store = Internal.IMPLICIT.STORE) => {
|
|
|
272
272
|
}),
|
|
273
273
|
effects: [
|
|
274
274
|
({ setSelf }) => {
|
|
275
|
-
store.
|
|
275
|
+
store.on.transactionCreation.subscribe(
|
|
276
276
|
`introspection`,
|
|
277
277
|
(transactionToken) => {
|
|
278
278
|
setSelf((state) => [...state, transactionToken]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/attach-introspection-states.ts","../src/attach-atom-index.ts","../src/attach-selector-index.ts","../src/attach-timeline-family.ts","../src/attach-timeline-index.ts","../src/attach-transaction-index.ts","../src/attach-transaction-logs.ts"],"names":["IMPLICIT","createRegularAtom","createSelector","newest","createRegularAtomFamily","createSelectorFamily"],"mappings":"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","sourcesContent":["import type {\n\tReadonlySelectorFamily,\n\tReadonlySelectorToken,\n\tTimelineToken,\n\tTransactionToken,\n\tTransactionUpdate,\n\tÆn,\n} from \"atom.io\"\nimport * as Internal from \"atom.io/internal\"\nimport type { Timeline } from \"atom.io/internal\"\n\nimport { type AtomTokenIndex, attachAtomIndex } from \"./attach-atom-index\"\nimport type { SelectorTokenIndex } from \"./attach-selector-index\"\nimport { attachSelectorIndex } from \"./attach-selector-index\"\nimport { attachTimelineFamily } from \"./attach-timeline-family\"\nimport { attachTimelineIndex } from \"./attach-timeline-index\"\nimport { attachTransactionIndex } from \"./attach-transaction-index\"\nimport { attachTransactionLogs } from \"./attach-transaction-logs\"\n\nexport const attachIntrospectionStates = (\n\tstore: Internal.Store = Internal.IMPLICIT.STORE,\n): {\n\tatomIndex: ReadonlySelectorToken<AtomTokenIndex>\n\tselectorIndex: ReadonlySelectorToken<SelectorTokenIndex>\n\ttransactionIndex: ReadonlySelectorToken<TransactionToken<Æn>[]>\n\tfindTransactionLogState: ReadonlySelectorFamily<TransactionUpdate<Æn>[]>\n\ttimelineIndex: ReadonlySelectorToken<TimelineToken[]>\n\tfindTimelineState: ReadonlySelectorFamily<Timeline>\n} => {\n\treturn {\n\t\tatomIndex: attachAtomIndex(store),\n\t\tselectorIndex: attachSelectorIndex(store),\n\t\ttransactionIndex: attachTransactionIndex(store),\n\t\tfindTransactionLogState: attachTransactionLogs(store),\n\t\ttimelineIndex: attachTimelineIndex(store),\n\t\tfindTimelineState: attachTimelineFamily(store),\n\t}\n}\n","import type { AtomToken, ReadonlySelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tcreateRegularAtom,\n\tcreateSelector,\n\tnewest,\n} from \"atom.io/internal\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type AtomTokenIndex = StateTokenIndex<AtomToken<unknown>>\n\nexport const attachAtomIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<AtomTokenIndex> => {\n\tconst atomTokenIndexState__INTERNAL = createRegularAtom<AtomTokenIndex>(\n\t\t{\n\t\t\tkey: `ðâðš Atom Token Index (Internal)`,\n\t\t\tdefault: () => {\n\t\t\t\tconst defaultAtomIndex = [...store.atoms]\n\t\t\t\t\t.filter(([key]) => !key.includes(`ðâðš`))\n\t\t\t\t\t.reduce<AtomTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\tacc[key] = { key, type: `atom` }\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}, {})\n\t\t\t\treturn defaultAtomIndex\n\t\t\t},\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.subject.atomCreation.subscribe(`introspection`, (atomToken) => {\n\t\t\t\t\t\tif (atomToken.key.includes(`ðâðš`)) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst set = () =>\n\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\tconst { key, family } = atomToken\n\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: atomToken,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t[key]: atomToken,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\tif (newest(store).operation.open) {\n\t\t\t\t\t\t\tconst unsubscribe = store.subject.operationStatus.subscribe(\n\t\t\t\t\t\t\t\t`introspection: waiting to update atom index`,\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Atom Token Index`,\n\t\t\tget: ({ get }) => get(atomTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import type { ReadonlySelectorToken, SelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tcreateRegularAtom,\n\tcreateSelector,\n\tnewest,\n} from \"atom.io/internal\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type SelectorTokenIndex = StateTokenIndex<\n\tReadonlySelectorToken<unknown> | SelectorToken<unknown>\n>\n\nexport const attachSelectorIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<SelectorTokenIndex> => {\n\tconst readonlySelectorTokenIndexState__INTERNAL =\n\t\tcreateRegularAtom<SelectorTokenIndex>(\n\t\t\t{\n\t\t\t\tkey: `ðâðš Selector Token Index (Internal)`,\n\t\t\t\tdefault: () =>\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t[...store.readonlySelectors]\n\t\t\t\t\t\t\t.filter(([key]) => !key.includes(`ðâðš`))\n\t\t\t\t\t\t\t.reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\t\tacc[key] = { key, type: `readonly_selector` }\n\t\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t\t}, {}),\n\t\t\t\t\t\t[...store.selectors].reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\tacc[key] = { key, type: `selector` }\n\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t}, {}),\n\t\t\t\t\t),\n\t\t\t\teffects: [\n\t\t\t\t\t({ setSelf }) => {\n\t\t\t\t\t\tstore.subject.selectorCreation.subscribe(\n\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t(selectorToken) => {\n\t\t\t\t\t\t\t\tif (selectorToken.key.includes(`ðâðš`)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst set = () =>\n\t\t\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\t\t\tconst { key, family } = selectorToken\n\t\t\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: selectorToken,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[key]: selectorToken,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tif (newest(store).operation.open) {\n\t\t\t\t\t\t\t\t\tconst unsubscribe = store.subject.operationStatus.subscribe(\n\t\t\t\t\t\t\t\t\t\t`introspection: waiting to update selector index`,\n\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tundefined,\n\t\t\tstore,\n\t\t)\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Selector Token Index`,\n\t\t\tget: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tIMPLICIT.STORE,\n\t)\n}\n","import type { ReadonlySelectorFamily } from \"atom.io\"\nimport type { Store, Timeline } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tSubject,\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n} from \"atom.io/internal\"\n\nexport const attachTimelineFamily = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorFamily<Timeline> => {\n\tconst findTimelineLogState__INTERNAL = createRegularAtomFamily<\n\t\tTimeline,\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Update Log (Internal)`,\n\t\t\tdefault: (key) =>\n\t\t\t\tstore.timelines.get(key) ?? {\n\t\t\t\t\ttype: `timeline`,\n\t\t\t\t\tkey: ``,\n\t\t\t\t\tat: 0,\n\t\t\t\t\ttimeTraveling: null,\n\t\t\t\t\thistory: [],\n\t\t\t\t\tselectorTime: null,\n\t\t\t\t\ttransactionKey: null,\n\t\t\t\t\tinstall: () => {},\n\t\t\t\t\tsubject: new Subject(),\n\t\t\t\t},\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tl = store.timelines.get(key)\n\t\t\t\t\ttl?.subject.subscribe(`introspection`, (_) => {\n\t\t\t\t\t\tif (store.operation.open === true) {\n\t\t\t\t\t\t\tconst unsubscribe = store.subject.operationStatus.subscribe(\n\t\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t\t(operationStatus) => {\n\t\t\t\t\t\t\t\t\tif (operationStatus.open === false) {\n\t\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\t\tsetSelf({ ...tl })\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetSelf({ ...tl })\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tstore,\n\t)\n\tconst findTimelineLogState = createSelectorFamily<Timeline, string>(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Update Log`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\tget(findTimelineLogState__INTERNAL(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTimelineLogState\n}\n","import type { ReadonlySelectorToken, TimelineToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createRegularAtom, createSelector } from \"atom.io/internal\"\n\nexport const attachTimelineIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<TimelineToken[]> => {\n\tconst timelineTokenIndexState__INTERNAL = createRegularAtom<TimelineToken[]>(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.timelines].map(([key]): TimelineToken => {\n\t\t\t\t\treturn { key, type: `timeline` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.subject.timelineCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(timelineToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, timelineToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\tconst timelineTokenIndex = createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Token Index`,\n\t\t\tget: ({ get }) => get(timelineTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn timelineTokenIndex\n}\n","import type { ReadonlySelectorToken, TransactionToken, Æn } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createRegularAtom, createSelector } from \"atom.io/internal\"\n\nexport const attachTransactionIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<TransactionToken<Æn>[]> => {\n\tconst transactionTokenIndexState__INTERNAL = createRegularAtom<\n\t\tTransactionToken<Æn>[]\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.transactions].map(([key]): TransactionToken<Æn> => {\n\t\t\t\t\treturn { key, type: `transaction` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.subject.transactionCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(transactionToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\tconst transactionTokenIndex = createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Token Index`,\n\t\t\tget: ({ get }) => get(transactionTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn transactionTokenIndex\n}\n","import type { ReadonlySelectorFamily, TransactionUpdate, Æn } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n} from \"atom.io/internal\"\n\nexport const attachTransactionLogs = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorFamily<TransactionUpdate<Æn>[]> => {\n\tconst findTransactionUpdateLog = createRegularAtomFamily<\n\t\tTransactionUpdate<Æn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Update Log (Internal)`,\n\t\t\tdefault: () => [],\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tx = store.transactions.get(key)\n\t\t\t\t\ttx?.subject.subscribe(`introspection`, (transactionUpdate) => {\n\t\t\t\t\t\tif (transactionUpdate.key === key) {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionUpdate])\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tstore,\n\t)\n\tconst findTransactionUpdateLogState = createSelectorFamily<\n\t\tTransactionUpdate<Æn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Update Log`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\tget(findTransactionUpdateLog(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTransactionUpdateLogState\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/attach-introspection-states.ts","../src/attach-atom-index.ts","../src/attach-selector-index.ts","../src/attach-timeline-family.ts","../src/attach-timeline-index.ts","../src/attach-transaction-index.ts","../src/attach-transaction-logs.ts"],"names":["IMPLICIT","createRegularAtom","createSelector","newest","createRegularAtomFamily","createSelectorFamily"],"mappings":"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","sourcesContent":["import type {\n\tReadonlySelectorFamily,\n\tReadonlySelectorToken,\n\tTimelineToken,\n\tTransactionToken,\n\tTransactionUpdate,\n\tÆn,\n} from \"atom.io\"\nimport * as Internal from \"atom.io/internal\"\nimport type { Timeline } from \"atom.io/internal\"\n\nimport { type AtomTokenIndex, attachAtomIndex } from \"./attach-atom-index\"\nimport type { SelectorTokenIndex } from \"./attach-selector-index\"\nimport { attachSelectorIndex } from \"./attach-selector-index\"\nimport { attachTimelineFamily } from \"./attach-timeline-family\"\nimport { attachTimelineIndex } from \"./attach-timeline-index\"\nimport { attachTransactionIndex } from \"./attach-transaction-index\"\nimport { attachTransactionLogs } from \"./attach-transaction-logs\"\n\nexport const attachIntrospectionStates = (\n\tstore: Internal.Store = Internal.IMPLICIT.STORE,\n): {\n\tatomIndex: ReadonlySelectorToken<AtomTokenIndex>\n\tselectorIndex: ReadonlySelectorToken<SelectorTokenIndex>\n\ttransactionIndex: ReadonlySelectorToken<TransactionToken<Æn>[]>\n\tfindTransactionLogState: ReadonlySelectorFamily<TransactionUpdate<Æn>[]>\n\ttimelineIndex: ReadonlySelectorToken<TimelineToken<any>[]>\n\tfindTimelineState: ReadonlySelectorFamily<Timeline<any>>\n} => {\n\treturn {\n\t\tatomIndex: attachAtomIndex(store),\n\t\tselectorIndex: attachSelectorIndex(store),\n\t\ttransactionIndex: attachTransactionIndex(store),\n\t\tfindTransactionLogState: attachTransactionLogs(store),\n\t\ttimelineIndex: attachTimelineIndex(store),\n\t\tfindTimelineState: attachTimelineFamily(store),\n\t}\n}\n","import type { AtomToken, ReadonlySelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tcreateRegularAtom,\n\tcreateSelector,\n\tnewest,\n} from \"atom.io/internal\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type AtomTokenIndex = StateTokenIndex<AtomToken<unknown>>\n\nexport const attachAtomIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<AtomTokenIndex> => {\n\tconst atomTokenIndexState__INTERNAL = createRegularAtom<AtomTokenIndex>(\n\t\t{\n\t\t\tkey: `ðâðš Atom Token Index (Internal)`,\n\t\t\tdefault: () => {\n\t\t\t\tconst defaultAtomIndex = [...store.atoms]\n\t\t\t\t\t.filter(([key]) => !key.includes(`ðâðš`))\n\t\t\t\t\t.reduce<AtomTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\tacc[key] = { key, type: `atom` }\n\t\t\t\t\t\treturn acc\n\t\t\t\t\t}, {})\n\t\t\t\treturn defaultAtomIndex\n\t\t\t},\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.atomCreation.subscribe(`introspection`, (atomToken) => {\n\t\t\t\t\t\tif (atomToken.key.includes(`ðâðš`)) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst set = () =>\n\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\tconst { key, family } = atomToken\n\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: atomToken,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t[key]: atomToken,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\tif (newest(store).operation.open) {\n\t\t\t\t\t\t\tconst unsubscribe = store.on.operationClose.subscribe(\n\t\t\t\t\t\t\t\t`introspection: waiting to update atom index`,\n\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Atom Token Index`,\n\t\t\tget: ({ get }) => get(atomTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n}\n","import type { ReadonlySelectorToken, SelectorToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tcreateRegularAtom,\n\tcreateSelector,\n\tnewest,\n} from \"atom.io/internal\"\n\nimport type { StateTokenIndex } from \".\"\n\nexport type SelectorTokenIndex = StateTokenIndex<\n\tReadonlySelectorToken<unknown> | SelectorToken<unknown>\n>\n\nexport const attachSelectorIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<SelectorTokenIndex> => {\n\tconst readonlySelectorTokenIndexState__INTERNAL =\n\t\tcreateRegularAtom<SelectorTokenIndex>(\n\t\t\t{\n\t\t\t\tkey: `ðâðš Selector Token Index (Internal)`,\n\t\t\t\tdefault: () =>\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t[...store.readonlySelectors]\n\t\t\t\t\t\t\t.filter(([key]) => !key.includes(`ðâðš`))\n\t\t\t\t\t\t\t.reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\t\tacc[key] = { key, type: `readonly_selector` }\n\t\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t\t}, {}),\n\t\t\t\t\t\t[...store.selectors].reduce<SelectorTokenIndex>((acc, [key]) => {\n\t\t\t\t\t\t\tacc[key] = { key, type: `selector` }\n\t\t\t\t\t\t\treturn acc\n\t\t\t\t\t\t}, {}),\n\t\t\t\t\t),\n\t\t\t\teffects: [\n\t\t\t\t\t({ setSelf }) => {\n\t\t\t\t\t\tstore.on.selectorCreation.subscribe(\n\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t(selectorToken) => {\n\t\t\t\t\t\t\t\tif (selectorToken.key.includes(`ðâðš`)) {\n\t\t\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst set = () =>\n\t\t\t\t\t\t\t\t\tsetSelf((state) => {\n\t\t\t\t\t\t\t\t\t\tconst { key, family } = selectorToken\n\t\t\t\t\t\t\t\t\t\tif (family) {\n\t\t\t\t\t\t\t\t\t\t\tconst { key: familyKey, subKey } = family\n\t\t\t\t\t\t\t\t\t\t\tconst current = state[familyKey]\n\t\t\t\t\t\t\t\t\t\t\tif (current === undefined || `familyMembers` in current) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst familyKeyState = current || {\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: familyKey,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {},\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t\t\t[familyKey]: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfamilyMembers: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...familyKeyState.familyMembers,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[subKey]: selectorToken,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\t\t\t\t\t[key]: selectorToken,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\tif (newest(store).operation.open) {\n\t\t\t\t\t\t\t\t\tconst unsubscribe = store.on.operationClose.subscribe(\n\t\t\t\t\t\t\t\t\t\t`introspection: waiting to update selector index`,\n\t\t\t\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tset()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\tundefined,\n\t\t\tstore,\n\t\t)\n\treturn createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Selector Token Index`,\n\t\t\tget: ({ get }) => get(readonlySelectorTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tIMPLICIT.STORE,\n\t)\n}\n","import type { ReadonlySelectorFamily } from \"atom.io\"\nimport type { Store, Timeline } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tSubject,\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n} from \"atom.io/internal\"\n\nexport const attachTimelineFamily = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorFamily<Timeline<any>> => {\n\tconst findTimelineLogState__INTERNAL = createRegularAtomFamily<\n\t\tTimeline<any>,\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Update Log (Internal)`,\n\t\t\tdefault: (key) =>\n\t\t\t\tstore.timelines.get(key) ?? {\n\t\t\t\t\ttype: `timeline`,\n\t\t\t\t\tkey: ``,\n\t\t\t\t\tat: 0,\n\t\t\t\t\ttimeTraveling: null,\n\t\t\t\t\thistory: [],\n\t\t\t\t\tselectorTime: null,\n\t\t\t\t\ttransactionKey: null,\n\t\t\t\t\tinstall: () => {},\n\t\t\t\t\tsubject: new Subject(),\n\t\t\t\t},\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tl = store.timelines.get(key)\n\t\t\t\t\ttl?.subject.subscribe(`introspection`, (_) => {\n\t\t\t\t\t\tif (store.operation.open === true) {\n\t\t\t\t\t\t\tconst unsubscribe = store.on.operationClose.subscribe(\n\t\t\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t\t\t(operationClose) => {\n\t\t\t\t\t\t\t\t\tif (operationClose.open === false) {\n\t\t\t\t\t\t\t\t\t\tunsubscribe()\n\t\t\t\t\t\t\t\t\t\tsetSelf({ ...tl })\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetSelf({ ...tl })\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tstore,\n\t)\n\tconst findTimelineLogState = createSelectorFamily<Timeline<any>, string>(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Update Log`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\tget(findTimelineLogState__INTERNAL(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTimelineLogState\n}\n","import type { ReadonlySelectorToken, TimelineToken } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createRegularAtom, createSelector } from \"atom.io/internal\"\n\nexport const attachTimelineIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<TimelineToken<any>[]> => {\n\tconst timelineTokenIndexState__INTERNAL = createRegularAtom<\n\t\tTimelineToken<any>[]\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.timelines].map(([key]): TimelineToken<any> => {\n\t\t\t\t\treturn { key, type: `timeline` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.timelineCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(timelineToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, timelineToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\tconst timelineTokenIndex = createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Timeline Token Index`,\n\t\t\tget: ({ get }) => get(timelineTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn timelineTokenIndex\n}\n","import type { ReadonlySelectorToken, TransactionToken, Æn } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport { IMPLICIT, createRegularAtom, createSelector } from \"atom.io/internal\"\n\nexport const attachTransactionIndex = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorToken<TransactionToken<Æn>[]> => {\n\tconst transactionTokenIndexState__INTERNAL = createRegularAtom<\n\t\tTransactionToken<Æn>[]\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Token Index (Internal)`,\n\t\t\tdefault: () =>\n\t\t\t\t[...store.transactions].map(([key]): TransactionToken<Æn> => {\n\t\t\t\t\treturn { key, type: `transaction` }\n\t\t\t\t}),\n\t\t\teffects: [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tstore.on.transactionCreation.subscribe(\n\t\t\t\t\t\t`introspection`,\n\t\t\t\t\t\t(transactionToken) => {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionToken])\n\t\t\t\t\t\t},\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\tconst transactionTokenIndex = createSelector(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Token Index`,\n\t\t\tget: ({ get }) => get(transactionTokenIndexState__INTERNAL),\n\t\t},\n\t\tundefined,\n\t\tstore,\n\t)\n\treturn transactionTokenIndex\n}\n","import type { ReadonlySelectorFamily, TransactionUpdate, Æn } from \"atom.io\"\nimport type { Store } from \"atom.io/internal\"\nimport {\n\tIMPLICIT,\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n} from \"atom.io/internal\"\n\nexport const attachTransactionLogs = (\n\tstore: Store = IMPLICIT.STORE,\n): ReadonlySelectorFamily<TransactionUpdate<Æn>[]> => {\n\tconst findTransactionUpdateLog = createRegularAtomFamily<\n\t\tTransactionUpdate<Æn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Update Log (Internal)`,\n\t\t\tdefault: () => [],\n\t\t\teffects: (key) => [\n\t\t\t\t({ setSelf }) => {\n\t\t\t\t\tconst tx = store.transactions.get(key)\n\t\t\t\t\ttx?.subject.subscribe(`introspection`, (transactionUpdate) => {\n\t\t\t\t\t\tif (transactionUpdate.key === key) {\n\t\t\t\t\t\t\tsetSelf((state) => [...state, transactionUpdate])\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tstore,\n\t)\n\tconst findTransactionUpdateLogState = createSelectorFamily<\n\t\tTransactionUpdate<Æn>[],\n\t\tstring\n\t>(\n\t\t{\n\t\t\tkey: `ðâðš Transaction Update Log`,\n\t\t\tget:\n\t\t\t\t(key) =>\n\t\t\t\t({ get }) =>\n\t\t\t\t\tget(findTransactionUpdateLog(key)),\n\t\t},\n\t\tstore,\n\t)\n\treturn findTransactionUpdateLogState\n}\n"]}
|
|
@@ -11,8 +11,8 @@ declare const attachIntrospectionStates: (store?: Internal.Store) => {
|
|
|
11
11
|
selectorIndex: ReadonlySelectorToken<SelectorTokenIndex>;
|
|
12
12
|
transactionIndex: ReadonlySelectorToken<TransactionToken<_n>[]>;
|
|
13
13
|
findTransactionLogState: ReadonlySelectorFamily<TransactionUpdate<_n>[]>;
|
|
14
|
-
timelineIndex: ReadonlySelectorToken<TimelineToken[]>;
|
|
15
|
-
findTimelineState: ReadonlySelectorFamily<Timeline
|
|
14
|
+
timelineIndex: ReadonlySelectorToken<TimelineToken<any>[]>;
|
|
15
|
+
findTimelineState: ReadonlySelectorFamily<Timeline<any>>;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
type FamilyNode<Token extends AtomToken<unknown> | ReadonlySelectorToken<unknown> | SelectorToken<unknown>> = {
|
|
@@ -15,7 +15,7 @@ var attachAtomIndex = (store = IMPLICIT.STORE) => {
|
|
|
15
15
|
},
|
|
16
16
|
effects: [
|
|
17
17
|
({ setSelf }) => {
|
|
18
|
-
store.
|
|
18
|
+
store.on.atomCreation.subscribe(`introspection`, (atomToken) => {
|
|
19
19
|
if (atomToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
@@ -43,7 +43,7 @@ var attachAtomIndex = (store = IMPLICIT.STORE) => {
|
|
|
43
43
|
});
|
|
44
44
|
});
|
|
45
45
|
if (newest(store).operation.open) {
|
|
46
|
-
const unsubscribe = store.
|
|
46
|
+
const unsubscribe = store.on.operationClose.subscribe(
|
|
47
47
|
`introspection: waiting to update atom index`,
|
|
48
48
|
() => {
|
|
49
49
|
unsubscribe();
|
|
@@ -85,7 +85,7 @@ var attachSelectorIndex = (store = IMPLICIT.STORE) => {
|
|
|
85
85
|
),
|
|
86
86
|
effects: [
|
|
87
87
|
({ setSelf }) => {
|
|
88
|
-
store.
|
|
88
|
+
store.on.selectorCreation.subscribe(
|
|
89
89
|
`introspection`,
|
|
90
90
|
(selectorToken) => {
|
|
91
91
|
if (selectorToken.key.includes(`\u{1F441}\u200D\u{1F5E8}`)) {
|
|
@@ -115,7 +115,7 @@ var attachSelectorIndex = (store = IMPLICIT.STORE) => {
|
|
|
115
115
|
});
|
|
116
116
|
});
|
|
117
117
|
if (newest(store).operation.open) {
|
|
118
|
-
const unsubscribe = store.
|
|
118
|
+
const unsubscribe = store.on.operationClose.subscribe(
|
|
119
119
|
`introspection: waiting to update selector index`,
|
|
120
120
|
() => {
|
|
121
121
|
unsubscribe();
|
|
@@ -166,10 +166,10 @@ var attachTimelineFamily = (store = IMPLICIT.STORE) => {
|
|
|
166
166
|
const tl = store.timelines.get(key);
|
|
167
167
|
tl == null ? void 0 : tl.subject.subscribe(`introspection`, (_) => {
|
|
168
168
|
if (store.operation.open === true) {
|
|
169
|
-
const unsubscribe = store.
|
|
169
|
+
const unsubscribe = store.on.operationClose.subscribe(
|
|
170
170
|
`introspection`,
|
|
171
|
-
(
|
|
172
|
-
if (
|
|
171
|
+
(operationClose) => {
|
|
172
|
+
if (operationClose.open === false) {
|
|
173
173
|
unsubscribe();
|
|
174
174
|
setSelf(__spreadValues({}, tl));
|
|
175
175
|
}
|
|
@@ -202,7 +202,7 @@ var attachTimelineIndex = (store = IMPLICIT.STORE) => {
|
|
|
202
202
|
}),
|
|
203
203
|
effects: [
|
|
204
204
|
({ setSelf }) => {
|
|
205
|
-
store.
|
|
205
|
+
store.on.timelineCreation.subscribe(
|
|
206
206
|
`introspection`,
|
|
207
207
|
(timelineToken) => {
|
|
208
208
|
setSelf((state) => [...state, timelineToken]);
|
|
@@ -233,7 +233,7 @@ var attachTransactionIndex = (store = IMPLICIT.STORE) => {
|
|
|
233
233
|
}),
|
|
234
234
|
effects: [
|
|
235
235
|
({ setSelf }) => {
|
|
236
|
-
store.
|
|
236
|
+
store.on.transactionCreation.subscribe(
|
|
237
237
|
`introspection`,
|
|
238
238
|
(transactionToken) => {
|
|
239
239
|
setSelf((state) => [...state, transactionToken]);
|