@livestore/react 0.3.0-dev.15 → 0.3.0-dev.17
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/LiveStoreContext.d.ts.map +1 -1
- package/dist/LiveStoreProvider.d.ts.map +1 -1
- package/dist/__tests__/fixture.d.ts +12 -12
- package/dist/__tests__/fixture.d.ts.map +1 -1
- package/dist/__tests__/fixture.js +3 -3
- package/dist/__tests__/fixture.js.map +1 -1
- package/dist/experimental/components/LiveList.d.ts.map +1 -1
- package/dist/useAtom.d.ts.map +1 -1
- package/dist/useQuery.d.ts.map +1 -1
- package/dist/useRcResource.d.ts.map +1 -1
- package/dist/useRow.d.ts +11 -0
- package/dist/useRow.d.ts.map +1 -1
- package/dist/useRow.js +17 -3
- package/dist/useRow.js.map +1 -1
- package/dist/utils/useStateRefWithReactiveInput.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/__tests__/fixture.tsx +3 -3
- package/src/useRow.ts +28 -8
- package/dist/useRcRef.d.ts +0 -72
- package/dist/useRcRef.d.ts.map +0 -1
- package/dist/useRcRef.js +0 -146
- package/dist/useRcRef.js.map +0 -1
- package/dist/useRcRef.test.d.ts +0 -2
- package/dist/useRcRef.test.d.ts.map +0 -1
- package/dist/useRcRef.test.js +0 -128
- package/dist/useRcRef.test.js.map +0 -1
- package/dist/useScopedQuery.d.ts +0 -39
- package/dist/useScopedQuery.d.ts.map +0 -1
- package/dist/useScopedQuery.js +0 -131
- package/dist/useScopedQuery.js.map +0 -1
- package/dist/useScopedQuery.test.d.ts +0 -2
- package/dist/useScopedQuery.test.d.ts.map +0 -1
- package/dist/useScopedQuery.test.js +0 -61
- package/dist/useScopedQuery.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveStoreContext.d.ts","sourceRoot":"","sources":["../src/LiveStoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,gBAAgB,oDAAsE,CAAA;AAEnG,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"LiveStoreContext.d.ts","sourceRoot":"","sources":["../src/LiveStoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,gBAAgB,oDAAsE,CAAA;AAEnG,eAAO,MAAM,QAAQ,GAAI,UAAU;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,KAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAiBpE,CAAA"}
|
|
@@ -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,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,
|
|
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,EAAE,+JAc1E,sBAAsB,CAAC,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,KAAG,KAAK,CAAC,YAgC5E,CAAA"}
|
|
@@ -44,7 +44,7 @@ export declare const todos: DbSchema.TableDef<{
|
|
|
44
44
|
disableAutomaticIdColumn: false;
|
|
45
45
|
deriveMutations: {
|
|
46
46
|
enabled: true;
|
|
47
|
-
clientOnly:
|
|
47
|
+
clientOnly: true;
|
|
48
48
|
};
|
|
49
49
|
isSingleColumn: false;
|
|
50
50
|
requiredInsertColumnNames: "id";
|
|
@@ -125,7 +125,7 @@ export declare const userInfo: DbSchema.TableDef<{
|
|
|
125
125
|
disableAutomaticIdColumn: false;
|
|
126
126
|
deriveMutations: {
|
|
127
127
|
enabled: true;
|
|
128
|
-
clientOnly:
|
|
128
|
+
clientOnly: true;
|
|
129
129
|
};
|
|
130
130
|
isSingleColumn: false;
|
|
131
131
|
requiredInsertColumnNames: never;
|
|
@@ -157,7 +157,7 @@ export declare const AppRouterSchema: DbSchema.TableDef<{
|
|
|
157
157
|
disableAutomaticIdColumn: false;
|
|
158
158
|
deriveMutations: {
|
|
159
159
|
enabled: true;
|
|
160
|
-
clientOnly:
|
|
160
|
+
clientOnly: true;
|
|
161
161
|
};
|
|
162
162
|
isSingleColumn: false;
|
|
163
163
|
requiredInsertColumnNames: never;
|
|
@@ -201,7 +201,7 @@ export declare const tables: {
|
|
|
201
201
|
disableAutomaticIdColumn: false;
|
|
202
202
|
deriveMutations: {
|
|
203
203
|
enabled: true;
|
|
204
|
-
clientOnly:
|
|
204
|
+
clientOnly: true;
|
|
205
205
|
};
|
|
206
206
|
isSingleColumn: false;
|
|
207
207
|
requiredInsertColumnNames: "id";
|
|
@@ -282,7 +282,7 @@ export declare const tables: {
|
|
|
282
282
|
disableAutomaticIdColumn: false;
|
|
283
283
|
deriveMutations: {
|
|
284
284
|
enabled: true;
|
|
285
|
-
clientOnly:
|
|
285
|
+
clientOnly: true;
|
|
286
286
|
};
|
|
287
287
|
isSingleColumn: false;
|
|
288
288
|
requiredInsertColumnNames: never;
|
|
@@ -314,7 +314,7 @@ export declare const tables: {
|
|
|
314
314
|
disableAutomaticIdColumn: false;
|
|
315
315
|
deriveMutations: {
|
|
316
316
|
enabled: true;
|
|
317
|
-
clientOnly:
|
|
317
|
+
clientOnly: true;
|
|
318
318
|
};
|
|
319
319
|
isSingleColumn: false;
|
|
320
320
|
requiredInsertColumnNames: never;
|
|
@@ -360,7 +360,7 @@ export declare const schema: import("@livestore/common/schema").FromInputSchema.
|
|
|
360
360
|
disableAutomaticIdColumn: false;
|
|
361
361
|
deriveMutations: {
|
|
362
362
|
enabled: true;
|
|
363
|
-
clientOnly:
|
|
363
|
+
clientOnly: true;
|
|
364
364
|
};
|
|
365
365
|
isSingleColumn: false;
|
|
366
366
|
requiredInsertColumnNames: "id";
|
|
@@ -441,7 +441,7 @@ export declare const schema: import("@livestore/common/schema").FromInputSchema.
|
|
|
441
441
|
disableAutomaticIdColumn: false;
|
|
442
442
|
deriveMutations: {
|
|
443
443
|
enabled: true;
|
|
444
|
-
clientOnly:
|
|
444
|
+
clientOnly: true;
|
|
445
445
|
};
|
|
446
446
|
isSingleColumn: false;
|
|
447
447
|
requiredInsertColumnNames: never;
|
|
@@ -473,7 +473,7 @@ export declare const schema: import("@livestore/common/schema").FromInputSchema.
|
|
|
473
473
|
disableAutomaticIdColumn: false;
|
|
474
474
|
deriveMutations: {
|
|
475
475
|
enabled: true;
|
|
476
|
-
clientOnly:
|
|
476
|
+
clientOnly: true;
|
|
477
477
|
};
|
|
478
478
|
isSingleColumn: false;
|
|
479
479
|
requiredInsertColumnNames: never;
|
|
@@ -526,7 +526,7 @@ export declare const makeTodoMvcReact: ({ otelTracer, otelContext, strictMode, }
|
|
|
526
526
|
disableAutomaticIdColumn: false;
|
|
527
527
|
deriveMutations: {
|
|
528
528
|
enabled: true;
|
|
529
|
-
clientOnly:
|
|
529
|
+
clientOnly: true;
|
|
530
530
|
};
|
|
531
531
|
isSingleColumn: false;
|
|
532
532
|
requiredInsertColumnNames: "id";
|
|
@@ -607,7 +607,7 @@ export declare const makeTodoMvcReact: ({ otelTracer, otelContext, strictMode, }
|
|
|
607
607
|
disableAutomaticIdColumn: false;
|
|
608
608
|
deriveMutations: {
|
|
609
609
|
enabled: true;
|
|
610
|
-
clientOnly:
|
|
610
|
+
clientOnly: true;
|
|
611
611
|
};
|
|
612
612
|
isSingleColumn: false;
|
|
613
613
|
requiredInsertColumnNames: never;
|
|
@@ -639,7 +639,7 @@ export declare const makeTodoMvcReact: ({ otelTracer, otelContext, strictMode, }
|
|
|
639
639
|
disableAutomaticIdColumn: false;
|
|
640
640
|
deriveMutations: {
|
|
641
641
|
enabled: true;
|
|
642
|
-
clientOnly:
|
|
642
|
+
clientOnly: true;
|
|
643
643
|
};
|
|
644
644
|
isSingleColumn: false;
|
|
645
645
|
requiredInsertColumnNames: never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/__tests__/fixture.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAc,MAAM,0BAA0B,CAAA;AAG/D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQjB,CAAA;AAED,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQf,CAAA;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOpB,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAM3B,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4C,CAAA;AAC/D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAA;AAE5C,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/__tests__/fixture.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAc,MAAM,0BAA0B,CAAA;AAG/D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQjB,CAAA;AAED,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQf,CAAA;AAED,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOpB,CAAA;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAM3B,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4C,CAAA;AAC/D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAA;AAE5C,eAAO,MAAM,gBAAgB,GAAI,2CAI9B;IACD,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;CAChB;4BA6B6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAWgC,CAAA"}
|
|
@@ -9,7 +9,7 @@ export const todos = DbSchema.table('todos', {
|
|
|
9
9
|
id: DbSchema.text({ primaryKey: true }),
|
|
10
10
|
text: DbSchema.text({ default: '', nullable: false }),
|
|
11
11
|
completed: DbSchema.boolean({ default: false, nullable: false }),
|
|
12
|
-
}, { deriveMutations: true, isSingleton: false });
|
|
12
|
+
}, { deriveMutations: { clientOnly: true }, isSingleton: false });
|
|
13
13
|
export const app = DbSchema.table('app', {
|
|
14
14
|
id: DbSchema.text({ primaryKey: true, default: 'static' }),
|
|
15
15
|
newTodoText: DbSchema.text({ default: '', nullable: true }),
|
|
@@ -18,10 +18,10 @@ export const app = DbSchema.table('app', {
|
|
|
18
18
|
export const userInfo = DbSchema.table('UserInfo', {
|
|
19
19
|
username: DbSchema.text({ default: '' }),
|
|
20
20
|
text: DbSchema.text({ default: '' }),
|
|
21
|
-
}, { deriveMutations: true });
|
|
21
|
+
}, { deriveMutations: { clientOnly: true } });
|
|
22
22
|
export const AppRouterSchema = DbSchema.table('AppRouter', {
|
|
23
23
|
currentTaskId: DbSchema.text({ default: null, nullable: true }),
|
|
24
|
-
}, { isSingleton: true, deriveMutations: true });
|
|
24
|
+
}, { isSingleton: true, deriveMutations: { clientOnly: true } });
|
|
25
25
|
export const tables = { todos, app, userInfo, AppRouterSchema };
|
|
26
26
|
export const schema = makeSchema({ tables });
|
|
27
27
|
export const makeTodoMvcReact = ({ otelTracer, otelContext, strictMode, } = {}) => Effect.gen(function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/__tests__/fixture.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,cAAc,MAAM,WAAW,CAAA;AAe3C,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CACjC,OAAO,EACP;IACE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CACjE,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/__tests__/fixture.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveList.d.ts","sourceRoot":"","sources":["../../../src/experimental/components/LiveList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,MAAM,MAAM,aAAa,CAAC,KAAK,IAAI;IACjC,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAE1C,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACnG,+CAA+C;IAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;CACxD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"LiveList.d.ts","sourceRoot":"","sources":["../../../src/experimental/components/LiveList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,MAAM,MAAM,aAAa,CAAC,KAAK,IAAI;IACjC,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;IAE1C,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAA;IACnG,+CAA+C;IAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;CACxD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,EAAG,gCAAgC,aAAa,CAAC,KAAK,CAAC,KAAG,KAAK,CAAC,SAgC7F,CAAA"}
|
package/dist/useAtom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAtom.d.ts","sourceRoot":"","sources":["../src/useAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAM1E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE3D,eAAO,MAAM,OAAO,GAElB,MAAM,SAAS,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"useAtom.d.ts","sourceRoot":"","sources":["../src/useAtom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAM1E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE3D,eAAO,MAAM,OAAO,GAElB,MAAM,SAAS,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,EAE/D,UAAU,MAAM,EAChB,UAAU;IACR,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,KACA,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CA2C3F,CAAA"}
|
package/dist/useQuery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG7G,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,eAAe,
|
|
1
|
+
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG7G,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,SAAS,eAAe,EACrD,UAAU,MAAM,EAChB,UAAU;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,KAC1B,SAAS,CAAC,MAAM,CAAoD,CAAA;AAEvE,KAAK,YAAY,CAAC,MAAM,SAAS,eAAe,IAC9C,MAAM,SAAS,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,KAAK,CAAA;AAE9E;GACG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,eAAe,EACxD,UAAU,MAAM,EAChB,UAAU;IACR,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,wCAAwC;IACxC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;IAC1B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,KACA;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;CAgHtE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRcResource.d.ts","sourceRoot":"","sources":["../src/useRcResource.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"useRcResource.d.ts","sourceRoot":"","sources":["../src/useRcResource.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,KAAK,MAAM,EACX,QAAQ,MAAM,CAAC,EACf,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EACvC,WAAW;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,QAkFzE,CAAA;AAkBD,eAAO,MAAM,yBAAyB,YAErC,CAAA"}
|
package/dist/useRow.d.ts
CHANGED
|
@@ -14,6 +14,14 @@ export type UseRowResult<TTableDef extends DbSchema.TableDefBase> = [
|
|
|
14
14
|
* - `setRow` is a function that can be used to update the row (values will be encoded according to the table schema)
|
|
15
15
|
* - `query$` is a `LiveQuery` that e.g. can be used to subscribe to changes to the row
|
|
16
16
|
*
|
|
17
|
+
* `useRow` only works with for tables with client-only derived mutations,
|
|
18
|
+
* i.e. requires the following table options to be set:
|
|
19
|
+
* ```ts
|
|
20
|
+
* const myTable = DbSchema.table('myTable', {
|
|
21
|
+
* // fields ...
|
|
22
|
+
* }, { deriveMutations: { clientOnly: true } })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
17
25
|
* If the table is a singleton table, `useRow` can be called without an `id` argument. Otherwise, the `id` argument is required.
|
|
18
26
|
*/
|
|
19
27
|
export declare const useRow: {
|
|
@@ -21,6 +29,7 @@ export declare const useRow: {
|
|
|
21
29
|
isSingleton: true;
|
|
22
30
|
deriveMutations: {
|
|
23
31
|
enabled: true;
|
|
32
|
+
clientOnly: true;
|
|
24
33
|
};
|
|
25
34
|
}>>(table: TTableDef, options?: {
|
|
26
35
|
store?: Store;
|
|
@@ -30,6 +39,7 @@ export declare const useRow: {
|
|
|
30
39
|
requiredInsertColumnNames: 'id';
|
|
31
40
|
deriveMutations: {
|
|
32
41
|
enabled: true;
|
|
42
|
+
clientOnly: true;
|
|
33
43
|
};
|
|
34
44
|
}>>(table: TTableDef, id: string | SessionIdSymbol | number, options?: Partial<RowQuery.RequiredColumnsOptions<TTableDef>> & {
|
|
35
45
|
store?: Store;
|
|
@@ -38,6 +48,7 @@ export declare const useRow: {
|
|
|
38
48
|
isSingleton: false;
|
|
39
49
|
deriveMutations: {
|
|
40
50
|
enabled: true;
|
|
51
|
+
clientOnly: true;
|
|
41
52
|
};
|
|
42
53
|
}>>(table: TTableDef, id: string | SessionIdSymbol | number, options: RowQuery.RequiredColumnsOptions<TTableDef> & {
|
|
43
54
|
store?: Store;
|
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;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,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
|
|
1
|
+
{"version":3,"file":"useRow.d.ts","sourceRoot":"","sources":["../src/useRow.ts"],"names":[],"mappings":"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"}
|
package/dist/useRow.js
CHANGED
|
@@ -13,6 +13,14 @@ import { useQueryRef } from './useQuery.js';
|
|
|
13
13
|
* - `setRow` is a function that can be used to update the row (values will be encoded according to the table schema)
|
|
14
14
|
* - `query$` is a `LiveQuery` that e.g. can be used to subscribe to changes to the row
|
|
15
15
|
*
|
|
16
|
+
* `useRow` only works with for tables with client-only derived mutations,
|
|
17
|
+
* i.e. requires the following table options to be set:
|
|
18
|
+
* ```ts
|
|
19
|
+
* const myTable = DbSchema.table('myTable', {
|
|
20
|
+
* // fields ...
|
|
21
|
+
* }, { deriveMutations: { clientOnly: true } })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
16
24
|
* If the table is a singleton table, `useRow` can be called without an `id` argument. Otherwise, the `id` argument is required.
|
|
17
25
|
*/
|
|
18
26
|
export const useRow = (table, idOrOptions, options_) => {
|
|
@@ -24,10 +32,8 @@ export const useRow = (table, idOrOptions, options_) => {
|
|
|
24
32
|
? options_
|
|
25
33
|
: idOrOptions;
|
|
26
34
|
const { insertValues } = options ?? {};
|
|
35
|
+
React.useMemo(() => validateTableOptions(table), [table]);
|
|
27
36
|
const tableName = table.sqliteDef.name;
|
|
28
|
-
if (DbSchema.tableHasDerivedMutations(table) === false) {
|
|
29
|
-
shouldNeverHappen(`useRow called on table "${tableName}" which does not have 'deriveMutations: true' set`);
|
|
30
|
-
}
|
|
31
37
|
const { store } = useStore({ store: options?.store });
|
|
32
38
|
if (store.schema.tables.has(table.sqliteDef.name) === false &&
|
|
33
39
|
table.sqliteDef.name.startsWith('__livestore') === false) {
|
|
@@ -91,4 +97,12 @@ export const useRow = (table, idOrOptions, options_) => {
|
|
|
91
97
|
}, [id, queryRef.valueRef, sqliteTableDef.columns, store, table]);
|
|
92
98
|
return [queryRef.valueRef.current, setState, queryRef.queryRcRef.value];
|
|
93
99
|
};
|
|
100
|
+
const validateTableOptions = (table) => {
|
|
101
|
+
if (table.options.deriveMutations.clientOnly === false) {
|
|
102
|
+
return shouldNeverHappen(`useRow called on table "${table.sqliteDef.name}" which does not have 'deriveMutations: { clientOnly: true }' set`);
|
|
103
|
+
}
|
|
104
|
+
if (table.options.deriveMutations.enabled === false) {
|
|
105
|
+
return shouldNeverHappen(`useRow called on table "${table.sqliteDef.name}" which does not have 'deriveMutations: { clientOnly: true }' set`);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
94
108
|
//# sourceMappingURL=useRow.js.map
|
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;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,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
|
|
1
|
+
{"version":3,"file":"useRow.js","sourceRoot":"","sources":["../src/useRow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStateRefWithReactiveInput.d.ts","sourceRoot":"","sources":["../../src/utils/useStateRefWithReactiveInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"useStateRefWithReactiveInput.d.ts","sourceRoot":"","sources":["../../src/utils/useStateRefWithReactiveInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,GAAI,CAAC,EAC5C,YAAY,CAAC,KACZ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAwB/D,CAAA"}
|
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.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"exports": {
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@opentelemetry/api": "1.9.0",
|
|
26
|
-
"@livestore/common": "0.3.0-dev.
|
|
27
|
-
"@livestore/
|
|
28
|
-
"@livestore/
|
|
26
|
+
"@livestore/common": "0.3.0-dev.17",
|
|
27
|
+
"@livestore/utils": "0.3.0-dev.17",
|
|
28
|
+
"@livestore/livestore": "0.3.0-dev.17"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@opentelemetry/sdk-trace-base": "^1.30.1",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"react": "^19.0.0",
|
|
37
37
|
"react-dom": "^19.0.0",
|
|
38
38
|
"react-window": "^1.8.11",
|
|
39
|
-
"typescript": "^5.7.
|
|
39
|
+
"typescript": "^5.7.3",
|
|
40
40
|
"vite": "^6.1.0",
|
|
41
41
|
"vitest": "^2.1.4",
|
|
42
|
-
"@livestore/adapter-web": "0.3.0-dev.
|
|
42
|
+
"@livestore/adapter-web": "0.3.0-dev.17"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": "~19.0.0"
|
|
@@ -29,7 +29,7 @@ export const todos = DbSchema.table(
|
|
|
29
29
|
text: DbSchema.text({ default: '', nullable: false }),
|
|
30
30
|
completed: DbSchema.boolean({ default: false, nullable: false }),
|
|
31
31
|
},
|
|
32
|
-
{ deriveMutations: true, isSingleton: false },
|
|
32
|
+
{ deriveMutations: { clientOnly: true }, isSingleton: false },
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
export const app = DbSchema.table(
|
|
@@ -48,7 +48,7 @@ export const userInfo = DbSchema.table(
|
|
|
48
48
|
username: DbSchema.text({ default: '' }),
|
|
49
49
|
text: DbSchema.text({ default: '' }),
|
|
50
50
|
},
|
|
51
|
-
{ deriveMutations: true },
|
|
51
|
+
{ deriveMutations: { clientOnly: true } },
|
|
52
52
|
)
|
|
53
53
|
|
|
54
54
|
export const AppRouterSchema = DbSchema.table(
|
|
@@ -56,7 +56,7 @@ export const AppRouterSchema = DbSchema.table(
|
|
|
56
56
|
{
|
|
57
57
|
currentTaskId: DbSchema.text({ default: null, nullable: true }),
|
|
58
58
|
},
|
|
59
|
-
{ isSingleton: true, deriveMutations: true },
|
|
59
|
+
{ isSingleton: true, deriveMutations: { clientOnly: true } },
|
|
60
60
|
)
|
|
61
61
|
|
|
62
62
|
export const tables = { todos, app, userInfo, AppRouterSchema }
|
package/src/useRow.ts
CHANGED
|
@@ -24,6 +24,14 @@ export type UseRowResult<TTableDef extends DbSchema.TableDefBase> = [
|
|
|
24
24
|
* - `setRow` is a function that can be used to update the row (values will be encoded according to the table schema)
|
|
25
25
|
* - `query$` is a `LiveQuery` that e.g. can be used to subscribe to changes to the row
|
|
26
26
|
*
|
|
27
|
+
* `useRow` only works with for tables with client-only derived mutations,
|
|
28
|
+
* i.e. requires the following table options to be set:
|
|
29
|
+
* ```ts
|
|
30
|
+
* const myTable = DbSchema.table('myTable', {
|
|
31
|
+
* // fields ...
|
|
32
|
+
* }, { deriveMutations: { clientOnly: true } })
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
27
35
|
* If the table is a singleton table, `useRow` can be called without an `id` argument. Otherwise, the `id` argument is required.
|
|
28
36
|
*/
|
|
29
37
|
export const useRow: {
|
|
@@ -31,7 +39,7 @@ export const useRow: {
|
|
|
31
39
|
<
|
|
32
40
|
TTableDef extends DbSchema.TableDef<
|
|
33
41
|
DbSchema.DefaultSqliteTableDef,
|
|
34
|
-
DbSchema.TableOptions & { isSingleton: true; deriveMutations: { enabled: true } }
|
|
42
|
+
DbSchema.TableOptions & { isSingleton: true; deriveMutations: { enabled: true; clientOnly: true } }
|
|
35
43
|
>,
|
|
36
44
|
>(
|
|
37
45
|
table: TTableDef,
|
|
@@ -45,7 +53,7 @@ export const useRow: {
|
|
|
45
53
|
DbSchema.TableOptions & {
|
|
46
54
|
isSingleton: false
|
|
47
55
|
requiredInsertColumnNames: 'id'
|
|
48
|
-
deriveMutations: { enabled: true }
|
|
56
|
+
deriveMutations: { enabled: true; clientOnly: true }
|
|
49
57
|
}
|
|
50
58
|
>,
|
|
51
59
|
>(
|
|
@@ -59,7 +67,7 @@ export const useRow: {
|
|
|
59
67
|
<
|
|
60
68
|
TTableDef extends DbSchema.TableDef<
|
|
61
69
|
DbSchema.DefaultSqliteTableDef,
|
|
62
|
-
DbSchema.TableOptions & { isSingleton: false; deriveMutations: { enabled: true } }
|
|
70
|
+
DbSchema.TableOptions & { isSingleton: false; deriveMutations: { enabled: true; clientOnly: true } }
|
|
63
71
|
>,
|
|
64
72
|
>(
|
|
65
73
|
table: TTableDef,
|
|
@@ -70,7 +78,7 @@ export const useRow: {
|
|
|
70
78
|
} = <
|
|
71
79
|
TTableDef extends DbSchema.TableDef<
|
|
72
80
|
DbSchema.DefaultSqliteTableDefConstrained,
|
|
73
|
-
DbSchema.TableOptions & { deriveMutations: { enabled: true } }
|
|
81
|
+
DbSchema.TableOptions & { deriveMutations: { enabled: true; clientOnly: true } }
|
|
74
82
|
>,
|
|
75
83
|
>(
|
|
76
84
|
table: TTableDef,
|
|
@@ -90,11 +98,9 @@ export const useRow: {
|
|
|
90
98
|
|
|
91
99
|
type TComponentState = SqliteDsl.FromColumns.RowDecoded<TTableDef['sqliteDef']['columns']>
|
|
92
100
|
|
|
93
|
-
|
|
101
|
+
React.useMemo(() => validateTableOptions(table), [table])
|
|
94
102
|
|
|
95
|
-
|
|
96
|
-
shouldNeverHappen(`useRow called on table "${tableName}" which does not have 'deriveMutations: true' set`)
|
|
97
|
-
}
|
|
103
|
+
const tableName = table.sqliteDef.name
|
|
98
104
|
|
|
99
105
|
const { store } = useStore({ store: options?.store })
|
|
100
106
|
|
|
@@ -188,3 +194,17 @@ export type StateSetters<TTableDef extends DbSchema.TableDefBase> = TTableDef['o
|
|
|
188
194
|
} & {
|
|
189
195
|
setMany: Dispatch<SetStateAction<Partial<RowQuery.Result<TTableDef>>>>
|
|
190
196
|
}
|
|
197
|
+
|
|
198
|
+
const validateTableOptions = (table: DbSchema.TableDef<any, any>) => {
|
|
199
|
+
if (table.options.deriveMutations.clientOnly === false) {
|
|
200
|
+
return shouldNeverHappen(
|
|
201
|
+
`useRow called on table "${table.sqliteDef.name}" which does not have 'deriveMutations: { clientOnly: true }' set`,
|
|
202
|
+
)
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
if (table.options.deriveMutations.enabled === false) {
|
|
206
|
+
return shouldNeverHappen(
|
|
207
|
+
`useRow called on table "${table.sqliteDef.name}" which does not have 'deriveMutations: { clientOnly: true }' set`,
|
|
208
|
+
)
|
|
209
|
+
}
|
|
210
|
+
}
|
package/dist/useRcRef.d.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Creates a reference-counted ref that is "stable" across React lifecycles.
|
|
3
|
-
*
|
|
4
|
-
* The hook is primarily intended for creating stateful objects or entities where
|
|
5
|
-
* reference identity is crucial (e.g. stateful objects, references, ...)
|
|
6
|
-
* needed to persist across multiple component instances. Instead of focusing on the cost of execution,
|
|
7
|
-
* its main goal is to ensure that the same instance is reused while there is at least one consumer,
|
|
8
|
-
* and properly disposed of only when no longer referenced.
|
|
9
|
-
*
|
|
10
|
-
* **Goals:**
|
|
11
|
-
* - Guarantee stable reference identity for stateful entities that are created via the `make` function.
|
|
12
|
-
* - Ensure that such state persists across component re-mounts, even in development environments like
|
|
13
|
-
* React Strict Mode or during Fast Refresh.
|
|
14
|
-
* - Automatically handle resource disposal by decrementing a reference count and disposing of the resource
|
|
15
|
-
* when no components are using it.
|
|
16
|
-
*
|
|
17
|
-
* **Behavior:**
|
|
18
|
-
* - On the first render with a specific key, the `make` function is invoked to create the stateful entity,
|
|
19
|
-
* and the resource is stored in a cache with a reference count set to 1.
|
|
20
|
-
* - If another component renders with the same key, the cached entity is reused and its reference count is incremented.
|
|
21
|
-
* - When a component renders with a new key, the previous key's reference count is decremented and, if it reaches zero,
|
|
22
|
-
* the `dispose` function is called for that resource.
|
|
23
|
-
* - Upon component unmount, the reference count is decremented, leading to disposal (via the `dispose` function)
|
|
24
|
-
* if the reference count drops to zero. An unmount is either detected via React's `useEffect` callback or
|
|
25
|
-
* in the useMemo hook when the key changes.
|
|
26
|
-
*
|
|
27
|
-
* Why this is needed in LiveStore:
|
|
28
|
-
* - Let's first take a look at the "trivial implementation":
|
|
29
|
-
* ```ts
|
|
30
|
-
* const useSimpleResource = <T>(make: () => T, dispose: (resource: T) => void) => {
|
|
31
|
-
* const val = React.useMemo(() => make(), [make])
|
|
32
|
-
*
|
|
33
|
-
* React.useEffect(() => {
|
|
34
|
-
* return () => {
|
|
35
|
-
* dispose(val)
|
|
36
|
-
* }
|
|
37
|
-
* }, [dispose, val])
|
|
38
|
-
|
|
39
|
-
* return val
|
|
40
|
-
* }
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* **Usage:**
|
|
44
|
-
* ```tsx
|
|
45
|
-
* // Create a stateful object instance for a unique key and share it between components.
|
|
46
|
-
* const statefulObject = useRcResource(
|
|
47
|
-
* 'stable-object-key',
|
|
48
|
-
* () => createObjectInstance(),
|
|
49
|
-
* (object) => object.dispose()
|
|
50
|
-
* );
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* **Caveats:**
|
|
54
|
-
* - The `make` function is intentionally omitted from the dependency array in `useMemo` to prevent
|
|
55
|
-
* unintended re-creations of the stateful entity. Avoid closing over changing values within `make`
|
|
56
|
-
* or include them in the `key`.
|
|
57
|
-
* - Ensure that the `dispose` function is stable or properly memoized as its reference is used in a `useEffect`.
|
|
58
|
-
* - Although the caching mechanism prevents duplicate instance creation for the same key, the strategy
|
|
59
|
-
* can interact in unexpected ways with React’s development patterns. Please report any issues if encountered.
|
|
60
|
-
*
|
|
61
|
-
* @template T The type of the stateful entity managed by the hook.
|
|
62
|
-
* @param key A unique identifier for the stateful entity. A change in this key triggers a disposal of the previous resource.
|
|
63
|
-
* @param make Function to create the stateful entity when it does not exist in the cache.
|
|
64
|
-
* @param dispose Function to dispose of the stateful entity when it’s no longer needed. Needs to be stable.
|
|
65
|
-
* @param _options Optional. Additional options such as a debug print callback for logging purposes.
|
|
66
|
-
* @returns The stateful entity corresponding to the provided key.
|
|
67
|
-
*/
|
|
68
|
-
export declare const useRcResource: <T>(key: string, make: () => T, dispose: (resource: NoInfer<T>) => void, _options?: {
|
|
69
|
-
debugPrint?: (resource: NoInfer<T>) => ReadonlyArray<any>;
|
|
70
|
-
}) => any;
|
|
71
|
-
export declare const __resetUseRcRefCache: () => void;
|
|
72
|
-
//# sourceMappingURL=useRcRef.d.ts.map
|
package/dist/useRcRef.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRcRef.d.ts","sourceRoot":"","sources":["../src/useRcRef.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,OACxB,MAAM,QACL,MAAM,CAAC,WACJ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,aAC5B;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,QAkFzE,CAAA;AAkBD,eAAO,MAAM,oBAAoB,YAEhC,CAAA"}
|