@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
@@ -1,65 +0,0 @@
1
- import { Option, Schema } from '@livestore/utils/effect'
2
- import { describe, expect, it } from 'vitest'
3
- import type { SqliteAst } from '../schema/state/sqlite/db-schema/mod.ts'
4
- import { makeColumnSpec } from './migrations.js'
5
-
6
- const createColumn = (
7
- name: string,
8
- type: 'text' | 'integer',
9
- options: { nullable?: boolean; primaryKey?: boolean } = {},
10
- ) => ({
11
- _tag: 'column' as const,
12
- name,
13
- type: { _tag: type },
14
- nullable: options.nullable ?? true,
15
- primaryKey: options.primaryKey ?? false,
16
- default: Option.none(),
17
- schema: type === 'text' ? Schema.String : Schema.Number,
18
- })
19
-
20
- describe('makeColumnSpec', () => {
21
- it('should quote column names properly for reserved keywords', () => {
22
- const table: SqliteAst.Table = {
23
- _tag: 'table',
24
- name: 'blocks',
25
- columns: [createColumn('order', 'integer', { nullable: false }), createColumn('group', 'text')],
26
- indexes: [],
27
- }
28
-
29
- const result = makeColumnSpec(table)
30
- expect(result).toMatchInlineSnapshot(`"'order' integer not null , 'group' text "`)
31
- expect(result).toContain("'order'")
32
- expect(result).toContain("'group'")
33
- })
34
-
35
- it('should handle basic columns with primary keys', () => {
36
- const table: SqliteAst.Table = {
37
- _tag: 'table',
38
- name: 'users',
39
- columns: [createColumn('id', 'text', { nullable: false, primaryKey: true }), createColumn('name', 'text')],
40
- indexes: [],
41
- }
42
-
43
- const result = makeColumnSpec(table)
44
- expect(result).toMatchInlineSnapshot(`"'id' text not null , 'name' text , PRIMARY KEY ('id')"`)
45
- expect(result).toContain("PRIMARY KEY ('id')")
46
- })
47
-
48
- it('should handle multi-column primary keys', () => {
49
- const table: SqliteAst.Table = {
50
- _tag: 'table',
51
- name: 'composite',
52
- columns: [
53
- createColumn('tenant_id', 'text', { nullable: false, primaryKey: true }),
54
- createColumn('user_id', 'text', { nullable: false, primaryKey: true }),
55
- ],
56
- indexes: [],
57
- }
58
-
59
- const result = makeColumnSpec(table)
60
- expect(result).toMatchInlineSnapshot(
61
- `"'tenant_id' text not null , 'user_id' text not null , PRIMARY KEY ('tenant_id', 'user_id')"`,
62
- )
63
- expect(result).toContain("PRIMARY KEY ('tenant_id', 'user_id')")
64
- })
65
- })