atom.io 0.14.0 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/data/dist/index.cjs +1421 -52
  2. package/data/dist/index.cjs.map +1 -1
  3. package/data/dist/index.d.cts +317 -16
  4. package/data/dist/index.js +10 -267
  5. package/data/dist/index.js.map +1 -1
  6. package/data/package.json +5 -5
  7. package/data/src/join.ts +3 -3
  8. package/dist/chunk-C4YZZNRH.js +67 -0
  9. package/dist/chunk-C4YZZNRH.js.map +1 -0
  10. package/dist/chunk-CWKKQKVQ.js +68 -0
  11. package/dist/chunk-CWKKQKVQ.js.map +1 -0
  12. package/dist/chunk-GMN5KH6A.js +309 -0
  13. package/dist/chunk-GMN5KH6A.js.map +1 -0
  14. package/dist/chunk-N7ADBQJG.js +176 -0
  15. package/dist/chunk-N7ADBQJG.js.map +1 -0
  16. package/dist/chunk-NYCVSXQB.js +181 -0
  17. package/dist/chunk-NYCVSXQB.js.map +1 -0
  18. package/dist/chunk-PURABO5G.js +2581 -0
  19. package/dist/chunk-PURABO5G.js.map +1 -0
  20. package/dist/index.cjs +2330 -55
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +272 -22
  23. package/dist/index.js +1 -152
  24. package/dist/index.js.map +1 -1
  25. package/dist/metafile-cjs.json +1 -1
  26. package/internal/dist/index.cjs +299 -106
  27. package/internal/dist/index.cjs.map +1 -1
  28. package/internal/dist/index.d.cts +231 -30
  29. package/internal/dist/index.js +1 -2240
  30. package/internal/dist/index.js.map +1 -1
  31. package/internal/package.json +5 -5
  32. package/internal/src/atom/create-atom.ts +3 -1
  33. package/internal/src/families/create-atom-family.ts +3 -4
  34. package/internal/src/mutable/get-update-family.ts +23 -0
  35. package/internal/src/mutable/index.ts +1 -4
  36. package/internal/src/mutable/is-mutable.ts +44 -0
  37. package/internal/src/mutable/tracker.ts +9 -2
  38. package/internal/src/subject.ts +2 -1
  39. package/internal/src/timeline/add-atom-to-timeline.ts +10 -1
  40. package/internal/src/timeline/create-timeline.ts +44 -16
  41. package/introspection/dist/index.cjs +1566 -46
  42. package/introspection/dist/index.cjs.map +1 -1
  43. package/introspection/dist/index.d.cts +376 -4
  44. package/introspection/dist/index.js +2 -316
  45. package/introspection/dist/index.js.map +1 -1
  46. package/introspection/package.json +5 -5
  47. package/json/dist/index.cjs +1505 -8
  48. package/json/dist/index.cjs.map +1 -1
  49. package/json/dist/index.d.cts +373 -7
  50. package/json/dist/index.js +1 -76
  51. package/json/dist/index.js.map +1 -1
  52. package/json/package.json +5 -5
  53. package/package.json +5 -4
  54. package/react/dist/index.cjs +1549 -14
  55. package/react/dist/index.cjs.map +1 -1
  56. package/react/dist/index.d.cts +377 -4
  57. package/react/dist/index.js +2 -68
  58. package/react/dist/index.js.map +1 -1
  59. package/react/package.json +5 -5
  60. package/react-devtools/dist/index.cjs +2216 -198
  61. package/react-devtools/dist/index.cjs.map +1 -1
  62. package/react-devtools/dist/index.css +2 -2
  63. package/react-devtools/dist/index.d.cts +150 -24
  64. package/react-devtools/dist/index.js +57 -297
  65. package/react-devtools/dist/index.js.map +1 -1
  66. package/react-devtools/package.json +5 -5
  67. package/realtime-client/dist/index.cjs +1530 -35
  68. package/realtime-client/dist/index.cjs.map +1 -1
  69. package/realtime-client/dist/index.d.cts +384 -12
  70. package/realtime-client/dist/index.js +2 -165
  71. package/realtime-client/dist/index.js.map +1 -1
  72. package/realtime-client/package.json +5 -5
  73. package/realtime-react/dist/index.cjs +1727 -35
  74. package/realtime-react/dist/index.cjs.map +1 -1
  75. package/realtime-react/dist/index.d.cts +49 -9
  76. package/realtime-react/dist/index.js +4 -66
  77. package/realtime-react/dist/index.js.map +1 -1
  78. package/realtime-react/package.json +5 -5
  79. package/realtime-server/dist/index.cjs +1549 -58
  80. package/realtime-server/dist/index.cjs.map +1 -1
  81. package/realtime-server/dist/index.d.cts +394 -11
  82. package/realtime-server/dist/index.js +27 -21
  83. package/realtime-server/dist/index.js.map +1 -1
  84. package/realtime-server/package.json +6 -6
  85. package/realtime-testing/dist/index.cjs +2377 -16
  86. package/realtime-testing/dist/index.cjs.map +1 -1
  87. package/realtime-testing/dist/index.d.cts +489 -3
  88. package/realtime-testing/dist/index.js +10 -31
  89. package/realtime-testing/dist/index.js.map +1 -1
  90. package/realtime-testing/package.json +5 -5
  91. package/src/atom.ts +3 -1
  92. package/transceivers/set-rtx/dist/index.cjs +32 -10
  93. package/transceivers/set-rtx/dist/index.cjs.map +1 -1
  94. package/transceivers/set-rtx/dist/index.d.cts +29 -3
  95. package/transceivers/set-rtx/dist/index.js +2 -3
  96. package/transceivers/set-rtx/dist/index.js.map +1 -1
  97. package/transceivers/set-rtx/package.json +6 -6
  98. package/data/dist/index.d.ts +0 -158
  99. package/data/dist/metafile-cjs.json +0 -1
  100. package/data/dist/metafile-esm.json +0 -1
  101. package/dist/index.d.ts +0 -243
  102. package/dist/metafile-esm.json +0 -1
  103. package/internal/dist/index.d.ts +0 -421
  104. package/internal/dist/metafile-cjs.json +0 -1
  105. package/internal/dist/metafile-esm.json +0 -1
  106. package/internal/src/mutable/is-atom-token-mutable.ts +0 -7
  107. package/introspection/dist/index.d.ts +0 -24
  108. package/introspection/dist/metafile-cjs.json +0 -1
  109. package/introspection/dist/metafile-esm.json +0 -1
  110. package/json/dist/index.d.ts +0 -51
  111. package/json/dist/metafile-cjs.json +0 -1
  112. package/json/dist/metafile-esm.json +0 -1
  113. package/react/dist/index.d.ts +0 -23
  114. package/react/dist/metafile-cjs.json +0 -1
  115. package/react/dist/metafile-esm.json +0 -1
  116. package/react-devtools/dist/index.d.ts +0 -341
  117. package/react-devtools/dist/metafile-cjs.json +0 -1
  118. package/react-devtools/dist/metafile-esm.json +0 -1
  119. package/realtime-client/dist/index.d.ts +0 -22
  120. package/realtime-client/dist/metafile-cjs.json +0 -1
  121. package/realtime-client/dist/metafile-esm.json +0 -1
  122. package/realtime-react/dist/index.d.ts +0 -27
  123. package/realtime-react/dist/metafile-cjs.json +0 -1
  124. package/realtime-react/dist/metafile-esm.json +0 -1
  125. package/realtime-server/dist/index.d.ts +0 -25
  126. package/realtime-server/dist/metafile-cjs.json +0 -1
  127. package/realtime-server/dist/metafile-esm.json +0 -1
  128. package/realtime-testing/dist/index.d.ts +0 -49
  129. package/realtime-testing/dist/metafile-cjs.json +0 -1
  130. package/realtime-testing/dist/metafile-esm.json +0 -1
  131. package/transceivers/set-rtx/dist/index.d.ts +0 -40
  132. package/transceivers/set-rtx/dist/metafile-cjs.json +0 -1
  133. package/transceivers/set-rtx/dist/metafile-esm.json +0 -1
@@ -9,7 +9,10 @@ import type {
9
9
  } from "atom.io"
10
10
 
11
11
  import { newest } from "../lineage"
12
- import type { Store } from "../store"
12
+ import { getUpdateToken } from "../mutable"
13
+ import { getUpdateFamily } from "../mutable/get-update-family"
14
+ import { isMutable } from "../mutable/is-mutable"
15
+ import { type Store, withdraw } from "../store"
13
16
  import { Subject } from "../subject"
14
17
  import { addAtomToTimeline } from "./add-atom-to-timeline"
15
18
 
@@ -70,21 +73,26 @@ export function createTimeline(
70
73
  if (options.shouldCapture) {
71
74
  tl.shouldCapture = options.shouldCapture
72
75
  }
73
-
76
+ const timelineKey = options.key
74
77
  const target = newest(store)
75
78
  for (const tokenOrFamily of options.atoms) {
76
- const timelineKey = target.timelineAtoms.getRelatedKey(tokenOrFamily.key)
77
- if (timelineKey) {
79
+ let atomKey = tokenOrFamily.key
80
+ const existingTimelineKey = target.timelineAtoms.getRelatedKey(atomKey)
81
+ if (existingTimelineKey) {
78
82
  store.logger.error(
79
83
  `❌`,
80
84
  `timeline`,
81
85
  options.key,
82
- `Failed to add atom "${tokenOrFamily.key}" because it already belongs to timeline "${timelineKey}"`,
86
+ `Failed to add atom "${atomKey}" because it already belongs to timeline "${existingTimelineKey}"`,
83
87
  )
84
88
  continue
85
89
  }
86
90
  if (tokenOrFamily.type === `atom_family`) {
87
- const family = tokenOrFamily
91
+ let family = tokenOrFamily
92
+ if (isMutable(family)) {
93
+ family = getUpdateFamily(family, store)
94
+ atomKey = family.key
95
+ }
88
96
  family.subject.subscribe(`timeline:${options.key}`, (token) => {
89
97
  addAtomToTimeline(token, tl, store)
90
98
  })
@@ -94,32 +102,52 @@ export function createTimeline(
94
102
  }
95
103
  }
96
104
  } else {
97
- const token = tokenOrFamily
98
- if (`family` in token && token.family) {
105
+ let atom = withdraw(tokenOrFamily, store)
106
+ if (atom === undefined) {
107
+ store.logger.error(
108
+ `❌`,
109
+ `timeline`,
110
+ options.key,
111
+ `Failed to add atom "${atomKey}" because it does not exist in the store`,
112
+ )
113
+ continue
114
+ }
115
+ if (isMutable(atom)) {
116
+ const updateAtom = withdraw(getUpdateToken(atom), store)
117
+ if (updateAtom === undefined) {
118
+ store.logger.error(
119
+ `❌`,
120
+ `timeline`,
121
+ options.key,
122
+ `Failed to add update atom "${atomKey}" because it does not exist in the store`,
123
+ )
124
+ continue
125
+ }
126
+ atom = updateAtom
127
+ atomKey = atom.key
128
+ }
129
+ if (`family` in atom) {
99
130
  const familyTimelineKey = target.timelineAtoms.getRelatedKey(
100
- token.family.key,
131
+ atom.family.key,
101
132
  )
102
133
  if (familyTimelineKey) {
103
134
  store.logger.error(
104
135
  `❌`,
105
136
  `timeline`,
106
137
  options.key,
107
- `Failed to add atom "${token.key}" because its family "${token.family.key}" already belongs to timeline "${familyTimelineKey}"`,
138
+ `Failed to add atom "${atom.key}" because its family "${atom.family.key}" already belongs to timeline "${familyTimelineKey}"`,
108
139
  )
109
140
  continue
110
141
  }
111
142
  }
112
- addAtomToTimeline(token, tl, store)
143
+ addAtomToTimeline(atom, tl, store)
113
144
  }
114
- target.timelineAtoms = target.timelineAtoms.set({
115
- atomKey: tokenOrFamily.key,
116
- timelineKey: options.key,
117
- })
145
+ target.timelineAtoms.set({ atomKey, timelineKey })
118
146
  }
119
147
 
120
148
  store.timelines.set(options.key, tl)
121
149
  const token: TimelineToken = {
122
- key: options.key,
150
+ key: timelineKey,
123
151
  type: `timeline`,
124
152
  }
125
153
  store.subject.timelineCreation.next(token)