supastash 0.2.1 → 0.2.3
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.
|
@@ -42,7 +42,9 @@ export declare class SupastashQueryBuilder<T extends CrudMethods, U extends bool
|
|
|
42
42
|
*
|
|
43
43
|
* In this example, both inserts succeed or both fail.
|
|
44
44
|
*/
|
|
45
|
-
withTransaction(fn: (tx: SupastashTransactionalBuilder<T, U, R>) => Promise<void> | void
|
|
45
|
+
withTransaction(fn: (tx: SupastashTransactionalBuilder<T, U, R>) => Promise<void> | void, options?: {
|
|
46
|
+
syncMode?: "fire-and-forget" | "await-all";
|
|
47
|
+
}): Promise<void>;
|
|
46
48
|
}
|
|
47
49
|
type SupastashTransactionalBuilder<T extends CrudMethods, U extends boolean, R> = Omit<SupastashQueryBuilder<T, U, R>, "withTransaction">;
|
|
48
50
|
export type SupastashTransactionClient = SupastashTransactionalBuilder<CrudMethods, boolean, PayloadData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/query/builder/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,WAAW,EACX,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,oBAAoB,MAAM,QAAQ,CAAC;AAE1C;;;;GAIG;AACH,qBAAa,qBAAqB,CAChC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,OAAO,EACjB,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAEhD;;;OAGG;gBACS,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAI1C;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM;IAOlB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,eAAe,CACb,EAAE,EAAE,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/query/builder/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,WAAW,EACX,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAGpC,OAAO,oBAAoB,MAAM,QAAQ,CAAC;AAE1C;;;;GAIG;AACH,qBAAa,qBAAqB,CAChC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,OAAO,EACjB,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAEhD;;;OAGG;gBACS,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAI1C;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM;IAOlB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,eAAe,CACb,EAAE,EAAE,CAAC,EAAE,EAAE,6BAA6B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EACxE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAAA;KAAE;CAwD3D;AAED,KAAK,6BAA6B,CAChC,CAAC,SAAS,WAAW,EACrB,CAAC,SAAS,OAAO,EACjB,CAAC,IACC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,0BAA0B,GAAG,6BAA6B,CACpE,WAAW,EACX,OAAO,EACP,WAAW,CACZ,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,6BAA6B,CACzD,WAAW,EACX,OAAO,EACP,WAAW,CACZ,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,SAAS,kDAyBiC,CAAC"}
|
|
@@ -50,7 +50,7 @@ export class SupastashQueryBuilder {
|
|
|
50
50
|
*
|
|
51
51
|
* In this example, both inserts succeed or both fail.
|
|
52
52
|
*/
|
|
53
|
-
withTransaction(fn) {
|
|
53
|
+
withTransaction(fn, options) {
|
|
54
54
|
const query = async () => {
|
|
55
55
|
// Create a new transaction id
|
|
56
56
|
const newTxId = generateUUIDv4();
|
|
@@ -81,8 +81,17 @@ export class SupastashQueryBuilder {
|
|
|
81
81
|
type: "remoteOnly",
|
|
82
82
|
};
|
|
83
83
|
});
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
if (options?.syncMode === "await-all") {
|
|
85
|
+
// wait for all (fail fast)
|
|
86
|
+
for (const state of newStates) {
|
|
87
|
+
await queueRemoteCall(state);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// fire and forget (default)
|
|
92
|
+
for (const state of newStates) {
|
|
93
|
+
queueRemoteCall(state);
|
|
94
|
+
}
|
|
86
95
|
}
|
|
87
96
|
}
|
|
88
97
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "supastash",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"type": "module",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@react-native-community/netinfo": ">=9.0.0 <12.0.0",
|
|
40
40
|
"@supabase/supabase-js": ">=2.0.0 <3.0.0",
|
|
41
41
|
"@tauri-apps/plugin-sql": ">=2.0.0 <3.0.0",
|
|
42
|
-
"expo-crypto": "
|
|
42
|
+
"expo-crypto": ">=13.0.0",
|
|
43
43
|
"expo-sqlite": ">=15.0.0 <16.0.0",
|
|
44
44
|
"react": ">=18.0.0 <20.0.0",
|
|
45
45
|
"react-native": ">=0.71.0 <0.82.0",
|