atom.io 0.14.0 → 0.14.1

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 (122) hide show
  1. package/data/dist/index.cjs +1473 -52
  2. package/data/dist/index.cjs.map +1 -1
  3. package/data/dist/index.d.cts +315 -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-5VJ77LZE.js +176 -0
  9. package/dist/chunk-5VJ77LZE.js.map +1 -0
  10. package/dist/chunk-CK7GNCU5.js +309 -0
  11. package/dist/chunk-CK7GNCU5.js.map +1 -0
  12. package/dist/chunk-KW7RA7IM.js +67 -0
  13. package/dist/chunk-KW7RA7IM.js.map +1 -0
  14. package/dist/chunk-LFXB7Y6M.js +68 -0
  15. package/dist/chunk-LFXB7Y6M.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-TE3ZSTQ6.js +2516 -0
  19. package/dist/chunk-TE3ZSTQ6.js.map +1 -0
  20. package/dist/index.cjs +2244 -55
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +268 -21
  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 +208 -79
  27. package/internal/dist/index.cjs.map +1 -1
  28. package/internal/dist/index.d.cts +226 -27
  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/introspection/dist/index.cjs +1618 -46
  33. package/introspection/dist/index.cjs.map +1 -1
  34. package/introspection/dist/index.d.cts +374 -4
  35. package/introspection/dist/index.js +2 -316
  36. package/introspection/dist/index.js.map +1 -1
  37. package/introspection/package.json +5 -5
  38. package/json/dist/index.cjs +1560 -8
  39. package/json/dist/index.cjs.map +1 -1
  40. package/json/dist/index.d.cts +371 -7
  41. package/json/dist/index.js +1 -76
  42. package/json/dist/index.js.map +1 -1
  43. package/json/package.json +5 -5
  44. package/package.json +5 -4
  45. package/react/dist/index.cjs +1604 -14
  46. package/react/dist/index.cjs.map +1 -1
  47. package/react/dist/index.d.cts +375 -4
  48. package/react/dist/index.js +2 -68
  49. package/react/dist/index.js.map +1 -1
  50. package/react/package.json +5 -5
  51. package/react-devtools/dist/index.cjs +2268 -198
  52. package/react-devtools/dist/index.cjs.map +1 -1
  53. package/react-devtools/dist/index.css +2 -2
  54. package/react-devtools/dist/index.d.cts +148 -24
  55. package/react-devtools/dist/index.js +57 -297
  56. package/react-devtools/dist/index.js.map +1 -1
  57. package/react-devtools/package.json +5 -5
  58. package/realtime-client/dist/index.cjs +1585 -35
  59. package/realtime-client/dist/index.cjs.map +1 -1
  60. package/realtime-client/dist/index.d.cts +382 -12
  61. package/realtime-client/dist/index.js +2 -165
  62. package/realtime-client/dist/index.js.map +1 -1
  63. package/realtime-client/package.json +5 -5
  64. package/realtime-react/dist/index.cjs +1782 -35
  65. package/realtime-react/dist/index.cjs.map +1 -1
  66. package/realtime-react/dist/index.d.cts +49 -9
  67. package/realtime-react/dist/index.js +4 -66
  68. package/realtime-react/dist/index.js.map +1 -1
  69. package/realtime-react/package.json +5 -5
  70. package/realtime-server/dist/index.cjs +1604 -58
  71. package/realtime-server/dist/index.cjs.map +1 -1
  72. package/realtime-server/dist/index.d.cts +391 -11
  73. package/realtime-server/dist/index.js +27 -21
  74. package/realtime-server/dist/index.js.map +1 -1
  75. package/realtime-server/package.json +6 -6
  76. package/realtime-testing/dist/index.cjs +2352 -16
  77. package/realtime-testing/dist/index.cjs.map +1 -1
  78. package/realtime-testing/dist/index.d.cts +486 -3
  79. package/realtime-testing/dist/index.js +10 -31
  80. package/realtime-testing/dist/index.js.map +1 -1
  81. package/realtime-testing/package.json +5 -5
  82. package/transceivers/set-rtx/dist/index.cjs +31 -10
  83. package/transceivers/set-rtx/dist/index.cjs.map +1 -1
  84. package/transceivers/set-rtx/dist/index.d.cts +29 -3
  85. package/transceivers/set-rtx/dist/index.js +2 -3
  86. package/transceivers/set-rtx/dist/index.js.map +1 -1
  87. package/transceivers/set-rtx/package.json +6 -6
  88. package/data/dist/index.d.ts +0 -158
  89. package/data/dist/metafile-cjs.json +0 -1
  90. package/data/dist/metafile-esm.json +0 -1
  91. package/dist/index.d.ts +0 -243
  92. package/dist/metafile-esm.json +0 -1
  93. package/internal/dist/index.d.ts +0 -421
  94. package/internal/dist/metafile-cjs.json +0 -1
  95. package/internal/dist/metafile-esm.json +0 -1
  96. package/introspection/dist/index.d.ts +0 -24
  97. package/introspection/dist/metafile-cjs.json +0 -1
  98. package/introspection/dist/metafile-esm.json +0 -1
  99. package/json/dist/index.d.ts +0 -51
  100. package/json/dist/metafile-cjs.json +0 -1
  101. package/json/dist/metafile-esm.json +0 -1
  102. package/react/dist/index.d.ts +0 -23
  103. package/react/dist/metafile-cjs.json +0 -1
  104. package/react/dist/metafile-esm.json +0 -1
  105. package/react-devtools/dist/index.d.ts +0 -341
  106. package/react-devtools/dist/metafile-cjs.json +0 -1
  107. package/react-devtools/dist/metafile-esm.json +0 -1
  108. package/realtime-client/dist/index.d.ts +0 -22
  109. package/realtime-client/dist/metafile-cjs.json +0 -1
  110. package/realtime-client/dist/metafile-esm.json +0 -1
  111. package/realtime-react/dist/index.d.ts +0 -27
  112. package/realtime-react/dist/metafile-cjs.json +0 -1
  113. package/realtime-react/dist/metafile-esm.json +0 -1
  114. package/realtime-server/dist/index.d.ts +0 -25
  115. package/realtime-server/dist/metafile-cjs.json +0 -1
  116. package/realtime-server/dist/metafile-esm.json +0 -1
  117. package/realtime-testing/dist/index.d.ts +0 -49
  118. package/realtime-testing/dist/metafile-cjs.json +0 -1
  119. package/realtime-testing/dist/metafile-esm.json +0 -1
  120. package/transceivers/set-rtx/dist/index.d.ts +0 -40
  121. package/transceivers/set-rtx/dist/metafile-cjs.json +0 -1
  122. package/transceivers/set-rtx/dist/metafile-esm.json +0 -1
@@ -1,9 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var atom_io = require('atom.io');
4
- var json = require('atom.io/json');
5
- var internal = require('atom.io/internal');
6
-
7
3
  var __defProp = Object.defineProperty;
8
4
  var __defProps = Object.defineProperties;
9
5
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -24,7 +20,78 @@ var __spreadValues = (a, b) => {
24
20
  };
25
21
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
22
 
27
- // src/future.ts
23
+ // src/get-state.ts
24
+ function getState(token, store = IMPLICIT.STORE) {
25
+ var _a;
26
+ const state = (_a = withdraw(token, store)) != null ? _a : withdrawNewFamilyMember(token, store);
27
+ if (state === void 0) {
28
+ throw new NotFoundError(token, store);
29
+ }
30
+ return readOrComputeValue(state, store);
31
+ }
32
+
33
+ // src/logger.ts
34
+ var simpleLog = (logLevel) => (icon, tokenType, tokenKey, message, ...rest) => {
35
+ console[logLevel](`${icon} ${tokenType} "${tokenKey}" ${message}`, ...rest);
36
+ };
37
+ var simpleLogger = {
38
+ error: simpleLog(`error`),
39
+ info: simpleLog(`info`),
40
+ warn: simpleLog(`warn`)
41
+ };
42
+ var AtomIOLogger = class {
43
+ constructor(logLevel, filter, logger = simpleLogger) {
44
+ this.logLevel = logLevel;
45
+ this.filter = filter;
46
+ this.logger = logger;
47
+ this.error = (...args) => {
48
+ var _a, _b;
49
+ if (((_b = (_a = this.filter) == null ? void 0 : _a.call(this, ...args)) != null ? _b : true) && this.logLevel !== null) {
50
+ this.logger.error(...args);
51
+ }
52
+ };
53
+ this.info = (...args) => {
54
+ var _a, _b;
55
+ if (((_b = (_a = this.filter) == null ? void 0 : _a.call(this, ...args)) != null ? _b : true) && this.logLevel === `info`) {
56
+ this.logger.info(...args);
57
+ }
58
+ };
59
+ this.warn = (...args) => {
60
+ var _a, _b;
61
+ if (((_b = (_a = this.filter) == null ? void 0 : _a.call(this, ...args)) != null ? _b : true) && this.logLevel !== `error` && this.logLevel !== null) {
62
+ this.logger.warn(...args);
63
+ }
64
+ };
65
+ }
66
+ };
67
+
68
+ // src/set-state.ts
69
+ function setState(token, value, store = IMPLICIT.STORE) {
70
+ var _a;
71
+ const rejection = openOperation(token, store);
72
+ if (rejection) {
73
+ return;
74
+ }
75
+ const state = (_a = withdraw(token, store)) != null ? _a : withdrawNewFamilyMember(token, store);
76
+ if (state === void 0) {
77
+ throw new NotFoundError(token, store);
78
+ }
79
+ setAtomOrSelector(state, value, store);
80
+ closeOperation(store);
81
+ }
82
+
83
+ // src/transaction.ts
84
+ var runTransaction = (token, store = IMPLICIT.STORE) => (...parameters) => {
85
+ const tx = withdraw(token, store);
86
+ if (tx) {
87
+ return tx.run(...parameters);
88
+ }
89
+ throw new Error(
90
+ `Cannot run transaction "${token.key}": transaction not found in store "${store.config.name}".`
91
+ );
92
+ };
93
+
94
+ // internal/src/future.ts
28
95
  var Future = class extends Promise {
29
96
  constructor(executor) {
30
97
  super((resolve, reject) => {
@@ -43,7 +110,7 @@ var Future = class extends Promise {
43
110
  }
44
111
  };
45
112
 
46
- // src/lineage.ts
113
+ // internal/src/lineage.ts
47
114
  function newest(scion) {
48
115
  while (scion.child !== null) {
49
116
  scion = scion.child;
@@ -57,7 +124,7 @@ function eldest(scion) {
57
124
  return scion;
58
125
  }
59
126
 
60
- // src/caching.ts
127
+ // internal/src/caching.ts
61
128
  function cacheValue(key, value, subject, store) {
62
129
  const target = newest(store);
63
130
  const currentValue = target.valueMap.get(key);
@@ -102,7 +169,45 @@ var evictCachedValue = (key, store) => {
102
169
  store.logger.info(`\u{1F5D1}`, `state`, key, `evicted`);
103
170
  };
104
171
 
105
- // src/read-or-compute-value.ts
172
+ // ../anvl/src/json/index.ts
173
+ var parseJson = (str) => JSON.parse(str);
174
+ var stringifyJson = (json) => JSON.stringify(json);
175
+
176
+ // json/src/select-json.ts
177
+ var selectJson = (atom, transform, store = IMPLICIT.STORE) => {
178
+ return createSelector(
179
+ {
180
+ key: `${atom.key}:JSON`,
181
+ get: ({ get }) => transform.toJson(get(atom)),
182
+ set: ({ set }, newValue) => set(atom, transform.fromJson(newValue))
183
+ },
184
+ void 0,
185
+ store
186
+ );
187
+ };
188
+
189
+ // json/src/select-json-family.ts
190
+ var selectJsonFamily = (atomFamily, transform, store = IMPLICIT.STORE) => {
191
+ const jsonFamily = createSelectorFamily(
192
+ {
193
+ key: `${atomFamily.key}:JSON`,
194
+ get: (key) => ({ get }) => transform.toJson(get(atomFamily(key))),
195
+ set: (key) => ({ set }, newValue) => set(atomFamily(key), transform.fromJson(newValue))
196
+ },
197
+ store
198
+ );
199
+ atomFamily.subject.subscribe(
200
+ `store=${store.config.name}::json-selector-family`,
201
+ (token) => {
202
+ if (token.family) {
203
+ jsonFamily(parseJson(token.family.subKey));
204
+ }
205
+ }
206
+ );
207
+ return jsonFamily;
208
+ };
209
+
210
+ // internal/src/read-or-compute-value.ts
106
211
  var readOrComputeValue = (state, store) => {
107
212
  if (isValueCached(state.key, store)) {
108
213
  store.logger.info(`\u{1F4D6}`, state.type, state.key, `reading cached value`);
@@ -123,7 +228,7 @@ var readOrComputeValue = (state, store) => {
123
228
  return state.default instanceof Function ? state.default() : state.default;
124
229
  };
125
230
 
126
- // src/operation.ts
231
+ // internal/src/operation.ts
127
232
  var openOperation = (token, store) => {
128
233
  const target = newest(store);
129
234
  if (target.operation.open) {
@@ -189,12 +294,12 @@ var markDone = (key, store) => {
189
294
  target.operation.done.add(key);
190
295
  };
191
296
 
192
- // src/set-state/become.ts
297
+ // internal/src/set-state/become.ts
193
298
  var become = (nextVersionOfThing) => (originalThing) => nextVersionOfThing instanceof Function ? nextVersionOfThing(
194
299
  originalThing instanceof Function ? originalThing() : originalThing
195
300
  ) : nextVersionOfThing;
196
301
 
197
- // src/subject.ts
302
+ // internal/src/subject.ts
198
303
  var Subject = class {
199
304
  constructor() {
200
305
  this.subscribers = /* @__PURE__ */ new Map();
@@ -224,7 +329,7 @@ var StatefulSubject = class extends Subject {
224
329
  }
225
330
  };
226
331
 
227
- // src/set-state/copy-mutable-if-needed.ts
332
+ // internal/src/set-state/copy-mutable-if-needed.ts
228
333
  function copyMutableIfNeeded(atom, transform, origin, target) {
229
334
  const originValue = origin.valueMap.get(atom.key);
230
335
  const targetValue = target.valueMap.get(atom.key);
@@ -239,7 +344,7 @@ function copyMutableIfNeeded(atom, transform, origin, target) {
239
344
  return targetValue;
240
345
  }
241
346
 
242
- // src/set-state/copy-mutable-in-transaction.ts
347
+ // internal/src/set-state/copy-mutable-in-transaction.ts
243
348
  function copyMutableIfWithinTransaction(oldValue, atom, store) {
244
349
  const target = newest(store);
245
350
  const parent = target.parent;
@@ -273,7 +378,7 @@ function copyMutableFamilyMemberWithinTransaction(atom, family, origin, target)
273
378
  return null;
274
379
  }
275
380
 
276
- // src/set-state/emit-update.ts
381
+ // internal/src/set-state/emit-update.ts
277
382
  var emitUpdate = (state, update, store) => {
278
383
  store.logger.info(
279
384
  `\u{1F4E2}`,
@@ -289,7 +394,7 @@ var emitUpdate = (state, update, store) => {
289
394
  state.subject.next(update);
290
395
  };
291
396
 
292
- // src/set-state/evict-downstream.ts
397
+ // internal/src/set-state/evict-downstream.ts
293
398
  var evictDownStream = (atom, store) => {
294
399
  const target = newest(store);
295
400
  const downstreamKeys = target.selectorAtoms.getRelatedKeys(atom.key);
@@ -319,7 +424,7 @@ var evictDownStream = (atom, store) => {
319
424
  }
320
425
  };
321
426
 
322
- // src/set-state/stow-update.ts
427
+ // internal/src/set-state/stow-update.ts
323
428
  function shouldUpdateBeStowed(key, update) {
324
429
  if (isTransceiver(update.newValue)) {
325
430
  return false;
@@ -362,7 +467,7 @@ var stowUpdate = (state, update, store) => {
362
467
  );
363
468
  };
364
469
 
365
- // src/set-state/set-atom.ts
470
+ // internal/src/set-state/set-atom.ts
366
471
  var setAtom = (atom, next, store) => {
367
472
  const target = newest(store);
368
473
  const oldValue = readOrComputeValue(atom, store);
@@ -383,7 +488,7 @@ var setAtom = (atom, next, store) => {
383
488
  }
384
489
  };
385
490
 
386
- // src/set-state/set-atom-or-selector.ts
491
+ // internal/src/set-state/set-atom-or-selector.ts
387
492
  var setAtomOrSelector = (state, value, store) => {
388
493
  if (state.type === `selector`) {
389
494
  state.set(value);
@@ -392,7 +497,7 @@ var setAtomOrSelector = (state, value, store) => {
392
497
  }
393
498
  };
394
499
 
395
- // src/store/deposit.ts
500
+ // internal/src/store/deposit.ts
396
501
  function deposit(state) {
397
502
  const token = {
398
503
  key: state.key,
@@ -404,7 +509,7 @@ function deposit(state) {
404
509
  return token;
405
510
  }
406
511
 
407
- // ../../rel8/junction/src/junction.ts
512
+ // ../rel8/junction/src/junction.ts
408
513
  var Junction = class {
409
514
  constructor(data, config) {
410
515
  this.relations = /* @__PURE__ */ new Map();
@@ -662,7 +767,7 @@ var Junction = class {
662
767
  }
663
768
  };
664
769
 
665
- // src/store/store.ts
770
+ // internal/src/store/store.ts
666
771
  var Store = class {
667
772
  constructor(name, store = null) {
668
773
  this.parent = null;
@@ -707,7 +812,7 @@ var Store = class {
707
812
  name: `IMPLICIT_STORE`
708
813
  };
709
814
  this.loggers = [
710
- new atom_io.AtomIOLogger(`warn`, (_, __, key) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`))
815
+ new AtomIOLogger(`warn`, (_, __, key) => !key.includes(`\u{1F441}\u200D\u{1F5E8}`))
711
816
  ];
712
817
  this.logger = {
713
818
  error: (...messages) => {
@@ -761,7 +866,7 @@ var clearStore = (store) => {
761
866
  store.config = config;
762
867
  };
763
868
 
764
- // src/store/withdraw.ts
869
+ // internal/src/store/withdraw.ts
765
870
  function withdraw(token, store) {
766
871
  var _a, _b, _c, _d;
767
872
  const target = newest(store);
@@ -772,7 +877,7 @@ function withdraw(token, store) {
772
877
  return void 0;
773
878
  }
774
879
 
775
- // src/store/withdraw-new-family-member.ts
880
+ // internal/src/store/withdraw-new-family-member.ts
776
881
  function withdrawNewFamilyMember(token, store) {
777
882
  if (token.family) {
778
883
  store.logger.info(
@@ -793,19 +898,19 @@ function withdrawNewFamilyMember(token, store) {
793
898
  return void 0;
794
899
  }
795
900
 
796
- // src/keys.ts
901
+ // internal/src/keys.ts
797
902
  var isAtomKey = (key, store) => newest(store).atoms.has(key);
798
903
  var isSelectorKey = (key, store) => newest(store).selectors.has(key);
799
904
  var isReadonlySelectorKey = (key, store) => newest(store).readonlySelectors.has(key);
800
905
  var isStateKey = (key, store) => isAtomKey(key, store) || isSelectorKey(key, store) || isReadonlySelectorKey(key, store);
801
906
 
802
- // src/selector/get-selector-dependency-keys.ts
907
+ // internal/src/selector/get-selector-dependency-keys.ts
803
908
  var getSelectorDependencyKeys = (key, store) => {
804
909
  const sources = newest(store).selectorGraph.getRelationEntries({ downstreamSelectorKey: key }).filter(([_, { source }]) => source !== key).map(([_, { source }]) => source).filter((source) => isStateKey(source, store));
805
910
  return sources;
806
911
  };
807
912
 
808
- // src/selector/trace-selector-atoms.ts
913
+ // internal/src/selector/trace-selector-atoms.ts
809
914
  var traceSelectorAtoms = (selectorKey, directDependencyKey, store) => {
810
915
  const rootKeys = [];
811
916
  const indirectDependencyKeys = getSelectorDependencyKeys(
@@ -838,7 +943,7 @@ var traceAllSelectorAtoms = (selectorKey, store) => {
838
943
  );
839
944
  };
840
945
 
841
- // src/selector/update-selector-atoms.ts
946
+ // internal/src/selector/update-selector-atoms.ts
842
947
  var updateSelectorAtoms = (selectorKey, dependency, store) => {
843
948
  const target = newest(store);
844
949
  if (dependency.type === `atom`) {
@@ -869,7 +974,7 @@ var updateSelectorAtoms = (selectorKey, dependency, store) => {
869
974
  }
870
975
  };
871
976
 
872
- // src/selector/register-selector.ts
977
+ // internal/src/selector/register-selector.ts
873
978
  var registerSelector = (selectorKey, store) => ({
874
979
  get: (dependency) => {
875
980
  const target = newest(store);
@@ -914,7 +1019,7 @@ var registerSelector = (selectorKey, store) => ({
914
1019
  }
915
1020
  });
916
1021
 
917
- // src/selector/create-read-write-selector.ts
1022
+ // internal/src/selector/create-read-write-selector.ts
918
1023
  var createReadWriteSelector = (options, family, store) => {
919
1024
  const target = newest(store);
920
1025
  const subject = new Subject();
@@ -965,7 +1070,7 @@ var createReadWriteSelector = (options, family, store) => {
965
1070
  return token;
966
1071
  };
967
1072
 
968
- // src/selector/create-readonly-selector.ts
1073
+ // internal/src/selector/create-readonly-selector.ts
969
1074
  var createReadonlySelector = (options, family, store) => {
970
1075
  const target = newest(store);
971
1076
  const subject = new Subject();
@@ -1001,7 +1106,7 @@ var createReadonlySelector = (options, family, store) => {
1001
1106
  return token;
1002
1107
  };
1003
1108
 
1004
- // src/selector/create-selector.ts
1109
+ // internal/src/selector/create-selector.ts
1005
1110
  function createSelector(options, family, store) {
1006
1111
  const target = newest(store);
1007
1112
  const existingWritable = target.selectors.get(options.key);
@@ -1020,7 +1125,7 @@ function createSelector(options, family, store) {
1020
1125
  return createReadonlySelector(options, family, store);
1021
1126
  }
1022
1127
 
1023
- // src/selector/delete-selector.ts
1128
+ // internal/src/selector/delete-selector.ts
1024
1129
  function deleteSelector(selectorToken, store) {
1025
1130
  const target = newest(store);
1026
1131
  const { key } = selectorToken;
@@ -1049,7 +1154,7 @@ function deleteSelector(selectorToken, store) {
1049
1154
  store.logger.info(`\u{1F525}`, selectorToken.type, `${key}`, `deleted`);
1050
1155
  }
1051
1156
 
1052
- // src/subscribe/recall-state.ts
1157
+ // internal/src/subscribe/recall-state.ts
1053
1158
  var recallState = (state, store) => {
1054
1159
  const target = newest(store);
1055
1160
  if (!target.operation.open) {
@@ -1058,7 +1163,7 @@ var recallState = (state, store) => {
1058
1163
  return target.operation.prev.get(state.key);
1059
1164
  };
1060
1165
 
1061
- // src/subscribe/subscribe-to-root-atoms.ts
1166
+ // internal/src/subscribe/subscribe-to-root-atoms.ts
1062
1167
  var subscribeToRootAtoms = (state, store) => {
1063
1168
  const dependencySubscriptions = `default` in state ? null : traceAllSelectorAtoms(state.key, store).map((atomKey) => {
1064
1169
  const atom = store.atoms.get(atomKey);
@@ -1098,8 +1203,10 @@ var subscribeToRootAtoms = (state, store) => {
1098
1203
  });
1099
1204
  return dependencySubscriptions;
1100
1205
  };
1206
+
1207
+ // internal/src/subscribe/subscribe-to-state.ts
1101
1208
  function subscribeToState(token, handleUpdate, key, store) {
1102
- const state = internal.withdraw(token, store);
1209
+ const state = withdraw(token, store);
1103
1210
  if (state === void 0) {
1104
1211
  throw new Error(
1105
1212
  `State "${token.key}" not found in this store. Did you forget to initialize with the "atom" or "selector" function?`
@@ -1107,7 +1214,7 @@ function subscribeToState(token, handleUpdate, key, store) {
1107
1214
  }
1108
1215
  const unsubFunction = state.subject.subscribe(key, handleUpdate);
1109
1216
  store.logger.info(`\u{1F440}`, state.type, state.key, `Adding subscription "${key}"`);
1110
- const dependencyUnsubFunctions = state.type !== `atom` ? internal.subscribeToRootAtoms(state, store) : null;
1217
+ const dependencyUnsubFunctions = state.type !== `atom` ? subscribeToRootAtoms(state, store) : null;
1111
1218
  const unsubscribe = dependencyUnsubFunctions === null ? () => {
1112
1219
  store.logger.info(
1113
1220
  `\u{1F648}`,
@@ -1130,8 +1237,10 @@ function subscribeToState(token, handleUpdate, key, store) {
1130
1237
  };
1131
1238
  return unsubscribe;
1132
1239
  }
1240
+
1241
+ // internal/src/subscribe/subscribe-to-timeline.ts
1133
1242
  var subscribeToTimeline = (token, handleUpdate, key, store) => {
1134
- const tl = internal.withdraw(token, store);
1243
+ const tl = withdraw(token, store);
1135
1244
  if (tl === void 0) {
1136
1245
  throw new Error(
1137
1246
  `Cannot subscribe to timeline "${token.key}": timeline not found in store "${store.config.name}".`
@@ -1149,8 +1258,10 @@ var subscribeToTimeline = (token, handleUpdate, key, store) => {
1149
1258
  unsubscribe();
1150
1259
  };
1151
1260
  };
1261
+
1262
+ // internal/src/subscribe/subscribe-to-transaction.ts
1152
1263
  var subscribeToTransaction = (token, handleUpdate, key, store) => {
1153
- const tx = internal.withdraw(token, store);
1264
+ const tx = withdraw(token, store);
1154
1265
  if (tx === void 0) {
1155
1266
  throw new Error(
1156
1267
  `Cannot subscribe to transaction "${token.key}": transaction not found in store "${store.config.name}".`
@@ -1173,6 +1284,8 @@ var subscribeToTransaction = (token, handleUpdate, key, store) => {
1173
1284
  unsubscribe();
1174
1285
  };
1175
1286
  };
1287
+
1288
+ // internal/src/mutable/tracker.ts
1176
1289
  var Tracker = class {
1177
1290
  constructor(mutableState, store) {
1178
1291
  this.unsubscribeFromInnerValue = null;
@@ -1201,7 +1314,7 @@ var Tracker = class {
1201
1314
  return latestUpdateState;
1202
1315
  }
1203
1316
  observeCore(mutableState, latestUpdateState, store) {
1204
- const originalInnerValue = atom_io.getState(mutableState, store);
1317
+ const originalInnerValue = getState(mutableState, store);
1205
1318
  const target = newest(store);
1206
1319
  this.unsubscribeFromInnerValue = originalInnerValue.subscribe(
1207
1320
  `tracker:${store.config.name}:${target.transactionMeta === null ? `main` : target.transactionMeta.update.key}`,
@@ -1210,7 +1323,7 @@ var Tracker = class {
1210
1323
  mutableState.key,
1211
1324
  () => {
1212
1325
  unsubscribe();
1213
- atom_io.setState(latestUpdateState, update, store);
1326
+ setState(latestUpdateState, update, store);
1214
1327
  }
1215
1328
  );
1216
1329
  }
@@ -1229,7 +1342,7 @@ var Tracker = class {
1229
1342
  mutableState.key,
1230
1343
  () => {
1231
1344
  unsubscribe();
1232
- atom_io.setState(latestUpdateState, update2, store);
1345
+ setState(latestUpdateState, update2, store);
1233
1346
  }
1234
1347
  );
1235
1348
  }
@@ -1254,7 +1367,7 @@ var Tracker = class {
1254
1367
  { key: timelineId, type: `timeline` },
1255
1368
  (update) => {
1256
1369
  unsubscribe2();
1257
- atom_io.setState(
1370
+ setState(
1258
1371
  mutableState,
1259
1372
  (transceiver) => {
1260
1373
  if (update === `redo` && newValue) {
@@ -1277,11 +1390,11 @@ var Tracker = class {
1277
1390
  latestUpdateState.key,
1278
1391
  () => {
1279
1392
  unsubscribe();
1280
- const mutable = atom_io.getState(mutableState, store);
1393
+ const mutable = getState(mutableState, store);
1281
1394
  const updateNumber = mutable.getUpdateNumber(newValue);
1282
1395
  const eventOffset = updateNumber - mutable.cacheUpdateNumber;
1283
1396
  if (newValue && eventOffset === 1) {
1284
- atom_io.setState(
1397
+ setState(
1285
1398
  mutableState,
1286
1399
  (transceiver) => (transceiver.do(newValue), transceiver),
1287
1400
  store
@@ -1296,7 +1409,7 @@ var Tracker = class {
1296
1409
  }
1297
1410
  };
1298
1411
 
1299
- // src/mutable/create-mutable-atom.ts
1412
+ // internal/src/mutable/create-mutable-atom.ts
1300
1413
  function createMutableAtom(options, store) {
1301
1414
  store.logger.info(
1302
1415
  `\u{1F527}`,
@@ -1306,7 +1419,7 @@ function createMutableAtom(options, store) {
1306
1419
  );
1307
1420
  const coreState = createAtom(options, void 0, store);
1308
1421
  new Tracker(coreState, store);
1309
- const jsonState = json.selectJson(coreState, options, store);
1422
+ const jsonState = selectJson(coreState, options, store);
1310
1423
  const target = newest(store);
1311
1424
  subscribeToState(
1312
1425
  jsonState,
@@ -1321,11 +1434,13 @@ function createMutableAtom(options, store) {
1321
1434
  );
1322
1435
  return coreState;
1323
1436
  }
1437
+
1438
+ // internal/src/families/create-atom-family.ts
1324
1439
  function createAtomFamily(options, store) {
1325
1440
  const subject = new Subject();
1326
1441
  const atomFamily = Object.assign(
1327
1442
  (key) => {
1328
- const subKey = json.stringifyJson(key);
1443
+ const subKey = stringifyJson(key);
1329
1444
  const family = { key: options.key, subKey };
1330
1445
  const fullKey = `${options.key}(${subKey})`;
1331
1446
  const existing = withdraw({ key: fullKey, type: `atom` }, store);
@@ -1355,12 +1470,14 @@ function createAtomFamily(options, store) {
1355
1470
  target.families.set(options.key, atomFamily);
1356
1471
  return atomFamily;
1357
1472
  }
1473
+
1474
+ // internal/src/families/create-readonly-selector-family.ts
1358
1475
  function createReadonlySelectorFamily(options, store) {
1359
1476
  const subject = new Subject();
1360
1477
  return Object.assign(
1361
1478
  (key) => {
1362
1479
  const target = newest(store);
1363
- const subKey = json.stringifyJson(key);
1480
+ const subKey = stringifyJson(key);
1364
1481
  const family = { key: options.key, subKey };
1365
1482
  const fullKey = `${options.key}(${subKey})`;
1366
1483
  const existing = target.readonlySelectors.get(fullKey);
@@ -1383,6 +1500,8 @@ function createReadonlySelectorFamily(options, store) {
1383
1500
  }
1384
1501
  );
1385
1502
  }
1503
+
1504
+ // internal/src/families/create-selector-family.ts
1386
1505
  function createSelectorFamily(options, store) {
1387
1506
  const isReadonly = !(`set` in options);
1388
1507
  if (isReadonly) {
@@ -1392,7 +1511,7 @@ function createSelectorFamily(options, store) {
1392
1511
  const subject = new Subject();
1393
1512
  const selectorFamily = Object.assign(
1394
1513
  (key) => {
1395
- const subKey = json.stringifyJson(key);
1514
+ const subKey = stringifyJson(key);
1396
1515
  const family = { key: options.key, subKey };
1397
1516
  const fullKey = `${options.key}(${subKey})`;
1398
1517
  const existing = target.selectors.get(fullKey);
@@ -1420,7 +1539,7 @@ function createSelectorFamily(options, store) {
1420
1539
  return selectorFamily;
1421
1540
  }
1422
1541
 
1423
- // src/mutable/tracker-family.ts
1542
+ // internal/src/mutable/tracker-family.ts
1424
1543
  var FamilyTracker = class {
1425
1544
  constructor(findMutableState, store) {
1426
1545
  this.findLatestUpdateState = createAtomFamily(
@@ -1435,7 +1554,7 @@ var FamilyTracker = class {
1435
1554
  `store=${store.config.name}::tracker-atom-family`,
1436
1555
  (atomToken) => {
1437
1556
  if (atomToken.family) {
1438
- const key = json.parseJson(atomToken.family.subKey);
1557
+ const key = parseJson(atomToken.family.subKey);
1439
1558
  this.findLatestUpdateState(key);
1440
1559
  new Tracker(atomToken, store);
1441
1560
  }
@@ -1445,7 +1564,7 @@ var FamilyTracker = class {
1445
1564
  `store=${store.config.name}::tracker-atom-family`,
1446
1565
  (atomToken) => {
1447
1566
  if (atomToken.family) {
1448
- const key = json.parseJson(atomToken.family.subKey);
1567
+ const key = parseJson(atomToken.family.subKey);
1449
1568
  const mutableAtomToken = this.findMutableState(key);
1450
1569
  new Tracker(mutableAtomToken, store);
1451
1570
  }
@@ -1454,18 +1573,18 @@ var FamilyTracker = class {
1454
1573
  }
1455
1574
  };
1456
1575
 
1457
- // src/mutable/create-mutable-atom-family.ts
1576
+ // internal/src/mutable/create-mutable-atom-family.ts
1458
1577
  function createMutableAtomFamily(options, store) {
1459
1578
  const coreFamily = Object.assign(
1460
1579
  createAtomFamily(options, store),
1461
1580
  options
1462
1581
  );
1463
- json.selectJsonFamily(coreFamily, options);
1582
+ selectJsonFamily(coreFamily, options);
1464
1583
  new FamilyTracker(coreFamily, store);
1465
1584
  return coreFamily;
1466
1585
  }
1467
1586
 
1468
- // src/mutable/get-json-family.ts
1587
+ // internal/src/mutable/get-json-family.ts
1469
1588
  var getJsonFamily = (mutableAtomFamily, store) => {
1470
1589
  const target = newest(store);
1471
1590
  const key = `${mutableAtomFamily.key}:JSON`;
@@ -1475,7 +1594,7 @@ var getJsonFamily = (mutableAtomFamily, store) => {
1475
1594
  return jsonFamily;
1476
1595
  };
1477
1596
 
1478
- // src/mutable/get-json-token.ts
1597
+ // internal/src/mutable/get-json-token.ts
1479
1598
  var getJsonToken = (mutableAtomToken) => {
1480
1599
  const key = mutableAtomToken.family ? `${mutableAtomToken.family.key}:JSON(${mutableAtomToken.family.subKey})` : `${mutableAtomToken.key}:JSON`;
1481
1600
  const jsonToken = { type: `selector`, key };
@@ -1488,7 +1607,7 @@ var getJsonToken = (mutableAtomToken) => {
1488
1607
  return jsonToken;
1489
1608
  };
1490
1609
 
1491
- // src/mutable/get-update-token.ts
1610
+ // internal/src/mutable/get-update-token.ts
1492
1611
  var getUpdateToken = (mutableAtomToken) => {
1493
1612
  const key = `*${mutableAtomToken.key}`;
1494
1613
  const updateToken = { type: `atom`, key };
@@ -1501,20 +1620,20 @@ var getUpdateToken = (mutableAtomToken) => {
1501
1620
  return updateToken;
1502
1621
  };
1503
1622
 
1504
- // src/mutable/is-atom-token-mutable.ts
1623
+ // internal/src/mutable/is-atom-token-mutable.ts
1505
1624
  function isAtomTokenMutable(token) {
1506
1625
  return token.key.endsWith(`::mutable`);
1507
1626
  }
1508
1627
 
1509
- // src/mutable/transceiver.ts
1628
+ // internal/src/mutable/transceiver.ts
1510
1629
  function isTransceiver(value) {
1511
1630
  return typeof value === `object` && value !== null && `do` in value && `undo` in value && `subscribe` in value;
1512
1631
  }
1513
1632
 
1514
- // src/mutable/index.ts
1633
+ // internal/src/mutable/index.ts
1515
1634
  var isAtomMutable = (atom) => `isMutable` in atom;
1516
1635
 
1517
- // src/atom/is-default.ts
1636
+ // internal/src/atom/is-default.ts
1518
1637
  var isAtomDefault = (key, store) => {
1519
1638
  const core = newest(store);
1520
1639
  return core.atomsThatAreDefault.has(key);
@@ -1533,7 +1652,7 @@ var isSelectorDefault = (key, store) => {
1533
1652
  return rootKeys.every((rootKey) => isAtomDefault(rootKey, store));
1534
1653
  };
1535
1654
 
1536
- // src/atom/create-atom.ts
1655
+ // internal/src/atom/create-atom.ts
1537
1656
  function createAtom(options, family, store) {
1538
1657
  store.logger.info(
1539
1658
  `\u{1F528}`,
@@ -1580,7 +1699,7 @@ function createAtom(options, family, store) {
1580
1699
  const cleanupFunctions = [];
1581
1700
  for (const effect of options.effects) {
1582
1701
  const cleanup = effect({
1583
- setSelf: (next) => atom_io.setState(token, next, store),
1702
+ setSelf: (next) => setState(token, next, store),
1584
1703
  onSet: (handle) => subscribeToState(token, handle, `effect[${effectIndex}]`, store)
1585
1704
  });
1586
1705
  if (cleanup) {
@@ -1598,7 +1717,7 @@ function createAtom(options, family, store) {
1598
1717
  return token;
1599
1718
  }
1600
1719
 
1601
- // src/atom/delete-atom.ts
1720
+ // internal/src/atom/delete-atom.ts
1602
1721
  function deleteAtom(atomToken, store) {
1603
1722
  var _a, _b;
1604
1723
  const target = newest(store);
@@ -1630,7 +1749,7 @@ function deleteAtom(atomToken, store) {
1630
1749
  store.logger.info(`\u{1F525}`, `atom`, `${key}`, `deleted`);
1631
1750
  }
1632
1751
 
1633
- // src/lazy-map.ts
1752
+ // internal/src/lazy-map.ts
1634
1753
  var LazyMap = class extends Map {
1635
1754
  constructor(source) {
1636
1755
  super();
@@ -1664,7 +1783,7 @@ var LazyMap = class extends Map {
1664
1783
  }
1665
1784
  };
1666
1785
 
1667
- // src/not-found-error.ts
1786
+ // internal/src/not-found-error.ts
1668
1787
  var capitalize = (str) => str[0].toUpperCase() + str.slice(1);
1669
1788
  function prettyPrintTokenType(token) {
1670
1789
  if (token.type === `readonly_selector`) {
@@ -1680,7 +1799,7 @@ var NotFoundError = class extends Error {
1680
1799
  }
1681
1800
  };
1682
1801
 
1683
- // src/timeline/add-atom-to-timeline.ts
1802
+ // internal/src/timeline/add-atom-to-timeline.ts
1684
1803
  var addAtomToTimeline = (atomToken, tl, store) => {
1685
1804
  const atom = withdraw(atomToken, store);
1686
1805
  if (atom === void 0) {
@@ -1872,7 +1991,7 @@ var addAtomToTimeline = (atomToken, tl, store) => {
1872
1991
  });
1873
1992
  };
1874
1993
 
1875
- // src/timeline/create-timeline.ts
1994
+ // internal/src/timeline/create-timeline.ts
1876
1995
  function createTimeline(options, store, data) {
1877
1996
  var _a, _b;
1878
1997
  const tl = __spreadProps(__spreadValues({
@@ -1943,6 +2062,8 @@ function createTimeline(options, store, data) {
1943
2062
  store.subject.timelineCreation.next(token);
1944
2063
  return token;
1945
2064
  }
2065
+
2066
+ // internal/src/timeline/time-travel.ts
1946
2067
  var timeTravel = (direction, token, store) => {
1947
2068
  const action = direction === `forward` ? `redo` : `undo`;
1948
2069
  store.logger.info(
@@ -1978,7 +2099,7 @@ var timeTravel = (direction, token, store) => {
1978
2099
  const updateValues = (atomUpdate) => {
1979
2100
  const { key, newValue, oldValue } = atomUpdate;
1980
2101
  const value = direction === `forward` ? newValue : oldValue;
1981
- atom_io.setState({ key, type: `atom` }, value, store);
2102
+ setState({ key, type: `atom` }, value, store);
1982
2103
  };
1983
2104
  const updateValuesFromTransactionUpdate = (transactionUpdate) => {
1984
2105
  const updates = direction === `forward` ? transactionUpdate.updates : [...transactionUpdate.updates].reverse();
@@ -2020,7 +2141,7 @@ var timeTravel = (direction, token, store) => {
2020
2141
  );
2021
2142
  };
2022
2143
 
2023
- // src/transaction/abort-transaction.ts
2144
+ // internal/src/transaction/abort-transaction.ts
2024
2145
  var abortTransaction = (store) => {
2025
2146
  const target = newest(store);
2026
2147
  if (target.transactionMeta === null || target.parent === null) {
@@ -2040,6 +2161,8 @@ var abortTransaction = (store) => {
2040
2161
  );
2041
2162
  target.parent.child = null;
2042
2163
  };
2164
+
2165
+ // internal/src/transaction/apply-transaction.ts
2043
2166
  function ingestAtomUpdate(update, parent, child) {
2044
2167
  var _a, _b, _c;
2045
2168
  const { key, newValue } = update;
@@ -2067,7 +2190,7 @@ function ingestAtomUpdate(update, parent, child) {
2067
2190
  );
2068
2191
  }
2069
2192
  }
2070
- atom_io.setState(token, newValue, parent);
2193
+ setState(token, newValue, parent);
2071
2194
  }
2072
2195
  function ingestTransactionUpdate(transactionUpdate, parent, child) {
2073
2196
  for (const update of transactionUpdate.updates) {
@@ -2123,7 +2246,7 @@ var applyTransaction = (output, store) => {
2123
2246
  parent.subject.transactionApplying.next(null);
2124
2247
  };
2125
2248
 
2126
- // src/transaction/build-transaction.ts
2249
+ // internal/src/transaction/build-transaction.ts
2127
2250
  var buildTransaction = (key, params, store) => {
2128
2251
  const parent = newest(store);
2129
2252
  parent.child = {
@@ -2167,6 +2290,8 @@ var buildTransaction = (key, params, store) => {
2167
2290
  params
2168
2291
  );
2169
2292
  };
2293
+
2294
+ // internal/src/transaction/create-transaction.ts
2170
2295
  function createTransaction(options, store) {
2171
2296
  const newTransaction = {
2172
2297
  key: options.key,
@@ -2176,9 +2301,9 @@ function createTransaction(options, store) {
2176
2301
  try {
2177
2302
  const output = options.do(
2178
2303
  {
2179
- get: (token2) => atom_io.getState(token2, store),
2180
- set: (token2, value) => atom_io.setState(token2, value, store),
2181
- run: (token2) => atom_io.runTransaction(token2, store)
2304
+ get: (token2) => getState(token2, store),
2305
+ set: (token2, value) => setState(token2, value, store),
2306
+ run: (token2) => runTransaction(token2, store)
2182
2307
  },
2183
2308
  ...params
2184
2309
  );
@@ -2199,6 +2324,8 @@ function createTransaction(options, store) {
2199
2324
  store.subject.transactionCreation.next(token);
2200
2325
  return token;
2201
2326
  }
2327
+
2328
+ // internal/src/transaction/redo-transaction.ts
2202
2329
  var redoTransactionUpdate = (transactionUpdate, store) => {
2203
2330
  store.logger.info(`\u23ED\uFE0F`, `transaction`, transactionUpdate.key, `Redo`);
2204
2331
  for (const update of transactionUpdate.updates) {
@@ -2211,12 +2338,14 @@ var redoTransactionUpdate = (transactionUpdate, store) => {
2211
2338
  `State "${token.key}" not found in this store. This is surprising, because we are navigating the history of the store.`
2212
2339
  );
2213
2340
  }
2214
- atom_io.setState(state, newValue, store);
2341
+ setState(state, newValue, store);
2215
2342
  } else {
2216
2343
  redoTransactionUpdate(update, store);
2217
2344
  }
2218
2345
  }
2219
2346
  };
2347
+
2348
+ // internal/src/transaction/undo-transaction.ts
2220
2349
  var undoTransactionUpdate = (transactionUpdate, store) => {
2221
2350
  store.logger.info(`\u23EE\uFE0F`, `transaction`, transactionUpdate.key, `Undo`);
2222
2351
  for (const update of transactionUpdate.updates.reverse()) {
@@ -2229,14 +2358,14 @@ var undoTransactionUpdate = (transactionUpdate, store) => {
2229
2358
  `State "${token.key}" not found in this store. This is surprising, because we are navigating the history of the store.`
2230
2359
  );
2231
2360
  }
2232
- atom_io.setState(state, newValue, store);
2361
+ setState(state, newValue, store);
2233
2362
  } else {
2234
2363
  undoTransactionUpdate(update, store);
2235
2364
  }
2236
2365
  }
2237
2366
  };
2238
2367
 
2239
- // src/transaction/index.ts
2368
+ // internal/src/transaction/index.ts
2240
2369
  var TRANSACTION_PHASES = [`idle`, `building`, `applying`];
2241
2370
 
2242
2371
  exports.FamilyTracker = FamilyTracker;