@livestore/livestore 0.4.0-dev.9 → 0.5.0-dev.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.
- package/README.md +0 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/QueryCache.js +1 -1
- package/dist/QueryCache.js.map +1 -1
- package/dist/SqliteDbWrapper.d.ts +5 -5
- package/dist/SqliteDbWrapper.d.ts.map +1 -1
- package/dist/SqliteDbWrapper.js +15 -13
- package/dist/SqliteDbWrapper.js.map +1 -1
- package/dist/SqliteDbWrapper.test.js +24 -6
- package/dist/SqliteDbWrapper.test.js.map +1 -1
- package/dist/effect/LiveStore.d.ts +134 -6
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +190 -11
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/effect/LiveStore.test.d.ts +2 -0
- package/dist/effect/LiveStore.test.d.ts.map +1 -0
- package/dist/effect/LiveStore.test.js +41 -0
- package/dist/effect/LiveStore.test.js.map +1 -0
- package/dist/effect/mod.d.ts +1 -1
- package/dist/effect/mod.d.ts.map +1 -1
- package/dist/effect/mod.js +3 -1
- package/dist/effect/mod.js.map +1 -1
- package/dist/live-queries/base-class.d.ts +129 -9
- package/dist/live-queries/base-class.d.ts.map +1 -1
- package/dist/live-queries/base-class.js +30 -4
- package/dist/live-queries/base-class.js.map +1 -1
- package/dist/live-queries/client-document-get-query.d.ts +1 -1
- package/dist/live-queries/client-document-get-query.d.ts.map +1 -1
- package/dist/live-queries/client-document-get-query.js +4 -3
- package/dist/live-queries/client-document-get-query.js.map +1 -1
- package/dist/live-queries/computed.d.ts +56 -0
- package/dist/live-queries/computed.d.ts.map +1 -1
- package/dist/live-queries/computed.js +62 -6
- package/dist/live-queries/computed.js.map +1 -1
- package/dist/live-queries/db-query.d.ts +2 -2
- package/dist/live-queries/db-query.d.ts.map +1 -1
- package/dist/live-queries/db-query.js +41 -30
- package/dist/live-queries/db-query.js.map +1 -1
- package/dist/live-queries/db-query.test.js +112 -29
- package/dist/live-queries/db-query.test.js.map +1 -1
- package/dist/live-queries/signal.d.ts +49 -0
- package/dist/live-queries/signal.d.ts.map +1 -1
- package/dist/live-queries/signal.js +51 -2
- package/dist/live-queries/signal.js.map +1 -1
- package/dist/live-queries/signal.test.js +4 -4
- package/dist/live-queries/signal.test.js.map +1 -1
- package/dist/mod.d.ts +3 -3
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +3 -2
- package/dist/mod.js.map +1 -1
- package/dist/reactive.d.ts +10 -10
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +29 -27
- package/dist/reactive.js.map +1 -1
- package/dist/reactive.test.js +2 -2
- package/dist/reactive.test.js.map +1 -1
- package/dist/store/StoreRegistry.d.ts +215 -0
- package/dist/store/StoreRegistry.d.ts.map +1 -0
- package/dist/store/StoreRegistry.js +267 -0
- package/dist/store/StoreRegistry.js.map +1 -0
- package/dist/store/StoreRegistry.test.d.ts +2 -0
- package/dist/store/StoreRegistry.test.d.ts.map +1 -0
- package/dist/store/StoreRegistry.test.js +384 -0
- package/dist/store/StoreRegistry.test.js.map +1 -0
- package/dist/store/create-store.d.ts +99 -22
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/create-store.js +85 -37
- package/dist/store/create-store.js.map +1 -1
- package/dist/store/devtools.d.ts +6 -18
- package/dist/store/devtools.d.ts.map +1 -1
- package/dist/store/devtools.js +61 -19
- package/dist/store/devtools.js.map +1 -1
- package/dist/store/store-eventstream.test.d.ts +2 -0
- package/dist/store/store-eventstream.test.d.ts.map +1 -0
- package/dist/store/store-eventstream.test.js +65 -0
- package/dist/store/store-eventstream.test.js.map +1 -0
- package/dist/store/store-types.d.ts +271 -31
- package/dist/store/store-types.d.ts.map +1 -1
- package/dist/store/store-types.js +41 -1
- package/dist/store/store-types.js.map +1 -1
- package/dist/store/store-types.test.d.ts +2 -0
- package/dist/store/store-types.test.d.ts.map +1 -0
- package/dist/store/store-types.test.js +39 -0
- package/dist/store/store-types.test.js.map +1 -0
- package/dist/store/store.d.ts +255 -68
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +533 -186
- package/dist/store/store.js.map +1 -1
- package/dist/utils/dev.d.ts.map +1 -1
- package/dist/utils/dev.js +1 -1
- package/dist/utils/dev.js.map +1 -1
- package/dist/utils/stack-info.d.ts.map +1 -1
- package/dist/utils/stack-info.js +3 -2
- package/dist/utils/stack-info.js.map +1 -1
- package/dist/utils/tests/fixture.d.ts +46 -39
- package/dist/utils/tests/fixture.d.ts.map +1 -1
- package/dist/utils/tests/fixture.js +7 -0
- package/dist/utils/tests/fixture.js.map +1 -1
- package/dist/utils/tests/otel.d.ts.map +1 -1
- package/dist/utils/tests/otel.js +5 -5
- package/dist/utils/tests/otel.js.map +1 -1
- package/package.json +50 -18
- package/src/QueryCache.ts +1 -1
- package/src/SqliteDbWrapper.test.ts +30 -6
- package/src/SqliteDbWrapper.ts +21 -17
- package/src/ambient.d.ts +0 -7
- package/src/effect/LiveStore.test.ts +61 -0
- package/src/effect/LiveStore.ts +426 -22
- package/src/effect/mod.ts +13 -1
- package/src/live-queries/__snapshots__/db-query.test.ts.snap +814 -178
- package/src/live-queries/base-class.ts +162 -32
- package/src/live-queries/client-document-get-query.ts +6 -4
- package/src/live-queries/computed.ts +65 -8
- package/src/live-queries/db-query.test.ts +168 -30
- package/src/live-queries/db-query.ts +58 -43
- package/src/live-queries/signal.test.ts +5 -4
- package/src/live-queries/signal.ts +52 -3
- package/src/mod.ts +19 -2
- package/src/reactive.test.ts +3 -2
- package/src/reactive.ts +58 -49
- package/src/store/StoreRegistry.test.ts +543 -0
- package/src/store/StoreRegistry.ts +429 -0
- package/src/store/create-store.ts +227 -74
- package/src/store/devtools.ts +305 -261
- package/src/store/store-eventstream.test.ts +123 -0
- package/src/store/store-types.test.ts +52 -0
- package/src/store/store-types.ts +318 -44
- package/src/store/store.ts +695 -283
- package/src/utils/dev.ts +3 -4
- package/src/utils/stack-info.ts +5 -2
- package/src/utils/tests/fixture.ts +9 -1
- package/src/utils/tests/otel.ts +8 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreRegistry.test.js","sourceRoot":"","sources":["../../src/store/StoreRegistry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,KAAK,EAA+B,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAE/F,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAA6B,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAE3F,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAEjE,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAEtC,WAAW;QACX,MAAM,KAAK,GAAG,MAAM,MAAM,CAAA;QAC1B,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAA;QAClE,MAAM,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAEvC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAA;QAE3B,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAA;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAE1C,WAAW;QACX,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;QAElC,MAAM,KAAK,GAAG,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAEtD,kCAAkC;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAErC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAA;QAEzB,iDAAiD;QACjD,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEhC,WAAW;QACX,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QAEzC,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,4EAA4E;YAC5E,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,kCAAkC;QAClC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QAElE,iEAAiE;QACjE,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QAEzC,iFAAiF;QACjF,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,wBAAwB;YAC/C,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QACJ,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,OAAO,EAAE,cAAc;SACxB,CAAC,CAAA;QAEF,4CAA4C;QAC5C,MAAM,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAE1E,sFAAsF;QACtF,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QAEzC,8CAA8C;QAC9C,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAC,wBAAwB;YAC/C,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QAEJ,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,OAAO,EAAE,cAAc;SACxB,CAAC,CAAA;QAEF,6BAA6B;QAC7B,MAAM,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAE1E,2CAA2C;QAC3C,IAAI,MAAe,CAAA;QACnB,IAAI,MAAe,CAAA;QAEnB,IAAI,CAAC;YACH,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,CAAA;QACd,CAAC;QAED,IAAI,CAAC;YACH,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,CAAA;QACd,CAAC;QAED,wDAAwD;QACxD,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;QAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QAEzC,mDAAmD;QACnD,MAAM,UAAU,GAAG,gBAAgB,CAAC;YAClC,4EAA4E;YAC5E,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,2BAA2B;QAC3B,MAAM,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAExE,8DAA8D;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACpE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;QAElC,oBAAoB;QACpB,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEpC,wEAAwE;QACxE,MAAM,KAAK,GAAG,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACrD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAEzC,2DAA2D;QAC3D,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QAED,WAAW;QACX,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,kCAAkC,EAAE,CAAC,EAAE,EAAE,EAAE;QACjE,EAAE,CAAC,MAAM,CAAC,8CAA8C,EAAE,GAAG,EAAE,CAC7D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAC9F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,iCAAiC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1B,6DAA6D;YAC7D,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,uEAAuE;YACvE,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,8DAA8D;YAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACjC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;QACrF,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,mDAAmD,EAAE,GAAG,EAAE,CAClE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC;gBACjC,OAAO,EAAE,QAAQ;gBACjB,cAAc,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,iBAAiB,EAAE;aAC9D,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,0EAA0E;YAC1E,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAEhC,+BAA+B;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,2DAA2D,EAAE,GAAG,EAAE,CAC1E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAC9F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,mEAAmE;YACnE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YACtB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,2BAA2B;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,sDAAsD,EAAE,GAAG,EAAE,CACrE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA,CAAC,eAAe;YAEtH,MAAM,uBAAuB,GAAG,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC,CAAA;YAE9E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YACtB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;YAEhD,iEAAiE;YACjE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,kEAAkE,EAAE,GAAG,EAAE,CACjF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YAEpG,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAA;YACtF,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAA;YAExF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9E,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE5E,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,kDAAkD;YAClD,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE3B,oEAAoE;YACpE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAClF,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE3C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAClF,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC,CAAC,CACH,CAAA;QAED,yGAAyG;QACzG,0DAA0D;QAC1D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,mFAAmF,EAAE,GAAG,EAAE,CACvG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;YAEzD,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAA;YACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAExC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,mCAAmC;YACnC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEzF,OAAO,EAAE,CAAA;YACT,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,uEAAuE;YACvE,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1B,4CAA4C;YAC5C,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAE1B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,oDAAoD,EAAE,GAAG,EAAE,CACnE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAC9F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,4CAA4C;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACxC,OAAO,EAAE,CAAA;YACX,CAAC;YAED,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YACtB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,kDAAkD;YAClD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,kCAAkC,EAAE,GAAG,EAAE,CACjD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAC9F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,uCAAuC;YACvC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,CAAA;YAE5C,4CAA4C;YAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAExC,wCAAwC;YACxC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAE1B,oEAAoE;YACpE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1B,yCAAyC;YACzC,OAAO,EAAE,CAAA;YACT,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,4BAA4B;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,iEAAiE,EAAE,GAAG,EAAE,CAChF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAA;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAE9F,4DAA4D;YAC5D,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAA;YACzC,MAAM,OAAO,GAAG,gBAAgB,CAAC;gBAC/B,OAAO,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE,CACtB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAClB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;oBAC9B,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAQ;aACb,CAAC,CAAA;YAEF,+EAA+E;YAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACxC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,iEAAiE;YACjE,OAAO,EAAE,CAAA;YACT,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,2FAA2F;YAC3F,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,+EAA+E;YAC/E,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/F,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,gDAAgD;YAChD,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAE/C,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7B,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,+CAA+C,EAAE,GAAG,EAAE,CAC9D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAC9F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,iBAAiB;YACjB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,8CAA8C;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAExC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,mFAAmF;YACnF,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC,CAAA;YAE7C,6DAA6D;YAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1B,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,0DAA0D,EAAE,GAAG,EAAE,CACzE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAE9F,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YACzD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;YAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACtE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEtE,sCAAsC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAE/B,sCAAsC;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACvE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACvE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC5B,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAE5B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YACtB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,iCAAiC;YACjC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACzE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACzE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,0CAA0C,EAAE,GAAG,EAAE,CACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YACnG,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,sCAAsC;YACtC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YAE/E,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YAEtB,8DAA8D;YAC9D,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE3B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,4CAA4C,EAAE,GAAG,EAAE,CAC3D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAC9F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE5E,yBAAyB;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAElC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YACtB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,iEAAiE;YACjE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACzE,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC5C,CAAC,CAAC,CACH,CAAA;QAED,EAAE,CAAC,MAAM,CAAC,4DAA4D,EAAE,GAAG,EAAE,CAC3E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,eAAe,GAAG,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAuC,CAAA;YAC7E,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;YAC9F,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;YAElC,uDAAuD;YACvD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAEpE,qBAAqB;YACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAE1B,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;YACtB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;YAExC,yDAAyD;YACzD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACxE,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,YAA0D,EAAE,EAAE,EAAE,CACxF,YAAY,CAAC;IACX,OAAO,EAAE,YAAY;IACrB,MAAM;IACN,OAAO,EAAE,mBAAmB,EAAE;IAC9B,GAAG,SAAS;CACb,CAAC,CAAA"}
|
|
@@ -1,20 +1,40 @@
|
|
|
1
|
-
import { type Adapter, type BootStatus, type ClientSessionSyncProcessorSimulationParams, type MigrationsReport, UnexpectedError } from '@livestore/common';
|
|
2
|
-
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
3
|
-
import { Context, Deferred, Effect, Layer, OtelTracer, type Schema, Scope } from '@livestore/utils/effect';
|
|
4
1
|
import * as otel from '@opentelemetry/api';
|
|
5
|
-
import {
|
|
2
|
+
import { type Adapter, type BootStatus, type MigrationsReport, UnknownError, type LogConfig } from '@livestore/common';
|
|
3
|
+
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
4
|
+
import { Context, Deferred, Effect, Layer, OtelTracer, Schema, Scope } from '@livestore/utils/effect';
|
|
6
5
|
import type { LiveStoreContextRunning as LiveStoreContextRunning_, OtelOptions, ShutdownDeferred } from './store-types.ts';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
import { Store } from './store.ts';
|
|
7
|
+
declare global {
|
|
8
|
+
/** Store instances for console debugging */
|
|
9
|
+
var __debugLiveStore: Record<string, Store<any, any>> | undefined;
|
|
10
|
+
}
|
|
11
|
+
declare const LiveStoreContextRunning_base: Context.ServiceClass<LiveStoreContextRunning, "@livestore/livestore/effect/LiveStoreContextRunning", LiveStoreContextRunning_>;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Use `makeStoreContext()` from `@livestore/livestore/effect` instead.
|
|
14
|
+
* This service doesn't preserve schema types. See the Effect integration docs for migration.
|
|
15
|
+
*
|
|
16
|
+
* @example Migration
|
|
17
|
+
* ```ts
|
|
18
|
+
* // Before (untyped)
|
|
19
|
+
* import { LiveStoreContextRunning } from '@livestore/livestore/effect'
|
|
20
|
+
* const { store } = yield* LiveStoreContextRunning
|
|
21
|
+
*
|
|
22
|
+
* // After (typed)
|
|
23
|
+
* import { makeStoreContext } from '@livestore/livestore/effect'
|
|
24
|
+
* const AppStore = makeStoreContext<typeof schema>()('app')
|
|
25
|
+
* const { store } = yield* AppStore.Tag
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
11
28
|
export declare class LiveStoreContextRunning extends LiveStoreContextRunning_base {
|
|
12
|
-
static fromDeferred: Layer.Layer<LiveStoreContextRunning,
|
|
29
|
+
static fromDeferred: Layer.Layer<LiveStoreContextRunning, UnknownError, DeferredStoreContext>;
|
|
13
30
|
}
|
|
14
|
-
declare const DeferredStoreContext_base: Context.
|
|
31
|
+
declare const DeferredStoreContext_base: Context.ServiceClass<DeferredStoreContext, "@livestore/livestore/effect/DeferredStoreContext", Deferred.Deferred<LiveStoreContextRunning_, UnknownError>>;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use `StoreContext.DeferredTag` from `makeStoreContext()` instead.
|
|
34
|
+
*/
|
|
15
35
|
export declare class DeferredStoreContext extends DeferredStoreContext_base {
|
|
16
36
|
}
|
|
17
|
-
export type LiveStoreContextProps<TSchema extends LiveStoreSchema, TContext = {}> = {
|
|
37
|
+
export type LiveStoreContextProps<TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json> = {
|
|
18
38
|
schema: TSchema;
|
|
19
39
|
/**
|
|
20
40
|
* The `storeId` can be used to isolate multiple stores from each other.
|
|
@@ -37,16 +57,60 @@ export type LiveStoreContextProps<TSchema extends LiveStoreSchema, TContext = {}
|
|
|
37
57
|
disableDevtools?: boolean | 'auto';
|
|
38
58
|
onBootStatus?: (status: BootStatus) => void;
|
|
39
59
|
batchUpdates: (run: () => void) => void;
|
|
60
|
+
/**
|
|
61
|
+
* Schema describing the shape of the sync payload and used to encode it.
|
|
62
|
+
*
|
|
63
|
+
* - If omitted, `Schema.Json` is used (no additional typing/validation).
|
|
64
|
+
* - Prefer exporting a schema from your app (e.g. `export const SyncPayload = Schema.Struct({ authToken: Schema.String })`)
|
|
65
|
+
* and pass it here to get end-to-end type safety and validation.
|
|
66
|
+
*/
|
|
67
|
+
syncPayloadSchema?: TSyncPayloadSchema;
|
|
68
|
+
/**
|
|
69
|
+
* Payload that is sent to the sync backend when connecting
|
|
70
|
+
*
|
|
71
|
+
* - Its TypeScript type is inferred from `syncPayloadSchema` (i.e. `typeof SyncPayload.Type`).
|
|
72
|
+
* - At runtime this value is encoded with `syncPayloadSchema` before being handed to the adapter.
|
|
73
|
+
*
|
|
74
|
+
* Example:
|
|
75
|
+
* const SyncPayload = Schema.Struct({ authToken: Schema.String })
|
|
76
|
+
* useStore({ ..., syncPayloadSchema: SyncPayload, syncPayload: { authToken: '...' } })
|
|
77
|
+
*/
|
|
78
|
+
syncPayload?: TSyncPayloadSchema['Type'];
|
|
40
79
|
};
|
|
41
|
-
export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext = {}> {
|
|
80
|
+
export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json> extends LogConfig.LoggerOptions {
|
|
81
|
+
/** The LiveStore schema defining tables, events, and materializers. */
|
|
42
82
|
schema: TSchema;
|
|
83
|
+
/** Adapter used for data storage and synchronization. */
|
|
43
84
|
adapter: Adapter;
|
|
85
|
+
/**
|
|
86
|
+
* Unique identifier for the Store instance, stable for its lifetime.
|
|
87
|
+
*
|
|
88
|
+
* - **Valid characters**: Only alphanumeric characters, underscores (`_`), and hyphens (`-`)
|
|
89
|
+
* are allowed. Must match `/^[a-zA-Z0-9_-]+$/`.
|
|
90
|
+
* - **Globally unique**: Use globally unique IDs (e.g., nanoid) to prevent collisions across stores.
|
|
91
|
+
* - **Use namespaces**: Prefix to avoid collisions and for easier identification when debugging
|
|
92
|
+
* (e.g., `app-root`, `workspace-abc123`, `issue-456`)
|
|
93
|
+
*/
|
|
44
94
|
storeId: string;
|
|
95
|
+
/** User-defined context that will be attached to the created Store (e.g. for dependency injection). */
|
|
45
96
|
context?: TContext;
|
|
46
97
|
boot?: (store: Store<TSchema, TContext>, ctx: {
|
|
47
98
|
migrationsReport: MigrationsReport;
|
|
48
99
|
parentSpan: otel.Span;
|
|
49
100
|
}) => Effect.SyncOrPromiseOrEffect<void, unknown, OtelTracer.OtelTracer | LiveStoreContextRunning>;
|
|
101
|
+
onBootStatus?: (status: BootStatus) => void;
|
|
102
|
+
/**
|
|
103
|
+
* Needed in React so LiveStore can apply multiple events in a single render.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* // With React DOM
|
|
108
|
+
* import { unstable_batchedUpdates as batchUpdates } from 'react-dom'
|
|
109
|
+
*
|
|
110
|
+
* // With React Native
|
|
111
|
+
* import { unstable_batchedUpdates as batchUpdates } from 'react-native'
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
50
114
|
batchUpdates?: (run: () => void) => void;
|
|
51
115
|
/**
|
|
52
116
|
* Whether to disable devtools.
|
|
@@ -54,7 +118,6 @@ export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext =
|
|
|
54
118
|
* @default 'auto'
|
|
55
119
|
*/
|
|
56
120
|
disableDevtools?: boolean | 'auto';
|
|
57
|
-
onBootStatus?: (status: BootStatus) => void;
|
|
58
121
|
shutdownDeferred?: ShutdownDeferred;
|
|
59
122
|
/**
|
|
60
123
|
* Currently only used in the web adapter:
|
|
@@ -64,26 +127,40 @@ export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext =
|
|
|
64
127
|
*/
|
|
65
128
|
confirmUnsavedChanges?: boolean;
|
|
66
129
|
/**
|
|
67
|
-
*
|
|
130
|
+
* Schema describing the shape of the sync payload and used to encode it.
|
|
131
|
+
*
|
|
132
|
+
* - If omitted, `Schema.Json` is used (no additional typing/validation).
|
|
133
|
+
* - Prefer exporting a schema from your app (e.g. `export const SyncPayload = Schema.Struct({ authToken: Schema.String })`)
|
|
134
|
+
* and pass it here to get end-to-end type safety and validation.
|
|
135
|
+
*/
|
|
136
|
+
syncPayloadSchema?: TSyncPayloadSchema;
|
|
137
|
+
/**
|
|
138
|
+
* Payload that is sent to the sync backend when connecting
|
|
139
|
+
*
|
|
140
|
+
* - Its TypeScript type is inferred from `syncPayloadSchema` (i.e. `typeof SyncPayload.Type`).
|
|
141
|
+
* - At runtime this value is encoded with `syncPayloadSchema` and carried through the adapter
|
|
142
|
+
* to the backend where it can be decoded with the same schema.
|
|
68
143
|
*
|
|
69
144
|
* @default undefined
|
|
70
145
|
*/
|
|
71
|
-
syncPayload?:
|
|
146
|
+
syncPayload?: TSyncPayloadSchema['Type'];
|
|
147
|
+
/** Options provided to the Store constructor. */
|
|
72
148
|
params?: {
|
|
149
|
+
/** Max events pushed to the leader per write batch. */
|
|
73
150
|
leaderPushBatchSize?: number;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
};
|
|
151
|
+
/** Chunk size used when the stream replays confirmed events. */
|
|
152
|
+
eventQueryBatchSize?: number;
|
|
77
153
|
};
|
|
78
154
|
debug?: {
|
|
79
155
|
instanceId?: string;
|
|
80
156
|
};
|
|
81
157
|
}
|
|
82
|
-
|
|
83
|
-
export declare const createStorePromise: <TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}>({ signal, otelOptions, ...options }: CreateStoreOptions<TSchema, TContext> & {
|
|
158
|
+
export type CreateStoreOptionsPromise<TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json> = CreateStoreOptions<TSchema, TContext, TSyncPayloadSchema> & {
|
|
84
159
|
signal?: AbortSignal;
|
|
85
160
|
otelOptions?: Partial<OtelOptions>;
|
|
86
|
-
}
|
|
87
|
-
|
|
161
|
+
};
|
|
162
|
+
/** Create a new LiveStore Store */
|
|
163
|
+
export declare const createStorePromise: <TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json>({ signal, otelOptions, ...options }: CreateStoreOptionsPromise<TSchema, TContext, TSyncPayloadSchema>) => Promise<Store<TSchema, TContext>>;
|
|
164
|
+
export declare const createStore: <TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}, TSyncPayloadSchema extends Schema.Codec<Schema.Json, Schema.Json> = typeof Schema.Json>({ schema, adapter, storeId, context, boot, batchUpdates, disableDevtools, onBootStatus, shutdownDeferred, params, debug, confirmUnsavedChanges, syncPayload, syncPayloadSchema, }: CreateStoreOptions<TSchema, TContext, TSyncPayloadSchema>) => Effect.Effect<Store<TSchema, TContext>, UnknownError, Scope.Scope | OtelTracer.OtelTracer>;
|
|
88
165
|
export {};
|
|
89
166
|
//# sourceMappingURL=create-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store.d.ts","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-store.d.ts","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +1,101 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as otel from '@opentelemetry/api';
|
|
2
|
+
import { provideOtel, UnknownError, } from '@livestore/common';
|
|
2
3
|
import { isDevEnv, LS_DEV, omitUndefineds } from '@livestore/utils';
|
|
3
|
-
import { Context, Deferred, Effect, Exit, Fiber, identity, Layer,
|
|
4
|
+
import { Context, Deferred, Effect, Exit, Fiber, identity, Layer, OtelTracer, Queue, References, Schema, Scope, TaskTracing, } from '@livestore/utils/effect';
|
|
4
5
|
import { nanoid } from '@livestore/utils/nanoid';
|
|
5
|
-
import * as otel from '@opentelemetry/api';
|
|
6
6
|
import { connectDevtoolsToStore } from "./devtools.js";
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
import { StoreInternalsSymbol } from "./store-types.js";
|
|
8
|
+
import { STORE_DEFAULT_PARAMS, Store } from "./store.js";
|
|
9
|
+
/**
|
|
10
|
+
* Hard upper bound (ms) for the detached shutdown drain. A dead/unresponsive leader must not keep
|
|
11
|
+
* the drain (and therefore the lifetime scope) alive forever; after this bound the scope is
|
|
12
|
+
* force-closed. Kept comfortably above the 1s caller-side soft wait so that a still-progressing
|
|
13
|
+
* in-flight leader push is allowed to finish rather than being interrupted.
|
|
14
|
+
*/
|
|
15
|
+
const SHUTDOWN_DRAIN_HARD_TIMEOUT_MS = 30_000;
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Use `makeStoreContext()` from `@livestore/livestore/effect` instead.
|
|
18
|
+
* This service doesn't preserve schema types. See the Effect integration docs for migration.
|
|
19
|
+
*
|
|
20
|
+
* @example Migration
|
|
21
|
+
* ```ts
|
|
22
|
+
* // Before (untyped)
|
|
23
|
+
* import { LiveStoreContextRunning } from '@livestore/livestore/effect'
|
|
24
|
+
* const { store } = yield* LiveStoreContextRunning
|
|
25
|
+
*
|
|
26
|
+
* // After (typed)
|
|
27
|
+
* import { makeStoreContext } from '@livestore/livestore/effect'
|
|
28
|
+
* const AppStore = makeStoreContext<typeof schema>()('app')
|
|
29
|
+
* const { store } = yield* AppStore.Tag
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export class LiveStoreContextRunning extends Context.Service()('@livestore/livestore/effect/LiveStoreContextRunning') {
|
|
12
33
|
static fromDeferred = Effect.gen(function* () {
|
|
13
34
|
const deferred = yield* DeferredStoreContext;
|
|
14
|
-
const ctx = yield* deferred;
|
|
15
|
-
return Layer.succeed(LiveStoreContextRunning, ctx);
|
|
16
|
-
}).pipe(Layer.
|
|
35
|
+
const ctx = yield* Deferred.await(deferred);
|
|
36
|
+
return Layer.succeed(LiveStoreContextRunning, LiveStoreContextRunning.of(ctx));
|
|
37
|
+
}).pipe(Layer.unwrap);
|
|
17
38
|
}
|
|
18
|
-
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Use `StoreContext.DeferredTag` from `makeStoreContext()` instead.
|
|
41
|
+
*/
|
|
42
|
+
export class DeferredStoreContext extends Context.Service()('@livestore/livestore/effect/DeferredStoreContext') {
|
|
19
43
|
}
|
|
20
44
|
/** Create a new LiveStore Store */
|
|
21
45
|
export const createStorePromise = async ({ signal, otelOptions, ...options }) => Effect.gen(function* () {
|
|
22
46
|
const scope = yield* Scope.make();
|
|
23
|
-
const
|
|
47
|
+
const services = yield* Effect.context();
|
|
24
48
|
if (signal !== undefined) {
|
|
25
49
|
signal.addEventListener('abort', () => {
|
|
26
|
-
Scope.close(scope, Exit.void).pipe(Effect.tapCauseLogPretty,
|
|
50
|
+
Scope.close(scope, Exit.void).pipe(Effect.tapCauseLogPretty, Effect.runForkWith(services));
|
|
27
51
|
});
|
|
28
52
|
}
|
|
29
|
-
return yield* createStore({ ...options }).pipe(Scope.
|
|
53
|
+
return yield* createStore({ ...options }).pipe(Scope.provide(scope));
|
|
30
54
|
}).pipe(Effect.withSpan('createStore', {
|
|
31
55
|
attributes: { storeId: options.storeId, disableDevtools: options.disableDevtools },
|
|
32
|
-
}), provideOtel(omitUndefineds({ parentSpanContext: otelOptions?.rootSpanContext, otelTracer: otelOptions?.tracer })), Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: 'window' }), Effect.provide(
|
|
33
|
-
export const createStore = ({ schema, adapter, storeId, context = {}, boot, batchUpdates, disableDevtools, onBootStatus, shutdownDeferred, params, debug, confirmUnsavedChanges = true, syncPayload, }) => Effect.gen(function* () {
|
|
56
|
+
}), provideOtel(omitUndefineds({ parentSpanContext: otelOptions?.rootSpanContext, otelTracer: otelOptions?.tracer })), Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: 'window' }), Effect.provide(Layer.mergeAll(options.logger ?? Layer.empty, Layer.succeed(References.MinimumLogLevel, options.logLevel ?? (isDevEnv() === true ? 'Debug' : 'Info')))), Effect.runPromise);
|
|
57
|
+
export const createStore = ({ schema, adapter, storeId, context = {}, boot, batchUpdates, disableDevtools, onBootStatus, shutdownDeferred, params, debug, confirmUnsavedChanges = true, syncPayload, syncPayloadSchema, }) => Effect.gen(function* () {
|
|
34
58
|
const lifetimeScope = yield* Scope.make();
|
|
35
59
|
yield* validateStoreId(storeId);
|
|
36
60
|
yield* Effect.addFinalizer((_) => Scope.close(lifetimeScope, _));
|
|
37
61
|
const debugInstanceId = debug?.instanceId ?? nanoid(10);
|
|
62
|
+
const resolvedSyncPayloadSchema = (syncPayloadSchema ?? Schema.Json);
|
|
38
63
|
return yield* Effect.gen(function* () {
|
|
39
64
|
const span = yield* OtelTracer.currentOtelSpan.pipe(Effect.orDie);
|
|
40
65
|
const otelRootSpanContext = otel.trace.setSpan(otel.context.active(), span);
|
|
41
66
|
const otelTracer = yield* OtelTracer.OtelTracer;
|
|
42
|
-
const bootStatusQueue = yield* Queue.unbounded()
|
|
43
|
-
yield* Queue.take(bootStatusQueue).pipe(Effect.tapSync((status) => onBootStatus?.(status)), Effect.tap((status) =>
|
|
67
|
+
const bootStatusQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
|
|
68
|
+
yield* Queue.take(bootStatusQueue).pipe(Effect.tapSync((status) => onBootStatus?.(status)), Effect.tap((status) => status.stage === 'done' ? Queue.shutdown(bootStatusQueue).pipe(Effect.asVoid) : Effect.void), Effect.forever, Effect.tapCauseLogPretty, Effect.forkScoped);
|
|
44
69
|
const storeDeferred = yield* Deferred.make();
|
|
45
70
|
const connectDevtoolsToStore_ = (storeDevtoolsChannel) => Effect.gen(function* () {
|
|
46
|
-
const store = yield* storeDeferred;
|
|
71
|
+
const store = yield* Deferred.await(storeDeferred);
|
|
47
72
|
yield* connectDevtoolsToStore({ storeDevtoolsChannel, store });
|
|
48
73
|
});
|
|
49
|
-
const
|
|
74
|
+
const services = yield* Effect.context();
|
|
75
|
+
let shutdownSyncProcessor;
|
|
50
76
|
const shutdown = (exit) => Effect.gen(function* () {
|
|
51
|
-
|
|
52
|
-
if
|
|
77
|
+
// Hard outer bound on the DETACHED teardown: the processor drain `awaitEmpty`s the
|
|
78
|
+
// leader-push worker, which never completes if the leader is dead/unresponsive. Without a
|
|
79
|
+
// bound the drain would block forever, so `Scope.close(lifetimeScope)` (in `ensuring`)
|
|
80
|
+
// would never run and the lifetime scope + its resources would leak indefinitely (a later
|
|
81
|
+
// `createStore`/registry dispose on the same `storeId` would observe a never-closed store).
|
|
82
|
+
// Drain up to the bound, then force-close the scope regardless. The bound exceeds the
|
|
83
|
+
// caller-side wait below so an in-flight (but progressing) push is not cut short.
|
|
84
|
+
const closeFiber = yield* (shutdownSyncProcessor?.(exit) ?? Effect.void).pipe(Effect.timeout(SHUTDOWN_DRAIN_HARD_TIMEOUT_MS), Effect.catchTag('TimeoutError', () => Effect.logError(`@livestore/livestore:shutdown: drain exceeded hard bound of ${SHUTDOWN_DRAIN_HARD_TIMEOUT_MS}ms; forcing scope close`)), Effect.ensuring(Scope.close(lifetimeScope, exit)), Effect.forkDetach);
|
|
85
|
+
// Caller-side soft wait: stop blocking the shutdown() caller after 1s without cancelling
|
|
86
|
+
// the detached teardown above (which remains bounded by SHUTDOWN_DRAIN_HARD_TIMEOUT_MS).
|
|
87
|
+
yield* Fiber.join(closeFiber).pipe(Effect.logWarnIfTakesLongerThan({ label: '@livestore/livestore:shutdown', duration: 500 }), Effect.timeout(1000), Effect.catchTag('TimeoutError', () => Effect.logError('@livestore/livestore:shutdown: Timed out after 1 second')));
|
|
88
|
+
if (shutdownDeferred !== undefined) {
|
|
53
89
|
yield* Deferred.done(shutdownDeferred, exit);
|
|
54
90
|
}
|
|
55
91
|
yield* Effect.logDebug('LiveStore shutdown complete');
|
|
56
|
-
}).pipe(Effect.withSpan('@livestore/livestore:shutdown'), Effect.provide(
|
|
92
|
+
}).pipe(Effect.withSpan('@livestore/livestore:shutdown'), Effect.provide(services), Effect.tapCauseLogPretty,
|
|
57
93
|
// Given that the shutdown flow might also interrupt the effect that is calling the shutdown,
|
|
58
94
|
// we want to detach the shutdown effect so it's not interrupted by itself
|
|
59
95
|
Effect.runFork, Fiber.join);
|
|
96
|
+
const syncPayloadEncoded = syncPayload === undefined
|
|
97
|
+
? undefined
|
|
98
|
+
: yield* Schema.encodeEffect(resolvedSyncPayloadSchema)(syncPayload).pipe(UnknownError.mapToUnknownError);
|
|
60
99
|
const clientSession = yield* adapter({
|
|
61
100
|
schema,
|
|
62
101
|
storeId,
|
|
@@ -65,9 +104,10 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
65
104
|
shutdown,
|
|
66
105
|
connectDevtoolsToStore: connectDevtoolsToStore_,
|
|
67
106
|
debugInstanceId,
|
|
68
|
-
|
|
107
|
+
syncPayloadSchema: resolvedSyncPayloadSchema,
|
|
108
|
+
syncPayloadEncoded,
|
|
69
109
|
}).pipe(Effect.withPerformanceMeasure('livestore:makeAdapter'), Effect.withSpan('createStore:makeAdapter'));
|
|
70
|
-
if (LS_DEV && clientSession.leaderThread.initialState.migrationsReport.migrations.length > 0) {
|
|
110
|
+
if (LS_DEV === true && clientSession.leaderThread.initialState.migrationsReport.migrations.length > 0) {
|
|
71
111
|
yield* Effect.logDebug('[@livestore/livestore:createStore] migrationsReport', ...clientSession.leaderThread.initialState.migrationsReport.migrations.map((m) => m.hashes.actual === undefined
|
|
72
112
|
? `Table '${m.tableName}' doesn't exist yet. Creating table...`
|
|
73
113
|
: `Schema hash mismatch for table '${m.tableName}' (DB: ${m.hashes.actual}, expected: ${m.hashes.expected}), migrating table...`));
|
|
@@ -77,40 +117,48 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
77
117
|
schema,
|
|
78
118
|
context,
|
|
79
119
|
otelOptions: { tracer: otelTracer, rootSpanContext: otelRootSpanContext },
|
|
80
|
-
effectContext: { lifetimeScope,
|
|
120
|
+
effectContext: { lifetimeScope, services },
|
|
81
121
|
// TODO find a better way to detect if we're running LiveStore in the LiveStore devtools
|
|
82
122
|
// But for now this is a good enough approximation with little downsides
|
|
83
|
-
__runningInDevtools: getDevtoolsEnabled(disableDevtools)
|
|
123
|
+
__runningInDevtools: !getDevtoolsEnabled(disableDevtools),
|
|
84
124
|
confirmUnsavedChanges,
|
|
85
125
|
// NOTE during boot we're not yet executing events in a batched context
|
|
86
126
|
// but only set the provided `batchUpdates` function after boot
|
|
87
127
|
batchUpdates: (run) => run(),
|
|
88
128
|
storeId,
|
|
89
129
|
params: {
|
|
90
|
-
leaderPushBatchSize: params?.leaderPushBatchSize ??
|
|
91
|
-
|
|
130
|
+
leaderPushBatchSize: params?.leaderPushBatchSize ?? STORE_DEFAULT_PARAMS.leaderPushBatchSize,
|
|
131
|
+
eventQueryBatchSize: params?.eventQueryBatchSize ?? STORE_DEFAULT_PARAMS.eventQueryBatchSize,
|
|
92
132
|
},
|
|
93
133
|
});
|
|
134
|
+
shutdownSyncProcessor = store[StoreInternalsSymbol].syncProcessor.shutdown;
|
|
94
135
|
// Starts background fibers (syncing, event processing, etc) for store
|
|
95
|
-
yield* store.boot;
|
|
136
|
+
yield* store[StoreInternalsSymbol].boot;
|
|
96
137
|
if (boot !== undefined) {
|
|
97
138
|
// TODO also incorporate `boot` function progress into `bootStatusQueue`
|
|
98
|
-
|
|
139
|
+
// @effect-diagnostics-next-line anyUnknownInErrorContext:off -- user boot errors are immediately normalized to LiveStore UnknownError
|
|
140
|
+
yield* Effect.trySyncOrPromiseOrEffect(() => boot(store, { migrationsReport: clientSession.leaderThread.initialState.migrationsReport, parentSpan: span })).pipe(UnknownError.mapToUnknownError, Effect.provide(Layer.succeed(LiveStoreContextRunning, LiveStoreContextRunning.of({ stage: 'running', store: store }))), Effect.withSpan('createStore:boot'));
|
|
99
141
|
}
|
|
100
142
|
// NOTE it's important to yield here to allow the forked Effect in the store constructor to run
|
|
101
|
-
yield* Effect.yieldNow
|
|
143
|
+
yield* Effect.yieldNow;
|
|
102
144
|
if (batchUpdates !== undefined) {
|
|
103
145
|
// Replacing the default batchUpdates function with the provided one after boot
|
|
104
|
-
store.reactivityGraph.context.effectsWrapper = batchUpdates;
|
|
146
|
+
store[StoreInternalsSymbol].reactivityGraph.context.effectsWrapper = batchUpdates;
|
|
105
147
|
}
|
|
106
148
|
yield* Deferred.succeed(storeDeferred, store);
|
|
149
|
+
// Expose store on globalThis for console debugging
|
|
150
|
+
globalThis.__debugLiveStore ??= {};
|
|
151
|
+
globalThis.__debugLiveStore[storeId] = store;
|
|
152
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => {
|
|
153
|
+
delete globalThis.__debugLiveStore?.[storeId];
|
|
154
|
+
}));
|
|
107
155
|
return store;
|
|
108
|
-
}).pipe(Effect.withSpan('createStore', { attributes: { debugInstanceId, storeId } }), Effect.annotateLogs({ debugInstanceId, storeId }), LS_DEV ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity, Scope.
|
|
156
|
+
}).pipe(Effect.withSpan('createStore', { attributes: { debugInstanceId, storeId } }), Effect.annotateLogs({ debugInstanceId, storeId }), LS_DEV === true ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity, Scope.provide(lifetimeScope));
|
|
109
157
|
});
|
|
110
158
|
const validateStoreId = (storeId) => Effect.gen(function* () {
|
|
111
159
|
const validChars = /^[a-zA-Z0-9_-]+$/;
|
|
112
|
-
if (
|
|
113
|
-
return yield*
|
|
160
|
+
if (validChars.test(storeId) === false) {
|
|
161
|
+
return yield* UnknownError.make({
|
|
114
162
|
cause: `Invalid storeId: ${storeId}. Only alphanumeric characters, underscores, and hyphens are allowed.`,
|
|
115
163
|
payload: { storeId },
|
|
116
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,OAAO,EASL,WAAW,EAEX,YAAY,GAEb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,UAAU,EACV,MAAM,EACN,KAAK,EACL,WAAW,GACZ,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAMtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAExD;;;;;GAKG;AACH,MAAM,8BAA8B,GAAG,MAAM,CAAA;AAO7C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,uBAAwB,SAAQ,OAAO,CAAC,OAAO,EAAqD,CAC/G,qDAAqD,CACtD;IACC,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAA;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IAChF,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;;AAGvB;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,OAAO,CAAC,OAAO,EAGtD,CAAC,kDAAkD,CAAC;CAAG;AAoJ1D,mCAAmC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAIrC,EACA,MAAM,EACN,WAAW,EACX,GAAG,OAAO,EACuD,EAAqC,EAAE,CACxG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAExC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC5F,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;AACtE,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE;IAC7B,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;CACnF,CAAC,EACF,WAAW,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,EACjH,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EACzC,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,QAAQ,CACZ,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAC7B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACxG,CACF,EACD,MAAM,CAAC,UAAU,CAClB,CAAA;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAIzB,EACA,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,GAAG,EAAc,EACxB,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,KAAK,EACL,qBAAqB,GAAG,IAAI,EAC5B,WAAW,EACX,iBAAiB,GACyC,EAI1D,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAEzC,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAE/B,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA;IAEhE,MAAM,eAAe,GAAG,KAAK,EAAE,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC,CAAA;IACvD,MAAM,yBAAyB,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAuB,CAAA;IAE1F,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACjE,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAA;QAC3E,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;QAE/C,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEnG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CACrC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,EAClD,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpB,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAC5F,EACD,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,UAAU,CAClB,CAAA;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAS,CAAA;QAEnD,MAAM,uBAAuB,GAAG,CAAC,oBAAkD,EAAE,EAAE,CACrF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YAClD,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;QAEJ,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAe,CAAA;QACrD,IAAI,qBAA+F,CAAA;QAEnG,MAAM,QAAQ,GAAG,CACf,IAAmG,EACnG,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,mFAAmF;YACnF,0FAA0F;YAC1F,uFAAuF;YACvF,0FAA0F;YAC1F,4FAA4F;YAC5F,sFAAsF;YACtF,kFAAkF;YAClF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAC3E,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,EAC9C,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CACnC,MAAM,CAAC,QAAQ,CACb,+DAA+D,8BAA8B,yBAAyB,CACvH,CACF,EACD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,EACjD,MAAM,CAAC,UAAU,CAClB,CAAA;YACD,yFAAyF;YACzF,yFAAyF;YACzF,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAChC,MAAM,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,+BAA+B,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAC1F,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EACpB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CACnC,MAAM,CAAC,QAAQ,CAAC,yDAAyD,CAAC,CAC3E,CACF,CAAA;YAED,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;YAC9C,CAAC;YAED,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAA;QACvD,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAChD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EACxB,MAAM,CAAC,iBAAiB;QACxB,6FAA6F;QAC7F,0EAA0E;QAC1E,MAAM,CAAC,OAAO,EACd,KAAK,CAAC,IAAI,CACX,CAAA;QAEH,MAAM,kBAAkB,GACtB,WAAW,KAAK,SAAS;YACvB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;QAE7G,MAAM,aAAa,GAAkB,KAAK,CAAC,CAAC,OAAO,CAAC;YAClD,MAAM;YACN,OAAO;YACP,eAAe,EAAE,kBAAkB,CAAC,eAAe,CAAC;YACpD,eAAe;YACf,QAAQ;YACR,sBAAsB,EAAE,uBAAuB;YAC/C,eAAe;YACf,iBAAiB,EAAE,yBAAyB;YAC5C,kBAAkB;SACnB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAA;QAE3G,IAAI,MAAM,KAAK,IAAI,IAAI,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtG,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CACpB,qDAAqD,EACrD,GAAG,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/E,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC3B,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,wCAAwC;gBAC/D,CAAC,CAAC,mCAAmC,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC,MAAM,CAAC,QAAQ,uBAAuB,CACnI,CACF,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAoB;YACzC,aAAa;YACb,MAAM;YACN,OAAO;YACP,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE;YACzE,aAAa,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE;YAC1C,wFAAwF;YACxF,wEAAwE;YACxE,mBAAmB,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC;YACzD,qBAAqB;YACrB,uEAAuE;YACvE,+DAA+D;YAC/D,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE;YAC5B,OAAO;YACP,MAAM,EAAE;gBACN,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,IAAI,oBAAoB,CAAC,mBAAmB;gBAC5F,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,IAAI,oBAAoB,CAAC,mBAAmB;aAC7F;SACF,CAAC,CAAA;QACF,qBAAqB,GAAG,KAAK,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAA;QAE1E,sEAAsE;QACtE,KAAK,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAA;QAEvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,wEAAwE;YACxE,sIAAsI;YACtI,KAAK,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAC1C,IAAI,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAC9G,CAAC,IAAI,CACJ,YAAY,CAAC,iBAAiB,EAC9B,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,OAAO,CACX,uBAAuB,EACvB,uBAAuB,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAqB,EAAE,CAAC,CAC/E,CACF,EACD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CACpC,CAAA;QACH,CAAC;QAED,+FAA+F;QAC/F,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;QAEtB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,+EAA+E;YAC/E,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,OAAQ,CAAC,cAAc,GAAG,YAAY,CAAA;QACpF,CAAC;QAED,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAqB,CAAC,CAAA;QAE7D,mDAAmD;QACnD,UAAU,CAAC,gBAAgB,KAAK,EAAE,CAAA;QAClC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;QAE5C,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAC9B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,OAAO,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAC,CACH,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC,EAC5E,MAAM,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,EACjD,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,OAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAC7G,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAC7B,CAAA;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAC1C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,kBAAkB,CAAA;IAErC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,oBAAoB,OAAO,uEAAuE;YACzG,OAAO,EAAE,EAAE,OAAO,EAAE;SACrB,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,kBAAkB,GAAG,CAAC,eAA6C,EAAE,EAAE;IAC3E,6CAA6C;IAC7C,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;QAC1D,OAAO,CAAC,eAAe,CAAA;IACzB,CAAC;IAED,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
package/dist/store/devtools.d.ts
CHANGED
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
|
|
5
|
-
import type { LiveQuery, ReactivityGraph } from '../live-queries/base-class.ts';
|
|
6
|
-
import type { SqliteDbWrapper } from '../SqliteDbWrapper.ts';
|
|
7
|
-
import type { ReferenceCountedSet } from '../utils/data-structures.ts';
|
|
8
|
-
type IStore = {
|
|
9
|
-
clientSession: ClientSession;
|
|
10
|
-
reactivityGraph: ReactivityGraph;
|
|
11
|
-
sqliteDbWrapper: SqliteDbWrapper;
|
|
12
|
-
activeQueries: ReferenceCountedSet<LiveQuery<any>>;
|
|
13
|
-
syncProcessor: ClientSessionSyncProcessor;
|
|
14
|
-
};
|
|
15
|
-
export declare const connectDevtoolsToStore: ({ storeDevtoolsChannel, store, }: {
|
|
1
|
+
import { Devtools, UnknownError } from '@livestore/common';
|
|
2
|
+
import { type WebChannel, Effect } from '@livestore/utils/effect';
|
|
3
|
+
import type { Store } from './store.ts';
|
|
4
|
+
export declare const connectDevtoolsToStore: (args_0: {
|
|
16
5
|
storeDevtoolsChannel: WebChannel.WebChannel<Devtools.ClientSession.MessageToApp, Devtools.ClientSession.MessageFromApp>;
|
|
17
|
-
store:
|
|
18
|
-
}) => Effect.Effect<void,
|
|
19
|
-
export {};
|
|
6
|
+
store: Store;
|
|
7
|
+
}) => Effect.Effect<void, UnknownError, import("effect/Scope").Scope>;
|
|
20
8
|
//# sourceMappingURL=devtools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/store/devtools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/store/devtools.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EAKR,YAAY,EACb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,EAAU,MAAM,yBAAyB,CAAA;AAMzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAevC,eAAO,MAAM,sBAAsB;0BAIX,UAAU,CAAC,UAAU,CACzC,QAAQ,CAAC,aAAa,CAAC,YAAY,EACnC,QAAQ,CAAC,aAAa,CAAC,cAAc,CACtC;WACM,KAAK;qEAqUoB,CAAA"}
|