atom.io 0.44.14 → 0.45.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 (72) hide show
  1. package/dist/eslint-plugin/index.js +1 -1
  2. package/dist/introspection/index.d.ts +3 -2
  3. package/dist/introspection/index.d.ts.map +1 -1
  4. package/dist/introspection/index.js.map +1 -1
  5. package/dist/json/index.d.ts +34 -20
  6. package/dist/json/index.d.ts.map +1 -1
  7. package/dist/json/index.js +40 -2
  8. package/dist/json/index.js.map +1 -1
  9. package/dist/main/index.d.ts +3 -3
  10. package/dist/main/index.d.ts.map +1 -1
  11. package/dist/main/index.js +3 -2
  12. package/dist/main/index.js.map +1 -1
  13. package/dist/react/index.d.ts +4 -4
  14. package/dist/react/index.d.ts.map +1 -1
  15. package/dist/react/index.js.map +1 -1
  16. package/dist/react-devtools/index.js.map +1 -1
  17. package/dist/realtime-client/index.d.ts +1 -1
  18. package/dist/realtime-client/index.d.ts.map +1 -1
  19. package/dist/realtime-client/index.js.map +1 -1
  20. package/dist/realtime-server/index.d.ts +5 -0
  21. package/dist/realtime-server/index.d.ts.map +1 -1
  22. package/dist/realtime-server/index.js +38 -12
  23. package/dist/realtime-server/index.js.map +1 -1
  24. package/dist/realtime-testing/index.d.ts.map +1 -1
  25. package/dist/realtime-testing/index.js +3 -9
  26. package/dist/realtime-testing/index.js.map +1 -1
  27. package/dist/transceivers/o-list/index.d.ts +1 -2
  28. package/dist/transceivers/o-list/index.d.ts.map +1 -1
  29. package/dist/transceivers/o-list/index.js +23 -24
  30. package/dist/transceivers/o-list/index.js.map +1 -1
  31. package/dist/transceivers/u-list/index.d.ts +1 -2
  32. package/dist/transceivers/u-list/index.d.ts.map +1 -1
  33. package/dist/transceivers/u-list/index.js +5 -6
  34. package/dist/transceivers/u-list/index.js.map +1 -1
  35. package/package.json +2 -10
  36. package/src/introspection/attach-introspection-states.ts +1 -1
  37. package/src/introspection/attach-transaction-logs.ts +2 -2
  38. package/src/introspection/index.ts +3 -0
  39. package/src/json/canonical.ts +42 -0
  40. package/src/json/enumeration.ts +36 -0
  41. package/src/json/index.ts +3 -132
  42. package/src/json/json.ts +128 -0
  43. package/src/main/index.ts +9 -2
  44. package/src/main/logger.ts +4 -2
  45. package/src/react/use-loadable.ts +10 -5
  46. package/src/react-devtools/TransactionIndex.tsx +1 -1
  47. package/src/react-devtools/store.ts +3 -3
  48. package/src/realtime-client/continuity/register-and-attempt-confirmed-update.ts +2 -2
  49. package/src/realtime-server/realtime-family-provider.ts +44 -0
  50. package/src/realtime-server/realtime-mutable-family-provider.ts +38 -0
  51. package/src/realtime-server/realtime-mutable-provider.ts +19 -0
  52. package/src/realtime-server/realtime-server-stores/provide-rooms.ts +2 -1
  53. package/src/realtime-server/realtime-state-provider.ts +20 -0
  54. package/src/realtime-server/server-config.ts +2 -1
  55. package/src/realtime-testing/setup-realtime-test.tsx +3 -9
  56. package/src/transceivers/o-list/o-list.ts +27 -28
  57. package/src/transceivers/u-list/u-list.ts +7 -8
  58. package/dist/data/index.d.ts +0 -23
  59. package/dist/data/index.d.ts.map +0 -1
  60. package/dist/data/index.js +0 -63
  61. package/dist/data/index.js.map +0 -1
  62. package/dist/struct/index.d.ts +0 -14
  63. package/dist/struct/index.d.ts.map +0 -1
  64. package/dist/struct/index.js +0 -37
  65. package/dist/struct/index.js.map +0 -1
  66. package/src/data/dict.ts +0 -31
  67. package/src/data/index.ts +0 -3
  68. package/src/data/struct-family.ts +0 -53
  69. package/src/data/struct.ts +0 -54
  70. package/src/struct/index.ts +0 -1
  71. package/src/struct/micro.ts +0 -72
  72. /package/dist/{chunk-D8lmAICg.js → chunk-CKcAJnC7.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["PRETTY_ENTITY_NAMES: Record<EntityDenomination, string>","simpleLogger: Logger","$validatedKey: unique symbol"],"sources":["../../src/main/timeline.ts","../../src/main/tokens.ts","../../src/main/validators.ts","../../src/main/events.ts","../../src/main/atom.ts","../../src/main/dispose-state.ts","../../src/main/find-state.ts","../../src/main/get-state.ts","../../src/main/join.ts","../../src/main/logger.ts","../../src/main/realm.ts","../../src/main/reset-state.ts","../../src/main/set-state.ts","../../src/main/transaction.ts","../../src/main/selector.ts","../../src/main/silo.ts","../../src/main/subscribe.ts","../../src/main/index.ts"],"sourcesContent":[],"mappings":"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4B,YMPhC,GNOgC,CACnB,CAAA,KAAA,EMPjB,sBNOiB,CMPM,CNON,EMPS,GNOT,CAAA,EAAA,GAAA,EMPkB,GNOlB,CAAA,EMPwB,kBNOxB,CMPyC,CNOzC,EMP4C,GNO5C,CAAA;;;;;;;;AC5B1B;;;;;;AAMY,iBK6BI,SL7BJ,CAA2B,CAAA,EAC1B,YK4B0B,SL5B1B,EAAG,YK4B8C,GL5B9C,CAAG,CAAA,KAAA,EK6BX,sBL7BW,CK6BY,CL7BZ,EK6Be,GL7Bf,CAAA,EAAA,GAAA,EK8Bb,GL9Ba,CAAA,EK+BhB,kBL/BgB,CK+BC,CL/BD,EK+BI,GL/BJ,CAAA;;;;;;;AAGnB;;;;;;;AAE4B,iBKwCZ,SLxCY,CAAG,CAAA,EAA5B,YKwCoC,SLxCpC,EAAA,YKwC2D,GLxC3D,CAKH,CAAA,KAAY,EKoCJ,6BLpCI,CKoCwB,CLpCxB,EKoC2B,GLpC3B,CAAA,EAAA,GAAA,EKqCN,GLrCM,CAAA,EKsCT,uBLtCS,CKsCa,CLtCb,EKsCgB,GLtChB,CAAA;;;;;;;;;;;AAMZ;;;AACsB,iBK6CN,SL7CM,CAAG,CAAA,EAAtB,YK6CoC,SL7CpC,EAC4B,YK4C+B,GL5C/B,CAAG,CAAA,KAAA,EK6C1B,6BL7C0B,CK6CE,CL7CF,EK6CK,GL7CL,CAAA,EAAA,GAAA,EK8C5B,GL9C4B,CAAA,EK+C/B,uBL/C+B,CK+CT,CL/CS,EK+CN,GL/CM,CAAA;;;;AAElC;AASA;AASA;;;;;;;;AAEuB,iBKuCP,SLvCO,CAAG,CAAA,EAAvB,YKuCoC,SLvCpC,EAAA,YKuC2D,GLvC3D,CACH,CAAA,KAAY,EKuCJ,qBLvCI,CKuCgB,CLvChB,EKuCmB,GLvCnB,CAAA,EAAA,GAAA,EKwCN,GLxCM,CAAA,EKyCT,eLzCS,CKyCK,CLzCL,EKyCQ,GLzCR,CAAA;;;;;;;AAYZ;;;;;;;;AAcY,iBK8BI,SL9BJ,CAA2B,CAAA,EACd,YK6Bc,SL7Bd,EAAG,YK6BkC,GL7BlC,CAAG,CAAA,KAAA,EK8BvB,qBL9BuB,CK8BH,CL9BG,EK8BA,GL9BA,CAAA,EAAA,GAAA,EK+BzB,GL/ByB,CAAA,EKgC5B,eLhC4B,CKgCd,CLhCc,EKgCX,GLhCW,CAAA;;;;;;ADrF/B;AAGA;;;AACW,iBOKK,QPLL,CACP,CAAA,EACA,IAAA,KAAA,CAAU,CAAA,KAAA,EOIN,aPJM,COIQ,CPJR,EAAA,GAAA,EOIgB,CPJhB,CAAA,CAAA,EOKX,QPLW,COKJ,CPLI,GOKA,CPLA,CAAA;;;AAQd;AAOA;AAIA;AAYA;;AAC0B,iBOlBV,QPkBU,CAAhB,CAAA,EACO,YOnBqB,SPmBrB,EAAd,IAAA,KAAA,CAAA,CAAA,KAAA,EOlBK,mBPkBL,COlByB,CPkBzB,EOlB4B,GPkB5B,EOlB+B,CPkB/B,CAAA,EAAA,GAAA,EOjBG,OPiBH,COjBW,GPiBX,CAAA,CAAA,EOhBA,QPgBA,COhBO,CPgBP,GOhBW,CPgBX,CAAA;;;KQzBS,oDRdZ,cAAY,MAAA,EAGZ,UAAY,MAAA,EAAmB,oBAAA,KAAA,GAAA,KAAA,GAAA,KAAA,CAC9B,GQiBA,IRjBA,CQkBG,kBRlBH,CQkBsB,KRlBtB,EQkB6B,KRlB7B,CAAA,GAAA;EAAU;EACP,SAAA,GAAA,EAAA,MAAA;EACA;EAAU,SAAA,WAAA,EQqBW,WRrBX;EACT;EAAA,SAAA,OAAA,EQsBgB,URtBhB,CAAA,MAAA,EQsBmC,CRtBnC,CAAA;EAOL;EAOA,SAAa,OAAkB,EQUV,URVU,CAAA,MAAA,EQUS,CRVT,CAAA;AAI/B,CAAA,CAAA,GQQK,ORRO,CQQC,mBRRD,CQQqB,CRRrB,EQQwB,CRRxB,EAAA,IAAA,CAAA,CAAA;AAYC,KQFD,SRIK,CAF4B,cAAA,MAAA,EACnB,UAAA,MAAA,EAAhB,cAAA,MAAA,EACO,UAAA,MAAA,EAAd,oBAAA,KAAA,GAAA,KAAA,GAAA,KAAA,CAAA,GAAA;;;;EC7BH,IAAY,EAAA,MAAA;EACT;EACA,WAAA,EOmCW,WPnCX;EACA;EACA,CAAA,EOmCC,KPnCD;EAAA;EAEH,CAAA,EOmCI,KPnCQ;EAA2B;EAC1B,OAAA,CAAA,EOoCF,CPpCE;EAAG;EAAG,OAAA,CAAA,EOsCR,CPtCQ;CAAhB;;;;;;AAGH;;;;;;AAEyB,iBO+CT,IP/CS,CAAG,oBAAA,MAAA,EAAG,gBAAA,MAAA,EAA5B,oBAAA,MAAA,EAAA,gBAAA,MAAA,EAKH,0BAAY,KAAA,GAAA,KAAA,GAAA,KAAA,CAAiC,CAAA,OAAA,EOiDnC,WPjDmC,COiDvB,KPjDuB,EOiDhB,CPjDgB,EOiDb,KPjDa,EOiDN,CPjDM,EOiDH,WPjDG,CAAA,CAAA,EOkD1C,SPlD0C,COkDhC,KPlDgC,EOkDzB,CPlDyB,EOkDtB,KPlDsB,EOkDf,CPlDe,EOkDZ,WPlDY,CAAA;AAC1B,KOqDP,UPrDO,CAAG,cAAA,MAAA,EAAG,UAAA,MAAA,EAAtB,cAAA,MAAA,EACoB,UAAA,MAAA,EAAG,oBAAA,KAAA,GAAA,KAAA,GAAA,KAAA,CAAG,GO0DzB,WP1DyB,SAAA,KAAA,GAAA,iBO4DX,KP5DW,IAAA,GO4DC,CP5DD,QO4DU,UP5DV,CO4DqB,KP5DrB,CAAA,EAAA,GO4DgC,2BP5DhC,CO6DzB,CP7DyB,GAAA,IAAA,EO8DzB,CP9DyB,CAAA,EAAA,GAAA,iBOiEX,KPjEW,IAAA,GOiEC,CPjED,QOiEU,UPjEV,COiEqB,KPjErB,CAAA,EAAA,GOiEgC,2BPjEhC,COkEzB,CPlEyB,GAAA,IAAA,EOmEzB,CPnEyB,CAAA,EAAA,GOsE1B,WPtE0B,SAAA,KAAA,GAAA,iBOwEV,KPxEU,IAAA,GOwEE,CPxEF,QOwEW,UPxEX,COwEsB,KPxEtB,CAAA,EAAA,GOwEiC,2BPxEjC,COyExB,CPzEwB,GAAA,IAAA,EO0ExB,CP1EwB,CAAA,EAAA,GAAA,iBO6EV,KP7EU,IAAA,GO6EE,CP7EF,SO6EY,UP7EZ,CO6EuB,KP7EvB,CAAA,EAAA,GO6EkC,2BP7ElC,CO8ExB,CP9EwB,EAAA,EO+ExB,CP/EwB,CAAA,EAAA,GOkFzB,WPlFyB,SAAA,KAAA,GAAA,iBOoFT,KPpFS,IAAA,GOoFG,CPpFH,SOoFa,UPpFb,COoFwB,KPpFxB,CAAA,EAAA,GOoFmC,2BPpFnC,COqFvB,CPrFuB,EAAA,EOsFvB,CPtFuB,CAAA,EAAA,GAAA,iBOyFT,KPzFS,IAAA,GOyFG,CPzFH,SOyFa,UPzFb,COyFwB,KPzFxB,CAAA,EAAA,GOyFmC,2BPzFnC,CO0FvB,CP1FuB,EAAA,EO2FvB,CP3FuB,CAAA,EAAA,GAAA,KAAA;;;AAI7B;;;;;;AAE+B,iBOkGf,aPlGe,CAAG,cAAA,MAAA,EAAG,UAAA,MAAA,EAAlC,cAAA,MAAA,EAAA,UAAA,MAAA,EAEH,oBAAY,KAAA,GAAA,KAML,GAAA,KAAA,CAGP,CAAA,KAAY,EO8FJ,SP9FI,CO8FM,KP9FN,EO8Fa,CP9Fb,EO8FgB,KP9FhB,EO8FuB,CP9FvB,EO8F0B,WPxF/B,CAAA,EAAA,GAAA,EOyFD,CPzFC,GOyFG,CPzFH,CAAA,EO0FJ,UP1FI,CO0FO,KP1FP,EO0Fc,CP1Fd,EO0FiB,KP1FjB,EO0FwB,CP1FxB,EO0F2B,WP1F3B,CAAA;AAGP;;;;;AACsE,iBO+FtD,aP/FsD,CAAnE,cAAA,MAAA,EACiB,UAAA,MAAA,EAAG,cAAA,MAAA,EAAG,UAAA,MAAA,EAAvB,oBAAA,KAAA,GAAA,KAAA,GAAA,KAAA,CAAA,CAAA,KAAA,EOqGK,SPrGL,COqGe,KPrGf,EOqGsB,CPrGtB,EOqGyB,KPrGzB,EOqGgC,CPrGhC,EOqGmC,WPrGnC,CAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EOsGkB,QPtGlB,COsG2B,KPtG3B,EOsGkC,CPtGlC,EOsGqC,KPtGrC,EOsG4C,CPtG5C,CAAA,EAAA,GAAA,IAAA,CAAA,EAAA,IAAA;AACH;;;;;AAUO,iBOqGS,oBPrGT,CAAA,UAAA,MAAA,EAEP,UAAY,MAAA,CACD,CAAA,KAAA,EOmGH,SPnGG,CAAA,GAAA,EOmGY,CPnGZ,EAAA,GAAA,EOmGoB,CPnGpB,EAAA,GAAA,CAAA,CAAA,EOoGR,wBPpGQ,COoGe,KPpGf,COoGqB,CPpGrB,CAAA,GOoG0B,KPpG1B,COoGgC,CPpGhC,CAAA,EOoGoC,CPpGpC,GOoGwC,CPpGxC,CAAA;AACA,iBOoGK,oBPpGL,CAOc,UAAA,MAAA,EAAf,UAAA,MAAA,CAEI,CAAA,KAAA,EO4FN,SP5FM,CAAA,GAAA,EO4FS,CP5FT,EAAA,GAAA,EO4FiB,CP5FjB,EAAA,GAAA,CAAA,EAAA,KAAA,EAAA,OAAA,CAAA,EAAA,CAAA,IAAA,EO+FP,wBP/FO,CO+FgB,KP/FhB,CO+FsB,CP/FtB,CAAA,EO+F0B,CP/F1B,CAAA,EAAA,IAAA,EOgGP,wBPhGO,COgGgB,KPhGhB,COgGsB,CPhGtB,CAAA,EOgG0B,CPhG1B,CAAA,CAAA;;;cQrFR;;;;;;ETIN,SAAY,IAAA,EAAA,iBAAA;EAGZ,SAAY,IAAA,EAAA,gBAAA;EAAmB,SAAA,GAAA,EAAA,YAAA;EAC9B,SAAA,GAAA,EAAA,eAAA;EAAU,SAAA,GAAA,EAAA,WAAA;EACP,SAAA,GAAA,EAAA,iBAAA;EACA,SAAA,IAAA,EAAA,oBAAA;EAAU,SAAA,IAAA,EAAA,mBAAA;EACT,SAAA,IAAA,EAAA,qBAAA;EAAA,SAAA,IAAA,EAAA,oBAAA;EAOL,SAAa,IAAkB,EAAA,kBAAA;EAO/B,SAAa,IAAkB,EAAA,oBAAA;EAI/B,SAAY,IAAA,EAAA,4BAAA;EAYZ,SAAa,IAAA,EAEI,eAAA;EAF4B,SAAA,IAAA,EAAA,aAAA;EACnB,SAAA,IAAA,EAAA,mBAAA;EAAhB,SAAA,IAAA,EAAA,mBAAA;EACO,SAAA,IAAA,EAAA,sBAAA;EAAd,SAAA,IAAA,EAAA,0BAAA;EAAA,SAAA,IAAA,EAAA,mBAAA;;;;EC7BH,SAAY,IAAA,EAAA,kBAAA;EACT,SAAA,IAAA,EAAA,kBAAA;EACA,SAAA,GAAA,EAAA,mCAAA;EACA,SAAA,IAAA,EAAA,sBAAA;EACA,SAAA,IAAA,EAAA,2DAAA;EAAA,SAAA,GAAA,EAAA,6CAAA;EAEH,SAAY,GAAA,EAAA,oCAAA;EAA2B,SAAA,IAAA,EAAA,wBAAA;EAC1B,SAAA,IAAA,EAAA,sCAAA;EAAG,SAAA,IAAA,EAAA,oBAAA;EAAG,SAAA,IAAA,EAAA,uBAAA;EAAhB,SAAA,IAAA,EAAA,oBAAA;EACc,SAAA,KAAA,EAAA,eAAA;EAAG,SAAA,IAAA,EAAA,eAAA;EAAG,SAAA,IAAA,EAAA,qBAAA;EAApB,SAAA,GAAA,EAAA,8BAAA;EAAA,SAAA,IAAA,EAAA,mCAAA;EAEH,SAAY,IAAA,EAAA,qCAAA;EAA2B,SAAA,IAAA,EAAA,oCAAA;EAC1B,SAAA,OAAA,EAAA,0CAAA;EAAG,SAAA,KAAA,EAAA,+BAAA;EAAG,SAAA,IAAA,EAAA,yBAAA;EAAhB,SAAA,IAAA,EAAA,kCAAA;EACsB,SAAA,IAAA,EAAA,2BAAA;EAAG,SAAA,IAAA,EAAA,mBAAA;EAAG,SAAA,IAAA,EAAA,yBAAA;CAA5B;AAAA,KQyCS,UAAA,GRzCT,MAAA,OQyCmC,sBRzCnC;AAKS,KQqCA,kBAAA,GRrCA,aAAA,GAAA,MAAA,GAAA,YAAA,GAAA,KAAA,GAAA,qBAAA,GAAA,cAAA,GAAA,+BAAA,GAAA,wBAAA,GAAA,+BAAA,GAAA,wBAAA,GAAA,QAAA,GAAA,OAAA,GAAA,UAAA,GAAA,aAAA,GAAA,SAAA,GAAA,+BAAA,GAAA,wBAAA,GAAA,+BAAA,GAAA,wBAAA;AAAiC,cQ0DhCA,mBR1DgC,EQ0DX,MR1DW,CQ0DJ,kBR1DI,EAAA,MAAA,CAAA;AAC1B,cQ+EN,UR/EM,EAAA,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA;AAAG,KQgFV,QAAA,GRhFU,CAAA,OQgFS,URhFT,CAAA,CAAA,MAAA,CAAA;AAAG,KQkFb,KAAA,GRlFa,CAAA,IAAA,EQmFlB,URnFkB,EAAA,YAAA,EQoFV,kBRpFU,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;AAAtB,KQyFS,SAAA,GRzFT,CAAA,GAAA,MAAA,EQ0FS,UR1FT,CQ0FoB,KR1FpB,CAAA,EAAA,GQ2FE,UR3FF,CQ2Fa,KR3Fb,CAAA,GAAA,OAAA;AACoB,KQ4FX,MAAA,GAAS,MR5FE,CQ4FK,QR5FL,EQ4Fe,KR5Ff,CAAA;AAAG,cQ8Fb,SR9Fa,EAAA,CAAA,QAAA,EAAA,MQ+FR,MR/FQ,EAAA,GQ+FC,KR/FD;AAAG,cQuGhBC,YRvGgB,EQuGF,MRvGE;AAA1B,cQ6GU,YAAA,YAAwB,MR7GlC,CAAA;EAAA,QAAA,EAAA,OAAA,GAAA,MAAA,GAAA,MAAA,GAAA,IAAA;EAIH,MAAY,EQ2GI,SR3GJ,GAAA,SAAA;EAAiC,iBAAA,MAAA;EAC1B,WAAA,CAAA,QAAA,EAAA,OAAA,GAAA,MAAA,GAAA,MAAA,GAAA,IAAA,EAAA,MAAA,CAAA,EQ+GR,SR/GQ,EAAA,MAAA,CAAA,EQgHT,MRhHS;EAAG,KAAA,EQuHP,KRvHO;EAAG,IAAA,EQiIX,KRjIW;EAAtB,IAAA,EQ2IW,KR3IX;;;;cStBUC;KACD,qBAAmB,aAAa;GAAO,aAAA;AVbnD,CAAA;AAGY,iBUYI,cAAA,CVZJ,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA;AAAmB,cUgBlB,KVhBkB,CAAA,UUgBF,SVhBE,CAAA,CAAA;EAC9B,KAAA,EUgBc,SVhBd;EAAU,YAAA,EUiBW,gBVjBX,CAAA,CAAA,KAAA,EUiBoC,QVjBpC,CUiB6C,MVjB7C,CUiBoD,CVjBpD,CAAA,CAAA,EAAA,GAAA,IAAA,CAAA;EACP,OAAA,EUiBa,gBVjBb,CAAA,CACA,YUiBS,OVjBT,CUiBiB,MVjBjB,CUiBwB,CVjBxB,CAAA,EUiB4B,gBVjB5B,CAAA,EAAU,UUiB+C,KVjB/C,CUiBqD,GVjBrD,EUiBwD,CVjBxD,CAAA,CACT,CAAA,aAAA,EUiBa,CVjBb,EAAA,KAAA,EUkBK,QVlBL,CUkBc,GVlBd,CAAA,EAAA,SAAA,CAAA,EAAA,WAAA,EAAA,GAAA,IAAA,CAAA;EAAA;AAOL;AAOA;EAIA,WAAY,CAAA,KAAA,CAAA,EUOe,SVPf;EAYZ;;;;;;;;uBUS2B,OAAO,ITpClC,USoCgD,KTpCpC,CSoC0C,GTpC1C,ESoC6C,CTpC7C,CAAA,CACT,CAAA,UAAA,ESoCW,CTpCX,EAAA,GAAA,ESqCI,GTrCJ,EAAA,eAAA,CAAA,EAAA,KAAA,GAAA,KAAA,CAAA,ESuCC,QTvCD,CSuCU,GTvCV,CAAA;EACA;;;;AAIH;;;;EACmB,IAAA,CAAhB,USkDS,YTlDT,CSkDsB,CTlDtB,CAAA,EACc,WSkDL,CTlDK,SSkDK,gBTlDL,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,GAAA,CAAA,GSkD2C,CTlD3C,GAAA,KAAA,GAAG,WSmDR,CTnDQ,SSmDE,gBTnDF,CAAA,GAAA,EAAA,KAAA,EAAA,EAAA,GAAA,CAAA,GSmDwC,CTnDxC,GAAA,KAAA,GAAG,WSoDX,CTpDW,SSoDD,gBTpDC,CAAA,GAAA,EAAA,GAAA,EAAA,KAAA,EAAA,CAAA,GSoDqC,CTpDrC,GAAA,KAAA,EAApB,CAAA,IAAA,ESsDK,CTtDL,EAAA,QAAA,ESuDS,gBTvDT,CSuD0B,CTvD1B,CAAA,EAAA,QAAA,ESwDS,gBTxDT,CSwD0B,CTxD1B,CAAA,CAAA,ESyDC,QTzDD,CSyDU,gBTzDV,CSyD2B,CTzD3B,ESyD8B,CTzD9B,ESyDiC,CTzDjC,CAAA,CAAA;EAAA;AAEH;;;EACgB,UAAA,CAAA,YS6Da,MT7Db,CS6DoB,CT7DpB,CAAA,CAAA,CAAA,KAAA,ES6D+B,QT7D/B,CS6DwC,GT7DxC,CAAA,CAAA,EAAA,IAAA;EAAG;;;;;;;AAMnB;EAA6C,KAAA,CAC1B,YSkEP,OTlEO,CSkEC,MTlED,CSkEQ,CTlER,CAAA,ESkEY,gBTlEZ,CAAA,EAAG,USmEV,KTnEU,CSmEJ,GTnEI,ESmED,CTnEC,CAAA,CAAG,CAAA,aAAA,ESoEP,CTpEO,EAAA,KAAA,ESoEG,QTpEH,CSoEY,GTpEZ,CAAA,EAAA,SAAA,CAAA,EAAA,WAAA,CAAA,EAAA,IAAA;;AACF,cS4EV,OAAA,CT5EU;EAAG,KAAA,ES6EX,ST7EW;EAAG,YAAA,ES8EP,gBT9EO,CAAA,CAAA,GAAA,ES8EgB,ST9EhB,EAAA,GAAA,IAAA,CAAA;EAA1B,OAAA,ES+Ec,gBT/Ed,CAAA,CAAA,aAAA,ESgFe,SThFf,EAAA,GAAA,ESgF+B,SThF/B,EAAA,SAAA,CAAA,EAAA,WAAA,EAAA,GAAA,IAAA,CAAA;EAAA;AAIH;;EACmB,WAAA,CAAA,KAAA,CAAA,ESiFQ,STjFR;EAAG;;;;;;EACnB,QAAA,CAAA,UAAA,ES6FW,ST7FX,EAAA,GAAA,ES8FI,ST9FJ,EAAA,eAAA,CAAA,EAAA,KAAA,GAAA,KAAA,CAAA,EAAA,IAAA;EAAA;AAEH;AASA;AASA;EAAmC,UAAA,CAAA,GAAA,ESwFX,STxFW,CAAA,EAAA,IAAA;EACf;;;;;;EACG,KAAA,CAAA,aAAA,ESgGN,SThGM,EAAA,GAAA,ESiGhB,STjGgB,EAAA,SAAA,CAAA,EAAA,WAAA,CAAA,EAAA,IAAA;EAAG;;;AAC1B;;;;;EAUO,IAAA,CAAA,UAAA,MAAA,EAEP,UAAY,MAAA,EACD,UAAA,MAAA,CACA,CAAA,IAAA,ESgGH,CThGG,EAAA,QAAA,ESiGC,gBTjGD,CSiGkB,CTjGlB,CAAA,EAAA,QAAA,ESkGC,gBTlGD,CSkGkB,CTlGlB,CAAA,CAAA,ESmGP,QTnGO,CSmGE,gBTnGF,CSmGmB,CTnGnB,ESmGsB,CTnGtB,ESmGyB,CTnGzB,CAAA,CAAA;;AAOD,iBSsGM,iBAAA,CTtGN,QAAA,ESuGC,STvGD,CAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,GAAA,IAAA;AAEI,KSsHF,EAAA,GTtHE,IAAA;AAAP,KSuHK,OTvHL,CAAA,UAAA,MAAA,CAAA,GAAA,GSuHoC,ETvHpC,KSuH2C,CTvH3C,EAAA;AAAA,KSwHK,gBTxHL,CAAA,UAAA,MAAA,GAAA,MAAA,CAAA,GAAA,GSwHsD,CTxHtD,KAAA,MAAA,EAAA;AAGK,KSsHA,gBTtHA,CAA2B,UAAA,MAAA,GAAA,MAAA,EACd,UAAA,MAAA,GAAA,MAAA,EAAG,UAAA,MAAA,GAAA,MAAA,CAAG,GAAA,GSyHxB,OTzHwB,CSyHhB,CTzHgB,CAAA,KSyHT,gBTzHS,CSyHQ,CTzHR,CAAA,KSyHe,gBTzHf,CSyHgC,CTzHhC,CAAA,EAAA;AAA5B,KS0HS,QT1HT,CACsB,UAAA,MAAA,GAAA,MAAA,EAAG,UAAA,MAAA,GAAA,MAAA,EAAG,UAAA,MAAA,GAAA,MAAA,CAA5B,GS6HC,gBT7HD,CS6HkB,CT7HlB,ES6HqB,CT7HrB,ES6HwB,CT7HxB,CAAA,GS6H6B,gBT7H7B,CS6H8C,CT7H9C,CAAA;KS8HE,KAAA,GAAQ,gBT9HV,EAAA;AACH,KS8HK,YAAA,GT9HO;EAAmC,KAAA,ES+HvC,KT/HuC;EAClB,KAAA,ES+HrB,gBT/HqB;CAAG;KSiI3B,eAAA,GTjIF;EAC0B,KAAA,ESiIrB,QTjIqB,GAAA,MAAA;EAAG,KAAA,ESkIxB,KTlIwB;CAAG;KSoI9B,MAAA,GAAS,eTpIX,GSoI6B,YTpI7B;AAAA,KSsIS,STtIT,CAAA,YSsI6B,MTtI7B,EAAA,GSsIwC,MTtIxC,EAAA,CAAA,GSsIoD,ITtIpD,CSsIyD,GTtIzD,CAAA;AACS,KSuIA,MTvIA,CAAA,USuIiB,STvIjB,CAAA,GAAA,QAAA,MSwIC,CTxID,GSwIK,CTxIL,CSwIO,CTxIP,CAAA,SSwIkB,YTxIlB,GSyIR,CTzIQ,CSyIN,CTzIM,CAAA,CAAA,OAAA,CAAA,GS0IR,CT1IQ,CS0IN,CT1IM,CAAA,SAAA;EAAmC,KAAA,ES0IrB,KT1IqB,CAAA,KAAA,EAAA,CAAA;CAClB,GS0IxB,CT1IwB,SS0Id,QT1Ic,GS2IvB,CT3IuB,GAAA,KAAA,GAAA,KAAA,EAAA,CAAA,MS8IrB,CT9IqB,CAAA;AAAG,KSgJpB,KThJoB,CAA7B,WSgJ0B,QThJ1B,EAC0B,US+IoB,ST/IpB,CAAG,GAAA,QAAA,MSgJnB,CThJmB,GSgJf,CThJe,CSgJb,CThJa,CAAA,SSgJF,YThJE,GSiJ5B,ETjJ4B,SSiJjB,CTjJiB,CSiJf,CTjJe,CAAA,CAAA,OAAA,CAAA,GSkJ3B,CTlJ2B,CSkJzB,CTlJyB,CAAA,CAAA,OAAA,CAAA,GAAA,KAAA,GSoJ5B,CTpJ4B,CSoJ1B,CTpJ0B,CAAA,SAAA;EAAG,KAAA,ESoJT,KTpJS,CAAA,KAAA,EAAA,CAAA;CAAhC,GSqJE,ETrJF,SSqJa,CTrJb,GSsJG,CTtJH,CSsJK,CTtJL,CAAA,SSsJgB,eTtJhB,GSuJI,CTvJJ,CSuJM,CTvJN,CAAA,CAAA,OAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,EAAA,CAAA,MS2JK,CT3JL,CAAA;AAAA,KS6JS,KT7JT,CACH,WS4J6B,QT5JjB,GS4J4B,QT5J5B,EAAA,EAA+B,US4JmB,ST5JnB,CACd,GAAA,QAAA,MS4JhB,CT5JgB,GS4JZ,CT5JY,CS4JV,CT5JU,CAAA,SS4JC,YT5JD,GS6JzB,ET7JyB,SS6Jd,CT7Jc,CS6JZ,CT7JY,CAAA,CAAA,OAAA,CAAA,GS8JxB,CT9JwB,CS8JtB,CT9JsB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EvB,EAAA,GAAA,IAAA,CAAA;CAAuC;;;;;AAUnD;;;;;;;AAgBA;;;;;;AAcA;AAAqC,iBasDrB,cbtDqB,CAIhB,UAAA,MAAA,EAAZ,YakDkD,SblDlD,CAAA,CAAA,OAAA,EamDC,iCbnDD,CamDmC,CbnDnC,EamDsC,GbnDtC,CAAA,CAAA,EaoDN,+BbpDM,CaoD0B,CbpD1B,EaoD6B,GbpD7B,CAAA;AAGT;;;;;;;;;;;;;AAGA;;;AAQO,iBauDS,cbvDT,CAEA,UAAA,MAAA,EAAA,YaqDoD,SbrDpD,CAEP,CAAA,OAAY,EaoDF,iCbpDE,CaoDgC,CbpDhC,EaoDmC,GbpDnC,CAAA,CAAA,EaqDT,+BbrDS,CaqDuB,CbrDvB,EaqD0B,GbrD1B,CAAA;;;;;;AAcZ;;;;;;;;;;;AAGA;AAAqD,iBasDrC,cbtDqC,CAClB,CAAA,EAAG,YaqDM,SbrDN,EAAnC,IAAA,KAAA,CACgC,CAAA,OAAA,EaqDzB,iCbrDyB,CaqDS,CbrDT,EaqDY,GbrDZ,EaqDe,CbrDf,CAAA,CAAA,EasDhC,+BbtDgC,CasDA,CbtDA,EasDG,GbtDH,EasDM,CbtDN,CAAA;;;;;AACnC;;;;;;;;;;AAGA;AAAiD,iBakEjC,cblEiC,CACd,CAAA,EAAG,YaiEM,SbjEN,EAAG,IAAA,KAAA,CAAtC,CAAA,OAAA,EakEO,iCblEP,CakEyC,CblEzC,EakE4C,GblE5C,EakE+C,CblE/C,CAAA,CAAA,EamEA,+BbnEA,CamEgC,CbnEhC,EamEmC,GbnEnC,EamEsC,CbnEtC,CAAA;;;ADvM4B,ceiClB,IAAA,CfjCkB;EAC9B,KAAA,EeiCc,SfjCd;EAAU,IAAA,EAAA,OekCU,IflCV;EACP,WAAA,EAAA,OekCwB,WflCxB;EACA,UAAA,EAAA,OekCuB,UflCvB;EAAU,iBAAA,EAAA,OemCoB,iBfnCpB;EACT,QAAA,EAAA,OemCoB,QfnCpB;EAAA,cAAA,EAAA,OeoC0B,cfpC1B;EAOL,WAA+B,EAAA,Oe8BH,Wf9BG;EAO/B,QAAa,EAAkB,OewBN,QfxBM;EAI/B,SAAY,EAAA,OeqBc,WfrBd;EAYZ,QAAa,EAAA,OeUY,QfRR;EAF4B,QAAA,EAAA,OeWpB,QfXoB;EACnB,UAAA,EAAA,OeWC,UfXD;EAAhB,YAAA,EAAA,OeYmB,YfZnB;EACO,SAAA,EAAA,OeYS,SfZT;EAAd,IAAA,EAAA,OeakB,IfblB;EAAA,IAAA,EAAA,OeckB,IfdlB;yBee4B;oBACL,uBAAuB;sBAErB,6BAA4B;Ad/CxD;;;KeHY,4BAA4B,YAAY;KACxC,qCAAmC,eACxC,wBAAwB,iBAAiB;AhBThD;AAGA;;;;;;;AAIK,iBgBaW,ShBbX,CAAA,CAAA,CAAA,CAAA,KAAA,EgBcG,ahBdH,CgBciB,ChBdjB,CAAA,EAAA,YAAA,EgBeU,ahBfV,CgBewB,ChBfxB,CAAA,EAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;AAOL;AAOA;AAIA;AAYA;;;;AAEiB,iBgBND,ShBMC,CAAA,YgBNmB,IhBMnB,CAAA,CAAA,KAAA,EgBLT,gBhBKS,CgBLQ,GhBKR,CAAA,EAAA,YAAA,EgBJF,wBhBIE,CgBJuB,GhBIvB,CAAA,EAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;;;;;AC7BjB;;;AAGG,iBeiCa,SfjCb,CAAA,UeiCiC,kBfjCjC,CAAA,CAAA,KAAA,EekCK,aflCL,CekCmB,CflCnB,CAAA,EAAA,YAAA,EAAA,CAAA,MAAA,EemCqB,afnCrB,CemCmC,CfnCnC,CAAA,GAAA,MAAA,GAAA,MAAA,EAAA,GAAA,IAAA,EAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;;ADQH;AAIA;AAYA;;;;;AAEG,KiBlBS,QjBkBT,CAAA,CAAA,CAAA,GiBlBuB,OjBkBvB,CiBlB+B,CjBkB/B,CAAA,GiBlBoC,CjBkBpC;AAAA,KiBhBS,MjBgBT,CAAA,CAAA,CAAA,GiBhBqB,CjBgBrB,SAAA;;IiBhB+D,OAAO"}
1
+ {"version":3,"file":"index.d.ts","names":["PRETTY_ENTITY_NAMES: Record<EntityDenomination, string>","simpleLogger: Logger","$validatedKey: unique symbol"],"sources":["../../src/main/timeline.ts","../../src/main/tokens.ts","../../src/main/validators.ts","../../src/main/events.ts","../../src/main/atom.ts","../../src/main/dispose-state.ts","../../src/main/find-state.ts","../../src/main/get-state.ts","../../src/main/join.ts","../../src/main/logger.ts","../../src/main/realm.ts","../../src/main/reset-state.ts","../../src/main/set-state.ts","../../src/main/transaction.ts","../../src/main/selector.ts","../../src/main/silo.ts","../../src/main/subscribe.ts","../../src/main/index.ts"],"sourcesContent":[],"mappings":"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4B,YMPhC,GNOgC,CACnB,CAAA,KAAA,EMPjB,sBNOiB,CMPM,CNON,EMPS,GNOT,CAAA,EAAA,GAAA,EMPkB,GNOlB,CAAA,EMPwB,kBNOxB,CMPyC,CNOzC,EMP4C,GNO5C,CAAA;;;;;;;;AC5B1B;;;;;;AAMY,iBK6BI,SL7BJ,CAA2B,CAAA,EAC1B,YK4B0B,SL5B1B,EAAG,YK4B8C,GL5B9C,CAAG,CAAA,KAAA,EK6BX,sBL7BW,CK6BY,CL7BZ,EK6Be,GL7Bf,CAAA,EAAA,GAAA,EK8Bb,GL9Ba,CAAA,EK+BhB,kBL/BgB,CK+BC,CL/BD,EK+BI,GL/BJ,CAAA;;;;;;;AAGnB;;;;;;;AAE4B,iBKwCZ,SLxCY,CAAG,CAAA,EAA5B,YKwCoC,SLxCpC,EAAA,YKwC2D,GLxC3D,CAKH,CAAA,KAAY,EKoCJ,6BLpCI,CKoCwB,CLpCxB,EKoC2B,GLpC3B,CAAA,EAAA,GAAA,EKqCN,GLrCM,CAAA,EKsCT,uBLtCS,CKsCa,CLtCb,EKsCgB,GLtChB,CAAA;;;;;;;;;;;AAMZ;;;AACsB,iBK6CN,SL7CM,CAAG,CAAA,EAAtB,YK6CoC,SL7CpC,EAC4B,YK4C+B,GL5C/B,CAAG,CAAA,KAAA,EK6C1B,6BL7C0B,CK6CE,CL7CF,EK6CK,GL7CL,CAAA,EAAA,GAAA,EK8C5B,GL9C4B,CAAA,EK+C/B,uBL/C+B,CK+CT,CL/CS,EK+CN,GL/CM,CAAA;;;;AAElC;AASA;AASA;;;;;;;;AAEuB,iBKuCP,SLvCO,CAAG,CAAA,EAAvB,YKuCoC,SLvCpC,EAAA,YKuC2D,GLvC3D,CACH,CAAA,KAAY,EKuCJ,qBLvCI,CKuCgB,CLvChB,EKuCmB,GLvCnB,CAAA,EAAA,GAAA,EKwCN,GLxCM,CAAA,EKyCT,eLzCS,CKyCK,CLzCL,EKyCQ,GLzCR,CAAA;;;;;;;AAYZ;;;;;;;;AAcY,iBK8BI,SL9BJ,CAA2B,CAAA,EACd,YK6Bc,SL7Bd,EAAG,YK6BkC,GL7BlC,CAAG,CAAA,KAAA,EK8BvB,qBL9BuB,CK8BH,CL9BG,EK8BA,GL9BA,CAAA,EAAA,GAAA,EK+BzB,GL/ByB,CAAA,EKgC5B,eLhC4B,CKgCd,CLhCc,EKgCX,GLhCW,CAAA;;;;;;ADrF/B;AAGA;;;AACW,iBOKK,QPLL,CACP,CAAA,EACA,IAAA,KAAA,CAAU,CAAA,KAAA,EOIN,aPJM,COIQ,CPJR,EAAA,GAAA,EOIgB,CPJhB,CAAA,CAAA,EOKX,QPLW,COKJ,CPLI,GOKA,CPLA,CAAA;;;AAQd;AAOA;AAIA;AAYA;;AAC0B,iBOlBV,QPkBU,CAAhB,CAAA,EACO,YOnBqB,SPmBrB,EAAd,IAAA,KAAA,CAAA,CAAA,KAAA,EOlBK,mBPkBL,COlByB,CPkBzB,EOlB4B,GPkB5B,EOlB+B,CPkB/B,CAAA,EAAA,GAAA,EOjBG,OPiBH,COjBW,GPiBX,CAAA,CAAA,EOhBA,QPgBA,COhBO,CPgBP,GOhBW,CPgBX,CAAA;;;KQzBS,oDRdZ,cAAY,MAAA,EAGZ,UAAY,MAAA,EAAmB,oBAAA,KAAA,GAAA,KAAA,GAAA,KAAA,CAC9B,GQiBA,IRjBA,CQkBG,kBRlBH,CQkBsB,KRlBtB,EQkB6B,KRlB7B,CAAA,GAAA;EAAU;EACP,SAAA,GAAA,EAAA,MAAA;EACA;EAAU,SAAA,WAAA,EQqBW,WRrBX;EACT;EAAA,SAAA,OAAA,EQsBgB,URtBhB,CAAA,MAAA,EQsBmC,CRtBnC,CAAA;EAOL;EAOA,SAAa,OAAkB,EQUV,URVU,CAAA,MAAA,EQUS,CRVT,CAAA;AAI/B,CAAA,CAAA,GQQK,ORRO,CQQC,mBRRD,CQQqB,CRRrB,EQQwB,CRRxB,EAAA,IAAA,CAAA,CAAA;AAYC,KQFD,SRIK,CAF4B,cAAA,MAAA,EACnB,UAAA,MAAA,EAAhB,cAAA,MAAA,EACO,UAAA,MAAA,EAAd,oBAAA,KAAA,GAAA,KAAA,GAAA,KAAA,CAAA,GAAA;;;;EC7BH,IAAY,EAAA,MAAA;EACT;EACA,WAAA,EOmCW,WPnCX;EACA;EACA,CAAA,EOmCC,KPnCD;EAAA;EAEH,CAAA,EOmCI,KPnCQ;EAA2B;EAC1B,OAAA,CAAA,EOoCF,CPpCE;EAAG;EAAG,OAAA,CAAA,EOsCR,CPtCQ;CAAhB;;;;;;AAGH;;;;;;AAEyB,iBO+CT,IP/CS,CAAG,oBAAA,MAAA,EAAG,gBAAA,MAAA,EAA5B,oBAAA,MAAA,EAAA,gBAAA,MAAA,EAKH,0BAAY,KAAA,GAAA,KAAA,GAAA,KAAA,CAAiC,CAAA,OAAA,EOiDnC,WPjDmC,COiDvB,KPjDuB,EOiDhB,CPjDgB,EOiDb,KPjDa,EOiDN,CPjDM,EOiDH,WPjDG,CAAA,CAAA,EOkD1C,SPlD0C,COkDhC,KPlDgC,EOkDzB,CPlDyB,EOkDtB,KPlDsB,EOkDf,CPlDe,EOkDZ,WPlDY,CAAA;AAC1B,KOqDP,UPrDO,CAAG,cAAA,MAAA,EAAG,UAAA,MAAA,EAAtB,cAAA,MAAA,EACoB,UAAA,MAAA,EAAG,oBAAA,KAAA,GAAA,KAAA,GAAA,KAAA,CAAG,GO0DzB,WP1DyB,SAAA,KAAA,GAAA,iBO4DX,KP5DW,IAAA,GO4DC,CP5DD,QO4DU,UP5DV,CO4DqB,KP5DrB,CAAA,EAAA,GO4DgC,2BP5DhC,CO6DzB,CP7DyB,GAAA,IAAA,EO8DzB,CP9DyB,CAAA,EAAA,GAAA,iBOiEX,KPjEW,IAAA,GOiEC,CPjED,QOiEU,UPjEV,COiEqB,KPjErB,CAAA,EAAA,GOiEgC,2BPjEhC,COkEzB,CPlEyB,GAAA,IAAA,EOmEzB,CPnEyB,CAAA,EAAA,GOsE1B,WPtE0B,SAAA,KAAA,GAAA,iBOwEV,KPxEU,IAAA,GOwEE,CPxEF,QOwEW,UPxEX,COwEsB,KPxEtB,CAAA,EAAA,GOwEiC,2BPxEjC,COyExB,CPzEwB,GAAA,IAAA,EO0ExB,CP1EwB,CAAA,EAAA,GAAA,iBO6EV,KP7EU,IAAA,GO6EE,CP7EF,SO6EY,UP7EZ,CO6EuB,KP7EvB,CAAA,EAAA,GO6EkC,2BP7ElC,CO8ExB,CP9EwB,EAAA,EO+ExB,CP/EwB,CAAA,EAAA,GOkFzB,WPlFyB,SAAA,KAAA,GAAA,iBOoFT,KPpFS,IAAA,GOoFG,CPpFH,SOoFa,UPpFb,COoFwB,KPpFxB,CAAA,EAAA,GOoFmC,2BPpFnC,COqFvB,CPrFuB,EAAA,EOsFvB,CPtFuB,CAAA,EAAA,GAAA,iBOyFT,KPzFS,IAAA,GOyFG,CPzFH,SOyFa,UPzFb,COyFwB,KPzFxB,CAAA,EAAA,GOyFmC,2B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,QTjIqB,GAAA,MAAA;EAAG,KAAA,ESkIxB,KTlIwB;CAAG;KSoI9B,MAAA,GAAS,eTpIX,GSoI6B,YTpI7B;AAAA,KSsIS,STtIT,CAAA,YSsI6B,MTtI7B,EAAA,GSsIwC,MTtIxC,EAAA,CAAA,GSsIoD,ITtIpD,CSsIyD,GTtIzD,CAAA;AACS,KSuIA,MTvIA,CAAA,USuIiB,STvIjB,CAAA,GAAA,QAAA,MSwIC,CTxID,GSwIK,CTxIL,CSwIO,CTxIP,CAAA,SSwIkB,YTxIlB,GSyIR,CTzIQ,CSyIN,CTzIM,CAAA,CAAA,OAAA,CAAA,GS0IR,CT1IQ,CS0IN,CT1IM,CAAA,SAAA;EAAmC,KAAA,ES0IrB,KT1IqB,CAAA,KAAA,EAAA,CAAA;CAClB,GS0IxB,CT1IwB,SS0Id,QT1Ic,GS2IvB,CT3IuB,GAAA,KAAA,GAAA,KAAA,EAAA,CAAA,MS8IrB,CT9IqB,CAAA;AAAG,KSgJpB,KThJoB,CAA7B,WSgJ0B,QThJ1B,EAC0B,US+IoB,ST/IpB,CAAG,GAAA,QAAA,MSgJnB,CThJmB,GSgJf,CThJe,CSgJb,CThJa,CAAA,SSgJF,YThJE,GSiJ5B,ETjJ4B,SSiJjB,CTjJiB,CSiJf,CTjJe,CAAA,CAAA,OAAA,CAAA,GSkJ3B,CTlJ2B,CSkJzB,CTlJyB,CAAA,CAAA,OAAA,CAAA,GAAA,KAAA,GSoJ5B,CTpJ4B,CSoJ1B,CTpJ0B,CAAA,SAAA;EAAG,KAAA,ESoJT,KTpJS,CAAA,KAAA,EAAA,CAAA;CAAhC,GSqJE,ETrJF,SSqJa,CTrJb,GSsJG,CTtJH,CSsJK,CTtJL,CAAA,SSsJgB,eTtJhB,GSuJI,CTvJJ,CSuJM,CTvJN,CAAA,CAAA,OAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,EAAA,CAAA,MS2JK,CT3JL,CAAA;AAAA,KS6JS,KT7JT,CACH,WS4J6B,QT5JjB,GS4J4B,QT5J5B,EAAA,EAA+B,US4JmB,ST5JnB,CACd,GAAA,QAAA,MS4JhB,CT5JgB,GS4JZ,CT5JY,CS4JV,CT5JU,CAAA,SS4JC,YT5JD,GS6JzB,ET7JyB,SS6Jd,CT7Jc,CS6JZ,CT7JY,CAAA,CAAA,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GayEM,IbzEN,CAAA,CAAA,SAAA,EayEuB,CbzEvB,EAAA,GAAA,IAAA,CAAA;CAAuC;;;;;AAUnD;;;;;;;AAgBA;;;;;;AAcA;AAAqC,iBasDrB,cbtDqB,CAIhB,UAAA,MAAA,EAAZ,YakDkD,SblDlD,CAAA,CAAA,OAAA,EamDC,iCbnDD,CamDmC,CbnDnC,EamDsC,GbnDtC,CAAA,CAAA,EaoDN,+BbpDM,CaoD0B,CbpD1B,EaoD6B,GbpD7B,CAAA;AAGT;;;;;;;;;;;;;AAGA;;;AAQO,iBauDS,cbvDT,CAEA,UAAA,MAAA,EAAA,YaqDoD,SbrDpD,CAEP,CAAA,OAAY,EaoDF,iCbpDE,CaoDgC,CbpDhC,EaoDmC,GbpDnC,CAAA,CAAA,EaqDT,+BbrDS,CaqDuB,CbrDvB,EaqD0B,GbrD1B,CAAA;;;;;;AAcZ;;;;;;;;;;;AAGA;AAAqD,iBasDrC,cbtDqC,CAClB,CAAA,EAAG,YaqDM,SbrDN,EAAnC,IAAA,KAAA,CACgC,CAAA,OAAA,EaqDzB,iCbrDyB,CaqDS,CbrDT,EaqDY,GbrDZ,EaqDe,CbrDf,CAAA,CAAA,EasDhC,+BbtDgC,CasDA,CbtDA,EasDG,GbtDH,EasDM,CbtDN,CAAA;;;;;AACnC;;;;;;;;;;AAGA;AAAiD,iBakEjC,cblEiC,CACd,CAAA,EAAG,YaiEM,SbjEN,EAAG,IAAA,KAAA,CAAtC,CAAA,OAAA,EakEO,iCblEP,CakEyC,CblEzC,EakE4C,GblE5C,EakE+C,CblE/C,CAAA,CAAA,EamEA,+BbnEA,CamEgC,CbnEhC,EamEmC,GbnEnC,EamEsC,CbnEtC,CAAA;;;ADvM4B,ceiClB,IAAA,CfjCkB;EAC9B,KAAA,EeiCc,SfjCd;EAAU,IAAA,EAAA,OekCU,IflCV;EACP,WAAA,EAAA,OekCwB,WflCxB;EACA,UAAA,EAAA,OekCuB,UflCvB;EAAU,iBAAA,EAAA,OemCoB,iBfnCpB;EACT,QAAA,EAAA,OemCoB,QfnCpB;EAAA,cAAA,EAAA,OeoC0B,cfpC1B;EAOL,WAA+B,EAAA,Oe8BH,Wf9BG;EAO/B,QAAa,EAAkB,OewBN,QfxBM;EAI/B,SAAY,EAAA,OeqBc,WfrBd;EAYZ,QAAa,EAAA,OeUY,QfRR;EAF4B,QAAA,EAAA,OeWpB,QfXoB;EACnB,UAAA,EAAA,OeWC,UfXD;EAAhB,YAAA,EAAA,OeYmB,YfZnB;EACO,SAAA,EAAA,OeYS,SfZT;EAAd,IAAA,EAAA,OeakB,IfblB;EAAA,IAAA,EAAA,OeckB,IfdlB;yBee4B;oBACL,uBAAuB;sBAErB,6BAA4B;Ad/CxD;;;KeHY,4BAA4B,YAAY;KACxC,qCAAmC,eACxC,wBAAwB,iBAAiB;AhBThD;AAGA;;;;;;;AAIK,iBgBaW,ShBbX,CAAA,CAAA,CAAA,CAAA,KAAA,EgBcG,ahBdH,CgBciB,ChBdjB,CAAA,EAAA,YAAA,EgBeU,ahBfV,CgBewB,ChBfxB,CAAA,EAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;AAOL;AAOA;AAIA;AAYA;;;;AAEiB,iBgBND,ShBMC,CAAA,YgBNmB,IhBMnB,CAAA,CAAA,KAAA,EgBLT,gBhBKS,CgBLQ,GhBKR,CAAA,EAAA,YAAA,EgBJF,wBhBIE,CgBJuB,GhBIvB,CAAA,EAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;;;;;AC7BjB;;;AAGG,iBeiCa,SfjCb,CAAA,UeiCiC,kBfjCjC,CAAA,CAAA,KAAA,EekCK,aflCL,CekCmB,CflCnB,CAAA,EAAA,YAAA,EAAA,CAAA,MAAA,EemCqB,afnCrB,CemCmC,CfnCnC,CAAA,GAAA,MAAA,GAAA,MAAA,EAAA,GAAA,IAAA,EAAA,GAAA,CAAA,EAAA,MAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;;ADQH;AAIA;AAYA;;;;;AAEG,KiBnBS,QjBmBT,CAAA,CAAA,CAAA,GiBnBuB,OjBmBvB,CiBnB+B,CjBmB/B,CAAA,GiBnBoC,CjBmBpC;AAAA,KiBjBS,MjBiBT,CAAA,CAAA,CAAA,GiBjBqB,CjBiBrB,SAAA;;IiBhBA,OACA,UAAU,0BACI,KACb,UAAU,eACT,YAAY,OAAO,MACnB,UAAU,wBACT,YAAY,OAAO,IAAI,OAAO,MAC9B"}
@@ -119,6 +119,7 @@ const PRETTY_ENTITY_NAMES = {
119
119
  timeline: `timeline`,
120
120
  transaction: `transaction`,
121
121
  unknown: `unknown`,
122
+ user: `👤`,
122
123
  writable_held_selector_family: `selector family [wh]`,
123
124
  writable_held_selector: `selector [wh]`,
124
125
  writable_pure_selector_family: `selector family [w]`,
@@ -129,8 +130,8 @@ const LOG_LEVELS = [
129
130
  `warn`,
130
131
  `error`
131
132
  ];
132
- const simpleLog = (logLevel) => (icon, denomination, tokenKey, message, ...rest) => {
133
- console[logLevel](`${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
133
+ const simpleLog = (logLevel, prefix) => (icon, denomination, tokenKey, message, ...rest) => {
134
+ console[logLevel](`${prefix ? `${prefix} ` : ``}${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
134
135
  };
135
136
  const simpleLogger = {
136
137
  error: simpleLog(`error`),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["PRETTY_ENTITY_NAMES: Record<EntityDenomination, string>","simpleLogger: Logger","$validatedKey: unique symbol","timeline"],"sources":["../../src/main/atom.ts","../../src/main/dispose-state.ts","../../src/main/find-state.ts","../../src/main/get-state.ts","../../src/main/join.ts","../../src/main/logger.ts","../../src/main/realm.ts","../../src/main/reset-state.ts","../../src/main/selector.ts","../../src/main/set-state.ts","../../src/main/silo.ts","../../src/main/subscribe.ts","../../src/main/timeline.ts","../../src/main/transaction.ts","../../src/main/validators.ts"],"sourcesContent":["import type { ConstructorOf, Ctor, Store, Transceiver } from \"atom.io/internal\"\nimport {\n\tcreateMutableAtom,\n\tcreateMutableAtomFamily,\n\tcreateRegularAtom,\n\tcreateRegularAtomFamily,\n\tIMPLICIT,\n} from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { StateUpdate } from \"./events\"\nimport type {\n\tAtomToken,\n\tMutableAtomFamilyToken,\n\tMutableAtomToken,\n\tRegularAtomFamilyToken,\n\tRegularAtomToken,\n} from \"./tokens\"\n\nexport type RegularAtomOptions<T, E = never> = {\n\t/** The unique identifier of the atom */\n\tkey: string\n\t/** The starting value of the atom */\n\tdefault: T | (() => T)\n\t/** Hooks used to run side effects when the atom is set */\n\teffects?: readonly AtomEffect<T, E>[]\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\n/**\n * Create a regular atom, a global reactive variable in the implicit store\n * @param options - {@link RegularAtomOptions}.\n * @returns\n * A reference to the atom created: a {@link RegularAtomToken}\n */\nexport function atom<T, E = never>(\n\toptions: RegularAtomOptions<T, E>,\n): RegularAtomToken<T, any, E> {\n\treturn createRegularAtom(IMPLICIT.STORE, options, undefined)\n}\n\nexport type MutableAtomOptions<T extends Transceiver<any, any, any>> = {\n\t/** The unique identifier of the atom */\n\tkey: string\n\t/** A constructor for the atom's value */\n\tclass: ConstructorOf<T>\n\t/** Hooks used to run side effects when the atom is set */\n\teffects?: readonly AtomEffect<T>[]\n}\n/**\n * Create a mutable atom, a global reactive variable in the implicit store\n *\n * The value of a mutable atom must be some kind of {@link Transceiver}.\n *\n * @param options - {@link MutableAtomOptions}.\n * @returns\n * A reference to the atom created: a {@link MutableAtomToken}\n */\nexport function mutableAtom<T extends Transceiver<any, any, any>>(\n\toptions: MutableAtomOptions<T>,\n): MutableAtomToken<T> {\n\treturn createMutableAtom(IMPLICIT.STORE, options, undefined)\n}\n\n/**\n * A function that runs side effects when the atom is set\n * @param tools - {@link Effectors} that can be used to run side effects\n * @returns\n * Optionally, a cleanup function that will be called when the atom is disposed\n */\nexport type AtomEffect<T, E = never> = (\n\ttools: Effectors<T, E>,\n) => (() => void) | void\nexport type Effectors<T, E = never> = {\n\t/**\n\t * Reset the value of the atom to its default\n\t */\n\tresetSelf: () => void\n\t/**\n\t * Set the value of the atom\n\t * @param next - The new value of the atom, or a setter function\n\t */\n\tsetSelf: <New extends T>(next: New | ((old: T) => New)) => void\n\t/** Subscribe to changes to the atom */\n\tonSet: (callback: (options: StateUpdate<E | T>) => void) => void\n\t/** The token of the atom */\n\ttoken: T extends Transceiver<any, any, any>\n\t\t? MutableAtomToken<T>\n\t\t: AtomToken<T, any, E>\n\t/** The store in which the atom exists */\n\tstore: Store\n}\n\nexport type RegularAtomFamilyOptions<T, K extends Canonical, E = never> = {\n\t/** The unique identifier of the atom family */\n\tkey: string\n\t/** The starting value of the atom family */\n\tdefault: T | ((key: K) => T)\n\t/** Hooks used to run side effects when an atom in the family is set */\n\teffects?: (key: K) => AtomEffect<T, E>[]\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\n/**\n * Create a family of regular atoms, allowing for the dynamic creation and disposal of atoms.\n * @param options - {@link RegularAtomFamilyOptions}\n * @returns\n * A reference to the atom family created: a {@link RegularAtomFamilyToken}\n */\nexport function atomFamily<T, K extends Canonical, E = never>(\n\toptions: RegularAtomFamilyOptions<T, K, E>,\n): RegularAtomFamilyToken<T, K, E> {\n\treturn createRegularAtomFamily(IMPLICIT.STORE, options)\n}\n\nexport type MutableAtomFamilyOptions<\n\tT extends Transceiver<any, any, any>,\n\tK extends Canonical,\n> = {\n\t/** The unique identifier of the atom family */\n\tkey: string\n\t/** The class of the transceiver to be created */\n\tclass: ConstructorOf<T>\n\t/** Hooks used to run side effects when an atom in the family is set */\n\teffects?: (key: K) => AtomEffect<T>[]\n}\n/**\n * Create a family of mutable atoms, allowing for the dynamic creation and disposal of atoms.\n *\n * The value of a mutable atom must be some kind of {@link Transceiver}.\n *\n * @param options - {@link MutableAtomFamilyOptions}\n * @returns\n * A reference to the atom family created: a {@link MutableAtomFamilyToken}\n */\nexport function mutableAtomFamily<\n\tT extends Transceiver<any, any, any>,\n\tK extends Canonical,\n>(options: MutableAtomFamilyOptions<T, K>): MutableAtomFamilyToken<T, K> {\n\treturn createMutableAtomFamily(IMPLICIT.STORE, options)\n}\n","import { disposeFromStore, IMPLICIT } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { ReadableFamilyToken, ReadableToken } from \".\"\n\n/**\n * Disposes of a state in the implicit store.\n *\n * Only family members can be disposed of.\n *\n * @param token - The token of the state to dispose\n * @overload Default\n */\nexport function disposeState(token: ReadableToken<any, any>): void\n/**\n * Disposes of a state in the implicit store.\n *\n * Only family members can be disposed of.\n *\n * @param token - The token of the state family to dispose\n * @param key - The unique key of the state to dispose\n * @overload Streamlined\n */\nexport function disposeState<K extends Canonical>(\n\ttoken: ReadableFamilyToken<any, K, any>,\n\tkey: K,\n): void\nexport function disposeState(\n\t...params:\n\t\t| [token: ReadableFamilyToken<any, any, any>, key: Canonical]\n\t\t| [token: ReadableToken<any, any>]\n): void {\n\tdisposeFromStore(IMPLICIT.STORE, ...params)\n}\n","import type {\n\tMutableAtomToken,\n\tReadableFamilyToken,\n\tReadableToken,\n\tReadonlySelectorFamilyToken,\n\tReadonlySelectorToken,\n\tRegularAtomToken,\n\tWritableFamilyToken,\n\tWritableSelectorFamilyToken,\n\tWritableSelectorToken,\n\tWritableToken,\n} from \"atom.io\"\nimport type { Transceiver } from \"atom.io/internal\"\nimport { findInStore, IMPLICIT } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { MutableAtomFamilyToken, RegularAtomFamilyToken } from \"./tokens\"\n\n/**\n * Finds a {@link MutableAtomToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" atom token will be returned in this case and a warning will be logged.\n *\n * @param token - A {@link MutableAtomFamilyToken}\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Mutable Atom\n */\nexport function findState<\n\tT extends Transceiver<any, any, any>,\n\tK extends Canonical,\n\tKey extends K,\n>(token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>\n/**\n * Finds a {@link RegularAtomToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" atom token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Regular Atom\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: RegularAtomFamilyToken<T, K>,\n\tkey: Key,\n): RegularAtomToken<T, Key>\n/**\n * Finds a {@link WritableSelectorToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" selector token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Writable Selector\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: WritableSelectorFamilyToken<T, K>,\n\tkey: Key,\n): WritableSelectorToken<T, Key>\n/**\n * Finds a {@link ReadonlySelectorToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" selector token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Readonly Selector\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: ReadonlySelectorFamilyToken<T, K>,\n\tkey: Key,\n): ReadonlySelectorToken<T, Key>\n/**\n * Finds a {@link WritableToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom or selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Writable State\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: WritableFamilyToken<T, K>,\n\tkey: Key,\n): WritableToken<T, Key>\n/**\n * Finds a {@link MutableAtomToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom or selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" token will be returned in this case and a warning will be logged.\n *\n * @param token - A {@link ReadableFamilyToken}\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Unknown\n * @default\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: ReadableFamilyToken<T, K>,\n\tkey: Key,\n): ReadableToken<T, Key>\n\nexport function findState(\n\ttoken: ReadableFamilyToken<any, any>,\n\tkey: Canonical,\n): ReadableToken<any> {\n\tconst state = findInStore(IMPLICIT.STORE, token, key)\n\treturn state\n}\n","import type { ViewOf } from \"atom.io\"\nimport { getFromStore, IMPLICIT } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { ReadableFamilyToken, ReadableToken } from \".\"\n\n/**\n * Read or compute the current value of a state\n * @param token - The token of the state to get\n * @return The current value of the state\n * @overload Default\n * @default\n */\nexport function getState<T, E = never>(\n\ttoken: ReadableToken<T, any, E>,\n): ViewOf<E | T>\n\n/**\n * Read or compute the current value of a state\n * @param token - The token of a state family\n * @param key - The unique key of the state to get\n * @return The current value of the state\n * @overload Streamlined\n */\nexport function getState<T, K extends Canonical, E = never>(\n\ttoken: ReadableFamilyToken<T, K, E>,\n\tkey: NoInfer<K>,\n): ViewOf<E | T>\n\nexport function getState<T, K extends Canonical, E = never>(\n\t...params:\n\t\t| [token: ReadableFamilyToken<T, K, E>, key: NoInfer<K>]\n\t\t| [token: ReadableToken<T, any, E>]\n): ViewOf<E | T> {\n\treturn getFromStore(IMPLICIT.STORE, ...params)\n}\n","import type { MutableAtomFamilyToken, ReadonlyPureSelectorToken } from \"atom.io\"\nimport type {\n\tFlat,\n\tJunction,\n\tJunctionEntriesBase,\n\tJunctionSchemaBase,\n\tRefinement,\n} from \"atom.io/internal\"\nimport {\n\tcreateJoin,\n\teditRelationsInStore,\n\tfindRelationsInStore,\n\tgetInternalRelationsFromStore,\n\tIMPLICIT,\n} from \"atom.io/internal\"\nimport type { UList } from \"atom.io/transceivers/u-list\"\n\n// biome-ignore format: intersection\nexport type JoinOptions<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n> =\n\tFlat<\n\t\t& JunctionSchemaBase<AName, BName>\n\t\t& {\n\t\t\t/** Unique identifier of the join */\n\t\t\treadonly key: string\n\t\t\t/** How many relations are allowed in each direction? */\n\t\t\treadonly cardinality: Cardinality\n\t\t\t/** Type guard for the type of the left side */\n\t\t\treadonly isAType: Refinement<string, A>\n\t\t\t/** Type guard for the type of the right side */\n\t\t\treadonly isBType: Refinement<string, B>\n\t\t}\n\t> & Partial<JunctionEntriesBase<A, B, null>>\n\nexport type JoinToken<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n> = {\n\t/** Unique identifier of the join */\n\tkey: string\n\t/** Discriminator */\n\ttype: `join`\n\t/** How many relations are allowed in each direction? */\n\tcardinality: Cardinality\n\t/** Name of the join's left side */\n\ta: AName\n\t/** Name of the join's right side */\n\tb: BName\n\t/** Never present. This is a marker that preserves the type of the left side's keys */\n\t__aType?: A\n\t/** Never present. This is a marker that preserves the type of the right side's keys */\n\t__bType?: B\n}\n\n/**\n * Create a join, an interface for managing relations between two sets of keys.\n *\n * Use joins when it is important to view relationships from either side.\n *\n * Under the hood, joins coordinate changes of multiple atoms to support that the desired relationships stay consistent.\n *\n * @param options - {@link JoinOptions}\n * @returns\n * A reference to the join created: a {@link JoinToken}\n */\nexport function join<\n\tconst AName extends string,\n\tconst A extends string,\n\tconst BName extends string,\n\tconst B extends string,\n\tconst Cardinality extends `1:1` | `1:n` | `n:n`,\n>(\n\toptions: JoinOptions<AName, A, BName, B, Cardinality>,\n): JoinToken<AName, A, BName, B, Cardinality> {\n\treturn createJoin(IMPLICIT.STORE, options)\n}\n\nexport type JoinStates<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n> = Cardinality extends `1:1`\n\t? {\n\t\t\treadonly [N in AName as `${N}KeyOf${Capitalize<BName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\tA | null,\n\t\t\t\tB\n\t\t\t>\n\t\t} & {\n\t\t\treadonly [N in BName as `${N}KeyOf${Capitalize<AName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\tB | null,\n\t\t\t\tA\n\t\t\t>\n\t\t}\n\t: Cardinality extends `1:n`\n\t\t? {\n\t\t\t\treadonly [N in AName as `${N}KeyOf${Capitalize<BName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\tA | null,\n\t\t\t\t\tB\n\t\t\t\t>\n\t\t\t} & {\n\t\t\t\treadonly [N in BName as `${N}KeysOf${Capitalize<AName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\tB[],\n\t\t\t\t\tA\n\t\t\t\t>\n\t\t\t}\n\t\t: Cardinality extends `n:n`\n\t\t\t? {\n\t\t\t\t\treadonly [N in AName as `${N}KeysOf${Capitalize<BName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\t\tA[],\n\t\t\t\t\t\tB\n\t\t\t\t\t>\n\t\t\t\t} & {\n\t\t\t\t\treadonly [N in BName as `${N}KeysOf${Capitalize<AName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\t\tB[],\n\t\t\t\t\t\tA\n\t\t\t\t\t>\n\t\t\t\t}\n\t\t\t: never\n\n/**\n * Find the current value of a relation owned by a {@link join}\n * @param token - The token of the join\n * @param key - The key of the relation to find\n * @returns\n * A {@link JoinStates} interface to access the relation\n * @overload Default\n */\nexport function findRelations<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n>(\n\ttoken: JoinToken<AName, A, BName, B, Cardinality>,\n\tkey: A | B,\n): JoinStates<AName, A, BName, B, Cardinality> {\n\treturn findRelationsInStore(IMPLICIT.STORE, token, key)\n}\n\n/**\n * Change one or multiple relations owned by a {@link join}\n * @param token - The token of the join\n * @param change - A function that takes a {@link Junction} interface to edit the relations\n */\nexport function editRelations<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n>(\n\ttoken: JoinToken<AName, A, BName, B, Cardinality>,\n\tchange: (relations: Junction<AName, A, BName, B>) => void,\n): void {\n\teditRelationsInStore(IMPLICIT.STORE, token, change)\n}\n\n/**\n * @param token - The token of the join\n * @returns\n * A {@link MutableAtomFamilyToken} to access the internal relations\n */\nexport function getInternalRelations<A extends string, B extends string>(\n\ttoken: JoinToken<any, A, any, B, any>,\n): MutableAtomFamilyToken<UList<A> | UList<B>, A | B>\nexport function getInternalRelations<A extends string, B extends string>(\n\ttoken: JoinToken<any, A, any, B, any>,\n\tsplit: `split`,\n): [\n\tatob: MutableAtomFamilyToken<UList<B>, A>,\n\tbtoa: MutableAtomFamilyToken<UList<A>, B>,\n]\nexport function getInternalRelations<A extends string, B extends string>(\n\ttoken: JoinToken<any, A, any, B, any>,\n\tsplit?: `split`,\n):\n\t| MutableAtomFamilyToken<UList<A> | UList<B>, A | B>\n\t| [\n\t\t\tatob: MutableAtomFamilyToken<UList<B>, A>,\n\t\t\tbtoa: MutableAtomFamilyToken<UList<A>, B>,\n\t ] {\n\treturn getInternalRelationsFromStore(IMPLICIT.STORE, token, split as `split`)\n}\n","const LOGGER_ICON_DICTIONARY = {\n\t// Lifecycle\n\t\"🔨\": `Create state`,\n\t\"🛠️\": `Install state into store`,\n\t// Families\n\t\"👪\": `Family member added`,\n\t\"🔥\": `Family member deleted`,\n\t// Cache\n\t\"📃\": `Copy mutable`,\n\t\"📖\": `Read from cache`,\n\t\"📝\": `Write to cache`,\n\t\"❔\": `Cache miss`,\n\t\"✨\": `Value derived`,\n\t\"⭐\": `Value set`,\n\t// Operations\n\t\"⭕\": `Operation start`,\n\t\"🔴\": `Operation complete`,\n\t\"🚫\": `Operation blocked`,\n\t\"🟢\": `Operation unblocked`,\n\t// Selectors\n\t\"🗑\": `Evict cached value`,\n\t\"🧹\": `Prepare to evict`,\n\t\"🧮\": `Computing selector`,\n\t\"🔌\": `Register direct dependency`,\n\t\"🔍\": `Discover root`,\n\t// Transactions\n\t\"📁\": `Stow update`,\n\t\"🛫\": `Begin transaction`,\n\t\"🛄\": `Apply transaction`,\n\t\"🛬\": `Complete transaction`,\n\t\"💥\": `Transaction caught error`,\n\t\"🪂\": `Abort transaction`,\n\t// Timelines\n\t\"⌛\": `Timeline event fully captured`,\n\t\"⏩\": `Timeline redo`,\n\t\"⏪\": `Timeline undo`,\n\t\"⏭️\": `Transaction redo`,\n\t\"⏮️\": `Transaction undo`,\n\t\"⏳\": `Timeline event partially captured`,\n\t\"⏸️\": `Time-travel complete`,\n\t// Problems\n\t\"💣\": `Dangerous action likely to cause bad errors down the line`,\n\t\"❗\": `Dangerous action unless in development mode`,\n\t\"❌\": `Conflict prevents attempted action`,\n\t\"🐞\": `Possible bug in AtomIO`,\n\t\"💁\": `Advice and guidance to the developer`,\n\t// Subscriptions\n\t\"👀\": `Subscription added`,\n\t\"🙈\": `Subscription canceled`,\n\t\"📢\": `Notify subscribers`,\n\n\t// Realtime\n\t\"🛰️\": `Server socket`,\n\t\"📡\": `Client socket`,\n\t\"🚀\": `Performance measure`,\n\t\"✅\": `Realtime transaction success`,\n\t\"🔄\": `Realtime transaction synchronized`,\n\t\"🤞\": `Realtime optimistic update enqueued`,\n\t\"👈\": `Realtime confirmed update enqueued`,\n\t\"🧑‍⚖️\": `Realtime update beginning reconciliation`,\n\t\"🛎️\": `Realtime transaction received`,\n\t\"👁\": `Determining perspective`,\n\t\"🔭\": `Determining realtime perspective`,\n\t\"🖌\": `Redacting realtime update`,\n\t\"👋\": `Realtime greeting`,\n\t\"👍\": `Realtime acknowledgment`,\n} as const\nexport type LoggerIcon = keyof typeof LOGGER_ICON_DICTIONARY\nexport type EntityDenomination =\n\t| `atom_family`\n\t| `atom`\n\t| `continuity`\n\t| `key`\n\t| `mutable_atom_family`\n\t| `mutable_atom`\n\t| `readonly_held_selector_family`\n\t| `readonly_held_selector`\n\t| `readonly_pure_selector_family`\n\t| `readonly_pure_selector`\n\t| `socket`\n\t| `state`\n\t| `timeline`\n\t| `transaction`\n\t| `unknown`\n\t| `writable_held_selector_family`\n\t| `writable_held_selector`\n\t| `writable_pure_selector_family`\n\t| `writable_pure_selector`\n\nexport const PRETTY_ENTITY_NAMES: Record<EntityDenomination, string> = {\n\tatom_family: `atom family`,\n\tatom: `atom`,\n\tcontinuity: `continuity`,\n\tkey: `key`,\n\tmutable_atom_family: `atom family [m]`,\n\tmutable_atom: `atom [m]`,\n\treadonly_held_selector_family: `selector family [h]`,\n\treadonly_held_selector: `selector [h]`,\n\treadonly_pure_selector_family: `selector family`,\n\treadonly_pure_selector: `selector`,\n\tsocket: `socket`,\n\tstate: `state`,\n\ttimeline: `timeline`,\n\ttransaction: `transaction`,\n\tunknown: `unknown`,\n\twritable_held_selector_family: `selector family [wh]`,\n\twritable_held_selector: `selector [wh]`,\n\twritable_pure_selector_family: `selector family [w]`,\n\twritable_pure_selector: `selector [w]`,\n}\n\nexport const LOG_LEVELS = [`info`, `warn`, `error`] as const\nexport type LogLevel = (typeof LOG_LEVELS)[number]\n\nexport type LogFn = (\n\ticon: LoggerIcon,\n\tdenomination: EntityDenomination,\n\ttokenKey: string,\n\tmessage: string,\n\t...rest: unknown[]\n) => void\nexport type LogFilter = (\n\t...params: Parameters<LogFn>\n) => Parameters<LogFn> | boolean\n\nexport type Logger = Record<LogLevel, LogFn>\n\nexport const simpleLog =\n\t(logLevel: keyof Logger): LogFn =>\n\t(icon, denomination, tokenKey, message, ...rest) => {\n\t\t/* eslint-disable-next-line no-console */\n\t\tconsole[logLevel](\n\t\t\t`${icon} ${PRETTY_ENTITY_NAMES[denomination]} \\`${tokenKey}\\` ${message}`,\n\t\t\t...rest,\n\t\t)\n\t}\nexport const simpleLogger: Logger = {\n\terror: simpleLog(`error`),\n\tinfo: simpleLog(`info`),\n\twarn: simpleLog(`warn`),\n}\n\nexport class AtomIOLogger implements Logger {\n\tpublic logLevel: `error` | `info` | `warn` | null\n\tpublic filter: LogFilter | undefined\n\tprivate readonly logger: Logger\n\n\tpublic constructor(\n\t\tlogLevel: `error` | `info` | `warn` | null,\n\t\tfilter?: LogFilter,\n\t\tlogger: Logger = simpleLogger,\n\t) {\n\t\tthis.logLevel = logLevel\n\t\tthis.filter = filter\n\t\tthis.logger = logger\n\t}\n\n\tpublic error: LogFn = (...args) => {\n\t\tif (this.logLevel !== null) {\n\t\t\tconst filterResult = this.filter?.(...args) ?? true\n\t\t\tif (filterResult === true) {\n\t\t\t\tthis.logger.error(...args)\n\t\t\t} else if (filterResult) {\n\t\t\t\tthis.logger.error(...filterResult)\n\t\t\t}\n\t\t}\n\t}\n\tpublic info: LogFn = (...args) => {\n\t\tif (this.logLevel === `info`) {\n\t\t\tconst filterResult = this.filter?.(...args) ?? true\n\t\t\tif (filterResult === true) {\n\t\t\t\tthis.logger.info(...args)\n\t\t\t} else if (filterResult) {\n\t\t\t\tthis.logger.info(...filterResult)\n\t\t\t}\n\t\t}\n\t}\n\tpublic warn: LogFn = (...args) => {\n\t\tif (this.logLevel !== `error` && this.logLevel !== null) {\n\t\t\tconst filterResult = this.filter?.(...args) ?? true\n\t\t\tif (filterResult === true) {\n\t\t\t\tthis.logger.warn(...args)\n\t\t\t} else if (filterResult) {\n\t\t\t\tthis.logger.warn(...filterResult)\n\t\t\t}\n\t\t}\n\t}\n}\n","import type { Each, RootStore } from \"atom.io/internal\"\nimport {\n\tactUponStore,\n\tallocateIntoStore,\n\tarbitrary,\n\tclaimWithinStore,\n\tcreateClaimTX,\n\tcreateDeallocateTX,\n\tfuseWithinStore,\n\tIMPLICIT,\n\tmakeRootMoleculeInStore,\n} from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { TransactionToken } from \"./tokens\"\n\nexport const $validatedKey: unique symbol = Symbol.for(`claim`)\nexport type ValidKey<K extends Canonical> = K & { [$validatedKey]?: true }\n\nexport function simpleCompound(a: string, b: string): string {\n\treturn [a, b].sort().join(`\\u001F`)\n}\n\nexport class Realm<H extends Hierarchy> {\n\tpublic store: RootStore\n\tpublic deallocateTX: TransactionToken<(claim: ValidKey<Vassal<H>>) => void>\n\tpublic claimTX: TransactionToken<\n\t\t<V extends Exclude<Vassal<H>, CompoundTypedKey>, A extends Above<V, H>>(\n\t\t\tnewProvenance: A,\n\t\t\tclaim: ValidKey<V>,\n\t\t\texclusive?: `exclusive`,\n\t\t) => void\n\t>\n\t/**\n\t * @param store - The store to which the realm will be attached\n\t */\n\tpublic constructor(store: RootStore = IMPLICIT.STORE) {\n\t\tthis.store = store\n\t\tthis.deallocateTX = createDeallocateTX(store)\n\t\tthis.claimTX = createClaimTX(store)\n\t\tmakeRootMoleculeInStore(store, `root`)\n\t}\n\t/**\n\t * Make space for a new subject of the realm\n\t * @param provenance - A key for an owner {@link Above} the new subject in the realm's {@link Hierarchy}\n\t * @param key - A unique identifier for the new subject\n\t * @param attachmentStyle - The attachment style of new subject to its owner(s). `any` means that if any owners remain, the subject will be retained. `all` means that the subject be retained only if all owners remain .\n\t * @returns\n\t * The subject's key, given status as a true {@link ValidKey}\n\t */\n\tpublic allocate<V extends Vassal<H>, A extends Above<V, H>>(\n\t\tprovenance: A,\n\t\tkey: V,\n\t\tattachmentStyle?: `all` | `any`,\n\t): ValidKey<V> {\n\t\treturn allocateIntoStore<H, V, A>(\n\t\t\tthis.store,\n\t\t\tprovenance,\n\t\t\tkey,\n\t\t\tattachmentStyle,\n\t\t)\n\t}\n\t/**\n\t * Fuse two reagents into a compound\n\t * @param type - the name of the compound that is being fused\n\t * @param reagentA - the left reagent of the compound\n\t * @param reagentB - the right reagent of the compound\n\t * @returns\n\t * The compound's key, given status as a {@link ValidKey}\n\t */\n\tpublic fuse<\n\t\tC extends CompoundFrom<H>,\n\t\tT extends C extends CompoundTypedKey<infer t, any, any> ? t : never,\n\t\tA extends C extends CompoundTypedKey<any, infer v, any> ? v : never,\n\t\tB extends C extends CompoundTypedKey<any, any, infer m> ? m : never,\n\t>(\n\t\ttype: T,\n\t\treagentA: SingularTypedKey<A>,\n\t\treagentB: SingularTypedKey<B>,\n\t): ValidKey<CompoundTypedKey<T, A, B>> {\n\t\treturn fuseWithinStore<H, C, T, A, B>(this.store, type, reagentA, reagentB)\n\t}\n\t/**\n\t * Remove a subject from the realm\n\t * @param claim - The subject to be deallocated\n\t */\n\tpublic deallocate<V extends Vassal<H>>(claim: ValidKey<V>): void {\n\t\tactUponStore(this.store, this.deallocateTX, arbitrary())(claim)\n\t}\n\t/**\n\t * Transfer a subject of the realm from one owner to another\n\t * @param newProvenance - A key for an owner {@link Above} the new subject in the realm's {@link Hierarchy}\n\t * @param claim - The subject to be claimed\n\t * @param exclusive - Whether the subjects previous owners should be detached from it\n\t * @returns\n\t * The subject's key, given status as a true {@link ValidKey}\n\t */\n\tpublic claim<\n\t\tV extends Exclude<Vassal<H>, CompoundTypedKey>,\n\t\tA extends Above<V, H>,\n\t>(newProvenance: A, claim: ValidKey<V>, exclusive?: `exclusive`): void {\n\t\tactUponStore(this.store, this.claimTX, arbitrary())(\n\t\t\tnewProvenance,\n\t\t\tclaim,\n\t\t\texclusive,\n\t\t)\n\t}\n}\n\nexport class Anarchy {\n\tpublic store: RootStore\n\tpublic deallocateTX: TransactionToken<(key: Canonical) => void>\n\tpublic claimTX: TransactionToken<\n\t\t(newProvenance: Canonical, key: Canonical, exclusive?: `exclusive`) => void\n\t>\n\n\t/**\n\t * @param store - The store to which the anarchy-realm will be attached\n\t */\n\tpublic constructor(store: RootStore = IMPLICIT.STORE) {\n\t\tthis.store = store\n\t\tthis.deallocateTX = createDeallocateTX(store)\n\t\tthis.claimTX = createClaimTX(store)\n\t\tmakeRootMoleculeInStore(store, `root`)\n\t}\n\t/**\n\t * Declare a new entity\n\t * @param provenance - A key for an owner of the entity\n\t * @param key - A unique identifier for the new entity\n\t * @param attachmentStyle - The attachment style of new entity to its owner(s). `any` means that if any owners remain, the subject will be retained. `all` means that the subject be retained only if all owners remain .\n\t */\n\tpublic allocate(\n\t\tprovenance: Canonical,\n\t\tkey: Canonical,\n\t\tattachmentStyle?: `all` | `any`,\n\t): void {\n\t\tallocateIntoStore<any, any, any>(\n\t\t\tthis.store,\n\t\t\tprovenance,\n\t\t\tkey,\n\t\t\tattachmentStyle,\n\t\t)\n\t}\n\t/**\n\t * Remove an entity\n\t * @param key - The entity to be deallocated\n\t */\n\tpublic deallocate(key: Canonical): void {\n\t\tactUponStore(this.store, this.deallocateTX, arbitrary())(key)\n\t}\n\t/**\n\t * Transfer an entity from one owner to another\n\t * @param newProvenance - A key for an owner of the entity\n\t * @param key - The entity to be claimed\n\t * @param exclusive - Whether the entity's previous owners should be detached from it\n\t */\n\tpublic claim(\n\t\tnewProvenance: Canonical,\n\t\tkey: Canonical,\n\t\texclusive?: `exclusive`,\n\t): void {\n\t\tclaimWithinStore<any, any, any>(this.store, newProvenance, key, exclusive)\n\t}\n\t/**\n\t * Fuse two reagents into a compound\n\t * @param type - the name of the compound that is being fused\n\t * @param reagentA - the left reagent of the compound\n\t * @param reagentB - the right reagent of the compound\n\t * @returns\n\t * The compound's key, given status as a {@link ValidKey}\n\t */\n\tpublic fuse<T extends string, A extends string, B extends string>(\n\t\ttype: T,\n\t\treagentA: SingularTypedKey<A>,\n\t\treagentB: SingularTypedKey<B>,\n\t): ValidKey<CompoundTypedKey<T, A, B>> {\n\t\treturn fuseWithinStore<any, any, T, A, B>(\n\t\t\tthis.store,\n\t\t\ttype,\n\t\t\treagentA,\n\t\t\treagentB,\n\t\t)\n\t}\n}\n\nexport function decomposeCompound(\n\tcompound: Canonical,\n): [type: string, a: string, b: string] | null {\n\tif ((typeof compound === `string`) === false) {\n\t\treturn null\n\t}\n\tconst [typeTag, components] = compound.split(`==`)\n\tif (!components) {\n\t\treturn null\n\t}\n\tconst type = typeTag.slice(4)\n\tconst [a, b] = components.split(`++`)\n\tif (type && a && b) {\n\t\treturn [type, a, b]\n\t}\n\treturn null\n}\n\nexport type T$ = `T$`\nexport type TypeTag<T extends string> = `${T$}--${T}`\nexport type SingularTypedKey<T extends string = string> = `${T}::${string}`\nexport type CompoundTypedKey<\n\tT extends string = string,\n\tA extends string = string,\n\tB extends string = string,\n> = `${TypeTag<T>}==${SingularTypedKey<A>}++${SingularTypedKey<B>}`\nexport type TypedKey<\n\tT extends string = string,\n\tA extends string = string,\n\tB extends string = string,\n> = CompoundTypedKey<T, A, B> | SingularTypedKey<T>\ntype Scope = SingularTypedKey[]\ntype MutualFealty = {\n\tabove: Scope\n\tbelow: CompoundTypedKey\n}\ntype ExclusiveFealty = {\n\tabove: TypedKey | `root`\n\tbelow: Scope\n}\ntype Fealty = ExclusiveFealty | MutualFealty\n\nexport type Hierarchy<F extends Fealty[] = Fealty[]> = Each<F>\n\nexport type Vassal<H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? H[K][`below`]\n\t\t: H[K] extends { below: Array<infer V> }\n\t\t\t? V extends TypedKey\n\t\t\t\t? V\n\t\t\t\t: never\n\t\t\t: never\n}[keyof H]\n\nexport type Above<TK extends TypedKey, H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? TK extends H[K][`below`]\n\t\t\t? H[K][`above`]\n\t\t\t: never\n\t\t: H[K] extends { below: Array<infer V> }\n\t\t\t? TK extends V\n\t\t\t\t? H[K] extends ExclusiveFealty\n\t\t\t\t\t? H[K][`above`]\n\t\t\t\t\t: never\n\t\t\t\t: never\n\t\t\t: never\n}[keyof H]\n\nexport type Below<TK extends TypedKey | TypedKey[], H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? TK extends H[K][`above`]\n\t\t\t? H[K][`below`]\n\t\t\t: TK extends H[K][`above`][number]\n\t\t\t\t? H[K][`below`]\n\t\t\t\t: never\n\t\t: H[K] extends { above: infer V }\n\t\t\t? TK extends V\n\t\t\t\t? H[K] extends ExclusiveFealty\n\t\t\t\t\t? H[K][`below`][number]\n\t\t\t\t\t: never\n\t\t\t\t: never\n\t\t\t: never\n}[keyof H]\n\nexport type Mutuals<TK extends TypedKey | TypedKey[], H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? TK extends H[K][`above`][number]\n\t\t\t? [mutual: Exclude<H[K][`above`][number], TK>, below: H[K][`below`]]\n\t\t\t: never\n\t\t: never\n}[keyof H]\n\nexport type CompoundFrom<H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty ? H[K][`below`] : never\n}[keyof H]\n","import { IMPLICIT, resetInStore } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { WritableFamilyToken, WritableToken } from \".\"\n\n/**\n * Set the value of a state into the implicit store back to its default value.\n * @param token - An atom or writable selector token.\n * @overload Default\n * @default\n */\nexport function resetState(token: WritableToken<any, any, any>): void\n/**\n * Set the value of a state into the implicit store back to its default value.\n * @param token - An atom family or writable selector family token.\n * @param key - The unique key of the state to set.\n * @overload Streamlined\n */\nexport function resetState<K extends Canonical>(\n\ttoken: WritableFamilyToken<any, K, any>,\n\tkey: K,\n): void\nexport function resetState(\n\t...params:\n\t\t| [token: WritableFamilyToken<any, Canonical, any>, key: Canonical]\n\t\t| [token: WritableToken<any, any, any>]\n): void {\n\tresetInStore(IMPLICIT.STORE, ...params)\n}\n","import type { Ctor } from \"atom.io/internal\"\nimport {\n\tcreateSelectorFamily,\n\tcreateStandaloneSelector,\n\tIMPLICIT,\n} from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type {\n\tReadonlyHeldSelectorFamilyToken,\n\tReadonlyHeldSelectorToken,\n\tReadonlyPureSelectorFamilyToken,\n\tReadonlyPureSelectorToken,\n\tWritableHeldSelectorFamilyToken,\n\tWritableHeldSelectorToken,\n\tWritablePureSelectorFamilyToken,\n\tWritablePureSelectorToken,\n} from \"./tokens\"\nimport type { Read, Write } from \"./transaction\"\n\nexport type WritablePureSelectorOptions<T, E = never> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<() => T>\n\t/** For each instantiated selector, a function that sets its value */\n\tset: Write<(newValue: T) => void>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type ReadonlyPureSelectorOptions<T, E = never> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<() => T>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type ReadonlyHeldSelectorOptions<T extends object> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a constant reference to a value that will not be replaced */\n\tconst: T\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<(permanent: T) => void>\n}\nexport type WritableHeldSelectorOptions<T extends object> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a constant reference to a value that will not be replaced */\n\tconst: T\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<(permanent: T) => void>\n\t/** For each instantiated selector, a function that sets its value */\n\tset: Write<(newValue: T) => void>\n}\n\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store, and\n * should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A writable selector can be \"set\" to a new value.\n * It is strongly advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link WritableHeldSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload WritableHeld\n */\nexport function selector<T extends object>(\n\toptions: WritableHeldSelectorOptions<T>,\n): WritableHeldSelectorToken<T>\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store,\n * and should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyHeldSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload ReadonlyHeld\n */\nexport function selector<T extends object>(\n\toptions: ReadonlyHeldSelectorOptions<T>,\n): ReadonlyHeldSelectorToken<T>\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A writable selector can be \"set\" to a new value.\n * It is strongly advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link TransientWritableSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload WritablePure\n */\nexport function selector<T, E = never>(\n\toptions: WritablePureSelectorOptions<T, E>,\n): WritablePureSelectorToken<T, any, E>\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyPureSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload ReadonlyPure\n */\nexport function selector<T, E = never>(\n\toptions: ReadonlyPureSelectorOptions<T, E>,\n): ReadonlyPureSelectorToken<T, any, E>\nexport function selector(\n\toptions:\n\t\t| ReadonlyHeldSelectorOptions<any>\n\t\t| ReadonlyPureSelectorOptions<any, any>\n\t\t| WritableHeldSelectorOptions<any>\n\t\t| WritablePureSelectorOptions<any, any>,\n):\n\t| ReadonlyHeldSelectorToken<any>\n\t| ReadonlyPureSelectorToken<any, any, any>\n\t| WritableHeldSelectorToken<any>\n\t| WritablePureSelectorToken<any, any, any> {\n\treturn createStandaloneSelector(IMPLICIT.STORE, options)\n}\n\nexport type WritablePureSelectorFamilyOptions<\n\tT,\n\tK extends Canonical,\n\tE = never,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<() => T>\n\t/** For each instantiated family member, a function that sets its value */\n\tset: (key: K) => Write<(newValue: T) => void>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type ReadonlyPureSelectorFamilyOptions<\n\tT,\n\tK extends Canonical,\n\tE = never,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<() => T>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type WritableHeldSelectorFamilyOptions<\n\tT extends object,\n\tK extends Canonical,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a constant reference to a value that will not be replaced */\n\tconst: (key: K) => T\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<(permanent: T) => void>\n\t/** For each instantiated family member, a function that sets its value */\n\tset: (key: K) => Write<(newValue: T) => void>\n}\nexport type ReadonlyHeldSelectorFamilyOptions<\n\tT extends object,\n\tK extends Canonical,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a constant reference to a value that will not be replaced */\n\tconst: (key: K) => T\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<(permanent: T) => void>\n}\n\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a held selector should depend on the value of atoms or other selectors in the store,\n * and should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A writable selector can be \"set\" to a new value.\n * It is advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link WritableHeldSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link WritableHeldSelectorFamilyToken}\n * @overload WritableHeld\n */\nexport function selectorFamily<T extends object, K extends Canonical>(\n\toptions: WritableHeldSelectorFamilyOptions<T, K>,\n): WritableHeldSelectorFamilyToken<T, K>\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a held selector should depend on the value of atoms or other selectors in the store,\n * and should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyHeldSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link ReadonlyHeldSelectorFamilyToken}\n * @overload ReadonlyHeld\n */\nexport function selectorFamily<T extends object, K extends Canonical>(\n\toptions: ReadonlyHeldSelectorFamilyOptions<T, K>,\n): ReadonlyHeldSelectorFamilyToken<T, K>\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a selector should depend on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A writable selector can be \"set\" to a new value.\n * It is advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link TransientWritableSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link TransientWritableSelectorFamilyToken}\n * @overload WritablePure\n */\nexport function selectorFamily<T, K extends Canonical, E = never>(\n\toptions: WritablePureSelectorFamilyOptions<T, K, E>,\n): WritablePureSelectorFamilyToken<T, K, E>\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a selector should depend on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyPureSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link ReadonlyPureSelectorFamilyToken}\n * @overload ReadonlyPure\n */\nexport function selectorFamily<T, K extends Canonical, E = never>(\n\toptions: ReadonlyPureSelectorFamilyOptions<T, K, E>,\n): ReadonlyPureSelectorFamilyToken<T, K, E>\nexport function selectorFamily(\n\toptions:\n\t\t| ReadonlyHeldSelectorFamilyOptions<any, any>\n\t\t| ReadonlyPureSelectorFamilyOptions<any, any, any>\n\t\t| WritableHeldSelectorFamilyOptions<any, any>\n\t\t| WritablePureSelectorFamilyOptions<any, any, any>,\n):\n\t| ReadonlyHeldSelectorFamilyToken<any, any>\n\t| ReadonlyPureSelectorFamilyToken<any, any, any>\n\t| WritableHeldSelectorFamilyToken<any, any>\n\t| WritablePureSelectorFamilyToken<any, any, any> {\n\treturn createSelectorFamily(IMPLICIT.STORE, options)\n}\n","import { IMPLICIT, setIntoStore } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { WritableFamilyToken, WritableToken } from \"./tokens\"\n\n/**\n * A function that sets the value of a state.\n * @param oldValue - The current value of the state.\n * @returns\n * The new value of the state.\n */\nexport type Setter<T> = (oldValue: T) => T\n\n/**\n * Set the value of a state into the implicit store.\n * @param token - An atom or writable selector token.\n * @param value - The new value of the state.\n * @overload Default\n * @default\n */\nexport function setState<T, TT extends T>(\n\ttoken: WritableToken<T, any, any>,\n\tvalue: Setter<TT> | TT,\n): void\n\n/**\n * Set the value of a state into the implicit store.\n * @param token - An atom family or writable selector family token.\n * @param key - The unique key of the state to set.\n * @param value - The new value of the state.\n * @overload Streamlined\n */\nexport function setState<T, TT extends T, K extends Canonical>(\n\ttoken: WritableFamilyToken<T, K, any>,\n\tkey: NoInfer<K>,\n\tvalue: Setter<TT> | TT,\n): void\n\nexport function setState<T, TT extends T, K extends Canonical>(\n\t...params:\n\t\t| [\n\t\t\t\ttoken: WritableFamilyToken<T, K, any>,\n\t\t\t\tkey: NoInfer<K>,\n\t\t\t\tvalue: Setter<TT> | TT,\n\t\t ]\n\t\t| [token: WritableToken<T, any, any>, value: Setter<TT> | TT]\n): void {\n\tsetIntoStore(IMPLICIT.STORE, ...params)\n}\n","import type { findState } from \"atom.io\"\nimport type { RootStore } from \"atom.io/internal\"\nimport {\n\tactUponStore,\n\tarbitrary,\n\tcreateMutableAtom,\n\tcreateMutableAtomFamily,\n\tcreateRegularAtom,\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n\tcreateStandaloneSelector,\n\tcreateTimeline,\n\tcreateTransaction,\n\tdisposeFromStore,\n\tfindInStore,\n\tgetFromStore,\n\tIMPLICIT,\n\tinstallIntoStore,\n\tresetInStore,\n\tsetIntoStore,\n\tStore,\n\tsubscribeInStore,\n\ttimeTravel,\n} from \"atom.io/internal\"\n\nimport type {\n\tAtomIOToken,\n\tdisposeState,\n\tgetState,\n\tredo,\n\tsetState,\n\tsubscribe,\n\ttimeline,\n\tundo,\n} from \".\"\nimport type { atom, atomFamily, mutableAtom, mutableAtomFamily } from \"./atom\"\nimport type { resetState } from \"./reset-state\"\nimport type { selector, selectorFamily } from \"./selector\"\nimport type { runTransaction, transaction } from \"./transaction\"\n\nexport class Silo {\n\tpublic store: RootStore\n\tpublic atom: typeof atom\n\tpublic mutableAtom: typeof mutableAtom\n\tpublic atomFamily: typeof atomFamily\n\tpublic mutableAtomFamily: typeof mutableAtomFamily\n\tpublic selector: typeof selector\n\tpublic selectorFamily: typeof selectorFamily\n\tpublic transaction: typeof transaction\n\tpublic timeline: typeof timeline\n\tpublic findState: typeof findState\n\tpublic getState: typeof getState\n\tpublic setState: typeof setState\n\tpublic resetState: typeof resetState\n\tpublic disposeState: typeof disposeState\n\tpublic subscribe: typeof subscribe\n\tpublic undo: typeof undo\n\tpublic redo: typeof redo\n\tpublic runTransaction: typeof runTransaction\n\tpublic install: (tokens: AtomIOToken[], store?: RootStore) => void\n\n\tpublic constructor(config: Store[`config`], fromStore: Store | null = null) {\n\t\tconst s = (this.store = new Store(config, fromStore) as RootStore)\n\t\tthis.atom = ((options: Parameters<typeof atom>[0]) =>\n\t\t\tcreateRegularAtom(s, options, undefined)) as typeof atom\n\t\tthis.mutableAtom = ((options: Parameters<typeof mutableAtom>[0]) =>\n\t\t\tcreateMutableAtom(s, options, undefined)) as typeof mutableAtom\n\t\tthis.atomFamily = ((options: Parameters<typeof atomFamily>[0]) =>\n\t\t\tcreateRegularAtomFamily(s, options)) as typeof atomFamily\n\t\tthis.mutableAtomFamily = ((\n\t\t\toptions: Parameters<typeof mutableAtomFamily>[0],\n\t\t) => createMutableAtomFamily(s, options)) as typeof mutableAtomFamily\n\t\tthis.selector = ((options: Parameters<typeof selector>[0]) =>\n\t\t\tcreateStandaloneSelector(s, options)) as typeof selector\n\t\tthis.selectorFamily = ((options: Parameters<typeof selectorFamily>[0]) =>\n\t\t\tcreateSelectorFamily(s, options)) as typeof selectorFamily\n\t\tthis.transaction = (options) => createTransaction(s, options)\n\t\tthis.timeline = (options) => createTimeline(s, options)\n\t\tthis.findState = ((...params: Parameters<typeof findState>) =>\n\t\t\tfindInStore(s, ...params)) as typeof findState\n\t\tthis.getState = ((...params: Parameters<typeof getState>) =>\n\t\t\tgetFromStore(s, ...params)) as typeof getState\n\t\tthis.setState = ((...params: Parameters<typeof setState>) => {\n\t\t\tsetIntoStore(s, ...params)\n\t\t}) as typeof setState\n\t\tthis.resetState = ((...params: Parameters<typeof resetState>) => {\n\t\t\tresetInStore(s, ...params)\n\t\t}) as typeof resetState\n\t\tthis.disposeState = ((...params: Parameters<typeof disposeState>) => {\n\t\t\tdisposeFromStore(s, ...params)\n\t\t}) as typeof disposeState\n\t\tthis.subscribe = ((...params: Parameters<typeof subscribe>) =>\n\t\t\tsubscribeInStore(s, ...params)) as typeof subscribe\n\t\tthis.undo = (token) => {\n\t\t\ttimeTravel(s, `undo`, token)\n\t\t}\n\t\tthis.redo = (token) => {\n\t\t\ttimeTravel(s, `redo`, token)\n\t\t}\n\t\tthis.runTransaction = (token, id = arbitrary()) => actUponStore(s, token, id)\n\t\tthis.install = (tokens, source = IMPLICIT.STORE) => {\n\t\t\tinstallIntoStore(tokens, s, source)\n\t\t}\n\t}\n}\n","import type { Fn } from \"atom.io/internal\"\nimport { arbitrary, IMPLICIT, subscribeInStore } from \"atom.io/internal\"\n\nimport type {\n\tStateUpdate,\n\tTimelineEvent,\n\tTransactionOutcomeEvent,\n} from \"./events\"\nimport type { TimelineManageable } from \"./timeline\"\nimport type { ReadableToken, TimelineToken, TransactionToken } from \"./tokens\"\n\nexport type UpdateHandler<T> = (update: StateUpdate<T>) => void\nexport type TransactionUpdateHandler<F extends Fn> = (\n\tdata: TransactionOutcomeEvent<TransactionToken<F>>,\n) => void\n\n/**\n * Subscribe to a state in the implicit store\n * @param token - The token of the state to subscribe to\n * @param handleUpdate - A function that will be called when the state is updated\n * @param key - A unique key for the subscription. If not provided, a random key will be generated.\n * @returns A function that can be called to unsubscribe from the state\n * @overload State\n */\nexport function subscribe<T>(\n\ttoken: ReadableToken<T>,\n\thandleUpdate: UpdateHandler<T>,\n\tkey?: string,\n): () => void\n/**\n * Subscribe to a transaction in the implicit store\n * @param token - The token of the transaction to subscribe to\n * @param handleUpdate - A function that will be called when the transaction succeeds\n * @param key - A unique key for the subscription. If not provided, a random key will be generated.\n * @returns A function that can be called to unsubscribe from the transaction\n * @overload Transaction\n */\nexport function subscribe<F extends Fn>(\n\ttoken: TransactionToken<F>,\n\thandleUpdate: TransactionUpdateHandler<F>,\n\tkey?: string,\n): () => void\n/**\n * Subscribe to a timeline in the implicit store\n * @param token - The token of the timeline to subscribe to\n * @param handleUpdate - A function that will be called when a new update is available\n * @param key - A unique key for the subscription. If not provided, a random key will be generated.\n * @returns A function that can be called to unsubscribe from the timeline\n * @overload Timeline\n */\nexport function subscribe<M extends TimelineManageable>(\n\ttoken: TimelineToken<M>,\n\thandleUpdate: (update: TimelineEvent<M> | `redo` | `undo`) => void,\n\tkey?: string,\n): () => void\nexport function subscribe(\n\ttoken: ReadableToken<any> | TimelineToken<any> | TransactionToken<any>,\n\thandleUpdate: (update: any) => void,\n\tkey: string = arbitrary(),\n): () => void {\n\treturn subscribeInStore(IMPLICIT.STORE, token, handleUpdate, key)\n}\n","import { createTimeline, IMPLICIT, timeTravel } from \"atom.io/internal\"\n\nimport type { AtomFamilyToken, AtomToken, TimelineToken } from \".\"\n\nexport type TimelineManageable =\n\t| AtomFamilyToken<any, any, any>\n\t| AtomToken<any, any, any>\nexport type AtomOnly<M extends TimelineManageable> =\n\tM extends AtomFamilyToken<any, any>\n\t\t? AtomToken<any, any, any>\n\t\t: M extends AtomToken<any, any, any>\n\t\t\t? M\n\t\t\t: never\n\n/**\n * If there is an update ahead of the cursor (in the future of this {@link timeline}), apply it and move the cursor to the next update\n * @param timeline - A {@link TimelineToken}\n */\nexport const redo = (timeline: TimelineToken<any>): void => {\n\ttimeTravel(IMPLICIT.STORE, `redo`, timeline)\n}\n/**\n * Reverse the last update on the {@link timeline} and move the cursor to the previous update\n * @param timeline - A {@link TimelineToken}\n */\nexport const undo = (timeline: TimelineToken<any>): void => {\n\ttimeTravel(IMPLICIT.STORE, `undo`, timeline)\n}\n\nexport type TimelineOptions<ManagedAtom extends TimelineManageable> = {\n\t/** The unique identifier of the timeline */\n\tkey: string\n\t/** The managed atoms (and families of atoms) to record */\n\tscope: ManagedAtom[]\n}\n\n/**\n * Create a timeline, a mechanism for recording, undoing, and replaying changes to groups of atoms\n * @param options - {@link TimelineOptions}\n * @returns A reference to the timeline created: a {@link TimelineToken}\n */\nexport const timeline = <ManagedAtom extends TimelineManageable>(\n\toptions: TimelineOptions<ManagedAtom>,\n): TimelineToken<ManagedAtom> => {\n\treturn createTimeline(IMPLICIT.STORE, options)\n}\n","import type { AsJSON, EnvironmentData, Fn, Transceiver } from \"atom.io/internal\"\nimport {\n\tactUponStore,\n\tarbitrary,\n\tcreateTransaction,\n\tIMPLICIT,\n} from \"atom.io/internal\"\n\nimport type { disposeState } from \"./dispose-state\"\nimport type { findState } from \"./find-state\"\nimport type { getState } from \"./get-state\"\nimport type { resetState } from \"./reset-state\"\nimport type { setState } from \"./set-state\"\nimport type {\n\tMutableAtomToken,\n\tTransactionToken,\n\tWritablePureSelectorToken,\n} from \"./tokens\"\n\nexport type ReaderToolkit = Pick<ActorToolkit, `find` | `get` | `json`>\nexport type WriterToolkit = Pick<ActorToolkit, `find` | `get` | `json` | `set`>\nexport type ActorToolkit = Readonly<{\n\tget: typeof getState\n\tset: typeof setState\n\treset: typeof resetState\n\tfind: typeof findState\n\tjson: <T extends Transceiver<any, any, any>>(\n\t\tstate: MutableAtomToken<T>,\n\t) => WritablePureSelectorToken<AsJSON<T>>\n\tdispose: typeof disposeState\n\trun: typeof runTransaction\n\tenv: () => EnvironmentData\n}>\n\nexport type Read<F extends Fn> = (\n\ttoolkit: ReaderToolkit,\n\t...parameters: Parameters<F>\n) => ReturnType<F>\nexport type Write<F extends Fn> = (\n\ttoolkit: WriterToolkit,\n\t...parameters: Parameters<F>\n) => ReturnType<F>\nexport type Transact<F extends Fn> = (\n\ttoolkit: ActorToolkit,\n\t...parameters: Parameters<F>\n) => ReturnType<F>\nexport type TransactionIO<Token extends TransactionToken<any>> =\n\tToken extends TransactionToken<infer F> ? F : never\nexport type TransactionOptions<F extends Fn> = {\n\t/** The unique identifier of the transaction */\n\tkey: string\n\t/** The operation to perform */\n\tdo: Transact<F>\n}\n\n/**\n * Create a transaction, a mechanism for batching updates multiple states in a single, all-or-nothing operation\n * @param options - {@link TransactionOptions}\n * @returns A reference to the transaction created: a {@link TransactionToken}\n */\nexport function transaction<F extends Fn>(\n\toptions: TransactionOptions<F>,\n): TransactionToken<F> {\n\treturn createTransaction(IMPLICIT.STORE, options)\n}\n\n/**\n * Execute a {@link transaction}\n * @param token - A {@link TransactionToken}\n * @param id - A unique identifier for the transaction. If not provided, a random identifier will be generated\n * @returns A function that can be called to run the transaction with its {@link TransactionIO} parameters\n */\nexport function runTransaction<F extends Fn>(\n\ttoken: TransactionToken<F>,\n\tid: string = arbitrary(),\n): (...parameters: Parameters<F>) => ReturnType<F> {\n\treturn actUponStore(IMPLICIT.STORE, token, id)\n}\n","import type {\n\tMutableAtomFamilyToken,\n\tMutableAtomToken,\n\tReadableFamilyToken,\n\tReadableToken,\n\tReadonlyPureSelectorFamilyToken,\n\tReadonlyPureSelectorToken,\n\tRegularAtomFamilyToken,\n\tRegularAtomToken,\n\tTransactionToken,\n\tWritableFamilyToken,\n\tWritablePureSelectorFamilyToken,\n\tWritablePureSelectorToken,\n\tWritableToken,\n} from \"./tokens\"\n\nexport type TokenType<\n\tComparison extends\n\t\t| ReadableFamilyToken<any, any, any>\n\t\t| ReadableToken<any, any, any>\n\t\t| TransactionToken<any>,\n> =\n\tComparison extends ReadableToken<infer RepresentedValue>\n\t\t? RepresentedValue\n\t\t: Comparison extends ReadableFamilyToken<infer RepresentedValue, any>\n\t\t\t? RepresentedValue\n\t\t\t: Comparison extends TransactionToken<infer Fn>\n\t\t\t\t? Fn\n\t\t\t\t: never\n\nexport function isToken<KnownToken extends RegularAtomToken<any, any, any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any, any, any>,\n): unknownToken is RegularAtomToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends MutableAtomToken<any, any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is MutableAtomToken<TokenType<KnownToken>, any>\nexport function isToken<KnownToken extends WritablePureSelectorToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritablePureSelectorToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends ReadonlyPureSelectorToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadonlyPureSelectorToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends WritableToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritableToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends ReadableToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends ReadableToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<KnownToken>> {\n\treturn knownToken.key === unknownToken.key\n}\n\nexport function belongsTo<Family extends RegularAtomFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is RegularAtomToken<TokenType<Family>>\nexport function belongsTo<Family extends MutableAtomFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is MutableAtomToken<TokenType<Family>, any>\nexport function belongsTo<\n\tFamily extends WritablePureSelectorFamilyToken<any, any>,\n>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritablePureSelectorToken<TokenType<Family>>\nexport function belongsTo<\n\tFamily extends ReadonlyPureSelectorFamilyToken<any, any>,\n>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadonlyPureSelectorToken<TokenType<Family>>\nexport function belongsTo<Family extends WritableFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritableToken<TokenType<Family>>\nexport function belongsTo<Family extends ReadableFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<Family>>\nexport function belongsTo<Family extends ReadableFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<Family>> {\n\treturn family.key === unknownToken.family?.key\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["PRETTY_ENTITY_NAMES: Record<EntityDenomination, string>","simpleLogger: Logger","$validatedKey: unique symbol","timeline"],"sources":["../../src/main/atom.ts","../../src/main/dispose-state.ts","../../src/main/find-state.ts","../../src/main/get-state.ts","../../src/main/join.ts","../../src/main/logger.ts","../../src/main/realm.ts","../../src/main/reset-state.ts","../../src/main/selector.ts","../../src/main/set-state.ts","../../src/main/silo.ts","../../src/main/subscribe.ts","../../src/main/timeline.ts","../../src/main/transaction.ts","../../src/main/validators.ts"],"sourcesContent":["import type { ConstructorOf, Ctor, Store, Transceiver } from \"atom.io/internal\"\nimport {\n\tcreateMutableAtom,\n\tcreateMutableAtomFamily,\n\tcreateRegularAtom,\n\tcreateRegularAtomFamily,\n\tIMPLICIT,\n} from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { StateUpdate } from \"./events\"\nimport type {\n\tAtomToken,\n\tMutableAtomFamilyToken,\n\tMutableAtomToken,\n\tRegularAtomFamilyToken,\n\tRegularAtomToken,\n} from \"./tokens\"\n\nexport type RegularAtomOptions<T, E = never> = {\n\t/** The unique identifier of the atom */\n\tkey: string\n\t/** The starting value of the atom */\n\tdefault: T | (() => T)\n\t/** Hooks used to run side effects when the atom is set */\n\teffects?: readonly AtomEffect<T, E>[]\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\n/**\n * Create a regular atom, a global reactive variable in the implicit store\n * @param options - {@link RegularAtomOptions}.\n * @returns\n * A reference to the atom created: a {@link RegularAtomToken}\n */\nexport function atom<T, E = never>(\n\toptions: RegularAtomOptions<T, E>,\n): RegularAtomToken<T, any, E> {\n\treturn createRegularAtom(IMPLICIT.STORE, options, undefined)\n}\n\nexport type MutableAtomOptions<T extends Transceiver<any, any, any>> = {\n\t/** The unique identifier of the atom */\n\tkey: string\n\t/** A constructor for the atom's value */\n\tclass: ConstructorOf<T>\n\t/** Hooks used to run side effects when the atom is set */\n\teffects?: readonly AtomEffect<T>[]\n}\n/**\n * Create a mutable atom, a global reactive variable in the implicit store\n *\n * The value of a mutable atom must be some kind of {@link Transceiver}.\n *\n * @param options - {@link MutableAtomOptions}.\n * @returns\n * A reference to the atom created: a {@link MutableAtomToken}\n */\nexport function mutableAtom<T extends Transceiver<any, any, any>>(\n\toptions: MutableAtomOptions<T>,\n): MutableAtomToken<T> {\n\treturn createMutableAtom(IMPLICIT.STORE, options, undefined)\n}\n\n/**\n * A function that runs side effects when the atom is set\n * @param tools - {@link Effectors} that can be used to run side effects\n * @returns\n * Optionally, a cleanup function that will be called when the atom is disposed\n */\nexport type AtomEffect<T, E = never> = (\n\ttools: Effectors<T, E>,\n) => (() => void) | void\nexport type Effectors<T, E = never> = {\n\t/**\n\t * Reset the value of the atom to its default\n\t */\n\tresetSelf: () => void\n\t/**\n\t * Set the value of the atom\n\t * @param next - The new value of the atom, or a setter function\n\t */\n\tsetSelf: <New extends T>(next: New | ((old: T) => New)) => void\n\t/** Subscribe to changes to the atom */\n\tonSet: (callback: (options: StateUpdate<E | T>) => void) => void\n\t/** The token of the atom */\n\ttoken: T extends Transceiver<any, any, any>\n\t\t? MutableAtomToken<T>\n\t\t: AtomToken<T, any, E>\n\t/** The store in which the atom exists */\n\tstore: Store\n}\n\nexport type RegularAtomFamilyOptions<T, K extends Canonical, E = never> = {\n\t/** The unique identifier of the atom family */\n\tkey: string\n\t/** The starting value of the atom family */\n\tdefault: T | ((key: K) => T)\n\t/** Hooks used to run side effects when an atom in the family is set */\n\teffects?: (key: K) => AtomEffect<T, E>[]\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\n/**\n * Create a family of regular atoms, allowing for the dynamic creation and disposal of atoms.\n * @param options - {@link RegularAtomFamilyOptions}\n * @returns\n * A reference to the atom family created: a {@link RegularAtomFamilyToken}\n */\nexport function atomFamily<T, K extends Canonical, E = never>(\n\toptions: RegularAtomFamilyOptions<T, K, E>,\n): RegularAtomFamilyToken<T, K, E> {\n\treturn createRegularAtomFamily(IMPLICIT.STORE, options)\n}\n\nexport type MutableAtomFamilyOptions<\n\tT extends Transceiver<any, any, any>,\n\tK extends Canonical,\n> = {\n\t/** The unique identifier of the atom family */\n\tkey: string\n\t/** The class of the transceiver to be created */\n\tclass: ConstructorOf<T>\n\t/** Hooks used to run side effects when an atom in the family is set */\n\teffects?: (key: K) => AtomEffect<T>[]\n}\n/**\n * Create a family of mutable atoms, allowing for the dynamic creation and disposal of atoms.\n *\n * The value of a mutable atom must be some kind of {@link Transceiver}.\n *\n * @param options - {@link MutableAtomFamilyOptions}\n * @returns\n * A reference to the atom family created: a {@link MutableAtomFamilyToken}\n */\nexport function mutableAtomFamily<\n\tT extends Transceiver<any, any, any>,\n\tK extends Canonical,\n>(options: MutableAtomFamilyOptions<T, K>): MutableAtomFamilyToken<T, K> {\n\treturn createMutableAtomFamily(IMPLICIT.STORE, options)\n}\n","import { disposeFromStore, IMPLICIT } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { ReadableFamilyToken, ReadableToken } from \".\"\n\n/**\n * Disposes of a state in the implicit store.\n *\n * Only family members can be disposed of.\n *\n * @param token - The token of the state to dispose\n * @overload Default\n */\nexport function disposeState(token: ReadableToken<any, any>): void\n/**\n * Disposes of a state in the implicit store.\n *\n * Only family members can be disposed of.\n *\n * @param token - The token of the state family to dispose\n * @param key - The unique key of the state to dispose\n * @overload Streamlined\n */\nexport function disposeState<K extends Canonical>(\n\ttoken: ReadableFamilyToken<any, K, any>,\n\tkey: K,\n): void\nexport function disposeState(\n\t...params:\n\t\t| [token: ReadableFamilyToken<any, any, any>, key: Canonical]\n\t\t| [token: ReadableToken<any, any>]\n): void {\n\tdisposeFromStore(IMPLICIT.STORE, ...params)\n}\n","import type {\n\tMutableAtomToken,\n\tReadableFamilyToken,\n\tReadableToken,\n\tReadonlySelectorFamilyToken,\n\tReadonlySelectorToken,\n\tRegularAtomToken,\n\tWritableFamilyToken,\n\tWritableSelectorFamilyToken,\n\tWritableSelectorToken,\n\tWritableToken,\n} from \"atom.io\"\nimport type { Transceiver } from \"atom.io/internal\"\nimport { findInStore, IMPLICIT } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { MutableAtomFamilyToken, RegularAtomFamilyToken } from \"./tokens\"\n\n/**\n * Finds a {@link MutableAtomToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" atom token will be returned in this case and a warning will be logged.\n *\n * @param token - A {@link MutableAtomFamilyToken}\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Mutable Atom\n */\nexport function findState<\n\tT extends Transceiver<any, any, any>,\n\tK extends Canonical,\n\tKey extends K,\n>(token: MutableAtomFamilyToken<T, K>, key: Key): MutableAtomToken<T, K>\n/**\n * Finds a {@link RegularAtomToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" atom token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Regular Atom\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: RegularAtomFamilyToken<T, K>,\n\tkey: Key,\n): RegularAtomToken<T, Key>\n/**\n * Finds a {@link WritableSelectorToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" selector token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Writable Selector\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: WritableSelectorFamilyToken<T, K>,\n\tkey: Key,\n): WritableSelectorToken<T, Key>\n/**\n * Finds a {@link ReadonlySelectorToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" selector token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Readonly Selector\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: ReadonlySelectorFamilyToken<T, K>,\n\tkey: Key,\n): ReadonlySelectorToken<T, Key>\n/**\n * Finds a {@link WritableToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom or selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" token will be returned in this case and a warning will be logged.\n *\n * @param token - The token of the state family\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Writable State\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: WritableFamilyToken<T, K>,\n\tkey: Key,\n): WritableToken<T, Key>\n/**\n * Finds a {@link MutableAtomToken} in the store, without accessing its value.\n *\n * In an ephemeral store, this will create a new atom or selector if one does not exist with the given key.\n *\n * In an immortal store, a \"counterfeit\" token will be returned in this case and a warning will be logged.\n *\n * @param token - A {@link ReadableFamilyToken}\n * @param key - The key of the state\n * @returns\n * The current value of the state\n * @overload Unknown\n * @default\n */\nexport function findState<T, K extends Canonical, Key extends K>(\n\ttoken: ReadableFamilyToken<T, K>,\n\tkey: Key,\n): ReadableToken<T, Key>\n\nexport function findState(\n\ttoken: ReadableFamilyToken<any, any>,\n\tkey: Canonical,\n): ReadableToken<any> {\n\tconst state = findInStore(IMPLICIT.STORE, token, key)\n\treturn state\n}\n","import type { ViewOf } from \"atom.io\"\nimport { getFromStore, IMPLICIT } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { ReadableFamilyToken, ReadableToken } from \".\"\n\n/**\n * Read or compute the current value of a state\n * @param token - The token of the state to get\n * @return The current value of the state\n * @overload Default\n * @default\n */\nexport function getState<T, E = never>(\n\ttoken: ReadableToken<T, any, E>,\n): ViewOf<E | T>\n\n/**\n * Read or compute the current value of a state\n * @param token - The token of a state family\n * @param key - The unique key of the state to get\n * @return The current value of the state\n * @overload Streamlined\n */\nexport function getState<T, K extends Canonical, E = never>(\n\ttoken: ReadableFamilyToken<T, K, E>,\n\tkey: NoInfer<K>,\n): ViewOf<E | T>\n\nexport function getState<T, K extends Canonical, E = never>(\n\t...params:\n\t\t| [token: ReadableFamilyToken<T, K, E>, key: NoInfer<K>]\n\t\t| [token: ReadableToken<T, any, E>]\n): ViewOf<E | T> {\n\treturn getFromStore(IMPLICIT.STORE, ...params)\n}\n","import type { MutableAtomFamilyToken, ReadonlyPureSelectorToken } from \"atom.io\"\nimport type {\n\tFlat,\n\tJunction,\n\tJunctionEntriesBase,\n\tJunctionSchemaBase,\n\tRefinement,\n} from \"atom.io/internal\"\nimport {\n\tcreateJoin,\n\teditRelationsInStore,\n\tfindRelationsInStore,\n\tgetInternalRelationsFromStore,\n\tIMPLICIT,\n} from \"atom.io/internal\"\nimport type { UList } from \"atom.io/transceivers/u-list\"\n\n// biome-ignore format: intersection\nexport type JoinOptions<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n> =\n\tFlat<\n\t\t& JunctionSchemaBase<AName, BName>\n\t\t& {\n\t\t\t/** Unique identifier of the join */\n\t\t\treadonly key: string\n\t\t\t/** How many relations are allowed in each direction? */\n\t\t\treadonly cardinality: Cardinality\n\t\t\t/** Type guard for the type of the left side */\n\t\t\treadonly isAType: Refinement<string, A>\n\t\t\t/** Type guard for the type of the right side */\n\t\t\treadonly isBType: Refinement<string, B>\n\t\t}\n\t> & Partial<JunctionEntriesBase<A, B, null>>\n\nexport type JoinToken<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n> = {\n\t/** Unique identifier of the join */\n\tkey: string\n\t/** Discriminator */\n\ttype: `join`\n\t/** How many relations are allowed in each direction? */\n\tcardinality: Cardinality\n\t/** Name of the join's left side */\n\ta: AName\n\t/** Name of the join's right side */\n\tb: BName\n\t/** Never present. This is a marker that preserves the type of the left side's keys */\n\t__aType?: A\n\t/** Never present. This is a marker that preserves the type of the right side's keys */\n\t__bType?: B\n}\n\n/**\n * Create a join, an interface for managing relations between two sets of keys.\n *\n * Use joins when it is important to view relationships from either side.\n *\n * Under the hood, joins coordinate changes of multiple atoms to support that the desired relationships stay consistent.\n *\n * @param options - {@link JoinOptions}\n * @returns\n * A reference to the join created: a {@link JoinToken}\n */\nexport function join<\n\tconst AName extends string,\n\tconst A extends string,\n\tconst BName extends string,\n\tconst B extends string,\n\tconst Cardinality extends `1:1` | `1:n` | `n:n`,\n>(\n\toptions: JoinOptions<AName, A, BName, B, Cardinality>,\n): JoinToken<AName, A, BName, B, Cardinality> {\n\treturn createJoin(IMPLICIT.STORE, options)\n}\n\nexport type JoinStates<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n> = Cardinality extends `1:1`\n\t? {\n\t\t\treadonly [N in AName as `${N}KeyOf${Capitalize<BName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\tA | null,\n\t\t\t\tB\n\t\t\t>\n\t\t} & {\n\t\t\treadonly [N in BName as `${N}KeyOf${Capitalize<AName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\tB | null,\n\t\t\t\tA\n\t\t\t>\n\t\t}\n\t: Cardinality extends `1:n`\n\t\t? {\n\t\t\t\treadonly [N in AName as `${N}KeyOf${Capitalize<BName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\tA | null,\n\t\t\t\t\tB\n\t\t\t\t>\n\t\t\t} & {\n\t\t\t\treadonly [N in BName as `${N}KeysOf${Capitalize<AName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\tB[],\n\t\t\t\t\tA\n\t\t\t\t>\n\t\t\t}\n\t\t: Cardinality extends `n:n`\n\t\t\t? {\n\t\t\t\t\treadonly [N in AName as `${N}KeysOf${Capitalize<BName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\t\tA[],\n\t\t\t\t\t\tB\n\t\t\t\t\t>\n\t\t\t\t} & {\n\t\t\t\t\treadonly [N in BName as `${N}KeysOf${Capitalize<AName>}`]: ReadonlyPureSelectorToken<\n\t\t\t\t\t\tB[],\n\t\t\t\t\t\tA\n\t\t\t\t\t>\n\t\t\t\t}\n\t\t\t: never\n\n/**\n * Find the current value of a relation owned by a {@link join}\n * @param token - The token of the join\n * @param key - The key of the relation to find\n * @returns\n * A {@link JoinStates} interface to access the relation\n * @overload Default\n */\nexport function findRelations<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n>(\n\ttoken: JoinToken<AName, A, BName, B, Cardinality>,\n\tkey: A | B,\n): JoinStates<AName, A, BName, B, Cardinality> {\n\treturn findRelationsInStore(IMPLICIT.STORE, token, key)\n}\n\n/**\n * Change one or multiple relations owned by a {@link join}\n * @param token - The token of the join\n * @param change - A function that takes a {@link Junction} interface to edit the relations\n */\nexport function editRelations<\n\tAName extends string,\n\tA extends string,\n\tBName extends string,\n\tB extends string,\n\tCardinality extends `1:1` | `1:n` | `n:n`,\n>(\n\ttoken: JoinToken<AName, A, BName, B, Cardinality>,\n\tchange: (relations: Junction<AName, A, BName, B>) => void,\n): void {\n\teditRelationsInStore(IMPLICIT.STORE, token, change)\n}\n\n/**\n * @param token - The token of the join\n * @returns\n * A {@link MutableAtomFamilyToken} to access the internal relations\n */\nexport function getInternalRelations<A extends string, B extends string>(\n\ttoken: JoinToken<any, A, any, B, any>,\n): MutableAtomFamilyToken<UList<A> | UList<B>, A | B>\nexport function getInternalRelations<A extends string, B extends string>(\n\ttoken: JoinToken<any, A, any, B, any>,\n\tsplit: `split`,\n): [\n\tatob: MutableAtomFamilyToken<UList<B>, A>,\n\tbtoa: MutableAtomFamilyToken<UList<A>, B>,\n]\nexport function getInternalRelations<A extends string, B extends string>(\n\ttoken: JoinToken<any, A, any, B, any>,\n\tsplit?: `split`,\n):\n\t| MutableAtomFamilyToken<UList<A> | UList<B>, A | B>\n\t| [\n\t\t\tatob: MutableAtomFamilyToken<UList<B>, A>,\n\t\t\tbtoa: MutableAtomFamilyToken<UList<A>, B>,\n\t ] {\n\treturn getInternalRelationsFromStore(IMPLICIT.STORE, token, split as `split`)\n}\n","const LOGGER_ICON_DICTIONARY = {\n\t// Lifecycle\n\t\"🔨\": `Create state`,\n\t\"🛠️\": `Install state into store`,\n\t// Families\n\t\"👪\": `Family member added`,\n\t\"🔥\": `Family member deleted`,\n\t// Cache\n\t\"📃\": `Copy mutable`,\n\t\"📖\": `Read from cache`,\n\t\"📝\": `Write to cache`,\n\t\"❔\": `Cache miss`,\n\t\"✨\": `Value derived`,\n\t\"⭐\": `Value set`,\n\t// Operations\n\t\"⭕\": `Operation start`,\n\t\"🔴\": `Operation complete`,\n\t\"🚫\": `Operation blocked`,\n\t\"🟢\": `Operation unblocked`,\n\t// Selectors\n\t\"🗑\": `Evict cached value`,\n\t\"🧹\": `Prepare to evict`,\n\t\"🧮\": `Computing selector`,\n\t\"🔌\": `Register direct dependency`,\n\t\"🔍\": `Discover root`,\n\t// Transactions\n\t\"📁\": `Stow update`,\n\t\"🛫\": `Begin transaction`,\n\t\"🛄\": `Apply transaction`,\n\t\"🛬\": `Complete transaction`,\n\t\"💥\": `Transaction caught error`,\n\t\"🪂\": `Abort transaction`,\n\t// Timelines\n\t\"⌛\": `Timeline event fully captured`,\n\t\"⏩\": `Timeline redo`,\n\t\"⏪\": `Timeline undo`,\n\t\"⏭️\": `Transaction redo`,\n\t\"⏮️\": `Transaction undo`,\n\t\"⏳\": `Timeline event partially captured`,\n\t\"⏸️\": `Time-travel complete`,\n\t// Problems\n\t\"💣\": `Dangerous action likely to cause bad errors down the line`,\n\t\"❗\": `Dangerous action unless in development mode`,\n\t\"❌\": `Conflict prevents attempted action`,\n\t\"🐞\": `Possible bug in AtomIO`,\n\t\"💁\": `Advice and guidance to the developer`,\n\t// Subscriptions\n\t\"👀\": `Subscription added`,\n\t\"🙈\": `Subscription canceled`,\n\t\"📢\": `Notify subscribers`,\n\n\t// Realtime\n\t\"🛰️\": `Server socket`,\n\t\"📡\": `Client socket`,\n\t\"🚀\": `Performance measure`,\n\t\"✅\": `Realtime transaction success`,\n\t\"🔄\": `Realtime transaction synchronized`,\n\t\"🤞\": `Realtime optimistic update enqueued`,\n\t\"👈\": `Realtime confirmed update enqueued`,\n\t\"🧑‍⚖️\": `Realtime update beginning reconciliation`,\n\t\"🛎️\": `Realtime transaction received`,\n\t\"👁\": `Determining perspective`,\n\t\"🔭\": `Determining realtime perspective`,\n\t\"🖌\": `Redacting realtime update`,\n\t\"👋\": `Realtime greeting`,\n\t\"👍\": `Realtime acknowledgment`,\n} as const\nexport type LoggerIcon = keyof typeof LOGGER_ICON_DICTIONARY\nexport type EntityDenomination =\n\t| `atom_family`\n\t| `atom`\n\t| `continuity`\n\t| `key`\n\t| `mutable_atom_family`\n\t| `mutable_atom`\n\t| `readonly_held_selector_family`\n\t| `readonly_held_selector`\n\t| `readonly_pure_selector_family`\n\t| `readonly_pure_selector`\n\t| `socket`\n\t| `state`\n\t| `timeline`\n\t| `transaction`\n\t| `unknown`\n\t| `user`\n\t| `writable_held_selector_family`\n\t| `writable_held_selector`\n\t| `writable_pure_selector_family`\n\t| `writable_pure_selector`\n\nexport const PRETTY_ENTITY_NAMES: Record<EntityDenomination, string> = {\n\tatom_family: `atom family`,\n\tatom: `atom`,\n\tcontinuity: `continuity`,\n\tkey: `key`,\n\tmutable_atom_family: `atom family [m]`,\n\tmutable_atom: `atom [m]`,\n\treadonly_held_selector_family: `selector family [h]`,\n\treadonly_held_selector: `selector [h]`,\n\treadonly_pure_selector_family: `selector family`,\n\treadonly_pure_selector: `selector`,\n\tsocket: `socket`,\n\tstate: `state`,\n\ttimeline: `timeline`,\n\ttransaction: `transaction`,\n\tunknown: `unknown`,\n\tuser: `👤`,\n\twritable_held_selector_family: `selector family [wh]`,\n\twritable_held_selector: `selector [wh]`,\n\twritable_pure_selector_family: `selector family [w]`,\n\twritable_pure_selector: `selector [w]`,\n}\n\nexport const LOG_LEVELS = [`info`, `warn`, `error`] as const\nexport type LogLevel = (typeof LOG_LEVELS)[number]\n\nexport type LogFn = (\n\ticon: LoggerIcon,\n\tdenomination: EntityDenomination,\n\ttokenKey: string,\n\tmessage: string,\n\t...rest: unknown[]\n) => void\nexport type LogFilter = (\n\t...params: Parameters<LogFn>\n) => Parameters<LogFn> | boolean\n\nexport type Logger = Record<LogLevel, LogFn>\n\nexport const simpleLog =\n\t(logLevel: keyof Logger, prefix?: string): LogFn =>\n\t(icon, denomination, tokenKey, message, ...rest) => {\n\t\t/* eslint-disable-next-line no-console */\n\t\tconsole[logLevel](\n\t\t\t`${prefix ? `${prefix} ` : ``}${icon} ${PRETTY_ENTITY_NAMES[denomination]} \\`${tokenKey}\\` ${message}`,\n\t\t\t...rest,\n\t\t)\n\t}\nexport const simpleLogger: Logger = {\n\terror: simpleLog(`error`),\n\tinfo: simpleLog(`info`),\n\twarn: simpleLog(`warn`),\n}\n\nexport class AtomIOLogger implements Logger {\n\tpublic logLevel: `error` | `info` | `warn` | null\n\tpublic filter: LogFilter | undefined\n\tprivate readonly logger: Logger\n\n\tpublic constructor(\n\t\tlogLevel: `error` | `info` | `warn` | null,\n\t\tfilter?: LogFilter,\n\t\tlogger: Logger = simpleLogger,\n\t) {\n\t\tthis.logLevel = logLevel\n\t\tthis.filter = filter\n\t\tthis.logger = logger\n\t}\n\n\tpublic error: LogFn = (...args) => {\n\t\tif (this.logLevel !== null) {\n\t\t\tconst filterResult = this.filter?.(...args) ?? true\n\t\t\tif (filterResult === true) {\n\t\t\t\tthis.logger.error(...args)\n\t\t\t} else if (filterResult) {\n\t\t\t\tthis.logger.error(...filterResult)\n\t\t\t}\n\t\t}\n\t}\n\tpublic info: LogFn = (...args) => {\n\t\tif (this.logLevel === `info`) {\n\t\t\tconst filterResult = this.filter?.(...args) ?? true\n\t\t\tif (filterResult === true) {\n\t\t\t\tthis.logger.info(...args)\n\t\t\t} else if (filterResult) {\n\t\t\t\tthis.logger.info(...filterResult)\n\t\t\t}\n\t\t}\n\t}\n\tpublic warn: LogFn = (...args) => {\n\t\tif (this.logLevel !== `error` && this.logLevel !== null) {\n\t\t\tconst filterResult = this.filter?.(...args) ?? true\n\t\t\tif (filterResult === true) {\n\t\t\t\tthis.logger.warn(...args)\n\t\t\t} else if (filterResult) {\n\t\t\t\tthis.logger.warn(...filterResult)\n\t\t\t}\n\t\t}\n\t}\n}\n","import type { Each, RootStore } from \"atom.io/internal\"\nimport {\n\tactUponStore,\n\tallocateIntoStore,\n\tarbitrary,\n\tclaimWithinStore,\n\tcreateClaimTX,\n\tcreateDeallocateTX,\n\tfuseWithinStore,\n\tIMPLICIT,\n\tmakeRootMoleculeInStore,\n} from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { TransactionToken } from \"./tokens\"\n\nexport const $validatedKey: unique symbol = Symbol.for(`claim`)\nexport type ValidKey<K extends Canonical> = K & { [$validatedKey]?: true }\n\nexport function simpleCompound(a: string, b: string): string {\n\treturn [a, b].sort().join(`\\u001F`)\n}\n\nexport class Realm<H extends Hierarchy> {\n\tpublic store: RootStore\n\tpublic deallocateTX: TransactionToken<(claim: ValidKey<Vassal<H>>) => void>\n\tpublic claimTX: TransactionToken<\n\t\t<V extends Exclude<Vassal<H>, CompoundTypedKey>, A extends Above<V, H>>(\n\t\t\tnewProvenance: A,\n\t\t\tclaim: ValidKey<V>,\n\t\t\texclusive?: `exclusive`,\n\t\t) => void\n\t>\n\t/**\n\t * @param store - The store to which the realm will be attached\n\t */\n\tpublic constructor(store: RootStore = IMPLICIT.STORE) {\n\t\tthis.store = store\n\t\tthis.deallocateTX = createDeallocateTX(store)\n\t\tthis.claimTX = createClaimTX(store)\n\t\tmakeRootMoleculeInStore(store, `root`)\n\t}\n\t/**\n\t * Make space for a new subject of the realm\n\t * @param provenance - A key for an owner {@link Above} the new subject in the realm's {@link Hierarchy}\n\t * @param key - A unique identifier for the new subject\n\t * @param attachmentStyle - The attachment style of new subject to its owner(s). `any` means that if any owners remain, the subject will be retained. `all` means that the subject be retained only if all owners remain .\n\t * @returns\n\t * The subject's key, given status as a true {@link ValidKey}\n\t */\n\tpublic allocate<V extends Vassal<H>, A extends Above<V, H>>(\n\t\tprovenance: A,\n\t\tkey: V,\n\t\tattachmentStyle?: `all` | `any`,\n\t): ValidKey<V> {\n\t\treturn allocateIntoStore<H, V, A>(\n\t\t\tthis.store,\n\t\t\tprovenance,\n\t\t\tkey,\n\t\t\tattachmentStyle,\n\t\t)\n\t}\n\t/**\n\t * Fuse two reagents into a compound\n\t * @param type - the name of the compound that is being fused\n\t * @param reagentA - the left reagent of the compound\n\t * @param reagentB - the right reagent of the compound\n\t * @returns\n\t * The compound's key, given status as a {@link ValidKey}\n\t */\n\tpublic fuse<\n\t\tC extends CompoundFrom<H>,\n\t\tT extends C extends CompoundTypedKey<infer t, any, any> ? t : never,\n\t\tA extends C extends CompoundTypedKey<any, infer v, any> ? v : never,\n\t\tB extends C extends CompoundTypedKey<any, any, infer m> ? m : never,\n\t>(\n\t\ttype: T,\n\t\treagentA: SingularTypedKey<A>,\n\t\treagentB: SingularTypedKey<B>,\n\t): ValidKey<CompoundTypedKey<T, A, B>> {\n\t\treturn fuseWithinStore<H, C, T, A, B>(this.store, type, reagentA, reagentB)\n\t}\n\t/**\n\t * Remove a subject from the realm\n\t * @param claim - The subject to be deallocated\n\t */\n\tpublic deallocate<V extends Vassal<H>>(claim: ValidKey<V>): void {\n\t\tactUponStore(this.store, this.deallocateTX, arbitrary())(claim)\n\t}\n\t/**\n\t * Transfer a subject of the realm from one owner to another\n\t * @param newProvenance - A key for an owner {@link Above} the new subject in the realm's {@link Hierarchy}\n\t * @param claim - The subject to be claimed\n\t * @param exclusive - Whether the subjects previous owners should be detached from it\n\t * @returns\n\t * The subject's key, given status as a true {@link ValidKey}\n\t */\n\tpublic claim<\n\t\tV extends Exclude<Vassal<H>, CompoundTypedKey>,\n\t\tA extends Above<V, H>,\n\t>(newProvenance: A, claim: ValidKey<V>, exclusive?: `exclusive`): void {\n\t\tactUponStore(this.store, this.claimTX, arbitrary())(\n\t\t\tnewProvenance,\n\t\t\tclaim,\n\t\t\texclusive,\n\t\t)\n\t}\n}\n\nexport class Anarchy {\n\tpublic store: RootStore\n\tpublic deallocateTX: TransactionToken<(key: Canonical) => void>\n\tpublic claimTX: TransactionToken<\n\t\t(newProvenance: Canonical, key: Canonical, exclusive?: `exclusive`) => void\n\t>\n\n\t/**\n\t * @param store - The store to which the anarchy-realm will be attached\n\t */\n\tpublic constructor(store: RootStore = IMPLICIT.STORE) {\n\t\tthis.store = store\n\t\tthis.deallocateTX = createDeallocateTX(store)\n\t\tthis.claimTX = createClaimTX(store)\n\t\tmakeRootMoleculeInStore(store, `root`)\n\t}\n\t/**\n\t * Declare a new entity\n\t * @param provenance - A key for an owner of the entity\n\t * @param key - A unique identifier for the new entity\n\t * @param attachmentStyle - The attachment style of new entity to its owner(s). `any` means that if any owners remain, the subject will be retained. `all` means that the subject be retained only if all owners remain .\n\t */\n\tpublic allocate(\n\t\tprovenance: Canonical,\n\t\tkey: Canonical,\n\t\tattachmentStyle?: `all` | `any`,\n\t): void {\n\t\tallocateIntoStore<any, any, any>(\n\t\t\tthis.store,\n\t\t\tprovenance,\n\t\t\tkey,\n\t\t\tattachmentStyle,\n\t\t)\n\t}\n\t/**\n\t * Remove an entity\n\t * @param key - The entity to be deallocated\n\t */\n\tpublic deallocate(key: Canonical): void {\n\t\tactUponStore(this.store, this.deallocateTX, arbitrary())(key)\n\t}\n\t/**\n\t * Transfer an entity from one owner to another\n\t * @param newProvenance - A key for an owner of the entity\n\t * @param key - The entity to be claimed\n\t * @param exclusive - Whether the entity's previous owners should be detached from it\n\t */\n\tpublic claim(\n\t\tnewProvenance: Canonical,\n\t\tkey: Canonical,\n\t\texclusive?: `exclusive`,\n\t): void {\n\t\tclaimWithinStore<any, any, any>(this.store, newProvenance, key, exclusive)\n\t}\n\t/**\n\t * Fuse two reagents into a compound\n\t * @param type - the name of the compound that is being fused\n\t * @param reagentA - the left reagent of the compound\n\t * @param reagentB - the right reagent of the compound\n\t * @returns\n\t * The compound's key, given status as a {@link ValidKey}\n\t */\n\tpublic fuse<T extends string, A extends string, B extends string>(\n\t\ttype: T,\n\t\treagentA: SingularTypedKey<A>,\n\t\treagentB: SingularTypedKey<B>,\n\t): ValidKey<CompoundTypedKey<T, A, B>> {\n\t\treturn fuseWithinStore<any, any, T, A, B>(\n\t\t\tthis.store,\n\t\t\ttype,\n\t\t\treagentA,\n\t\t\treagentB,\n\t\t)\n\t}\n}\n\nexport function decomposeCompound(\n\tcompound: Canonical,\n): [type: string, a: string, b: string] | null {\n\tif ((typeof compound === `string`) === false) {\n\t\treturn null\n\t}\n\tconst [typeTag, components] = compound.split(`==`)\n\tif (!components) {\n\t\treturn null\n\t}\n\tconst type = typeTag.slice(4)\n\tconst [a, b] = components.split(`++`)\n\tif (type && a && b) {\n\t\treturn [type, a, b]\n\t}\n\treturn null\n}\n\nexport type T$ = `T$`\nexport type TypeTag<T extends string> = `${T$}--${T}`\nexport type SingularTypedKey<T extends string = string> = `${T}::${string}`\nexport type CompoundTypedKey<\n\tT extends string = string,\n\tA extends string = string,\n\tB extends string = string,\n> = `${TypeTag<T>}==${SingularTypedKey<A>}++${SingularTypedKey<B>}`\nexport type TypedKey<\n\tT extends string = string,\n\tA extends string = string,\n\tB extends string = string,\n> = CompoundTypedKey<T, A, B> | SingularTypedKey<T>\ntype Scope = SingularTypedKey[]\ntype MutualFealty = {\n\tabove: Scope\n\tbelow: CompoundTypedKey\n}\ntype ExclusiveFealty = {\n\tabove: TypedKey | `root`\n\tbelow: Scope\n}\ntype Fealty = ExclusiveFealty | MutualFealty\n\nexport type Hierarchy<F extends Fealty[] = Fealty[]> = Each<F>\n\nexport type Vassal<H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? H[K][`below`]\n\t\t: H[K] extends { below: Array<infer V> }\n\t\t\t? V extends TypedKey\n\t\t\t\t? V\n\t\t\t\t: never\n\t\t\t: never\n}[keyof H]\n\nexport type Above<TK extends TypedKey, H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? TK extends H[K][`below`]\n\t\t\t? H[K][`above`]\n\t\t\t: never\n\t\t: H[K] extends { below: Array<infer V> }\n\t\t\t? TK extends V\n\t\t\t\t? H[K] extends ExclusiveFealty\n\t\t\t\t\t? H[K][`above`]\n\t\t\t\t\t: never\n\t\t\t\t: never\n\t\t\t: never\n}[keyof H]\n\nexport type Below<TK extends TypedKey | TypedKey[], H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? TK extends H[K][`above`]\n\t\t\t? H[K][`below`]\n\t\t\t: TK extends H[K][`above`][number]\n\t\t\t\t? H[K][`below`]\n\t\t\t\t: never\n\t\t: H[K] extends { above: infer V }\n\t\t\t? TK extends V\n\t\t\t\t? H[K] extends ExclusiveFealty\n\t\t\t\t\t? H[K][`below`][number]\n\t\t\t\t\t: never\n\t\t\t\t: never\n\t\t\t: never\n}[keyof H]\n\nexport type Mutuals<TK extends TypedKey | TypedKey[], H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty\n\t\t? TK extends H[K][`above`][number]\n\t\t\t? [mutual: Exclude<H[K][`above`][number], TK>, below: H[K][`below`]]\n\t\t\t: never\n\t\t: never\n}[keyof H]\n\nexport type CompoundFrom<H extends Hierarchy> = {\n\t[K in keyof H]: H[K] extends MutualFealty ? H[K][`below`] : never\n}[keyof H]\n","import { IMPLICIT, resetInStore } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { WritableFamilyToken, WritableToken } from \".\"\n\n/**\n * Set the value of a state into the implicit store back to its default value.\n * @param token - An atom or writable selector token.\n * @overload Default\n * @default\n */\nexport function resetState(token: WritableToken<any, any, any>): void\n/**\n * Set the value of a state into the implicit store back to its default value.\n * @param token - An atom family or writable selector family token.\n * @param key - The unique key of the state to set.\n * @overload Streamlined\n */\nexport function resetState<K extends Canonical>(\n\ttoken: WritableFamilyToken<any, K, any>,\n\tkey: K,\n): void\nexport function resetState(\n\t...params:\n\t\t| [token: WritableFamilyToken<any, Canonical, any>, key: Canonical]\n\t\t| [token: WritableToken<any, any, any>]\n): void {\n\tresetInStore(IMPLICIT.STORE, ...params)\n}\n","import type { Ctor } from \"atom.io/internal\"\nimport {\n\tcreateSelectorFamily,\n\tcreateStandaloneSelector,\n\tIMPLICIT,\n} from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type {\n\tReadonlyHeldSelectorFamilyToken,\n\tReadonlyHeldSelectorToken,\n\tReadonlyPureSelectorFamilyToken,\n\tReadonlyPureSelectorToken,\n\tWritableHeldSelectorFamilyToken,\n\tWritableHeldSelectorToken,\n\tWritablePureSelectorFamilyToken,\n\tWritablePureSelectorToken,\n} from \"./tokens\"\nimport type { Read, Write } from \"./transaction\"\n\nexport type WritablePureSelectorOptions<T, E = never> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<() => T>\n\t/** For each instantiated selector, a function that sets its value */\n\tset: Write<(newValue: T) => void>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type ReadonlyPureSelectorOptions<T, E = never> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<() => T>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type ReadonlyHeldSelectorOptions<T extends object> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a constant reference to a value that will not be replaced */\n\tconst: T\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<(permanent: T) => void>\n}\nexport type WritableHeldSelectorOptions<T extends object> = {\n\t/** The unique identifier of the selector */\n\tkey: string\n\t/** For each instantiated selector, a constant reference to a value that will not be replaced */\n\tconst: T\n\t/** For each instantiated selector, a function that computes its value */\n\tget: Read<(permanent: T) => void>\n\t/** For each instantiated selector, a function that sets its value */\n\tset: Write<(newValue: T) => void>\n}\n\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store, and\n * should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A writable selector can be \"set\" to a new value.\n * It is strongly advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link WritableHeldSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload WritableHeld\n */\nexport function selector<T extends object>(\n\toptions: WritableHeldSelectorOptions<T>,\n): WritableHeldSelectorToken<T>\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store,\n * and should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyHeldSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload ReadonlyHeld\n */\nexport function selector<T extends object>(\n\toptions: ReadonlyHeldSelectorOptions<T>,\n): ReadonlyHeldSelectorToken<T>\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A writable selector can be \"set\" to a new value.\n * It is strongly advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link TransientWritableSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload WritablePure\n */\nexport function selector<T, E = never>(\n\toptions: WritablePureSelectorOptions<T, E>,\n): WritablePureSelectorToken<T, any, E>\n/**\n * Declare a selector. The value of a selector should depend\n * on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyPureSelectorOptions}.\n * @returns\n * The token for your selector.\n * @overload ReadonlyPure\n */\nexport function selector<T, E = never>(\n\toptions: ReadonlyPureSelectorOptions<T, E>,\n): ReadonlyPureSelectorToken<T, any, E>\nexport function selector(\n\toptions:\n\t\t| ReadonlyHeldSelectorOptions<any>\n\t\t| ReadonlyPureSelectorOptions<any, any>\n\t\t| WritableHeldSelectorOptions<any>\n\t\t| WritablePureSelectorOptions<any, any>,\n):\n\t| ReadonlyHeldSelectorToken<any>\n\t| ReadonlyPureSelectorToken<any, any, any>\n\t| WritableHeldSelectorToken<any>\n\t| WritablePureSelectorToken<any, any, any> {\n\treturn createStandaloneSelector(IMPLICIT.STORE, options)\n}\n\nexport type WritablePureSelectorFamilyOptions<\n\tT,\n\tK extends Canonical,\n\tE = never,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<() => T>\n\t/** For each instantiated family member, a function that sets its value */\n\tset: (key: K) => Write<(newValue: T) => void>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type ReadonlyPureSelectorFamilyOptions<\n\tT,\n\tK extends Canonical,\n\tE = never,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<() => T>\n\t/** The classes of errors that might be thrown when deriving the atom's default value */\n\tcatch?: readonly Ctor<E>[]\n}\nexport type WritableHeldSelectorFamilyOptions<\n\tT extends object,\n\tK extends Canonical,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a constant reference to a value that will not be replaced */\n\tconst: (key: K) => T\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<(permanent: T) => void>\n\t/** For each instantiated family member, a function that sets its value */\n\tset: (key: K) => Write<(newValue: T) => void>\n}\nexport type ReadonlyHeldSelectorFamilyOptions<\n\tT extends object,\n\tK extends Canonical,\n> = {\n\t/** The unique identifier of the family */\n\tkey: string\n\t/** For each instantiated family member, a constant reference to a value that will not be replaced */\n\tconst: (key: K) => T\n\t/** For each instantiated family member, a function that computes its value */\n\tget: (key: K) => Read<(permanent: T) => void>\n}\n\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a held selector should depend on the value of atoms or other selectors in the store,\n * and should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A writable selector can be \"set\" to a new value.\n * It is advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link WritableHeldSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link WritableHeldSelectorFamilyToken}\n * @overload WritableHeld\n */\nexport function selectorFamily<T extends object, K extends Canonical>(\n\toptions: WritableHeldSelectorFamilyOptions<T, K>,\n): WritableHeldSelectorFamilyToken<T, K>\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a held selector should depend on the value of atoms or other selectors in the store,\n * and should be recycled when a root atom of the selector is set.\n *\n * A held selector's value must be some object.\n * The reference to that object is permanent and will not be replaced.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyHeldSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link ReadonlyHeldSelectorFamilyToken}\n * @overload ReadonlyHeld\n */\nexport function selectorFamily<T extends object, K extends Canonical>(\n\toptions: ReadonlyHeldSelectorFamilyOptions<T, K>,\n): ReadonlyHeldSelectorFamilyToken<T, K>\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a selector should depend on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A writable selector can be \"set\" to a new value.\n * It is advised to set its dependencies to values\n * that would produce the new value of the selector.\n *\n * @param options - {@link TransientWritableSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link TransientWritableSelectorFamilyToken}\n * @overload WritablePure\n */\nexport function selectorFamily<T, K extends Canonical, E = never>(\n\toptions: WritablePureSelectorFamilyOptions<T, K, E>,\n): WritablePureSelectorFamilyToken<T, K, E>\n/**\n * Create a family of selectors, allowing for the dynamic creation and disposal of selectors.\n *\n * The value of a selector should depend on the value of atoms or other selectors in the store.\n *\n * A pure selector's current value is evicted from the store\n * in order to be garbage collected when a root atom of the selector is set.\n *\n * A readonly selector can be \"gotten\" but not \"set\".\n *\n * @param options - {@link ReadonlyPureSelectorFamilyOptions}.\n * @returns\n * A reference to the selector family created: a {@link ReadonlyPureSelectorFamilyToken}\n * @overload ReadonlyPure\n */\nexport function selectorFamily<T, K extends Canonical, E = never>(\n\toptions: ReadonlyPureSelectorFamilyOptions<T, K, E>,\n): ReadonlyPureSelectorFamilyToken<T, K, E>\nexport function selectorFamily(\n\toptions:\n\t\t| ReadonlyHeldSelectorFamilyOptions<any, any>\n\t\t| ReadonlyPureSelectorFamilyOptions<any, any, any>\n\t\t| WritableHeldSelectorFamilyOptions<any, any>\n\t\t| WritablePureSelectorFamilyOptions<any, any, any>,\n):\n\t| ReadonlyHeldSelectorFamilyToken<any, any>\n\t| ReadonlyPureSelectorFamilyToken<any, any, any>\n\t| WritableHeldSelectorFamilyToken<any, any>\n\t| WritablePureSelectorFamilyToken<any, any, any> {\n\treturn createSelectorFamily(IMPLICIT.STORE, options)\n}\n","import { IMPLICIT, setIntoStore } from \"atom.io/internal\"\nimport type { Canonical } from \"atom.io/json\"\n\nimport type { WritableFamilyToken, WritableToken } from \"./tokens\"\n\n/**\n * A function that sets the value of a state.\n * @param oldValue - The current value of the state.\n * @returns\n * The new value of the state.\n */\nexport type Setter<T> = (oldValue: T) => T\n\n/**\n * Set the value of a state into the implicit store.\n * @param token - An atom or writable selector token.\n * @param value - The new value of the state.\n * @overload Default\n * @default\n */\nexport function setState<T, TT extends T>(\n\ttoken: WritableToken<T, any, any>,\n\tvalue: Setter<TT> | TT,\n): void\n\n/**\n * Set the value of a state into the implicit store.\n * @param token - An atom family or writable selector family token.\n * @param key - The unique key of the state to set.\n * @param value - The new value of the state.\n * @overload Streamlined\n */\nexport function setState<T, TT extends T, K extends Canonical>(\n\ttoken: WritableFamilyToken<T, K, any>,\n\tkey: NoInfer<K>,\n\tvalue: Setter<TT> | TT,\n): void\n\nexport function setState<T, TT extends T, K extends Canonical>(\n\t...params:\n\t\t| [\n\t\t\t\ttoken: WritableFamilyToken<T, K, any>,\n\t\t\t\tkey: NoInfer<K>,\n\t\t\t\tvalue: Setter<TT> | TT,\n\t\t ]\n\t\t| [token: WritableToken<T, any, any>, value: Setter<TT> | TT]\n): void {\n\tsetIntoStore(IMPLICIT.STORE, ...params)\n}\n","import type { findState } from \"atom.io\"\nimport type { RootStore } from \"atom.io/internal\"\nimport {\n\tactUponStore,\n\tarbitrary,\n\tcreateMutableAtom,\n\tcreateMutableAtomFamily,\n\tcreateRegularAtom,\n\tcreateRegularAtomFamily,\n\tcreateSelectorFamily,\n\tcreateStandaloneSelector,\n\tcreateTimeline,\n\tcreateTransaction,\n\tdisposeFromStore,\n\tfindInStore,\n\tgetFromStore,\n\tIMPLICIT,\n\tinstallIntoStore,\n\tresetInStore,\n\tsetIntoStore,\n\tStore,\n\tsubscribeInStore,\n\ttimeTravel,\n} from \"atom.io/internal\"\n\nimport type {\n\tAtomIOToken,\n\tdisposeState,\n\tgetState,\n\tredo,\n\tsetState,\n\tsubscribe,\n\ttimeline,\n\tundo,\n} from \".\"\nimport type { atom, atomFamily, mutableAtom, mutableAtomFamily } from \"./atom\"\nimport type { resetState } from \"./reset-state\"\nimport type { selector, selectorFamily } from \"./selector\"\nimport type { runTransaction, transaction } from \"./transaction\"\n\nexport class Silo {\n\tpublic store: RootStore\n\tpublic atom: typeof atom\n\tpublic mutableAtom: typeof mutableAtom\n\tpublic atomFamily: typeof atomFamily\n\tpublic mutableAtomFamily: typeof mutableAtomFamily\n\tpublic selector: typeof selector\n\tpublic selectorFamily: typeof selectorFamily\n\tpublic transaction: typeof transaction\n\tpublic timeline: typeof timeline\n\tpublic findState: typeof findState\n\tpublic getState: typeof getState\n\tpublic setState: typeof setState\n\tpublic resetState: typeof resetState\n\tpublic disposeState: typeof disposeState\n\tpublic subscribe: typeof subscribe\n\tpublic undo: typeof undo\n\tpublic redo: typeof redo\n\tpublic runTransaction: typeof runTransaction\n\tpublic install: (tokens: AtomIOToken[], store?: RootStore) => void\n\n\tpublic constructor(config: Store[`config`], fromStore: Store | null = null) {\n\t\tconst s = (this.store = new Store(config, fromStore) as RootStore)\n\t\tthis.atom = ((options: Parameters<typeof atom>[0]) =>\n\t\t\tcreateRegularAtom(s, options, undefined)) as typeof atom\n\t\tthis.mutableAtom = ((options: Parameters<typeof mutableAtom>[0]) =>\n\t\t\tcreateMutableAtom(s, options, undefined)) as typeof mutableAtom\n\t\tthis.atomFamily = ((options: Parameters<typeof atomFamily>[0]) =>\n\t\t\tcreateRegularAtomFamily(s, options)) as typeof atomFamily\n\t\tthis.mutableAtomFamily = ((\n\t\t\toptions: Parameters<typeof mutableAtomFamily>[0],\n\t\t) => createMutableAtomFamily(s, options)) as typeof mutableAtomFamily\n\t\tthis.selector = ((options: Parameters<typeof selector>[0]) =>\n\t\t\tcreateStandaloneSelector(s, options)) as typeof selector\n\t\tthis.selectorFamily = ((options: Parameters<typeof selectorFamily>[0]) =>\n\t\t\tcreateSelectorFamily(s, options)) as typeof selectorFamily\n\t\tthis.transaction = (options) => createTransaction(s, options)\n\t\tthis.timeline = (options) => createTimeline(s, options)\n\t\tthis.findState = ((...params: Parameters<typeof findState>) =>\n\t\t\tfindInStore(s, ...params)) as typeof findState\n\t\tthis.getState = ((...params: Parameters<typeof getState>) =>\n\t\t\tgetFromStore(s, ...params)) as typeof getState\n\t\tthis.setState = ((...params: Parameters<typeof setState>) => {\n\t\t\tsetIntoStore(s, ...params)\n\t\t}) as typeof setState\n\t\tthis.resetState = ((...params: Parameters<typeof resetState>) => {\n\t\t\tresetInStore(s, ...params)\n\t\t}) as typeof resetState\n\t\tthis.disposeState = ((...params: Parameters<typeof disposeState>) => {\n\t\t\tdisposeFromStore(s, ...params)\n\t\t}) as typeof disposeState\n\t\tthis.subscribe = ((...params: Parameters<typeof subscribe>) =>\n\t\t\tsubscribeInStore(s, ...params)) as typeof subscribe\n\t\tthis.undo = (token) => {\n\t\t\ttimeTravel(s, `undo`, token)\n\t\t}\n\t\tthis.redo = (token) => {\n\t\t\ttimeTravel(s, `redo`, token)\n\t\t}\n\t\tthis.runTransaction = (token, id = arbitrary()) => actUponStore(s, token, id)\n\t\tthis.install = (tokens, source = IMPLICIT.STORE) => {\n\t\t\tinstallIntoStore(tokens, s, source)\n\t\t}\n\t}\n}\n","import type { Fn } from \"atom.io/internal\"\nimport { arbitrary, IMPLICIT, subscribeInStore } from \"atom.io/internal\"\n\nimport type {\n\tStateUpdate,\n\tTimelineEvent,\n\tTransactionOutcomeEvent,\n} from \"./events\"\nimport type { TimelineManageable } from \"./timeline\"\nimport type { ReadableToken, TimelineToken, TransactionToken } from \"./tokens\"\n\nexport type UpdateHandler<T> = (update: StateUpdate<T>) => void\nexport type TransactionUpdateHandler<F extends Fn> = (\n\tdata: TransactionOutcomeEvent<TransactionToken<F>>,\n) => void\n\n/**\n * Subscribe to a state in the implicit store\n * @param token - The token of the state to subscribe to\n * @param handleUpdate - A function that will be called when the state is updated\n * @param key - A unique key for the subscription. If not provided, a random key will be generated.\n * @returns A function that can be called to unsubscribe from the state\n * @overload State\n */\nexport function subscribe<T>(\n\ttoken: ReadableToken<T>,\n\thandleUpdate: UpdateHandler<T>,\n\tkey?: string,\n): () => void\n/**\n * Subscribe to a transaction in the implicit store\n * @param token - The token of the transaction to subscribe to\n * @param handleUpdate - A function that will be called when the transaction succeeds\n * @param key - A unique key for the subscription. If not provided, a random key will be generated.\n * @returns A function that can be called to unsubscribe from the transaction\n * @overload Transaction\n */\nexport function subscribe<F extends Fn>(\n\ttoken: TransactionToken<F>,\n\thandleUpdate: TransactionUpdateHandler<F>,\n\tkey?: string,\n): () => void\n/**\n * Subscribe to a timeline in the implicit store\n * @param token - The token of the timeline to subscribe to\n * @param handleUpdate - A function that will be called when a new update is available\n * @param key - A unique key for the subscription. If not provided, a random key will be generated.\n * @returns A function that can be called to unsubscribe from the timeline\n * @overload Timeline\n */\nexport function subscribe<M extends TimelineManageable>(\n\ttoken: TimelineToken<M>,\n\thandleUpdate: (update: TimelineEvent<M> | `redo` | `undo`) => void,\n\tkey?: string,\n): () => void\nexport function subscribe(\n\ttoken: ReadableToken<any> | TimelineToken<any> | TransactionToken<any>,\n\thandleUpdate: (update: any) => void,\n\tkey: string = arbitrary(),\n): () => void {\n\treturn subscribeInStore(IMPLICIT.STORE, token, handleUpdate, key)\n}\n","import { createTimeline, IMPLICIT, timeTravel } from \"atom.io/internal\"\n\nimport type { AtomFamilyToken, AtomToken, TimelineToken } from \".\"\n\nexport type TimelineManageable =\n\t| AtomFamilyToken<any, any, any>\n\t| AtomToken<any, any, any>\nexport type AtomOnly<M extends TimelineManageable> =\n\tM extends AtomFamilyToken<any, any>\n\t\t? AtomToken<any, any, any>\n\t\t: M extends AtomToken<any, any, any>\n\t\t\t? M\n\t\t\t: never\n\n/**\n * If there is an update ahead of the cursor (in the future of this {@link timeline}), apply it and move the cursor to the next update\n * @param timeline - A {@link TimelineToken}\n */\nexport const redo = (timeline: TimelineToken<any>): void => {\n\ttimeTravel(IMPLICIT.STORE, `redo`, timeline)\n}\n/**\n * Reverse the last update on the {@link timeline} and move the cursor to the previous update\n * @param timeline - A {@link TimelineToken}\n */\nexport const undo = (timeline: TimelineToken<any>): void => {\n\ttimeTravel(IMPLICIT.STORE, `undo`, timeline)\n}\n\nexport type TimelineOptions<ManagedAtom extends TimelineManageable> = {\n\t/** The unique identifier of the timeline */\n\tkey: string\n\t/** The managed atoms (and families of atoms) to record */\n\tscope: ManagedAtom[]\n}\n\n/**\n * Create a timeline, a mechanism for recording, undoing, and replaying changes to groups of atoms\n * @param options - {@link TimelineOptions}\n * @returns A reference to the timeline created: a {@link TimelineToken}\n */\nexport const timeline = <ManagedAtom extends TimelineManageable>(\n\toptions: TimelineOptions<ManagedAtom>,\n): TimelineToken<ManagedAtom> => {\n\treturn createTimeline(IMPLICIT.STORE, options)\n}\n","import type { AsJSON, EnvironmentData, Fn, Transceiver } from \"atom.io/internal\"\nimport {\n\tactUponStore,\n\tarbitrary,\n\tcreateTransaction,\n\tIMPLICIT,\n} from \"atom.io/internal\"\n\nimport type { disposeState } from \"./dispose-state\"\nimport type { findState } from \"./find-state\"\nimport type { getState } from \"./get-state\"\nimport type { resetState } from \"./reset-state\"\nimport type { setState } from \"./set-state\"\nimport type {\n\tMutableAtomToken,\n\tTransactionToken,\n\tWritablePureSelectorToken,\n} from \"./tokens\"\n\nexport type ReaderToolkit = Pick<ActorToolkit, `find` | `get` | `json`>\nexport type WriterToolkit = Pick<ActorToolkit, `find` | `get` | `json` | `set`>\nexport type ActorToolkit = Readonly<{\n\tget: typeof getState\n\tset: typeof setState\n\treset: typeof resetState\n\tfind: typeof findState\n\tjson: <T extends Transceiver<any, any, any>>(\n\t\tstate: MutableAtomToken<T>,\n\t) => WritablePureSelectorToken<AsJSON<T>>\n\tdispose: typeof disposeState\n\trun: typeof runTransaction\n\tenv: () => EnvironmentData\n}>\n\nexport type Read<F extends Fn> = (\n\ttoolkit: ReaderToolkit,\n\t...parameters: Parameters<F>\n) => ReturnType<F>\nexport type Write<F extends Fn> = (\n\ttoolkit: WriterToolkit,\n\t...parameters: Parameters<F>\n) => ReturnType<F>\nexport type Transact<F extends Fn> = (\n\ttoolkit: ActorToolkit,\n\t...parameters: Parameters<F>\n) => ReturnType<F>\nexport type TransactionIO<Token extends TransactionToken<any>> =\n\tToken extends TransactionToken<infer F> ? F : never\nexport type TransactionOptions<F extends Fn> = {\n\t/** The unique identifier of the transaction */\n\tkey: string\n\t/** The operation to perform */\n\tdo: Transact<F>\n}\n\n/**\n * Create a transaction, a mechanism for batching updates multiple states in a single, all-or-nothing operation\n * @param options - {@link TransactionOptions}\n * @returns A reference to the transaction created: a {@link TransactionToken}\n */\nexport function transaction<F extends Fn>(\n\toptions: TransactionOptions<F>,\n): TransactionToken<F> {\n\treturn createTransaction(IMPLICIT.STORE, options)\n}\n\n/**\n * Execute a {@link transaction}\n * @param token - A {@link TransactionToken}\n * @param id - A unique identifier for the transaction. If not provided, a random identifier will be generated\n * @returns A function that can be called to run the transaction with its {@link TransactionIO} parameters\n */\nexport function runTransaction<F extends Fn>(\n\ttoken: TransactionToken<F>,\n\tid: string = arbitrary(),\n): (...parameters: Parameters<F>) => ReturnType<F> {\n\treturn actUponStore(IMPLICIT.STORE, token, id)\n}\n","import type {\n\tMutableAtomFamilyToken,\n\tMutableAtomToken,\n\tReadableFamilyToken,\n\tReadableToken,\n\tReadonlyPureSelectorFamilyToken,\n\tReadonlyPureSelectorToken,\n\tRegularAtomFamilyToken,\n\tRegularAtomToken,\n\tTransactionToken,\n\tWritableFamilyToken,\n\tWritablePureSelectorFamilyToken,\n\tWritablePureSelectorToken,\n\tWritableToken,\n} from \"./tokens\"\n\nexport type TokenType<\n\tComparison extends\n\t\t| ReadableFamilyToken<any, any, any>\n\t\t| ReadableToken<any, any, any>\n\t\t| TransactionToken<any>,\n> =\n\tComparison extends ReadableToken<infer RepresentedValue>\n\t\t? RepresentedValue\n\t\t: Comparison extends ReadableFamilyToken<infer RepresentedValue, any>\n\t\t\t? RepresentedValue\n\t\t\t: Comparison extends TransactionToken<infer Fn>\n\t\t\t\t? Fn\n\t\t\t\t: never\n\nexport function isToken<KnownToken extends RegularAtomToken<any, any, any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any, any, any>,\n): unknownToken is RegularAtomToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends MutableAtomToken<any, any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is MutableAtomToken<TokenType<KnownToken>, any>\nexport function isToken<KnownToken extends WritablePureSelectorToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritablePureSelectorToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends ReadonlyPureSelectorToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadonlyPureSelectorToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends WritableToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritableToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends ReadableToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<KnownToken>>\nexport function isToken<KnownToken extends ReadableToken<any>>(\n\tknownToken: KnownToken,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<KnownToken>> {\n\treturn knownToken.key === unknownToken.key\n}\n\nexport function belongsTo<Family extends RegularAtomFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is RegularAtomToken<TokenType<Family>>\nexport function belongsTo<Family extends MutableAtomFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is MutableAtomToken<TokenType<Family>, any>\nexport function belongsTo<\n\tFamily extends WritablePureSelectorFamilyToken<any, any>,\n>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritablePureSelectorToken<TokenType<Family>>\nexport function belongsTo<\n\tFamily extends ReadonlyPureSelectorFamilyToken<any, any>,\n>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadonlyPureSelectorToken<TokenType<Family>>\nexport function belongsTo<Family extends WritableFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is WritableToken<TokenType<Family>>\nexport function belongsTo<Family extends ReadableFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<Family>>\nexport function belongsTo<Family extends ReadableFamilyToken<any, any>>(\n\tfamily: Family,\n\tunknownToken: ReadableToken<any>,\n): unknownToken is ReadableToken<TokenType<Family>> {\n\treturn family.key === unknownToken.family?.key\n}\n"],"mappings":"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"}
@@ -25,20 +25,20 @@ declare function useJSON<T extends Transceiver<any, any, any>, K extends Canonic
25
25
  //#region src/react/use-loadable.d.ts
26
26
  declare function useLoadable<T, E>(token: ReadableToken<Loadable<T>, any, E>): `LOADING` | {
27
27
  loading: boolean;
28
- value: E | T;
28
+ value: ViewOf<E | T>;
29
29
  };
30
30
  declare function useLoadable<T, K extends Canonical, E>(token: ReadableFamilyToken<Loadable<T>, K, E>, key: NoInfer<K>): `LOADING` | {
31
31
  loading: boolean;
32
- value: E | T;
32
+ value: ViewOf<E | T>;
33
33
  };
34
34
  declare function useLoadable<T, F extends T, E>(token: ReadableToken<Loadable<T>, any, E>, fallback: F): {
35
35
  loading: boolean;
36
- value: T;
36
+ value: ViewOf<T>;
37
37
  error?: E;
38
38
  };
39
39
  declare function useLoadable<T, K extends Canonical, F extends T, E>(token: ReadableFamilyToken<Loadable<T>, K, E>, key: NoInfer<K>, fallback: F): {
40
40
  loading: boolean;
41
- value: T;
41
+ value: ViewOf<T>;
42
42
  error?: E;
43
43
  };
44
44
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["StoreContext: React.Context<RootStore>","StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: RootStore\n}>"],"sources":["../../src/react/store-context.tsx","../../src/react/use-atomic-ref.ts","../../src/react/use-i.ts","../../src/react/use-json.ts","../../src/react/use-loadable.ts","../../src/react/use-o.ts","../../src/react/use-tl.ts"],"sourcesContent":[],"mappings":";;;;;cAIaA,cAAc,KAAA,CAAM,QAAQ;cAI5BC,eAAe,KAAA,CAAM;YACvB,KAAA,CAAM;UACR;AANT,CAAA,CAAA;;;iBCAgB;WAAqC;ADArD,CAAA,CAIA,CAAA,KAAaA,ECHL,gBDGKA,CCHY,CDGZA,GAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,CAAAA,EAAAA,CAAAA,CAAAA,YAAAA,ECFe,EDEfA,GAAAA,IAAAA,EAAAA,GCF6B,CDE7BA,CAAAA,ECDV,CDCUA;;;iBEAG,eACR,cAAc,4BACN,SAAS,aAAa,MAAM;iBAE5B,QFRhB,UEQkC,SFRO,CAIzC,CAAA,KAAaA,EEKL,mBFLKA,CEKe,CFLfA,EEKkB,CFLlBA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,EEMP,OFNOA,CEMC,CFNDA,CAAAA,CAAAA,EAAAA,CAAAA,YEOG,CFPHA,CAAAA,CAAAA,IAAAA,EEOY,GFPZA,GAAAA,CAAAA,CAAAA,GAAAA,EEOyB,CFPzBA,EAAAA,GEO+B,GFP/BA,CAAAA,EAAAA,GAAAA,IAAAA;;;iBGCG,kBAAkB,mCAC1B,iBAAiB,KACtB,OAAO;iBAEM,QHThB,UGUW,WHV8B,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAIzC,UGOW,SHPEA,CACF,CAAA,KAAM,EGOR,sBHPQ,CGOe,CHPf,EGOkB,CHPlB,CAAA,EAAA,GAAA,EGO2B,CHP3B,CAAA,EGO+B,MHP/B,CGOsC,CHPtC,CAAA;;;iBIFD,eJHhB,CAAA,CAIA,CAAA,KAAaA,EIAL,aJAKA,CIAS,QJATA,CIAkB,CJAlBA,CAAAA,EAAAA,GAAAA,EIA2B,CJA3BA,CAAAA,CAAAA,EAAAA,SAAAA,GAAAA;EACF,OAAM,EAAA,OAAA;EACR,KAAA,EIDiC,CJCjC,GIDqC,CJCrC;CAFmB;AAAM,iBIGlB,WJHkB,cIGO,aHPzC,CAAA,KAAgB,EGQR,mBHRQ,CGQY,QHRZ,CGQqB,CHRrB,CAAA,EGQyB,CHRzB,EGQ4B,CHR5B,CAAA,EAAA,GAAA,EGSV,OHTU,CGSF,CHTE,CAAA,CAAA,EAAA,SAAA,GAAA;EAAqC,OAAA,EAAA,OAAA;EAC5B,KAAA,EGSiB,CHTjB,GGSqB,CHTrB;CAAjB;AACoB,iBGUZ,WHVY,CAAc,CAAA,EACvC,UGSsC,CHTtC,EAAA,CAAA,SGUK,cAAc,SAAS,SAAS,cAC7B;;SACmB;EFX9B,KAAgB,CAAA,EEWyB,CFXzB;CACM;AAAd,iBEYQ,WFZR,CACQ,CAAA,EAAS,UEWgB,SFXhB,EAAa,UEWwB,CFXxB,EAAM,CAAA,CAAA,CAAA,KAAA,EEYpC,mBFZoC,CEYhB,QFZgB,CEYP,CFZO,CAAA,EEYH,CFZG,EEYA,CFZA,CAAA,EAAA,GAAA,EEatC,OFbsC,CEa9B,CFb8B,CAAA,EAAA,QAAA,EEcjC,CFdiC,CAAA,EAAA;EAE5C,OAAgB,EAAA,OAAA;EAAkB,KAAA,EEaJ,CFbI;EACN,KAAA,CAAA,EEYa,CFZb;CAAG;;;iBGLf,kBLJhB,CAAA,KAAaD,EKKL,aLLiC,CKKnB,CLLmB,EAAA,GAAA,EKKX,CLLW,CAAA,CAAA,EKMtC,MLNsC,CKM/B,CLNiB,GKMb,CLNa,CAAM;AAIpBC,iBKIG,ILJHA,CACF,CAAA,EACF,UKEyB,SLFzB,EAFmB,IAAA,KAAM,CAAA,CAAA,KAAA,EKK1B,mBLL0B,CKKN,CLLM,EKKH,CLLG,EKKA,CLLA,CAAA,EAAA,GAAA,EKM5B,OLN4B,CKMpB,CLNoB,CAAA,CAAA,EKO/B,MLP+B,CKOxB,CLPwB,GKOpB,CLPoB,CAAA;;;KMDtB,YAAA;;;;ENHZ,IAAaD,EAAAA,GAAAA,GAAAA,IAAAA;AAIb,CAAA;AACiB,iBMKD,KAAA,CNLC,KAAA,EMKY,aNLZ,CAAA,GAAA,CAAA,CAAA,EMKiC,YNLjC"}
1
+ {"version":3,"file":"index.d.ts","names":["StoreContext: React.Context<RootStore>","StoreProvider: React.FC<{\n\tchildren: React.ReactNode\n\tstore?: RootStore\n}>"],"sources":["../../src/react/store-context.tsx","../../src/react/use-atomic-ref.ts","../../src/react/use-i.ts","../../src/react/use-json.ts","../../src/react/use-loadable.ts","../../src/react/use-o.ts","../../src/react/use-tl.ts"],"sourcesContent":[],"mappings":";;;;;cAIaA,cAAc,KAAA,CAAM,QAAQ;cAI5BC,eAAe,KAAA,CAAM;YACvB,KAAA,CAAM;UACR;AANT,CAAA,CAAA;;;iBCAgB;WAAqC;ADArD,CAAA,CAIA,CAAA,KAAaA,ECHL,gBDGKA,CCHY,CDGZA,GAAAA,IAAAA,CAAAA,EAAAA,MAAAA,EAAAA,CAAAA,EAAAA,CAAAA,CAAAA,YAAAA,ECFe,EDEfA,GAAAA,IAAAA,EAAAA,GCF6B,CDE7BA,CAAAA,ECDV,CDCUA;;;iBEAG,eACR,cAAc,4BACN,SAAS,aAAa,MAAM;iBAE5B,QFRhB,UEQkC,SFRO,CAIzC,CAAA,KAAaA,EEKL,mBFLKA,CEKe,CFLfA,EEKkB,CFLlBA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,EEMP,OFNOA,CEMC,CFNDA,CAAAA,CAAAA,EAAAA,CAAAA,YEOG,CFPHA,CAAAA,CAAAA,IAAAA,EEOY,GFPZA,GAAAA,CAAAA,CAAAA,GAAAA,EEOyB,CFPzBA,EAAAA,GEO+B,GFP/BA,CAAAA,EAAAA,GAAAA,IAAAA;;;iBGCG,kBAAkB,mCAC1B,iBAAiB,KACtB,OAAO;iBAEM,QHThB,UGUW,WHV8B,CAAA,GAAA,EAAA,GAAA,EAAA,GAAA,CAAA,EAIzC,UGOW,SHPEA,CACF,CAAA,KAAM,EGOR,sBHPQ,CGOe,CHPf,EGOkB,CHPlB,CAAA,EAAA,GAAA,EGO2B,CHP3B,CAAA,EGO+B,MHP/B,CGOsC,CHPtC,CAAA;;;iBIGD,eJRhB,CAAA,CAIA,CAAA,KAAaA,EIKL,aJLKA,CIKS,QJLTA,CIKkB,CJLlBA,CAAAA,EAAAA,GAAAA,EIK2B,CJL3BA,CAAAA,CAAAA,EAAAA,SAAAA,GAAAA;EACF,OAAM,EAAA,OAAA;EACR,KAAA,EIIiC,MJJjC,CIIwC,CJJxC,GII4C,CJJ5C,CAAA;CAFmB;AAAM,iBIQlB,WJRkB,cIQO,aHZzC,CAAA,KAAgB,EGaR,mBHbQ,CGaY,QHbZ,CGaqB,CHbrB,CAAA,EGayB,CHbzB,EGa4B,CHb5B,CAAA,EAAA,GAAA,EGcV,OHdU,CGcF,CHdE,CAAA,CAAA,EAAA,SAAA,GAAA;EAAqC,OAAA,EAAA,OAAA;EAC5B,KAAA,EGciB,MHdjB,CGcwB,CHdxB,GGc4B,CHd5B,CAAA;CAAjB;AACoB,iBGeZ,WHfY,CAAc,CAAA,EACvC,UGcsC,CHdtC,EAAA,CAAA,SGeK,cAAc,SAAS,SAAS,cAC7B;;SACmB,OAAO;EFhBrC,KAAgB,CAAA,EEgBiC,CFhBjC;CACM;AAAd,iBEiBQ,WFjBR,CACQ,CAAA,EAAS,UEgBgB,SFhBhB,EAAa,UEgBwB,CFhBxB,EAAM,CAAA,CAAA,CAAA,KAAA,EEiBpC,mBFjBoC,CEiBhB,QFjBgB,CEiBP,CFjBO,CAAA,EEiBH,CFjBG,EEiBA,CFjBA,CAAA,EAAA,GAAA,EEkBtC,OFlBsC,CEkB9B,CFlB8B,CAAA,EAAA,QAAA,EEmBjC,CFnBiC,CAAA,EAAA;EAE5C,OAAgB,EAAA,OAAA;EAAkB,KAAA,EEkBJ,MFlBI,CEkBG,CFlBH,CAAA;EACN,KAAA,CAAA,EEiBqB,CFjBrB;CAAG;;;iBGLf,kBLJhB,CAAA,KAAaD,EKKL,aLLiC,CKKnB,CLLmB,EAAA,GAAA,EKKX,CLLW,CAAA,CAAA,EKMtC,MLNsC,CKM/B,CLNiB,GKMb,CLNa,CAAM;AAIpBC,iBKIG,ILJHA,CACF,CAAA,EACF,UKEyB,SLFzB,EAFmB,IAAA,KAAM,CAAA,CAAA,KAAA,EKK1B,mBLL0B,CKKN,CLLM,EKKH,CLLG,EKKA,CLLA,CAAA,EAAA,GAAA,EKM5B,OLN4B,CKMpB,CLNoB,CAAA,CAAA,EKO/B,MLP+B,CKOxB,CLPwB,GKOpB,CLPoB,CAAA;;;KMDtB,YAAA;;;;ENHZ,IAAaD,EAAAA,GAAAA,GAAAA,IAAAA;AAIb,CAAA;AACiB,iBMKD,KAAA,CNLC,KAAA,EMKY,aNLZ,CAAA,GAAA,CAAA,CAAA,EMKiC,YNLjC"}