@livestore/common 0.3.2-dev.12 → 0.3.2-dev.14

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 (97) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/ClientSessionLeaderThreadProxy.d.ts +2 -2
  3. package/dist/ClientSessionLeaderThreadProxy.d.ts.map +1 -1
  4. package/dist/adapter-types.d.ts +1 -1
  5. package/dist/adapter-types.d.ts.map +1 -1
  6. package/dist/debug-info.d.ts +17 -17
  7. package/dist/devtools/devtools-messages-client-session.d.ts +38 -38
  8. package/dist/devtools/devtools-messages-common.d.ts +6 -6
  9. package/dist/devtools/devtools-messages-leader.d.ts +28 -28
  10. package/dist/devtools/devtools-messages-leader.d.ts.map +1 -1
  11. package/dist/devtools/devtools-messages-leader.js.map +1 -1
  12. package/dist/leader-thread/types.d.ts +1 -1
  13. package/dist/leader-thread/types.d.ts.map +1 -1
  14. package/dist/schema/LiveStoreEvent.d.ts +5 -5
  15. package/dist/schema/LiveStoreEvent.js.map +1 -1
  16. package/dist/schema/state/sqlite/column-annotations.d.ts +34 -0
  17. package/dist/schema/state/sqlite/column-annotations.d.ts.map +1 -0
  18. package/dist/schema/state/sqlite/column-annotations.js +50 -0
  19. package/dist/schema/state/sqlite/column-annotations.js.map +1 -0
  20. package/dist/schema/state/sqlite/column-annotations.test.d.ts +2 -0
  21. package/dist/schema/state/sqlite/column-annotations.test.d.ts.map +1 -0
  22. package/dist/schema/state/sqlite/column-annotations.test.js +179 -0
  23. package/dist/schema/state/sqlite/column-annotations.test.js.map +1 -0
  24. package/dist/schema/state/sqlite/column-spec.d.ts +11 -0
  25. package/dist/schema/state/sqlite/column-spec.d.ts.map +1 -0
  26. package/dist/schema/state/sqlite/column-spec.js +39 -0
  27. package/dist/schema/state/sqlite/column-spec.js.map +1 -0
  28. package/dist/schema/state/sqlite/column-spec.test.d.ts +2 -0
  29. package/dist/schema/state/sqlite/column-spec.test.d.ts.map +1 -0
  30. package/dist/schema/state/sqlite/column-spec.test.js +146 -0
  31. package/dist/schema/state/sqlite/column-spec.test.js.map +1 -0
  32. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts +1 -0
  33. package/dist/schema/state/sqlite/db-schema/ast/sqlite.d.ts.map +1 -1
  34. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js +1 -0
  35. package/dist/schema/state/sqlite/db-schema/ast/sqlite.js.map +1 -1
  36. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts +17 -4
  37. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.d.ts.map +1 -1
  38. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js +2 -0
  39. package/dist/schema/state/sqlite/db-schema/dsl/field-defs.js.map +1 -1
  40. package/dist/schema/state/sqlite/db-schema/dsl/mod.d.ts.map +1 -1
  41. package/dist/schema/state/sqlite/db-schema/dsl/mod.js +1 -0
  42. package/dist/schema/state/sqlite/db-schema/dsl/mod.js.map +1 -1
  43. package/dist/schema/state/sqlite/mod.d.ts +2 -0
  44. package/dist/schema/state/sqlite/mod.d.ts.map +1 -1
  45. package/dist/schema/state/sqlite/mod.js +2 -0
  46. package/dist/schema/state/sqlite/mod.js.map +1 -1
  47. package/dist/schema/state/sqlite/system-tables.d.ts +464 -46
  48. package/dist/schema/state/sqlite/system-tables.d.ts.map +1 -1
  49. package/dist/schema/state/sqlite/table-def.d.ts +100 -9
  50. package/dist/schema/state/sqlite/table-def.d.ts.map +1 -1
  51. package/dist/schema/state/sqlite/table-def.js +227 -5
  52. package/dist/schema/state/sqlite/table-def.js.map +1 -1
  53. package/dist/schema/state/sqlite/table-def.test.d.ts +2 -0
  54. package/dist/schema/state/sqlite/table-def.test.d.ts.map +1 -0
  55. package/dist/schema/state/sqlite/table-def.test.js +625 -0
  56. package/dist/schema/state/sqlite/table-def.test.js.map +1 -0
  57. package/dist/schema-management/migrations.d.ts +0 -1
  58. package/dist/schema-management/migrations.d.ts.map +1 -1
  59. package/dist/schema-management/migrations.js +3 -29
  60. package/dist/schema-management/migrations.js.map +1 -1
  61. package/dist/sqlite-db-helper.d.ts +1 -1
  62. package/dist/sqlite-db-helper.d.ts.map +1 -1
  63. package/dist/sqlite-db-helper.js.map +1 -1
  64. package/dist/sqlite-types.d.ts +4 -4
  65. package/dist/sqlite-types.d.ts.map +1 -1
  66. package/dist/sync/ClientSessionSyncProcessor.d.ts +2 -2
  67. package/dist/sync/ClientSessionSyncProcessor.d.ts.map +1 -1
  68. package/dist/sync/ClientSessionSyncProcessor.js.map +1 -1
  69. package/dist/util.d.ts +3 -3
  70. package/dist/util.d.ts.map +1 -1
  71. package/dist/util.js.map +1 -1
  72. package/dist/version.d.ts +1 -1
  73. package/dist/version.js +1 -1
  74. package/package.json +4 -4
  75. package/src/ClientSessionLeaderThreadProxy.ts +2 -2
  76. package/src/adapter-types.ts +3 -1
  77. package/src/devtools/devtools-messages-leader.ts +3 -3
  78. package/src/leader-thread/types.ts +1 -1
  79. package/src/schema/LiveStoreEvent.ts +1 -1
  80. package/src/schema/state/sqlite/column-annotations.test.ts +212 -0
  81. package/src/schema/state/sqlite/column-annotations.ts +77 -0
  82. package/src/schema/state/sqlite/column-spec.test.ts +223 -0
  83. package/src/schema/state/sqlite/column-spec.ts +42 -0
  84. package/src/schema/state/sqlite/db-schema/ast/sqlite.ts +2 -0
  85. package/src/schema/state/sqlite/db-schema/dsl/__snapshots__/field-defs.test.ts.snap +15 -0
  86. package/src/schema/state/sqlite/db-schema/dsl/field-defs.ts +20 -2
  87. package/src/schema/state/sqlite/db-schema/dsl/mod.ts +1 -0
  88. package/src/schema/state/sqlite/mod.ts +2 -0
  89. package/src/schema/state/sqlite/table-def.test.ts +783 -0
  90. package/src/schema/state/sqlite/table-def.ts +440 -16
  91. package/src/schema-management/migrations.ts +3 -32
  92. package/src/sqlite-db-helper.ts +1 -1
  93. package/src/sqlite-types.ts +4 -4
  94. package/src/sync/ClientSessionSyncProcessor.ts +5 -2
  95. package/src/util.ts +7 -2
  96. package/src/version.ts +1 -1
  97. package/src/schema-management/migrations.test.ts +0 -65
@@ -0,0 +1,179 @@
1
+ import { Schema, SchemaAST } from '@livestore/utils/effect';
2
+ import { describe, expect, test } from 'vitest';
3
+ import { withColumnType, withPrimaryKey } from "./column-annotations.js";
4
+ describe.concurrent('annotations', () => {
5
+ describe('withPrimaryKey', () => {
6
+ test('should add primary key annotation', () => {
7
+ const schema = Schema.String;
8
+ const result = withPrimaryKey(schema);
9
+ expect(SchemaAST.annotations(result.ast, {})).toMatchInlineSnapshot(`
10
+ {
11
+ "_tag": "StringKeyword",
12
+ "annotations": {
13
+ "Symbol(effect/annotation/Description)": "a string",
14
+ "Symbol(effect/annotation/Title)": "string",
15
+ "Symbol(livestore/state/sqlite/annotations/primary-key)": true,
16
+ },
17
+ }
18
+ `);
19
+ });
20
+ });
21
+ describe('withColumnType', () => {
22
+ describe('compatible schema-column type combinations', () => {
23
+ test('Schema.String with text column type', () => {
24
+ expect(() => withColumnType(Schema.String, 'text')).not.toThrow();
25
+ });
26
+ test('Schema.Number with integer column type', () => {
27
+ expect(() => withColumnType(Schema.Number, 'integer')).not.toThrow();
28
+ });
29
+ test('Schema.Number with real column type', () => {
30
+ expect(() => withColumnType(Schema.Number, 'real')).not.toThrow();
31
+ });
32
+ test('Schema.Boolean with integer column type', () => {
33
+ expect(() => withColumnType(Schema.Boolean, 'integer')).not.toThrow();
34
+ });
35
+ test('Schema.Uint8ArrayFromSelf with blob column type', () => {
36
+ expect(() => withColumnType(Schema.Uint8ArrayFromSelf, 'blob')).not.toThrow();
37
+ });
38
+ test('Schema.Date with text column type', () => {
39
+ expect(() => withColumnType(Schema.Date, 'text')).not.toThrow();
40
+ });
41
+ test('String literal with text column type', () => {
42
+ expect(() => withColumnType(Schema.Literal('hello'), 'text')).not.toThrow();
43
+ });
44
+ test('Number literal with integer column type', () => {
45
+ expect(() => withColumnType(Schema.Literal(42), 'integer')).not.toThrow();
46
+ });
47
+ test('Number literal with real column type', () => {
48
+ expect(() => withColumnType(Schema.Literal(3.14), 'real')).not.toThrow();
49
+ });
50
+ test('Boolean literal with integer column type', () => {
51
+ expect(() => withColumnType(Schema.Literal(true), 'integer')).not.toThrow();
52
+ });
53
+ test('Union of same type with compatible column type', () => {
54
+ const unionSchema = Schema.Union(Schema.Literal('a'), Schema.Literal('b'));
55
+ expect(() => withColumnType(unionSchema, 'text')).not.toThrow();
56
+ });
57
+ test('Transformation schema with compatible base type', () => {
58
+ const transformSchema = Schema.transform(Schema.String, Schema.String, {
59
+ decode: (s) => s.toUpperCase(),
60
+ encode: (s) => s.toLowerCase(),
61
+ });
62
+ expect(() => withColumnType(transformSchema, 'text')).not.toThrow();
63
+ });
64
+ });
65
+ // TODO bring those tests back as we've implemented the column type validation
66
+ // describe('incompatible schema-column type combinations', () => {
67
+ // test('Schema.String with integer column type should throw', () => {
68
+ // expect(() => withColumnType(Schema.String, 'integer')).toThrow(
69
+ // "Schema type 'string' is incompatible with column type 'integer'",
70
+ // )
71
+ // })
72
+ // test('Schema.String with real column type should throw', () => {
73
+ // expect(() => withColumnType(Schema.String, 'real')).toThrow(
74
+ // "Schema type 'string' is incompatible with column type 'real'",
75
+ // )
76
+ // })
77
+ // test('Schema.String with blob column type should throw', () => {
78
+ // expect(() => withColumnType(Schema.String, 'blob')).toThrow(
79
+ // "Schema type 'string' is incompatible with column type 'blob'",
80
+ // )
81
+ // })
82
+ // test('Schema.Number with text column type should throw', () => {
83
+ // expect(() => withColumnType(Schema.Number, 'text')).toThrow(
84
+ // "Schema type 'number' is incompatible with column type 'text'",
85
+ // )
86
+ // })
87
+ // test('Schema.Number with blob column type should throw', () => {
88
+ // expect(() => withColumnType(Schema.Number, 'blob')).toThrow(
89
+ // "Schema type 'number' is incompatible with column type 'blob'",
90
+ // )
91
+ // })
92
+ // test('Schema.Boolean with text column type should throw', () => {
93
+ // expect(() => withColumnType(Schema.Boolean, 'text')).toThrow(
94
+ // "Schema type 'boolean' is incompatible with column type 'text'",
95
+ // )
96
+ // })
97
+ // test('Schema.Boolean with real column type should throw', () => {
98
+ // expect(() => withColumnType(Schema.Boolean, 'real')).toThrow(
99
+ // "Schema type 'boolean' is incompatible with column type 'real'",
100
+ // )
101
+ // })
102
+ // test('Schema.Boolean with blob column type should throw', () => {
103
+ // expect(() => withColumnType(Schema.Boolean, 'blob')).toThrow(
104
+ // "Schema type 'boolean' is incompatible with column type 'blob'",
105
+ // )
106
+ // })
107
+ // test('Schema.Uint8ArrayFromSelf with text column type should throw', () => {
108
+ // expect(() => withColumnType(Schema.Uint8ArrayFromSelf, 'text')).toThrow(
109
+ // "Schema type 'uint8array' is incompatible with column type 'text'",
110
+ // )
111
+ // })
112
+ // test('String literal with integer column type should throw', () => {
113
+ // expect(() => withColumnType(Schema.Literal('hello'), 'integer')).toThrow(
114
+ // "Schema type 'string' is incompatible with column type 'integer'",
115
+ // )
116
+ // })
117
+ // test('Number literal with text column type should throw', () => {
118
+ // expect(() => withColumnType(Schema.Literal(42), 'text')).toThrow(
119
+ // "Schema type 'number' is incompatible with column type 'text'",
120
+ // )
121
+ // })
122
+ // test('Schema.Date with integer column type should throw', () => {
123
+ // expect(() => withColumnType(Schema.Date, 'integer')).toThrow(
124
+ // "Schema type 'string' is incompatible with column type 'integer'",
125
+ // )
126
+ // })
127
+ // })
128
+ describe('complex schemas', () => {
129
+ test('should allow complex schemas that cannot be determined', () => {
130
+ const complexSchema = Schema.Struct({ name: Schema.String, age: Schema.Number });
131
+ expect(() => withColumnType(complexSchema, 'text')).not.toThrow();
132
+ });
133
+ test('should allow Schema.Any with any column type', () => {
134
+ expect(() => withColumnType(Schema.Any, 'text')).not.toThrow();
135
+ expect(() => withColumnType(Schema.Any, 'integer')).not.toThrow();
136
+ expect(() => withColumnType(Schema.Any, 'real')).not.toThrow();
137
+ expect(() => withColumnType(Schema.Any, 'blob')).not.toThrow();
138
+ });
139
+ test('should allow Schema.Unknown with any column type', () => {
140
+ expect(() => withColumnType(Schema.Unknown, 'text')).not.toThrow();
141
+ expect(() => withColumnType(Schema.Unknown, 'integer')).not.toThrow();
142
+ expect(() => withColumnType(Schema.Unknown, 'real')).not.toThrow();
143
+ expect(() => withColumnType(Schema.Unknown, 'blob')).not.toThrow();
144
+ });
145
+ });
146
+ describe('annotation behavior', () => {
147
+ test('should add column type annotation to schema', () => {
148
+ const schema = Schema.String;
149
+ const result = withColumnType(schema, 'text');
150
+ expect(SchemaAST.annotations(result.ast, {})).toMatchInlineSnapshot(`
151
+ {
152
+ "_tag": "StringKeyword",
153
+ "annotations": {
154
+ "Symbol(effect/annotation/Description)": "a string",
155
+ "Symbol(effect/annotation/Title)": "string",
156
+ "Symbol(livestore/state/sqlite/annotations/column-type)": "text",
157
+ },
158
+ }
159
+ `);
160
+ });
161
+ test('should preserve existing annotations', () => {
162
+ const schema = withPrimaryKey(Schema.String);
163
+ const result = withColumnType(schema, 'text');
164
+ expect(SchemaAST.annotations(result.ast, {})).toMatchInlineSnapshot(`
165
+ {
166
+ "_tag": "StringKeyword",
167
+ "annotations": {
168
+ "Symbol(effect/annotation/Description)": "a string",
169
+ "Symbol(effect/annotation/Title)": "string",
170
+ "Symbol(livestore/state/sqlite/annotations/column-type)": "text",
171
+ "Symbol(livestore/state/sqlite/annotations/primary-key)": true,
172
+ },
173
+ }
174
+ `);
175
+ });
176
+ });
177
+ });
178
+ });
179
+ //# sourceMappingURL=column-annotations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-annotations.test.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-annotations.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type SqliteAst } from './db-schema/mod.ts';
2
+ /**
3
+ * Returns a SQLite column specification string for a table's column definitions.
4
+ *
5
+ * Example:
6
+ * ```
7
+ * 'id' integer not null autoincrement , 'email' text not null , 'username' text not null , 'created_at' text default CURRENT_TIMESTAMP, PRIMARY KEY ('id')
8
+ * ```
9
+ */
10
+ export declare const makeColumnSpec: (tableAst: SqliteAst.Table) => string;
11
+ //# sourceMappingURL=column-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-spec.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,oBAAoB,CAAA;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,SAAS,CAAC,KAAK,WASvD,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { Schema } from '@livestore/utils/effect';
2
+ import { SqliteDsl } from "./db-schema/mod.js";
3
+ /**
4
+ * Returns a SQLite column specification string for a table's column definitions.
5
+ *
6
+ * Example:
7
+ * ```
8
+ * 'id' integer not null autoincrement , 'email' text not null , 'username' text not null , 'created_at' text default CURRENT_TIMESTAMP, PRIMARY KEY ('id')
9
+ * ```
10
+ */
11
+ export const makeColumnSpec = (tableAst) => {
12
+ const primaryKeys = tableAst.columns.filter((_) => _.primaryKey).map((_) => `'${_.name}'`);
13
+ const columnDefStrs = tableAst.columns.map(toSqliteColumnSpec);
14
+ if (primaryKeys.length > 0) {
15
+ columnDefStrs.push(`PRIMARY KEY (${primaryKeys.join(', ')})`);
16
+ }
17
+ return columnDefStrs.join(', ');
18
+ };
19
+ /** NOTE primary keys are applied on a table level not on a column level to account for multi-column primary keys */
20
+ const toSqliteColumnSpec = (column) => {
21
+ const columnTypeStr = column.type._tag;
22
+ const nullableStr = column.nullable === false ? 'not null' : '';
23
+ const autoIncrementStr = column.autoIncrement ? 'autoincrement' : '';
24
+ const defaultValueStr = (() => {
25
+ if (column.default._tag === 'None')
26
+ return '';
27
+ if (column.default.value === null)
28
+ return 'default null';
29
+ if (SqliteDsl.isSqlDefaultValue(column.default.value))
30
+ return `default ${column.default.value.sql}`;
31
+ const encodeValue = Schema.encodeSync(column.schema);
32
+ const encodedDefaultValue = encodeValue(column.default.value);
33
+ if (columnTypeStr === 'text')
34
+ return `default '${encodedDefaultValue}'`;
35
+ return `default ${encodedDefaultValue}`;
36
+ })();
37
+ return `'${column.name}' ${columnTypeStr} ${nullableStr} ${autoIncrementStr} ${defaultValueStr}`;
38
+ };
39
+ //# sourceMappingURL=column-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-spec.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAkB,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAyB,EAAE,EAAE;IAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;IAC1F,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAE9D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,aAAa,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,oHAAoH;AACpH,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAE,EAAE;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA;IACtC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;QAC5B,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,CAAA;QAE7C,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO,cAAc,CAAA;QACxD,IAAI,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,WAAW,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAEnG,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACpD,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE7D,IAAI,aAAa,KAAK,MAAM;YAAE,OAAO,YAAY,mBAAmB,GAAG,CAAA;QACvE,OAAO,WAAW,mBAAmB,EAAE,CAAA;IACzC,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,WAAW,IAAI,gBAAgB,IAAI,eAAe,EAAE,CAAA;AAClG,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=column-spec.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-spec.test.d.ts","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-spec.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,146 @@
1
+ import { Option, Schema } from '@livestore/utils/effect';
2
+ import { describe, expect, it } from 'vitest';
3
+ import { makeColumnSpec } from "./column-spec.js";
4
+ import { SqliteAst } from "./db-schema/mod.js";
5
+ const createColumn = (name, type, options = {}) => {
6
+ let defaultOption = Option.none();
7
+ if (options.defaultSql !== undefined) {
8
+ defaultOption = Option.some({ sql: options.defaultSql });
9
+ }
10
+ else if (options.defaultValue !== undefined) {
11
+ defaultOption = Option.some(options.defaultValue);
12
+ }
13
+ const schema = (() => {
14
+ switch (type) {
15
+ case 'text':
16
+ return Schema.String;
17
+ case 'integer':
18
+ return options.defaultValue === true || options.defaultValue === false ? Schema.Boolean : Schema.Number;
19
+ case 'real':
20
+ return Schema.Number;
21
+ case 'blob':
22
+ return Schema.Uint8ArrayFromBase64;
23
+ default:
24
+ return Schema.Unknown;
25
+ }
26
+ })();
27
+ return SqliteAst.column({
28
+ name,
29
+ type: { _tag: type },
30
+ nullable: options.nullable ?? true,
31
+ primaryKey: options.primaryKey ?? false,
32
+ autoIncrement: options.autoIncrement ?? false,
33
+ default: defaultOption,
34
+ schema,
35
+ });
36
+ };
37
+ describe('makeColumnSpec', () => {
38
+ it('should quote column names properly for reserved keywords', () => {
39
+ const table = SqliteAst.table('blocks', [createColumn('order', 'integer', { nullable: false }), createColumn('group', 'text')], []);
40
+ const result = makeColumnSpec(table);
41
+ expect(result).toMatchInlineSnapshot(`"'order' integer not null , 'group' text "`);
42
+ expect(result).toContain("'order'");
43
+ expect(result).toContain("'group'");
44
+ });
45
+ it('should handle basic columns with primary keys', () => {
46
+ const table = SqliteAst.table('users', [createColumn('id', 'text', { nullable: false, primaryKey: true }), createColumn('name', 'text')], []);
47
+ const result = makeColumnSpec(table);
48
+ expect(result).toMatchInlineSnapshot(`"'id' text not null , 'name' text , PRIMARY KEY ('id')"`);
49
+ expect(result).toContain("PRIMARY KEY ('id')");
50
+ });
51
+ it('should handle multi-column primary keys', () => {
52
+ const table = SqliteAst.table('composite', [
53
+ createColumn('tenant_id', 'text', { nullable: false, primaryKey: true }),
54
+ createColumn('user_id', 'text', { nullable: false, primaryKey: true }),
55
+ ], []);
56
+ const result = makeColumnSpec(table);
57
+ expect(result).toMatchInlineSnapshot(`"'tenant_id' text not null , 'user_id' text not null , PRIMARY KEY ('tenant_id', 'user_id')"`);
58
+ expect(result).toContain("PRIMARY KEY ('tenant_id', 'user_id')");
59
+ });
60
+ it('should handle auto-increment columns', () => {
61
+ const table = SqliteAst.table('posts', [
62
+ createColumn('id', 'integer', { nullable: false, primaryKey: true, autoIncrement: true }),
63
+ createColumn('title', 'text'),
64
+ ], []);
65
+ const result = makeColumnSpec(table);
66
+ expect(result).toMatchInlineSnapshot(`"'id' integer not null autoincrement , 'title' text , PRIMARY KEY ('id')"`);
67
+ expect(result).toContain('autoincrement');
68
+ expect(result).toContain("PRIMARY KEY ('id')");
69
+ });
70
+ it('should handle columns with default values', () => {
71
+ const table = SqliteAst.table('products', [
72
+ createColumn('id', 'integer', { nullable: false, primaryKey: true }),
73
+ createColumn('name', 'text', { nullable: false }),
74
+ createColumn('price', 'real', { defaultValue: 0 }),
75
+ createColumn('active', 'integer', { defaultValue: true }),
76
+ createColumn('description', 'text', { defaultValue: 'No description' }),
77
+ ], []);
78
+ const result = makeColumnSpec(table);
79
+ expect(result).toMatchInlineSnapshot(`"'id' integer not null , 'name' text not null , 'price' real default 0, 'active' integer default true, 'description' text default 'No description', PRIMARY KEY ('id')"`);
80
+ expect(result).toContain('default 0');
81
+ expect(result).toContain('default true');
82
+ expect(result).toContain("default 'No description'");
83
+ });
84
+ it('should handle columns with SQL default values', () => {
85
+ const table = SqliteAst.table('logs', [
86
+ createColumn('id', 'integer', { nullable: false, primaryKey: true }),
87
+ createColumn('created_at', 'text', { defaultSql: 'CURRENT_TIMESTAMP' }),
88
+ createColumn('random_value', 'real', { defaultSql: 'RANDOM()' }),
89
+ ], []);
90
+ const result = makeColumnSpec(table);
91
+ expect(result).toMatchInlineSnapshot(`"'id' integer not null , 'created_at' text default CURRENT_TIMESTAMP, 'random_value' real default RANDOM(), PRIMARY KEY ('id')"`);
92
+ expect(result).toContain('default CURRENT_TIMESTAMP');
93
+ expect(result).toContain('default RANDOM()');
94
+ });
95
+ it('should handle null default values', () => {
96
+ const table = SqliteAst.table('nullable_defaults', [
97
+ createColumn('id', 'integer', { nullable: false, primaryKey: true }),
98
+ createColumn('optional_text', 'text', { defaultValue: null }),
99
+ ], []);
100
+ const result = makeColumnSpec(table);
101
+ expect(result).toMatchInlineSnapshot(`"'id' integer not null , 'optional_text' text default null, PRIMARY KEY ('id')"`);
102
+ expect(result).toContain('default null');
103
+ });
104
+ it('should handle all column features combined', () => {
105
+ const table = SqliteAst.table('complex_table', [
106
+ createColumn('id', 'integer', {
107
+ nullable: false,
108
+ primaryKey: true,
109
+ autoIncrement: true,
110
+ }),
111
+ createColumn('name', 'text', {
112
+ nullable: false,
113
+ defaultValue: 'Unnamed',
114
+ }),
115
+ createColumn('created_at', 'text', {
116
+ nullable: false,
117
+ defaultSql: 'CURRENT_TIMESTAMP',
118
+ }),
119
+ createColumn('status', 'text', {
120
+ defaultValue: 'pending',
121
+ }),
122
+ ], []);
123
+ const result = makeColumnSpec(table);
124
+ expect(result).toMatchInlineSnapshot(`"'id' integer not null autoincrement , 'name' text not null default 'Unnamed', 'created_at' text not null default CURRENT_TIMESTAMP, 'status' text default 'pending', PRIMARY KEY ('id')"`);
125
+ });
126
+ it('should handle tables with indexes', () => {
127
+ const table = SqliteAst.table('users_with_indexes', [
128
+ createColumn('id', 'integer', { nullable: false, primaryKey: true, autoIncrement: true }),
129
+ createColumn('email', 'text', { nullable: false }),
130
+ createColumn('username', 'text', { nullable: false }),
131
+ createColumn('created_at', 'text', { defaultSql: 'CURRENT_TIMESTAMP' }),
132
+ ], [
133
+ SqliteAst.index(['email'], 'idx_users_email', true),
134
+ SqliteAst.index(['username'], 'idx_users_username'),
135
+ SqliteAst.index(['created_at'], 'idx_users_created_at'),
136
+ ]);
137
+ const result = makeColumnSpec(table);
138
+ // The makeColumnSpec function only generates column specifications, not indexes
139
+ expect(result).toMatchInlineSnapshot(`"'id' integer not null autoincrement , 'email' text not null , 'username' text not null , 'created_at' text default CURRENT_TIMESTAMP, PRIMARY KEY ('id')"`);
140
+ // Verify the table has the indexes (even though they're not in the column spec)
141
+ expect(table.indexes).toHaveLength(3);
142
+ expect(table.indexes[0].unique).toBe(true);
143
+ expect(table.indexes[1].unique).toBeUndefined();
144
+ });
145
+ });
146
+ //# sourceMappingURL=column-spec.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-spec.test.js","sourceRoot":"","sources":["../../../../src/schema/state/sqlite/column-spec.test.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export type Column = {
23
23
  type: ColumnType.ColumnType;
24
24
  primaryKey: boolean;
25
25
  nullable: boolean;
26
+ autoIncrement: boolean;
26
27
  default: Option.Option<any>;
27
28
  schema: Schema.Schema<any>;
28
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/ast/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAI7D,yBAAiB,UAAU,CAAC;IAC1B,KAAY,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAA;IAE5D,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,OAAO,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAA;IAEzC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAwC,CAAA;AAE7F,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,KAAK,GAChB,SAAS,aAAa,CAAC,MAAM,CAAC,EAC9B,OAAO,MAAM,EACb,SAAS,OAAO,EAChB,aAAa,OAAO,KACnB,KAMD,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAC/B,CAAA;IACD,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAC/B,CAAA;IACD,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,aAAa,CAAC,KAAK,CAAC,KAAG,KAKlG,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,KAAK,EAAE,KAAG,QAA0C,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,KAAG,MACzB,CAAA;AAmDlD,eAAO,MAAM,oBAAoB,GAAI,UAAU,KAAK;;EAC+C,CAAA"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/ast/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAI7D,yBAAiB,UAAU,CAAC;IAC1B,KAAY,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAAA;IAE5D,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAEnC,KAAY,OAAO,GAAG;QAAE,IAAI,EAAE,SAAS,CAAA;KAAE,CAAA;IAEzC,KAAY,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAC,UAAU,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,MAAwC,CAAA;AAE7F,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,KAAK,GAChB,SAAS,aAAa,CAAC,MAAM,CAAC,EAC9B,OAAO,MAAM,EACb,SAAS,OAAO,EAChB,aAAa,OAAO,KACnB,KAMD,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAC/B,CAAA;IACD,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;KAC/B,CAAA;IACD,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC9B,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,aAAa,CAAC,KAAK,CAAC,KAAG,KAKlG,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,QAAQ,KAAK,EAAE,KAAG,QAA0C,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,KAAG,MACzB,CAAA;AAoDlD,eAAO,MAAM,oBAAoB,GAAI,UAAU,KAAK;;EAC+C,CAAA"}
@@ -36,6 +36,7 @@ const trimInfoForHasing = (obj) => {
36
36
  type: obj.type._tag,
37
37
  primaryKey: obj.primaryKey,
38
38
  nullable: obj.nullable,
39
+ autoIncrement: obj.autoIncrement,
39
40
  default: obj.default,
40
41
  };
41
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/ast/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/ast/sqlite.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,19 @@ export type ColumnDefinition<TEncoded, TDecoded> = {
7
7
  readonly nullable: boolean;
8
8
  /** @default false */
9
9
  readonly primaryKey: boolean;
10
+ /** @default false */
11
+ readonly autoIncrement: boolean;
10
12
  };
11
- export declare const isColumnDefinition: (value: unknown) => value is ColumnDefinition<any, any>;
13
+ export declare namespace ColumnDefinition {
14
+ type Any = ColumnDefinition<any, any>;
15
+ }
16
+ export declare const isColumnDefinition: (value: unknown) => value is ColumnDefinition.Any;
12
17
  export type ColumnDefinitionInput = {
13
18
  readonly schema?: Schema.Schema<unknown>;
14
19
  readonly default?: unknown | NoDefault;
15
20
  readonly nullable?: boolean;
16
21
  readonly primaryKey?: boolean;
22
+ readonly autoIncrement?: boolean;
17
23
  };
18
24
  export declare const NoDefault: unique symbol;
19
25
  export type NoDefault = typeof NoDefault;
@@ -28,18 +34,21 @@ export type ColDefFn<TColumnType extends FieldColumnType> = {
28
34
  default: Option.None<never>;
29
35
  nullable: false;
30
36
  primaryKey: false;
37
+ autoIncrement: false;
31
38
  };
32
- <TEncoded extends DefaultEncodedForColumnType<TColumnType>, TDecoded = DefaultEncodedForColumnType<TColumnType>, const TNullable extends boolean = false, const TDefault extends TDecoded | SqlDefaultValue | NoDefault | (TNullable extends true ? null : never) = NoDefault, const TPrimaryKey extends boolean = false>(args: {
39
+ <TEncoded extends DefaultEncodedForColumnType<TColumnType>, TDecoded = DefaultEncodedForColumnType<TColumnType>, const TNullable extends boolean = false, const TDefault extends TDecoded | SqlDefaultValue | NoDefault | (TNullable extends true ? null : never) = NoDefault, const TPrimaryKey extends boolean = false, const TAutoIncrement extends boolean = false>(args: {
33
40
  schema?: Schema.Schema<TDecoded, TEncoded>;
34
41
  default?: TDefault;
35
42
  nullable?: TNullable;
36
43
  primaryKey?: TPrimaryKey;
44
+ autoIncrement?: TAutoIncrement;
37
45
  }): {
38
46
  columnType: TColumnType;
39
47
  schema: TNullable extends true ? Schema.Schema<NoInfer<TDecoded> | null, NoInfer<TEncoded> | null> : Schema.Schema<NoInfer<TDecoded>, NoInfer<TEncoded>>;
40
48
  default: TDefault extends NoDefault ? Option.None<never> : Option.Some<NoInfer<TDefault>>;
41
49
  nullable: NoInfer<TNullable>;
42
50
  primaryKey: NoInfer<TPrimaryKey>;
51
+ autoIncrement: NoInfer<TAutoIncrement>;
43
52
  };
44
53
  };
45
54
  export declare const column: <TColumnType extends FieldColumnType>(columnType: TColumnType) => ColDefFn<TColumnType>;
@@ -61,22 +70,26 @@ export type SpecializedColDefFn<TColumnType extends FieldColumnType, TAllowsCust
61
70
  default: Option.None<never>;
62
71
  nullable: false;
63
72
  primaryKey: false;
73
+ autoIncrement: false;
64
74
  };
65
- <TDecoded = TBaseDecoded, const TNullable extends boolean = false, const TDefault extends TDecoded | NoDefault | (TNullable extends true ? null : never) = NoDefault, const TPrimaryKey extends boolean = false>(args: TAllowsCustomSchema extends true ? {
75
+ <TDecoded = TBaseDecoded, const TNullable extends boolean = false, const TDefault extends TDecoded | NoDefault | (TNullable extends true ? null : never) = NoDefault, const TPrimaryKey extends boolean = false, const TAutoIncrement extends boolean = false>(args: TAllowsCustomSchema extends true ? {
66
76
  schema?: Schema.Schema<TDecoded, any>;
67
77
  default?: TDefault;
68
78
  nullable?: TNullable;
69
79
  primaryKey?: TPrimaryKey;
80
+ autoIncrement?: TAutoIncrement;
70
81
  } : {
71
82
  default?: TDefault;
72
83
  nullable?: TNullable;
73
84
  primaryKey?: TPrimaryKey;
85
+ autoIncrement?: TAutoIncrement;
74
86
  }): {
75
87
  columnType: TColumnType;
76
88
  schema: TNullable extends true ? Schema.Schema<NoInfer<TDecoded> | null, DefaultEncodedForColumnType<TColumnType> | null> : Schema.Schema<NoInfer<TDecoded>, DefaultEncodedForColumnType<TColumnType>>;
77
89
  default: TDefault extends NoDefault ? Option.None<never> : Option.Some<TDefault>;
78
90
  nullable: NoInfer<TNullable>;
79
91
  primaryKey: NoInfer<TPrimaryKey>;
92
+ autoIncrement: NoInfer<TAutoIncrement>;
80
93
  };
81
94
  };
82
95
  export declare const json: SpecializedColDefFn<'text', true, unknown>;
@@ -84,7 +97,7 @@ export declare const datetime: SpecializedColDefFn<'text', false, Date>;
84
97
  export declare const datetimeInteger: SpecializedColDefFn<'integer', false, Date>;
85
98
  export declare const boolean: SpecializedColDefFn<'integer', false, boolean>;
86
99
  export type FieldColumnType = 'text' | 'integer' | 'real' | 'blob';
87
- export type DefaultEncodedForColumnType<TColumnType extends FieldColumnType> = TColumnType extends 'text' ? string : TColumnType extends 'integer' ? number : TColumnType extends 'real' ? number : TColumnType extends 'blob' ? Uint8Array : never;
100
+ export type DefaultEncodedForColumnType<TColumnType extends FieldColumnType> = TColumnType extends 'text' ? string : TColumnType extends 'integer' ? number : TColumnType extends 'real' ? number : TColumnType extends 'blob' ? Uint8Array<ArrayBuffer> : never;
88
101
  export declare const defaultSchemaForColumnType: <TColumnType extends FieldColumnType>(columnType: TColumnType) => Schema.Schema<DefaultEncodedForColumnType<TColumnType>>;
89
102
  export {};
90
103
  //# sourceMappingURL=field-defs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-defs.d.ts","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/dsl/field-defs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-defs.d.ts","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/dsl/field-defs.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ const makeColDef = (columnType) => (def) => {
22
22
  default: default_,
23
23
  nullable,
24
24
  primaryKey: def?.primaryKey ?? false,
25
+ autoIncrement: def?.autoIncrement ?? false,
25
26
  };
26
27
  };
27
28
  export const column = (columnType) => makeColDef(columnType);
@@ -41,6 +42,7 @@ const makeSpecializedColDef = (columnType, opts) => (def) => {
41
42
  default: default_,
42
43
  nullable,
43
44
  primaryKey: def?.primaryKey ?? false,
45
+ autoIncrement: def?.autoIncrement ?? false,
44
46
  };
45
47
  };
46
48
  export const json = makeSpecializedColDef('text', {
@@ -1 +1 @@
1
- {"version":3,"file":"field-defs.js","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/dsl/field-defs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-defs.js","sourceRoot":"","sources":["../../../../../../src/schema/state/sqlite/db-schema/dsl/field-defs.ts"],"names":[],"mappings":"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"}