@tursodatabase/sync-common 0.4.0-pre.1 → 0.4.0-pre.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.
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/run.d.ts +5 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +15 -7
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { run, memoryIO, SyncEngineGuards } from "./run.js";
|
|
1
|
+
import { run, memoryIO, runner, SyncEngineGuards, Runner } from "./run.js";
|
|
2
2
|
import { DatabaseOpts, ProtocolIo, RunOpts, DatabaseRowMutation, DatabaseRowStatement, DatabaseRowTransformResult, DatabaseStats, DatabaseChangeType, EncryptionOpts } from "./types.js";
|
|
3
|
-
export { run, memoryIO, SyncEngineGuards };
|
|
3
|
+
export { run, memoryIO, runner, SyncEngineGuards, Runner };
|
|
4
4
|
export type { DatabaseStats, DatabaseOpts, DatabaseChangeType, DatabaseRowMutation, DatabaseRowStatement, DatabaseRowTransformResult, EncryptionOpts, ProtocolIo, RunOpts, };
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAC1E,OAAO,EACH,YAAY,EACZ,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,EACb,kBAAkB,EAClB,cAAc,EACjB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;AAC1D,YAAY,EACR,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EAEd,UAAU,EACV,OAAO,GACV,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { run, memoryIO, SyncEngineGuards } from "./run.js";
|
|
2
|
-
export { run, memoryIO, SyncEngineGuards };
|
|
1
|
+
import { run, memoryIO, runner, SyncEngineGuards } from "./run.js";
|
|
2
|
+
export { run, memoryIO, runner, SyncEngineGuards };
|
package/dist/run.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { ProtocolIo, RunOpts } from "./types.js";
|
|
2
2
|
import { AsyncLock } from "@tursodatabase/database-common";
|
|
3
3
|
export declare function memoryIO(): ProtocolIo;
|
|
4
|
-
export
|
|
4
|
+
export interface Runner {
|
|
5
|
+
wait(): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare function runner(opts: RunOpts, io: ProtocolIo, engine: any): Runner;
|
|
8
|
+
export declare function run(runner: Runner, generator: any): Promise<any>;
|
|
5
9
|
export declare class SyncEngineGuards {
|
|
6
10
|
waitLock: AsyncLock;
|
|
7
11
|
pushLock: AsyncLock;
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAuG3D,wBAAgB,QAAQ,IAAI,UAAU,CAUrC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../run.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAuG3D,wBAAgB,QAAQ,IAAI,UAAU,CAUrC;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAezE;AAED,wBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAetE;AAED,qBAAa,gBAAgB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;;IAOpB,IAAI,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAQzC,IAAI,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAY3B,KAAK,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAc5B,UAAU,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;CAc1C"}
|
package/dist/run.js
CHANGED
|
@@ -114,8 +114,21 @@ export function memoryIO() {
|
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
116
|
;
|
|
117
|
-
export
|
|
117
|
+
export function runner(opts, io, engine) {
|
|
118
118
|
let tasks = [];
|
|
119
|
+
return {
|
|
120
|
+
async wait() {
|
|
121
|
+
for (let request = engine.protocolIo(); request != null; request = engine.protocolIo()) {
|
|
122
|
+
tasks.push(trackPromise(process(opts, io, request)));
|
|
123
|
+
}
|
|
124
|
+
const tasksRace = tasks.length == 0 ? Promise.resolve() : Promise.race([timeoutMs(opts.preemptionMs), ...tasks.map(t => t.promise)]);
|
|
125
|
+
await Promise.all([engine.ioLoopAsync(), tasksRace]);
|
|
126
|
+
tasks = tasks.filter(t => !t.finished);
|
|
127
|
+
engine.protocolIoStep();
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
export async function run(runner, generator) {
|
|
119
132
|
while (true) {
|
|
120
133
|
const { type, ...rest } = await generator.resumeAsync(null);
|
|
121
134
|
if (type == 'Done') {
|
|
@@ -128,12 +141,7 @@ export async function run(opts, io, engine, generator) {
|
|
|
128
141
|
//@ts-ignore
|
|
129
142
|
return rest.changes;
|
|
130
143
|
}
|
|
131
|
-
|
|
132
|
-
tasks.push(trackPromise(process(opts, io, request)));
|
|
133
|
-
}
|
|
134
|
-
const tasksRace = tasks.length == 0 ? Promise.resolve() : Promise.race([timeoutMs(opts.preemptionMs), ...tasks.map(t => t.promise)]);
|
|
135
|
-
await Promise.all([engine.ioLoopAsync(), tasksRace]);
|
|
136
|
-
tasks = tasks.filter(t => !t.finished);
|
|
144
|
+
await runner.wait();
|
|
137
145
|
}
|
|
138
146
|
}
|
|
139
147
|
export class SyncEngineGuards {
|
package/dist/types.d.ts
CHANGED
|
@@ -104,6 +104,20 @@ export interface DatabaseOpts {
|
|
|
104
104
|
* optional parameter to enable internal logging for the database
|
|
105
105
|
*/
|
|
106
106
|
tracing?: 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
|
107
|
+
/**
|
|
108
|
+
* optional parameter to enable partial sync for the database
|
|
109
|
+
*/
|
|
110
|
+
partialSync?: {
|
|
111
|
+
bootstrapStrategy: {
|
|
112
|
+
kind: 'prefix';
|
|
113
|
+
length: number;
|
|
114
|
+
} | {
|
|
115
|
+
kind: 'query';
|
|
116
|
+
query: string;
|
|
117
|
+
};
|
|
118
|
+
segmentSize?: number;
|
|
119
|
+
speculativeLoad?: boolean;
|
|
120
|
+
};
|
|
107
121
|
}
|
|
108
122
|
export interface DatabaseStats {
|
|
109
123
|
/**
|
|
@@ -131,6 +145,14 @@ export interface DatabaseStats {
|
|
|
131
145
|
* (can be used as e-tag, but string must not be interpreted in any way and must be used as opaque value)
|
|
132
146
|
*/
|
|
133
147
|
revision: string | null;
|
|
148
|
+
/**
|
|
149
|
+
* total amount of sent bytes over the network
|
|
150
|
+
*/
|
|
151
|
+
networkSentBytes: number;
|
|
152
|
+
/**
|
|
153
|
+
* total amount of received bytes over the network
|
|
154
|
+
*/
|
|
155
|
+
networkReceivedBytes: number;
|
|
134
156
|
}
|
|
135
157
|
export interface RunOpts {
|
|
136
158
|
preemptionMs: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,kBAAkB;IACxC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;CACrB;AAGD;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,GAAG,IAAI,CAAC;AAE7H,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,UAAU,EAAE,kBAAkB,CAAA;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,mBAAmB,KAAK,0BAA0B,CAAC;AAEjF,MAAM,WAAW,cAAc;IAE3B,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,kBAAkB,GAAG,UAAU,CAAA;CACtE;AACD,MAAM,WAAW,YAAY;IACzB;;;;SAIK;IACL,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tursodatabase/sync-common",
|
|
3
|
-
"version": "0.4.0-pre.
|
|
3
|
+
"version": "0.4.0-pre.14",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/tursodatabase/turso"
|
|
@@ -23,6 +23,6 @@
|
|
|
23
23
|
"test": "echo 'no tests'"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@tursodatabase/database-common": "^0.4.0-pre.
|
|
26
|
+
"@tursodatabase/database-common": "^0.4.0-pre.14"
|
|
27
27
|
}
|
|
28
28
|
}
|