@livestore/common 0.3.0-dev.3 → 0.3.0-dev.31
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/dist/.tsbuildinfo +1 -1
- package/dist/__tests__/fixture.d.ts +83 -221
- package/dist/__tests__/fixture.d.ts.map +1 -1
- package/dist/__tests__/fixture.js +33 -11
- package/dist/__tests__/fixture.js.map +1 -1
- package/dist/adapter-types.d.ts +128 -68
- package/dist/adapter-types.d.ts.map +1 -1
- package/dist/adapter-types.js +36 -7
- package/dist/adapter-types.js.map +1 -1
- package/dist/bounded-collections.d.ts.map +1 -1
- package/dist/debug-info.d.ts +1 -1
- package/dist/debug-info.d.ts.map +1 -1
- package/dist/debug-info.js +1 -0
- package/dist/debug-info.js.map +1 -1
- package/dist/devtools/devtools-messages-client-session.d.ts +389 -0
- package/dist/devtools/devtools-messages-client-session.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-client-session.js +96 -0
- package/dist/devtools/devtools-messages-client-session.js.map +1 -0
- package/dist/devtools/devtools-messages-common.d.ts +68 -0
- package/dist/devtools/devtools-messages-common.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-common.js +60 -0
- package/dist/devtools/devtools-messages-common.js.map +1 -0
- package/dist/devtools/devtools-messages-leader.d.ts +394 -0
- package/dist/devtools/devtools-messages-leader.d.ts.map +1 -0
- package/dist/devtools/devtools-messages-leader.js +147 -0
- package/dist/devtools/devtools-messages-leader.js.map +1 -0
- package/dist/devtools/devtools-messages.d.ts +3 -592
- package/dist/devtools/devtools-messages.d.ts.map +1 -1
- package/dist/devtools/devtools-messages.js +3 -171
- package/dist/devtools/devtools-messages.js.map +1 -1
- package/dist/devtools/devtools-sessioninfo.d.ts +28 -0
- package/dist/devtools/devtools-sessioninfo.d.ts.map +1 -0
- package/dist/devtools/devtools-sessioninfo.js +34 -0
- package/dist/devtools/devtools-sessioninfo.js.map +1 -0
- package/dist/devtools/mod.d.ts +39 -0
- package/dist/devtools/mod.d.ts.map +1 -0
- package/dist/devtools/mod.js +27 -0
- package/dist/devtools/mod.js.map +1 -0
- package/dist/index.d.ts +4 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -7
- package/dist/index.js.map +1 -1
- package/dist/leader-thread/LeaderSyncProcessor.d.ts +62 -0
- package/dist/leader-thread/LeaderSyncProcessor.d.ts.map +1 -0
- package/dist/leader-thread/LeaderSyncProcessor.js +589 -0
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -0
- package/dist/leader-thread/apply-event.d.ts +16 -0
- package/dist/leader-thread/apply-event.d.ts.map +1 -0
- package/dist/leader-thread/apply-event.js +103 -0
- package/dist/leader-thread/apply-event.js.map +1 -0
- package/dist/leader-thread/connection.d.ts +34 -6
- package/dist/leader-thread/connection.d.ts.map +1 -1
- package/dist/leader-thread/connection.js +22 -7
- package/dist/leader-thread/connection.js.map +1 -1
- package/dist/leader-thread/eventlog.d.ts +27 -0
- package/dist/leader-thread/eventlog.d.ts.map +1 -0
- package/dist/leader-thread/eventlog.js +123 -0
- package/dist/leader-thread/eventlog.js.map +1 -0
- package/dist/leader-thread/leader-worker-devtools.d.ts +1 -1
- package/dist/leader-thread/leader-worker-devtools.d.ts.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +154 -132
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.d.ts +26 -12
- package/dist/leader-thread/make-leader-thread-layer.d.ts.map +1 -1
- package/dist/leader-thread/make-leader-thread-layer.js +82 -47
- package/dist/leader-thread/make-leader-thread-layer.js.map +1 -1
- package/dist/leader-thread/mod.d.ts +1 -1
- package/dist/leader-thread/mod.d.ts.map +1 -1
- package/dist/leader-thread/mod.js +1 -1
- package/dist/leader-thread/mod.js.map +1 -1
- package/dist/leader-thread/recreate-db.d.ts +4 -2
- package/dist/leader-thread/recreate-db.d.ts.map +1 -1
- package/dist/leader-thread/recreate-db.js +35 -25
- package/dist/leader-thread/recreate-db.js.map +1 -1
- package/dist/leader-thread/shutdown-channel.d.ts +2 -5
- package/dist/leader-thread/shutdown-channel.d.ts.map +1 -1
- package/dist/leader-thread/shutdown-channel.js +2 -4
- package/dist/leader-thread/shutdown-channel.js.map +1 -1
- package/dist/leader-thread/types.d.ts +86 -39
- package/dist/leader-thread/types.d.ts.map +1 -1
- package/dist/leader-thread/types.js +1 -3
- package/dist/leader-thread/types.js.map +1 -1
- package/dist/materializer-helper.d.ts +23 -0
- package/dist/materializer-helper.d.ts.map +1 -0
- package/dist/materializer-helper.js +70 -0
- package/dist/materializer-helper.js.map +1 -0
- package/dist/otel.d.ts +2 -0
- package/dist/otel.d.ts.map +1 -1
- package/dist/otel.js +5 -0
- package/dist/otel.js.map +1 -1
- package/dist/query-builder/api.d.ts +158 -55
- package/dist/query-builder/api.d.ts.map +1 -1
- package/dist/query-builder/api.js +3 -5
- package/dist/query-builder/api.js.map +1 -1
- package/dist/query-builder/astToSql.d.ts +7 -0
- package/dist/query-builder/astToSql.d.ts.map +1 -0
- package/dist/query-builder/astToSql.js +190 -0
- package/dist/query-builder/astToSql.js.map +1 -0
- package/dist/query-builder/impl.d.ts +3 -8
- package/dist/query-builder/impl.d.ts.map +1 -1
- package/dist/query-builder/impl.js +166 -124
- package/dist/query-builder/impl.js.map +1 -1
- package/dist/query-builder/impl.test.d.ts +86 -1
- package/dist/query-builder/impl.test.d.ts.map +1 -1
- package/dist/query-builder/impl.test.js +411 -69
- package/dist/query-builder/impl.test.js.map +1 -1
- package/dist/query-builder/mod.d.ts +7 -0
- package/dist/query-builder/mod.d.ts.map +1 -1
- package/dist/query-builder/mod.js +7 -0
- package/dist/query-builder/mod.js.map +1 -1
- package/dist/rehydrate-from-eventlog.d.ts +14 -0
- package/dist/rehydrate-from-eventlog.d.ts.map +1 -0
- package/dist/rehydrate-from-eventlog.js +65 -0
- package/dist/rehydrate-from-eventlog.js.map +1 -0
- package/dist/schema/EventDef.d.ts +136 -0
- package/dist/schema/EventDef.d.ts.map +1 -0
- package/dist/schema/EventDef.js +58 -0
- package/dist/schema/EventDef.js.map +1 -0
- package/dist/schema/EventId.d.ts +35 -15
- package/dist/schema/EventId.d.ts.map +1 -1
- package/dist/schema/EventId.js +57 -11
- package/dist/schema/EventId.js.map +1 -1
- package/dist/schema/EventId.test.d.ts +2 -0
- package/dist/schema/EventId.test.d.ts.map +1 -0
- package/dist/schema/EventId.test.js +11 -0
- package/dist/schema/EventId.test.js.map +1 -0
- package/dist/schema/LiveStoreEvent.d.ts +255 -0
- package/dist/schema/LiveStoreEvent.d.ts.map +1 -0
- package/dist/schema/LiveStoreEvent.js +118 -0
- package/dist/schema/LiveStoreEvent.js.map +1 -0
- package/dist/schema/client-document-def.d.ts +223 -0
- package/dist/schema/client-document-def.d.ts.map +1 -0
- package/dist/schema/client-document-def.js +170 -0
- package/dist/schema/client-document-def.js.map +1 -0
- package/dist/schema/client-document-def.test.d.ts +2 -0
- package/dist/schema/client-document-def.test.d.ts.map +1 -0
- package/dist/schema/client-document-def.test.js +201 -0
- package/dist/schema/client-document-def.test.js.map +1 -0
- package/dist/schema/db-schema/ast/sqlite.d.ts +69 -0
- package/dist/schema/db-schema/ast/sqlite.d.ts.map +1 -0
- package/dist/schema/db-schema/ast/sqlite.js +71 -0
- package/dist/schema/db-schema/ast/sqlite.js.map +1 -0
- package/dist/schema/db-schema/ast/validate.d.ts +3 -0
- package/dist/schema/db-schema/ast/validate.d.ts.map +1 -0
- package/dist/schema/db-schema/ast/validate.js +12 -0
- package/dist/schema/db-schema/ast/validate.js.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.d.ts +90 -0
- package/dist/schema/db-schema/dsl/field-defs.d.ts.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.js +87 -0
- package/dist/schema/db-schema/dsl/field-defs.js.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.test.d.ts +2 -0
- package/dist/schema/db-schema/dsl/field-defs.test.d.ts.map +1 -0
- package/dist/schema/db-schema/dsl/field-defs.test.js +29 -0
- package/dist/schema/db-schema/dsl/field-defs.test.js.map +1 -0
- package/dist/schema/db-schema/dsl/mod.d.ts +90 -0
- package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -0
- package/dist/schema/db-schema/dsl/mod.js +41 -0
- package/dist/schema/db-schema/dsl/mod.js.map +1 -0
- package/dist/schema/db-schema/hash.d.ts +2 -0
- package/dist/schema/db-schema/hash.d.ts.map +1 -0
- package/dist/schema/db-schema/hash.js +14 -0
- package/dist/schema/db-schema/hash.js.map +1 -0
- package/dist/schema/db-schema/mod.d.ts +3 -0
- package/dist/schema/db-schema/mod.d.ts.map +1 -0
- package/dist/schema/db-schema/mod.js +3 -0
- package/dist/schema/db-schema/mod.js.map +1 -0
- package/dist/schema/events.d.ts +2 -0
- package/dist/schema/events.d.ts.map +1 -0
- package/dist/schema/events.js +2 -0
- package/dist/schema/events.js.map +1 -0
- package/dist/schema/mod.d.ts +5 -3
- package/dist/schema/mod.d.ts.map +1 -1
- package/dist/schema/mod.js +5 -3
- package/dist/schema/mod.js.map +1 -1
- package/dist/schema/schema-helpers.d.ts.map +1 -1
- package/dist/schema/schema-helpers.js +1 -1
- package/dist/schema/schema-helpers.js.map +1 -1
- package/dist/schema/schema.d.ts +30 -23
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +48 -35
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/sqlite-state.d.ts +12 -0
- package/dist/schema/sqlite-state.d.ts.map +1 -0
- package/dist/schema/sqlite-state.js +36 -0
- package/dist/schema/sqlite-state.js.map +1 -0
- package/dist/schema/system-tables.d.ts +179 -125
- package/dist/schema/system-tables.d.ts.map +1 -1
- package/dist/schema/system-tables.js +76 -41
- package/dist/schema/system-tables.js.map +1 -1
- package/dist/schema/table-def.d.ts +37 -109
- package/dist/schema/table-def.d.ts.map +1 -1
- package/dist/schema/table-def.js +23 -66
- package/dist/schema/table-def.js.map +1 -1
- package/dist/schema/view.d.ts +3 -0
- package/dist/schema/view.d.ts.map +1 -0
- package/dist/schema/view.js +3 -0
- package/dist/schema/view.js.map +1 -0
- package/dist/schema-management/common.d.ts +7 -7
- package/dist/schema-management/common.d.ts.map +1 -1
- package/dist/schema-management/common.js.map +1 -1
- package/dist/schema-management/migrations.d.ts +6 -6
- package/dist/schema-management/migrations.d.ts.map +1 -1
- package/dist/schema-management/migrations.js +19 -14
- package/dist/schema-management/migrations.js.map +1 -1
- package/dist/schema-management/validate-mutation-defs.d.ts +3 -3
- package/dist/schema-management/validate-mutation-defs.d.ts.map +1 -1
- package/dist/schema-management/validate-mutation-defs.js +17 -17
- package/dist/schema-management/validate-mutation-defs.js.map +1 -1
- package/dist/sql-queries/misc.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.d.ts +1 -1
- package/dist/sql-queries/sql-queries.d.ts.map +1 -1
- package/dist/sql-queries/sql-queries.js.map +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts +1 -1
- package/dist/sql-queries/sql-query-builder.d.ts.map +1 -1
- package/dist/sql-queries/sql-query-builder.js.map +1 -1
- package/dist/sql-queries/types.d.ts +2 -1
- package/dist/sql-queries/types.d.ts.map +1 -1
- package/dist/sql-queries/types.js.map +1 -1
- package/dist/sync/ClientSessionSyncProcessor.d.ts +66 -0
- package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -0
- package/dist/sync/ClientSessionSyncProcessor.js +209 -0
- package/dist/sync/ClientSessionSyncProcessor.js.map +1 -0
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/next/compact-events.d.ts.map +1 -1
- package/dist/sync/next/facts.d.ts +19 -19
- package/dist/sync/next/facts.d.ts.map +1 -1
- package/dist/sync/next/facts.js +3 -3
- package/dist/sync/next/facts.js.map +1 -1
- package/dist/sync/next/history-dag-common.d.ts +6 -7
- package/dist/sync/next/history-dag-common.d.ts.map +1 -1
- package/dist/sync/next/history-dag-common.js +4 -2
- package/dist/sync/next/history-dag-common.js.map +1 -1
- package/dist/sync/next/history-dag.d.ts.map +1 -1
- package/dist/sync/next/history-dag.js +2 -2
- package/dist/sync/next/history-dag.js.map +1 -1
- package/dist/sync/next/rebase-events.d.ts +10 -8
- package/dist/sync/next/rebase-events.d.ts.map +1 -1
- package/dist/sync/next/rebase-events.js +11 -8
- package/dist/sync/next/rebase-events.js.map +1 -1
- package/dist/sync/next/test/compact-events.calculator.test.js +38 -33
- package/dist/sync/next/test/compact-events.calculator.test.js.map +1 -1
- package/dist/sync/next/test/compact-events.test.js +76 -76
- package/dist/sync/next/test/compact-events.test.js.map +1 -1
- package/dist/sync/next/test/{mutation-fixtures.d.ts → event-fixtures.d.ts} +29 -29
- package/dist/sync/next/test/event-fixtures.d.ts.map +1 -0
- package/dist/sync/next/test/{mutation-fixtures.js → event-fixtures.js} +67 -36
- package/dist/sync/next/test/event-fixtures.js.map +1 -0
- package/dist/sync/next/test/mod.d.ts +1 -1
- package/dist/sync/next/test/mod.d.ts.map +1 -1
- package/dist/sync/next/test/mod.js +1 -1
- package/dist/sync/next/test/mod.js.map +1 -1
- package/dist/sync/sync.d.ts +55 -20
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js +7 -3
- package/dist/sync/sync.js.map +1 -1
- package/dist/sync/syncstate.d.ts +213 -82
- package/dist/sync/syncstate.d.ts.map +1 -1
- package/dist/sync/syncstate.js +319 -120
- package/dist/sync/syncstate.js.map +1 -1
- package/dist/sync/syncstate.test.js +295 -275
- package/dist/sync/syncstate.test.js.map +1 -1
- package/dist/sync/validate-push-payload.d.ts +2 -2
- package/dist/sync/validate-push-payload.d.ts.map +1 -1
- package/dist/sync/validate-push-payload.js +2 -2
- package/dist/sync/validate-push-payload.js.map +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +6 -6
- package/src/__tests__/fixture.ts +36 -15
- package/src/adapter-types.ts +111 -74
- package/src/debug-info.ts +1 -0
- package/src/devtools/devtools-messages-client-session.ts +141 -0
- package/src/devtools/devtools-messages-common.ts +115 -0
- package/src/devtools/devtools-messages-leader.ts +191 -0
- package/src/devtools/devtools-messages.ts +3 -243
- package/src/devtools/devtools-sessioninfo.ts +99 -0
- package/src/devtools/mod.ts +36 -0
- package/src/index.ts +4 -13
- package/src/leader-thread/LeaderSyncProcessor.ts +935 -0
- package/src/leader-thread/apply-event.ts +173 -0
- package/src/leader-thread/connection.ts +54 -9
- package/src/leader-thread/eventlog.ts +199 -0
- package/src/leader-thread/leader-worker-devtools.ts +212 -189
- package/src/leader-thread/make-leader-thread-layer.ts +143 -77
- package/src/leader-thread/mod.ts +1 -1
- package/src/leader-thread/recreate-db.ts +41 -30
- package/src/leader-thread/shutdown-channel.ts +2 -4
- package/src/leader-thread/types.ts +95 -51
- package/src/materializer-helper.ts +110 -0
- package/src/otel.ts +8 -0
- package/src/query-builder/api.ts +236 -85
- package/src/query-builder/astToSql.ts +232 -0
- package/src/query-builder/impl.test.ts +447 -78
- package/src/query-builder/impl.ts +209 -144
- package/src/query-builder/mod.ts +7 -0
- package/src/rehydrate-from-eventlog.ts +114 -0
- package/src/schema/EventDef.ts +216 -0
- package/src/schema/EventId.test.ts +12 -0
- package/src/schema/EventId.ts +75 -15
- package/src/schema/LiveStoreEvent.ts +239 -0
- package/src/schema/client-document-def.test.ts +239 -0
- package/src/schema/client-document-def.ts +444 -0
- package/src/schema/db-schema/ast/sqlite.ts +142 -0
- package/src/schema/db-schema/ast/validate.ts +13 -0
- package/src/schema/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +206 -0
- package/src/schema/db-schema/dsl/field-defs.test.ts +35 -0
- package/src/schema/db-schema/dsl/field-defs.ts +242 -0
- package/src/schema/db-schema/dsl/mod.ts +222 -0
- package/src/schema/db-schema/hash.ts +14 -0
- package/src/schema/db-schema/mod.ts +2 -0
- package/src/schema/events.ts +1 -0
- package/src/schema/mod.ts +5 -3
- package/src/schema/schema-helpers.ts +1 -1
- package/src/schema/schema.ts +84 -62
- package/src/schema/sqlite-state.ts +62 -0
- package/src/schema/system-tables.ts +68 -50
- package/src/schema/table-def.ts +68 -214
- package/src/schema/view.ts +2 -0
- package/src/schema-management/common.ts +7 -7
- package/src/schema-management/migrations.ts +27 -24
- package/src/schema-management/validate-mutation-defs.ts +22 -24
- package/src/sql-queries/sql-queries.ts +1 -1
- package/src/sql-queries/sql-query-builder.ts +1 -2
- package/src/sql-queries/types.ts +3 -1
- package/src/sync/ClientSessionSyncProcessor.ts +332 -0
- package/src/sync/index.ts +1 -1
- package/src/sync/next/facts.ts +32 -33
- package/src/sync/next/history-dag-common.ts +9 -5
- package/src/sync/next/history-dag.ts +2 -2
- package/src/sync/next/rebase-events.ts +22 -16
- package/src/sync/next/test/compact-events.calculator.test.ts +45 -45
- package/src/sync/next/test/compact-events.test.ts +78 -78
- package/src/sync/next/test/event-fixtures.ts +219 -0
- package/src/sync/next/test/mod.ts +1 -1
- package/src/sync/sync.ts +51 -19
- package/src/sync/syncstate.test.ts +335 -308
- package/src/sync/syncstate.ts +394 -212
- package/src/sync/validate-push-payload.ts +7 -4
- package/src/version.ts +1 -1
- package/tmp/pack.tgz +0 -0
- package/tsconfig.json +2 -1
- package/dist/derived-mutations.d.ts +0 -109
- package/dist/derived-mutations.d.ts.map +0 -1
- package/dist/derived-mutations.js +0 -54
- package/dist/derived-mutations.js.map +0 -1
- package/dist/derived-mutations.test.d.ts +0 -2
- package/dist/derived-mutations.test.d.ts.map +0 -1
- package/dist/derived-mutations.test.js +0 -93
- package/dist/derived-mutations.test.js.map +0 -1
- package/dist/devtools/devtools-bridge.d.ts +0 -12
- package/dist/devtools/devtools-bridge.d.ts.map +0 -1
- package/dist/devtools/devtools-bridge.js +0 -2
- package/dist/devtools/devtools-bridge.js.map +0 -1
- package/dist/devtools/index.d.ts +0 -42
- package/dist/devtools/index.d.ts.map +0 -1
- package/dist/devtools/index.js +0 -48
- package/dist/devtools/index.js.map +0 -1
- package/dist/init-singleton-tables.d.ts +0 -4
- package/dist/init-singleton-tables.d.ts.map +0 -1
- package/dist/init-singleton-tables.js +0 -16
- package/dist/init-singleton-tables.js.map +0 -1
- package/dist/leader-thread/apply-mutation.d.ts +0 -8
- package/dist/leader-thread/apply-mutation.d.ts.map +0 -1
- package/dist/leader-thread/apply-mutation.js +0 -95
- package/dist/leader-thread/apply-mutation.js.map +0 -1
- package/dist/leader-thread/leader-sync-processor.d.ts +0 -47
- package/dist/leader-thread/leader-sync-processor.d.ts.map +0 -1
- package/dist/leader-thread/leader-sync-processor.js +0 -422
- package/dist/leader-thread/leader-sync-processor.js.map +0 -1
- package/dist/leader-thread/mutationlog.d.ts +0 -23
- package/dist/leader-thread/mutationlog.d.ts.map +0 -1
- package/dist/leader-thread/mutationlog.js +0 -27
- package/dist/leader-thread/mutationlog.js.map +0 -1
- package/dist/leader-thread/pull-queue-set.d.ts +0 -7
- package/dist/leader-thread/pull-queue-set.d.ts.map +0 -1
- package/dist/leader-thread/pull-queue-set.js +0 -39
- package/dist/leader-thread/pull-queue-set.js.map +0 -1
- package/dist/mutation.d.ts +0 -13
- package/dist/mutation.d.ts.map +0 -1
- package/dist/mutation.js +0 -57
- package/dist/mutation.js.map +0 -1
- package/dist/query-info.d.ts +0 -38
- package/dist/query-info.d.ts.map +0 -1
- package/dist/query-info.js +0 -7
- package/dist/query-info.js.map +0 -1
- package/dist/rehydrate-from-mutationlog.d.ts +0 -14
- package/dist/rehydrate-from-mutationlog.d.ts.map +0 -1
- package/dist/rehydrate-from-mutationlog.js +0 -72
- package/dist/rehydrate-from-mutationlog.js.map +0 -1
- package/dist/schema/MutationEvent.d.ts +0 -191
- package/dist/schema/MutationEvent.d.ts.map +0 -1
- package/dist/schema/MutationEvent.js +0 -56
- package/dist/schema/MutationEvent.js.map +0 -1
- package/dist/schema/mutations.d.ts +0 -107
- package/dist/schema/mutations.d.ts.map +0 -1
- package/dist/schema/mutations.js +0 -42
- package/dist/schema/mutations.js.map +0 -1
- package/dist/sync/client-session-sync-processor.d.ts +0 -45
- package/dist/sync/client-session-sync-processor.d.ts.map +0 -1
- package/dist/sync/client-session-sync-processor.js +0 -131
- package/dist/sync/client-session-sync-processor.js.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.d.ts.map +0 -1
- package/dist/sync/next/test/mutation-fixtures.js.map +0 -1
- package/src/derived-mutations.test.ts +0 -101
- package/src/derived-mutations.ts +0 -166
- package/src/devtools/devtools-bridge.ts +0 -13
- package/src/devtools/index.ts +0 -48
- package/src/init-singleton-tables.ts +0 -24
- package/src/leader-thread/apply-mutation.ts +0 -143
- package/src/leader-thread/leader-sync-processor.ts +0 -666
- package/src/leader-thread/mutationlog.ts +0 -42
- package/src/leader-thread/pull-queue-set.ts +0 -58
- package/src/mutation.ts +0 -81
- package/src/query-info.ts +0 -78
- package/src/rehydrate-from-mutationlog.ts +0 -127
- package/src/schema/MutationEvent.ts +0 -161
- package/src/schema/mutations.ts +0 -192
- package/src/sync/client-session-sync-processor.ts +0 -207
- package/src/sync/next/test/mutation-fixtures.ts +0 -231
package/dist/mutation.d.ts
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
import type * as MutationEvent from './schema/MutationEvent.js';
|
2
|
-
import type { MutationDef } from './schema/mutations.js';
|
3
|
-
import type { PreparedBindValues } from './util.js';
|
4
|
-
export declare const getExecArgsFromMutation: ({ mutationDef, mutationEventDecoded, }: {
|
5
|
-
mutationDef: MutationDef.Any;
|
6
|
-
mutationEventDecoded: MutationEvent.Any | MutationEvent.PartialAny;
|
7
|
-
}) => ReadonlyArray<{
|
8
|
-
statementSql: string;
|
9
|
-
bindValues: PreparedBindValues;
|
10
|
-
writeTables: ReadonlySet<string> | undefined;
|
11
|
-
}>;
|
12
|
-
export declare const replaceSessionIdSymbol: (bindValues: Record<string, unknown> | ReadonlyArray<unknown>, sessionId: string) => void;
|
13
|
-
//# sourceMappingURL=mutation.d.ts.map
|
package/dist/mutation.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mutation.d.ts","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,aAAa,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAGnD,eAAO,MAAM,uBAAuB,2CAGjC;IACD,WAAW,EAAE,WAAW,CAAC,GAAG,CAAA;IAC5B,oBAAoB,EAAE,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,UAAU,CAAA;CACnE,KAAG,aAAa,CAAC;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,kBAAkB,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CAC7C,CAiCA,CAAA;AAID,eAAO,MAAM,sBAAsB,eACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,aACjD,MAAM,SAGlB,CAAA"}
|
package/dist/mutation.js
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
import { Schema } from '@livestore/utils/effect';
|
2
|
-
import { SessionIdSymbol } from './adapter-types.js';
|
3
|
-
import { prepareBindValues } from './util.js';
|
4
|
-
export const getExecArgsFromMutation = ({ mutationDef, mutationEventDecoded, }) => {
|
5
|
-
let statementRes;
|
6
|
-
switch (typeof mutationDef.sql) {
|
7
|
-
case 'function': {
|
8
|
-
const res = mutationDef.sql(mutationEventDecoded.args);
|
9
|
-
statementRes = Array.isArray(res) ? res : [res];
|
10
|
-
break;
|
11
|
-
}
|
12
|
-
case 'string': {
|
13
|
-
statementRes = [mutationDef.sql];
|
14
|
-
break;
|
15
|
-
}
|
16
|
-
default: {
|
17
|
-
statementRes = mutationDef.sql;
|
18
|
-
break;
|
19
|
-
}
|
20
|
-
}
|
21
|
-
return statementRes.map((statementRes) => {
|
22
|
-
const statementSql = typeof statementRes === 'string' ? statementRes : statementRes.sql;
|
23
|
-
const bindValues = typeof statementRes === 'string'
|
24
|
-
? Schema.encodeUnknownSync(mutationDef.schema)(mutationEventDecoded.args)
|
25
|
-
: statementRes.bindValues;
|
26
|
-
const writeTables = typeof statementRes === 'string' ? undefined : statementRes.writeTables;
|
27
|
-
return { statementSql, bindValues: prepareBindValues(bindValues ?? {}, statementSql), writeTables };
|
28
|
-
});
|
29
|
-
};
|
30
|
-
// NOTE we should explore whether there is a more elegant solution
|
31
|
-
// e.g. by leveraging the schema to replace the sessionIdSymbol
|
32
|
-
export const replaceSessionIdSymbol = (bindValues, sessionId) => {
|
33
|
-
deepReplaceValue(bindValues, SessionIdSymbol, sessionId);
|
34
|
-
};
|
35
|
-
const deepReplaceValue = (input, searchValue, replaceValue) => {
|
36
|
-
if (Array.isArray(input)) {
|
37
|
-
for (const i in input) {
|
38
|
-
if (input[i] === searchValue) {
|
39
|
-
input[i] = replaceValue;
|
40
|
-
}
|
41
|
-
else {
|
42
|
-
deepReplaceValue(input[i], searchValue, replaceValue);
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|
46
|
-
else if (typeof input === 'object' && input !== null) {
|
47
|
-
for (const key in input) {
|
48
|
-
if (input[key] === searchValue) {
|
49
|
-
input[key] = replaceValue;
|
50
|
-
}
|
51
|
-
else {
|
52
|
-
deepReplaceValue(input[key], searchValue, replaceValue);
|
53
|
-
}
|
54
|
-
}
|
55
|
-
}
|
56
|
-
};
|
57
|
-
//# sourceMappingURL=mutation.js.map
|
package/dist/mutation.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../src/mutation.ts"],"names":[],"mappings":"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"}
|
package/dist/query-info.d.ts
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
import type { SessionIdSymbol } from './adapter-types.js';
|
2
|
-
import type { DbSchema } from './schema/mod.js';
|
3
|
-
/**
|
4
|
-
* Semantic information about a query with supported cases being:
|
5
|
-
* - a whole row
|
6
|
-
* - a single column value
|
7
|
-
* - a sub value in a JSON column
|
8
|
-
*
|
9
|
-
* This information is currently only used for derived mutations.
|
10
|
-
*/
|
11
|
-
export type QueryInfo = QueryInfo.None | QueryInfo.Row | QueryInfo.Col | QueryInfo.ColJsonValue;
|
12
|
-
export declare namespace QueryInfo {
|
13
|
-
type None = {
|
14
|
-
_tag: 'None';
|
15
|
-
};
|
16
|
-
type Row = {
|
17
|
-
_tag: 'Row';
|
18
|
-
table: DbSchema.TableDefBase;
|
19
|
-
id: string | SessionIdSymbol;
|
20
|
-
};
|
21
|
-
type Col = {
|
22
|
-
_tag: 'Col';
|
23
|
-
table: DbSchema.TableDefBase;
|
24
|
-
id: string | SessionIdSymbol;
|
25
|
-
column: string;
|
26
|
-
};
|
27
|
-
type ColJsonValue = {
|
28
|
-
_tag: 'ColJsonValue';
|
29
|
-
table: DbSchema.TableDefBase;
|
30
|
-
id: string | SessionIdSymbol;
|
31
|
-
column: string;
|
32
|
-
/**
|
33
|
-
* example: `$.tabs[3].items[2]` (`$` referring to the column value)
|
34
|
-
*/
|
35
|
-
jsonPath: string;
|
36
|
-
};
|
37
|
-
}
|
38
|
-
//# sourceMappingURL=query-info.d.ts.map
|
package/dist/query-info.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"query-info.d.ts","sourceRoot":"","sources":["../src/query-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,YAAY,CAAA;AAO/F,yBAAiB,SAAS,CAAC;IACzB,KAAY,IAAI,GAAG;QACjB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAED,KAAY,GAAG,GAAG;QAChB,IAAI,EAAE,KAAK,CAAA;QACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAA;QAC5B,EAAE,EAAE,MAAM,GAAG,eAAe,CAAA;KAC7B,CAAA;IAED,KAAY,GAAG,GAAG;QAChB,IAAI,EAAE,KAAK,CAAA;QACX,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAA;QAC5B,EAAE,EAAE,MAAM,GAAG,eAAe,CAAA;QAC5B,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IAED,KAAY,YAAY,GAAG;QACzB,IAAI,EAAE,cAAc,CAAA;QACpB,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAA;QAC5B,EAAE,EAAE,MAAM,GAAG,eAAe,CAAA;QAC5B,MAAM,EAAE,MAAM,CAAA;QACd;;WAEG;QACH,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CA0BF"}
|
package/dist/query-info.js
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
// type GetJsonColumn<TTableDef extends DbSchema.TableDefBase> = keyof {
|
3
|
-
// [ColName in keyof TTableDef['sqliteDef']['columns'] as TTableDef['sqliteDef']['columns'][ColName]['columnType'] extends 'text'
|
4
|
-
// ? ColName
|
5
|
-
// : never]: {}
|
6
|
-
// }
|
7
|
-
//# sourceMappingURL=query-info.js.map
|
package/dist/query-info.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"query-info.js","sourceRoot":"","sources":["../src/query-info.ts"],"names":[],"mappings":";AAyEA,wEAAwE;AACxE,mIAAmI;AACnI,gBAAgB;AAChB,mBAAmB;AACnB,IAAI"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { Effect } from '@livestore/utils/effect';
|
2
|
-
import { type MigrationOptionsFromMutationLog, type SynchronousDatabase, UnexpectedError } from './adapter-types.js';
|
3
|
-
import type { LiveStoreSchema } from './schema/mod.js';
|
4
|
-
export declare const rehydrateFromMutationLog: ({ logDb, db, schema, migrationOptions, onProgress, }: {
|
5
|
-
logDb: SynchronousDatabase;
|
6
|
-
db: SynchronousDatabase;
|
7
|
-
schema: LiveStoreSchema;
|
8
|
-
migrationOptions: MigrationOptionsFromMutationLog;
|
9
|
-
onProgress: (_: {
|
10
|
-
done: number;
|
11
|
-
total: number;
|
12
|
-
}) => Effect.Effect<void>;
|
13
|
-
}) => Effect.Effect<void, UnexpectedError, never>;
|
14
|
-
//# sourceMappingURL=rehydrate-from-mutationlog.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"rehydrate-from-mutationlog.d.ts","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAA0B,MAAM,yBAAyB,CAAA;AAE/E,OAAO,EAAE,KAAK,+BAA+B,EAAE,KAAK,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpH,OAAO,KAAK,EAAE,eAAe,EAAkD,MAAM,iBAAiB,CAAA;AAKtG,eAAO,MAAM,wBAAwB,yDAMlC;IACD,KAAK,EAAE,mBAAmB,CAAA;IAC1B,EAAE,EAAE,mBAAmB,CAAA;IACvB,MAAM,EAAE,eAAe,CAAA;IACvB,gBAAgB,EAAE,+BAA+B,CAAA;IACjD,UAAU,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACxE,gDAwGE,CAAA"}
|
@@ -1,72 +0,0 @@
|
|
1
|
-
import { isDevEnv, memoizeByRef, shouldNeverHappen } from '@livestore/utils';
|
2
|
-
import { Chunk, Effect, Option, Schema, Stream } from '@livestore/utils/effect';
|
3
|
-
import { UnexpectedError } from './adapter-types.js';
|
4
|
-
import { getExecArgsFromMutation } from './mutation.js';
|
5
|
-
import { EventId, MUTATION_LOG_META_TABLE } from './schema/mod.js';
|
6
|
-
import { sql } from './util.js';
|
7
|
-
export const rehydrateFromMutationLog = ({ logDb, db, schema, migrationOptions, onProgress, }) => Effect.gen(function* () {
|
8
|
-
const mutationsCount = logDb.select(`SELECT COUNT(*) AS count FROM ${MUTATION_LOG_META_TABLE}`)[0].count;
|
9
|
-
const hashMutation = memoizeByRef((mutation) => Schema.hash(mutation.schema));
|
10
|
-
const processMutation = (row) => Effect.gen(function* () {
|
11
|
-
const mutationDef = schema.mutations.get(row.mutation) ?? shouldNeverHappen(`Unknown mutation ${row.mutation}`);
|
12
|
-
if (migrationOptions.excludeMutations?.has(row.mutation) === true)
|
13
|
-
return;
|
14
|
-
if (hashMutation(mutationDef) !== row.schemaHash) {
|
15
|
-
yield* Effect.logWarning(`Schema hash mismatch for mutation ${row.mutation}. Trying to apply mutation anyway.`);
|
16
|
-
}
|
17
|
-
const argsDecoded = yield* Schema.decodeUnknown(Schema.parseJson(mutationDef.schema))(row.argsJson).pipe(Effect.mapError((cause) => UnexpectedError.make({
|
18
|
-
cause,
|
19
|
-
note: `\
|
20
|
-
There was an error during rehydrating from the mutation log while decoding
|
21
|
-
the persisted mutation event args for mutation "${row.mutation}".
|
22
|
-
This likely means the schema has changed in an incompatible way.
|
23
|
-
`,
|
24
|
-
})));
|
25
|
-
const mutationEventDecoded = {
|
26
|
-
id: { global: row.idGlobal, local: row.idLocal },
|
27
|
-
parentId: { global: row.parentIdGlobal, local: row.parentIdLocal },
|
28
|
-
mutation: row.mutation,
|
29
|
-
args: argsDecoded,
|
30
|
-
};
|
31
|
-
const execArgsArr = getExecArgsFromMutation({ mutationDef, mutationEventDecoded });
|
32
|
-
const makeExecuteOptions = (statementSql, bindValues) => ({
|
33
|
-
onRowsChanged: (rowsChanged) => {
|
34
|
-
if (rowsChanged === 0 && migrationOptions.logging?.excludeAffectedRows?.(statementSql) !== true) {
|
35
|
-
console.warn(`Mutation "${mutationDef.name}" did not affect any rows:`, statementSql, bindValues);
|
36
|
-
}
|
37
|
-
},
|
38
|
-
});
|
39
|
-
for (const { statementSql, bindValues } of execArgsArr) {
|
40
|
-
// TODO cache prepared statements for mutations
|
41
|
-
db.execute(statementSql, bindValues, isDevEnv() ? makeExecuteOptions(statementSql, bindValues) : undefined);
|
42
|
-
// console.log(`Re-executed mutation ${mutationSql}`, bindValues)
|
43
|
-
}
|
44
|
-
}).pipe(Effect.withSpan(`@livestore/common:rehydrateFromMutationLog:processMutation`));
|
45
|
-
const CHUNK_SIZE = 100;
|
46
|
-
const stmt = logDb.prepare(sql `\
|
47
|
-
SELECT * FROM ${MUTATION_LOG_META_TABLE}
|
48
|
-
WHERE idGlobal > $idGlobal OR (idGlobal = $idGlobal AND idLocal > $idLocal)
|
49
|
-
ORDER BY idGlobal ASC, idLocal ASC
|
50
|
-
LIMIT ${CHUNK_SIZE}
|
51
|
-
`);
|
52
|
-
let processedMutations = 0;
|
53
|
-
yield* Stream.unfoldChunk({ _tag: 'Initial ' }, (item) => {
|
54
|
-
// End stream if no more rows
|
55
|
-
if (Chunk.isChunk(item) && item.length === 0)
|
56
|
-
return Option.none();
|
57
|
-
const lastId = Chunk.isChunk(item)
|
58
|
-
? Chunk.last(item).pipe(Option.map((_) => ({ global: _.idGlobal, local: _.idLocal })), Option.getOrElse(() => EventId.ROOT))
|
59
|
-
: EventId.ROOT;
|
60
|
-
const nextItem = Chunk.fromIterable(stmt.select({
|
61
|
-
$idGlobal: lastId?.global,
|
62
|
-
$idLocal: lastId?.local,
|
63
|
-
}));
|
64
|
-
const prevItem = Chunk.isChunk(item) ? item : Chunk.empty();
|
65
|
-
return Option.some([prevItem, nextItem]);
|
66
|
-
}).pipe(Stream.bufferChunks({ capacity: 2 }), Stream.tap((row) => Effect.gen(function* () {
|
67
|
-
yield* processMutation(row);
|
68
|
-
processedMutations++;
|
69
|
-
yield* onProgress({ done: processedMutations, total: mutationsCount });
|
70
|
-
})), Stream.runDrain);
|
71
|
-
}).pipe(Effect.withPerformanceMeasure('@livestore/common:rehydrateFromMutationLog'), Effect.withSpan('@livestore/common:rehydrateFromMutationLog'));
|
72
|
-
//# sourceMappingURL=rehydrate-from-mutationlog.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"rehydrate-from-mutationlog.js","sourceRoot":"","sources":["../src/rehydrate-from-mutationlog.ts"],"names":[],"mappings":"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"}
|
@@ -1,191 +0,0 @@
|
|
1
|
-
import type { Deferred } from '@livestore/utils/effect';
|
2
|
-
import { Schema } from '@livestore/utils/effect';
|
3
|
-
import * as EventId from './EventId.js';
|
4
|
-
import type { MutationDef, MutationDefRecord } from './mutations.js';
|
5
|
-
import type { LiveStoreSchema } from './schema.js';
|
6
|
-
export type MutationEventPartial<TMutationsDef extends MutationDef.Any> = {
|
7
|
-
mutation: TMutationsDef['name'];
|
8
|
-
args: Schema.Schema.Type<TMutationsDef['schema']>;
|
9
|
-
};
|
10
|
-
export type MutationEventPartialEncoded<TMutationsDef extends MutationDef.Any> = {
|
11
|
-
mutation: TMutationsDef['name'];
|
12
|
-
args: Schema.Schema.Encoded<TMutationsDef['schema']>;
|
13
|
-
};
|
14
|
-
export type MutationEvent<TMutationsDef extends MutationDef.Any> = {
|
15
|
-
mutation: TMutationsDef['name'];
|
16
|
-
args: Schema.Schema.Type<TMutationsDef['schema']>;
|
17
|
-
id: EventId.EventId;
|
18
|
-
parentId: EventId.EventId;
|
19
|
-
};
|
20
|
-
export type MutationEventEncoded<TMutationsDef extends MutationDef.Any> = {
|
21
|
-
mutation: TMutationsDef['name'];
|
22
|
-
args: Schema.Schema.Encoded<TMutationsDef['schema']>;
|
23
|
-
id: EventId.EventId;
|
24
|
-
parentId: EventId.EventId;
|
25
|
-
};
|
26
|
-
export type Any = MutationEvent<MutationDef.Any>;
|
27
|
-
export type AnyEncoded = MutationEventEncoded<MutationDef.Any>;
|
28
|
-
export type PartialAny = MutationEventPartial<MutationDef.Any>;
|
29
|
-
export type PartialAnyEncoded = MutationEventPartialEncoded<MutationDef.Any>;
|
30
|
-
export type PartialForSchema<TSchema extends LiveStoreSchema> = {
|
31
|
-
[K in keyof TSchema['_MutationDefMapType']]: MutationEventPartial<TSchema['_MutationDefMapType'][K]>;
|
32
|
-
}[keyof TSchema['_MutationDefMapType']];
|
33
|
-
export type ForSchema<TSchema extends LiveStoreSchema> = {
|
34
|
-
[K in keyof TSchema['_MutationDefMapType']]: MutationEvent<TSchema['_MutationDefMapType'][K]>;
|
35
|
-
}[keyof TSchema['_MutationDefMapType']];
|
36
|
-
export declare const isPartialMutationEvent: (mutationEvent: Any | PartialAny) => mutationEvent is PartialAny;
|
37
|
-
export type ForMutationDefRecord<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
|
38
|
-
[K in keyof TMutationsDefRecord]: {
|
39
|
-
mutation: K;
|
40
|
-
args: Schema.Schema.Type<TMutationsDefRecord[K]['schema']>;
|
41
|
-
id: EventId.EventId;
|
42
|
-
parentId: EventId.EventId;
|
43
|
-
};
|
44
|
-
}[keyof TMutationsDefRecord], {
|
45
|
-
[K in keyof TMutationsDefRecord]: {
|
46
|
-
mutation: K;
|
47
|
-
args: Schema.Schema.Encoded<TMutationsDefRecord[K]['schema']>;
|
48
|
-
id: EventId.EventId;
|
49
|
-
parentId: EventId.EventId;
|
50
|
-
};
|
51
|
-
}[keyof TMutationsDefRecord]>;
|
52
|
-
export type MutationEventPartialSchema<TMutationsDefRecord extends MutationDefRecord> = Schema.Schema<{
|
53
|
-
[K in keyof TMutationsDefRecord]: {
|
54
|
-
mutation: K;
|
55
|
-
args: Schema.Schema.Type<TMutationsDefRecord[K]['schema']>;
|
56
|
-
};
|
57
|
-
}[keyof TMutationsDefRecord], {
|
58
|
-
[K in keyof TMutationsDefRecord]: {
|
59
|
-
mutation: K;
|
60
|
-
args: Schema.Schema.Encoded<TMutationsDefRecord[K]['schema']>;
|
61
|
-
};
|
62
|
-
}[keyof TMutationsDefRecord]>;
|
63
|
-
export declare const makeMutationEventSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
|
64
|
-
export declare const makeMutationEventPartialSchema: <TSchema extends LiveStoreSchema>(schema: TSchema) => MutationEventPartialSchema<TSchema["_MutationDefMapType"]>;
|
65
|
-
export declare const makeMutationEventSchemaMemo: <TSchema extends LiveStoreSchema>(schema: TSchema) => ForMutationDefRecord<TSchema["_MutationDefMapType"]>;
|
66
|
-
export declare const Any: Schema.Struct<{
|
67
|
-
mutation: typeof Schema.String;
|
68
|
-
args: typeof Schema.Any;
|
69
|
-
id: Schema.Struct<{
|
70
|
-
global: typeof Schema.Number;
|
71
|
-
local: typeof Schema.Number;
|
72
|
-
}>;
|
73
|
-
parentId: Schema.Struct<{
|
74
|
-
global: typeof Schema.Number;
|
75
|
-
local: typeof Schema.Number;
|
76
|
-
}>;
|
77
|
-
}>;
|
78
|
-
export declare const DecodedAny: Schema.SchemaClass<{
|
79
|
-
readonly id: {
|
80
|
-
readonly global: number;
|
81
|
-
readonly local: number;
|
82
|
-
};
|
83
|
-
readonly mutation: string;
|
84
|
-
readonly args: any;
|
85
|
-
readonly parentId: {
|
86
|
-
readonly global: number;
|
87
|
-
readonly local: number;
|
88
|
-
};
|
89
|
-
}, {
|
90
|
-
readonly id: {
|
91
|
-
readonly global: number;
|
92
|
-
readonly local: number;
|
93
|
-
};
|
94
|
-
readonly mutation: string;
|
95
|
-
readonly args: any;
|
96
|
-
readonly parentId: {
|
97
|
-
readonly global: number;
|
98
|
-
readonly local: number;
|
99
|
-
};
|
100
|
-
}, never>;
|
101
|
-
export declare const EncodedAny: Schema.SchemaClass<{
|
102
|
-
readonly id: {
|
103
|
-
readonly global: number;
|
104
|
-
readonly local: number;
|
105
|
-
};
|
106
|
-
readonly mutation: string;
|
107
|
-
readonly args: any;
|
108
|
-
readonly parentId: {
|
109
|
-
readonly global: number;
|
110
|
-
readonly local: number;
|
111
|
-
};
|
112
|
-
}, {
|
113
|
-
readonly id: {
|
114
|
-
readonly global: number;
|
115
|
-
readonly local: number;
|
116
|
-
};
|
117
|
-
readonly mutation: string;
|
118
|
-
readonly args: any;
|
119
|
-
readonly parentId: {
|
120
|
-
readonly global: number;
|
121
|
-
readonly local: number;
|
122
|
-
};
|
123
|
-
}, never>;
|
124
|
-
declare const EncodedWithMeta_base: Schema.Class<EncodedWithMeta, {
|
125
|
-
mutation: typeof Schema.String;
|
126
|
-
args: typeof Schema.Any;
|
127
|
-
id: Schema.Struct<{
|
128
|
-
global: typeof Schema.Number;
|
129
|
-
local: typeof Schema.Number;
|
130
|
-
}>;
|
131
|
-
parentId: Schema.Struct<{
|
132
|
-
global: typeof Schema.Number;
|
133
|
-
local: typeof Schema.Number;
|
134
|
-
}>;
|
135
|
-
meta: Schema.optionalWith<Schema.Schema<{
|
136
|
-
deferred?: Deferred.Deferred<void>;
|
137
|
-
sessionChangeset?: Uint8Array;
|
138
|
-
}, {
|
139
|
-
deferred?: Deferred.Deferred<void>;
|
140
|
-
sessionChangeset?: Uint8Array;
|
141
|
-
}, never>, {
|
142
|
-
default: () => {};
|
143
|
-
}>;
|
144
|
-
}, Schema.Struct.Encoded<{
|
145
|
-
mutation: typeof Schema.String;
|
146
|
-
args: typeof Schema.Any;
|
147
|
-
id: Schema.Struct<{
|
148
|
-
global: typeof Schema.Number;
|
149
|
-
local: typeof Schema.Number;
|
150
|
-
}>;
|
151
|
-
parentId: Schema.Struct<{
|
152
|
-
global: typeof Schema.Number;
|
153
|
-
local: typeof Schema.Number;
|
154
|
-
}>;
|
155
|
-
meta: Schema.optionalWith<Schema.Schema<{
|
156
|
-
deferred?: Deferred.Deferred<void>;
|
157
|
-
sessionChangeset?: Uint8Array;
|
158
|
-
}, {
|
159
|
-
deferred?: Deferred.Deferred<void>;
|
160
|
-
sessionChangeset?: Uint8Array;
|
161
|
-
}, never>, {
|
162
|
-
default: () => {};
|
163
|
-
}>;
|
164
|
-
}>, never, {
|
165
|
-
readonly id: {
|
166
|
-
readonly global: number;
|
167
|
-
readonly local: number;
|
168
|
-
};
|
169
|
-
} & {
|
170
|
-
readonly mutation: string;
|
171
|
-
} & {
|
172
|
-
readonly args: any;
|
173
|
-
} & {
|
174
|
-
readonly parentId: {
|
175
|
-
readonly global: number;
|
176
|
-
readonly local: number;
|
177
|
-
};
|
178
|
-
} & {
|
179
|
-
readonly meta?: {
|
180
|
-
deferred?: Deferred.Deferred<void>;
|
181
|
-
sessionChangeset?: Uint8Array;
|
182
|
-
} | undefined;
|
183
|
-
}, {}, {}>;
|
184
|
-
/** Equivalent to EncodedAny but with a meta field and some convenience methods */
|
185
|
-
export declare class EncodedWithMeta extends EncodedWithMeta_base {
|
186
|
-
toJSON: () => any;
|
187
|
-
rebase: (parentId: EventId.EventId, isLocal: boolean) => EncodedWithMeta;
|
188
|
-
}
|
189
|
-
export declare const isEqualEncoded: (a: AnyEncoded, b: AnyEncoded) => boolean;
|
190
|
-
export {};
|
191
|
-
//# sourceMappingURL=MutationEvent.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"MutationEvent.d.ts","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,oBAAoB,CAAC,aAAa,SAAS,WAAW,CAAC,GAAG,IAAI;IACxE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,2BAA2B,CAAC,aAAa,SAAS,WAAW,CAAC,GAAG,IAAI;IAC/E,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,aAAa,SAAS,WAAW,CAAC,GAAG,IAAI;IACjE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;IACjD,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,aAAa,SAAS,WAAW,CAAC,GAAG,IAAI;IACxE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;IACpD,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAChD,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAE9D,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAC9D,MAAM,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAE5E,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,eAAe,IAAI;KAC7D,CAAC,IAAI,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;CACrG,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEvC,MAAM,MAAM,SAAS,CAAC,OAAO,SAAS,eAAe,IAAI;KACtD,CAAC,IAAI,MAAM,OAAO,CAAC,qBAAqB,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9F,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEvC,eAAO,MAAM,sBAAsB,kBAAmB,GAAG,GAAG,UAAU,KAAG,aAAa,IAAI,UAChB,CAAA;AAE1E,MAAM,MAAM,oBAAoB,CAAC,mBAAmB,SAAS,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAC7F;KACG,CAAC,IAAI,MAAM,mBAAmB,GAAG;QAChC,QAAQ,EAAE,CAAC,CAAA;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1D,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;QACnB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;KAC1B;CACF,CAAC,MAAM,mBAAmB,CAAC,EAC5B;KACG,CAAC,IAAI,MAAM,mBAAmB,GAAG;QAChC,QAAQ,EAAE,CAAC,CAAA;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC7D,EAAE,EAAE,OAAO,CAAC,OAAO,CAAA;QACnB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;KAC1B;CACF,CAAC,MAAM,mBAAmB,CAAC,CAC7B,CAAA;AAED,MAAM,MAAM,0BAA0B,CAAC,mBAAmB,SAAS,iBAAiB,IAAI,MAAM,CAAC,MAAM,CACnG;KACG,CAAC,IAAI,MAAM,mBAAmB,GAAG;QAChC,QAAQ,EAAE,CAAC,CAAA;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;KAC3D;CACF,CAAC,MAAM,mBAAmB,CAAC,EAC5B;KACG,CAAC,IAAI,MAAM,mBAAmB,GAAG;QAChC,QAAQ,EAAE,CAAC,CAAA;QACX,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;KAC9D;CACF,CAAC,MAAM,mBAAmB,CAAC,CAC7B,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,OAAO,SAAS,eAAe,UAC7D,OAAO,KACd,oBAAoB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAUJ,CAAA;AAElD,eAAO,MAAM,8BAA8B,GAAI,OAAO,SAAS,eAAe,UACpE,OAAO,KACd,0BAA0B,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAQG,CAAA;AAE/D,eAAO,MAAM,2BAA2B,GA1BA,OAAO,SAAS,eAAe,UAC7D,OAAO,KACd,oBAAoB,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAwB0B,CAAA;AAEhF,eAAO,MAAM,GAAG;;;;;;;;;;;EAK8B,CAAA;AAE9C,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;SAErB,CAAA;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;SAErB,CAAA;;;;;;;;;;;;;mBAS2C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;2BAAqB,UAAU;;mBAAtD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;2BAAqB,UAAU;;;;;;;;;;;;;;;;mBAAtD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;2BAAqB,UAAU;;mBAAtD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;2BAAqB,UAAU;;;;;;;;;;;;;;;;;;;;mBAAtD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;2BAAqB,UAAU;;;AAPnG,kFAAkF;AAClF,qBAAa,eAAgB,SAAQ,oBASnC;IACA,MAAM,QAAO,GAAG,CASf;IAED,MAAM,aAAc,OAAO,CAAC,OAAO,WAAW,OAAO,qBAIjD;CACL;AAED,eAAO,MAAM,cAAc,MAAO,UAAU,KAAK,UAAU,YAKR,CAAA"}
|
@@ -1,56 +0,0 @@
|
|
1
|
-
import { memoizeByRef } from '@livestore/utils';
|
2
|
-
import { Schema } from '@livestore/utils/effect';
|
3
|
-
import * as EventId from './EventId.js';
|
4
|
-
export const isPartialMutationEvent = (mutationEvent) => 'id' in mutationEvent === false && 'parentId' in mutationEvent === false;
|
5
|
-
export const makeMutationEventSchema = (schema) => Schema.Union(...[...schema.mutations.values()].map((def) => Schema.Struct({
|
6
|
-
mutation: Schema.Literal(def.name),
|
7
|
-
args: def.schema,
|
8
|
-
id: EventId.EventId,
|
9
|
-
parentId: EventId.EventId,
|
10
|
-
}))).annotations({ title: 'MutationEvent' });
|
11
|
-
export const makeMutationEventPartialSchema = (schema) => Schema.Union(...[...schema.mutations.values()].map((def) => Schema.Struct({
|
12
|
-
mutation: Schema.Literal(def.name),
|
13
|
-
args: def.schema,
|
14
|
-
}))).annotations({ title: 'MutationEventSchemaPartial' });
|
15
|
-
export const makeMutationEventSchemaMemo = memoizeByRef(makeMutationEventSchema);
|
16
|
-
export const Any = Schema.Struct({
|
17
|
-
mutation: Schema.String,
|
18
|
-
args: Schema.Any,
|
19
|
-
id: EventId.EventId,
|
20
|
-
parentId: EventId.EventId,
|
21
|
-
}).annotations({ title: 'MutationEvent.Any' });
|
22
|
-
export const DecodedAny = Schema.typeSchema(Any).annotations({
|
23
|
-
title: 'MutationEvent.DecodedAny',
|
24
|
-
});
|
25
|
-
export const EncodedAny = Schema.encodedSchema(Any).annotations({
|
26
|
-
title: 'MutationEvent.EncodedAny',
|
27
|
-
});
|
28
|
-
/** Equivalent to EncodedAny but with a meta field and some convenience methods */
|
29
|
-
export class EncodedWithMeta extends Schema.Class('MutationEvent.EncodedWithMeta')({
|
30
|
-
mutation: Schema.String,
|
31
|
-
args: Schema.Any,
|
32
|
-
id: EventId.EventId,
|
33
|
-
parentId: EventId.EventId,
|
34
|
-
meta: Schema.optionalWith(Schema.Any, { default: () => ({}) }),
|
35
|
-
}) {
|
36
|
-
toJSON = () => {
|
37
|
-
// Only used for logging/debugging
|
38
|
-
// - More readable way to print the id + parentId
|
39
|
-
// - not including `meta`
|
40
|
-
return {
|
41
|
-
id: `(${this.id.global},${this.id.local}) → (${this.parentId.global},${this.parentId.local})`,
|
42
|
-
mutation: this.mutation,
|
43
|
-
args: this.args,
|
44
|
-
};
|
45
|
-
};
|
46
|
-
rebase = (parentId, isLocal) => new EncodedWithMeta({
|
47
|
-
...this,
|
48
|
-
...EventId.nextPair(this.id, isLocal),
|
49
|
-
});
|
50
|
-
}
|
51
|
-
export const isEqualEncoded = (a, b) => a.id.global === b.id.global &&
|
52
|
-
a.id.local === b.id.local &&
|
53
|
-
a.mutation === b.mutation &&
|
54
|
-
// TODO use schema equality here
|
55
|
-
JSON.stringify(a.args) === JSON.stringify(b.args);
|
56
|
-
//# sourceMappingURL=MutationEvent.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"MutationEvent.js","sourceRoot":"","sources":["../../src/schema/MutationEvent.ts"],"names":[],"mappings":"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"}
|
@@ -1,107 +0,0 @@
|
|
1
|
-
import { Schema } from '@livestore/utils/effect';
|
2
|
-
import type { BindValues } from '../sql-queries/sql-queries.js';
|
3
|
-
import type * as EventId from './EventId.js';
|
4
|
-
export type MutationDefMap = Map<string | 'livestore.RawSql', MutationDef.Any>;
|
5
|
-
export type MutationDefRecord = {
|
6
|
-
'livestore.RawSql': RawSqlMutation;
|
7
|
-
[name: string]: MutationDef.Any;
|
8
|
-
};
|
9
|
-
export type InternalMutationSchema<TRecord extends MutationDefRecord = MutationDefRecord> = {
|
10
|
-
_DefRecord: TRecord;
|
11
|
-
map: Map<keyof TRecord, TRecord[keyof TRecord]>;
|
12
|
-
schemaHashMap: Map<keyof TRecord, number>;
|
13
|
-
};
|
14
|
-
export type MutationDefSqlResult<TTo> = SingleOrReadonlyArray<string> | ((args: TTo) => SingleOrReadonlyArray<string | {
|
15
|
-
sql: string;
|
16
|
-
/** Note args need to be manually encoded to `BindValues` when returning this argument */
|
17
|
-
bindValues: BindValues;
|
18
|
-
writeTables?: ReadonlySet<string>;
|
19
|
-
}>);
|
20
|
-
export type SingleOrReadonlyArray<T> = T | ReadonlyArray<T>;
|
21
|
-
export type MutationDef<TName extends string, TFrom, TTo> = {
|
22
|
-
name: TName;
|
23
|
-
schema: Schema.Schema<TTo, TFrom>;
|
24
|
-
sql: MutationDefSqlResult<NoInfer<TTo>>;
|
25
|
-
options: {
|
26
|
-
/** Warning: This feature is not fully implemented yet */
|
27
|
-
historyId: string;
|
28
|
-
/**
|
29
|
-
* When set to true, the mutation won't be synced over the network
|
30
|
-
*/
|
31
|
-
localOnly: boolean;
|
32
|
-
/** Warning: This feature is not fully implemented yet */
|
33
|
-
facts: FactsCallback<TTo> | undefined;
|
34
|
-
};
|
35
|
-
/** Helper function to construct a partial mutation event */
|
36
|
-
(args: TTo, options?: {
|
37
|
-
id?: number;
|
38
|
-
}): {
|
39
|
-
mutation: TName;
|
40
|
-
args: TTo;
|
41
|
-
id?: EventId.EventId;
|
42
|
-
};
|
43
|
-
};
|
44
|
-
export type FactsCallback<TTo> = (args: TTo, currentFacts: MutationEventFacts) => {
|
45
|
-
modify: {
|
46
|
-
set: Iterable<MutationEventFactInput>;
|
47
|
-
unset: Iterable<MutationEventFactInput>;
|
48
|
-
};
|
49
|
-
require: Iterable<MutationEventFactInput>;
|
50
|
-
};
|
51
|
-
export declare namespace MutationDef {
|
52
|
-
type Any = MutationDef<string, any, any>;
|
53
|
-
}
|
54
|
-
export type MutationEventKey = string;
|
55
|
-
export type MutationEventFact = string;
|
56
|
-
export type MutationEventFacts = ReadonlyMap<string, any>;
|
57
|
-
export type MutationEventFactsGroup = {
|
58
|
-
modifySet: MutationEventFacts;
|
59
|
-
modifyUnset: MutationEventFacts;
|
60
|
-
/**
|
61
|
-
* Events on independent "dependency" branches are commutative which can facilitate more prioritized syncing
|
62
|
-
*/
|
63
|
-
depRequire: MutationEventFacts;
|
64
|
-
depRead: MutationEventFacts;
|
65
|
-
};
|
66
|
-
export type MutationEventFactsSnapshot = Map<string, any>;
|
67
|
-
export type MutationEventFactInput = string | readonly [string, any];
|
68
|
-
export declare const defineFacts: <TRecord extends Record<string, MutationEventFactInput | ((...args: any[]) => MutationEventFactInput)>>(record: TRecord) => TRecord;
|
69
|
-
export type DefineMutationOptions<TTo> = {
|
70
|
-
onError?: (error: any) => void;
|
71
|
-
historyId?: string;
|
72
|
-
/** Warning: This feature is not fully implemented yet */
|
73
|
-
facts?: (args: TTo, currentFacts: MutationEventFacts) => {
|
74
|
-
modify?: {
|
75
|
-
set?: Iterable<MutationEventFactInput>;
|
76
|
-
unset?: Iterable<MutationEventFactInput>;
|
77
|
-
};
|
78
|
-
/**
|
79
|
-
* Two purposes: constrain history and constrain compaction
|
80
|
-
*/
|
81
|
-
require?: Iterable<MutationEventFactInput>;
|
82
|
-
};
|
83
|
-
/**
|
84
|
-
* When set to true, the mutation won't be synced over the network
|
85
|
-
*/
|
86
|
-
localOnly?: boolean;
|
87
|
-
};
|
88
|
-
export declare const defineMutation: <TName extends string, TFrom, TTo>(name: TName, schema: Schema.Schema<TTo, TFrom>, sql: MutationDefSqlResult<NoInfer<TTo>>, options?: DefineMutationOptions<TTo>) => MutationDef<TName, TFrom, TTo>;
|
89
|
-
export declare const makeMutationDefRecord: <TInputRecord extends Record<string, MutationDef.Any>>(inputRecord: TInputRecord) => { [K in TInputRecord[keyof TInputRecord]["name"]]: Extract<TInputRecord[keyof TInputRecord], {
|
90
|
-
name: K;
|
91
|
-
}>; };
|
92
|
-
export declare const rawSqlMutation: MutationDef<"livestore.RawSql", {
|
93
|
-
readonly sql: string;
|
94
|
-
readonly bindValues?: {
|
95
|
-
readonly [x: string]: any;
|
96
|
-
} | undefined;
|
97
|
-
readonly writeTables?: readonly string[] | undefined;
|
98
|
-
}, {
|
99
|
-
readonly bindValues?: {
|
100
|
-
readonly [x: string]: any;
|
101
|
-
} | undefined;
|
102
|
-
readonly sql: string;
|
103
|
-
readonly writeTables?: ReadonlySet<string> | undefined;
|
104
|
-
}>;
|
105
|
-
export type RawSqlMutation = typeof rawSqlMutation;
|
106
|
-
export type RawSqlMutationEvent = ReturnType<typeof rawSqlMutation>;
|
107
|
-
//# sourceMappingURL=mutations.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"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"}
|