atom.io 0.14.4 → 0.14.5

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 (91) hide show
  1. package/data/dist/index.cjs +47 -1416
  2. package/data/dist/index.cjs.map +1 -1
  3. package/data/dist/index.d.cts +8 -134
  4. package/data/dist/index.d.ts +8 -134
  5. package/data/dist/index.js +4 -6
  6. package/data/dist/index.js.map +1 -1
  7. package/dist/chunk-NYTGCPHB.js +261 -0
  8. package/dist/chunk-NYTGCPHB.js.map +1 -0
  9. package/dist/chunk-PZLG2HP3.js +36 -0
  10. package/dist/chunk-PZLG2HP3.js.map +1 -0
  11. package/dist/chunk-XACXFU3B.js +46 -0
  12. package/dist/chunk-XACXFU3B.js.map +1 -0
  13. package/dist/index.cjs +55 -2330
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.js +152 -1
  16. package/dist/index.js.map +1 -1
  17. package/internal/dist/index.cjs +30 -159
  18. package/internal/dist/index.cjs.map +1 -1
  19. package/internal/dist/index.d.cts +8 -211
  20. package/internal/dist/index.d.ts +8 -211
  21. package/internal/dist/index.js +2027 -1
  22. package/internal/dist/index.js.map +1 -1
  23. package/introspection/dist/index.cjs +45 -1565
  24. package/introspection/dist/index.cjs.map +1 -1
  25. package/introspection/dist/index.d.cts +2 -129
  26. package/introspection/dist/index.d.ts +2 -129
  27. package/introspection/dist/index.js +298 -2
  28. package/introspection/dist/index.js.map +1 -1
  29. package/json/dist/index.cjs +5 -1502
  30. package/json/dist/index.cjs.map +1 -1
  31. package/json/dist/index.d.cts +5 -131
  32. package/json/dist/index.d.ts +5 -131
  33. package/json/dist/index.js +37 -1
  34. package/json/dist/index.js.map +1 -1
  35. package/package.json +1 -2
  36. package/react/dist/index.cjs +14 -1549
  37. package/react/dist/index.cjs.map +1 -1
  38. package/react/dist/index.d.cts +8 -136
  39. package/react/dist/index.d.ts +8 -136
  40. package/react/dist/index.js +62 -2
  41. package/react/dist/index.js.map +1 -1
  42. package/react-devtools/dist/index.cjs +135 -2153
  43. package/react-devtools/dist/index.cjs.map +1 -1
  44. package/react-devtools/dist/index.d.cts +20 -146
  45. package/react-devtools/dist/index.d.ts +20 -146
  46. package/react-devtools/dist/index.js +5 -3
  47. package/react-devtools/dist/index.js.map +1 -1
  48. package/realtime-client/dist/index.cjs +34 -1529
  49. package/realtime-client/dist/index.cjs.map +1 -1
  50. package/realtime-client/dist/index.d.cts +11 -138
  51. package/realtime-client/dist/index.d.ts +11 -138
  52. package/realtime-client/dist/index.js +165 -2
  53. package/realtime-client/dist/index.js.map +1 -1
  54. package/realtime-react/dist/index.cjs +35 -1727
  55. package/realtime-react/dist/index.cjs.map +1 -1
  56. package/realtime-react/dist/index.d.cts +7 -35
  57. package/realtime-react/dist/index.d.ts +7 -35
  58. package/realtime-react/dist/index.js +66 -4
  59. package/realtime-react/dist/index.js.map +1 -1
  60. package/realtime-server/dist/index.cjs +57 -1548
  61. package/realtime-server/dist/index.cjs.map +1 -1
  62. package/realtime-server/dist/index.d.cts +15 -153
  63. package/realtime-server/dist/index.d.ts +15 -153
  64. package/realtime-server/dist/index.js +21 -27
  65. package/realtime-server/dist/index.js.map +1 -1
  66. package/realtime-testing/dist/index.cjs +15 -2376
  67. package/realtime-testing/dist/index.cjs.map +1 -1
  68. package/realtime-testing/dist/index.d.cts +3 -489
  69. package/realtime-testing/dist/index.d.ts +3 -489
  70. package/realtime-testing/dist/index.js +10 -9
  71. package/realtime-testing/dist/index.js.map +1 -1
  72. package/transceivers/set-rtx/dist/index.cjs +9 -31
  73. package/transceivers/set-rtx/dist/index.cjs.map +1 -1
  74. package/transceivers/set-rtx/dist/index.d.cts +7 -7
  75. package/transceivers/set-rtx/dist/index.d.ts +7 -7
  76. package/transceivers/set-rtx/dist/index.js +3 -2
  77. package/transceivers/set-rtx/dist/index.js.map +1 -1
  78. package/dist/chunk-GMN5KH6A.js +0 -309
  79. package/dist/chunk-GMN5KH6A.js.map +0 -1
  80. package/dist/chunk-HQWWV67P.js +0 -62
  81. package/dist/chunk-HQWWV67P.js.map +0 -1
  82. package/dist/chunk-MK4OJD24.js +0 -67
  83. package/dist/chunk-MK4OJD24.js.map +0 -1
  84. package/dist/chunk-N7ADBQJG.js +0 -176
  85. package/dist/chunk-N7ADBQJG.js.map +0 -1
  86. package/dist/chunk-PURABO5G.js +0 -2581
  87. package/dist/chunk-PURABO5G.js.map +0 -1
  88. package/dist/index.d.cts +0 -493
  89. package/dist/index.d.ts +0 -493
  90. package/dist/metafile-cjs.json +0 -1
  91. package/dist/metafile-esm.json +0 -1
@@ -1,4 +1,64 @@
1
- export { StoreContext, StoreProvider, useI, useJSON, useO, useTL } from '../../dist/chunk-HQWWV67P.js';
2
- import '../../dist/chunk-PURABO5G.js';
1
+ import '../../dist/chunk-PZLG2HP3.js';
2
+ import { IMPLICIT, subscribeToState, getJsonToken, withdraw, subscribeToTimeline } from 'atom.io/internal';
3
+ import * as React2 from 'react';
4
+ import { jsx } from 'react/jsx-runtime';
5
+ import { setState, getState, undo, redo } from 'atom.io';
6
+
7
+ var StoreContext = React2.createContext(IMPLICIT.STORE);
8
+ var StoreProvider = ({ children, store = IMPLICIT.STORE }) => /* @__PURE__ */ jsx(StoreContext.Provider, { value: store, children });
9
+ function useI(token) {
10
+ const store = React2.useContext(StoreContext);
11
+ const setter = React2.useRef(null);
12
+ if (setter.current === null) {
13
+ setter.current = (next) => setState(token, next, store);
14
+ }
15
+ return setter.current;
16
+ }
17
+ function useO(token) {
18
+ const store = React2.useContext(StoreContext);
19
+ const id = React2.useId();
20
+ return React2.useSyncExternalStore(
21
+ (dispatch) => subscribeToState(token, dispatch, `use-o:${id}`, store),
22
+ () => getState(token, store),
23
+ () => getState(token, store)
24
+ );
25
+ }
26
+ function useJSON(token) {
27
+ const jsonToken = getJsonToken(token);
28
+ return useO(jsonToken);
29
+ }
30
+ function useTL(token) {
31
+ const store = React2.useContext(StoreContext);
32
+ const id = React2.useId();
33
+ const timeline = withdraw(token, store);
34
+ const base = React2.useRef({
35
+ undo: () => undo(token),
36
+ redo: () => redo(token)
37
+ });
38
+ const rebuildMeta = React2.useCallback(() => {
39
+ var _a, _b;
40
+ return Object.assign(
41
+ {
42
+ at: (_a = timeline == null ? void 0 : timeline.at) != null ? _a : NaN,
43
+ length: (_b = timeline == null ? void 0 : timeline.history.length) != null ? _b : NaN
44
+ },
45
+ base.current
46
+ );
47
+ }, []);
48
+ const meta = React2.useRef(rebuildMeta());
49
+ const retrieve = React2.useCallback(() => {
50
+ if (meta.current.at !== (timeline == null ? void 0 : timeline.at) || meta.current.length !== (timeline == null ? void 0 : timeline.history.length)) {
51
+ meta.current = rebuildMeta();
52
+ }
53
+ return meta.current;
54
+ }, []);
55
+ return React2.useSyncExternalStore(
56
+ (dispatch) => subscribeToTimeline(token, dispatch, `use-tl:${id}`, store),
57
+ retrieve,
58
+ retrieve
59
+ );
60
+ }
61
+
62
+ export { StoreContext, StoreProvider, useI, useJSON, useO, useTL };
3
63
  //# sourceMappingURL=out.js.map
4
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../src/store-context.tsx","../src/store-hooks.ts"],"names":["React"],"mappings":";;;AACA,SAAS,gBAAgB;AACzB,YAAY,WAAW;AAQtB;AANM,IAAM,eAAqB,oBAAqB,SAAS,KAAK;AAE9D,IAAM,gBAGR,CAAC,EAAE,UAAU,QAAQ,SAAS,MAAM,MACxC,oBAAC,aAAa,UAAb,EAAsB,OAAO,OAAQ,UAAS;;;ACVhD,YAAYA,YAAW;AAEvB,SAAS,UAAU,MAAM,UAAU,YAAY;AAQ/C;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AAIA,SAAS,KACf,OACyD;AACzD,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,SAEI,cAAO,IAAI;AACrB,MAAI,OAAO,YAAY,MAAM;AAC5B,WAAO,UAAU,CAAC,SAAS,SAAS,OAAO,MAAM,KAAK;AAAA,EACvD;AACA,SAAO,OAAO;AACf;AAEO,SAAS,KAAQ,OAAoD;AAC3E,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,KAAW,aAAM;AACvB,SAAa;AAAA,IACZ,CAAC,aAAa,iBAAiB,OAAO,UAAU,SAAS,EAAE,IAAI,KAAK;AAAA,IACpE,MAAM,SAAS,OAAO,KAAK;AAAA,IAC3B,MAAM,SAAS,OAAO,KAAK;AAAA,EAC5B;AACD;AAEO,SAAS,QACf,OACe;AACf,QAAM,YAAY,aAAa,KAAK;AACpC,SAAO,KAAK,SAAS;AACtB;AASO,SAAS,MAAM,OAAoC;AACzD,QAAM,QAAc,kBAAW,YAAY;AAC3C,QAAM,KAAW,aAAM;AACvB,QAAM,WAAW,SAAS,OAAO,KAAK;AACtC,QAAM,OAAa,cAAO;AAAA,IACzB,MAAM,MAAM,KAAK,KAAK;AAAA,IACtB,MAAM,MAAM,KAAK,KAAK;AAAA,EACvB,CAAC;AACD,QAAM,cAAoB,mBAAY,MAAM;AAhE7C;AAiEE,WAAO,OAAO;AAAA,MACb;AAAA,QACC,KAAI,0CAAU,OAAV,YAAgB;AAAA,QACpB,SAAQ,0CAAU,QAAQ,WAAlB,YAA4B;AAAA,MACrC;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD,GAAG,CAAC,CAAC;AACL,QAAM,OAAa,cAAqB,YAAY,CAAC;AACrD,QAAM,WAAiB,mBAAY,MAAM;AACxC,QACC,KAAK,QAAQ,QAAO,qCAAU,OAC9B,KAAK,QAAQ,YAAW,qCAAU,QAAQ,SACzC;AACD,WAAK,UAAU,YAAY;AAAA,IAC5B;AACA,WAAO,KAAK;AAAA,EACb,GAAG,CAAC,CAAC;AACL,SAAa;AAAA,IACZ,CAAC,aAAa,oBAAoB,OAAO,UAAU,UAAU,EAAE,IAAI,KAAK;AAAA,IACxE;AAAA,IACA;AAAA,EACD;AACD","sourcesContent":["import type { Store } from \"atom.io/internal\"\nimport { IMPLICIT } from \"atom.io/internal\"\nimport * as React from \"react\"\n\nexport const StoreContext = React.createContext<Store>(IMPLICIT.STORE)\n\nexport const StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: Store\n}> = ({ children, store = IMPLICIT.STORE }) => (\n\t<StoreContext.Provider value={store}>{children}</StoreContext.Provider>\n)\n","import * as React from \"react\"\n\nimport { getState, redo, setState, undo } from \"atom.io\"\nimport type {\n\tMutableAtomToken,\n\tReadonlySelectorToken,\n\tStateToken,\n\tTimelineToken,\n} from \"atom.io\"\n\nimport {\n\tgetJsonToken,\n\tsubscribeToState,\n\tsubscribeToTimeline,\n\twithdraw,\n} from \"atom.io/internal\"\nimport type { Json } from \"atom.io/json\"\nimport { StoreContext } from \"./store-context\"\n\nexport function useI<T>(\n\ttoken: StateToken<T>,\n): <New extends T>(next: New | ((old: T) => New)) => void {\n\tconst store = React.useContext(StoreContext)\n\tconst setter: React.MutableRefObject<\n\t\t(<New extends T>(next: New | ((old: T) => New)) => void) | null\n\t> = React.useRef(null)\n\tif (setter.current === null) {\n\t\tsetter.current = (next) => setState(token, next, store)\n\t}\n\treturn setter.current\n}\n\nexport function useO<T>(token: ReadonlySelectorToken<T> | StateToken<T>): T {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\treturn React.useSyncExternalStore<T>(\n\t\t(dispatch) => subscribeToState(token, dispatch, `use-o:${id}`, store),\n\t\t() => getState(token, store),\n\t\t() => getState(token, store),\n\t)\n}\n\nexport function useJSON<Serializable extends Json.Serializable>(\n\ttoken: MutableAtomToken<any, Serializable>,\n): Serializable {\n\tconst jsonToken = getJsonToken(token)\n\treturn useO(jsonToken)\n}\n\nexport type TimelineMeta = {\n\tat: number\n\tlength: number\n\tundo: () => void\n\tredo: () => void\n}\n\nexport function useTL(token: TimelineToken): TimelineMeta {\n\tconst store = React.useContext(StoreContext)\n\tconst id = React.useId()\n\tconst timeline = withdraw(token, store)\n\tconst base = React.useRef({\n\t\tundo: () => undo(token),\n\t\tredo: () => redo(token),\n\t})\n\tconst rebuildMeta = React.useCallback(() => {\n\t\treturn Object.assign(\n\t\t\t{\n\t\t\t\tat: timeline?.at ?? NaN,\n\t\t\t\tlength: timeline?.history.length ?? NaN,\n\t\t\t},\n\t\t\tbase.current,\n\t\t)\n\t}, [])\n\tconst meta = React.useRef<TimelineMeta>(rebuildMeta())\n\tconst retrieve = React.useCallback(() => {\n\t\tif (\n\t\t\tmeta.current.at !== timeline?.at ||\n\t\t\tmeta.current.length !== timeline?.history.length\n\t\t) {\n\t\t\tmeta.current = rebuildMeta()\n\t\t}\n\t\treturn meta.current\n\t}, [])\n\treturn React.useSyncExternalStore<TimelineMeta>(\n\t\t(dispatch) => subscribeToTimeline(token, dispatch, `use-tl:${id}`, store),\n\t\tretrieve,\n\t\tretrieve,\n\t)\n}\n"]}