atom.io 0.12.0 → 0.13.0

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 (81) hide show
  1. package/dist/index.cjs.map +1 -1
  2. package/dist/index.d.cts +6 -3
  3. package/dist/index.d.ts +6 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/metafile-cjs.json +1 -1
  6. package/dist/metafile-esm.json +1 -1
  7. package/internal/dist/index.cjs +1579 -1498
  8. package/internal/dist/index.cjs.map +1 -1
  9. package/internal/dist/index.d.cts +34 -14
  10. package/internal/dist/index.d.ts +34 -14
  11. package/internal/dist/index.js +1577 -1499
  12. package/internal/dist/index.js.map +1 -1
  13. package/internal/dist/metafile-cjs.json +1 -1
  14. package/internal/dist/metafile-esm.json +1 -1
  15. package/internal/src/atom/create-atom.ts +4 -4
  16. package/internal/src/atom/delete-atom.ts +11 -11
  17. package/internal/src/atom/is-default.ts +5 -5
  18. package/internal/src/caching.ts +12 -10
  19. package/internal/src/families/create-atom-family.ts +3 -3
  20. package/internal/src/families/create-readonly-selector-family.ts +3 -3
  21. package/internal/src/families/create-selector-family.ts +4 -4
  22. package/internal/src/index.ts +4 -2
  23. package/internal/src/keys.ts +4 -4
  24. package/internal/src/lazy-map.ts +37 -0
  25. package/internal/src/lineage.ts +18 -0
  26. package/internal/src/mutable/create-mutable-atom.ts +5 -4
  27. package/internal/src/mutable/get-json-family.ts +3 -3
  28. package/internal/src/mutable/tracker.ts +13 -10
  29. package/internal/src/operation.ts +19 -19
  30. package/internal/src/selector/create-read-write-selector.ts +5 -4
  31. package/internal/src/selector/create-readonly-selector.ts +4 -3
  32. package/internal/src/selector/create-selector.ts +6 -6
  33. package/internal/src/selector/delete-selector.ts +10 -10
  34. package/internal/src/selector/get-selector-dependency-keys.ts +2 -2
  35. package/internal/src/selector/register-selector.ts +4 -4
  36. package/internal/src/selector/update-selector-atoms.ts +2 -2
  37. package/internal/src/set-state/copy-mutable-if-needed.ts +4 -3
  38. package/internal/src/set-state/copy-mutable-in-transaction.ts +10 -16
  39. package/internal/src/set-state/copy-mutable-into-new-store.ts +1 -1
  40. package/internal/src/set-state/evict-downstream.ts +5 -5
  41. package/internal/src/set-state/set-atom.ts +6 -1
  42. package/internal/src/set-state/stow-update.ts +7 -2
  43. package/internal/src/store/store.ts +31 -24
  44. package/internal/src/store/withdraw-new-family-member.ts +3 -4
  45. package/internal/src/store/withdraw.ts +58 -59
  46. package/internal/src/subject.ts +14 -0
  47. package/internal/src/subscribe/recall-state.ts +5 -5
  48. package/internal/src/timeline/add-atom-to-timeline.ts +37 -27
  49. package/internal/src/timeline/create-timeline.ts +6 -8
  50. package/internal/src/timeline/time-travel.ts +22 -4
  51. package/internal/src/transaction/abort-transaction.ts +5 -3
  52. package/internal/src/transaction/apply-transaction.ts +80 -58
  53. package/internal/src/transaction/build-transaction.ts +34 -23
  54. package/internal/src/transaction/create-transaction.ts +6 -9
  55. package/internal/src/transaction/index.ts +2 -10
  56. package/internal/src/transaction/redo-transaction.ts +15 -10
  57. package/internal/src/transaction/undo-transaction.ts +15 -16
  58. package/introspection/dist/index.cjs +2 -2
  59. package/introspection/dist/index.cjs.map +1 -1
  60. package/introspection/dist/index.js +3 -3
  61. package/introspection/dist/index.js.map +1 -1
  62. package/introspection/src/attach-atom-index.ts +2 -2
  63. package/introspection/src/attach-selector-index.ts +2 -2
  64. package/package.json +3 -3
  65. package/react-devtools/dist/index.cjs +22 -8
  66. package/react-devtools/dist/index.cjs.map +1 -1
  67. package/react-devtools/dist/index.d.cts +17 -9
  68. package/react-devtools/dist/index.d.ts +17 -9
  69. package/react-devtools/dist/index.js +22 -8
  70. package/react-devtools/dist/index.js.map +1 -1
  71. package/react-devtools/dist/metafile-cjs.json +1 -1
  72. package/react-devtools/dist/metafile-esm.json +1 -1
  73. package/react-devtools/src/Updates.tsx +22 -10
  74. package/src/transaction.ts +7 -2
  75. package/transceivers/set-rtx/dist/index.cjs.map +1 -1
  76. package/transceivers/set-rtx/dist/index.d.cts +2 -2
  77. package/transceivers/set-rtx/dist/index.d.ts +2 -2
  78. package/transceivers/set-rtx/dist/index.js.map +1 -1
  79. package/transceivers/set-rtx/dist/metafile-cjs.json +1 -1
  80. package/transceivers/set-rtx/dist/metafile-esm.json +1 -1
  81. package/transceivers/set-rtx/src/set-rtx.ts +3 -3
@@ -1 +1 @@
1
- {"inputs":{"../__unstable__/web-effects/src/storage.ts":{"bytes":721,"imports":[],"format":"esm"},"../__unstable__/web-effects/src/index.ts":{"bytes":26,"imports":[{"path":"../__unstable__/web-effects/src/storage.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"../../anvl/src/function/curry.ts":{"bytes":3368,"imports":[],"format":"esm"},"../../anvl/src/function/pipe.ts":{"bytes":6357,"imports":[],"format":"esm"},"../../anvl/src/function/index.ts":{"bytes":1737,"imports":[{"path":"../../anvl/src/function/curry.ts","kind":"import-statement","original":"./curry"},{"path":"../../anvl/src/function/pipe.ts","kind":"import-statement","original":"./pipe"}],"format":"esm"},"../../anvl/src/array/match.ts":{"bytes":696,"imports":[],"format":"esm"},"../../anvl/src/array/venn.ts":{"bytes":1033,"imports":[],"format":"esm"},"../../anvl/src/array/index.ts":{"bytes":2489,"imports":[{"path":"../../anvl/src/array/match.ts","kind":"import-statement","original":"./match"},{"path":"../../anvl/src/array/venn.ts","kind":"import-statement","original":"./venn"}],"format":"esm"},"../../anvl/src/nullish/index.ts":{"bytes":941,"imports":[],"format":"esm"},"../../anvl/src/object/access.ts":{"bytes":381,"imports":[],"format":"esm"},"../../anvl/src/object/entries.ts":{"bytes":348,"imports":[],"format":"esm"},"../../anvl/src/object/mapObject.ts":{"bytes":496,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"}],"format":"esm"},"../../anvl/src/object/refinement.ts":{"bytes":2473,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"../nullish"},{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"./access"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"},{"path":"../../anvl/src/object/mapObject.ts","kind":"import-statement","original":"./mapObject"}],"format":"esm"},"../../anvl/src/object/sprawl.ts":{"bytes":1069,"imports":[{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"}],"format":"esm"},"../../anvl/src/object/deepMob.ts":{"bytes":1322,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/object/sprawl.ts","kind":"import-statement","original":"./sprawl"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/object/modify.ts":{"bytes":745,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/object/patch.ts":{"bytes":940,"imports":[{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"./access"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/object/sprawl.ts","kind":"import-statement","original":"./sprawl"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/object/index.ts":{"bytes":3846,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"../nullish"},{"path":"../../anvl/src/object/deepMob.ts","kind":"import-statement","original":"./deepMob"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"./access"},{"path":"../../anvl/src/object/deepMob.ts","kind":"import-statement","original":"./deepMob"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"},{"path":"../../anvl/src/object/mapObject.ts","kind":"import-statement","original":"./mapObject"},{"path":"../../anvl/src/object/modify.ts","kind":"import-statement","original":"./modify"},{"path":"../../anvl/src/object/patch.ts","kind":"import-statement","original":"./patch"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/object/sprawl.ts","kind":"import-statement","original":"./sprawl"}],"format":"esm"},"../../anvl/src/refinement/refinery.ts":{"bytes":1896,"imports":[{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"}],"format":"esm"},"../../anvl/src/tree/differ.ts":{"bytes":4225,"imports":[{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"../refinement/refinery"}],"format":"esm"},"../../anvl/src/json/json-interface.ts":{"bytes":340,"imports":[],"format":"esm"},"../../anvl/src/json/index.ts":{"bytes":980,"imports":[{"path":"../../anvl/src/json/json-interface.ts","kind":"import-statement","original":"./json-interface"}],"format":"esm"},"../../anvl/src/primitive/index.ts":{"bytes":597,"imports":[],"format":"esm"},"../../anvl/src/refinement/refine-json.ts":{"bytes":1701,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"../json"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"}],"format":"esm"},"src/Button.tsx":{"bytes":474,"imports":[{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/refinement/refined.ts":{"bytes":1094,"imports":[],"format":"esm"},"../../anvl/src/refinement/refinement.ts":{"bytes":64,"imports":[],"format":"esm"},"../../anvl/src/refinement/can-exist.ts":{"bytes":59,"imports":[],"format":"esm"},"../../anvl/src/refinement/cannot-exist.ts":{"bytes":61,"imports":[],"format":"esm"},"../../anvl/src/refinement/is-class.ts":{"bytes":224,"imports":[],"format":"esm"},"../../anvl/src/refinement/is-union.ts":{"bytes":1275,"imports":[{"path":"../../anvl/src/refinement/cannot-exist.ts","kind":"import-statement","original":"./cannot-exist"}],"format":"esm"},"../../anvl/src/refinement/is-intersection.ts":{"bytes":1294,"imports":[{"path":"../../anvl/src/refinement/can-exist.ts","kind":"import-statement","original":"./can-exist"}],"format":"esm"},"../../anvl/src/refinement/index.ts":{"bytes":1072,"imports":[{"path":"../../anvl/src/refinement/refined.ts","kind":"import-statement","original":"./refined"},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"./refinery"},{"path":"../../anvl/src/refinement/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/refinement/can-exist.ts","kind":"import-statement","original":"./can-exist"},{"path":"../../anvl/src/refinement/cannot-exist.ts","kind":"import-statement","original":"./cannot-exist"},{"path":"../../anvl/src/refinement/is-class.ts","kind":"import-statement","original":"./is-class"},{"path":"../../anvl/src/refinement/is-union.ts","kind":"import-statement","original":"./is-union"},{"path":"../../anvl/src/refinement/is-intersection.ts","kind":"import-statement","original":"./is-intersection"}],"format":"esm"},"../../anvl/src/join/core-relation-data.ts":{"bytes":1653,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/refinement/index.ts","kind":"import-statement","original":"../refinement"}],"format":"esm"},"../../anvl/src/join/get-related-ids.ts":{"bytes":693,"imports":[],"format":"esm"},"../../anvl/src/join/make-json-interface.ts":{"bytes":763,"imports":[{"path":"../../anvl/src/join/index.ts","kind":"import-statement","original":"."}],"format":"esm"},"../../anvl/src/join/relation-record.ts":{"bytes":754,"imports":[{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/relation-contents.ts","kind":"import-statement","original":"./relation-contents"}],"format":"esm"},"../../anvl/src/string/split.ts":{"bytes":96,"imports":[],"format":"esm"},"../../anvl/src/join/remove-relation.ts":{"bytes":2395,"imports":[{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/array/venn.ts","kind":"import-statement","original":"../array/venn"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"../object/entries"},{"path":"../../anvl/src/string/split.ts","kind":"import-statement","original":"../string/split"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/join/set-relation.ts":{"bytes":2985,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/relation-contents.ts","kind":"import-statement","original":"./relation-contents"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/join/relation-contents.ts":{"bytes":3068,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/relation-record.ts","kind":"import-statement","original":"./relation-record"},{"path":"../../anvl/src/join/remove-relation.ts","kind":"import-statement","original":"./remove-relation"},{"path":"../../anvl/src/join/set-relation.ts","kind":"import-statement","original":"./set-relation"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/join/index.ts":{"bytes":3681,"imports":[{"path":"../../anvl/src/join/core-relation-data.ts","kind":"import-statement","original":"./core-relation-data"},{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/make-json-interface.ts","kind":"import-statement","original":"./make-json-interface"},{"path":"../../anvl/src/join/relation-contents.ts","kind":"import-statement","original":"./relation-contents"},{"path":"../../anvl/src/join/relation-record.ts","kind":"import-statement","original":"./relation-record"},{"path":"../../anvl/src/join/remove-relation.ts","kind":"import-statement","original":"./remove-relation"},{"path":"../../anvl/src/join/set-relation.ts","kind":"import-statement","original":"./set-relation"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-elastic-input/ElasticInput.tsx":{"bytes":1736,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/number/clamp.ts":{"bytes":179,"imports":[],"format":"esm"},"../../anvl/src/number/wrap.ts":{"bytes":226,"imports":[],"format":"esm"},"../../anvl/src/number/index.ts":{"bytes":47,"imports":[{"path":"../../anvl/src/number/clamp.ts","kind":"import-statement","original":"./clamp"},{"path":"../../anvl/src/number/wrap.ts","kind":"import-statement","original":"./wrap"}],"format":"esm"},"../../hamr/src/react-elastic-input/NumberInput.tsx":{"bytes":5419,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"."},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-elastic-input/TextInput.tsx":{"bytes":890,"imports":[{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"."},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-elastic-input/index.ts":{"bytes":89,"imports":[{"path":"../../hamr/src/react-elastic-input/ElasticInput.tsx","kind":"import-statement","original":"./ElasticInput"},{"path":"../../hamr/src/react-elastic-input/NumberInput.tsx","kind":"import-statement","original":"./NumberInput"},{"path":"../../hamr/src/react-elastic-input/TextInput.tsx","kind":"import-statement","original":"./TextInput"}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/non-json.tsx":{"bytes":415,"imports":[{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../../react-elastic-input"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/json-editor-internal.tsx":{"bytes":3118,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refine-json"},{"path":"../../hamr/src/react-json-editor/index.ts","kind":"import-statement","original":"."},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../react-elastic-input"},{"path":"../../hamr/src/react-json-editor/editors-by-type/non-json.tsx","kind":"import-statement","original":"./editors-by-type/non-json"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts":{"bytes":467,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx":{"bytes":893,"imports":[{"path":"../../hamr/src/react-json-editor/json-editor-internal.tsx","kind":"import-statement","original":"../json-editor-internal"},{"path":"../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts","kind":"import-statement","original":"./utilities/array-elements"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/json-schema/integer.ts":{"bytes":3080,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"}],"format":"esm"},"../../anvl/src/json-schema/refs.ts":{"bytes":1920,"imports":[{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/json-schema/integer.ts","kind":"import-statement","original":"./integer"},{"path":"../../anvl/src/json-schema/json-schema.ts","kind":"import-statement","original":"./json-schema"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/json-schema/string-formats.ts":{"bytes":3571,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"}],"format":"esm"},"../../anvl/src/json-schema/json-schema.ts":{"bytes":10525,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"../json"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"../nullish"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/refinement/index.ts","kind":"import-statement","original":"../refinement"},{"path":"../../anvl/src/json-schema/integer.ts","kind":"import-statement","original":"./integer"},{"path":"../../anvl/src/json-schema/refs.ts","kind":"import-statement","original":"./refs"},{"path":"../../anvl/src/json-schema/string-formats.ts","kind":"import-statement","original":"./string-formats"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/json-schema/path-into.ts":{"bytes":659,"imports":[],"format":"esm"},"../../anvl/src/json-schema/find-sub-schema.ts":{"bytes":1361,"imports":[{"path":"../../anvl/src/json-schema/json-schema.ts","kind":"import-statement","original":"./json-schema"},{"path":"../../anvl/src/json-schema/path-into.ts","kind":"import-statement","original":"./path-into"},{"path":"../../anvl/src/json-schema/refs.ts","kind":"import-statement","original":"./refs"}],"format":"esm"},"../../anvl/src/json/cast-json.ts":{"bytes":2123,"imports":[],"format":"esm"},"../../anvl/src/refinement/smart-cast-json.ts":{"bytes":2462,"imports":[{"path":"../../anvl/src/json/cast-json.ts","kind":"import-statement","original":"../json/cast-json"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"./refine-json"}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/utilities/object-properties.ts":{"bytes":3311,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"~/packages/anvl/src/json"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"~/packages/anvl/src/object"},{"path":"../../anvl/src/refinement/smart-cast-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/smart-cast-json"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx":{"bytes":4651,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/json-schema/find-sub-schema.ts","kind":"import-statement","original":"~/packages/anvl/src/json-schema/find-sub-schema"},{"path":"../../anvl/src/json-schema/json-schema.ts","kind":"import-statement","original":"~/packages/anvl/src/json-schema/json-schema"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"~/packages/anvl/src/object/refinement"},{"path":"../../anvl/src/refinement/index.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement"},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../../react-elastic-input"},{"path":"../../hamr/src/react-json-editor/json-editor-internal.tsx","kind":"import-statement","original":"../json-editor-internal"},{"path":"../../hamr/src/react-json-editor/editors-by-type/utilities/object-properties.ts","kind":"import-statement","original":"./utilities/object-properties"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx":{"bytes":1286,"imports":[{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../../react-elastic-input"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-error-boundary/DefaultFallback.tsx":{"bytes":1135,"imports":[{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx":{"bytes":2093,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../hamr/src/react-error-boundary/DefaultFallback.tsx","kind":"import-statement","original":"./DefaultFallback"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-error-boundary/test-utils.ts":{"bytes":246,"imports":[],"format":"esm"},"../../hamr/src/react-error-boundary/index.ts":{"bytes":100,"imports":[{"path":"../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx","kind":"import-statement","original":"./ReactErrorBoundary"},{"path":"../../hamr/src/react-error-boundary/DefaultFallback.tsx","kind":"import-statement","original":"./DefaultFallback"},{"path":"../../hamr/src/react-error-boundary/test-utils.ts","kind":"import-statement","original":"./test-utils"}],"format":"esm"},"../../hamr/src/react-json-editor/default-components.tsx":{"bytes":3220,"imports":[{"path":"../../hamr/src/react-error-boundary/index.ts","kind":"import-statement","original":"../react-error-boundary"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/developer-interface.tsx":{"bytes":2254,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../hamr/src/react-json-editor/default-components.tsx","kind":"import-statement","original":"./default-components"},{"path":"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx","kind":"import-statement","original":"./editors-by-type/array-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx","kind":"import-statement","original":"./editors-by-type/object-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx","kind":"import-statement","original":"./editors-by-type/primitive-editors"},{"path":"../../hamr/src/react-json-editor/json-editor-internal.tsx","kind":"import-statement","original":"./json-editor-internal"},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/index.ts":{"bytes":705,"imports":[{"path":"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx","kind":"import-statement","original":"./editors-by-type/array-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx","kind":"import-statement","original":"./editors-by-type/object-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx","kind":"import-statement","original":"./editors-by-type/primitive-editors"},{"path":"../../hamr/src/react-json-editor/default-components.tsx","kind":"import-statement","original":"./default-components"},{"path":"../../hamr/src/react-json-editor/developer-interface.tsx","kind":"import-statement","original":"./developer-interface"}],"format":"esm"},"../../hamr/src/react-data-designer/DataDesigner.tsx":{"bytes":1234,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../react-id","kind":"import-statement","external":true},{"path":"../../hamr/src/react-json-editor/index.ts","kind":"import-statement","original":"../react-json-editor"},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/string/string-to-color.ts":{"bytes":436,"imports":[],"format":"esm"},"../../luum/src/constants/index.ts":{"bytes":292,"imports":[],"format":"esm"},"../../luum/src/constants/filters.ts":{"bytes":368,"imports":[],"format":"esm"},"../../luum/src/constants/schemes.ts":{"bytes":2802,"imports":[],"format":"esm"},"../../luum/src/export/channelsToHex.ts":{"bytes":341,"imports":[],"format":"esm"},"../../luum/src/import/hueToRelativeChannels.ts":{"bytes":4439,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"}],"format":"esm"},"../../luum/src/solveFor/hueFromChannels.ts":{"bytes":525,"imports":[],"format":"esm"},"../../luum/src/solveFor/lumFromChannels.ts":{"bytes":389,"imports":[{"path":"../../luum/src/constants/index.ts","kind":"import-statement","original":"../constants"}],"format":"esm"},"../../luum/src/solveFor/maxSatForHueInFilter.ts":{"bytes":1202,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"}],"format":"esm"},"../../luum/src/solveFor/satFromChannels.ts":{"bytes":259,"imports":[],"format":"esm"},"../../luum/src/solveFor/specificLumFromHue.ts":{"bytes":433,"imports":[{"path":"../../luum/src/constants/index.ts","kind":"import-statement","original":"../constants"},{"path":"../../luum/src/import/hueToRelativeChannels.ts","kind":"import-statement","original":"../import/hueToRelativeChannels"}],"format":"esm"},"../../luum/src/solveFor/index.ts":{"bytes":366,"imports":[{"path":"../../luum/src/solveFor/hueFromChannels.ts","kind":"import-statement","original":"./hueFromChannels"},{"path":"../../luum/src/solveFor/lumFromChannels.ts","kind":"import-statement","original":"./lumFromChannels"},{"path":"../../luum/src/solveFor/maxSatForHueInFilter.ts","kind":"import-statement","original":"./maxSatForHueInFilter"},{"path":"../../luum/src/solveFor/satFromChannels.ts","kind":"import-statement","original":"./satFromChannels"},{"path":"../../luum/src/solveFor/specificLumFromHue.ts","kind":"import-statement","original":"./specificLumFromHue"}],"format":"esm"},"../../luum/src/export/specToChannelsFixLimit.ts":{"bytes":3105,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"},{"path":"../../luum/src/constants/filters.ts","kind":"import-statement","original":"../constants/filters"},{"path":"../../luum/src/import/hueToRelativeChannels.ts","kind":"import-statement","original":"../import/hueToRelativeChannels"},{"path":"../../luum/src/solveFor/index.ts","kind":"import-statement","original":"../solveFor"}],"format":"esm"},"../../luum/src/export/specToHexFixLimit.ts":{"bytes":674,"imports":[{"path":"../../luum/src/export/channelsToHex.ts","kind":"import-statement","original":"./channelsToHex"},{"path":"../../luum/src/export/specToChannelsFixLimit.ts","kind":"import-statement","original":"./specToChannelsFixLimit"}],"format":"esm"},"../../luum/src/export/specToHex.ts":{"bytes":317,"imports":[{"path":"../../luum/src/export/specToHexFixLimit.ts","kind":"import-statement","original":"./specToHexFixLimit"}],"format":"esm"},"../../luum/src/export/index.ts":{"bytes":129,"imports":[{"path":"../../luum/src/export/specToHex.ts","kind":"import-statement","original":"./specToHex"},{"path":"../../luum/src/export/specToHexFixLimit.ts","kind":"import-statement","original":"./specToHexFixLimit"}],"format":"esm"},"../../luum/src/identify/hue.ts":{"bytes":997,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"}],"format":"esm"},"../../luum/src/identify/index.ts":{"bytes":22,"imports":[{"path":"../../luum/src/identify/hue.ts","kind":"import-statement","original":"./hue"}],"format":"esm"},"../../luum/src/import/channelsToSpec.ts":{"bytes":391,"imports":[{"path":"../../luum/src/solveFor/index.ts","kind":"import-statement","original":"../solveFor"}],"format":"esm"},"../../luum/src/import/normalizeHex.ts":{"bytes":747,"imports":[],"format":"esm"},"../../luum/src/import/hexToChannels.ts":{"bytes":297,"imports":[{"path":"../../luum/src/import/normalizeHex.ts","kind":"import-statement","original":"./normalizeHex"}],"format":"esm"},"../../luum/src/import/hexToSpec.ts":{"bytes":312,"imports":[{"path":"../../luum/src/import/channelsToSpec.ts","kind":"import-statement","original":"./channelsToSpec"},{"path":"../../luum/src/import/hexToChannels.ts","kind":"import-statement","original":"./hexToChannels"}],"format":"esm"},"../../luum/src/import/index.ts":{"bytes":324,"imports":[{"path":"../../luum/src/import/channelsToSpec.ts","kind":"import-statement","original":"./channelsToSpec"},{"path":"../../luum/src/import/hexToChannels.ts","kind":"import-statement","original":"./hexToChannels"},{"path":"../../luum/src/import/hexToSpec.ts","kind":"import-statement","original":"./hexToSpec"},{"path":"../../luum/src/import/hueToRelativeChannels.ts","kind":"import-statement","original":"./hueToRelativeChannels"},{"path":"../../luum/src/import/normalizeHex.ts","kind":"import-statement","original":"./normalizeHex"}],"format":"esm"},"../../luum/src/mixers/lum.ts":{"bytes":1177,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/number/clamp.ts","kind":"import-statement","original":"~/packages/anvl/src/number/clamp"},{"path":"../../luum/src/index.ts","kind":"import-statement","original":".."},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/sat.ts":{"bytes":887,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/number/clamp.ts","kind":"import-statement","original":"~/packages/anvl/src/number/clamp"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/luum.ts":{"bytes":1204,"imports":[{"path":"../../luum/src/index.ts","kind":"import-statement","original":"~/packages/luum/src"},{"path":"../../luum/src/mixers/lum.ts","kind":"import-statement","original":"./mixers/lum"},{"path":"../../luum/src/mixers/sat.ts","kind":"import-statement","original":"./mixers/sat"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/hue.ts":{"bytes":815,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/number/wrap.ts","kind":"import-statement","original":"~/packages/anvl/src/number/wrap"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/contrast.ts":{"bytes":765,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/index.ts":{"bytes":250,"imports":[{"path":"../../luum/src/mixers/hue.ts","kind":"import-statement","original":"./hue"},{"path":"../../luum/src/mixers/sat.ts","kind":"import-statement","original":"./sat"},{"path":"../../luum/src/mixers/lum.ts","kind":"import-statement","original":"./lum"},{"path":"../../luum/src/mixers/contrast.ts","kind":"import-statement","original":"./contrast"}],"format":"esm"},"../../luum/src/constants/luum-spec.ts":{"bytes":137,"imports":[],"format":"esm"},"../../luum/src/scheme/index.ts":{"bytes":9821,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"~/packages/anvl/src/array"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"~/packages/anvl/src/nullish"},{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"~/packages/anvl/src/object/access"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"~/packages/anvl/src/primitive"},{"path":"../../luum/src/index.ts","kind":"import-statement","original":"~/packages/luum/src"},{"path":"../../luum/src/constants/luum-spec.ts","kind":"import-statement","original":"~/packages/luum/src/constants/luum-spec"},{"path":"../../luum/src/mixers/lum.ts","kind":"import-statement","original":"~/packages/luum/src/mixers/lum"}],"format":"esm"},"../../luum/src/utils/interpolate.ts":{"bytes":480,"imports":[],"format":"esm"},"../../luum/src/utils/index.ts":{"bytes":64,"imports":[{"path":"../../luum/src/utils/interpolate.ts","kind":"import-statement","original":"./interpolate"}],"format":"esm"},"../../luum/src/index.ts":{"bytes":938,"imports":[{"path":"../../luum/src/constants/index.ts","kind":"import-statement","original":"./constants"},{"path":"../../luum/src/constants/filters.ts","kind":"import-statement","original":"./constants/filters"},{"path":"../../luum/src/constants/schemes.ts","kind":"import-statement","original":"./constants/schemes"},{"path":"../../luum/src/export/index.ts","kind":"import-statement","original":"./export"},{"path":"../../luum/src/identify/index.ts","kind":"import-statement","original":"./identify"},{"path":"../../luum/src/import/index.ts","kind":"import-statement","original":"./import"},{"path":"../../luum/src/luum.ts","kind":"import-statement","original":"./luum"},{"path":"../../luum/src/mixers/index.ts","kind":"import-statement","original":"./mixers"},{"path":"../../luum/src/scheme/index.ts","kind":"import-statement","original":"./scheme"},{"path":"../../luum/src/solveFor/index.ts","kind":"import-statement","original":"./solveFor"},{"path":"../../luum/src/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"../../luum/src/luum.ts","kind":"import-statement","original":"./luum"}],"format":"esm"},"../../hamr/src/react-id/Id.tsx":{"bytes":1669,"imports":[{"path":"@floating-ui/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/string/string-to-color.ts","kind":"import-statement","original":"~/packages/anvl/src/string/string-to-color"},{"path":"../../luum/src/index.ts","kind":"import-statement","original":"~/packages/luum/src"},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-id/index.ts":{"bytes":21,"imports":[{"path":"../../hamr/src/react-id/Id.tsx","kind":"import-statement","original":"./Id"}],"format":"esm"},"../../hamr/src/react-data-designer/RelationEditor.module.scss":{"bytes":242,"imports":[]},"../../hamr/src/react-data-designer/RelationEditor.tsx":{"bytes":882,"imports":[{"path":"../../hamr/src/react-id/index.ts","kind":"import-statement","original":"../react-id"},{"path":"../../hamr/src/react-data-designer/RelationEditor.module.scss","kind":"import-statement","original":"./RelationEditor.module.scss"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-data-designer/index.ts":{"bytes":64,"imports":[{"path":"../../hamr/src/react-data-designer/DataDesigner.tsx","kind":"import-statement","original":"./DataDesigner"},{"path":"../../hamr/src/react-data-designer/RelationEditor.tsx","kind":"import-statement","original":"./RelationEditor"}],"format":"esm"},"src/StateEditor.tsx":{"bytes":2064,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/join/index.ts","kind":"import-statement","original":"~/packages/anvl/src/join"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refine-json"},{"path":"../../hamr/src/react-data-designer/index.ts","kind":"import-statement","original":"~/packages/hamr/src/react-data-designer"},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"~/packages/hamr/src/react-elastic-input"},{"path":"../../hamr/src/react-json-editor/index.ts","kind":"import-statement","original":"~/packages/hamr/src/react-json-editor"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/StateIndex.tsx":{"bytes":4130,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"~/packages/anvl/src/object"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refine-json"},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/Button.tsx","kind":"import-statement","original":"./Button"},{"path":"src/StateEditor.tsx","kind":"import-statement","original":"./StateEditor"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/Updates.tsx":{"bytes":4003,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refinery"},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/TimelineIndex.tsx":{"bytes":2346,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/Button.tsx","kind":"import-statement","original":"./Button"},{"path":"src/Updates.tsx","kind":"import-statement","original":"./Updates"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/TransactionIndex.tsx":{"bytes":1616,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/Button.tsx","kind":"import-statement","original":"./Button"},{"path":"src/Updates.tsx","kind":"import-statement","original":"./Updates"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/devtools.scss":{"bytes":6924,"imports":[]},"src/AtomIODevtools.tsx":{"bytes":2680,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"framer-motion","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/StateIndex.tsx","kind":"import-statement","original":"./StateIndex"},{"path":"src/TimelineIndex.tsx","kind":"import-statement","original":"./TimelineIndex"},{"path":"src/TransactionIndex.tsx","kind":"import-statement","original":"./TransactionIndex"},{"path":"src/devtools.scss","kind":"import-statement","original":"./devtools.scss"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":2236,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/introspection","kind":"import-statement","external":true},{"path":"../__unstable__/web-effects/src/index.ts","kind":"import-statement","original":"~/packages/atom.io/__unstable__/web-effects/src"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"~/packages/anvl/src/object"},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refinery"},{"path":"../../anvl/src/tree/differ.ts","kind":"import-statement","original":"~/packages/anvl/src/tree/differ"},{"path":"src/AtomIODevtools.tsx","kind":"import-statement","original":"./AtomIODevtools"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":243237},"dist/index.js":{"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/introspection","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"framer-motion","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":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"@floating-ui/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AtomIODevtools","atomIndex","devtoolsAreOpenState","devtoolsViewOptionsState","devtoolsViewSelectionState","findTimelineState","findTransactionLogState","findViewIsOpenState","jsonTreeRefinery","prettyJson","primitiveRefinery","selectorIndex","timelineIndex","transactionIndex"],"entryPoint":"src/index.ts","cssBundle":"dist/index.css","inputs":{"src/index.ts":{"bytesInOutput":1643},"../__unstable__/web-effects/src/storage.ts":{"bytesInOutput":418},"../../anvl/src/function/index.ts":{"bytesInOutput":809},"../../anvl/src/function/pipe.ts":{"bytesInOutput":654},"../../anvl/src/array/index.ts":{"bytesInOutput":419},"../../anvl/src/array/venn.ts":{"bytesInOutput":239},"../../anvl/src/nullish/index.ts":{"bytesInOutput":192},"../../anvl/src/object/access.ts":{"bytesInOutput":79},"../../anvl/src/object/entries.ts":{"bytesInOutput":116},"../../anvl/src/object/mapObject.ts":{"bytesInOutput":173},"../../anvl/src/object/refinement.ts":{"bytesInOutput":1301},"../../anvl/src/object/sprawl.ts":{"bytesInOutput":759},"../../anvl/src/object/index.ts":{"bytesInOutput":426},"../../anvl/src/refinement/refinery.ts":{"bytesInOutput":1095},"../../anvl/src/tree/differ.ts":{"bytesInOutput":3160},"src/AtomIODevtools.tsx":{"bytesInOutput":3150},"src/StateIndex.tsx":{"bytesInOutput":3833},"../../anvl/src/json/index.ts":{"bytesInOutput":258},"../../anvl/src/primitive/index.ts":{"bytesInOutput":203},"../../anvl/src/refinement/refine-json.ts":{"bytesInOutput":926},"src/Button.tsx":{"bytesInOutput":364},"src/StateEditor.tsx":{"bytesInOutput":1555},"../../anvl/src/refinement/index.ts":{"bytesInOutput":113},"../../anvl/src/refinement/can-exist.ts":{"bytesInOutput":28},"../../anvl/src/refinement/cannot-exist.ts":{"bytesInOutput":32},"../../anvl/src/refinement/is-union.ts":{"bytesInOutput":783},"../../anvl/src/refinement/is-intersection.ts":{"bytesInOutput":731},"../../anvl/src/join/core-relation-data.ts":{"bytesInOutput":567},"../../anvl/src/join/get-related-ids.ts":{"bytesInOutput":371},"../../anvl/src/join/make-json-interface.ts":{"bytesInOutput":287},"../../anvl/src/join/relation-record.ts":{"bytesInOutput":243},"../../anvl/src/string/split.ts":{"bytesInOutput":58},"../../anvl/src/join/remove-relation.ts":{"bytesInOutput":1352},"../../anvl/src/join/set-relation.ts":{"bytesInOutput":2176},"../../anvl/src/join/relation-contents.ts":{"bytesInOutput":1885},"../../anvl/src/join/index.ts":{"bytesInOutput":1709},"../../hamr/src/react-elastic-input/ElasticInput.tsx":{"bytesInOutput":1993},"../../hamr/src/react-elastic-input/NumberInput.tsx":{"bytesInOutput":4193},"../../anvl/src/number/clamp.ts":{"bytesInOutput":88},"../../anvl/src/number/wrap.ts":{"bytesInOutput":125},"../../hamr/src/react-elastic-input/TextInput.tsx":{"bytesInOutput":759},"../../hamr/src/react-json-editor/editors-by-type/non-json.tsx":{"bytesInOutput":358},"../../hamr/src/react-json-editor/json-editor-internal.tsx":{"bytesInOutput":1820},"../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts":{"bytesInOutput":201},"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx":{"bytesInOutput":610},"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx":{"bytesInOutput":3691},"../../anvl/src/json-schema/integer.ts":{"bytesInOutput":1365},"../../anvl/src/json-schema/refs.ts":{"bytesInOutput":1253},"../../anvl/src/json-schema/string-formats.ts":{"bytesInOutput":184},"../../anvl/src/json-schema/json-schema.ts":{"bytesInOutput":4781},"../../anvl/src/json-schema/path-into.ts":{"bytesInOutput":701},"../../anvl/src/json-schema/find-sub-schema.ts":{"bytesInOutput":1117},"../../anvl/src/json/cast-json.ts":{"bytesInOutput":1396},"../../anvl/src/refinement/smart-cast-json.ts":{"bytesInOutput":2461},"../../hamr/src/react-json-editor/editors-by-type/utilities/object-properties.ts":{"bytesInOutput":1497},"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx":{"bytesInOutput":1039},"../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx":{"bytesInOutput":661},"../../hamr/src/react-error-boundary/DefaultFallback.tsx":{"bytesInOutput":1549},"../../hamr/src/react-json-editor/default-components.tsx":{"bytesInOutput":2644},"../../hamr/src/react-json-editor/index.ts":{"bytesInOutput":161},"../../hamr/src/react-json-editor/developer-interface.tsx":{"bytesInOutput":670},"../../hamr/src/react-id/Id.tsx":{"bytesInOutput":1882},"../../anvl/src/string/string-to-color.ts":{"bytesInOutput":329},"../../luum/src/constants/index.ts":{"bytesInOutput":61},"../../luum/src/index.ts":{"bytesInOutput":0},"../../luum/src/constants/filters.ts":{"bytesInOutput":71},"../../luum/src/export/channelsToHex.ts":{"bytesInOutput":265},"../../luum/src/import/hueToRelativeChannels.ts":{"bytesInOutput":585},"../../luum/src/solveFor/hueFromChannels.ts":{"bytesInOutput":498},"../../luum/src/solveFor/lumFromChannels.ts":{"bytesInOutput":223},"../../luum/src/solveFor/maxSatForHueInFilter.ts":{"bytesInOutput":824},"../../luum/src/solveFor/satFromChannels.ts":{"bytesInOutput":158},"../../luum/src/solveFor/specificLumFromHue.ts":{"bytesInOutput":332},"../../luum/src/export/specToChannelsFixLimit.ts":{"bytesInOutput":2525},"../../luum/src/export/specToHexFixLimit.ts":{"bytesInOutput":373},"../../luum/src/export/specToHex.ts":{"bytesInOutput":189},"../../luum/src/identify/index.ts":{"bytesInOutput":0},"../../luum/src/import/channelsToSpec.ts":{"bytesInOutput":272},"../../luum/src/import/normalizeHex.ts":{"bytesInOutput":721},"../../luum/src/import/hexToChannels.ts":{"bytesInOutput":222},"../../luum/src/import/hexToSpec.ts":{"bytesInOutput":208},"../../luum/src/mixers/lum.ts":{"bytesInOutput":474},"../../luum/src/mixers/index.ts":{"bytesInOutput":0},"../../luum/src/mixers/contrast.ts":{"bytesInOutput":277},"../../luum/src/constants/luum-spec.ts":{"bytesInOutput":69},"../../luum/src/scheme/index.ts":{"bytesInOutput":987},"../../hamr/src/react-data-designer/RelationEditor.module.scss":{"bytesInOutput":40},"../../hamr/src/react-data-designer/RelationEditor.tsx":{"bytesInOutput":834},"src/TimelineIndex.tsx":{"bytesInOutput":2669},"src/Updates.tsx":{"bytesInOutput":4695},"src/TransactionIndex.tsx":{"bytesInOutput":1552},"src/devtools.scss":{"bytesInOutput":0}},"bytes":94640},"dist/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":11009},"dist/index.css":{"imports":[],"inputs":{"../../hamr/src/react-data-designer/RelationEditor.module.scss":{"bytesInOutput":242},"src/devtools.scss":{"bytesInOutput":6923}},"bytes":7258}}}
1
+ {"inputs":{"../__unstable__/web-effects/src/storage.ts":{"bytes":721,"imports":[],"format":"esm"},"../__unstable__/web-effects/src/index.ts":{"bytes":26,"imports":[{"path":"../__unstable__/web-effects/src/storage.ts","kind":"import-statement","original":"./storage"}],"format":"esm"},"../../anvl/src/function/curry.ts":{"bytes":3368,"imports":[],"format":"esm"},"../../anvl/src/function/pipe.ts":{"bytes":6357,"imports":[],"format":"esm"},"../../anvl/src/function/index.ts":{"bytes":1737,"imports":[{"path":"../../anvl/src/function/curry.ts","kind":"import-statement","original":"./curry"},{"path":"../../anvl/src/function/pipe.ts","kind":"import-statement","original":"./pipe"}],"format":"esm"},"../../anvl/src/array/match.ts":{"bytes":696,"imports":[],"format":"esm"},"../../anvl/src/array/venn.ts":{"bytes":1033,"imports":[],"format":"esm"},"../../anvl/src/array/index.ts":{"bytes":2489,"imports":[{"path":"../../anvl/src/array/match.ts","kind":"import-statement","original":"./match"},{"path":"../../anvl/src/array/venn.ts","kind":"import-statement","original":"./venn"}],"format":"esm"},"../../anvl/src/nullish/index.ts":{"bytes":941,"imports":[],"format":"esm"},"../../anvl/src/object/access.ts":{"bytes":381,"imports":[],"format":"esm"},"../../anvl/src/object/entries.ts":{"bytes":348,"imports":[],"format":"esm"},"../../anvl/src/object/mapObject.ts":{"bytes":496,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"}],"format":"esm"},"../../anvl/src/object/refinement.ts":{"bytes":2473,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"../nullish"},{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"./access"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"},{"path":"../../anvl/src/object/mapObject.ts","kind":"import-statement","original":"./mapObject"}],"format":"esm"},"../../anvl/src/object/sprawl.ts":{"bytes":1069,"imports":[{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"}],"format":"esm"},"../../anvl/src/object/deepMob.ts":{"bytes":1322,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/object/sprawl.ts","kind":"import-statement","original":"./sprawl"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/object/modify.ts":{"bytes":745,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/object/patch.ts":{"bytes":940,"imports":[{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"./access"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/object/sprawl.ts","kind":"import-statement","original":"./sprawl"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/object/index.ts":{"bytes":3846,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"../nullish"},{"path":"../../anvl/src/object/deepMob.ts","kind":"import-statement","original":"./deepMob"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"./access"},{"path":"../../anvl/src/object/deepMob.ts","kind":"import-statement","original":"./deepMob"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"./entries"},{"path":"../../anvl/src/object/mapObject.ts","kind":"import-statement","original":"./mapObject"},{"path":"../../anvl/src/object/modify.ts","kind":"import-statement","original":"./modify"},{"path":"../../anvl/src/object/patch.ts","kind":"import-statement","original":"./patch"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/object/sprawl.ts","kind":"import-statement","original":"./sprawl"}],"format":"esm"},"../../anvl/src/refinement/refinery.ts":{"bytes":1896,"imports":[{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"}],"format":"esm"},"../../anvl/src/tree/differ.ts":{"bytes":4225,"imports":[{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"../refinement/refinery"}],"format":"esm"},"../../anvl/src/json/json-interface.ts":{"bytes":340,"imports":[],"format":"esm"},"../../anvl/src/json/index.ts":{"bytes":980,"imports":[{"path":"../../anvl/src/json/json-interface.ts","kind":"import-statement","original":"./json-interface"}],"format":"esm"},"../../anvl/src/primitive/index.ts":{"bytes":597,"imports":[],"format":"esm"},"../../anvl/src/refinement/refine-json.ts":{"bytes":1701,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"../json"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"}],"format":"esm"},"src/Button.tsx":{"bytes":474,"imports":[{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/refinement/refined.ts":{"bytes":1094,"imports":[],"format":"esm"},"../../anvl/src/refinement/refinement.ts":{"bytes":64,"imports":[],"format":"esm"},"../../anvl/src/refinement/can-exist.ts":{"bytes":59,"imports":[],"format":"esm"},"../../anvl/src/refinement/cannot-exist.ts":{"bytes":61,"imports":[],"format":"esm"},"../../anvl/src/refinement/is-class.ts":{"bytes":224,"imports":[],"format":"esm"},"../../anvl/src/refinement/is-union.ts":{"bytes":1275,"imports":[{"path":"../../anvl/src/refinement/cannot-exist.ts","kind":"import-statement","original":"./cannot-exist"}],"format":"esm"},"../../anvl/src/refinement/is-intersection.ts":{"bytes":1294,"imports":[{"path":"../../anvl/src/refinement/can-exist.ts","kind":"import-statement","original":"./can-exist"}],"format":"esm"},"../../anvl/src/refinement/index.ts":{"bytes":1072,"imports":[{"path":"../../anvl/src/refinement/refined.ts","kind":"import-statement","original":"./refined"},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"./refinery"},{"path":"../../anvl/src/refinement/refinement.ts","kind":"import-statement","original":"./refinement"},{"path":"../../anvl/src/refinement/can-exist.ts","kind":"import-statement","original":"./can-exist"},{"path":"../../anvl/src/refinement/cannot-exist.ts","kind":"import-statement","original":"./cannot-exist"},{"path":"../../anvl/src/refinement/is-class.ts","kind":"import-statement","original":"./is-class"},{"path":"../../anvl/src/refinement/is-union.ts","kind":"import-statement","original":"./is-union"},{"path":"../../anvl/src/refinement/is-intersection.ts","kind":"import-statement","original":"./is-intersection"}],"format":"esm"},"../../anvl/src/join/core-relation-data.ts":{"bytes":1653,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/refinement/index.ts","kind":"import-statement","original":"../refinement"}],"format":"esm"},"../../anvl/src/join/get-related-ids.ts":{"bytes":693,"imports":[],"format":"esm"},"../../anvl/src/join/make-json-interface.ts":{"bytes":763,"imports":[{"path":"../../anvl/src/join/index.ts","kind":"import-statement","original":"."}],"format":"esm"},"../../anvl/src/join/relation-record.ts":{"bytes":754,"imports":[{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/relation-contents.ts","kind":"import-statement","original":"./relation-contents"}],"format":"esm"},"../../anvl/src/string/split.ts":{"bytes":96,"imports":[],"format":"esm"},"../../anvl/src/join/remove-relation.ts":{"bytes":2395,"imports":[{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/array/venn.ts","kind":"import-statement","original":"../array/venn"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/object/entries.ts","kind":"import-statement","original":"../object/entries"},{"path":"../../anvl/src/string/split.ts","kind":"import-statement","original":"../string/split"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/join/set-relation.ts":{"bytes":2985,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/relation-contents.ts","kind":"import-statement","original":"./relation-contents"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/join/relation-contents.ts":{"bytes":3068,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/relation-record.ts","kind":"import-statement","original":"./relation-record"},{"path":"../../anvl/src/join/remove-relation.ts","kind":"import-statement","original":"./remove-relation"},{"path":"../../anvl/src/join/set-relation.ts","kind":"import-statement","original":"./set-relation"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/join/index.ts":{"bytes":3681,"imports":[{"path":"../../anvl/src/join/core-relation-data.ts","kind":"import-statement","original":"./core-relation-data"},{"path":"../../anvl/src/join/get-related-ids.ts","kind":"import-statement","original":"./get-related-ids"},{"path":"../../anvl/src/join/make-json-interface.ts","kind":"import-statement","original":"./make-json-interface"},{"path":"../../anvl/src/join/relation-contents.ts","kind":"import-statement","original":"./relation-contents"},{"path":"../../anvl/src/join/relation-record.ts","kind":"import-statement","original":"./relation-record"},{"path":"../../anvl/src/join/remove-relation.ts","kind":"import-statement","original":"./remove-relation"},{"path":"../../anvl/src/join/set-relation.ts","kind":"import-statement","original":"./set-relation"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-elastic-input/ElasticInput.tsx":{"bytes":1736,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/number/clamp.ts":{"bytes":179,"imports":[],"format":"esm"},"../../anvl/src/number/wrap.ts":{"bytes":226,"imports":[],"format":"esm"},"../../anvl/src/number/index.ts":{"bytes":47,"imports":[{"path":"../../anvl/src/number/clamp.ts","kind":"import-statement","original":"./clamp"},{"path":"../../anvl/src/number/wrap.ts","kind":"import-statement","original":"./wrap"}],"format":"esm"},"../../hamr/src/react-elastic-input/NumberInput.tsx":{"bytes":5419,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"."},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-elastic-input/TextInput.tsx":{"bytes":890,"imports":[{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"."},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-elastic-input/index.ts":{"bytes":89,"imports":[{"path":"../../hamr/src/react-elastic-input/ElasticInput.tsx","kind":"import-statement","original":"./ElasticInput"},{"path":"../../hamr/src/react-elastic-input/NumberInput.tsx","kind":"import-statement","original":"./NumberInput"},{"path":"../../hamr/src/react-elastic-input/TextInput.tsx","kind":"import-statement","original":"./TextInput"}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/non-json.tsx":{"bytes":415,"imports":[{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../../react-elastic-input"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/json-editor-internal.tsx":{"bytes":3118,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refine-json"},{"path":"../../hamr/src/react-json-editor/index.ts","kind":"import-statement","original":"."},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../react-elastic-input"},{"path":"../../hamr/src/react-json-editor/editors-by-type/non-json.tsx","kind":"import-statement","original":"./editors-by-type/non-json"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts":{"bytes":467,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx":{"bytes":893,"imports":[{"path":"../../hamr/src/react-json-editor/json-editor-internal.tsx","kind":"import-statement","original":"../json-editor-internal"},{"path":"../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts","kind":"import-statement","original":"./utilities/array-elements"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/json-schema/integer.ts":{"bytes":3080,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"}],"format":"esm"},"../../anvl/src/json-schema/refs.ts":{"bytes":1920,"imports":[{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"../object"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/json-schema/integer.ts","kind":"import-statement","original":"./integer"},{"path":"../../anvl/src/json-schema/json-schema.ts","kind":"import-statement","original":"./json-schema"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/json-schema/string-formats.ts":{"bytes":3571,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"../function"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"}],"format":"esm"},"../../anvl/src/json-schema/json-schema.ts":{"bytes":10525,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"../array"},{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"../json"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"../nullish"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"../object/refinement"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"../primitive"},{"path":"../../anvl/src/refinement/index.ts","kind":"import-statement","original":"../refinement"},{"path":"../../anvl/src/json-schema/integer.ts","kind":"import-statement","original":"./integer"},{"path":"../../anvl/src/json-schema/refs.ts","kind":"import-statement","original":"./refs"},{"path":"../../anvl/src/json-schema/string-formats.ts","kind":"import-statement","original":"./string-formats"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/json-schema/path-into.ts":{"bytes":659,"imports":[],"format":"esm"},"../../anvl/src/json-schema/find-sub-schema.ts":{"bytes":1361,"imports":[{"path":"../../anvl/src/json-schema/json-schema.ts","kind":"import-statement","original":"./json-schema"},{"path":"../../anvl/src/json-schema/path-into.ts","kind":"import-statement","original":"./path-into"},{"path":"../../anvl/src/json-schema/refs.ts","kind":"import-statement","original":"./refs"}],"format":"esm"},"../../anvl/src/json/cast-json.ts":{"bytes":2123,"imports":[],"format":"esm"},"../../anvl/src/refinement/smart-cast-json.ts":{"bytes":2462,"imports":[{"path":"../../anvl/src/json/cast-json.ts","kind":"import-statement","original":"../json/cast-json"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"./refine-json"}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/utilities/object-properties.ts":{"bytes":3311,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/json/index.ts","kind":"import-statement","original":"~/packages/anvl/src/json"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"~/packages/anvl/src/object"},{"path":"../../anvl/src/refinement/smart-cast-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/smart-cast-json"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx":{"bytes":4651,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/json-schema/find-sub-schema.ts","kind":"import-statement","original":"~/packages/anvl/src/json-schema/find-sub-schema"},{"path":"../../anvl/src/json-schema/json-schema.ts","kind":"import-statement","original":"~/packages/anvl/src/json-schema/json-schema"},{"path":"../../anvl/src/object/refinement.ts","kind":"import-statement","original":"~/packages/anvl/src/object/refinement"},{"path":"../../anvl/src/refinement/index.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement"},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../../react-elastic-input"},{"path":"../../hamr/src/react-json-editor/json-editor-internal.tsx","kind":"import-statement","original":"../json-editor-internal"},{"path":"../../hamr/src/react-json-editor/editors-by-type/utilities/object-properties.ts","kind":"import-statement","original":"./utilities/object-properties"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx":{"bytes":1286,"imports":[{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"../../react-elastic-input"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-error-boundary/DefaultFallback.tsx":{"bytes":1135,"imports":[{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx":{"bytes":2093,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../hamr/src/react-error-boundary/DefaultFallback.tsx","kind":"import-statement","original":"./DefaultFallback"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-error-boundary/test-utils.ts":{"bytes":246,"imports":[],"format":"esm"},"../../hamr/src/react-error-boundary/index.ts":{"bytes":100,"imports":[{"path":"../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx","kind":"import-statement","original":"./ReactErrorBoundary"},{"path":"../../hamr/src/react-error-boundary/DefaultFallback.tsx","kind":"import-statement","original":"./DefaultFallback"},{"path":"../../hamr/src/react-error-boundary/test-utils.ts","kind":"import-statement","original":"./test-utils"}],"format":"esm"},"../../hamr/src/react-json-editor/default-components.tsx":{"bytes":3220,"imports":[{"path":"../../hamr/src/react-error-boundary/index.ts","kind":"import-statement","original":"../react-error-boundary"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/developer-interface.tsx":{"bytes":2254,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../hamr/src/react-json-editor/default-components.tsx","kind":"import-statement","original":"./default-components"},{"path":"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx","kind":"import-statement","original":"./editors-by-type/array-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx","kind":"import-statement","original":"./editors-by-type/object-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx","kind":"import-statement","original":"./editors-by-type/primitive-editors"},{"path":"../../hamr/src/react-json-editor/json-editor-internal.tsx","kind":"import-statement","original":"./json-editor-internal"},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-json-editor/index.ts":{"bytes":705,"imports":[{"path":"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx","kind":"import-statement","original":"./editors-by-type/array-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx","kind":"import-statement","original":"./editors-by-type/object-editor"},{"path":"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx","kind":"import-statement","original":"./editors-by-type/primitive-editors"},{"path":"../../hamr/src/react-json-editor/default-components.tsx","kind":"import-statement","original":"./default-components"},{"path":"../../hamr/src/react-json-editor/developer-interface.tsx","kind":"import-statement","original":"./developer-interface"}],"format":"esm"},"../../hamr/src/react-data-designer/DataDesigner.tsx":{"bytes":1234,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../react-id","kind":"import-statement","external":true},{"path":"../../hamr/src/react-json-editor/index.ts","kind":"import-statement","original":"../react-json-editor"},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../anvl/src/string/string-to-color.ts":{"bytes":436,"imports":[],"format":"esm"},"../../luum/src/constants/index.ts":{"bytes":292,"imports":[],"format":"esm"},"../../luum/src/constants/filters.ts":{"bytes":368,"imports":[],"format":"esm"},"../../luum/src/constants/schemes.ts":{"bytes":2802,"imports":[],"format":"esm"},"../../luum/src/export/channelsToHex.ts":{"bytes":341,"imports":[],"format":"esm"},"../../luum/src/import/hueToRelativeChannels.ts":{"bytes":4439,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"}],"format":"esm"},"../../luum/src/solveFor/hueFromChannels.ts":{"bytes":525,"imports":[],"format":"esm"},"../../luum/src/solveFor/lumFromChannels.ts":{"bytes":389,"imports":[{"path":"../../luum/src/constants/index.ts","kind":"import-statement","original":"../constants"}],"format":"esm"},"../../luum/src/solveFor/maxSatForHueInFilter.ts":{"bytes":1202,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"}],"format":"esm"},"../../luum/src/solveFor/satFromChannels.ts":{"bytes":259,"imports":[],"format":"esm"},"../../luum/src/solveFor/specificLumFromHue.ts":{"bytes":433,"imports":[{"path":"../../luum/src/constants/index.ts","kind":"import-statement","original":"../constants"},{"path":"../../luum/src/import/hueToRelativeChannels.ts","kind":"import-statement","original":"../import/hueToRelativeChannels"}],"format":"esm"},"../../luum/src/solveFor/index.ts":{"bytes":366,"imports":[{"path":"../../luum/src/solveFor/hueFromChannels.ts","kind":"import-statement","original":"./hueFromChannels"},{"path":"../../luum/src/solveFor/lumFromChannels.ts","kind":"import-statement","original":"./lumFromChannels"},{"path":"../../luum/src/solveFor/maxSatForHueInFilter.ts","kind":"import-statement","original":"./maxSatForHueInFilter"},{"path":"../../luum/src/solveFor/satFromChannels.ts","kind":"import-statement","original":"./satFromChannels"},{"path":"../../luum/src/solveFor/specificLumFromHue.ts","kind":"import-statement","original":"./specificLumFromHue"}],"format":"esm"},"../../luum/src/export/specToChannelsFixLimit.ts":{"bytes":3105,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"},{"path":"../../luum/src/constants/filters.ts","kind":"import-statement","original":"../constants/filters"},{"path":"../../luum/src/import/hueToRelativeChannels.ts","kind":"import-statement","original":"../import/hueToRelativeChannels"},{"path":"../../luum/src/solveFor/index.ts","kind":"import-statement","original":"../solveFor"}],"format":"esm"},"../../luum/src/export/specToHexFixLimit.ts":{"bytes":674,"imports":[{"path":"../../luum/src/export/channelsToHex.ts","kind":"import-statement","original":"./channelsToHex"},{"path":"../../luum/src/export/specToChannelsFixLimit.ts","kind":"import-statement","original":"./specToChannelsFixLimit"}],"format":"esm"},"../../luum/src/export/specToHex.ts":{"bytes":317,"imports":[{"path":"../../luum/src/export/specToHexFixLimit.ts","kind":"import-statement","original":"./specToHexFixLimit"}],"format":"esm"},"../../luum/src/export/index.ts":{"bytes":129,"imports":[{"path":"../../luum/src/export/specToHex.ts","kind":"import-statement","original":"./specToHex"},{"path":"../../luum/src/export/specToHexFixLimit.ts","kind":"import-statement","original":"./specToHexFixLimit"}],"format":"esm"},"../../luum/src/identify/hue.ts":{"bytes":997,"imports":[{"path":"../../anvl/src/number/index.ts","kind":"import-statement","original":"~/packages/anvl/src/number"}],"format":"esm"},"../../luum/src/identify/index.ts":{"bytes":22,"imports":[{"path":"../../luum/src/identify/hue.ts","kind":"import-statement","original":"./hue"}],"format":"esm"},"../../luum/src/import/channelsToSpec.ts":{"bytes":391,"imports":[{"path":"../../luum/src/solveFor/index.ts","kind":"import-statement","original":"../solveFor"}],"format":"esm"},"../../luum/src/import/normalizeHex.ts":{"bytes":747,"imports":[],"format":"esm"},"../../luum/src/import/hexToChannels.ts":{"bytes":297,"imports":[{"path":"../../luum/src/import/normalizeHex.ts","kind":"import-statement","original":"./normalizeHex"}],"format":"esm"},"../../luum/src/import/hexToSpec.ts":{"bytes":312,"imports":[{"path":"../../luum/src/import/channelsToSpec.ts","kind":"import-statement","original":"./channelsToSpec"},{"path":"../../luum/src/import/hexToChannels.ts","kind":"import-statement","original":"./hexToChannels"}],"format":"esm"},"../../luum/src/import/index.ts":{"bytes":324,"imports":[{"path":"../../luum/src/import/channelsToSpec.ts","kind":"import-statement","original":"./channelsToSpec"},{"path":"../../luum/src/import/hexToChannels.ts","kind":"import-statement","original":"./hexToChannels"},{"path":"../../luum/src/import/hexToSpec.ts","kind":"import-statement","original":"./hexToSpec"},{"path":"../../luum/src/import/hueToRelativeChannels.ts","kind":"import-statement","original":"./hueToRelativeChannels"},{"path":"../../luum/src/import/normalizeHex.ts","kind":"import-statement","original":"./normalizeHex"}],"format":"esm"},"../../luum/src/mixers/lum.ts":{"bytes":1177,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/number/clamp.ts","kind":"import-statement","original":"~/packages/anvl/src/number/clamp"},{"path":"../../luum/src/index.ts","kind":"import-statement","original":".."},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/sat.ts":{"bytes":887,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/number/clamp.ts","kind":"import-statement","original":"~/packages/anvl/src/number/clamp"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/luum.ts":{"bytes":1204,"imports":[{"path":"../../luum/src/index.ts","kind":"import-statement","original":"~/packages/luum/src"},{"path":"../../luum/src/mixers/lum.ts","kind":"import-statement","original":"./mixers/lum"},{"path":"../../luum/src/mixers/sat.ts","kind":"import-statement","original":"./mixers/sat"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/hue.ts":{"bytes":815,"imports":[{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/number/wrap.ts","kind":"import-statement","original":"~/packages/anvl/src/number/wrap"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/contrast.ts":{"bytes":765,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"../../luum/src/mixers/index.ts":{"bytes":250,"imports":[{"path":"../../luum/src/mixers/hue.ts","kind":"import-statement","original":"./hue"},{"path":"../../luum/src/mixers/sat.ts","kind":"import-statement","original":"./sat"},{"path":"../../luum/src/mixers/lum.ts","kind":"import-statement","original":"./lum"},{"path":"../../luum/src/mixers/contrast.ts","kind":"import-statement","original":"./contrast"}],"format":"esm"},"../../luum/src/constants/luum-spec.ts":{"bytes":137,"imports":[],"format":"esm"},"../../luum/src/scheme/index.ts":{"bytes":9821,"imports":[{"path":"../../anvl/src/array/index.ts","kind":"import-statement","original":"~/packages/anvl/src/array"},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/nullish/index.ts","kind":"import-statement","original":"~/packages/anvl/src/nullish"},{"path":"../../anvl/src/object/access.ts","kind":"import-statement","original":"~/packages/anvl/src/object/access"},{"path":"../../anvl/src/primitive/index.ts","kind":"import-statement","original":"~/packages/anvl/src/primitive"},{"path":"../../luum/src/index.ts","kind":"import-statement","original":"~/packages/luum/src"},{"path":"../../luum/src/constants/luum-spec.ts","kind":"import-statement","original":"~/packages/luum/src/constants/luum-spec"},{"path":"../../luum/src/mixers/lum.ts","kind":"import-statement","original":"~/packages/luum/src/mixers/lum"}],"format":"esm"},"../../luum/src/utils/interpolate.ts":{"bytes":480,"imports":[],"format":"esm"},"../../luum/src/utils/index.ts":{"bytes":64,"imports":[{"path":"../../luum/src/utils/interpolate.ts","kind":"import-statement","original":"./interpolate"}],"format":"esm"},"../../luum/src/index.ts":{"bytes":938,"imports":[{"path":"../../luum/src/constants/index.ts","kind":"import-statement","original":"./constants"},{"path":"../../luum/src/constants/filters.ts","kind":"import-statement","original":"./constants/filters"},{"path":"../../luum/src/constants/schemes.ts","kind":"import-statement","original":"./constants/schemes"},{"path":"../../luum/src/export/index.ts","kind":"import-statement","original":"./export"},{"path":"../../luum/src/identify/index.ts","kind":"import-statement","original":"./identify"},{"path":"../../luum/src/import/index.ts","kind":"import-statement","original":"./import"},{"path":"../../luum/src/luum.ts","kind":"import-statement","original":"./luum"},{"path":"../../luum/src/mixers/index.ts","kind":"import-statement","original":"./mixers"},{"path":"../../luum/src/scheme/index.ts","kind":"import-statement","original":"./scheme"},{"path":"../../luum/src/solveFor/index.ts","kind":"import-statement","original":"./solveFor"},{"path":"../../luum/src/utils/index.ts","kind":"import-statement","original":"./utils"},{"path":"../../luum/src/luum.ts","kind":"import-statement","original":"./luum"}],"format":"esm"},"../../hamr/src/react-id/Id.tsx":{"bytes":1669,"imports":[{"path":"@floating-ui/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/string/string-to-color.ts","kind":"import-statement","original":"~/packages/anvl/src/string/string-to-color"},{"path":"../../luum/src/index.ts","kind":"import-statement","original":"~/packages/luum/src"},{"path":"<runtime>","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-id/index.ts":{"bytes":21,"imports":[{"path":"../../hamr/src/react-id/Id.tsx","kind":"import-statement","original":"./Id"}],"format":"esm"},"../../hamr/src/react-data-designer/RelationEditor.module.scss":{"bytes":242,"imports":[]},"../../hamr/src/react-data-designer/RelationEditor.tsx":{"bytes":882,"imports":[{"path":"../../hamr/src/react-id/index.ts","kind":"import-statement","original":"../react-id"},{"path":"../../hamr/src/react-data-designer/RelationEditor.module.scss","kind":"import-statement","original":"./RelationEditor.module.scss"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"../../hamr/src/react-data-designer/index.ts":{"bytes":64,"imports":[{"path":"../../hamr/src/react-data-designer/DataDesigner.tsx","kind":"import-statement","original":"./DataDesigner"},{"path":"../../hamr/src/react-data-designer/RelationEditor.tsx","kind":"import-statement","original":"./RelationEditor"}],"format":"esm"},"src/StateEditor.tsx":{"bytes":2064,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"../../anvl/src/function/index.ts","kind":"import-statement","original":"~/packages/anvl/src/function"},{"path":"../../anvl/src/join/index.ts","kind":"import-statement","original":"~/packages/anvl/src/join"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refine-json"},{"path":"../../hamr/src/react-data-designer/index.ts","kind":"import-statement","original":"~/packages/hamr/src/react-data-designer"},{"path":"../../hamr/src/react-elastic-input/index.ts","kind":"import-statement","original":"~/packages/hamr/src/react-elastic-input"},{"path":"../../hamr/src/react-json-editor/index.ts","kind":"import-statement","original":"~/packages/hamr/src/react-json-editor"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/StateIndex.tsx":{"bytes":4130,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"~/packages/anvl/src/object"},{"path":"../../anvl/src/refinement/refine-json.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refine-json"},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/Button.tsx","kind":"import-statement","original":"./Button"},{"path":"src/StateEditor.tsx","kind":"import-statement","original":"./StateEditor"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/Updates.tsx":{"bytes":4382,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refinery"},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/TimelineIndex.tsx":{"bytes":2346,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/Button.tsx","kind":"import-statement","original":"./Button"},{"path":"src/Updates.tsx","kind":"import-statement","original":"./Updates"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/TransactionIndex.tsx":{"bytes":1616,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/Button.tsx","kind":"import-statement","original":"./Button"},{"path":"src/Updates.tsx","kind":"import-statement","original":"./Updates"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/devtools.scss":{"bytes":6924,"imports":[]},"src/AtomIODevtools.tsx":{"bytes":2680,"imports":[{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"framer-motion","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/index.ts","kind":"import-statement","original":"."},{"path":"src/StateIndex.tsx","kind":"import-statement","original":"./StateIndex"},{"path":"src/TimelineIndex.tsx","kind":"import-statement","original":"./TimelineIndex"},{"path":"src/TransactionIndex.tsx","kind":"import-statement","original":"./TransactionIndex"},{"path":"src/devtools.scss","kind":"import-statement","original":"./devtools.scss"},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":2236,"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/introspection","kind":"import-statement","external":true},{"path":"../__unstable__/web-effects/src/index.ts","kind":"import-statement","original":"~/packages/atom.io/__unstable__/web-effects/src"},{"path":"../../anvl/src/object/index.ts","kind":"import-statement","original":"~/packages/anvl/src/object"},{"path":"../../anvl/src/refinement/refinery.ts","kind":"import-statement","original":"~/packages/anvl/src/refinement/refinery"},{"path":"../../anvl/src/tree/differ.ts","kind":"import-statement","original":"~/packages/anvl/src/tree/differ"},{"path":"src/AtomIODevtools.tsx","kind":"import-statement","original":"./AtomIODevtools"}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":244012},"dist/index.js":{"imports":[{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/introspection","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"framer-motion","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":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"@floating-ui/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"atom.io/react","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true},{"path":"react/jsx-runtime","kind":"import-statement","external":true}],"exports":["AtomIODevtools","atomIndex","devtoolsAreOpenState","devtoolsViewOptionsState","devtoolsViewSelectionState","findTimelineState","findTransactionLogState","findViewIsOpenState","jsonTreeRefinery","prettyJson","primitiveRefinery","selectorIndex","timelineIndex","transactionIndex"],"entryPoint":"src/index.ts","cssBundle":"dist/index.css","inputs":{"src/index.ts":{"bytesInOutput":1643},"../__unstable__/web-effects/src/storage.ts":{"bytesInOutput":418},"../../anvl/src/function/index.ts":{"bytesInOutput":809},"../../anvl/src/function/pipe.ts":{"bytesInOutput":654},"../../anvl/src/array/index.ts":{"bytesInOutput":419},"../../anvl/src/array/venn.ts":{"bytesInOutput":239},"../../anvl/src/nullish/index.ts":{"bytesInOutput":192},"../../anvl/src/object/access.ts":{"bytesInOutput":79},"../../anvl/src/object/entries.ts":{"bytesInOutput":116},"../../anvl/src/object/mapObject.ts":{"bytesInOutput":173},"../../anvl/src/object/refinement.ts":{"bytesInOutput":1301},"../../anvl/src/object/sprawl.ts":{"bytesInOutput":759},"../../anvl/src/object/index.ts":{"bytesInOutput":426},"../../anvl/src/refinement/refinery.ts":{"bytesInOutput":1095},"../../anvl/src/tree/differ.ts":{"bytesInOutput":3160},"src/AtomIODevtools.tsx":{"bytesInOutput":3150},"src/StateIndex.tsx":{"bytesInOutput":3833},"../../anvl/src/json/index.ts":{"bytesInOutput":258},"../../anvl/src/primitive/index.ts":{"bytesInOutput":203},"../../anvl/src/refinement/refine-json.ts":{"bytesInOutput":926},"src/Button.tsx":{"bytesInOutput":364},"src/StateEditor.tsx":{"bytesInOutput":1555},"../../anvl/src/refinement/index.ts":{"bytesInOutput":113},"../../anvl/src/refinement/can-exist.ts":{"bytesInOutput":28},"../../anvl/src/refinement/cannot-exist.ts":{"bytesInOutput":32},"../../anvl/src/refinement/is-union.ts":{"bytesInOutput":783},"../../anvl/src/refinement/is-intersection.ts":{"bytesInOutput":731},"../../anvl/src/join/core-relation-data.ts":{"bytesInOutput":567},"../../anvl/src/join/get-related-ids.ts":{"bytesInOutput":371},"../../anvl/src/join/make-json-interface.ts":{"bytesInOutput":287},"../../anvl/src/join/relation-record.ts":{"bytesInOutput":243},"../../anvl/src/string/split.ts":{"bytesInOutput":58},"../../anvl/src/join/remove-relation.ts":{"bytesInOutput":1352},"../../anvl/src/join/set-relation.ts":{"bytesInOutput":2176},"../../anvl/src/join/relation-contents.ts":{"bytesInOutput":1885},"../../anvl/src/join/index.ts":{"bytesInOutput":1709},"../../hamr/src/react-elastic-input/ElasticInput.tsx":{"bytesInOutput":1993},"../../hamr/src/react-elastic-input/NumberInput.tsx":{"bytesInOutput":4193},"../../anvl/src/number/clamp.ts":{"bytesInOutput":88},"../../anvl/src/number/wrap.ts":{"bytesInOutput":125},"../../hamr/src/react-elastic-input/TextInput.tsx":{"bytesInOutput":759},"../../hamr/src/react-json-editor/editors-by-type/non-json.tsx":{"bytesInOutput":358},"../../hamr/src/react-json-editor/json-editor-internal.tsx":{"bytesInOutput":1820},"../../hamr/src/react-json-editor/editors-by-type/utilities/array-elements.ts":{"bytesInOutput":201},"../../hamr/src/react-json-editor/editors-by-type/array-editor.tsx":{"bytesInOutput":610},"../../hamr/src/react-json-editor/editors-by-type/object-editor.tsx":{"bytesInOutput":3691},"../../anvl/src/json-schema/integer.ts":{"bytesInOutput":1365},"../../anvl/src/json-schema/refs.ts":{"bytesInOutput":1253},"../../anvl/src/json-schema/string-formats.ts":{"bytesInOutput":184},"../../anvl/src/json-schema/json-schema.ts":{"bytesInOutput":4781},"../../anvl/src/json-schema/path-into.ts":{"bytesInOutput":701},"../../anvl/src/json-schema/find-sub-schema.ts":{"bytesInOutput":1117},"../../anvl/src/json/cast-json.ts":{"bytesInOutput":1396},"../../anvl/src/refinement/smart-cast-json.ts":{"bytesInOutput":2461},"../../hamr/src/react-json-editor/editors-by-type/utilities/object-properties.ts":{"bytesInOutput":1497},"../../hamr/src/react-json-editor/editors-by-type/primitive-editors.tsx":{"bytesInOutput":1039},"../../hamr/src/react-error-boundary/ReactErrorBoundary.tsx":{"bytesInOutput":661},"../../hamr/src/react-error-boundary/DefaultFallback.tsx":{"bytesInOutput":1549},"../../hamr/src/react-json-editor/default-components.tsx":{"bytesInOutput":2644},"../../hamr/src/react-json-editor/index.ts":{"bytesInOutput":161},"../../hamr/src/react-json-editor/developer-interface.tsx":{"bytesInOutput":670},"../../hamr/src/react-id/Id.tsx":{"bytesInOutput":1882},"../../anvl/src/string/string-to-color.ts":{"bytesInOutput":329},"../../luum/src/constants/index.ts":{"bytesInOutput":61},"../../luum/src/index.ts":{"bytesInOutput":0},"../../luum/src/constants/filters.ts":{"bytesInOutput":71},"../../luum/src/export/channelsToHex.ts":{"bytesInOutput":265},"../../luum/src/import/hueToRelativeChannels.ts":{"bytesInOutput":585},"../../luum/src/solveFor/hueFromChannels.ts":{"bytesInOutput":498},"../../luum/src/solveFor/lumFromChannels.ts":{"bytesInOutput":223},"../../luum/src/solveFor/maxSatForHueInFilter.ts":{"bytesInOutput":824},"../../luum/src/solveFor/satFromChannels.ts":{"bytesInOutput":158},"../../luum/src/solveFor/specificLumFromHue.ts":{"bytesInOutput":332},"../../luum/src/export/specToChannelsFixLimit.ts":{"bytesInOutput":2525},"../../luum/src/export/specToHexFixLimit.ts":{"bytesInOutput":373},"../../luum/src/export/specToHex.ts":{"bytesInOutput":189},"../../luum/src/identify/index.ts":{"bytesInOutput":0},"../../luum/src/import/channelsToSpec.ts":{"bytesInOutput":272},"../../luum/src/import/normalizeHex.ts":{"bytesInOutput":721},"../../luum/src/import/hexToChannels.ts":{"bytesInOutput":222},"../../luum/src/import/hexToSpec.ts":{"bytesInOutput":208},"../../luum/src/mixers/lum.ts":{"bytesInOutput":474},"../../luum/src/mixers/index.ts":{"bytesInOutput":0},"../../luum/src/mixers/contrast.ts":{"bytesInOutput":277},"../../luum/src/constants/luum-spec.ts":{"bytesInOutput":69},"../../luum/src/scheme/index.ts":{"bytesInOutput":987},"../../hamr/src/react-data-designer/RelationEditor.module.scss":{"bytesInOutput":40},"../../hamr/src/react-data-designer/RelationEditor.tsx":{"bytesInOutput":834},"src/TimelineIndex.tsx":{"bytesInOutput":2669},"src/Updates.tsx":{"bytesInOutput":5174},"src/TransactionIndex.tsx":{"bytesInOutput":1552},"src/devtools.scss":{"bytesInOutput":0}},"bytes":95119},"dist/index.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":11009},"dist/index.css":{"imports":[],"inputs":{"../../hamr/src/react-data-designer/RelationEditor.module.scss":{"bytesInOutput":242},"src/devtools.scss":{"bytesInOutput":6923}},"bytes":7258}}}
@@ -79,14 +79,20 @@ const TransactionUpdateFC: React.FC<{
79
79
  </section>
80
80
  <section className="transaction_impact">
81
81
  <span className="detail">impact: </span>
82
- {transactionUpdate.atomUpdates
82
+ {transactionUpdate.updates
83
83
  .filter((token) => !token.key.startsWith(`👁‍🗨`))
84
- .map((atomUpdate, index) => {
85
- return (
84
+ .map((update, index) => {
85
+ return `newValue` in update ? (
86
86
  <article.AtomUpdate
87
- key={`${transactionUpdate.key}:${index}:${atomUpdate.key}`}
87
+ key={`${transactionUpdate.key}:${index}:${update.key}`}
88
88
  serialNumber={index}
89
- atomUpdate={atomUpdate}
89
+ atomUpdate={update}
90
+ />
91
+ ) : (
92
+ <TransactionUpdateFC
93
+ key={`${transactionUpdate.key}:${index}:${update.key}`}
94
+ serialNumber={index}
95
+ transactionUpdate={update}
90
96
  />
91
97
  )
92
98
  })}
@@ -109,14 +115,20 @@ export const TimelineUpdateFC: React.FC<{
109
115
  </header>
110
116
  <main>
111
117
  {timelineUpdate.type === `transaction_update` ? (
112
- timelineUpdate.atomUpdates
118
+ timelineUpdate.updates
113
119
  .filter((token) => !token.key.startsWith(`👁‍🗨`))
114
- .map((atomUpdate, index) => {
115
- return (
120
+ .map((update, index) => {
121
+ return `newValue` in update ? (
116
122
  <article.AtomUpdate
117
- key={`${timelineUpdate.key}:${index}:${atomUpdate.key}`}
123
+ key={`${timelineUpdate.key}:${index}:${update.key}`}
118
124
  serialNumber={index}
119
- atomUpdate={atomUpdate}
125
+ atomUpdate={update}
126
+ />
127
+ ) : (
128
+ <TransactionUpdateFC
129
+ key={`${timelineUpdate.key}:${index}:${update.key}`}
130
+ serialNumber={index}
131
+ transactionUpdate={update}
120
132
  />
121
133
  )
122
134
  })
@@ -11,7 +11,7 @@ export type TransactionToken<_> = {
11
11
 
12
12
  export type TransactionUpdate<ƒ extends ƒn> = {
13
13
  key: string
14
- atomUpdates: KeyedStateUpdate<unknown>[]
14
+ updates: (KeyedStateUpdate<unknown> | TransactionUpdate<ƒn>)[]
15
15
  params: Parameters<ƒ>
16
16
  output: ReturnType<ƒ>
17
17
  }
@@ -32,9 +32,14 @@ export type Write<ƒ extends ƒn> = (
32
32
  ...parameters: Parameters<ƒ>
33
33
  ) => ReturnType<ƒ>
34
34
 
35
+ export type Act<ƒ extends ƒn> = (
36
+ transactors: Transactors & { run: typeof runTransaction },
37
+ ...parameters: Parameters<ƒ>
38
+ ) => ReturnType<ƒ>
39
+
35
40
  export type TransactionOptions<ƒ extends ƒn> = {
36
41
  key: string
37
- do: Write<ƒ>
42
+ do: Act<ƒ>
38
43
  }
39
44
 
40
45
  export type TransactionIO<Token extends TransactionToken<any>> =
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/set-rtx.ts"],"names":["update","value"],"mappings":"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","sourcesContent":["import type { Transceiver, TransceiverMode } from \"atom.io/internal\"\nimport { Subject } from \"atom.io/internal\"\nimport type { Json, Stringified, primitive } from \"atom.io/json\"\nimport { parseJson, stringifyJson } from \"atom.io/json\"\n\nexport type SetUpdate =\n\t| `add:${string}`\n\t| `clear:${string}`\n\t| `del:${string}`\n\t| `tx:${string}`\nexport type NumberedSetUpdate = `${number}=${SetUpdate}`\n\nexport interface SetRTXJson<P extends primitive> extends Json.Object {\n\tmembers: P[]\n\tcache: (NumberedSetUpdate | null)[]\n\tcacheLimit: number\n\tcacheIdx: number\n\tcacheUpdateNumber: number\n}\nexport class SetRTX<P extends primitive>\n\textends Set<P>\n\timplements Transceiver<NumberedSetUpdate>\n{\n\tpublic mode: TransceiverMode = `record`\n\tpublic readonly subject = new Subject<SetUpdate>()\n\tpublic cacheLimit = 0\n\tpublic cache: (NumberedSetUpdate | null)[] = []\n\tpublic cacheIdx = -1\n\tpublic cacheUpdateNumber = -1\n\n\tpublic constructor(values?: Iterable<P>, cacheLimit = 0) {\n\t\tsuper(values)\n\t\tif (values instanceof SetRTX) {\n\t\t\tthis.parent = values\n\t\t\tthis.cacheUpdateNumber = values.cacheUpdateNumber\n\t\t}\n\t\tif (cacheLimit) {\n\t\t\tthis.cacheLimit = cacheLimit\n\t\t\tthis.cache = new Array(cacheLimit)\n\t\t\tthis.subscribe(`auto cache`, (update) => {\n\t\t\t\tthis.cacheIdx++\n\t\t\t\tthis.cacheIdx %= this.cacheLimit\n\t\t\t\tthis.cache[this.cacheIdx] = update\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic toJSON(): SetRTXJson<P> {\n\t\treturn {\n\t\t\tmembers: [...this],\n\t\t\tcache: this.cache,\n\t\t\tcacheLimit: this.cacheLimit,\n\t\t\tcacheIdx: this.cacheIdx,\n\t\t\tcacheUpdateNumber: this.cacheUpdateNumber,\n\t\t}\n\t}\n\n\tpublic static fromJSON<P extends primitive>(json: SetRTXJson<P>): SetRTX<P> {\n\t\tconst set = new SetRTX<P>(json.members, json.cacheLimit)\n\t\tset.cache = json.cache\n\t\tset.cacheIdx = json.cacheIdx\n\t\tset.cacheUpdateNumber = json.cacheUpdateNumber\n\t\treturn set\n\t}\n\n\tpublic add(value: P): this {\n\t\tif (this.mode === `record`) {\n\t\t\tthis.cacheUpdateNumber++\n\t\t\tthis.emit(`add:${stringifyJson<P>(value)}`)\n\t\t}\n\t\treturn super.add(value)\n\t}\n\n\tpublic clear(): void {\n\t\tif (this.mode === `record`) {\n\t\t\tthis.cacheUpdateNumber++\n\t\t\tthis.emit(`clear:${JSON.stringify([...this])}`)\n\t\t}\n\t\tsuper.clear()\n\t}\n\n\tpublic delete(value: P): boolean {\n\t\tif (this.mode === `record`) {\n\t\t\tthis.cacheUpdateNumber++\n\t\t\tthis.emit(`del:${stringifyJson<P>(value)}`)\n\t\t}\n\t\treturn super.delete(value)\n\t}\n\n\tpublic readonly parent: SetRTX<P> | null\n\tpublic child: SetRTX<P> | null = null\n\tpublic transactionUpdates: SetUpdate[] | null = null\n\tpublic transaction(run: (child: SetRTX<P>) => boolean): void {\n\t\tthis.mode = `transaction`\n\t\tthis.transactionUpdates = []\n\t\tthis.child = new SetRTX(this)\n\t\tconst unsubscribe = this.child._subscribe(`transaction`, (update) => {\n\t\t\tthis.transactionUpdates?.push(update)\n\t\t})\n\t\ttry {\n\t\t\tconst shouldCommit = run(this.child)\n\t\t\tif (shouldCommit) {\n\t\t\t\tthis.cacheUpdateNumber++\n\t\t\t\tthis.emit(`tx:${this.transactionUpdates.join(`;`)}`)\n\t\t\t\tfor (const update of this.transactionUpdates) {\n\t\t\t\t\tthis.doStep(update)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (thrown) {\n\t\t\tconsole.error(`Failed to apply transaction: ${thrown}`)\n\t\t} finally {\n\t\t\tunsubscribe()\n\t\t\tthis.child = null\n\t\t\tthis.transactionUpdates = null\n\t\t\tthis.mode = `record`\n\t\t}\n\t}\n\n\tprotected _subscribe(\n\t\tkey: string,\n\t\tfn: (update: SetUpdate) => void,\n\t): () => void {\n\t\treturn this.subject.subscribe(key, fn)\n\t}\n\tpublic subscribe(\n\t\tkey: string,\n\t\tfn: (update: NumberedSetUpdate) => void,\n\t): () => void {\n\t\treturn this.subject.subscribe(key, (update) =>\n\t\t\tfn(`${this.cacheUpdateNumber}=${update}`),\n\t\t)\n\t}\n\n\tpublic emit(update: SetUpdate): void {\n\t\tthis.subject.next(update)\n\t}\n\n\tprivate doStep(update: SetUpdate): void {\n\t\tconst typeValueBreak = update.indexOf(`:`)\n\t\tconst type = update.substring(0, typeValueBreak)\n\t\tconst value = update.substring(typeValueBreak + 1)\n\t\tswitch (type) {\n\t\t\tcase `add`:\n\t\t\t\tthis.add(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `clear`:\n\t\t\t\tthis.clear()\n\t\t\t\tbreak\n\t\t\tcase `del`:\n\t\t\t\tthis.delete(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `tx`:\n\t\t\t\tfor (const update of value.split(`;`)) {\n\t\t\t\t\tthis.doStep(update as SetUpdate)\n\t\t\t\t}\n\t\t}\n\t}\n\n\tpublic getUpdateNumber(update: NumberedSetUpdate): number {\n\t\tconst breakpoint = update.indexOf(`=`)\n\t\treturn Number(update.substring(0, breakpoint))\n\t}\n\n\tpublic do(update: NumberedSetUpdate): number | `OUT_OF_RANGE` | null {\n\t\tconst breakpoint = update.indexOf(`=`)\n\t\tconst updateNumber = Number(update.substring(0, breakpoint))\n\t\tconst eventOffset = updateNumber - this.cacheUpdateNumber\n\t\tconst isFuture = eventOffset > 0\n\t\tif (isFuture) {\n\t\t\tif (eventOffset === 1) {\n\t\t\t\tthis.mode = `playback`\n\t\t\t\tconst innerUpdate = update.substring(breakpoint + 1) as SetUpdate\n\t\t\t\tthis.doStep(innerUpdate)\n\t\t\t\tthis.mode = `record`\n\t\t\t\tthis.cacheUpdateNumber = updateNumber\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn this.cacheUpdateNumber + 1\n\t\t}\n\t\tif (Math.abs(eventOffset) < this.cacheLimit) {\n\t\t\tconst eventIdx = this.cacheIdx + eventOffset\n\t\t\tconst cachedUpdate = this.cache[eventIdx]\n\t\t\tif (cachedUpdate === update) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthis.mode = `playback`\n\t\t\tlet done = false\n\t\t\twhile (!done) {\n\t\t\t\tthis.cacheIdx %= this.cacheLimit\n\t\t\t\tconst update = this.cache[this.cacheIdx]\n\t\t\t\tthis.cacheIdx--\n\t\t\t\tif (!update) {\n\t\t\t\t\treturn `OUT_OF_RANGE`\n\t\t\t\t}\n\t\t\t\tconst undoRes = this.undo(update)\n\t\t\t\tdone = this.cacheIdx === eventIdx - 1\n\t\t\t}\n\t\t\tconst innerUpdate = update.substring(breakpoint + 1) as SetUpdate\n\t\t\tthis.doStep(innerUpdate)\n\t\t\tthis.mode = `record`\n\t\t\tthis.cacheUpdateNumber = updateNumber\n\t\t\treturn null\n\t\t}\n\t\treturn `OUT_OF_RANGE`\n\t}\n\n\tpublic undoStep(update: SetUpdate): void {\n\t\tconst breakpoint = update.indexOf(`:`)\n\t\tconst type = update.substring(0, breakpoint)\n\t\tconst value = update.substring(breakpoint + 1)\n\t\tswitch (type) {\n\t\t\tcase `add`:\n\t\t\t\tthis.delete(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `del`:\n\t\t\t\tthis.add(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `clear`: {\n\t\t\t\tconst values = JSON.parse(value) as P[]\n\t\t\t\tfor (const value of values) this.add(value)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase `tx`: {\n\t\t\t\tconst updates = value.split(`;`) as SetUpdate[]\n\t\t\t\tfor (let i = updates.length - 1; i >= 0; i--) {\n\t\t\t\t\tthis.undoStep(updates[i])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic undo(update: NumberedSetUpdate): number | null {\n\t\tconst breakpoint = update.indexOf(`=`)\n\t\tconst updateNumber = Number(update.substring(0, breakpoint))\n\t\tif (updateNumber === this.cacheUpdateNumber) {\n\t\t\tthis.mode = `playback`\n\t\t\tconst innerUpdate = update.substring(breakpoint + 1) as SetUpdate\n\t\t\tthis.undoStep(innerUpdate)\n\t\t\tthis.mode = `record`\n\t\t\tthis.cacheUpdateNumber--\n\t\t\treturn null\n\t\t}\n\t\treturn this.cacheUpdateNumber\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../src/set-rtx.ts"],"names":["update","value"],"mappings":"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","sourcesContent":["import type { Lineage, Transceiver, TransceiverMode } from \"atom.io/internal\"\nimport { Subject } from \"atom.io/internal\"\nimport type { Json, Stringified, primitive } from \"atom.io/json\"\nimport { parseJson, stringifyJson } from \"atom.io/json\"\n\nexport type SetUpdate =\n\t| `add:${string}`\n\t| `clear:${string}`\n\t| `del:${string}`\n\t| `tx:${string}`\nexport type NumberedSetUpdate = `${number}=${SetUpdate}`\n\nexport interface SetRTXJson<P extends primitive> extends Json.Object {\n\tmembers: P[]\n\tcache: (NumberedSetUpdate | null)[]\n\tcacheLimit: number\n\tcacheIdx: number\n\tcacheUpdateNumber: number\n}\nexport class SetRTX<P extends primitive>\n\textends Set<P>\n\timplements Transceiver<NumberedSetUpdate>, Lineage\n{\n\tpublic mode: TransceiverMode = `record`\n\tpublic readonly subject = new Subject<SetUpdate>()\n\tpublic cacheLimit = 0\n\tpublic cache: (NumberedSetUpdate | null)[] = []\n\tpublic cacheIdx = -1\n\tpublic cacheUpdateNumber = -1\n\n\tpublic constructor(values?: Iterable<P>, cacheLimit = 0) {\n\t\tsuper(values)\n\t\tif (values instanceof SetRTX) {\n\t\t\tthis.parent = values\n\t\t\tthis.cacheUpdateNumber = values.cacheUpdateNumber\n\t\t}\n\t\tif (cacheLimit) {\n\t\t\tthis.cacheLimit = cacheLimit\n\t\t\tthis.cache = new Array(cacheLimit)\n\t\t\tthis.subscribe(`auto cache`, (update) => {\n\t\t\t\tthis.cacheIdx++\n\t\t\t\tthis.cacheIdx %= this.cacheLimit\n\t\t\t\tthis.cache[this.cacheIdx] = update\n\t\t\t})\n\t\t}\n\t}\n\n\tpublic toJSON(): SetRTXJson<P> {\n\t\treturn {\n\t\t\tmembers: [...this],\n\t\t\tcache: this.cache,\n\t\t\tcacheLimit: this.cacheLimit,\n\t\t\tcacheIdx: this.cacheIdx,\n\t\t\tcacheUpdateNumber: this.cacheUpdateNumber,\n\t\t}\n\t}\n\n\tpublic static fromJSON<P extends primitive>(json: SetRTXJson<P>): SetRTX<P> {\n\t\tconst set = new SetRTX<P>(json.members, json.cacheLimit)\n\t\tset.cache = json.cache\n\t\tset.cacheIdx = json.cacheIdx\n\t\tset.cacheUpdateNumber = json.cacheUpdateNumber\n\t\treturn set\n\t}\n\n\tpublic add(value: P): this {\n\t\tif (this.mode === `record`) {\n\t\t\tthis.cacheUpdateNumber++\n\t\t\tthis.emit(`add:${stringifyJson<P>(value)}`)\n\t\t}\n\t\treturn super.add(value)\n\t}\n\n\tpublic clear(): void {\n\t\tif (this.mode === `record`) {\n\t\t\tthis.cacheUpdateNumber++\n\t\t\tthis.emit(`clear:${JSON.stringify([...this])}`)\n\t\t}\n\t\tsuper.clear()\n\t}\n\n\tpublic delete(value: P): boolean {\n\t\tif (this.mode === `record`) {\n\t\t\tthis.cacheUpdateNumber++\n\t\t\tthis.emit(`del:${stringifyJson<P>(value)}`)\n\t\t}\n\t\treturn super.delete(value)\n\t}\n\n\tpublic readonly parent: SetRTX<P> | null\n\tpublic child: SetRTX<P> | null = null\n\tpublic transactionUpdates: SetUpdate[] | null = null\n\tpublic transaction(run: (child: SetRTX<P>) => boolean): void {\n\t\tthis.mode = `transaction`\n\t\tthis.transactionUpdates = []\n\t\tthis.child = new SetRTX(this)\n\t\tconst unsubscribe = this.child._subscribe(`transaction`, (update) => {\n\t\t\tthis.transactionUpdates?.push(update)\n\t\t})\n\t\ttry {\n\t\t\tconst shouldCommit = run(this.child)\n\t\t\tif (shouldCommit) {\n\t\t\t\tthis.cacheUpdateNumber++\n\t\t\t\tthis.emit(`tx:${this.transactionUpdates.join(`;`)}`)\n\t\t\t\tfor (const update of this.transactionUpdates) {\n\t\t\t\t\tthis.doStep(update)\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (thrown) {\n\t\t\tconsole.error(`Failed to apply transaction: ${thrown}`)\n\t\t} finally {\n\t\t\tunsubscribe()\n\t\t\tthis.child = null\n\t\t\tthis.transactionUpdates = null\n\t\t\tthis.mode = `record`\n\t\t}\n\t}\n\n\tprotected _subscribe(\n\t\tkey: string,\n\t\tfn: (update: SetUpdate) => void,\n\t): () => void {\n\t\treturn this.subject.subscribe(key, fn)\n\t}\n\tpublic subscribe(\n\t\tkey: string,\n\t\tfn: (update: NumberedSetUpdate) => void,\n\t): () => void {\n\t\treturn this.subject.subscribe(key, (update) =>\n\t\t\tfn(`${this.cacheUpdateNumber}=${update}`),\n\t\t)\n\t}\n\n\tpublic emit(update: SetUpdate): void {\n\t\tthis.subject.next(update)\n\t}\n\n\tprivate doStep(update: SetUpdate): void {\n\t\tconst typeValueBreak = update.indexOf(`:`)\n\t\tconst type = update.substring(0, typeValueBreak)\n\t\tconst value = update.substring(typeValueBreak + 1)\n\t\tswitch (type) {\n\t\t\tcase `add`:\n\t\t\t\tthis.add(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `clear`:\n\t\t\t\tthis.clear()\n\t\t\t\tbreak\n\t\t\tcase `del`:\n\t\t\t\tthis.delete(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `tx`:\n\t\t\t\tfor (const update of value.split(`;`)) {\n\t\t\t\t\tthis.doStep(update as SetUpdate)\n\t\t\t\t}\n\t\t}\n\t}\n\n\tpublic getUpdateNumber(update: NumberedSetUpdate): number {\n\t\tconst breakpoint = update.indexOf(`=`)\n\t\treturn Number(update.substring(0, breakpoint))\n\t}\n\n\tpublic do(update: NumberedSetUpdate): number | `OUT_OF_RANGE` | null {\n\t\tconst breakpoint = update.indexOf(`=`)\n\t\tconst updateNumber = Number(update.substring(0, breakpoint))\n\t\tconst eventOffset = updateNumber - this.cacheUpdateNumber\n\t\tconst isFuture = eventOffset > 0\n\t\tif (isFuture) {\n\t\t\tif (eventOffset === 1) {\n\t\t\t\tthis.mode = `playback`\n\t\t\t\tconst innerUpdate = update.substring(breakpoint + 1) as SetUpdate\n\t\t\t\tthis.doStep(innerUpdate)\n\t\t\t\tthis.mode = `record`\n\t\t\t\tthis.cacheUpdateNumber = updateNumber\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn this.cacheUpdateNumber + 1\n\t\t}\n\t\tif (Math.abs(eventOffset) < this.cacheLimit) {\n\t\t\tconst eventIdx = this.cacheIdx + eventOffset\n\t\t\tconst cachedUpdate = this.cache[eventIdx]\n\t\t\tif (cachedUpdate === update) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\tthis.mode = `playback`\n\t\t\tlet done = false\n\t\t\twhile (!done) {\n\t\t\t\tthis.cacheIdx %= this.cacheLimit\n\t\t\t\tconst update = this.cache[this.cacheIdx]\n\t\t\t\tthis.cacheIdx--\n\t\t\t\tif (!update) {\n\t\t\t\t\treturn `OUT_OF_RANGE`\n\t\t\t\t}\n\t\t\t\tthis.undo(update)\n\t\t\t\tdone = this.cacheIdx === eventIdx - 1\n\t\t\t}\n\t\t\tconst innerUpdate = update.substring(breakpoint + 1) as SetUpdate\n\t\t\tthis.doStep(innerUpdate)\n\t\t\tthis.mode = `record`\n\t\t\tthis.cacheUpdateNumber = updateNumber\n\t\t\treturn null\n\t\t}\n\t\treturn `OUT_OF_RANGE`\n\t}\n\n\tpublic undoStep(update: SetUpdate): void {\n\t\tconst breakpoint = update.indexOf(`:`)\n\t\tconst type = update.substring(0, breakpoint)\n\t\tconst value = update.substring(breakpoint + 1)\n\t\tswitch (type) {\n\t\t\tcase `add`:\n\t\t\t\tthis.delete(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `del`:\n\t\t\t\tthis.add(parseJson(value as Stringified<P>))\n\t\t\t\tbreak\n\t\t\tcase `clear`: {\n\t\t\t\tconst values = JSON.parse(value) as P[]\n\t\t\t\tfor (const value of values) this.add(value)\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase `tx`: {\n\t\t\t\tconst updates = value.split(`;`) as SetUpdate[]\n\t\t\t\tfor (let i = updates.length - 1; i >= 0; i--) {\n\t\t\t\t\tthis.undoStep(updates[i])\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic undo(update: NumberedSetUpdate): number | null {\n\t\tconst breakpoint = update.indexOf(`=`)\n\t\tconst updateNumber = Number(update.substring(0, breakpoint))\n\t\tif (updateNumber === this.cacheUpdateNumber) {\n\t\t\tthis.mode = `playback`\n\t\t\tconst innerUpdate = update.substring(breakpoint + 1) as SetUpdate\n\t\t\tthis.undoStep(innerUpdate)\n\t\t\tthis.mode = `record`\n\t\t\tthis.cacheUpdateNumber--\n\t\t\treturn null\n\t\t}\n\t\treturn this.cacheUpdateNumber\n\t}\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Transceiver, TransceiverMode, Subject } from 'atom.io/internal';
1
+ import { Transceiver, Lineage, TransceiverMode, Subject } from 'atom.io/internal';
2
2
  import { primitive, Json } from 'atom.io/json';
3
3
 
4
4
  type SetUpdate = `add:${string}` | `clear:${string}` | `del:${string}` | `tx:${string}`;
@@ -10,7 +10,7 @@ interface SetRTXJson<P extends primitive> extends Json.Object {
10
10
  cacheIdx: number;
11
11
  cacheUpdateNumber: number;
12
12
  }
13
- declare class SetRTX<P extends primitive> extends Set<P> implements Transceiver<NumberedSetUpdate> {
13
+ declare class SetRTX<P extends primitive> extends Set<P> implements Transceiver<NumberedSetUpdate>, Lineage {
14
14
  mode: TransceiverMode;
15
15
  readonly subject: Subject<SetUpdate>;
16
16
  cacheLimit: number;
@@ -1,4 +1,4 @@
1
- import { Transceiver, TransceiverMode, Subject } from 'atom.io/internal';
1
+ import { Transceiver, Lineage, TransceiverMode, Subject } from 'atom.io/internal';
2
2
  import { primitive, Json } from 'atom.io/json';
3
3
 
4
4
  type SetUpdate = `add:${string}` | `clear:${string}` | `del:${string}` | `tx:${string}`;
@@ -10,7 +10,7 @@ interface SetRTXJson<P extends primitive> extends Json.Object {
10
10
  cacheIdx: number;
11
11
  cacheUpdateNumber: number;
12
12
  }
13
- declare class SetRTX<P extends primitive> extends Set<P> implements Transceiver<NumberedSetUpdate> {
13
+ declare class SetRTX<P extends primitive> extends Set<P> implements Transceiver<NumberedSetUpdate>, Lineage {
14
14
  mode: TransceiverMode;
15
15
  readonly subject: Subject<SetUpdate>;
16
16
  cacheLimit: number;