@livestore/common 0.0.0-snapshot-322427282986a0f47fbb01c6d941c01d7b590ab1 → 0.0.0-snapshot-ba25981b6de87a90976fc39e1c2551844d384a05

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/__tests__/fixture.d.ts +34 -46
  3. package/dist/__tests__/fixture.d.ts.map +1 -1
  4. package/dist/adapter-types.d.ts +1 -1
  5. package/dist/adapter-types.js +1 -1
  6. package/dist/derived-mutations.d.ts +4 -4
  7. package/dist/derived-mutations.d.ts.map +1 -1
  8. package/dist/derived-mutations.js.map +1 -1
  9. package/dist/devtools/devtools-messages.d.ts +45 -45
  10. package/dist/devtools/devtools-messages.js +1 -1
  11. package/dist/devtools/devtools-messages.js.map +1 -1
  12. package/dist/index.d.ts +0 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +0 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/mutation.d.ts +1 -1
  17. package/dist/mutation.d.ts.map +1 -1
  18. package/dist/mutation.js +1 -6
  19. package/dist/mutation.js.map +1 -1
  20. package/dist/query-info.d.ts +39 -29
  21. package/dist/query-info.d.ts.map +1 -1
  22. package/dist/query-info.js +35 -4
  23. package/dist/query-info.js.map +1 -1
  24. package/dist/schema/index.d.ts +2 -2
  25. package/dist/schema/index.d.ts.map +1 -1
  26. package/dist/schema/index.js +0 -1
  27. package/dist/schema/index.js.map +1 -1
  28. package/dist/schema/schema-helpers.d.ts +2 -2
  29. package/dist/schema/schema-helpers.d.ts.map +1 -1
  30. package/dist/schema/system-tables.d.ts +204 -246
  31. package/dist/schema/system-tables.d.ts.map +1 -1
  32. package/dist/schema/table-def.d.ts +24 -45
  33. package/dist/schema/table-def.d.ts.map +1 -1
  34. package/dist/schema/table-def.js +1 -10
  35. package/dist/schema/table-def.js.map +1 -1
  36. package/dist/version.d.ts +1 -1
  37. package/dist/version.d.ts.map +1 -1
  38. package/dist/version.js +1 -1
  39. package/dist/version.js.map +1 -1
  40. package/package.json +3 -3
  41. package/src/adapter-types.ts +1 -1
  42. package/src/derived-mutations.ts +8 -4
  43. package/src/devtools/devtools-messages.ts +1 -1
  44. package/src/index.ts +0 -1
  45. package/src/mutation.ts +2 -9
  46. package/src/query-info.ts +93 -66
  47. package/src/schema/index.ts +2 -4
  48. package/src/schema/schema-helpers.ts +2 -2
  49. package/src/schema/table-def.ts +68 -99
  50. package/src/version.ts +1 -1
  51. package/dist/query-builder/api.d.ts +0 -190
  52. package/dist/query-builder/api.d.ts.map +0 -1
  53. package/dist/query-builder/api.js +0 -8
  54. package/dist/query-builder/api.js.map +0 -1
  55. package/dist/query-builder/impl.d.ts +0 -12
  56. package/dist/query-builder/impl.d.ts.map +0 -1
  57. package/dist/query-builder/impl.js +0 -226
  58. package/dist/query-builder/impl.js.map +0 -1
  59. package/dist/query-builder/impl.test.d.ts +0 -2
  60. package/dist/query-builder/impl.test.d.ts.map +0 -1
  61. package/dist/query-builder/impl.test.js +0 -183
  62. package/dist/query-builder/impl.test.js.map +0 -1
  63. package/dist/query-builder/mod.d.ts +0 -10
  64. package/dist/query-builder/mod.d.ts.map +0 -1
  65. package/dist/query-builder/mod.js +0 -10
  66. package/dist/query-builder/mod.js.map +0 -1
  67. package/src/query-builder/api.ts +0 -288
  68. package/src/query-builder/impl.test.ts +0 -205
  69. package/src/query-builder/impl.ts +0 -268
  70. package/src/query-builder/mod.ts +0 -10
@@ -2,40 +2,28 @@ import type { Nullable, PrettifyFlat } from '@livestore/db-schema';
2
2
  import { SqliteDsl } from '@livestore/db-schema';
3
3
  import { Schema } from '@livestore/utils/effect';
4
4
  import type { DerivedMutationHelperFns } from '../derived-mutations.js';
5
- import type { QueryBuilder } from '../query-builder/mod.js';
6
5
  export declare const blob: SqliteDsl.ColDefFn<"blob">, boolean: SqliteDsl.SpecializedColDefFn<"integer", false, boolean>, column: <TColumnType extends SqliteDsl.FieldColumnType>(columnType: TColumnType) => SqliteDsl.ColDefFn<TColumnType>, datetime: SqliteDsl.SpecializedColDefFn<"text", false, Date>, integer: SqliteDsl.ColDefFn<"integer">, isColumnDefinition: (value: unknown) => value is SqliteDsl.ColumnDefinition<any, any>, json: SqliteDsl.SpecializedColDefFn<"text", true, unknown>, real: SqliteDsl.ColDefFn<"real">, text: SqliteDsl.ColDefFn<"text">;
7
- export { SqliteDsl } from '@livestore/db-schema';
6
+ export { type SqliteDsl } from '@livestore/db-schema';
8
7
  export type StateType = 'singleton' | 'dynamic';
9
8
  export type DefaultSqliteTableDef = SqliteDsl.TableDefinition<string, SqliteDsl.Columns>;
10
9
  export type DefaultSqliteTableDefConstrained = SqliteDsl.TableDefinition<string, SqliteDsl.ConstraintColumns>;
11
- export type TableDefBase<TSqliteDef extends DefaultSqliteTableDef = DefaultSqliteTableDefConstrained, TOptions extends TableOptions = TableOptions, TSchema = SqliteDsl.StructSchemaForColumns<TSqliteDef['columns']>> = {
12
- sqliteDef: TSqliteDef;
13
- options: TOptions;
14
- schema: TSchema;
15
- };
16
- export type TableDef<TSqliteDef extends DefaultSqliteTableDef = DefaultSqliteTableDefConstrained, TOptions extends TableOptions = TableOptions, TSchema = Schema.Schema<SqliteDsl.AnyIfConstained<TSqliteDef['columns'], {
17
- readonly [K in keyof TSqliteDef['columns']]: TSqliteDef['columns'][K]['schema']['Type'];
10
+ export type TableDef<TSqliteDef extends DefaultSqliteTableDef = DefaultSqliteTableDefConstrained, TIsSingleColumn extends boolean = boolean, TOptions extends TableOptions = TableOptions, TSchema = Schema.Schema<SqliteDsl.AnyIfConstained<TSqliteDef['columns'], {
11
+ readonly [K in keyof TSqliteDef['columns']]: Schema.Schema.Type<TSqliteDef['columns'][K]['schema']>;
18
12
  }>, SqliteDsl.AnyIfConstained<TSqliteDef['columns'], {
19
- readonly [K in keyof TSqliteDef['columns']]: TSqliteDef['columns'][K]['schema']['Encoded'];
13
+ readonly [K in keyof TSqliteDef['columns']]: Schema.Schema.Encoded<TSqliteDef['columns'][K]['schema']>;
20
14
  }>>> = {
21
15
  sqliteDef: TSqliteDef;
16
+ isSingleColumn: TIsSingleColumn;
22
17
  options: TOptions;
23
18
  schema: TSchema;
24
- query: QueryBuilder<ReadonlyArray<Schema.Schema.Type<TSchema>>, TableDef<TSqliteDef & {}, TOptions>>;
25
19
  } & (TOptions['deriveMutations']['enabled'] extends true ? DerivedMutationHelperFns<TSqliteDef['columns'], TOptions> : {});
26
- export type TableOptionsInput = Partial<{
20
+ export type TableOptionsInput = Partial<Omit<TableOptions, 'isSingleColumn' | 'deriveMutations'> & {
27
21
  indexes: SqliteDsl.Index[];
28
- disableAutomaticIdColumn: boolean;
29
- isSingleton: boolean;
30
22
  deriveMutations: boolean | {
31
23
  enabled: true;
32
24
  localOnly?: boolean;
33
25
  };
34
26
  }>;
35
- type ToColumns<TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>> = TColumns extends SqliteDsl.Columns ? TColumns : TColumns extends SqliteDsl.ColumnDefinition<any, any> ? {
36
- value: TColumns;
37
- } : never;
38
- type ValidateTableOptionsInput<TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>, TOptionsInput extends TableOptionsInput, TPassthroughIfValid> = SqliteDsl.FromColumns.RequiresInsertValues<ToColumns<TColumns>> extends true ? TOptionsInput['isSingleton'] extends true ? 'Error: To use `isSingleton: true` with this table, each column must have a default value or be nullable' : TPassthroughIfValid : TPassthroughIfValid;
39
27
  export type TableOptions = {
40
28
  /**
41
29
  * Setting this to true will have the following consequences:
@@ -45,8 +33,8 @@ export type TableOptions = {
45
33
  *
46
34
  * @default false
47
35
  */
48
- readonly isSingleton: boolean;
49
- readonly disableAutomaticIdColumn: boolean;
36
+ isSingleton: boolean;
37
+ disableAutomaticIdColumn: boolean;
50
38
  /**
51
39
  * Setting this to true will automatically derive insert, update and delete mutations for this table. Example:
52
40
  *
@@ -59,7 +47,7 @@ export type TableOptions = {
59
47
  *
60
48
  * Important: When using this option, make sure you're following the "Rules of mutations" for the table schema.
61
49
  */
62
- readonly deriveMutations: {
50
+ deriveMutations: {
63
51
  enabled: false;
64
52
  } | {
65
53
  enabled: true;
@@ -69,25 +57,18 @@ export type TableOptions = {
69
57
  localOnly: boolean;
70
58
  };
71
59
  /** Derived based on whether the table definition has one or more columns (besides the `id` column) */
72
- readonly isSingleColumn: boolean;
73
- /**
74
- * Derived based on whether the table definition has one or more columns (besides the `id` column) that require
75
- * insert values (i.e. are not nullable and don't have a default value)
76
- *
77
- * `isSingleton` tables always imply `requiresInsertValues: false`
78
- */
79
- readonly requiredInsertColumnNames: string;
60
+ isSingleColumn: boolean;
80
61
  };
81
- export declare const table: <TName extends string, TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>, TOptionsInput extends TableOptionsInput = Partial<{
62
+ export declare const table: <TName extends string, TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>, const TOptionsInput extends TableOptionsInput = Partial<Omit<TableOptions, "deriveMutations" | "isSingleColumn"> & {
82
63
  indexes: SqliteDsl.Index[];
83
- disableAutomaticIdColumn: boolean;
84
- isSingleton: boolean;
85
64
  deriveMutations: boolean | {
86
65
  enabled: true;
87
66
  localOnly?: boolean;
88
67
  };
89
- }>>(name: TName, columnOrColumns: TColumns, options?: TOptionsInput) => ValidateTableOptionsInput<TColumns, TOptionsInput, TableDef<SqliteTableDefForInput<TName, TColumns, WithDefaults<TOptionsInput, TColumns>>, WithDefaults<TOptionsInput, TColumns>>>;
90
- export declare const tableHasDerivedMutations: <TTableDef extends TableDefBase>(tableDef: TTableDef) => tableDef is TTableDef & {
68
+ }>>(name: TName, columnOrColumns: TColumns, options?: TOptionsInput) => TableDef<SqliteDsl.TableDefinition<TName, PrettifyFlat<WithId<TColumns extends SqliteDsl.Columns ? TColumns : {
69
+ value: TColumns;
70
+ }, WithDefaults<TOptionsInput, SqliteDsl.IsSingleColumn<TColumns>>>>>, SqliteDsl.IsSingleColumn<TColumns>, WithDefaults<TOptionsInput, SqliteDsl.IsSingleColumn<TColumns>>>;
71
+ export declare const tableHasDerivedMutations: <TTableDef extends TableDef>(tableDef: TTableDef) => tableDef is TTableDef & {
91
72
  options: {
92
73
  deriveMutations: {
93
74
  enabled: true;
@@ -95,18 +76,17 @@ export declare const tableHasDerivedMutations: <TTableDef extends TableDefBase>(
95
76
  };
96
77
  };
97
78
  } & DerivedMutationHelperFns<TTableDef["sqliteDef"]["columns"], TTableDef["options"]>;
98
- export declare const tableIsSingleton: <TTableDef extends TableDefBase>(tableDef: TTableDef) => tableDef is TTableDef & {
79
+ export declare const tableIsSingleton: <TTableDef extends TableDef>(tableDef: TTableDef) => tableDef is TTableDef & {
99
80
  options: {
100
81
  isSingleton: true;
101
82
  };
102
83
  };
103
- type SqliteTableDefForInput<TName extends string, TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>, TOptions extends TableOptions> = SqliteDsl.TableDefinition<TName, PrettifyFlat<WithId<ToColumns<TColumns>, TOptions>>>;
104
84
  type WithId<TColumns extends SqliteDsl.Columns, TOptions extends TableOptions> = TColumns & ('id' extends keyof TColumns ? {} : TOptions['disableAutomaticIdColumn'] extends true ? {} : TOptions['isSingleton'] extends true ? {
105
85
  id: SqliteDsl.ColumnDefinition<'singleton', 'singleton'>;
106
86
  } : {
107
87
  id: SqliteDsl.ColumnDefinition<string, string>;
108
88
  });
109
- type WithDefaults<TOptionsInput extends TableOptionsInput, TColumns extends SqliteDsl.Columns | SqliteDsl.ColumnDefinition<any, any>> = {
89
+ type WithDefaults<TOptionsInput extends TableOptionsInput, TIsSingleColumn extends boolean> = {
110
90
  isSingleton: TOptionsInput['isSingleton'] extends true ? true : false;
111
91
  disableAutomaticIdColumn: TOptionsInput['disableAutomaticIdColumn'] extends true ? true : false;
112
92
  deriveMutations: TOptionsInput['deriveMutations'] extends true ? {
@@ -121,20 +101,19 @@ type WithDefaults<TOptionsInput extends TableOptionsInput, TColumns extends Sqli
121
101
  enabled: true;
122
102
  localOnly: TOptionsInput['deriveMutations']['localOnly'] extends true ? true : false;
123
103
  } : never;
124
- isSingleColumn: SqliteDsl.IsSingleColumn<TColumns>;
125
- requiredInsertColumnNames: SqliteDsl.FromColumns.RequiredInsertColumnNames<ToColumns<TColumns>>;
104
+ isSingleColumn: TIsSingleColumn;
126
105
  };
127
106
  export declare namespace FromTable {
128
- type RowDecoded<TTableDef extends TableDefBase> = PrettifyFlat<Nullable<Pick<RowDecodedAll<TTableDef>, NullableColumnNames<TTableDef>>> & Omit<RowDecodedAll<TTableDef>, NullableColumnNames<TTableDef>>>;
129
- type NullableColumnNames<TTableDef extends TableDefBase> = FromColumns.NullableColumnNames<TTableDef['sqliteDef']['columns']>;
130
- type Columns<TTableDef extends TableDefBase> = {
107
+ type RowDecoded<TTableDef extends TableDef> = PrettifyFlat<Nullable<Pick<RowDecodedAll<TTableDef>, NullableColumnNames<TTableDef>>> & Omit<RowDecodedAll<TTableDef>, NullableColumnNames<TTableDef>>>;
108
+ type NullableColumnNames<TTableDef extends TableDef> = FromColumns.NullableColumnNames<TTableDef['sqliteDef']['columns']>;
109
+ type Columns<TTableDef extends TableDef> = {
131
110
  [K in keyof TTableDef['sqliteDef']['columns']]: TTableDef['sqliteDef']['columns'][K]['columnType'];
132
111
  };
133
- type RowEncodeNonNullable<TTableDef extends TableDefBase> = {
112
+ type RowEncodeNonNullable<TTableDef extends TableDef> = {
134
113
  [K in keyof TTableDef['sqliteDef']['columns']]: Schema.Schema.Encoded<TTableDef['sqliteDef']['columns'][K]['schema']>;
135
114
  };
136
- type RowEncoded<TTableDef extends TableDefBase> = PrettifyFlat<Nullable<Pick<RowEncodeNonNullable<TTableDef>, NullableColumnNames<TTableDef>>> & Omit<RowEncodeNonNullable<TTableDef>, NullableColumnNames<TTableDef>>>;
137
- type RowDecodedAll<TTableDef extends TableDefBase> = {
115
+ type RowEncoded<TTableDef extends TableDef> = PrettifyFlat<Nullable<Pick<RowEncodeNonNullable<TTableDef>, NullableColumnNames<TTableDef>>> & Omit<RowEncodeNonNullable<TTableDef>, NullableColumnNames<TTableDef>>>;
116
+ type RowDecodedAll<TTableDef extends TableDef> = {
138
117
  [K in keyof TTableDef['sqliteDef']['columns']]: Schema.Schema.Type<TTableDef['sqliteDef']['columns'][K]['schema']>;
139
118
  };
140
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table-def.d.ts","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-def.d.ts","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAkB,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAGvE,eAAO,MAAQ,IAAI,8BAAE,OAAO,4DAAE,MAAM,+GAAE,QAAQ,sDAAE,OAAO,iCAAE,kBAAkB,qEAAE,IAAI,wDAAE,IAAI,8BAAE,IAAI,4BAAc,CAAA;AAE3G,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,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;AAyB7G,MAAM,MAAM,QAAQ,CAClB,UAAU,SAAS,qBAAqB,GAAG,gCAAgC,EAC3E,eAAe,SAAS,OAAO,GAAG,OAAO,EACzC,QAAQ,SAAS,YAAY,GAAG,YAAY,EAG5C,OAAO,GAAG,MAAM,CAAC,MAAM,CACrB,SAAS,CAAC,eAAe,CACvB,UAAU,CAAC,SAAS,CAAC,EACrB;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAAE,CACxG,EACD,SAAS,CAAC,eAAe,CACvB,UAAU,CAAC,SAAS,CAAC,EACrB;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAAE,CAC3G,CACF,IACC;IACF,SAAS,EAAE,UAAU,CAAA;IAErB,cAAc,EAAE,eAAe,CAAA;IAC/B,OAAO,EAAE,QAAQ,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACpD,wBAAwB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,GACzD,EAAE,CAAC,CAAA;AAEP,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,IAAI,CAAC,YAAY,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,GAAG;IACzD,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,CAAA;IAC1B,eAAe,EACX,OAAO,GACP;QACE,OAAO,EAAE,IAAI,CAAA;QACb,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAA;CACN,CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB,wBAAwB,EAAE,OAAO,CAAA;IACjC;;;;;;;;;;;OAWG;IACH,eAAe,EACX;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,GAClB;QACE,OAAO,EAAE,IAAI,CAAA;QACb;;WAEG;QACH,SAAS,EAAE,OAAO,CAAA;KACnB,CAAA;IACL,sGAAsG;IACtG,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,KAAK,GAChB,KAAK,SAAS,MAAM,EACpB,QAAQ,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,QACnE,aAAa,SAAS,iBAAiB;aAjDlC,SAAS,CAAC,KAAK,EAAE;qBAEtB,OAAO,GACP;QACE,OAAO,EAAE,IAAI,CAAA;QACb,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB;UA6CD,KAAK,mBACM,QAAQ,YACf,aAAa,KACtB,QAAQ,CACT,SAAS,CAAC,eAAe,CACvB,KAAK,EACL,YAAY,CACV,MAAM,CACJ,QAAQ,SAAS,SAAS,CAAC,OAAO,GAAG,QAAQ,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,EACnE,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAChE,CACF,CACF,EACD,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAClC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CA6EhE,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,SAAS,SAAS,QAAQ,YACvD,SAAS,KAClB,QAAQ,IAAI,SAAS,GAAG;IACzB,OAAO,EAAE;QAAE,eAAe,EAAE;YAAE,OAAO,EAAE,IAAI,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAA;CACpE,GAAG,wBAAwB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CACjC,CAAA;AAEnD,eAAO,MAAM,gBAAgB,GAAI,SAAS,SAAS,QAAQ,YAC/C,SAAS,KAClB,QAAQ,IAAI,SAAS,GAAG;IAAE,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAA;KAAE,CAAA;CAA2C,CAAA;AAEtG,KAAK,MAAM,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,EAAE,QAAQ,SAAS,YAAY,IAAI,QAAQ,GACvF,CAAC,IAAI,SAAS,MAAM,QAAQ,GACxB,EAAE,GACF,QAAQ,CAAC,0BAA0B,CAAC,SAAS,IAAI,GAC/C,EAAE,GACF,QAAQ,CAAC,aAAa,CAAC,SAAS,IAAI,GAClC;IACE,EAAE,EAAE,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;CACzD,GACD;IACE,EAAE,EAAE,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/C,CAAC,CAAA;AAEZ,KAAK,YAAY,CAAC,aAAa,SAAS,iBAAiB,EAAE,eAAe,SAAS,OAAO,IAAI;IAC5F,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;IACrE,wBAAwB,EAAE,aAAa,CAAC,0BAA0B,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;IAC/F,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,SAAS,IAAI,GAC1D;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,GACrC,aAAa,CAAC,iBAAiB,CAAC,SAAS,KAAK,GAC5C;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,GAClB,aAAa,CAAC,iBAAiB,CAAC,SAAS;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7E;QACE,OAAO,EAAE,IAAI,CAAA;QACb,SAAS,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;KACrF,GACD,KAAK,CAAA;IACb,cAAc,EAAE,eAAe,CAAA;CAChC,CAAA;AAED,yBAAiB,SAAS,CAAC;IAEzB,KAAY,UAAU,CAAC,SAAS,SAAS,QAAQ,IAAI,YAAY,CAC/D,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,GACtE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,CACjE,CAAA;IAED,KAAY,mBAAmB,CAAC,SAAS,SAAS,QAAQ,IAAI,WAAW,CAAC,mBAAmB,CAC3F,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAClC,CAAA;IAED,KAAY,OAAO,CAAC,SAAS,SAAS,QAAQ,IAAI;SAC/C,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;KACnG,CAAA;IAED,KAAY,oBAAoB,CAAC,SAAS,SAAS,QAAQ,IAAI;SAC5D,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CACnE,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC/C;KACF,CAAA;IAED,KAAY,UAAU,CAAC,SAAS,SAAS,QAAQ,IAAI,YAAY,CAC/D,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,GAC7E,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC,CACxE,CAAA;IAED,KAAY,aAAa,CAAC,SAAS,SAAS,QAAQ,IAAI;SACrD,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACnH,CAAA;CACF;AAED,yBAAiB,WAAW,CAAC;IAE3B,KAAY,UAAU,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,IAAI,YAAY,CACvE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,GACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAC/D,CAAA;IAED,KAAY,aAAa,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,IAAI;SAC7D,CAAC,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACjE,CAAA;IAED,KAAY,UAAU,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,IAAI,YAAY,CACvE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAC3E,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CACtE,CAAA;IAED,KAAY,oBAAoB,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,IAAI;SACpE,CAAC,IAAI,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACpE,CAAA;IAED,KAAY,mBAAmB,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,IAAI,MAAM;SACzE,CAAC,IAAI,MAAM,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;KAC7E,CAAA;IAED,KAAY,yBAAyB,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,IACtE,SAAS,CAAC,WAAW,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAA;IAE3D,KAAY,gBAAgB,CAAC,QAAQ,SAAS,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;CACpH"}
@@ -2,9 +2,7 @@ import { SqliteDsl } from '@livestore/db-schema';
2
2
  import { shouldNeverHappen } from '@livestore/utils';
3
3
  import { ReadonlyRecord, Schema } from '@livestore/utils/effect';
4
4
  import { makeDerivedMutationDefsForTable } from '../derived-mutations.js';
5
- import { makeQueryBuilder } from '../query-builder/mod.js';
6
5
  export const { blob, boolean, column, datetime, integer, isColumnDefinition, json, real, text } = SqliteDsl;
7
- export { SqliteDsl } from '@livestore/db-schema';
8
6
  export const table = (name, columnOrColumns, options) => {
9
7
  const tablePath = name;
10
8
  const options_ = {
@@ -18,7 +16,6 @@ export const table = (name, columnOrColumns, options) => {
18
16
  ? { enabled: false }
19
17
  : { enabled: true, localOnly: options.deriveMutations.localOnly ?? false },
20
18
  isSingleColumn: SqliteDsl.isColumnDefinition(columnOrColumns) === true,
21
- requiredInsertColumnNames: 'type-level-only',
22
19
  };
23
20
  const columns = (SqliteDsl.isColumnDefinition(columnOrColumns) ? { value: columnOrColumns } : columnOrColumns);
24
21
  if (options_.disableAutomaticIdColumn === true) {
@@ -45,13 +42,7 @@ export const table = (name, columnOrColumns, options) => {
45
42
  }
46
43
  const isSingleColumn = SqliteDsl.isColumnDefinition(columnOrColumns) === true;
47
44
  const schema = SqliteDsl.structSchemaForTable(sqliteDef);
48
- const tableDef = { sqliteDef, options: options_, schema };
49
- const query = makeQueryBuilder(tableDef);
50
- // const tableDef = { ...tableDefBase, query } satisfies TableDef
51
- // NOTE we're currently patching the existing tableDef object
52
- // as it's being used as part of the query builder API
53
- // @ts-expect-error TODO properly implement this
54
- tableDef.query = query;
45
+ const tableDef = { sqliteDef, isSingleColumn, options: options_, schema };
55
46
  if (tableHasDerivedMutations(tableDef)) {
56
47
  const derivedMutationDefs = makeDerivedMutationDefsForTable(tableDef);
57
48
  tableDef.insert = (valuesOrValue) => {
@@ -1 +1 @@
1
- {"version":3,"file":"table-def.js","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-def.js","sourceRoot":"","sources":["../../src/schema/table-def.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const liveStoreVersion: "0.2.0-dev.2";
1
+ export declare const liveStoreVersion: "0.1.0";
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.
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,eAAyB,CAAA;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,SAAmB,CAAA;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAA"}
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.2.0-dev.2';
4
+ export const liveStoreVersion = '0.1.0';
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.
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,kEAAkE;AAClE,sDAAsD;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAsB,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,kEAAkE;AAClE,sDAAsD;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAgB,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/common",
3
- "version": "0.0.0-snapshot-322427282986a0f47fbb01c6d941c01d7b590ab1",
3
+ "version": "0.0.0-snapshot-ba25981b6de87a90976fc39e1c2551844d384a05",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -46,8 +46,8 @@
46
46
  "graphology": "0.26.0-alpha1",
47
47
  "graphology-dag": "0.4.1",
48
48
  "graphology-types": "0.24.7",
49
- "@livestore/utils": "0.0.0-snapshot-322427282986a0f47fbb01c6d941c01d7b590ab1",
50
- "@livestore/db-schema": "0.0.0-snapshot-322427282986a0f47fbb01c6d941c01d7b590ab1"
49
+ "@livestore/utils": "0.0.0-snapshot-ba25981b6de87a90976fc39e1c2551844d384a05",
50
+ "@livestore/db-schema": "0.0.0-snapshot-ba25981b6de87a90976fc39e1c2551844d384a05"
51
51
  },
52
52
  "devDependencies": {
53
53
  "vitest": "^2.1.4"
@@ -89,7 +89,7 @@ export type Coordinator = {
89
89
  *
90
90
  * Example:
91
91
  * ```ts
92
- * const query$ = queryDb(tables.app.query.row(SessionIdSymbol), SessionIdSymbol)
92
+ * const query$ = rowQuery(tables.app, SessionIdSymbol)
93
93
  * ```
94
94
  */
95
95
  export const SessionIdSymbol = Symbol.for('@livestore/session-id')
@@ -9,8 +9,9 @@ import type * as DbSchema from './schema/table-def.js'
9
9
  import { deleteRows, insertRow, updateRows } from './sql-queries/sql-queries.js'
10
10
 
11
11
  export const makeDerivedMutationDefsForTable = <
12
- TTableDef extends DbSchema.TableDefBase<
12
+ TTableDef extends DbSchema.TableDef<
13
13
  DbSchema.DefaultSqliteTableDefConstrained,
14
+ boolean,
14
15
  DbSchema.TableOptions & { deriveMutations: { enabled: true } }
15
16
  >,
16
17
  >(
@@ -22,8 +23,9 @@ export const makeDerivedMutationDefsForTable = <
22
23
  })
23
24
 
24
25
  export const deriveCreateMutationDef = <
25
- TTableDef extends DbSchema.TableDefBase<
26
+ TTableDef extends DbSchema.TableDef<
26
27
  DbSchema.DefaultSqliteTableDefConstrained,
28
+ boolean,
27
29
  DbSchema.TableOptions & { deriveMutations: { enabled: true } }
28
30
  >,
29
31
  >(
@@ -59,8 +61,9 @@ export const deriveCreateMutationDef = <
59
61
  }
60
62
 
61
63
  export const deriveUpdateMutationDef = <
62
- TTableDef extends DbSchema.TableDefBase<
64
+ TTableDef extends DbSchema.TableDef<
63
65
  DbSchema.DefaultSqliteTableDefConstrained,
66
+ boolean,
64
67
  DbSchema.TableOptions & { deriveMutations: { enabled: true } }
65
68
  >,
66
69
  >(
@@ -89,8 +92,9 @@ export const deriveUpdateMutationDef = <
89
92
  }
90
93
 
91
94
  export const deriveDeleteMutationDef = <
92
- TTableDef extends DbSchema.TableDefBase<
95
+ TTableDef extends DbSchema.TableDef<
93
96
  DbSchema.DefaultSqliteTableDefConstrained,
97
+ boolean,
94
98
  DbSchema.TableOptions & { deriveMutations: { enabled: true } }
95
99
  >,
96
100
  >(
@@ -101,7 +101,7 @@ export class LiveQueriesSubscribe extends LSDReqResMessage('LSD.LiveQueriesSubsc
101
101
  export class LiveQueriesUnsubscribe extends LSDReqResMessage('LSD.LiveQueriesUnsubscribe', {}) {}
102
102
 
103
103
  export class SerializedLiveQuery extends Schema.Struct({
104
- _tag: Schema.Literal('computed', 'db', 'graphql'),
104
+ _tag: Schema.Literal('computed', 'sql', 'graphql'),
105
105
  id: Schema.Number,
106
106
  label: Schema.String,
107
107
  runs: Schema.Number,
package/src/index.ts CHANGED
@@ -13,7 +13,6 @@ export * as Devtools from './devtools/index.js'
13
13
  export * from './debug-info.js'
14
14
  export * from './bounded-collections.js'
15
15
  export * from './version.js'
16
- export * from './query-builder/mod.js'
17
16
 
18
17
  declare global {
19
18
  interface LiveStoreGlobal {
package/src/mutation.ts CHANGED
@@ -71,21 +71,14 @@ export const makeShouldExcludeMutationFromLog = memoizeByRef((schema: LiveStoreS
71
71
 
72
72
  // NOTE we should explore whether there is a more elegant solution
73
73
  // e.g. by leveraging the schema to replace the sessionIdSymbol
74
- export const replaceSessionIdSymbol = (
75
- bindValues: Record<string, unknown> | ReadonlyArray<unknown>,
76
- sessionId: string,
77
- ) => {
74
+ export const replaceSessionIdSymbol = (bindValues: Record<string, unknown>, sessionId: string) => {
78
75
  deepReplaceValue(bindValues, SessionIdSymbol, sessionId)
79
76
  }
80
77
 
81
78
  const deepReplaceValue = <S, R>(input: any, searchValue: S, replaceValue: R): void => {
82
79
  if (Array.isArray(input)) {
83
80
  for (const i in input) {
84
- if (input[i] === searchValue) {
85
- input[i] = replaceValue
86
- } else {
87
- deepReplaceValue(input[i], searchValue, replaceValue)
88
- }
81
+ deepReplaceValue(input[i], searchValue, replaceValue)
89
82
  }
90
83
  } else if (typeof input === 'object' && input !== null) {
91
84
  for (const key in input) {
package/src/query-info.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { Schema } from '@livestore/utils/effect'
2
+
1
3
  import type { SessionIdSymbol } from './adapter-types.js'
2
4
  import type { DbSchema } from './schema/index.js'
3
5
 
@@ -6,73 +8,98 @@ import type { DbSchema } from './schema/index.js'
6
8
  * - a whole row
7
9
  * - a single column value
8
10
  * - a sub value in a JSON column
9
- *
10
- * This information is currently only used for derived mutations.
11
11
  */
12
- export type QueryInfo = QueryInfo.None | QueryInfo.Row | QueryInfo.Col | QueryInfo.ColJsonValue
13
- // export type QueryInfo<TTableDef extends DbSchema.TableDefBase = DbSchema.TableDefBase> =
14
- // | QueryInfo.None
15
- // | QueryInfo.Row<TTableDef>
16
- // | QueryInfo.ColJsonValue<TTableDef, GetJsonColumn<TTableDef>>
17
- // | QueryInfo.Col<TTableDef, keyof TTableDef['sqliteDef']['columns']>
18
-
19
- export namespace QueryInfo {
20
- export type None = {
21
- _tag: 'None'
22
- }
23
-
24
- export type Row = {
25
- _tag: 'Row'
26
- table: DbSchema.TableDefBase
27
- id: string | SessionIdSymbol
28
- }
29
-
30
- export type Col = {
31
- _tag: 'Col'
32
- table: DbSchema.TableDefBase
33
- id: string | SessionIdSymbol
34
- column: string
35
- }
36
-
37
- export type ColJsonValue = {
38
- _tag: 'ColJsonValue'
39
- table: DbSchema.TableDefBase
40
- id: string | SessionIdSymbol
41
- column: string
42
- /**
43
- * example: `$.tabs[3].items[2]` (`$` referring to the column value)
44
- */
45
- jsonPath: string
46
- }
47
-
48
- // NOTE maybe we want to bring back type-params back like below
49
- // export type Row<TTableDef extends DbSchema.TableDefBase> = {
50
- // _tag: 'Row'
51
- // table: TTableDef
52
- // id: string | SessionIdSymbol
53
- // }
54
-
55
- // export type Col<TTableDef extends DbSchema.TableDefBase, TColName extends keyof TTableDef['sqliteDef']['columns']> = {
56
- // _tag: 'Col'
57
- // table: TTableDef
58
- // id: string | SessionIdSymbol
59
- // column: TColName
60
- // }
61
-
62
- // export type ColJsonValue<TTableDef extends DbSchema.TableDefBase, TColName extends GetJsonColumn<TTableDef>> = {
63
- // _tag: 'ColJsonValue'
64
- // table: TTableDef
65
- // id: string | SessionIdSymbol
66
- // column: TColName
67
- // /**
68
- // * example: `$.tabs[3].items[2]` (`$` referring to the column value)
69
- // */
70
- // jsonPath: string
71
- // }
12
+ export type QueryInfo<TTableDef extends DbSchema.TableDef = DbSchema.TableDef> =
13
+ | QueryInfoNone
14
+ | QueryInfoRow<TTableDef>
15
+ | QueryInfoColJsonValue<TTableDef, GetJsonColumn<TTableDef>>
16
+ | QueryInfoCol<TTableDef, keyof TTableDef['sqliteDef']['columns']>
17
+
18
+ export type QueryInfoNone = {
19
+ _tag: 'None'
20
+ }
21
+
22
+ export type QueryInfoRow<TTableDef extends DbSchema.TableDef> = {
23
+ _tag: 'Row'
24
+ table: TTableDef
25
+ id: string | SessionIdSymbol
26
+ }
27
+
28
+ export type QueryInfoCol<
29
+ TTableDef extends DbSchema.TableDef,
30
+ TColName extends keyof TTableDef['sqliteDef']['columns'],
31
+ > = {
32
+ _tag: 'Col'
33
+ table: TTableDef
34
+ id: string | SessionIdSymbol
35
+ column: TColName
36
+ }
37
+
38
+ export type QueryInfoColJsonValue<TTableDef extends DbSchema.TableDef, TColName extends GetJsonColumn<TTableDef>> = {
39
+ _tag: 'ColJsonValue'
40
+ table: TTableDef
41
+ id: string | SessionIdSymbol
42
+ column: TColName
43
+ /**
44
+ * example: `$.tabs[3].items[2]` (`$` referring to the column value)
45
+ */
46
+ jsonPath: string
47
+ }
48
+
49
+ type GetJsonColumn<TTableDef extends DbSchema.TableDef> = keyof {
50
+ [ColName in keyof TTableDef['sqliteDef']['columns'] as TTableDef['sqliteDef']['columns'][ColName]['columnType'] extends 'text'
51
+ ? ColName
52
+ : never]: {}
72
53
  }
73
54
 
74
- // type GetJsonColumn<TTableDef extends DbSchema.TableDefBase> = keyof {
75
- // [ColName in keyof TTableDef['sqliteDef']['columns'] as TTableDef['sqliteDef']['columns'][ColName]['columnType'] extends 'text'
76
- // ? ColName
77
- // : never]: {}
55
+ export type UpdateValueForPath<TQueryInfo extends QueryInfo> = TQueryInfo extends { _tag: 'Row' }
56
+ ? Partial<DbSchema.FromTable.RowDecodedAll<TQueryInfo['table']>>
57
+ : TQueryInfo extends { _tag: 'Col' }
58
+ ? Schema.Schema.Type<TQueryInfo['table']['sqliteDef']['columns'][TQueryInfo['column']]['schema']>
59
+ : TQueryInfo extends { _tag: 'ColJsonValue' }
60
+ ? { TODO: true }
61
+ : never
62
+
63
+ // export const mutationForQueryInfo = <const TQueryInfo extends QueryInfo>(
64
+ // queryInfo: TQueryInfo,
65
+ // value: UpdateValueForPath<TQueryInfo>,
66
+ // ): RawSqlMutationEvent => {
67
+ // if (queryInfo._tag === 'ColJsonValue' || queryInfo._tag === 'None') {
68
+ // return notYetImplemented('TODO')
69
+ // }
70
+
71
+ // const sqliteTableDef = queryInfo.table.sqliteDef
72
+ // const id = queryInfo.id
73
+
74
+ // const { columnNames, bindValues } = (() => {
75
+ // if (queryInfo._tag === 'Row') {
76
+ // const columnNames = Object.keys(value)
77
+
78
+ // const partialStructSchema = queryInfo.table.schema.pipe(Schema.pick(...columnNames))
79
+
80
+ // // const columnNames = Object.keys(value)
81
+ // const encodedBindValues = Schema.encodeEither(partialStructSchema)(value)
82
+ // if (encodedBindValues._tag === 'Left') {
83
+ // return shouldNeverHappen(encodedBindValues.left.toString())
84
+ // } else {
85
+ // return { columnNames, bindValues: encodedBindValues.right }
86
+ // }
87
+ // } else if (queryInfo._tag === 'Col') {
88
+ // const columnName = queryInfo.column
89
+ // const columnSchema =
90
+ // sqliteTableDef.columns[columnName]?.schema ?? shouldNeverHappen(`Column ${columnName} not found`)
91
+ // const bindValues = { [columnName]: Schema.encodeSync(columnSchema)(value) }
92
+ // return { columnNames: [columnName], bindValues }
93
+ // } else {
94
+ // return shouldNeverHappen()
95
+ // }
96
+ // })()
97
+
98
+ // const updateClause = columnNames.map((columnName) => `${columnName} = $${columnName}`).join(', ')
99
+
100
+ // const whereClause = `where id = '${id}'`
101
+ // const sql = `UPDATE ${sqliteTableDef.name} SET ${updateClause} ${whereClause}`
102
+ // const writeTables = new Set<string>([queryInfo.table.sqliteDef.name])
103
+
104
+ // return rawSqlMutation({ sql, bindValues, writeTables })
78
105
  // }
@@ -12,8 +12,7 @@ import {
12
12
  rawSqlMutation,
13
13
  } from './mutations.js'
14
14
  import { systemTables } from './system-tables.js'
15
- import type { TableDef, TableDefBase } from './table-def.js'
16
- import { tableHasDerivedMutations } from './table-def.js'
15
+ import { type TableDef, tableHasDerivedMutations } from './table-def.js'
17
16
 
18
17
  export * from './system-tables.js'
19
18
  export * as DbSchema from './table-def.js'
@@ -42,7 +41,7 @@ export type LiveStoreSchema<
42
41
  }
43
42
 
44
43
  export type InputSchema = {
45
- readonly tables: Record<string, TableDefBase> | ReadonlyArray<TableDefBase>
44
+ readonly tables: Record<string, TableDef> | ReadonlyArray<TableDef>
46
45
  readonly mutations?: ReadonlyArray<MutationDef.Any> | Record<string, MutationDef.Any>
47
46
  /**
48
47
  * Can be used to isolate multiple LiveStore apps running in the same origin
@@ -73,7 +72,6 @@ export const makeSchema = <TInputSchema extends InputSchema>(
73
72
  }
74
73
 
75
74
  for (const tableDef of systemTables) {
76
- // @ts-expect-error TODO fix type level issue
77
75
  tables.set(tableDef.sqliteDef.name, tableDef)
78
76
  }
79
77
 
@@ -2,7 +2,7 @@ import { SqliteDsl } from '@livestore/db-schema'
2
2
  import { shouldNeverHappen } from '@livestore/utils'
3
3
  import { pipe, ReadonlyRecord, Schema } from '@livestore/utils/effect'
4
4
 
5
- import type { TableDef, TableDefBase } from './table-def.js'
5
+ import type { TableDef } from './table-def.js'
6
6
 
7
7
  export const getDefaultValuesEncoded = <TTableDef extends TableDef>(
8
8
  tableDef: TTableDef,
@@ -26,7 +26,7 @@ export const getDefaultValuesEncoded = <TTableDef extends TableDef>(
26
26
  ),
27
27
  )
28
28
 
29
- export const getDefaultValuesDecoded = <TTableDef extends TableDefBase>(
29
+ export const getDefaultValuesDecoded = <TTableDef extends TableDef>(
30
30
  tableDef: TTableDef,
31
31
  fallbackValues?: Record<string, any>,
32
32
  ) =>