atom.io 0.11.0 → 0.12.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 (174) hide show
  1. package/data/dist/index.cjs +614 -0
  2. package/data/dist/index.cjs.map +1 -0
  3. package/data/dist/index.d.cts +158 -0
  4. package/data/dist/index.d.ts +118 -1
  5. package/data/dist/index.js +551 -30
  6. package/data/dist/index.js.map +1 -1
  7. package/data/dist/metafile-cjs.json +1 -0
  8. package/data/dist/metafile-esm.json +1 -0
  9. package/data/package.json +4 -3
  10. package/data/src/index.ts +1 -0
  11. package/data/src/join.ts +450 -0
  12. package/data/src/struct-family.ts +34 -24
  13. package/data/src/struct.ts +6 -8
  14. package/dist/index.cjs +257 -0
  15. package/dist/index.cjs.map +1 -0
  16. package/dist/{index.d.mts → index.d.cts} +10 -11
  17. package/dist/index.d.ts +10 -11
  18. package/dist/index.js +63 -104
  19. package/dist/index.js.map +1 -1
  20. package/dist/metafile-cjs.json +1 -0
  21. package/dist/metafile-esm.json +1 -0
  22. package/internal/dist/{index.mjs → index.cjs} +716 -495
  23. package/internal/dist/index.cjs.map +1 -0
  24. package/internal/dist/{index.d.mts → index.d.cts} +124 -105
  25. package/internal/dist/index.d.ts +124 -105
  26. package/internal/dist/index.js +651 -555
  27. package/internal/dist/index.js.map +1 -1
  28. package/internal/dist/metafile-cjs.json +1 -0
  29. package/internal/dist/metafile-esm.json +1 -0
  30. package/internal/package.json +4 -3
  31. package/internal/src/atom/create-atom.ts +29 -16
  32. package/internal/src/atom/delete-atom.ts +25 -6
  33. package/internal/src/atom/is-default.ts +4 -17
  34. package/internal/src/caching.ts +28 -23
  35. package/internal/src/families/create-atom-family.ts +3 -2
  36. package/internal/src/families/create-readonly-selector-family.ts +1 -1
  37. package/internal/src/families/create-selector-family.ts +4 -4
  38. package/internal/src/index.ts +4 -2
  39. package/internal/src/lazy-map.ts +33 -0
  40. package/internal/src/mutable/create-mutable-atom-family.ts +2 -2
  41. package/internal/src/mutable/create-mutable-atom.ts +1 -2
  42. package/internal/src/mutable/get-json-family.ts +22 -0
  43. package/internal/src/mutable/get-json-token.ts +1 -0
  44. package/internal/src/mutable/index.ts +1 -0
  45. package/internal/src/mutable/tracker-family.ts +1 -2
  46. package/internal/src/mutable/tracker.ts +8 -6
  47. package/internal/src/mutable/transceiver.ts +2 -0
  48. package/internal/src/not-found-error.ts +27 -0
  49. package/internal/src/operation.ts +2 -3
  50. package/internal/src/{get-state-internal.ts → read-or-compute-value.ts} +13 -6
  51. package/internal/src/selector/create-selector.ts +6 -7
  52. package/internal/src/selector/delete-selector.ts +37 -0
  53. package/internal/src/selector/index.ts +2 -1
  54. package/internal/src/selector/register-selector.ts +7 -7
  55. package/internal/src/set-state/copy-mutable-in-transaction.ts +3 -2
  56. package/internal/src/set-state/emit-update.ts +1 -3
  57. package/internal/src/set-state/evict-downstream.ts +6 -8
  58. package/internal/src/set-state/index.ts +1 -1
  59. package/internal/src/set-state/{set-state-internal.ts → set-atom-or-selector.ts} +2 -3
  60. package/internal/src/set-state/set-atom.ts +5 -6
  61. package/internal/src/store/store.ts +1 -1
  62. package/internal/src/store/withdraw-new-family-member.ts +6 -6
  63. package/internal/src/subscribe/recall-state.ts +1 -2
  64. package/internal/src/subscribe/subscribe-to-root-atoms.ts +2 -2
  65. package/internal/src/timeline/add-atom-to-timeline.ts +5 -16
  66. package/internal/src/timeline/{timeline-internal.ts → create-timeline.ts} +4 -5
  67. package/internal/src/timeline/index.ts +2 -2
  68. package/internal/src/timeline/time-travel.ts +89 -0
  69. package/internal/src/transaction/build-transaction.ts +8 -7
  70. package/internal/src/transaction/{transaction-internal.ts → create-transaction.ts} +6 -5
  71. package/internal/src/transaction/index.ts +2 -3
  72. package/introspection/dist/{index.mjs → index.cjs} +54 -29
  73. package/introspection/dist/index.cjs.map +1 -0
  74. package/introspection/dist/{index.d.mts → index.d.cts} +2 -2
  75. package/introspection/dist/index.d.ts +2 -2
  76. package/introspection/dist/index.js +32 -49
  77. package/introspection/dist/index.js.map +1 -1
  78. package/introspection/dist/metafile-cjs.json +1 -0
  79. package/introspection/dist/metafile-esm.json +1 -0
  80. package/introspection/package.json +4 -3
  81. package/introspection/src/attach-introspection-states.ts +2 -2
  82. package/introspection/src/attach-selector-index.ts +8 -4
  83. package/json/dist/{index.mjs → index.cjs} +20 -7
  84. package/json/dist/{index.mjs.map → index.cjs.map} +1 -1
  85. package/json/dist/{index.d.mts → index.d.cts} +1 -1
  86. package/json/dist/index.d.ts +1 -1
  87. package/json/dist/index.js +6 -19
  88. package/json/dist/index.js.map +1 -1
  89. package/json/dist/metafile-cjs.json +1 -0
  90. package/json/dist/metafile-esm.json +1 -0
  91. package/json/package.json +4 -3
  92. package/package.json +48 -47
  93. package/react/dist/index.cjs +59 -0
  94. package/react/dist/index.cjs.map +1 -0
  95. package/react/dist/index.js +20 -42
  96. package/react/dist/index.js.map +1 -1
  97. package/react/dist/metafile-cjs.json +1 -0
  98. package/react/dist/metafile-esm.json +1 -0
  99. package/react/package.json +4 -3
  100. package/react/src/store-hooks.ts +8 -2
  101. package/react-devtools/dist/{index.mjs → index.cjs} +286 -240
  102. package/react-devtools/dist/index.cjs.map +1 -0
  103. package/react-devtools/dist/{index.d.mts → index.d.cts} +29 -17
  104. package/react-devtools/dist/index.d.ts +29 -17
  105. package/react-devtools/dist/index.js +251 -273
  106. package/react-devtools/dist/index.js.map +1 -1
  107. package/react-devtools/dist/metafile-cjs.json +1 -0
  108. package/react-devtools/dist/metafile-esm.json +1 -0
  109. package/react-devtools/package.json +4 -3
  110. package/react-devtools/src/StateEditor.tsx +8 -8
  111. package/realtime-client/dist/{index.mjs → index.cjs} +50 -21
  112. package/realtime-client/dist/index.js +20 -49
  113. package/realtime-client/dist/metafile-cjs.json +1 -0
  114. package/realtime-client/dist/metafile-esm.json +1 -0
  115. package/realtime-client/package.json +4 -3
  116. package/realtime-react/dist/index.cjs +99 -0
  117. package/realtime-react/dist/index.js +35 -66
  118. package/realtime-react/dist/metafile-cjs.json +1 -0
  119. package/realtime-react/dist/metafile-esm.json +1 -0
  120. package/realtime-react/package.json +4 -3
  121. package/realtime-server/dist/{index.mjs → index.cjs} +67 -40
  122. package/realtime-server/dist/index.js +39 -66
  123. package/realtime-server/dist/metafile-cjs.json +1 -0
  124. package/realtime-server/dist/metafile-esm.json +1 -0
  125. package/realtime-server/package.json +4 -3
  126. package/realtime-testing/dist/{index.mjs → index.cjs} +54 -23
  127. package/realtime-testing/dist/index.js +22 -53
  128. package/realtime-testing/dist/metafile-cjs.json +1 -0
  129. package/realtime-testing/dist/metafile-esm.json +1 -0
  130. package/realtime-testing/package.json +4 -3
  131. package/src/atom.ts +6 -8
  132. package/src/dispose.ts +18 -0
  133. package/src/get-state.ts +16 -0
  134. package/src/index.ts +3 -1
  135. package/src/logger.ts +1 -1
  136. package/src/selector.ts +3 -3
  137. package/src/set-state.ts +22 -0
  138. package/src/silo.ts +7 -8
  139. package/src/timeline.ts +6 -11
  140. package/src/transaction.ts +2 -2
  141. package/transceivers/set-rtx/dist/{index.mjs → index.cjs} +40 -36
  142. package/transceivers/set-rtx/dist/index.cjs.map +1 -0
  143. package/transceivers/set-rtx/dist/{index.d.mts → index.d.cts} +2 -1
  144. package/transceivers/set-rtx/dist/index.d.ts +2 -1
  145. package/transceivers/set-rtx/dist/index.js +37 -37
  146. package/transceivers/set-rtx/dist/index.js.map +1 -1
  147. package/transceivers/set-rtx/dist/metafile-cjs.json +1 -0
  148. package/transceivers/set-rtx/dist/metafile-esm.json +1 -0
  149. package/transceivers/set-rtx/package.json +4 -3
  150. package/transceivers/set-rtx/src/set-rtx.ts +29 -26
  151. package/data/dist/index.d.mts +0 -41
  152. package/data/dist/index.mjs +0 -82
  153. package/data/dist/index.mjs.map +0 -1
  154. package/dist/index.mjs +0 -215
  155. package/dist/index.mjs.map +0 -1
  156. package/internal/dist/index.mjs.map +0 -1
  157. package/internal/src/set-state/set-selector-state.ts +0 -8
  158. package/internal/src/timeline/time-travel-internal.ts +0 -109
  159. package/introspection/dist/index.mjs.map +0 -1
  160. package/react/dist/index.mjs +0 -29
  161. package/react/dist/index.mjs.map +0 -1
  162. package/react-devtools/dist/index.mjs.map +0 -1
  163. package/realtime-react/dist/index.mjs +0 -68
  164. package/src/get-set.ts +0 -48
  165. package/transceivers/set-rtx/dist/index.mjs.map +0 -1
  166. /package/react/dist/{index.d.mts → index.d.cts} +0 -0
  167. /package/realtime-client/dist/{index.mjs.map → index.cjs.map} +0 -0
  168. /package/realtime-client/dist/{index.d.mts → index.d.cts} +0 -0
  169. /package/realtime-react/dist/{index.mjs.map → index.cjs.map} +0 -0
  170. /package/realtime-react/dist/{index.d.mts → index.d.cts} +0 -0
  171. /package/realtime-server/dist/{index.mjs.map → index.cjs.map} +0 -0
  172. /package/realtime-server/dist/{index.d.mts → index.d.cts} +0 -0
  173. /package/realtime-testing/dist/{index.mjs.map → index.cjs.map} +0 -0
  174. /package/realtime-testing/dist/{index.d.mts → index.d.cts} +0 -0
@@ -1,41 +1,19 @@
1
- 'use strict';
2
-
3
- var AtomIO = require('atom.io');
4
- var json = require('atom.io/json');
5
- var internal = require('atom.io/internal');
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n.default = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var AtomIO__namespace = /*#__PURE__*/_interopNamespace(AtomIO);
1
+ import * as AtomIO from 'atom.io';
2
+ import { parseJson } from 'atom.io/json';
3
+ import { getJsonToken, getUpdateToken } from 'atom.io/internal';
26
4
 
27
5
  // src/realtime-state.ts
28
- var myIdState__INTERNAL = AtomIO__namespace.atom({
6
+ var myIdState__INTERNAL = AtomIO.atom({
29
7
  key: `myId__INTERNAL`,
30
8
  default: null
31
9
  });
32
- var myIdState = AtomIO__namespace.selector({
10
+ var myIdState = AtomIO.selector({
33
11
  key: `myId`,
34
12
  get: ({ get }) => get(myIdState__INTERNAL)
35
13
  });
36
14
  function pullState(token, socket, store) {
37
15
  socket.on(`serve:${token.key}`, (data) => {
38
- AtomIO__namespace.setState(token, data, store);
16
+ AtomIO.setState(token, data, store);
39
17
  });
40
18
  socket.emit(`sub:${token.key}`);
41
19
  return () => {
@@ -50,9 +28,9 @@ function pullFamilyMember(token, socket, store) {
50
28
  };
51
29
  }
52
30
  const { key: familyKey, subKey: serializedSubKey } = token.family;
53
- const subKey = json.parseJson(serializedSubKey);
31
+ const subKey = parseJson(serializedSubKey);
54
32
  socket == null ? void 0 : socket.on(`serve:${token.key}`, (data) => {
55
- AtomIO__namespace.setState(token, data, store);
33
+ AtomIO.setState(token, data, store);
56
34
  });
57
35
  socket == null ? void 0 : socket.emit(`sub:${familyKey}`, subKey);
58
36
  return () => {
@@ -61,15 +39,15 @@ function pullFamilyMember(token, socket, store) {
61
39
  };
62
40
  }
63
41
  function pullMutableState(token, socket, store) {
64
- const jsonToken = internal.getJsonToken(token);
65
- const updateToken = internal.getUpdateToken(token);
42
+ const jsonToken = getJsonToken(token);
43
+ const updateToken = getUpdateToken(token);
66
44
  socket.on(`init:${token.key}`, (data) => {
67
- AtomIO__namespace.setState(jsonToken, data, store);
45
+ AtomIO.setState(jsonToken, data, store);
68
46
  });
69
47
  socket.on(
70
48
  `next:${token.key}`,
71
49
  (data) => {
72
- AtomIO__namespace.setState(updateToken, data, store);
50
+ AtomIO.setState(updateToken, data, store);
73
51
  }
74
52
  );
75
53
  socket.emit(`sub:${token.key}`);
@@ -86,16 +64,16 @@ function pullMutableFamilyMember(token, socket, store) {
86
64
  };
87
65
  }
88
66
  const { key: familyKey, subKey: serializedSubKey } = token.family;
89
- const subKey = json.parseJson(serializedSubKey);
67
+ const subKey = parseJson(serializedSubKey);
90
68
  socket == null ? void 0 : socket.on(`init:${token.key}`, (data) => {
91
- const jsonToken = internal.getJsonToken(token);
92
- AtomIO__namespace.setState(jsonToken, data, store);
69
+ const jsonToken = getJsonToken(token);
70
+ AtomIO.setState(jsonToken, data, store);
93
71
  });
94
72
  socket == null ? void 0 : socket.on(
95
73
  `next:${token.key}`,
96
74
  (data) => {
97
- const trackerToken = internal.getUpdateToken(token);
98
- AtomIO__namespace.setState(trackerToken, data, store);
75
+ const trackerToken = getUpdateToken(token);
76
+ AtomIO.setState(trackerToken, data, store);
99
77
  }
100
78
  );
101
79
  socket == null ? void 0 : socket.emit(`sub:${familyKey}`, subKey);
@@ -106,7 +84,7 @@ function pullMutableFamilyMember(token, socket, store) {
106
84
  }
107
85
  function pushState(token, socket, subscriptionKey, store) {
108
86
  socket.emit(`claim:${token.key}`);
109
- AtomIO__namespace.subscribe(
87
+ AtomIO.subscribe(
110
88
  token,
111
89
  ({ newValue }) => {
112
90
  socket.emit(`pub:${token.key}`, newValue);
@@ -124,7 +102,7 @@ function synchronizeTransactionResults(token, socket, store) {
124
102
  var _a;
125
103
  const count = (_a = TX_SUBS.get(token.key)) != null ? _a : 0;
126
104
  TX_SUBS.set(token.key, count + 1);
127
- const unsubscribe = count === 0 ? AtomIO__namespace.subscribeToTransaction(
105
+ const unsubscribe = count === 0 ? AtomIO.subscribeToTransaction(
128
106
  token,
129
107
  (clientUpdate) => {
130
108
  const transactionId = Math.random().toString(36).slice(2);
@@ -183,13 +161,6 @@ function synchronizeTransactionResults(token, socket, store) {
183
161
  };
184
162
  }
185
163
 
186
- exports.myIdState = myIdState;
187
- exports.myIdState__INTERNAL = myIdState__INTERNAL;
188
- exports.pullFamilyMember = pullFamilyMember;
189
- exports.pullMutableFamilyMember = pullMutableFamilyMember;
190
- exports.pullMutableState = pullMutableState;
191
- exports.pullState = pullState;
192
- exports.pushState = pushState;
193
- exports.synchronizeTransactionResults = synchronizeTransactionResults;
164
+ export { myIdState, myIdState__INTERNAL, pullFamilyMember, pullMutableFamilyMember, pullMutableState, pullState, pushState, synchronizeTransactionResults };
194
165
  //# sourceMappingURL=out.js.map
195
166
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"inputs":{"src/realtime-state.ts":{"bytes":262,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull.ts":{"bytes":515,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull-family-member.ts":{"bytes":794,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull-mutable.ts":{"bytes":932,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull-mutable-family-member.ts":{"bytes":1182,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true}],"format":"esm"},"src/use-push.ts":{"bytes":587,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/use-server-action.ts":{"bytes":1886,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":248,"imports":[{"path":"src/realtime-state.ts","kind":"import-statement","original":"./realtime-state"},{"path":"src/use-pull.ts","kind":"import-statement","original":"./use-pull"},{"path":"src/use-pull-family-member.ts","kind":"import-statement","original":"./use-pull-family-member"},{"path":"src/use-pull-mutable.ts","kind":"import-statement","original":"./use-pull-mutable"},{"path":"src/use-pull-mutable-family-member.ts","kind":"import-statement","original":"./use-pull-mutable-family-member"},{"path":"src/use-push.ts","kind":"import-statement","original":"./use-push"},{"path":"src/use-server-action.ts","kind":"import-statement","original":"./use-server-action"}],"format":"esm"}},"outputs":{"dist/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10953},"dist/index.cjs":{"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true}],"exports":["myIdState","myIdState__INTERNAL","pullFamilyMember","pullMutableFamilyMember","pullMutableState","pullState","pushState","synchronizeTransactionResults"],"entryPoint":"src/index.ts","inputs":{"src/realtime-state.ts":{"bytesInOutput":218},"src/index.ts":{"bytesInOutput":0},"src/use-pull.ts":{"bytesInOutput":309},"src/use-pull-family-member.ts":{"bytesInOutput":704},"src/use-pull-mutable.ts":{"bytesInOutput":621},"src/use-pull-mutable-family-member.ts":{"bytesInOutput":1067},"src/use-push.ts":{"bytesInOutput":382},"src/use-server-action.ts":{"bytesInOutput":1877}},"bytes":5549}}}
@@ -0,0 +1 @@
1
+ {"inputs":{"src/realtime-state.ts":{"bytes":262,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull.ts":{"bytes":515,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull-family-member.ts":{"bytes":794,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull-mutable.ts":{"bytes":932,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull-mutable-family-member.ts":{"bytes":1182,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true}],"format":"esm"},"src/use-push.ts":{"bytes":587,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/use-server-action.ts":{"bytes":1886,"imports":[{"path":"atom.io","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":248,"imports":[{"path":"src/realtime-state.ts","kind":"import-statement","original":"./realtime-state"},{"path":"src/use-pull.ts","kind":"import-statement","original":"./use-pull"},{"path":"src/use-pull-family-member.ts","kind":"import-statement","original":"./use-pull-family-member"},{"path":"src/use-pull-mutable.ts","kind":"import-statement","original":"./use-pull-mutable"},{"path":"src/use-pull-mutable-family-member.ts","kind":"import-statement","original":"./use-pull-mutable-family-member"},{"path":"src/use-push.ts","kind":"import-statement","original":"./use-push"},{"path":"src/use-server-action.ts","kind":"import-statement","original":"./use-server-action"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":10953},"dist/index.js":{"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/internal","kind":"import-statement","external":true},{"path":"atom.io/json","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true}],"exports":["myIdState","myIdState__INTERNAL","pullFamilyMember","pullMutableFamilyMember","pullMutableState","pullState","pushState","synchronizeTransactionResults"],"entryPoint":"src/index.ts","inputs":{"src/realtime-state.ts":{"bytesInOutput":218},"src/index.ts":{"bytesInOutput":0},"src/use-pull.ts":{"bytesInOutput":309},"src/use-pull-family-member.ts":{"bytesInOutput":704},"src/use-pull-mutable.ts":{"bytesInOutput":621},"src/use-pull-mutable-family-member.ts":{"bytesInOutput":1067},"src/use-push.ts":{"bytesInOutput":382},"src/use-server-action.ts":{"bytesInOutput":1877}},"bytes":5549}}}
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "atom.io-realtime-client",
3
+ "type": "module",
3
4
  "private": true,
4
5
  "main": "dist/index.js",
5
6
  "types": "dist/index.d.ts",
@@ -7,9 +8,9 @@
7
8
  "exports": {
8
9
  ".": {
9
10
  "types": "./dist/index.d.ts",
10
- "browser": "./dist/index.mjs",
11
- "import": "./dist/index.mjs",
12
- "require": "./dist/index.js"
11
+ "browser": "./dist/index.js",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
13
14
  }
14
15
  }
15
16
  }
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ var react = require('atom.io/react');
4
+ var RTC = require('atom.io/realtime-client');
5
+ var React6 = require('react');
6
+ var socket_ioClient = require('socket.io-client');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var AtomIO = require('atom.io');
9
+
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var RTC__namespace = /*#__PURE__*/_interopNamespace(RTC);
29
+ var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
30
+ var AtomIO__namespace = /*#__PURE__*/_interopNamespace(AtomIO);
31
+
32
+ // src/realtime-context.tsx
33
+ var RealtimeContext = React6__namespace.createContext({
34
+ socket: socket_ioClient.io()
35
+ });
36
+ var RealtimeProvider = ({ children, socket }) => {
37
+ const setMyId = react.useI(RTC__namespace.myIdState__INTERNAL);
38
+ React6__namespace.useEffect(() => {
39
+ socket.on(`connect`, () => {
40
+ setMyId(socket.id);
41
+ });
42
+ socket.on(`disconnect`, () => {
43
+ setMyId(null);
44
+ });
45
+ }, [socket, setMyId]);
46
+ return /* @__PURE__ */ jsxRuntime.jsx(RealtimeContext.Provider, { value: { socket }, children });
47
+ };
48
+ function usePull(token) {
49
+ const { socket } = React6__namespace.useContext(RealtimeContext);
50
+ const store = React6__namespace.useContext(react.StoreContext);
51
+ React6__namespace.useEffect(() => RTC__namespace.pullState(token, socket, store), [token.key]);
52
+ }
53
+ function usePullFamilyMember(token) {
54
+ const { socket } = React6__namespace.useContext(RealtimeContext);
55
+ const store = React6__namespace.useContext(react.StoreContext);
56
+ React6__namespace.useEffect(() => RTC__namespace.pullFamilyMember(token, socket, store), [token.key]);
57
+ }
58
+ function usePullMutable(token) {
59
+ const { socket } = React6__namespace.useContext(RealtimeContext);
60
+ const store = React6__namespace.useContext(react.StoreContext);
61
+ React6__namespace.useEffect(() => RTC__namespace.pullMutableState(token, socket, store), [token.key]);
62
+ }
63
+ function usePullMutableFamilyMember(token) {
64
+ const { socket } = React6__namespace.useContext(RealtimeContext);
65
+ const store = React6__namespace.useContext(react.StoreContext);
66
+ React6__namespace.useEffect(
67
+ () => RTC__namespace.pullMutableFamilyMember(token, socket, store),
68
+ [token.key]
69
+ );
70
+ }
71
+ function usePush(token) {
72
+ const { socket } = React6__namespace.useContext(RealtimeContext);
73
+ const store = React6__namespace.useContext(react.StoreContext);
74
+ const id = React6__namespace.useId();
75
+ React6__namespace.useEffect(
76
+ () => RTC__namespace.pushState(token, socket, `use-push:${id}`, store),
77
+ [token.key]
78
+ );
79
+ }
80
+ function useServerAction(token) {
81
+ const store = React6__namespace.useContext(react.StoreContext);
82
+ const { socket } = React6__namespace.useContext(RealtimeContext);
83
+ React6__namespace.useEffect(
84
+ () => RTC__namespace.synchronizeTransactionResults(token, socket, store),
85
+ [token.key]
86
+ );
87
+ return AtomIO__namespace.runTransaction(token, store);
88
+ }
89
+
90
+ exports.RealtimeContext = RealtimeContext;
91
+ exports.RealtimeProvider = RealtimeProvider;
92
+ exports.usePull = usePull;
93
+ exports.usePullFamilyMember = usePullFamilyMember;
94
+ exports.usePullMutable = usePullMutable;
95
+ exports.usePullMutableFamilyMember = usePullMutableFamilyMember;
96
+ exports.usePush = usePush;
97
+ exports.useServerAction = useServerAction;
98
+ //# sourceMappingURL=out.js.map
99
+ //# sourceMappingURL=index.cjs.map
@@ -1,41 +1,17 @@
1
- 'use strict';
2
-
3
- var react = require('atom.io/react');
4
- var RTC = require('atom.io/realtime-client');
5
- var React6 = require('react');
6
- var socket_ioClient = require('socket.io-client');
7
- var jsxRuntime = require('react/jsx-runtime');
8
- var AtomIO = require('atom.io');
9
-
10
- function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
12
- var n = Object.create(null);
13
- if (e) {
14
- Object.keys(e).forEach(function (k) {
15
- if (k !== 'default') {
16
- var d = Object.getOwnPropertyDescriptor(e, k);
17
- Object.defineProperty(n, k, d.get ? d : {
18
- enumerable: true,
19
- get: function () { return e[k]; }
20
- });
21
- }
22
- });
23
- }
24
- n.default = e;
25
- return Object.freeze(n);
26
- }
27
-
28
- var RTC__namespace = /*#__PURE__*/_interopNamespace(RTC);
29
- var React6__namespace = /*#__PURE__*/_interopNamespace(React6);
30
- var AtomIO__namespace = /*#__PURE__*/_interopNamespace(AtomIO);
1
+ import { useI, StoreContext } from 'atom.io/react';
2
+ import * as RTC from 'atom.io/realtime-client';
3
+ import * as React6 from 'react';
4
+ import { io } from 'socket.io-client';
5
+ import { jsx } from 'react/jsx-runtime';
6
+ import * as AtomIO from 'atom.io';
31
7
 
32
8
  // src/realtime-context.tsx
33
- var RealtimeContext = React6__namespace.createContext({
34
- socket: socket_ioClient.io()
9
+ var RealtimeContext = React6.createContext({
10
+ socket: io()
35
11
  });
36
12
  var RealtimeProvider = ({ children, socket }) => {
37
- const setMyId = react.useI(RTC__namespace.myIdState__INTERNAL);
38
- React6__namespace.useEffect(() => {
13
+ const setMyId = useI(RTC.myIdState__INTERNAL);
14
+ React6.useEffect(() => {
39
15
  socket.on(`connect`, () => {
40
16
  setMyId(socket.id);
41
17
  });
@@ -43,57 +19,50 @@ var RealtimeProvider = ({ children, socket }) => {
43
19
  setMyId(null);
44
20
  });
45
21
  }, [socket, setMyId]);
46
- return /* @__PURE__ */ jsxRuntime.jsx(RealtimeContext.Provider, { value: { socket }, children });
22
+ return /* @__PURE__ */ jsx(RealtimeContext.Provider, { value: { socket }, children });
47
23
  };
48
24
  function usePull(token) {
49
- const { socket } = React6__namespace.useContext(RealtimeContext);
50
- const store = React6__namespace.useContext(react.StoreContext);
51
- React6__namespace.useEffect(() => RTC__namespace.pullState(token, socket, store), [token.key]);
25
+ const { socket } = React6.useContext(RealtimeContext);
26
+ const store = React6.useContext(StoreContext);
27
+ React6.useEffect(() => RTC.pullState(token, socket, store), [token.key]);
52
28
  }
53
29
  function usePullFamilyMember(token) {
54
- const { socket } = React6__namespace.useContext(RealtimeContext);
55
- const store = React6__namespace.useContext(react.StoreContext);
56
- React6__namespace.useEffect(() => RTC__namespace.pullFamilyMember(token, socket, store), [token.key]);
30
+ const { socket } = React6.useContext(RealtimeContext);
31
+ const store = React6.useContext(StoreContext);
32
+ React6.useEffect(() => RTC.pullFamilyMember(token, socket, store), [token.key]);
57
33
  }
58
34
  function usePullMutable(token) {
59
- const { socket } = React6__namespace.useContext(RealtimeContext);
60
- const store = React6__namespace.useContext(react.StoreContext);
61
- React6__namespace.useEffect(() => RTC__namespace.pullMutableState(token, socket, store), [token.key]);
35
+ const { socket } = React6.useContext(RealtimeContext);
36
+ const store = React6.useContext(StoreContext);
37
+ React6.useEffect(() => RTC.pullMutableState(token, socket, store), [token.key]);
62
38
  }
63
39
  function usePullMutableFamilyMember(token) {
64
- const { socket } = React6__namespace.useContext(RealtimeContext);
65
- const store = React6__namespace.useContext(react.StoreContext);
66
- React6__namespace.useEffect(
67
- () => RTC__namespace.pullMutableFamilyMember(token, socket, store),
40
+ const { socket } = React6.useContext(RealtimeContext);
41
+ const store = React6.useContext(StoreContext);
42
+ React6.useEffect(
43
+ () => RTC.pullMutableFamilyMember(token, socket, store),
68
44
  [token.key]
69
45
  );
70
46
  }
71
47
  function usePush(token) {
72
- const { socket } = React6__namespace.useContext(RealtimeContext);
73
- const store = React6__namespace.useContext(react.StoreContext);
74
- const id = React6__namespace.useId();
75
- React6__namespace.useEffect(
76
- () => RTC__namespace.pushState(token, socket, `use-push:${id}`, store),
48
+ const { socket } = React6.useContext(RealtimeContext);
49
+ const store = React6.useContext(StoreContext);
50
+ const id = React6.useId();
51
+ React6.useEffect(
52
+ () => RTC.pushState(token, socket, `use-push:${id}`, store),
77
53
  [token.key]
78
54
  );
79
55
  }
80
56
  function useServerAction(token) {
81
- const store = React6__namespace.useContext(react.StoreContext);
82
- const { socket } = React6__namespace.useContext(RealtimeContext);
83
- React6__namespace.useEffect(
84
- () => RTC__namespace.synchronizeTransactionResults(token, socket, store),
57
+ const store = React6.useContext(StoreContext);
58
+ const { socket } = React6.useContext(RealtimeContext);
59
+ React6.useEffect(
60
+ () => RTC.synchronizeTransactionResults(token, socket, store),
85
61
  [token.key]
86
62
  );
87
- return AtomIO__namespace.runTransaction(token, store);
63
+ return AtomIO.runTransaction(token, store);
88
64
  }
89
65
 
90
- exports.RealtimeContext = RealtimeContext;
91
- exports.RealtimeProvider = RealtimeProvider;
92
- exports.usePull = usePull;
93
- exports.usePullFamilyMember = usePullFamilyMember;
94
- exports.usePullMutable = usePullMutable;
95
- exports.usePullMutableFamilyMember = usePullMutableFamilyMember;
96
- exports.usePush = usePush;
97
- exports.useServerAction = useServerAction;
66
+ export { RealtimeContext, RealtimeProvider, usePull, usePullFamilyMember, usePullMutable, usePullMutableFamilyMember, usePush, useServerAction };
98
67
  //# sourceMappingURL=out.js.map
99
68
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"inputs":{"src/realtime-context.tsx":{"bytes":727,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"socket.io-client","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull.ts":{"bytes":527,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-pull-family-member.ts":{"bytes":545,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-pull-mutable.ts":{"bytes":645,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-pull-mutable-family-member.ts":{"bytes":672,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-push.ts":{"bytes":579,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-server-action.ts":{"bytes":607,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/index.ts":{"bytes":250,"imports":[{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"},{"path":"src/use-pull.ts","kind":"import-statement","original":"./use-pull"},{"path":"src/use-pull-family-member.ts","kind":"import-statement","original":"./use-pull-family-member"},{"path":"src/use-pull-mutable.ts","kind":"import-statement","original":"./use-pull-mutable"},{"path":"src/use-pull-mutable-family-member.ts","kind":"import-statement","original":"./use-pull-mutable-family-member"},{"path":"src/use-push.ts","kind":"import-statement","original":"./use-push"},{"path":"src/use-server-action.ts","kind":"import-statement","original":"./use-server-action"}],"format":"esm"}},"outputs":{"dist/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7078},"dist/index.cjs":{"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"socket.io-client","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["RealtimeContext","RealtimeProvider","usePull","usePullFamilyMember","usePullMutable","usePullMutableFamilyMember","usePush","useServerAction"],"entryPoint":"src/index.ts","inputs":{"src/realtime-context.tsx":{"bytesInOutput":636},"src/index.ts":{"bytesInOutput":0},"src/use-pull.ts":{"bytesInOutput":339},"src/use-pull-family-member.ts":{"bytesInOutput":376},"src/use-pull-mutable.ts":{"bytesInOutput":371},"src/use-pull-mutable-family-member.ts":{"bytesInOutput":402},"src/use-push.ts":{"bytesInOutput":416},"src/use-server-action.ts":{"bytesInOutput":478}},"bytes":3381}}}
@@ -0,0 +1 @@
1
+ {"inputs":{"src/realtime-context.tsx":{"bytes":727,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"socket.io-client","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/use-pull.ts":{"bytes":527,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-pull-family-member.ts":{"bytes":545,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-pull-mutable.ts":{"bytes":645,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-pull-mutable-family-member.ts":{"bytes":672,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-push.ts":{"bytes":579,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/use-server-action.ts":{"bytes":607,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"}],"format":"esm"},"src/index.ts":{"bytes":250,"imports":[{"path":"src/realtime-context.tsx","kind":"import-statement","original":"./realtime-context"},{"path":"src/use-pull.ts","kind":"import-statement","original":"./use-pull"},{"path":"src/use-pull-family-member.ts","kind":"import-statement","original":"./use-pull-family-member"},{"path":"src/use-pull-mutable.ts","kind":"import-statement","original":"./use-pull-mutable"},{"path":"src/use-pull-mutable-family-member.ts","kind":"import-statement","original":"./use-pull-mutable-family-member"},{"path":"src/use-push.ts","kind":"import-statement","original":"./use-push"},{"path":"src/use-server-action.ts","kind":"import-statement","original":"./use-server-action"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":7078},"dist/index.js":{"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"socket.io-client","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"atom.io/realtime-client","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true}],"exports":["RealtimeContext","RealtimeProvider","usePull","usePullFamilyMember","usePullMutable","usePullMutableFamilyMember","usePush","useServerAction"],"entryPoint":"src/index.ts","inputs":{"src/realtime-context.tsx":{"bytesInOutput":636},"src/index.ts":{"bytesInOutput":0},"src/use-pull.ts":{"bytesInOutput":339},"src/use-pull-family-member.ts":{"bytesInOutput":376},"src/use-pull-mutable.ts":{"bytesInOutput":371},"src/use-pull-mutable-family-member.ts":{"bytesInOutput":402},"src/use-push.ts":{"bytesInOutput":416},"src/use-server-action.ts":{"bytesInOutput":478}},"bytes":3381}}}
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "atom.io-realtime-react",
3
+ "type": "module",
3
4
  "private": true,
4
5
  "main": "dist/index.js",
5
6
  "types": "dist/index.d.ts",
@@ -7,9 +8,9 @@
7
8
  "exports": {
8
9
  ".": {
9
10
  "types": "./dist/index.d.ts",
10
- "browser": "./dist/index.mjs",
11
- "import": "./dist/index.mjs",
12
- "require": "./dist/index.js"
11
+ "browser": "./dist/index.js",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
13
14
  }
14
15
  }
15
16
  }