@livestore/livestore 0.4.0-dev.21 → 0.4.0-dev.22

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 (75) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/effect/LiveStore.d.ts +123 -2
  3. package/dist/effect/LiveStore.d.ts.map +1 -1
  4. package/dist/effect/LiveStore.js +195 -1
  5. package/dist/effect/LiveStore.js.map +1 -1
  6. package/dist/effect/mod.d.ts +1 -1
  7. package/dist/effect/mod.d.ts.map +1 -1
  8. package/dist/effect/mod.js +3 -1
  9. package/dist/effect/mod.js.map +1 -1
  10. package/dist/mod.d.ts +1 -0
  11. package/dist/mod.d.ts.map +1 -1
  12. package/dist/mod.js +1 -0
  13. package/dist/mod.js.map +1 -1
  14. package/dist/store/StoreRegistry.d.ts +190 -0
  15. package/dist/store/StoreRegistry.d.ts.map +1 -0
  16. package/dist/store/StoreRegistry.js +244 -0
  17. package/dist/store/StoreRegistry.js.map +1 -0
  18. package/dist/store/StoreRegistry.test.d.ts +2 -0
  19. package/dist/store/StoreRegistry.test.d.ts.map +1 -0
  20. package/dist/store/StoreRegistry.test.js +380 -0
  21. package/dist/store/StoreRegistry.test.js.map +1 -0
  22. package/dist/store/create-store.d.ts +50 -4
  23. package/dist/store/create-store.d.ts.map +1 -1
  24. package/dist/store/create-store.js +19 -0
  25. package/dist/store/create-store.js.map +1 -1
  26. package/dist/store/devtools.d.ts.map +1 -1
  27. package/dist/store/devtools.js +13 -0
  28. package/dist/store/devtools.js.map +1 -1
  29. package/dist/store/store-types.d.ts +10 -25
  30. package/dist/store/store-types.d.ts.map +1 -1
  31. package/dist/store/store-types.js.map +1 -1
  32. package/dist/store/store.d.ts +23 -6
  33. package/dist/store/store.d.ts.map +1 -1
  34. package/dist/store/store.js +20 -2
  35. package/dist/store/store.js.map +1 -1
  36. package/docs/building-with-livestore/complex-ui-state/index.md +0 -2
  37. package/docs/building-with-livestore/crud/index.md +0 -2
  38. package/docs/building-with-livestore/data-modeling/index.md +29 -0
  39. package/docs/building-with-livestore/examples/todo-workspaces/index.md +0 -6
  40. package/docs/building-with-livestore/opentelemetry/index.md +25 -6
  41. package/docs/building-with-livestore/rules-for-ai-agents/index.md +2 -2
  42. package/docs/building-with-livestore/state/sql-queries/index.md +22 -0
  43. package/docs/building-with-livestore/state/sqlite-schema/index.md +2 -2
  44. package/docs/building-with-livestore/store/index.md +344 -0
  45. package/docs/framework-integrations/react-integration/index.md +380 -361
  46. package/docs/framework-integrations/vue-integration/index.md +2 -2
  47. package/docs/getting-started/expo/index.md +189 -43
  48. package/docs/getting-started/react-web/index.md +77 -24
  49. package/docs/getting-started/vue/index.md +3 -3
  50. package/docs/index.md +1 -2
  51. package/docs/llms.txt +0 -1
  52. package/docs/misc/troubleshooting/index.md +3 -3
  53. package/docs/overview/how-livestore-works/index.md +1 -1
  54. package/docs/overview/introduction/index.md +409 -1
  55. package/docs/overview/why-livestore/index.md +108 -2
  56. package/docs/patterns/auth/index.md +185 -34
  57. package/docs/patterns/effect/index.md +11 -1
  58. package/docs/patterns/storybook/index.md +43 -26
  59. package/docs/platform-adapters/expo-adapter/index.md +36 -19
  60. package/docs/platform-adapters/web-adapter/index.md +71 -2
  61. package/docs/tutorial/1-setup-starter-project/index.md +5 -5
  62. package/docs/tutorial/3-read-and-write-todos-via-livestore/index.md +54 -35
  63. package/docs/tutorial/5-expand-business-logic/index.md +1 -1
  64. package/docs/tutorial/6-persist-ui-state/index.md +12 -12
  65. package/package.json +6 -6
  66. package/src/effect/LiveStore.ts +385 -3
  67. package/src/effect/mod.ts +13 -1
  68. package/src/mod.ts +1 -0
  69. package/src/store/StoreRegistry.test.ts +516 -0
  70. package/src/store/StoreRegistry.ts +393 -0
  71. package/src/store/create-store.ts +50 -4
  72. package/src/store/devtools.ts +15 -0
  73. package/src/store/store-types.ts +17 -5
  74. package/src/store/store.ts +25 -5
  75. package/docs/building-with-livestore/examples/index.md +0 -30
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,QAAQ,EACR,iCAAiC,EACjC,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,6BAA6B,EAC7B,8BAA8B,EAE9B,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,GACb,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACxF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAE3F,OAAO,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,EACN,UAAU,EACV,OAAO,EACP,MAAM,EACN,MAAM,GACP,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAML,oBAAoB,GAKrB,MAAM,kBAAkB,CAAA;AAWzB,IAAI,QAAQ,EAAE,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,mBAAmB,EAAE,GAAG;IACxB,mBAAmB,EAAE,GAAG;CACzB,CAAA;AAED,EAAE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,OAAO,KAA4E,SAAQ,WAAW,CAAC,KAAK;IAChH,0EAA0E;IACjE,OAAO,CAAQ;IAExB,uEAAuE;IAC9D,MAAM,CAAiB;IAEhC,mFAAmF;IAC1E,OAAO,CAAU;IAE1B,iDAAiD;IACxC,MAAM,CAA2C;IAE1D;;;;;;;;;;;;;;;;OAgBG;IACM,aAAa,CAAgD;IAEtE;;OAEG;IACM,CAAC,oBAAoB,CAAC,CAAgB;IAE/C,sBAAsB;IACtB,YAAY,EACV,aAAa,EACb,MAAM,EACN,WAAW,EACX,OAAO,EACP,YAAY,EACZ,OAAO,EACP,aAAa,EACb,MAAM,EACN,qBAAqB,EACrB,mBAAmB,GACa;QAChC,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,aAAa,CAAA;QAE7D,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAA;QAE7C,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;QAEhG,MAAM,aAAa,GAAG,8BAA8B,CAAC;YACnD,MAAM;YACN,aAAa;YACb,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,iDAAiD,CAAC,CAC5E,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,sBAAsB,EAAE,EAAE,EAAE;YAC1D,+GAA+G;YAC/G,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE;oBAChD,SAAS,EAAE,6CAA6C;oBACxD,KAAK,EAAE,YAAY;iBACpB,CAAC,CAAA;gBAEF,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAClC,uEAAuE;oBACvE,8DAA8D;oBAC9D,OAAO;wBACL,WAAW,EAAE,IAAI,GAAG,EAAU;wBAC9B,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAgB,EAAE;wBAC5C,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE;qBAChC,CAAA;gBACH,CAAC;gBAED,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,UAAU,CAAA;gBAE7C,MAAM,WAAW,GAAG,iCAAiC,CAAC;oBACpD,QAAQ;oBACR,YAAY;oBACZ,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe;oBACnD,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;iBACrD,CAAC,CAAA;gBAEF,MAAM,gBAAgB,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;gBAEvG,oGAAoG;gBACpG,sGAAsG;gBACtG,mGAAmG;gBACnG,4FAA4F;gBAC5F,IACE,sBAAsB,CAAC,IAAI,KAAK,MAAM;oBACtC,gBAAgB,CAAC,IAAI,KAAK,MAAM;oBAChC,sBAAsB,CAAC,KAAK,KAAK,gBAAgB,CAAC,KAAK,EACvD,CAAC;oBACD,OAAO,KAAK,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;gBACpF,CAAC;gBAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;gBAEnE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAA;gBAE7C,MAAM,IAAI,GAAG,GAAG,EAAE;oBAChB,KAAK,MAAM,EACT,YAAY,EACZ,UAAU,EACV,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,GACrF,IAAI,WAAW,EAAE,CAAC;wBACjB,IAAI,CAAC;4BACH,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,EAAE;gCACjF,WAAW;gCACX,WAAW;6BACZ,CAAC,CAAA;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,mCAAmC;4BACnC,MAAM,YAAY,CAAC,IAAI,CAAC;gCACtB,KAAK;gCACL,IAAI,EAAE,2CAA2C,YAAY,CAAC,IAAI,kBAAkB,YAAY,kBAAkB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;6BAC/I,CAAC,CAAA;wBACJ,CAAC;wBAED,gCAAgC;wBAChC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;4BAChC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;wBAChC,CAAC;wBAED,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,CAAA;oBAC7E,CAAC;gBACH,CAAC,CAAA;gBAED,IAAI,gBAAgB,GAGI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;gBACzC,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAA;gBAC7F,CAAC;qBAAM,CAAC;oBACN,IAAI,EAAE,CAAA;gBACR,CAAC;gBAED,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;YACjF,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CACxE;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE;gBACtB,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAChE,CAAC;YACD,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;gBACxB,MAAM,cAAc,GAAG,EAAgE,CAAA;gBACvF,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;oBAChE,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,0BAA0B,SAAS,EAAE,CAAC,CAAA;oBAC1E,cAAc,CAAC,IAAI,CAAC,CAAC,QAAS,EAAE,IAAI,CAAC,CAAC,CAAA;gBACxC,CAAC;gBACD,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;YACzC,CAAC;YACD,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE;gBACN,GAAG,cAAc,CAAC;oBAChB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;iBAChD,CAAC;gBACF,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,0BAA0B,KAAK,SAAS;oBAC7D,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,0BAA0B,EAAE;oBAC9D,CAAC,CAAC,EAAE,CAAC;aACR;YACD,qBAAqB;SACtB,CAAC,CAAA;QAEF,sEAAsE;QACtE,MAAM,SAAS,GAAwE,EAAE,CAAA;QACzF,MAAM,aAAa,GAAG,IAAI,mBAAmB,EAAkB,CAAA;QAE/D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;QACtG,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAA;QAEtF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;QACtG,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAA;QAErF,eAAe,CAAC,OAAO,GAAG;YACxB,KAAK,EAAE,IAAyC;YAChD,QAAQ,EAAE,IAAI,GAAG,EAAE;YACnB,eAAe,EAAE,IAAI,OAAO,CAAC,eAAe,CAAC;YAC7C,UAAU,EAAE,WAAW,CAAC,MAAM;YAC9B,eAAe,EAAE,sBAAsB;YACvC,cAAc,EAAE,YAAY;SAC7B,CAAA;QACD,MAAM,OAAO,GAAc;YACzB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,kBAAkB,EAAE,uBAAuB;YAC3C,kBAAkB,EAAE,sBAAsB;SAC3C,CAAA;QAED,+FAA+F;QAC/F,MAAM,aAAa,GAAG,IAAI,GAAG;QAC3B,0FAA0F;QAC1F,8CAA8C;QAC9C,mBAAmB;YACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACxC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAC1G,CAAA;QACD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;aACrG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAU,CAAC,CAChE,CAAA;QACD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;YACtC,SAAS,CAAC,SAAS,CAAC;gBAClB,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC;oBAChC,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE;wBAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;wBAClB,KAAK,EAAE,YAAY,SAAS,EAAE;wBAC9B,IAAI,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE;qBACpC,CAAC,CAAA;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YACrC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,kDAAkD;gBAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChD,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACvC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;oBAC5E,CAAC;gBACH,CAAC;gBAED,qBAAqB;gBACrB,QAAQ,CAAC,GAAG,EAAE,CAAA;gBACd,WAAW,CAAC,GAAG,EAAE,CAAA;gBACjB,WAAW,CAAC,GAAG,EAAE,CAAA;YACnB,CAAC,CAAC,CACH,CAAA;YAED,KAAK,CAAC,CAAC,aAAa,CAAC,IAAI,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,4EAA4E;QAC5E,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;QAE9F,2BAA2B;QAC3B,IAAI,CAAC,oBAAoB,CAAC,GAAG;YAC3B,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAGvD;YACD,aAAa;YACb,eAAe;YACf,aAAa;YACb,IAAI,EAAE,OAAO;YACb,eAAe;YACf,SAAS;YACT,aAAa;YACb,aAAa;YACb,IAAI;YACJ,UAAU,EAAE,KAAK;SAClB,CAAA;QAED,gEAAgE;QAChE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,aAAa,CAAA;IAC/D,CAAC;IACD,yBAAyB;IAEzB;;;;;OAKG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAA;IAC3D,CAAC;IAED;;;;;OAKG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAA;IAC1D,CAAC;IAEO,aAAa,GAAG,CAAC,SAAiB,EAAQ,EAAE;QAClD,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,IAAI,YAAY,CAAC;gBACrB,KAAK,EAAE,+CAA+C,SAAS,KAAK;gBACpE,IAAI,EAAE,uEAAuE;aAC9E,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,GAAG,CAAC,CACX,KAAyB,EACzB,iBAA0E,EAC1E,YAAwC,EACF,EAAE;QACxC,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAA;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;IAChE,CAAC,CAAgB,CAAA;IAET,qBAAqB,GAAG,CAC9B,KAAyB,EACzB,QAAkC,EAClC,OAAmC,EACtB,EAAE;QACf,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAE/B,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC3D,qBAAqB,EACrB,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAC7G,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAC1E,CAAC,IAAI,EAAE,EAAE;YACP,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnE,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC;gBACtC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC;gBAC1E,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;oBACnD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC;oBACjE,CAAC,CAAC;wBACE,KAAK,EAAE,KAA2B;wBAClC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;qBAChB,CAAA;YACP,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAA;YAE/B,MAAM,KAAK,GAAG,aAAa,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3C,IAAI,gBAAgB,GAAG,OAAO,EAAE,cAAc,KAAK,IAAI,CAAA;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,UAAU,CAClE,CAAC,GAAG,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE;gBACxC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAA;gBACpE,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAM;gBACR,CAAC;gBACD,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClB,CAAC,EACD,EAAE,KAAK,EAAE,CACV,CAAA;YACD,MAAM,gBAAgB,GAAG,GAAG,EAAE;gBAC5B,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAC3B,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,yBAAyB,OAAO,EAAE,KAAK,EAAE;iBACjD,CAAC,CAAA;YACJ,CAAC,CAAA;YAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvB,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACnD,CAAC;YAED,OAAO,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,CAAA;YAE9B,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAA4B,CAAC,CAAA;YAE1E,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,IAAI,gBAAgB,EAAE,CAAC;oBACrB,6GAA6G;oBAC7G,iGAAiG;oBACjG,gBAAgB,EAAE,CAAA;oBAClB,gBAAgB,GAAG,KAAK,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACN,gBAAgB,EAAE,CAAA;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,GAAG,EAAE;gBACvB,IAAI,CAAC;oBACH,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;oBAC9D,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,MAA4B,CAAC,CAAA;oBAE7E,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;wBACvB,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;oBACtD,CAAC;oBAED,UAAU,CAAC,KAAK,EAAE,CAAA;oBAElB,OAAO,EAAE,gBAAgB,EAAE,EAAE,CAAA;gBAC/B,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,GAAG,EAAE,CAAA;gBACZ,CAAC;YACH,CAAC,CAAA;YAED,OAAO,WAAW,CAAA;QACpB,CAAC,CACF,CAAA;IACH,CAAC,CAAA;IAEO,wBAAwB,GAAG,CACjC,KAAyB,EACzB,OAAmC,EACX,EAAE;QAC1B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAE/B,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC,CAAA;IAED,eAAe,GAAG,CAAU,KAAyB,EAAE,OAAmC,EAA0B,EAAE,CACpH,MAAM,CAAC,SAAS,CAAU,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CACrD,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAC3E,CAAA;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;QAE1G,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YACrD,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,WAAW;SACZ,CAAC,CACH,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CACtC,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAEH;;;;;;;;;;;;;OAaG;IACH,KAAK,GAAG,CACN,KAAoG,EACpG,OAA4E,EACnE,EAAE;QACX,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAE3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;YAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,YAAY,CACjE,KAAK,CAAC,KAAK,EACX,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,EAChD;gBACE,GAAG,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;aACzD,CACK,CAAA;YACR,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;YAC7C,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;aAAM,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAA;YACxC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC5B,sBAAsB,CAAC;oBACrB,KAAK,EAAE,GAAG,CAAC,QAAQ;oBACnB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,qBAAqB,EAAE,GAAG,CAAC,qBAAqB;oBAChD,WAAW,EAAE,OAAO,EAAE,WAAW;iBAClC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;YAC5B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;YAErC,oEAAoE;YACpE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YAC/F,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,YAAY,CACpE,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,UAAuC,EAC9C;gBACE,GAAG,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;gBACxD,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC/E,CACF,CAAA;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;YACxD,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,OAAO,YAAY,CAAC,KAAK,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,OAAO,iBAAiB,CACtB,gDAAgD,EAChD,MAAM,CAAC,QAAQ,EAAE,EACjB,aAAa,EACb,MAAM,EACN,eAAe,EACf,YAAY,CAAC,IAAI,CAClB,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAA;YAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAChD,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,OAAO,MAAM,CAAA;QACf,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAA;YAC/E,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,GAAG,CAAC;gBACf,GAAG,cAAc,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;aAC1G,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAA;IAED;;;;;;;;;;;;;;OAcG;IACH,SAAS,GAAG,CAAI,SAAuB,EAAE,KAA2B,EAAQ,EAAE;QAC5E,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAE/B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAA;QACrF,MAAM,QAAQ,GAAM,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC/F,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE7B,2FAA2F;QAC3F,yGAAyG;QACzG,6GAA6G;QAC7G,sGAAsG;QACtG,4DAA4D;QAC5D,IAAI,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,KAAK,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAA;IAED,iBAAiB;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,MAAM,GAiBF,CAAC,0BAA+B,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC5D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE5B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAA;QAEtF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;YAC1F,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;YAE5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YACxF,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAE/B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;YAE5C,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC;gBACrC,GAAG,EAAE,GAAG,EAAE;oBACR,MAAM,oBAAoB,GAAG,GAAG,EAAE;wBAChC,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;oBAClG,CAAC,CAAA;oBAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;oBAC7E,CAAC;yBAAM,CAAC;wBACN,OAAO,oBAAoB,EAAE,CAAA;oBAC/B,CAAC;gBACH,CAAC;gBACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;aAC/C,CAAC,CAAA;YAEF,8BAA8B;YAC9B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,mBAAmB,CAAA;YAElD,MAAM,cAAc,GAA+D,EAAE,CAAA;YACrF,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;gBAChE,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,0BAA0B,SAAS,EAAE,CAAC,CAAA;gBAC1E,cAAc,CAAC,IAAI,CAAC,CAAC,QAAS,EAAE,IAAI,CAAC,CAAC,CAAA;YACxC,CAAC;YAED,MAAM,kBAAkB,GAAkB;gBACxC,IAAI,EAAE,QAAQ;gBACd,MAAM;gBACN,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;aACrC,CAAA;YACD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,CAAA;YAEjD,iFAAiF;YACjF,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,EAAE;gBACjE,kBAAkB;gBAClB,WAAW;gBACX,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC;aACpE,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YAClC,IAAI,EAAE,IAAI;YACV,UAAU,EAAE;gBACV,uBAAuB,EAAE,MAAM,CAAC,MAAM;gBACtC,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAChD,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,uBAAuB,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;aAClE;YACD,KAAK,EAAE;gBACL,iCAAiC;gBACjC,UAAU,CAAC,YAAY,CAAC;oBACtB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAE;iBACxF,CAAC;gBACF,2BAA2B;gBAC3B,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC5D;SACF,CAAC,EACF,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EACrC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAClE,CAAA;IACH,CAAC,CAAA;IACD,oBAAoB;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,MAAM,GAAG,CAAC,OAAqC,EAA2D,EAAE;QAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACzC,OAAO;YACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;gBAC/C,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;oBACnC,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;SACF,CAAA;IACH,CAAC,CAAA;IAED;;;OAGG;IACH,YAAY,GAAG,CACb,OAAqC,EACkC,EAAE;QACzE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACpD,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjE,MAAM,kBAAkB,GACtB,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,oBAAoB,CAAC,mBAAmB,CAAA;QAEnG,MAAM,WAAW,GAAwB;YACvC,GAAG,OAAO;YACV,MAAM,EAAE,OAAO,EAAE,MAA2B;YAC5C,SAAS,EAAE,kBAAkB;SAC9B,CAAA;QAED,OAAO,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAC/D,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EACxE,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EACnF,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC,CAC5E,CAAA;IACH,CAAC,CAAA;IAED;;;OAGG;IACH,aAAa,GAAG,CAAC,OAA4B,EAAE,EAAE;QAC/C,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QAEnC,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,IAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CACpD,yBAAyB,EACzB,EAAE,UAAU,EAAE,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,EACzD,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAClD,CAAC,IAAI,EAAE,EAAE;YACP,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;YACnE,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;YAC9E,IAAI,CAAC,GAAG,EAAE,CAAA;QACZ,CAAC,CACF,CAAA;IACH,CAAC,CAAA;IAED;;;;OAIG;IACH,eAAe,GAAG,KAAK,EAAE,KAAoB,EAAE,EAAE;QAC/C,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;QAErC,IAAI,CAAC,oBAAoB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAA;QAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACpH,CAAC,CAAA;IAED;;;;OAIG;IACH,QAAQ,GAAG,CAAC,KAAoD,EAAuB,EAAE;QACvF,IAAI,CAAC,oBAAoB,CAAC,CAAC,UAAU,GAAG,IAAI,CAAA;QAC5C,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,QAAQ,CACtD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAClG,CAAA;IACH,CAAC,CAAA;IAED;;;;OAIG;IACH,IAAI,GAAG;QACL,UAAU,EAAE,CAAC,SAA6B,OAAO,EAAE,EAAE;YACnD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,MAAM,IAAI,GACR,MAAM,KAAK,OAAO;oBAChB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE;oBACrD,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAA;gBACzE,YAAY,CAAC,IAAI,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAClD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;QAED,kBAAkB,EAAE,GAAG,EAAE;YACvB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,CAAA;gBACzF,YAAY,CAAC,IAAI,EAAE,sBAAsB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC3D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;QAED,SAAS,EAAE,CAAC,OAAmC,UAAU,EAAE,EAAE;YAC3D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAA;gBAClE,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,mBAAmB,CAC9E,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CACrG,CAAA;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;QAED,qBAAqB,EAAE,CAAC,MAA4B,EAAE,EAAE;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAA;YAClE,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,YAAY;iBAClD,mBAAmB,CAClB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC;gBACxC,QAAQ;gBACR,UAAU,EAAE,MAAM,KAAK,SAAS;gBAChC,gBAAgB;gBAChB,SAAS,EAAE,MAAM,EAAE;aACpB,CAAC,CACH;iBACA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;QAED,UAAU,EAAE,GAAG,EAAE,CACf,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAA;YACzE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAA;YACrF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;QAC5B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAEhC,eAAe,EAAE,GAAG,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,SAAS,CAAA;gBACzE,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACf,uBAAuB,OAAO,CAAC,SAAS,eAAe,OAAO,CAAC,YAAY,GAAG,EAC9E,OAAO,CAAC,MAAM,EAAE,CACjB,CAAA;gBACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAA;gBACrF,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,SAAS,eAAe,MAAM,CAAC,YAAY,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;YACjH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7B,CAAC;QAED,OAAO,EAAE,gBAAgB;QAEzB,IAAI,EAAE;YACJ,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,WAAW,EAAE;SAC1G;KACF,CAAA;IAED,0GAA0G;IAC1G,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;QACd,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;KAClG,CAAC,CAAA;IAEM,aAAa,GAAG,CAAO,MAAwC,EAAE,EAAE,CACzE,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,EACrE,MAAM,CAAC,iBAAiB,EACxB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAClE,CAAA;IAEK,gBAAgB,GAAG,CAAO,MAAwC,EAAE,EAAE,CAC5E,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAA;IAErG,aAAa,GAAG,CACtB,0BAA+B,EAC/B,UAAiB,EAIjB,EAAE;QACF,IAAI,MAAiD,CAAA;QACrD,IAAI,OAAuC,CAAA;QAE3C,IAAI,OAAO,0BAA0B,KAAK,UAAU,EAAE,CAAC;YACrD,uGAAuG;YACvG,MAAM,GAAG,0BAA0B,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACrE,CAAC;aAAM,IACL,0BAA0B,EAAE,KAAK,KAAK,SAAS;YAC/C,0BAA0B,EAAE,WAAW,KAAK,SAAS;YACrD,0BAA0B,EAAE,WAAW,KAAK,SAAS;YACrD,0BAA0B,EAAE,SAAS,KAAK,SAAS,EACnD,CAAC;YACD,OAAO,GAAG,0BAA0B,CAAA;YACpC,MAAM,GAAG,UAAU,CAAA;QACrB,CAAC;aAAM,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;YACpD,wGAAwG;YACxG,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,0BAA0B,EAAE,GAAG,UAAU,CAAC,CAAA;QACtD,CAAC;QAED,gCAAgC;QAChC,6CAA6C;QAC7C,qCAAqC;QACrC,MAAM;QACN,IAAI;QAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IAC5B,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
1
  # Complex UI state
2
2
 
3
3
  LiveStore is a great fit for building apps with complex UI state.
4
-
5
- TODO: actually write this section
@@ -1,5 +1,3 @@
1
1
  # CRUD
2
2
 
3
3
  ## CRUD
4
-
5
- TBD
@@ -1 +1,30 @@
1
1
  # Data modeling
2
+
3
+ ## Core idea
4
+
5
+ - Data modeling is probably the most important part of any app and needs to be done carefully.
6
+ - The core idea is to model the read and write model separately.
7
+ - Depending on the use case, you might also want to split up the read/write model into separate "containers" (e.g. for data-sharing/scalability/access control reasons).
8
+ - There is no transactional consistency between containers.
9
+ - Caveat: Event sourcing is not ideal for all use cases - some apps might be better off with another approach (e.g. use CRDTs for rich text editing).
10
+
11
+ ## Considerations for data modeling
12
+
13
+ - How much data do you expect to have and what is the shape of the data?
14
+ - Some kind of data needs special handling (e.g. blobs or rich text)
15
+ - Access patterns (performance, ...)
16
+ - Access control
17
+ - Data integrity / consistency
18
+ - Sharing / collaboration
19
+ - Regulatory requirements (e.g. GDPR, audit logs, ...)
20
+
21
+ ## TODO
22
+
23
+ - TODO: actually write this section
24
+ - questions to answer
25
+ - When to split things into separate containers?
26
+ - How do migrations work?
27
+ - Read model migrations
28
+ - Write model migrations
29
+ - How to create new write models based on existing ones
30
+ - Example: An app has multiple workspaces and you now want to introduce the concept of "projects" inside a workspace. You might want to pre-populate a "default workspace project" for each workspace.
@@ -194,12 +194,6 @@ export const schema = makeSchema({ events: workspaceEvents, state })
194
194
 
195
195
  Now that we've defined our schemas, let's set up the multi-store API to manage workspace and user stores dynamically.
196
196
 
197
- :::caution[Experimental API]
198
- This guide uses the [experimental multi-store API](/framework-integrations/react-integration#multi-store) which is still early in its development.
199
-
200
- If you have feedback or questions about this API, please don't hesitate to comment on the [RFC](https://github.com/livestorejs/livestore/pull/585)
201
- :::
202
-
203
197
  ### Store Configuration
204
198
 
205
199
  First, define store options for each store type using [`storeOptions()`](/framework-integrations/react-integration#storeoptionsoptions):
@@ -40,16 +40,35 @@ export const tracer = makeTracer('my-app')
40
40
  ## `reference/opentelemetry/app.tsx`
41
41
 
42
42
  ```tsx filename="reference/opentelemetry/app.tsx"
43
- /** biome-ignore-all lint/correctness/noUnusedVariables: docs snippet */
44
43
 
45
44
  const adapter = makeInMemoryAdapter()
46
45
 
47
46
  // ---cut---
48
- export const Root: FC<{ children: ReactNode }> = ({ children }) => (
49
- <LiveStoreProvider schema={schema} adapter={adapter} batchUpdates={batchUpdates} otelOptions={{ tracer }}>
50
- {children}
51
- </LiveStoreProvider>
52
- )
47
+ const useAppStore = () =>
48
+ useStore({
49
+ storeId: 'otel-demo',
50
+ schema,
51
+ adapter,
52
+ batchUpdates,
53
+ otelOptions: { tracer },
54
+ })
55
+
56
+ export const App: FC = () => {
57
+ const [storeRegistry] = useState(() => new StoreRegistry())
58
+ return (
59
+ <Suspense fallback={<div>Loading...</div>}>
60
+ <StoreRegistryProvider storeRegistry={storeRegistry}>
61
+ <AppContent />
62
+ </StoreRegistryProvider>
63
+ </Suspense>
64
+ )
65
+ }
66
+
67
+ const AppContent: FC = () => {
68
+ const _store = useAppStore()
69
+ // Use the store in your components
70
+ return <div>{/* Your app content */}</div>
71
+ }
53
72
  ```
54
73
 
55
74
  ### `reference/framework-integrations/react/schema.ts`
@@ -4,6 +4,6 @@
4
4
 
5
5
  Add the content of this `AGENTS.md` file or other custom rules:
6
6
 
7
- ```md
8
- - When you need to look up information about LiveStore, always use the `docs` directory that's shipped inside `node_modules/@livestore/livestore/docs`.
7
+ ```md wrap
8
+ - When you need to look up information about LiveStore, always use the `docs` directory that's shipped as part of the `@livestore/livestore` package in `node_modules/@livestore/livestore/docs`.
9
9
  ```
@@ -13,6 +13,7 @@ const table = State.SQLite.table({
13
13
  columns: {
14
14
  id: State.SQLite.text({ primaryKey: true }),
15
15
  name: State.SQLite.text(),
16
+ tags: State.SQLite.json({ schema: Schema.Array(Schema.String), default: [] }),
16
17
  },
17
18
  })
18
19
 
@@ -23,6 +24,11 @@ table.where({ name: 'Alice' })
23
24
  table.orderBy('name', 'desc').offset(10).limit(10)
24
25
  table.count().where('name', 'LIKE', '%Ali%')
25
26
 
27
+ // JSON array containment queries
28
+ // NOTE: These use SQLite's json_each() which cannot be indexed
29
+ table.where({ tags: { op: 'JSON_CONTAINS', value: 'important' } })
30
+ table.where({ tags: { op: 'JSON_NOT_CONTAINS', value: 'archived' } })
31
+
26
32
  // Write queries
27
33
  table.insert({ id: '123', name: 'Bob' })
28
34
  table.update({ name: 'Alice' }).where({ id: '123' })
@@ -62,6 +68,22 @@ const count$ = queryDb({
62
68
  })
63
69
  ```
64
70
 
71
+ ## JSON array containment
72
+
73
+ For JSON array columns, you can use `JSON_CONTAINS` and `JSON_NOT_CONTAINS` operators to check if an array contains (or doesn't contain) a specific value:
74
+
75
+ ```ts
76
+ // Find items with a specific tag
77
+ table.where({ tags: { op: 'JSON_CONTAINS', value: 'important' } })
78
+
79
+ // Find items without a specific tag
80
+ table.where({ tags: { op: 'JSON_NOT_CONTAINS', value: 'archived' } })
81
+ ```
82
+
83
+ :::caution[Performance consideration]
84
+ These operators use SQLite's `json_each()` table-valued function which **cannot be indexed** and requires a full table scan. For large tables with frequent lookups, consider denormalizing the data into a separate indexed table.
85
+ :::
86
+
65
87
  ## Best practices
66
88
 
67
89
  - Query results should be treated as immutable/read-only
@@ -152,7 +152,7 @@ Migration strategies:
152
152
 
153
153
  - Meant for convenience
154
154
  - Client-only
155
- - Goal: Similar ease of use as `React.useState`
155
+ - Goal: Similar ease of use as `React.useState()`
156
156
  - When schema changes in a non-backwards compatible way, previous events are dropped and the state is reset
157
157
  - Don't use client documents for sensitive data which must not be lost
158
158
  - Implies
@@ -299,7 +299,7 @@ export const userTable = State.SQLite.table({
299
299
  ### General practices
300
300
 
301
301
  - It's usually recommend to **not distinguish** between app state vs app data but rather keep all state in LiveStore.
302
- - This means you'll rarely use `React.useState` when using LiveStore
302
+ - This means you'll rarely use `React.useState()` when using LiveStore
303
303
  - In some cases for "fast changing values" it can make sense to keep a version of a state value outside of LiveStore with a reactive setter for React and a debounced setter for LiveStore to avoid excessive LiveStore mutations. Cases where this can make sense can include:
304
304
  - Text input / rich text editing
305
305
  - Scroll position tracking, resize events, move/drag events
@@ -258,6 +258,350 @@ const shutdownWithPromise = async () => {
258
258
  }
259
259
  ```
260
260
 
261
+ ## Effect integration
262
+
263
+ For applications using [Effect](https://effect.website), LiveStore provides a type-safe way to access stores through the Effect layer system via `makeStoreContext()`.
264
+
265
+ ### Creating a typed store context
266
+
267
+ Use `makeStoreContext()` to create a typed context that preserves your schema types:
268
+
269
+ ## `reference/store/effect/make-store-context.ts`
270
+
271
+ ```ts filename="reference/store/effect/make-store-context.ts"
272
+
273
+ // ---cut---
274
+ // Define a typed store context with your schema
275
+ export const TodoStore = Store.Tag(schema, 'todos')
276
+
277
+ // Create a layer to initialize the store
278
+ const adapter = makeAdapter({ storage: { type: 'fs' } })
279
+
280
+ export const TodoStoreLayer = TodoStore.layer({
281
+ adapter,
282
+ batchUpdates: (cb) => cb(), // For Node.js; use React's unstable_batchedUpdates in React apps
283
+ })
284
+ ```
285
+
286
+ ### `reference/store/effect/schema.ts`
287
+
288
+ ```ts filename="reference/store/effect/schema.ts"
289
+
290
+ const tables = {
291
+ todos: State.SQLite.table({
292
+ name: 'todos',
293
+ columns: {
294
+ id: State.SQLite.text({ primaryKey: true }),
295
+ text: State.SQLite.text(),
296
+ completed: State.SQLite.boolean({ default: false }),
297
+ },
298
+ }),
299
+ } as const
300
+
301
+ const events = {
302
+ todoCreated: Events.synced({
303
+ name: 'v1.TodoCreated',
304
+ schema: Schema.Struct({ id: Schema.String, text: Schema.String }),
305
+ }),
306
+ todoCompleted: Events.synced({
307
+ name: 'v1.TodoCompleted',
308
+ schema: Schema.Struct({ id: Schema.String }),
309
+ }),
310
+ } as const
311
+
312
+ const materializers = State.SQLite.materializers(events, {
313
+ [events.todoCreated.name]: defineMaterializer(events.todoCreated, ({ id, text }) =>
314
+ tables.todos.insert({ id, text, completed: false }),
315
+ ),
316
+ [events.todoCompleted.name]: defineMaterializer(events.todoCompleted, ({ id }) =>
317
+ tables.todos.update({ completed: true }).where({ id }),
318
+ ),
319
+ })
320
+
321
+ const state = State.SQLite.makeState({ tables, materializers })
322
+
323
+ export const schema = makeSchema({ events, state })
324
+ export const storeTables = tables
325
+ export const storeEvents = events
326
+ ```
327
+
328
+ The factory takes your schema type as a generic parameter and returns a `StoreContext` with:
329
+ - `Tag` - Context tag for dependency injection
330
+ - `Layer` - Creates a layer that initializes the store
331
+ - `DeferredTag` - For async initialization patterns
332
+ - `DeferredLayer` - Layer providing the deferred context
333
+ - `fromDeferred` - Layer that waits for deferred initialization
334
+
335
+ ### Using the store in Effect services
336
+
337
+ Access the store in Effect code with full type safety and autocomplete:
338
+
339
+ ## `reference/store/effect/usage-in-service.ts`
340
+
341
+ ```ts filename="reference/store/effect/usage-in-service.ts"
342
+
343
+ // ---cut---
344
+ // Access the store in Effect code with full type safety
345
+ const _todoService = Effect.gen(function* () {
346
+ // Yield the store directly (it's a Context.Tag)
347
+ const { store } = yield* TodoStore
348
+
349
+ // Query with autocomplete for tables
350
+ const todos = store.query(storeTables.todos.select())
351
+
352
+ // Commit events
353
+ store.commit(storeEvents.todoCreated({ id: '1', text: 'Buy milk' }))
354
+
355
+ return todos
356
+ })
357
+
358
+ // Or use static accessors for a more functional style
359
+ const _todoServiceAlt = Effect.gen(function* () {
360
+ // Query using static accessor
361
+ const todos = yield* TodoStore.query(storeTables.todos.select())
362
+
363
+ // Commit using static accessor
364
+ yield* TodoStore.commit(storeEvents.todoCreated({ id: '1', text: 'Buy milk' }))
365
+
366
+ return todos
367
+ })
368
+ ```
369
+
370
+ ### `reference/store/effect/make-store-context.ts`
371
+
372
+ ```ts filename="reference/store/effect/make-store-context.ts"
373
+
374
+ // ---cut---
375
+ // Define a typed store context with your schema
376
+ export const TodoStore = Store.Tag(schema, 'todos')
377
+
378
+ // Create a layer to initialize the store
379
+ const adapter = makeAdapter({ storage: { type: 'fs' } })
380
+
381
+ export const TodoStoreLayer = TodoStore.layer({
382
+ adapter,
383
+ batchUpdates: (cb) => cb(), // For Node.js; use React's unstable_batchedUpdates in React apps
384
+ })
385
+ ```
386
+
387
+ ### `reference/store/effect/schema.ts`
388
+
389
+ ```ts filename="reference/store/effect/schema.ts"
390
+
391
+ const tables = {
392
+ todos: State.SQLite.table({
393
+ name: 'todos',
394
+ columns: {
395
+ id: State.SQLite.text({ primaryKey: true }),
396
+ text: State.SQLite.text(),
397
+ completed: State.SQLite.boolean({ default: false }),
398
+ },
399
+ }),
400
+ } as const
401
+
402
+ const events = {
403
+ todoCreated: Events.synced({
404
+ name: 'v1.TodoCreated',
405
+ schema: Schema.Struct({ id: Schema.String, text: Schema.String }),
406
+ }),
407
+ todoCompleted: Events.synced({
408
+ name: 'v1.TodoCompleted',
409
+ schema: Schema.Struct({ id: Schema.String }),
410
+ }),
411
+ } as const
412
+
413
+ const materializers = State.SQLite.materializers(events, {
414
+ [events.todoCreated.name]: defineMaterializer(events.todoCreated, ({ id, text }) =>
415
+ tables.todos.insert({ id, text, completed: false }),
416
+ ),
417
+ [events.todoCompleted.name]: defineMaterializer(events.todoCompleted, ({ id }) =>
418
+ tables.todos.update({ completed: true }).where({ id }),
419
+ ),
420
+ })
421
+
422
+ const state = State.SQLite.makeState({ tables, materializers })
423
+
424
+ export const schema = makeSchema({ events, state })
425
+ export const storeTables = tables
426
+ export const storeEvents = events
427
+ ```
428
+
429
+ ### Layer composition
430
+
431
+ Compose store layers with your application services:
432
+
433
+ ## `reference/store/effect/layer-composition.ts`
434
+
435
+ ```ts filename="reference/store/effect/layer-composition.ts"
436
+
437
+ // ---cut---
438
+ // Define services that depend on the store
439
+ class TodoService extends Effect.Service<TodoService>()('TodoService', {
440
+ effect: Effect.gen(function* () {
441
+ const { store } = yield* TodoStore
442
+
443
+ const createTodo = (id: string, text: string) =>
444
+ Effect.sync(() => store.commit(storeEvents.todoCreated({ id, text })))
445
+
446
+ const completeTodo = (id: string) => Effect.sync(() => store.commit(storeEvents.todoCompleted({ id })))
447
+
448
+ return { createTodo, completeTodo } as const
449
+ }),
450
+ dependencies: [TodoStoreLayer],
451
+ }) {}
452
+
453
+ // Compose everything into a main layer
454
+ const MainLayer = Layer.mergeAll(TodoStoreLayer, TodoService.Default)
455
+
456
+ // Use in your application
457
+ const program = Effect.gen(function* () {
458
+ const todoService = yield* TodoService
459
+ yield* todoService.createTodo('1', 'Learn Effect')
460
+ yield* todoService.completeTodo('1')
461
+ })
462
+
463
+ // Provide MainLayer when running (OtelTracer is also required)
464
+ void program.pipe(Effect.provide(MainLayer))
465
+ ```
466
+
467
+ ### `reference/store/effect/make-store-context.ts`
468
+
469
+ ```ts filename="reference/store/effect/make-store-context.ts"
470
+
471
+ // ---cut---
472
+ // Define a typed store context with your schema
473
+ export const TodoStore = Store.Tag(schema, 'todos')
474
+
475
+ // Create a layer to initialize the store
476
+ const adapter = makeAdapter({ storage: { type: 'fs' } })
477
+
478
+ export const TodoStoreLayer = TodoStore.layer({
479
+ adapter,
480
+ batchUpdates: (cb) => cb(), // For Node.js; use React's unstable_batchedUpdates in React apps
481
+ })
482
+ ```
483
+
484
+ ### `reference/store/effect/schema.ts`
485
+
486
+ ```ts filename="reference/store/effect/schema.ts"
487
+
488
+ const tables = {
489
+ todos: State.SQLite.table({
490
+ name: 'todos',
491
+ columns: {
492
+ id: State.SQLite.text({ primaryKey: true }),
493
+ text: State.SQLite.text(),
494
+ completed: State.SQLite.boolean({ default: false }),
495
+ },
496
+ }),
497
+ } as const
498
+
499
+ const events = {
500
+ todoCreated: Events.synced({
501
+ name: 'v1.TodoCreated',
502
+ schema: Schema.Struct({ id: Schema.String, text: Schema.String }),
503
+ }),
504
+ todoCompleted: Events.synced({
505
+ name: 'v1.TodoCompleted',
506
+ schema: Schema.Struct({ id: Schema.String }),
507
+ }),
508
+ } as const
509
+
510
+ const materializers = State.SQLite.materializers(events, {
511
+ [events.todoCreated.name]: defineMaterializer(events.todoCreated, ({ id, text }) =>
512
+ tables.todos.insert({ id, text, completed: false }),
513
+ ),
514
+ [events.todoCompleted.name]: defineMaterializer(events.todoCompleted, ({ id }) =>
515
+ tables.todos.update({ completed: true }).where({ id }),
516
+ ),
517
+ })
518
+
519
+ const state = State.SQLite.makeState({ tables, materializers })
520
+
521
+ export const schema = makeSchema({ events, state })
522
+ export const storeTables = tables
523
+ export const storeEvents = events
524
+ ```
525
+
526
+ ### Multiple stores with Effect
527
+
528
+ Each store gets a unique context tag, allowing multiple stores in the same Effect context:
529
+
530
+ ## `reference/store/effect/multiple-stores.ts`
531
+
532
+ ```ts filename="reference/store/effect/multiple-stores.ts"
533
+
534
+ // For demonstration, we'll use the same schema for both stores
535
+ const settingsSchema = mainSchema
536
+
537
+ // ---cut---
538
+ // Define multiple typed store contexts
539
+ const MainStore = Store.Tag(mainSchema, 'main')
540
+ const SettingsStore = Store.Tag(settingsSchema, 'settings')
541
+
542
+ // Each store has its own layer
543
+ const adapter = makeAdapter({ storage: { type: 'fs' } })
544
+
545
+ const MainStoreLayer = MainStore.layer({ adapter, batchUpdates: (cb) => cb() })
546
+ const SettingsStoreLayer = SettingsStore.layer({ adapter, batchUpdates: (cb) => cb() })
547
+
548
+ // Compose layers together
549
+ const _AllStoresLayer = Layer.mergeAll(MainStoreLayer, SettingsStoreLayer)
550
+
551
+ // Both stores available in Effect code
552
+ const _program = Effect.gen(function* () {
553
+ const { store: mainStore } = yield* MainStore
554
+ const { store: settingsStore } = yield* SettingsStore
555
+
556
+ // Each store is independently typed
557
+ return { mainStore, settingsStore }
558
+ })
559
+ ```
560
+
561
+ ### `reference/store/effect/schema.ts`
562
+
563
+ ```ts filename="reference/store/effect/schema.ts"
564
+
565
+ const tables = {
566
+ todos: State.SQLite.table({
567
+ name: 'todos',
568
+ columns: {
569
+ id: State.SQLite.text({ primaryKey: true }),
570
+ text: State.SQLite.text(),
571
+ completed: State.SQLite.boolean({ default: false }),
572
+ },
573
+ }),
574
+ } as const
575
+
576
+ const events = {
577
+ todoCreated: Events.synced({
578
+ name: 'v1.TodoCreated',
579
+ schema: Schema.Struct({ id: Schema.String, text: Schema.String }),
580
+ }),
581
+ todoCompleted: Events.synced({
582
+ name: 'v1.TodoCompleted',
583
+ schema: Schema.Struct({ id: Schema.String }),
584
+ }),
585
+ } as const
586
+
587
+ const materializers = State.SQLite.materializers(events, {
588
+ [events.todoCreated.name]: defineMaterializer(events.todoCreated, ({ id, text }) =>
589
+ tables.todos.insert({ id, text, completed: false }),
590
+ ),
591
+ [events.todoCompleted.name]: defineMaterializer(events.todoCompleted, ({ id }) =>
592
+ tables.todos.update({ completed: true }).where({ id }),
593
+ ),
594
+ })
595
+
596
+ const state = State.SQLite.makeState({ tables, materializers })
597
+
598
+ export const schema = makeSchema({ events, state })
599
+ export const storeTables = tables
600
+ export const storeEvents = events
601
+ ```
602
+
603
+ For more Effect patterns including Effect Atom integration, see the [Effect patterns](/patterns/effect) page.
604
+
261
605
  ## Multiple stores
262
606
 
263
607
  You can create and use multiple stores in the same app. This can be useful when breaking up your data model into smaller pieces.