@livestore/react 0.3.0-dev.11 → 0.3.0-dev.12
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/LiveStoreProvider.d.ts +5 -2
- package/dist/LiveStoreProvider.d.ts.map +1 -1
- package/dist/useRow.d.ts +2 -2
- package/dist/useRow.d.ts.map +1 -1
- package/dist/useRow.js +9 -5
- package/dist/useRow.js.map +1 -1
- package/package.json +6 -6
- package/src/LiveStoreProvider.tsx +2 -2
- package/src/__snapshots__/useRow.test.tsx.snap +0 -2
- package/src/useRow.ts +14 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Adapter, BootStatus, IntentionalShutdownCause } from '@livestore/common';
|
|
1
|
+
import type { Adapter, BootStatus, IntentionalShutdownCause, MigrationsReport } from '@livestore/common';
|
|
2
2
|
import { UnexpectedError } from '@livestore/common';
|
|
3
3
|
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
4
4
|
import type { BaseGraphQLContext, GraphQLOptions, OtelOptions, Store } from '@livestore/livestore';
|
|
@@ -21,7 +21,10 @@ interface LiveStoreProviderProps<GraphQLContext extends BaseGraphQLContext> {
|
|
|
21
21
|
* @default 'default'
|
|
22
22
|
*/
|
|
23
23
|
storeId?: string;
|
|
24
|
-
boot?: (store: Store<GraphQLContext, LiveStoreSchema>,
|
|
24
|
+
boot?: (store: Store<GraphQLContext, LiveStoreSchema>, ctx: {
|
|
25
|
+
migrationsReport: MigrationsReport;
|
|
26
|
+
parentSpan: otel.Span;
|
|
27
|
+
}) => void | Promise<void> | Effect.Effect<void, unknown, OtelTracer.OtelTracer>;
|
|
25
28
|
graphQLOptions?: GraphQLOptions<GraphQLContext>;
|
|
26
29
|
otelOptions?: Partial<OtelOptions>;
|
|
27
30
|
renderLoading: (status: BootStatus) => ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveStoreProvider.d.ts","sourceRoot":"","sources":["../src/LiveStoreProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"LiveStoreProvider.d.ts","sourceRoot":"","sources":["../src/LiveStoreProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACxG,OAAO,EAAe,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EACV,kBAAkB,EAElB,cAAc,EAEd,WAAW,EAEX,KAAK,EACN,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAe,UAAU,EAAoB,MAAM,sBAAsB,CAAA;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAY,MAAM,EAAgE,MAAM,yBAAyB,CAAA;AACxH,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,UAAU,sBAAsB,CAAC,cAAc,SAAS,kBAAkB;IACxE,MAAM,EAAE,eAAe,CAAA;IACvB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,CACL,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,EAC7C,GAAG,EAAE;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAA;KAAE,KAC/D,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;IAC/E,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAClC,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,YAAY,CAAA;IACnD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,KAAK,YAAY,CAAA;IAChE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,GAAG,UAAU,KAAK,YAAY,CAAA;IAC/E,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACvC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAoBD,eAAO,MAAM,iBAAiB,GAAI,cAAc,SAAS,kBAAkB,iKAcxE,sBAAsB,CAAC,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAG,KAAK,CAAC,YAgC5E,CAAA"}
|
package/dist/useRow.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export declare const useRow: {
|
|
|
31
31
|
deriveMutations: {
|
|
32
32
|
enabled: true;
|
|
33
33
|
};
|
|
34
|
-
}>>(table: TTableDef, id: string | SessionIdSymbol, options?: Partial<RowQuery.RequiredColumnsOptions<TTableDef>> & {
|
|
34
|
+
}>>(table: TTableDef, id: string | SessionIdSymbol | number, options?: Partial<RowQuery.RequiredColumnsOptions<TTableDef>> & {
|
|
35
35
|
store?: Store;
|
|
36
36
|
}): UseRowResult<TTableDef>;
|
|
37
37
|
<TTableDef extends DbSchema.TableDef<DbSchema.DefaultSqliteTableDef, DbSchema.TableOptions & {
|
|
@@ -39,7 +39,7 @@ export declare const useRow: {
|
|
|
39
39
|
deriveMutations: {
|
|
40
40
|
enabled: true;
|
|
41
41
|
};
|
|
42
|
-
}>>(table: TTableDef, id: string | SessionIdSymbol, options: RowQuery.RequiredColumnsOptions<TTableDef> & {
|
|
42
|
+
}>>(table: TTableDef, id: string | SessionIdSymbol | number, options: RowQuery.RequiredColumnsOptions<TTableDef> & {
|
|
43
43
|
store?: Store;
|
|
44
44
|
}): UseRowResult<TTableDef>;
|
|
45
45
|
};
|
package/dist/useRow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRow.d.ts","sourceRoot":"","sources":["../src/useRow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAgB,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAS1E,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,QAAQ,CAAC,YAAY,IAAI;IAClE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC;IAC/B,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;CACzD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,EAAE;IAEnB,CACE,SAAS,SAAS,QAAQ,CAAC,QAAQ,CACjC,QAAQ,CAAC,qBAAqB,EAC9B,QAAQ,CAAC,YAAY,GAAG;QAAE,WAAW,EAAE,IAAI,CAAC;QAAC,eAAe,EAAE;YAAE,OAAO,EAAE,IAAI,CAAA;SAAE,CAAA;KAAE,CAClF,EAED,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAC1B,YAAY,CAAC,SAAS,CAAC,CAAA;IAG1B,CACE,SAAS,SAAS,QAAQ,CAAC,QAAQ,CACjC,QAAQ,CAAC,qBAAqB,EAC9B,QAAQ,CAAC,YAAY,GAAG;QACtB,WAAW,EAAE,KAAK,CAAA;QAClB,yBAAyB,EAAE,IAAI,CAAA;QAC/B,eAAe,EAAE;YAAE,OAAO,EAAE,IAAI,CAAA;SAAE,CAAA;KACnC,CACF,EAED,KAAK,EAAE,SAAS,EAEhB,EAAE,EAAE,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"useRow.d.ts","sourceRoot":"","sources":["../src/useRow.ts"],"names":[],"mappings":"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"}
|
package/dist/useRow.js
CHANGED
|
@@ -17,8 +17,12 @@ import { useQueryRef } from './useQuery.js';
|
|
|
17
17
|
*/
|
|
18
18
|
export const useRow = (table, idOrOptions, options_) => {
|
|
19
19
|
const sqliteTableDef = table.sqliteDef;
|
|
20
|
-
const id = typeof idOrOptions === 'string' || idOrOptions === SessionIdSymbol
|
|
21
|
-
|
|
20
|
+
const id = typeof idOrOptions === 'string' || idOrOptions === SessionIdSymbol || typeof idOrOptions === 'number'
|
|
21
|
+
? idOrOptions
|
|
22
|
+
: undefined;
|
|
23
|
+
const options = typeof idOrOptions === 'string' || idOrOptions === SessionIdSymbol || typeof idOrOptions === 'number'
|
|
24
|
+
? options_
|
|
25
|
+
: idOrOptions;
|
|
22
26
|
const { insertValues } = options ?? {};
|
|
23
27
|
const tableName = table.sqliteDef.name;
|
|
24
28
|
if (DbSchema.tableHasDerivedMutations(table) === false) {
|
|
@@ -30,13 +34,13 @@ export const useRow = (table, idOrOptions, options_) => {
|
|
|
30
34
|
shouldNeverHappen(`Table "${table.sqliteDef.name}" not found in schema`);
|
|
31
35
|
}
|
|
32
36
|
// console.debug('useRow', tableName, id)
|
|
33
|
-
const
|
|
37
|
+
const idVal = id === SessionIdSymbol ? 'session' : id;
|
|
34
38
|
const rowQuery = table.query.row;
|
|
35
39
|
const queryDef = React.useMemo(() => DbSchema.tableIsSingleton(table)
|
|
36
40
|
? queryDb(rowQuery(), {})
|
|
37
|
-
: queryDb(rowQuery(id, { insertValues: insertValues }), { deps:
|
|
41
|
+
: queryDb(rowQuery(id, { insertValues: insertValues }), { deps: idVal }), [id, insertValues, rowQuery, table, idVal]);
|
|
38
42
|
const queryRef = useQueryRef(queryDef, {
|
|
39
|
-
otelSpanName: `LiveStore:useRow:${tableName}${
|
|
43
|
+
otelSpanName: `LiveStore:useRow:${tableName}${idVal === undefined ? '' : `:${idVal}`}`,
|
|
40
44
|
store: options?.store,
|
|
41
45
|
});
|
|
42
46
|
const setState = React.useMemo(() => {
|
package/dist/useRow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRow.js","sourceRoot":"","sources":["../src/useRow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAQ3C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAyCf,CAMF,KAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"useRow.js","sourceRoot":"","sources":["../src/useRow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/react",
|
|
3
|
-
"version": "0.3.0-dev.
|
|
3
|
+
"version": "0.3.0-dev.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": {
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@opentelemetry/api": "1.9.0",
|
|
26
|
-
"@livestore/common": "0.3.0-dev.
|
|
27
|
-
"@livestore/livestore": "0.3.0-dev.
|
|
28
|
-
"@livestore/db-schema": "0.3.0-dev.
|
|
29
|
-
"@livestore/utils": "0.3.0-dev.
|
|
26
|
+
"@livestore/common": "0.3.0-dev.12",
|
|
27
|
+
"@livestore/livestore": "0.3.0-dev.12",
|
|
28
|
+
"@livestore/db-schema": "0.3.0-dev.12",
|
|
29
|
+
"@livestore/utils": "0.3.0-dev.12"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@opentelemetry/sdk-trace-base": "^1.30.1",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"typescript": "^5.7.2",
|
|
41
41
|
"vite": "^6.0.11",
|
|
42
42
|
"vitest": "^2.1.4",
|
|
43
|
-
"@livestore/web": "0.3.0-dev.
|
|
43
|
+
"@livestore/web": "0.3.0-dev.12"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
46
|
"react": "~19.0.0"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Adapter, BootStatus, IntentionalShutdownCause } from '@livestore/common'
|
|
1
|
+
import type { Adapter, BootStatus, IntentionalShutdownCause, MigrationsReport } from '@livestore/common'
|
|
2
2
|
import { provideOtel, UnexpectedError } from '@livestore/common'
|
|
3
3
|
import type { LiveStoreSchema } from '@livestore/common/schema'
|
|
4
4
|
import type {
|
|
@@ -35,7 +35,7 @@ interface LiveStoreProviderProps<GraphQLContext extends BaseGraphQLContext> {
|
|
|
35
35
|
storeId?: string
|
|
36
36
|
boot?: (
|
|
37
37
|
store: Store<GraphQLContext, LiveStoreSchema>,
|
|
38
|
-
parentSpan: otel.Span,
|
|
38
|
+
ctx: { migrationsReport: MigrationsReport; parentSpan: otel.Span },
|
|
39
39
|
) => void | Promise<void> | Effect.Effect<void, unknown, OtelTracer.OtelTracer>
|
|
40
40
|
graphQLOptions?: GraphQLOptions<GraphQLContext>
|
|
41
41
|
otelOptions?: Partial<OtelOptions>
|
|
@@ -14,7 +14,6 @@ exports[`useRow > otel > should update the data based on component key strictMod
|
|
|
14
14
|
"sql.query": "
|
|
15
15
|
PRAGMA page_size=32768;
|
|
16
16
|
PRAGMA cache_size=10000;
|
|
17
|
-
PRAGMA journal_mode='MEMORY'; -- we don't flush to disk before committing a write
|
|
18
17
|
PRAGMA synchronous='OFF';
|
|
19
18
|
PRAGMA temp_store='MEMORY';
|
|
20
19
|
PRAGMA foreign_keys='ON'; -- we want foreign key constraints to be enforced
|
|
@@ -211,7 +210,6 @@ exports[`useRow > otel > should update the data based on component key strictMod
|
|
|
211
210
|
"sql.query": "
|
|
212
211
|
PRAGMA page_size=32768;
|
|
213
212
|
PRAGMA cache_size=10000;
|
|
214
|
-
PRAGMA journal_mode='MEMORY'; -- we don't flush to disk before committing a write
|
|
215
213
|
PRAGMA synchronous='OFF';
|
|
216
214
|
PRAGMA temp_store='MEMORY';
|
|
217
215
|
PRAGMA foreign_keys='ON'; -- we want foreign key constraints to be enforced
|
package/src/useRow.ts
CHANGED
|
@@ -51,7 +51,7 @@ export const useRow: {
|
|
|
51
51
|
>(
|
|
52
52
|
table: TTableDef,
|
|
53
53
|
// TODO adjust so it works with arbitrary primary keys or unique constraints
|
|
54
|
-
id: string | SessionIdSymbol,
|
|
54
|
+
id: string | SessionIdSymbol | number,
|
|
55
55
|
options?: Partial<RowQuery.RequiredColumnsOptions<TTableDef>> & { store?: Store },
|
|
56
56
|
): UseRowResult<TTableDef>
|
|
57
57
|
|
|
@@ -64,7 +64,7 @@ export const useRow: {
|
|
|
64
64
|
>(
|
|
65
65
|
table: TTableDef,
|
|
66
66
|
// TODO adjust so it works with arbitrary primary keys or unique constraints
|
|
67
|
-
id: string | SessionIdSymbol,
|
|
67
|
+
id: string | SessionIdSymbol | number,
|
|
68
68
|
options: RowQuery.RequiredColumnsOptions<TTableDef> & { store?: Store },
|
|
69
69
|
): UseRowResult<TTableDef>
|
|
70
70
|
} = <
|
|
@@ -74,13 +74,18 @@ export const useRow: {
|
|
|
74
74
|
>,
|
|
75
75
|
>(
|
|
76
76
|
table: TTableDef,
|
|
77
|
-
idOrOptions?: string | SessionIdSymbol | { store?: Store },
|
|
77
|
+
idOrOptions?: string | SessionIdSymbol | number | { store?: Store },
|
|
78
78
|
options_?: Partial<RowQuery.RequiredColumnsOptions<TTableDef>> & { store?: Store },
|
|
79
79
|
): UseRowResult<TTableDef> => {
|
|
80
80
|
const sqliteTableDef = table.sqliteDef
|
|
81
|
-
const id =
|
|
81
|
+
const id =
|
|
82
|
+
typeof idOrOptions === 'string' || idOrOptions === SessionIdSymbol || typeof idOrOptions === 'number'
|
|
83
|
+
? idOrOptions
|
|
84
|
+
: undefined
|
|
82
85
|
const options: (Partial<RowQuery.RequiredColumnsOptions<TTableDef>> & { store?: Store }) | undefined =
|
|
83
|
-
typeof idOrOptions === 'string' || idOrOptions === SessionIdSymbol
|
|
86
|
+
typeof idOrOptions === 'string' || idOrOptions === SessionIdSymbol || typeof idOrOptions === 'number'
|
|
87
|
+
? options_
|
|
88
|
+
: idOrOptions
|
|
84
89
|
const { insertValues } = options ?? {}
|
|
85
90
|
|
|
86
91
|
type TComponentState = SqliteDsl.FromColumns.RowDecoded<TTableDef['sqliteDef']['columns']>
|
|
@@ -102,7 +107,7 @@ export const useRow: {
|
|
|
102
107
|
|
|
103
108
|
// console.debug('useRow', tableName, id)
|
|
104
109
|
|
|
105
|
-
const
|
|
110
|
+
const idVal = id === SessionIdSymbol ? 'session' : id
|
|
106
111
|
const rowQuery = table.query.row as any
|
|
107
112
|
|
|
108
113
|
type QueryDef = LiveQueryDef<RowQuery.Result<TTableDef>, QueryInfo.Row>
|
|
@@ -110,12 +115,12 @@ export const useRow: {
|
|
|
110
115
|
() =>
|
|
111
116
|
DbSchema.tableIsSingleton(table)
|
|
112
117
|
? queryDb(rowQuery(), {})
|
|
113
|
-
: queryDb(rowQuery(id!, { insertValues: insertValues! }), { deps:
|
|
114
|
-
[id, insertValues, rowQuery, table,
|
|
118
|
+
: queryDb(rowQuery(id!, { insertValues: insertValues! }), { deps: idVal! }),
|
|
119
|
+
[id, insertValues, rowQuery, table, idVal],
|
|
115
120
|
)
|
|
116
121
|
|
|
117
122
|
const queryRef = useQueryRef(queryDef, {
|
|
118
|
-
otelSpanName: `LiveStore:useRow:${tableName}${
|
|
123
|
+
otelSpanName: `LiveStore:useRow:${tableName}${idVal === undefined ? '' : `:${idVal}`}`,
|
|
119
124
|
store: options?.store,
|
|
120
125
|
})
|
|
121
126
|
|