atom.io 0.6.1 → 0.6.3

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 (90) hide show
  1. package/dist/index.d.mts +3 -3
  2. package/dist/index.d.ts +3 -3
  3. package/dist/index.js +7 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +7 -2
  6. package/dist/index.mjs.map +1 -1
  7. package/json/dist/index.js.map +1 -1
  8. package/json/dist/index.mjs.map +1 -1
  9. package/package.json +13 -3
  10. package/react/dist/index.js.map +1 -1
  11. package/react/dist/index.mjs.map +1 -1
  12. package/react-devtools/dist/index.js +32 -18
  13. package/react-devtools/dist/index.js.map +1 -1
  14. package/react-devtools/dist/index.mjs +32 -18
  15. package/react-devtools/dist/index.mjs.map +1 -1
  16. package/realtime/dist/index.js.map +1 -1
  17. package/realtime/dist/index.mjs.map +1 -1
  18. package/realtime-react/dist/index.js.map +1 -1
  19. package/realtime-react/dist/index.mjs.map +1 -1
  20. package/realtime-testing/dist/index.d.mts +49 -0
  21. package/realtime-testing/dist/index.d.ts +49 -0
  22. package/realtime-testing/dist/index.js +153 -0
  23. package/realtime-testing/dist/index.js.map +1 -0
  24. package/realtime-testing/dist/index.mjs +117 -0
  25. package/realtime-testing/dist/index.mjs.map +1 -0
  26. package/realtime-testing/package.json +15 -0
  27. package/src/atom.ts +15 -15
  28. package/src/index.ts +59 -59
  29. package/src/internal/atom-internal.ts +36 -36
  30. package/src/internal/families-internal.ts +114 -114
  31. package/src/internal/get.ts +83 -83
  32. package/src/internal/is-default.ts +17 -17
  33. package/src/internal/meta/attach-meta.ts +7 -7
  34. package/src/internal/meta/meta-state.ts +115 -115
  35. package/src/internal/operation.ts +93 -93
  36. package/src/internal/selector/create-read-write-selector.ts +46 -46
  37. package/src/internal/selector/create-readonly-selector.ts +37 -37
  38. package/src/internal/selector/lookup-selector-sources.ts +9 -9
  39. package/src/internal/selector/register-selector.ts +44 -44
  40. package/src/internal/selector/trace-selector-atoms.ts +30 -30
  41. package/src/internal/selector/update-selector-atoms.ts +25 -25
  42. package/src/internal/selector-internal.ts +37 -37
  43. package/src/internal/set.ts +78 -78
  44. package/src/internal/store.ts +118 -118
  45. package/src/internal/subscribe-internal.ts +62 -62
  46. package/src/internal/time-travel-internal.ts +76 -76
  47. package/src/internal/timeline/add-atom-to-timeline.ts +158 -153
  48. package/src/internal/timeline-internal.ts +80 -80
  49. package/src/internal/transaction/abort-transaction.ts +8 -8
  50. package/src/internal/transaction/apply-transaction.ts +41 -41
  51. package/src/internal/transaction/build-transaction.ts +28 -28
  52. package/src/internal/transaction/index.ts +7 -7
  53. package/src/internal/transaction/redo-transaction.ts +13 -13
  54. package/src/internal/transaction/undo-transaction.ts +13 -13
  55. package/src/internal/transaction-internal.ts +48 -48
  56. package/src/json/select-json.ts +12 -12
  57. package/src/logger.ts +30 -30
  58. package/src/react/store-context.tsx +4 -4
  59. package/src/react/store-hooks.ts +18 -18
  60. package/src/react-devtools/AtomIODevtools.tsx +83 -82
  61. package/src/react-devtools/StateEditor.tsx +53 -53
  62. package/src/react-devtools/TokenList.tsx +47 -42
  63. package/src/react-explorer/AtomIOExplorer.tsx +197 -185
  64. package/src/react-explorer/explorer-effects.ts +11 -11
  65. package/src/react-explorer/explorer-states.ts +186 -193
  66. package/src/react-explorer/index.ts +11 -11
  67. package/src/react-explorer/space-states.ts +48 -50
  68. package/src/react-explorer/view-states.ts +25 -25
  69. package/src/realtime/hook-composition/expose-family.ts +81 -81
  70. package/src/realtime/hook-composition/expose-single.ts +26 -26
  71. package/src/realtime/hook-composition/expose-timeline.ts +60 -0
  72. package/src/realtime/hook-composition/index.ts +2 -2
  73. package/src/realtime/hook-composition/receive-state.ts +18 -18
  74. package/src/realtime/hook-composition/receive-transaction.ts +8 -8
  75. package/src/realtime-react/realtime-context.tsx +17 -17
  76. package/src/realtime-react/realtime-hooks.ts +17 -17
  77. package/src/realtime-react/realtime-state.ts +4 -4
  78. package/src/realtime-react/use-pull-family-member.ts +15 -15
  79. package/src/realtime-react/use-pull-family.ts +13 -13
  80. package/src/realtime-react/use-pull.ts +12 -12
  81. package/src/realtime-react/use-push.ts +15 -15
  82. package/src/realtime-react/use-server-action.ts +21 -21
  83. package/src/realtime-testing/index.ts +1 -0
  84. package/src/realtime-testing/setup-realtime-test.tsx +160 -0
  85. package/src/selector.ts +25 -25
  86. package/src/silo.ts +38 -38
  87. package/src/subscribe.ts +68 -68
  88. package/src/timeline.ts +13 -13
  89. package/src/transaction.ts +28 -28
  90. package/src/web-effects/storage.ts +17 -17
@@ -527,7 +527,7 @@ import { isString as isString4 } from "fp-ts/string";
527
527
  // ../../anvl/src/json-schema/integer.ts
528
528
  import { pipe as pipe6 } from "fp-ts/function";
529
529
  var isInteger = (input) => Number.isInteger(input);
530
- var parseInt = (input) => {
530
+ var parseInteger = (input) => {
531
531
  if (isInteger(input))
532
532
  return input;
533
533
  throw new IntegerParseError(input);
@@ -540,8 +540,8 @@ var Fraction = class extends Number {
540
540
  if (d === 0) {
541
541
  throw new Error(`Denominator cannot be zero`);
542
542
  }
543
- this.numerator = parseInt(n);
544
- this.denominator = parseInt(d);
543
+ this.numerator = parseInteger(n);
544
+ this.denominator = parseInteger(d);
545
545
  }
546
546
  };
547
547
  _a = Symbol.toPrimitive;
@@ -550,7 +550,7 @@ var IntegerParseError = class extends Error {
550
550
  super(`Could not parse integer from ${JSON.stringify(value)}`);
551
551
  }
552
552
  };
553
- var Int = Object.assign((input) => parseInt(input), {
553
+ var Int = Object.assign((input) => parseInteger(input), {
554
554
  from: (input) => pipe6(
555
555
  input,
556
556
  String,
@@ -843,7 +843,7 @@ function isJsonSchema(input) {
843
843
  // ../../anvl/src/json-schema/path-into.ts
844
844
  var expandPathForSchema = (path) => {
845
845
  try {
846
- return path.map((key) => {
846
+ return path.flatMap((key) => {
847
847
  switch (typeof key) {
848
848
  case `string`:
849
849
  return [`properties`, key];
@@ -860,7 +860,7 @@ var expandPathForSchema = (path) => {
860
860
  `The key ${key} is not a valid JSON key; expected string or number, got ${typeof key}`
861
861
  );
862
862
  }
863
- }).flat();
863
+ });
864
864
  } catch (caught) {
865
865
  if (caught instanceof TypeError)
866
866
  return caught;
@@ -1087,6 +1087,7 @@ var PropertyAdder = ({
1087
1087
  Components
1088
1088
  }) => /* @__PURE__ */ jsxs5(Components.MissingPropertyWrapper, { children: [
1089
1089
  /* @__PURE__ */ jsx6(ElasticInput, { disabled: true, defaultValue: propertyKey }),
1090
+ " ",
1090
1091
  /* @__PURE__ */ jsx6(ElasticInput, { disabled: true, defaultValue: "is missing" }),
1091
1092
  /* @__PURE__ */ jsx6(Components.Button, { onClick: () => addProperty(), disabled, children: "+" })
1092
1093
  ] });
@@ -1301,7 +1302,16 @@ var findErrorBoundaryState = atomFamily({
1301
1302
  import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
1302
1303
  var DEFAULT_JSON_EDITOR_COMPONENTS = {
1303
1304
  ErrorBoundary: ({ children }) => /* @__PURE__ */ jsx10(ErrorBoundary, { children }),
1304
- Button: ({ onClick, children, disabled }) => /* @__PURE__ */ jsx10("button", { className: "json_editor_button", onClick, disabled, children }),
1305
+ Button: ({ onClick, children, disabled }) => /* @__PURE__ */ jsx10(
1306
+ "button",
1307
+ {
1308
+ type: "button",
1309
+ className: "json_editor_button",
1310
+ onClick,
1311
+ disabled,
1312
+ children
1313
+ }
1314
+ ),
1305
1315
  EditorWrapper: ({ children, customCss, className }) => /* @__PURE__ */ jsx10("div", { className: `json_editor ` + className, css: customCss, children }),
1306
1316
  EditorLayout: ({
1307
1317
  DeleteButton,
@@ -1430,17 +1440,20 @@ var StoreEditor = ({ storeHooks, token }) => {
1430
1440
  import { Fragment as Fragment4, jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
1431
1441
  var TokenList = ({ storeHooks, tokenIndex }) => {
1432
1442
  const tokenIds = storeHooks.useO(tokenIndex);
1433
- return /* @__PURE__ */ jsx13(Fragment4, { children: Object.entries(tokenIds).map(([key, token]) => /* @__PURE__ */ jsx13(Fragment3, { children: key.startsWith(`\u{1F441}\u200D\u{1F5E8}_`) ? null : /* @__PURE__ */ jsx13("div", { className: "node", children: `type` in token ? /* @__PURE__ */ jsxs9(Fragment4, { children: [
1434
- /* @__PURE__ */ jsx13("label", { onClick: () => console.log(token, getState(token)), children: key }),
1435
- /* @__PURE__ */ jsx13(StoreEditor, { storeHooks, token })
1436
- ] }) : recordToEntries(token.familyMembers).map(([key2, token2]) => /* @__PURE__ */ jsxs9(Fragment4, { children: [
1437
- /* @__PURE__ */ jsx13("label", { children: key2 }),
1438
- /* @__PURE__ */ jsxs9("div", { className: "node", children: [
1439
- key2,
1440
- ":",
1441
- /* @__PURE__ */ jsx13(StoreEditor, { storeHooks, token: token2 })
1442
- ] }, key2)
1443
- ] })) }) }, key)) });
1443
+ return /* @__PURE__ */ jsx13(Fragment4, { children: Object.entries(tokenIds).map(([key, token]) => {
1444
+ let logState;
1445
+ return /* @__PURE__ */ jsx13(Fragment3, { children: key.startsWith(`\u{1F441}\u200D\u{1F5E8}_`) ? null : /* @__PURE__ */ jsx13("div", { className: "node", children: `type` in token ? (logState = () => console.log(token, getState(token)), /* @__PURE__ */ jsxs9(Fragment4, { children: [
1446
+ /* @__PURE__ */ jsx13("label", { onClick: logState, onKeyUp: logState, children: key }),
1447
+ /* @__PURE__ */ jsx13(StoreEditor, { storeHooks, token })
1448
+ ] })) : recordToEntries(token.familyMembers).map(([key2, token2]) => /* @__PURE__ */ jsxs9(Fragment4, { children: [
1449
+ /* @__PURE__ */ jsx13("label", { children: key2 }),
1450
+ /* @__PURE__ */ jsxs9("div", { className: "node", children: [
1451
+ key2,
1452
+ ":",
1453
+ /* @__PURE__ */ jsx13(StoreEditor, { storeHooks, token: token2 })
1454
+ ] }, key2)
1455
+ ] })) }) }, key);
1456
+ }) });
1444
1457
  };
1445
1458
 
1446
1459
  // ../src/web-effects/storage.ts
@@ -1529,6 +1542,7 @@ var composeDevtools = (storeHooks) => {
1529
1542
  /* @__PURE__ */ jsx14("footer", { children: /* @__PURE__ */ jsx14(
1530
1543
  "button",
1531
1544
  {
1545
+ type: "button",
1532
1546
  onMouseDown: () => mouseHasMoved.current = false,
1533
1547
  onMouseMove: () => mouseHasMoved.current = true,
1534
1548
  onMouseUp: () => {