@livestore/common 0.0.0-snapshot-602081dfd603e6c8df88a70befeba936cad39aac → 0.0.0-snapshot-f6ec49b1a18859aad769f0a0d8edf8bae231ed07
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/devtools/devtools-messages-client-session.d.ts +21 -21
- package/dist/devtools/devtools-messages-common.d.ts +6 -6
- package/dist/devtools/devtools-messages-leader.d.ts +24 -24
- package/dist/leader-thread/LeaderSyncProcessor.js +3 -1
- package/dist/leader-thread/LeaderSyncProcessor.js.map +1 -1
- package/dist/leader-thread/leader-worker-devtools.js +1 -1
- package/dist/leader-thread/leader-worker-devtools.js.map +1 -1
- package/dist/mutation.d.ts.map +1 -1
- package/dist/mutation.js +13 -2
- package/dist/mutation.js.map +1 -1
- package/dist/query-builder/api.d.ts +118 -20
- package/dist/query-builder/api.d.ts.map +1 -1
- 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 +168 -0
- package/dist/query-builder/astToSql.js.map +1 -0
- package/dist/query-builder/impl.d.ts +1 -5
- package/dist/query-builder/impl.d.ts.map +1 -1
- package/dist/query-builder/impl.js +130 -96
- package/dist/query-builder/impl.js.map +1 -1
- package/dist/query-builder/impl.test.js +94 -0
- 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/query-info.d.ts +4 -1
- package/dist/query-info.d.ts.map +1 -1
- package/dist/query-info.js.map +1 -1
- package/dist/schema/db-schema/dsl/mod.d.ts +7 -5
- package/dist/schema/db-schema/dsl/mod.d.ts.map +1 -1
- package/dist/schema/db-schema/dsl/mod.js +6 -0
- package/dist/schema/db-schema/dsl/mod.js.map +1 -1
- package/dist/schema/mutations.d.ts +11 -2
- package/dist/schema/mutations.d.ts.map +1 -1
- package/dist/schema/mutations.js.map +1 -1
- package/dist/schema/table-def.d.ts +7 -3
- package/dist/schema/table-def.d.ts.map +1 -1
- package/dist/schema/table-def.js +7 -1
- package/dist/schema/table-def.js.map +1 -1
- package/dist/sync/sync.d.ts +7 -0
- package/dist/sync/sync.d.ts.map +1 -1
- package/dist/sync/sync.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/src/leader-thread/LeaderSyncProcessor.ts +3 -1
- package/src/leader-thread/leader-worker-devtools.ts +1 -1
- package/src/mutation.ts +20 -3
- package/src/query-builder/api.ts +192 -15
- package/src/query-builder/astToSql.ts +203 -0
- package/src/query-builder/impl.test.ts +104 -0
- package/src/query-builder/impl.ts +157 -113
- package/src/query-builder/mod.ts +7 -0
- package/src/query-info.ts +6 -1
- package/src/schema/db-schema/dsl/mod.ts +30 -2
- package/src/schema/mutations.ts +12 -1
- package/src/schema/table-def.ts +14 -4
- package/src/sync/sync.ts +4 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/schema/db-schema/dsl/mod.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD,cAAc,iBAAiB,CAAA;AAqB/B,qGAAqG;AACrG,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAsB,EACmB,EAAE;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,MAAc,CAAA;AACrG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,IAAgB,EAChB,OAAiB,EACjB,OAAkB,EACqB,EAAE;IACzC,MAAM,GAAG,GAAoB;QAC3B,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;QAC7B,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;KACrC,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;AACxC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../../src/schema/db-schema/dsl/mod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Schema } from '@livestore/utils/effect';
|
|
2
|
+
import type { QueryBuilder } from '../query-builder/mod.js';
|
|
2
3
|
import type { BindValues } from '../sql-queries/sql-queries.js';
|
|
3
4
|
export type MutationDefMap = {
|
|
4
5
|
map: Map<string | 'livestore.RawSql', MutationDef.Any>;
|
|
@@ -13,12 +14,20 @@ export type InternalMutationSchema<TRecord extends MutationDefRecord = MutationD
|
|
|
13
14
|
map: Map<keyof TRecord, TRecord[keyof TRecord]>;
|
|
14
15
|
schemaHashMap: Map<keyof TRecord, number>;
|
|
15
16
|
};
|
|
16
|
-
export type MutationDefSqlResult<TTo> = SingleOrReadonlyArray<string> | ((args: TTo
|
|
17
|
+
export type MutationDefSqlResult<TTo> = SingleOrReadonlyArray<string> | ((args: TTo, context: {
|
|
18
|
+
currentFacts: MutationEventFacts;
|
|
19
|
+
clientOnly: boolean;
|
|
20
|
+
}) => SingleOrReadonlyArray<string | {
|
|
17
21
|
sql: string;
|
|
18
22
|
/** Note args need to be manually encoded to `BindValues` when returning this argument */
|
|
19
23
|
bindValues: BindValues;
|
|
20
24
|
writeTables?: ReadonlySet<string>;
|
|
21
|
-
}>);
|
|
25
|
+
} | QueryBuilder.Any>);
|
|
26
|
+
export type MutationHandlerResult = {
|
|
27
|
+
sql: string;
|
|
28
|
+
bindValues: BindValues;
|
|
29
|
+
writeTables?: ReadonlySet<string>;
|
|
30
|
+
};
|
|
22
31
|
export type SingleOrReadonlyArray<T> = T | ReadonlyArray<T>;
|
|
23
32
|
export type MutationDef<TName extends string, TFrom, TTo> = {
|
|
24
33
|
name: TName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IACtD,WAAW,EAAE,OAAO,CAAA;CACrB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,kBAAkB,EAAE,cAAc,CAAA;IAClC,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC1F,UAAU,EAAE,OAAO,CAAA;IAEnB,GAAG,EAAE,GAAG,CAAC,MAAM,OAAO,EAAE,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAA;IAC/C,aAAa,EAAE,GAAG,CAAC,MAAM,OAAO,EAAE,MAAM,CAAC,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,oBAAoB,CAAC,GAAG,IAChC,qBAAqB,CAAC,MAAM,CAAC,GAC7B,CAAC,
|
|
1
|
+
{"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../src/schema/mutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,11 @@ export declare const blob: SqliteDsl.ColDefFn<"blob">, boolean: SqliteDsl.Specia
|
|
|
8
8
|
export type StateType = 'singleton' | 'dynamic';
|
|
9
9
|
export type DefaultSqliteTableDef = SqliteDsl.TableDefinition<string, SqliteDsl.Columns>;
|
|
10
10
|
export type DefaultSqliteTableDefConstrained = SqliteDsl.TableDefinition<string, SqliteDsl.ConstraintColumns>;
|
|
11
|
-
export type TableDefBase<TSqliteDef extends DefaultSqliteTableDef = DefaultSqliteTableDefConstrained, TOptions extends TableOptions = TableOptions
|
|
11
|
+
export type TableDefBase<TSqliteDef extends DefaultSqliteTableDef = DefaultSqliteTableDefConstrained, TOptions extends TableOptions = TableOptions> = {
|
|
12
12
|
sqliteDef: TSqliteDef;
|
|
13
13
|
options: TOptions;
|
|
14
|
-
schema:
|
|
14
|
+
schema: SqliteDsl.StructSchemaForColumns<TSqliteDef['columns']>;
|
|
15
|
+
insertSchema: SqliteDsl.InsertStructSchemaForColumns<TSqliteDef['columns']>;
|
|
15
16
|
};
|
|
16
17
|
export type TableDef<TSqliteDef extends DefaultSqliteTableDef = DefaultSqliteTableDefConstrained, TOptions extends TableOptions = TableOptions, TSchema = Schema.Schema<SqliteDsl.AnyIfConstained<TSqliteDef['columns'], {
|
|
17
18
|
readonly [K in keyof TSqliteDef['columns']]: TSqliteDef['columns'][K]['schema']['Type'];
|
|
@@ -21,7 +22,10 @@ export type TableDef<TSqliteDef extends DefaultSqliteTableDef = DefaultSqliteTab
|
|
|
21
22
|
sqliteDef: TSqliteDef;
|
|
22
23
|
options: TOptions;
|
|
23
24
|
schema: TSchema;
|
|
24
|
-
|
|
25
|
+
insertSchema: SqliteDsl.InsertStructSchemaForColumns<TSqliteDef['columns']>;
|
|
26
|
+
query: QueryBuilder<ReadonlyArray<Schema.Schema.Type<TSchema>>, TableDefBase<TSqliteDef & {}, TOptions>>;
|
|
27
|
+
readonly Type: Schema.Schema.Type<TSchema>;
|
|
28
|
+
readonly Encoded: Schema.Schema.Encoded<TSchema>;
|
|
25
29
|
} & (TOptions['deriveMutations']['enabled'] extends true ? DerivedMutationHelperFns<TSqliteDef['columns'], TOptions> : {});
|
|
26
30
|
export type TableOptionsInput = Partial<{
|
|
27
31
|
indexes: SqliteDsl.Index[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-def.d.ts","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAkB,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAEvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,eAAO,MAAQ,IAAI,8BAAE,OAAO,4DAAE,MAAM,+GAAE,QAAQ,sDAAE,OAAO,iCAAE,kBAAkB,qEAAE,IAAI,wDAAE,IAAI,8BAAE,IAAI,4BAAc,CAAA;AAE3G,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAE/C,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;AACxF,MAAM,MAAM,gCAAgC,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAA;AAE7G,MAAM,MAAM,YAAY,CACtB,UAAU,SAAS,qBAAqB,GAAG,gCAAgC,EAC3E,QAAQ,SAAS,YAAY,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"table-def.d.ts","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/table-def.js
CHANGED
|
@@ -44,7 +44,13 @@ export const table = (name, columnOrColumns, options) => {
|
|
|
44
44
|
}
|
|
45
45
|
const isSingleColumn = SqliteDsl.isColumnDefinition(columnOrColumns) === true;
|
|
46
46
|
const schema = SqliteDsl.structSchemaForTable(sqliteDef);
|
|
47
|
-
const
|
|
47
|
+
const insertSchema = SqliteDsl.insertStructSchemaForTable(sqliteDef);
|
|
48
|
+
const tableDef = {
|
|
49
|
+
sqliteDef,
|
|
50
|
+
options: options_,
|
|
51
|
+
schema,
|
|
52
|
+
insertSchema,
|
|
53
|
+
};
|
|
48
54
|
const query = makeQueryBuilder(tableDef);
|
|
49
55
|
// const tableDef = { ...tableDefBase, query } satisfies TableDef
|
|
50
56
|
// NOTE we're currently patching the existing tableDef object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-def.js","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"table-def.js","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/sync.d.ts
CHANGED
|
@@ -40,6 +40,13 @@ export type SyncBackend<TSyncMetadata = Schema.JsonValue> = {
|
|
|
40
40
|
metadata: ReadonlyArray<Option.Option<TSyncMetadata>>;
|
|
41
41
|
}, IsOfflineError | InvalidPushError, HttpClient.HttpClient>;
|
|
42
42
|
isConnected: SubscriptionRef.SubscriptionRef<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Metadata describing the sync backend.
|
|
45
|
+
*/
|
|
46
|
+
metadata: {
|
|
47
|
+
name: string;
|
|
48
|
+
description: string;
|
|
49
|
+
} & Record<string, Schema.JsonValue>;
|
|
43
50
|
};
|
|
44
51
|
declare const IsOfflineError_base: Schema.TaggedErrorClass<IsOfflineError, "IsOfflineError", {
|
|
45
52
|
readonly _tag: Schema.tag<"IsOfflineError">;
|
package/dist/sync/sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,aAAa,MAAM,4BAA4B,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACrC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,sBAAsB,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,CACrE,IAAI,EAAE,eAAe,KAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AAEpG,MAAM,MAAM,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI;IAC1D,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;QACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;KACvC,CAAC,KACC,MAAM,CAAC,MAAM,CAChB;QACE,KAAK,EAAE,aAAa,CAAC;YACnB,oBAAoB,EAAE,aAAa,CAAC,gBAAgB,CAAA;YACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;SACvC,CAAC,CAAA;QACF,SAAS,EAAE,MAAM,CAAA;KAClB,EACD,cAAc,GAAG,gBAAgB,EACjC,UAAU,CAAC,UAAU,CACtB,CAAA;IAED,IAAI,EAAE;IACJ;;;;SAIK;IACL,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,KACjD,MAAM,CAAC,MAAM,CAChB;QACE,sCAAsC;QACtC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;KACtD,EACD,cAAc,GAAG,gBAAgB,EACjC,UAAU,CAAC,UAAU,CACtB,CAAA;IACD,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzG,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,aAAa,MAAM,4BAA4B,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAA;IACrC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,sBAAsB,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI,CACrE,IAAI,EAAE,eAAe,KAClB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AAEpG,MAAM,MAAM,WAAW,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,IAAI;IAC1D,IAAI,EAAE,CACJ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC,OAAO,CAAA;QACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;KACvC,CAAC,KACC,MAAM,CAAC,MAAM,CAChB;QACE,KAAK,EAAE,aAAa,CAAC;YACnB,oBAAoB,EAAE,aAAa,CAAC,gBAAgB,CAAA;YACpD,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;SACvC,CAAC,CAAA;QACF,SAAS,EAAE,MAAM,CAAA;KAClB,EACD,cAAc,GAAG,gBAAgB,EACjC,UAAU,CAAC,UAAU,CACtB,CAAA;IAED,IAAI,EAAE;IACJ;;;;SAIK;IACL,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,KACjD,MAAM,CAAC,MAAM,CAChB;QACE,sCAAsC;QACtC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;KACtD,EACD,cAAc,GAAG,gBAAgB,EACjC,UAAU,CAAC,UAAU,CACtB,CAAA;IACD,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACrD;;OAEG;IACH,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;CACnF,CAAA;;;;AAED,qBAAa,cAAe,SAAQ,mBAA0D;CAAG;;;;;;;;;;;AAEjG,qBAAa,gBAAiB,SAAQ,qBAUpC;CAAG;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG;;;;;;;;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG"}
|
package/dist/sync/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIhD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AA8D/C,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,WAAW,EAAkB,CAAC,gBAAgB,EAAE,EAAE,CAAC;CAAG;AAEjG,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,MAAM,EAAE,MAAM,CAAC,KAAK,CAClB,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC,MAAM;KACvB,CAAC,EACF,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;QACjC,iBAAiB,EAAE,MAAM,CAAC,MAAM;QAChC,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B,CAAC,CACH;CACF,CAAC;CAAG;AAEL,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG;AAEL,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,iBAAiB,EAAE,OAAO,CAAC,OAAO;IAClC,UAAU,EAAE,OAAO,CAAC,OAAO;IAC3B,4EAA4E;IAC5E,iCAAiC;CAClC,CAAC;CAAG"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const liveStoreVersion: "0.3.0-dev.
|
|
1
|
+
export declare const liveStoreVersion: "0.3.0-dev.24";
|
|
2
2
|
/**
|
|
3
3
|
* This version number is incremented whenever the internal storage format changes in a breaking way.
|
|
4
4
|
* Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
|
package/dist/version.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// TODO bring back when Expo and Playwright supports `with` imports
|
|
2
2
|
// import packageJson from '../package.json' with { type: 'json' }
|
|
3
3
|
// export const liveStoreVersion = packageJson.version
|
|
4
|
-
export const liveStoreVersion = '0.3.0-dev.
|
|
4
|
+
export const liveStoreVersion = '0.3.0-dev.24';
|
|
5
5
|
/**
|
|
6
6
|
* This version number is incremented whenever the internal storage format changes in a breaking way.
|
|
7
7
|
* Whenever this version changes, LiveStore will start with fresh database files. Old database files are not deleted.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/common",
|
|
3
|
-
"version": "0.0.0-snapshot-
|
|
3
|
+
"version": "0.0.0-snapshot-f6ec49b1a18859aad769f0a0d8edf8bae231ed07",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"graphology": "0.26.0-alpha1",
|
|
55
55
|
"graphology-dag": "0.4.1",
|
|
56
56
|
"graphology-types": "0.24.8",
|
|
57
|
-
"@livestore/utils": "0.0.0-snapshot-
|
|
57
|
+
"@livestore/utils": "0.0.0-snapshot-f6ec49b1a18859aad769f0a0d8edf8bae231ed07"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"vitest": "^3.0.8"
|
|
@@ -707,7 +707,9 @@ const rollback = ({
|
|
|
707
707
|
sql`SELECT * FROM ${SESSION_CHANGESET_META_TABLE} WHERE (idGlobal, idClient) IN (${eventIdsToRollback.map((id) => `(${id.global}, ${id.client})`).join(', ')})`,
|
|
708
708
|
)
|
|
709
709
|
.map((_) => ({ id: { global: _.idGlobal, client: _.idClient }, changeset: _.changeset, debug: _.debug }))
|
|
710
|
-
.
|
|
710
|
+
.sort((a, b) => EventId.compare(a.id, b.id))
|
|
711
|
+
// TODO bring back `.toSorted` once Expo supports it
|
|
712
|
+
// .toSorted((a, b) => EventId.compare(a.id, b.id))
|
|
711
713
|
|
|
712
714
|
// Apply changesets in reverse order
|
|
713
715
|
for (let i = rollbackEvents.length - 1; i >= 0; i--) {
|
|
@@ -278,7 +278,7 @@ const listenToDevtools = ({
|
|
|
278
278
|
case 'LSD.Leader.SyncingInfoReq': {
|
|
279
279
|
const syncingInfo = Devtools.Leader.SyncingInfo.make({
|
|
280
280
|
enabled: syncBackend !== undefined,
|
|
281
|
-
metadata: {},
|
|
281
|
+
metadata: syncBackend?.metadata ?? {},
|
|
282
282
|
})
|
|
283
283
|
|
|
284
284
|
yield* sendMessage(Devtools.Leader.SyncingInfoRes.make({ syncingInfo, ...reqPayload }))
|
package/src/mutation.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { Schema } from '@livestore/utils/effect'
|
|
2
2
|
|
|
3
3
|
import { SessionIdSymbol } from './adapter-types.js'
|
|
4
|
+
import type { QueryBuilder } from './query-builder/api.js'
|
|
5
|
+
import { isQueryBuilder } from './query-builder/api.js'
|
|
4
6
|
import type * as MutationEvent from './schema/MutationEvent.js'
|
|
5
|
-
import type { MutationDef } from './schema/mutations.js'
|
|
7
|
+
import type { MutationDef, MutationHandlerResult } from './schema/mutations.js'
|
|
8
|
+
import type { BindValues } from './sql-queries/sql-queries.js'
|
|
6
9
|
import type { PreparedBindValues } from './util.js'
|
|
7
10
|
import { prepareBindValues } from './util.js'
|
|
8
11
|
|
|
@@ -34,8 +37,22 @@ export const getExecArgsFromMutation = ({
|
|
|
34
37
|
case 'function': {
|
|
35
38
|
const mutationArgsDecoded =
|
|
36
39
|
mutationEvent.decoded?.args ?? Schema.decodeUnknownSync(mutationDef.schema)(mutationEvent.encoded!.args)
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
|
|
41
|
+
const res = mutationDef.sql(mutationArgsDecoded, {
|
|
42
|
+
clientOnly: mutationDef.options.clientOnly,
|
|
43
|
+
// TODO properly implement this
|
|
44
|
+
currentFacts: new Map(),
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
statementRes = (Array.isArray(res) ? res : [res]).map((_: QueryBuilder.Any | MutationHandlerResult) => {
|
|
48
|
+
if (isQueryBuilder(_)) {
|
|
49
|
+
const { query, bindValues } = _.asSql()
|
|
50
|
+
return { sql: query, bindValues: bindValues as BindValues }
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return _
|
|
54
|
+
})
|
|
55
|
+
|
|
39
56
|
break
|
|
40
57
|
}
|
|
41
58
|
case 'string': {
|
package/src/query-builder/api.ts
CHANGED
|
@@ -7,10 +7,16 @@ import type { SqliteDsl } from '../schema/db-schema/mod.js'
|
|
|
7
7
|
import type { DbSchema } from '../schema/mod.js'
|
|
8
8
|
import type { SqlValue } from '../util.js'
|
|
9
9
|
|
|
10
|
-
export type QueryBuilderAst =
|
|
10
|
+
export type QueryBuilderAst =
|
|
11
|
+
| QueryBuilderAst.SelectQuery
|
|
12
|
+
| QueryBuilderAst.CountQuery
|
|
13
|
+
| QueryBuilderAst.RowQuery
|
|
14
|
+
| QueryBuilderAst.InsertQuery
|
|
15
|
+
| QueryBuilderAst.UpdateQuery
|
|
16
|
+
| QueryBuilderAst.DeleteQuery
|
|
11
17
|
|
|
12
18
|
export namespace QueryBuilderAst {
|
|
13
|
-
export
|
|
19
|
+
export interface SelectQuery {
|
|
14
20
|
readonly _tag: 'SelectQuery'
|
|
15
21
|
readonly columns: string[]
|
|
16
22
|
readonly pickFirst: false | { fallback: () => any }
|
|
@@ -25,27 +31,67 @@ export namespace QueryBuilderAst {
|
|
|
25
31
|
readonly resultSchemaSingle: Schema.Schema<any>
|
|
26
32
|
}
|
|
27
33
|
|
|
28
|
-
export
|
|
34
|
+
export interface CountQuery {
|
|
29
35
|
readonly _tag: 'CountQuery'
|
|
30
36
|
readonly tableDef: DbSchema.TableDefBase
|
|
31
37
|
readonly where: ReadonlyArray<QueryBuilderAst.Where>
|
|
32
38
|
readonly resultSchema: Schema.Schema<number, ReadonlyArray<{ count: number }>>
|
|
33
39
|
}
|
|
34
40
|
|
|
35
|
-
export
|
|
41
|
+
export interface RowQuery {
|
|
36
42
|
readonly _tag: 'RowQuery'
|
|
37
43
|
readonly tableDef: DbSchema.TableDefBase
|
|
38
44
|
readonly id: string | SessionIdSymbol | number
|
|
39
45
|
readonly insertValues: Record<string, unknown>
|
|
40
46
|
}
|
|
41
47
|
|
|
42
|
-
export
|
|
48
|
+
export interface InsertQuery {
|
|
49
|
+
readonly _tag: 'InsertQuery'
|
|
50
|
+
readonly tableDef: DbSchema.TableDefBase
|
|
51
|
+
readonly values: Record<string, unknown>
|
|
52
|
+
readonly onConflict: OnConflict | undefined
|
|
53
|
+
readonly returning: string[] | undefined
|
|
54
|
+
readonly resultSchema: Schema.Schema<any>
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface OnConflict {
|
|
58
|
+
/** Conflicting column name */
|
|
59
|
+
readonly target: string
|
|
60
|
+
readonly action:
|
|
61
|
+
| { readonly _tag: 'ignore' }
|
|
62
|
+
| { readonly _tag: 'replace' }
|
|
63
|
+
| {
|
|
64
|
+
readonly _tag: 'update'
|
|
65
|
+
readonly update: Record<string, unknown>
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface UpdateQuery {
|
|
70
|
+
readonly _tag: 'UpdateQuery'
|
|
71
|
+
readonly tableDef: DbSchema.TableDefBase
|
|
72
|
+
readonly values: Record<string, unknown>
|
|
73
|
+
readonly where: ReadonlyArray<QueryBuilderAst.Where>
|
|
74
|
+
readonly returning: string[] | undefined
|
|
75
|
+
readonly resultSchema: Schema.Schema<any>
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface DeleteQuery {
|
|
79
|
+
readonly _tag: 'DeleteQuery'
|
|
80
|
+
readonly tableDef: DbSchema.TableDefBase
|
|
81
|
+
readonly where: ReadonlyArray<QueryBuilderAst.Where>
|
|
82
|
+
readonly returning: string[] | undefined
|
|
83
|
+
readonly resultSchema: Schema.Schema<any>
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export type WriteQuery = InsertQuery | UpdateQuery | DeleteQuery
|
|
87
|
+
|
|
88
|
+
export interface Where {
|
|
43
89
|
readonly col: string
|
|
44
90
|
readonly op: QueryBuilder.WhereOps
|
|
45
91
|
readonly value: unknown
|
|
46
92
|
}
|
|
47
93
|
|
|
48
|
-
export
|
|
94
|
+
export interface OrderBy {
|
|
49
95
|
readonly col: string
|
|
50
96
|
readonly direction: 'asc' | 'desc'
|
|
51
97
|
}
|
|
@@ -86,7 +132,20 @@ export namespace QueryBuilder {
|
|
|
86
132
|
export type MultiValue = In
|
|
87
133
|
}
|
|
88
134
|
|
|
89
|
-
export type ApiFeature =
|
|
135
|
+
export type ApiFeature =
|
|
136
|
+
| 'select'
|
|
137
|
+
| 'where'
|
|
138
|
+
| 'count'
|
|
139
|
+
| 'orderBy'
|
|
140
|
+
| 'offset'
|
|
141
|
+
| 'limit'
|
|
142
|
+
| 'first'
|
|
143
|
+
| 'row'
|
|
144
|
+
| 'insert'
|
|
145
|
+
| 'update'
|
|
146
|
+
| 'delete'
|
|
147
|
+
| 'returning'
|
|
148
|
+
| 'onConflict'
|
|
90
149
|
|
|
91
150
|
export type WhereParams<TTableDef extends DbSchema.TableDefBase> = Partial<{
|
|
92
151
|
[K in keyof TTableDef['sqliteDef']['columns']]:
|
|
@@ -130,7 +189,7 @@ export namespace QueryBuilder {
|
|
|
130
189
|
readonly [K in TColumn]: TTableDef['sqliteDef']['columns'][K]['schema']['Type']
|
|
131
190
|
}>,
|
|
132
191
|
TTableDef,
|
|
133
|
-
TWithout | 'row' | 'select',
|
|
192
|
+
TWithout | 'row' | 'select' | 'returning' | 'onConflict',
|
|
134
193
|
TQueryInfo
|
|
135
194
|
>
|
|
136
195
|
<TColumns extends keyof TTableDef['sqliteDef']['columns'] & string>(
|
|
@@ -142,7 +201,7 @@ export namespace QueryBuilder {
|
|
|
142
201
|
readonly [K in TColumns]: TTableDef['sqliteDef']['columns'][K]['schema']['Type']
|
|
143
202
|
}>,
|
|
144
203
|
TTableDef,
|
|
145
|
-
TWithout | 'row' | 'select' | 'count',
|
|
204
|
+
TWithout | 'row' | 'select' | 'count' | 'returning' | 'onConflict',
|
|
146
205
|
TQueryInfo
|
|
147
206
|
>
|
|
148
207
|
}
|
|
@@ -187,7 +246,7 @@ export namespace QueryBuilder {
|
|
|
187
246
|
readonly count: () => QueryBuilder<
|
|
188
247
|
number,
|
|
189
248
|
TTableDef,
|
|
190
|
-
TWithout | 'row' | 'count' | 'select' | 'orderBy' | 'first' | 'offset' | 'limit',
|
|
249
|
+
TWithout | 'row' | 'count' | 'select' | 'orderBy' | 'first' | 'offset' | 'limit' | 'returning' | 'onConflict',
|
|
191
250
|
TQueryInfo
|
|
192
251
|
>
|
|
193
252
|
|
|
@@ -201,10 +260,10 @@ export namespace QueryBuilder {
|
|
|
201
260
|
<TColName extends keyof TTableDef['sqliteDef']['columns'] & string>(
|
|
202
261
|
col: TColName,
|
|
203
262
|
direction: 'asc' | 'desc',
|
|
204
|
-
): QueryBuilder<TResult, TTableDef, TWithout, TQueryInfo>
|
|
263
|
+
): QueryBuilder<TResult, TTableDef, TWithout | 'returning' | 'onConflict', TQueryInfo>
|
|
205
264
|
<TParams extends QueryBuilder.OrderByParams<TTableDef>>(
|
|
206
265
|
params: TParams,
|
|
207
|
-
): QueryBuilder<TResult, TTableDef, TWithout, TQueryInfo>
|
|
266
|
+
): QueryBuilder<TResult, TTableDef, TWithout | 'returning' | 'onConflict', TQueryInfo>
|
|
208
267
|
}
|
|
209
268
|
|
|
210
269
|
/**
|
|
@@ -215,7 +274,12 @@ export namespace QueryBuilder {
|
|
|
215
274
|
*/
|
|
216
275
|
readonly offset: (
|
|
217
276
|
offset: number,
|
|
218
|
-
) => QueryBuilder<
|
|
277
|
+
) => QueryBuilder<
|
|
278
|
+
TResult,
|
|
279
|
+
TTableDef,
|
|
280
|
+
TWithout | 'row' | 'offset' | 'orderBy' | 'returning' | 'onConflict',
|
|
281
|
+
TQueryInfo
|
|
282
|
+
>
|
|
219
283
|
|
|
220
284
|
/**
|
|
221
285
|
* Example:
|
|
@@ -225,7 +289,12 @@ export namespace QueryBuilder {
|
|
|
225
289
|
*/
|
|
226
290
|
readonly limit: (
|
|
227
291
|
limit: number,
|
|
228
|
-
) => QueryBuilder<
|
|
292
|
+
) => QueryBuilder<
|
|
293
|
+
TResult,
|
|
294
|
+
TTableDef,
|
|
295
|
+
TWithout | 'row' | 'limit' | 'offset' | 'first' | 'orderBy' | 'returning' | 'onConflict',
|
|
296
|
+
TQueryInfo
|
|
297
|
+
>
|
|
229
298
|
|
|
230
299
|
/**
|
|
231
300
|
* Example:
|
|
@@ -238,7 +307,7 @@ export namespace QueryBuilder {
|
|
|
238
307
|
}) => QueryBuilder<
|
|
239
308
|
TFallback | GetSingle<TResult>,
|
|
240
309
|
TTableDef,
|
|
241
|
-
TWithout | 'row' | 'first' | 'orderBy' | 'select' | 'limit' | 'offset' | 'where',
|
|
310
|
+
TWithout | 'row' | 'first' | 'orderBy' | 'select' | 'limit' | 'offset' | 'where' | 'returning' | 'onConflict',
|
|
242
311
|
TQueryInfo
|
|
243
312
|
>
|
|
244
313
|
|
|
@@ -258,6 +327,114 @@ export namespace QueryBuilder {
|
|
|
258
327
|
id: string | SessionIdSymbol | number,
|
|
259
328
|
opts: TOptions,
|
|
260
329
|
) => QueryBuilder<RowQuery.Result<TTableDef>, TTableDef, QueryBuilder.ApiFeature, QueryInfo.Row>
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Insert a new row into the table
|
|
333
|
+
*
|
|
334
|
+
* Example:
|
|
335
|
+
* ```ts
|
|
336
|
+
* db.todos.insert({ id: '123', text: 'Buy milk', status: 'active' })
|
|
337
|
+
* ```
|
|
338
|
+
*/
|
|
339
|
+
readonly insert: (
|
|
340
|
+
values: TTableDef['insertSchema']['Type'],
|
|
341
|
+
) => QueryBuilder<
|
|
342
|
+
TResult,
|
|
343
|
+
TTableDef,
|
|
344
|
+
TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where',
|
|
345
|
+
QueryInfo.Write
|
|
346
|
+
>
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Example: If the row already exists, it will be ignored.
|
|
350
|
+
* ```ts
|
|
351
|
+
* db.todos.insert({ id: '123', text: 'Buy milk', status: 'active' }).onConflict('id', 'ignore')
|
|
352
|
+
* ```
|
|
353
|
+
*
|
|
354
|
+
* Example: If the row already exists, it will be replaced.
|
|
355
|
+
* ```ts
|
|
356
|
+
* db.todos.insert({ id: '123', text: 'Buy milk', status: 'active' }).onConflict('id', 'replace')
|
|
357
|
+
* ```
|
|
358
|
+
*
|
|
359
|
+
* Example: If the row already exists, it will be updated.
|
|
360
|
+
* ```ts
|
|
361
|
+
* db.todos.insert({ id: '123', text: 'Buy milk', status: 'active' }).onConflict('id', 'update', { text: 'Buy soy milk' })
|
|
362
|
+
* ```
|
|
363
|
+
*
|
|
364
|
+
* NOTE This API doesn't yet support composite primary keys.
|
|
365
|
+
*/
|
|
366
|
+
readonly onConflict: {
|
|
367
|
+
(
|
|
368
|
+
target: string,
|
|
369
|
+
action: 'ignore' | 'replace',
|
|
370
|
+
): QueryBuilder<
|
|
371
|
+
TResult,
|
|
372
|
+
TTableDef,
|
|
373
|
+
TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where',
|
|
374
|
+
TQueryInfo
|
|
375
|
+
>
|
|
376
|
+
<TTarget extends keyof TTableDef['sqliteDef']['columns'] & string>(
|
|
377
|
+
target: TTarget,
|
|
378
|
+
action: 'update',
|
|
379
|
+
updateValues: Partial<TTableDef['schema']['Type']>,
|
|
380
|
+
): QueryBuilder<
|
|
381
|
+
TResult,
|
|
382
|
+
TTableDef,
|
|
383
|
+
TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'where',
|
|
384
|
+
TQueryInfo
|
|
385
|
+
>
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Similar to the `.select` API but for write queries (insert, update, delete).
|
|
390
|
+
*
|
|
391
|
+
* Example:
|
|
392
|
+
* ```ts
|
|
393
|
+
* db.todos.insert({ id: '123', text: 'Buy milk', status: 'active' }).returning('id')
|
|
394
|
+
* ```
|
|
395
|
+
*/
|
|
396
|
+
readonly returning: <TColumns extends keyof TTableDef['sqliteDef']['columns'] & string>(
|
|
397
|
+
...columns: TColumns[]
|
|
398
|
+
) => QueryBuilder<
|
|
399
|
+
ReadonlyArray<{
|
|
400
|
+
readonly [K in TColumns]: TTableDef['sqliteDef']['columns'][K]['schema']['Type']
|
|
401
|
+
}>,
|
|
402
|
+
TTableDef
|
|
403
|
+
>
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Update rows in the table that match the where clause
|
|
407
|
+
*
|
|
408
|
+
* Example:
|
|
409
|
+
* ```ts
|
|
410
|
+
* db.todos.update({ status: 'completed' }).where({ id: '123' })
|
|
411
|
+
* ```
|
|
412
|
+
*/
|
|
413
|
+
readonly update: (
|
|
414
|
+
values: Partial<TTableDef['schema']['Type']>,
|
|
415
|
+
) => QueryBuilder<
|
|
416
|
+
TResult,
|
|
417
|
+
TTableDef,
|
|
418
|
+
TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'onConflict',
|
|
419
|
+
QueryInfo.Write
|
|
420
|
+
>
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Delete rows from the table that match the where clause
|
|
424
|
+
*
|
|
425
|
+
* Example:
|
|
426
|
+
* ```ts
|
|
427
|
+
* db.todos.delete().where({ status: 'completed' })
|
|
428
|
+
* ```
|
|
429
|
+
*
|
|
430
|
+
* Note that it's generally recommended to do soft-deletes for synced apps.
|
|
431
|
+
*/
|
|
432
|
+
readonly delete: () => QueryBuilder<
|
|
433
|
+
TResult,
|
|
434
|
+
TTableDef,
|
|
435
|
+
TWithout | 'row' | 'select' | 'count' | 'orderBy' | 'first' | 'offset' | 'limit' | 'onConflict',
|
|
436
|
+
QueryInfo.Write
|
|
437
|
+
>
|
|
261
438
|
}
|
|
262
439
|
}
|
|
263
440
|
|