@filen/sync 0.1.1 → 0.1.4
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/LICENSE +661 -661
- package/README.md +1 -1
- package/SECURITY.md +17 -17
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +51 -1
- package/dist/constants.js.map +1 -1
- package/dist/ignorer.d.ts +14 -0
- package/dist/ignorer.js +69 -0
- package/dist/ignorer.js.map +1 -0
- package/dist/index.d.ts +31 -17
- package/dist/index.js +125 -24
- package/dist/index.js.map +1 -1
- package/dist/lib/deltas.d.ts +9 -31
- package/dist/lib/deltas.js +194 -99
- package/dist/lib/deltas.js.map +1 -1
- package/dist/lib/filesystems/local.d.ts +32 -43
- package/dist/lib/filesystems/local.js +383 -106
- package/dist/lib/filesystems/local.js.map +1 -1
- package/dist/lib/filesystems/remote.d.ts +21 -7
- package/dist/lib/filesystems/remote.js +531 -67
- package/dist/lib/filesystems/remote.js.map +1 -1
- package/dist/lib/ipc.d.ts +9 -0
- package/dist/lib/ipc.js +60 -0
- package/dist/lib/ipc.js.map +1 -0
- package/dist/lib/lock.d.ts +13 -0
- package/dist/lib/lock.js +73 -0
- package/dist/lib/lock.js.map +1 -0
- package/dist/lib/logger.d.ts +14 -0
- package/dist/lib/logger.js +93 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/state.d.ts +4 -15
- package/dist/lib/state.js +106 -87
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/sync.d.ts +30 -10
- package/dist/lib/sync.js +363 -36
- package/dist/lib/sync.js.map +1 -1
- package/dist/lib/tasks.d.ts +27 -40
- package/dist/lib/tasks.js +397 -48
- package/dist/lib/tasks.js.map +1 -1
- package/dist/types.d.ts +340 -0
- package/dist/utils.d.ts +42 -0
- package/dist/utils.js +164 -1
- package/dist/utils.js.map +1 -1
- package/index.d.ts +6 -295
- package/jest.config.js +5 -0
- package/package.json +62 -58
- package/tests/utils.test.ts +33 -0
- package/tsconfig.json +24 -24
package/dist/lib/state.js
CHANGED
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.State = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
|
-
const
|
|
9
|
+
const v8_1 = require("v8");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
10
11
|
const STATE_VERSION = 1;
|
|
11
12
|
/**
|
|
12
13
|
* State
|
|
@@ -17,18 +18,9 @@ const STATE_VERSION = 1;
|
|
|
17
18
|
* @typedef {State}
|
|
18
19
|
*/
|
|
19
20
|
class State {
|
|
20
|
-
|
|
21
|
-
* Creates an instance of State.
|
|
22
|
-
* @date 3/1/2024 - 11:11:36 PM
|
|
23
|
-
*
|
|
24
|
-
* @constructor
|
|
25
|
-
* @public
|
|
26
|
-
* @param {{ sync: Sync }} param0
|
|
27
|
-
* @param {Sync} param0.sync
|
|
28
|
-
*/
|
|
29
|
-
constructor({ sync }) {
|
|
21
|
+
constructor(sync) {
|
|
30
22
|
this.sync = sync;
|
|
31
|
-
this.statePath = path_1.default.join(this.sync.dbPath, "state", `v${STATE_VERSION}
|
|
23
|
+
this.statePath = path_1.default.join(this.sync.dbPath, "state", `v${STATE_VERSION}`, sync.syncPair.uuid);
|
|
32
24
|
}
|
|
33
25
|
applyDoneTasksToState({ doneTasks, currentLocalTree, currentRemoteTree }) {
|
|
34
26
|
// Work on the done tasks from "right to left" (descending order, path length).
|
|
@@ -36,68 +28,75 @@ class State {
|
|
|
36
28
|
const tasks = doneTasks.sort((a, b) => b.path.split("/").length - a.path.split("/").length);
|
|
37
29
|
for (const task of tasks) {
|
|
38
30
|
switch (task.type) {
|
|
39
|
-
case "renameRemoteDirectory":
|
|
40
|
-
case "renameRemoteFile":
|
|
41
|
-
case "moveRemoteDirectory":
|
|
42
|
-
case "moveRemoteFile": {
|
|
43
|
-
for (const oldPath in currentRemoteTree.tree) {
|
|
44
|
-
if (oldPath.startsWith(task.from + "/") || oldPath === task.from) {
|
|
45
|
-
const newPath = oldPath.split(task.from).join(task.to);
|
|
46
|
-
const oldItem = currentRemoteTree.tree[oldPath];
|
|
47
|
-
if (oldItem) {
|
|
48
|
-
const item = Object.assign(Object.assign({}, oldItem), { path: newPath, name: path_1.default.posix.basename(newPath) });
|
|
49
|
-
currentRemoteTree.tree[newPath] = item;
|
|
50
|
-
delete currentRemoteTree.tree[oldPath];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
for (const uuid in currentRemoteTree.uuids) {
|
|
55
|
-
const currentItem = currentRemoteTree.uuids[uuid];
|
|
56
|
-
if (!currentItem) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
const oldPath = currentItem.path;
|
|
60
|
-
if (oldPath.startsWith(task.from + "/") || oldPath === task.from) {
|
|
61
|
-
const newPath = oldPath.split(task.from).join(task.to);
|
|
62
|
-
const item = Object.assign(Object.assign({}, currentItem), { path: newPath, name: path_1.default.posix.basename(newPath) });
|
|
63
|
-
currentRemoteTree.uuids[uuid] = item;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
case "moveLocalDirectory":
|
|
69
|
-
case "moveLocalFile":
|
|
70
31
|
case "renameLocalDirectory":
|
|
71
32
|
case "renameLocalFile": {
|
|
33
|
+
if (this.sync.localFileHashes[task.from]) {
|
|
34
|
+
this.sync.localFileHashes[task.to] = this.sync.localFileHashes[task.from];
|
|
35
|
+
}
|
|
36
|
+
delete this.sync.localFileHashes[task.from];
|
|
37
|
+
const oldItem = currentLocalTree.tree[task.from];
|
|
38
|
+
if (oldItem) {
|
|
39
|
+
currentLocalTree.tree[task.to] = Object.assign(Object.assign({}, oldItem), { path: task.to });
|
|
40
|
+
currentLocalTree.inodes[oldItem.inode] = Object.assign(Object.assign({}, oldItem), { path: task.to });
|
|
41
|
+
}
|
|
42
|
+
delete currentLocalTree.tree[task.from];
|
|
72
43
|
for (const oldPath in currentLocalTree.tree) {
|
|
73
|
-
if (oldPath.startsWith(task.from + "/")
|
|
74
|
-
const newPath =
|
|
44
|
+
if (oldPath.startsWith(task.from + "/") && oldPath !== task.from) {
|
|
45
|
+
const newPath = (0, utils_1.replacePathStartWithFromAndTo)(oldPath, task.from, task.to);
|
|
75
46
|
const oldItem = currentLocalTree.tree[oldPath];
|
|
76
47
|
if (oldItem) {
|
|
77
48
|
const item = Object.assign(Object.assign({}, oldItem), { path: newPath });
|
|
78
49
|
currentLocalTree.tree[newPath] = item;
|
|
79
50
|
delete currentLocalTree.tree[oldPath];
|
|
51
|
+
const oldItemINode = currentLocalTree.inodes[oldItem.inode];
|
|
52
|
+
if (oldItemINode) {
|
|
53
|
+
currentLocalTree.inodes[oldItem.inode] = Object.assign(Object.assign({}, oldItemINode), { path: newPath });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const oldItemHash = this.sync.localFileHashes[oldPath];
|
|
57
|
+
if (oldItemHash) {
|
|
58
|
+
this.sync.localFileHashes[newPath] = oldItemHash;
|
|
59
|
+
delete this.sync.localFileHashes[oldPath];
|
|
80
60
|
}
|
|
81
61
|
}
|
|
82
62
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
case "renameRemoteDirectory":
|
|
66
|
+
case "renameRemoteFile": {
|
|
67
|
+
const oldItem = currentRemoteTree.tree[task.from];
|
|
68
|
+
if (oldItem) {
|
|
69
|
+
const newItem = Object.assign(Object.assign({}, oldItem), { path: task.to, name: path_1.default.posix.basename(task.to) });
|
|
70
|
+
currentRemoteTree.tree[task.to] = newItem;
|
|
71
|
+
currentRemoteTree.uuids[oldItem.uuid] = newItem;
|
|
72
|
+
}
|
|
73
|
+
delete currentRemoteTree.tree[task.from];
|
|
74
|
+
for (const oldPath in currentRemoteTree.tree) {
|
|
75
|
+
if (oldPath.startsWith(task.from + "/") && oldPath !== task.from) {
|
|
76
|
+
const newPath = (0, utils_1.replacePathStartWithFromAndTo)(oldPath, task.from, task.to);
|
|
77
|
+
const oldItem = currentRemoteTree.tree[oldPath];
|
|
78
|
+
if (oldItem) {
|
|
79
|
+
const newItem = Object.assign(Object.assign({}, oldItem), { path: newPath, name: path_1.default.posix.basename(newPath) });
|
|
80
|
+
currentRemoteTree.tree[newPath] = newItem;
|
|
81
|
+
delete currentRemoteTree.tree[oldPath];
|
|
82
|
+
const oldItemUUID = currentRemoteTree.uuids[oldItem.uuid];
|
|
83
|
+
if (oldItemUUID) {
|
|
84
|
+
currentRemoteTree.uuids[oldItemUUID.uuid] = Object.assign(Object.assign({}, oldItemUUID), { path: newPath, name: path_1.default.posix.basename(newPath) });
|
|
85
|
+
}
|
|
86
|
+
}
|
|
93
87
|
}
|
|
94
88
|
}
|
|
95
89
|
break;
|
|
96
90
|
}
|
|
97
91
|
case "deleteLocalDirectory":
|
|
98
|
-
case "deleteLocalFile":
|
|
99
|
-
|
|
100
|
-
|
|
92
|
+
case "deleteLocalFile": {
|
|
93
|
+
delete this.sync.localFileHashes[task.path];
|
|
94
|
+
delete currentLocalTree.tree[task.path];
|
|
95
|
+
for (const path in this.sync.localFileHashes) {
|
|
96
|
+
if (path.startsWith(task.path + "/") || path === task.path) {
|
|
97
|
+
delete this.sync.localFileHashes[path];
|
|
98
|
+
}
|
|
99
|
+
}
|
|
101
100
|
for (const path in currentLocalTree.tree) {
|
|
102
101
|
if (path.startsWith(task.path + "/") || path === task.path) {
|
|
103
102
|
delete currentLocalTree.tree[path];
|
|
@@ -113,6 +112,11 @@ class State {
|
|
|
113
112
|
delete currentLocalTree.inodes[inode];
|
|
114
113
|
}
|
|
115
114
|
}
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
case "deleteRemoteDirectory":
|
|
118
|
+
case "deleteRemoteFile": {
|
|
119
|
+
delete currentRemoteTree.tree[task.path];
|
|
116
120
|
for (const path in currentRemoteTree.tree) {
|
|
117
121
|
if (path.startsWith(task.path + "/") || path === task.path) {
|
|
118
122
|
delete currentRemoteTree.tree[path];
|
|
@@ -128,38 +132,51 @@ class State {
|
|
|
128
132
|
delete currentRemoteTree.uuids[uuid];
|
|
129
133
|
}
|
|
130
134
|
}
|
|
131
|
-
delete this.sync.localFileHashes[task.path];
|
|
132
135
|
break;
|
|
133
136
|
}
|
|
134
137
|
case "createRemoteDirectory": {
|
|
135
|
-
const
|
|
136
|
-
|
|
138
|
+
const localItem = {
|
|
139
|
+
lastModified: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
|
|
137
140
|
type: "directory",
|
|
138
|
-
|
|
141
|
+
path: task.path,
|
|
139
142
|
size: 0,
|
|
140
|
-
|
|
143
|
+
creation: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
|
|
144
|
+
inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
|
|
141
145
|
};
|
|
142
|
-
currentRemoteTree.tree[task.path] = item;
|
|
143
|
-
currentRemoteTree.uuids[item.uuid] = item;
|
|
146
|
+
currentRemoteTree.tree[task.item.path] = task.item;
|
|
147
|
+
currentRemoteTree.uuids[task.item.uuid] = task.item;
|
|
148
|
+
currentLocalTree.tree[task.path] = localItem;
|
|
149
|
+
currentLocalTree.inodes[localItem.inode] = localItem;
|
|
144
150
|
break;
|
|
145
151
|
}
|
|
146
152
|
case "uploadFile": {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
153
|
+
const localItem = {
|
|
154
|
+
lastModified: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
|
|
155
|
+
type: "file",
|
|
156
|
+
path: task.path,
|
|
157
|
+
size: parseInt(task.stats.size), // Sometimes comes as a float, but we need an int
|
|
158
|
+
creation: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
|
|
159
|
+
inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
|
|
160
|
+
};
|
|
161
|
+
currentRemoteTree.tree[task.item.path] = task.item;
|
|
162
|
+
currentRemoteTree.uuids[task.item.uuid] = task.item;
|
|
163
|
+
currentLocalTree.tree[task.path] = localItem;
|
|
164
|
+
currentLocalTree.inodes[localItem.inode] = localItem;
|
|
150
165
|
break;
|
|
151
166
|
}
|
|
152
167
|
case "createLocalDirectory": {
|
|
153
|
-
const
|
|
168
|
+
const localItem = {
|
|
154
169
|
lastModified: parseInt(task.stats.mtimeMs), // Sometimes comes as a float, but we need an int
|
|
155
170
|
type: "directory",
|
|
156
171
|
path: task.path,
|
|
157
172
|
creation: parseInt(task.stats.birthtimeMs), // Sometimes comes as a float, but we need an int
|
|
158
|
-
size: task.stats.size,
|
|
159
|
-
inode: task.stats.ino
|
|
173
|
+
size: parseInt(task.stats.size), // Sometimes comes as a float, but we need an int
|
|
174
|
+
inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
|
|
160
175
|
};
|
|
161
|
-
currentLocalTree.tree[task.path] =
|
|
162
|
-
currentLocalTree.inodes[
|
|
176
|
+
currentLocalTree.tree[task.path] = localItem;
|
|
177
|
+
currentLocalTree.inodes[localItem.inode] = localItem;
|
|
178
|
+
currentRemoteTree.tree[task.item.path] = task.item;
|
|
179
|
+
currentRemoteTree.uuids[task.item.uuid] = task.item;
|
|
163
180
|
break;
|
|
164
181
|
}
|
|
165
182
|
case "downloadFile": {
|
|
@@ -168,11 +185,13 @@ class State {
|
|
|
168
185
|
type: "file",
|
|
169
186
|
path: task.path,
|
|
170
187
|
creation: parseInt(task.stats.birthtimeMs), // Sometimes comes as a float, but we need an int
|
|
171
|
-
size: task.stats.size,
|
|
172
|
-
inode: task.stats.ino
|
|
188
|
+
size: parseInt(task.stats.size), // Sometimes comes as a float, but we need an int
|
|
189
|
+
inode: parseInt(task.stats.ino) // Sometimes comes as a float, but we need an int
|
|
173
190
|
};
|
|
174
191
|
currentLocalTree.tree[task.path] = item;
|
|
175
192
|
currentLocalTree.inodes[item.inode] = item;
|
|
193
|
+
currentRemoteTree.tree[task.item.path] = task.item;
|
|
194
|
+
currentRemoteTree.uuids[task.item.uuid] = task.item;
|
|
176
195
|
break;
|
|
177
196
|
}
|
|
178
197
|
}
|
|
@@ -183,19 +202,19 @@ class State {
|
|
|
183
202
|
};
|
|
184
203
|
}
|
|
185
204
|
async saveLocalFileHashes() {
|
|
186
|
-
const path = path_1.default.join(this.statePath, "localFileHashes");
|
|
187
|
-
const serialized = (0, msgpackr_1.pack)(this.sync.localFileHashes);
|
|
188
205
|
await fs_extra_1.default.ensureDir(this.statePath);
|
|
206
|
+
const path = path_1.default.join(this.statePath, "localFileHashes");
|
|
207
|
+
const serialized = (0, v8_1.serialize)(this.sync.localFileHashes);
|
|
189
208
|
await fs_extra_1.default.writeFile(path, serialized);
|
|
190
209
|
}
|
|
191
210
|
async loadLocalFileHashes() {
|
|
192
|
-
const path = path_1.default.join(this.statePath, "localFileHashes");
|
|
193
211
|
await fs_extra_1.default.ensureDir(this.statePath);
|
|
212
|
+
const path = path_1.default.join(this.statePath, "localFileHashes");
|
|
194
213
|
if (!(await fs_extra_1.default.exists(path))) {
|
|
195
214
|
return;
|
|
196
215
|
}
|
|
197
216
|
const buffer = await fs_extra_1.default.readFile(path);
|
|
198
|
-
this.sync.localFileHashes = (0,
|
|
217
|
+
this.sync.localFileHashes = (0, v8_1.deserialize)(buffer);
|
|
199
218
|
}
|
|
200
219
|
async initialize() {
|
|
201
220
|
await Promise.all([this.loadLocalFileHashes(), this.loadPreviousTrees()]);
|
|
@@ -204,23 +223,23 @@ class State {
|
|
|
204
223
|
await Promise.all([this.saveLocalFileHashes(), this.savePreviousTrees()]);
|
|
205
224
|
}
|
|
206
225
|
async loadPreviousTrees() {
|
|
226
|
+
await fs_extra_1.default.ensureDir(this.statePath);
|
|
207
227
|
const localPath = path_1.default.join(this.statePath, "previousLocalTree");
|
|
208
228
|
const remotePath = path_1.default.join(this.statePath, "previousRemoteTree");
|
|
209
|
-
await fs_extra_1.default.ensureDir(this.statePath);
|
|
210
229
|
if (!(await fs_extra_1.default.exists(localPath)) || !(await fs_extra_1.default.exists(remotePath))) {
|
|
211
230
|
return;
|
|
212
231
|
}
|
|
213
|
-
const
|
|
214
|
-
this.sync.previousLocalTree = (0,
|
|
215
|
-
|
|
232
|
+
const localBuffer = await fs_extra_1.default.readFile(localPath);
|
|
233
|
+
this.sync.previousLocalTree = (0, v8_1.deserialize)(localBuffer);
|
|
234
|
+
const remoteBuffer = await fs_extra_1.default.readFile(remotePath);
|
|
235
|
+
this.sync.previousRemoteTree = (0, v8_1.deserialize)(remoteBuffer);
|
|
216
236
|
}
|
|
217
237
|
async savePreviousTrees() {
|
|
238
|
+
await fs_extra_1.default.ensureDir(this.statePath);
|
|
218
239
|
const localPath = path_1.default.join(this.statePath, "previousLocalTree");
|
|
219
240
|
const remotePath = path_1.default.join(this.statePath, "previousRemoteTree");
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
await fs_extra_1.default.ensureDir(this.statePath);
|
|
223
|
-
await Promise.all([fs_extra_1.default.writeFile(localPath, localSerialized), fs_extra_1.default.writeFile(remotePath, remoteSerialized)]);
|
|
241
|
+
await fs_extra_1.default.writeFile(localPath, (0, v8_1.serialize)(this.sync.previousLocalTree));
|
|
242
|
+
await fs_extra_1.default.writeFile(remotePath, (0, v8_1.serialize)(this.sync.previousRemoteTree));
|
|
224
243
|
}
|
|
225
244
|
}
|
|
226
245
|
exports.State = State;
|
package/dist/lib/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/lib/state.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sync.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type
|
|
1
|
+
import FilenSDK, { type PauseSignal } from "@filen/sdk";
|
|
2
|
+
import { type SyncPair, type SyncMode } from "../types";
|
|
3
3
|
import { LocalFileSystem, LocalTree } from "./filesystems/local";
|
|
4
4
|
import { RemoteFileSystem, RemoteTree } from "./filesystems/remote";
|
|
5
5
|
import Deltas from "./deltas";
|
|
6
|
-
import Tasks from "./tasks";
|
|
6
|
+
import Tasks, { type TaskError } from "./tasks";
|
|
7
7
|
import State from "./state";
|
|
8
|
+
import Ignorer from "../ignorer";
|
|
9
|
+
import type SyncWorker from "..";
|
|
10
|
+
import Lock from "./lock";
|
|
8
11
|
/**
|
|
9
12
|
* Sync
|
|
10
13
|
*
|
|
@@ -13,7 +16,7 @@ import State from "./state";
|
|
|
13
16
|
* @typedef {Sync}
|
|
14
17
|
*/
|
|
15
18
|
export declare class Sync {
|
|
16
|
-
readonly sdk:
|
|
19
|
+
readonly sdk: FilenSDK;
|
|
17
20
|
readonly syncPair: SyncPair;
|
|
18
21
|
private isInitialized;
|
|
19
22
|
readonly localFileSystem: LocalFileSystem;
|
|
@@ -25,22 +28,39 @@ export declare class Sync {
|
|
|
25
28
|
readonly tasks: Tasks;
|
|
26
29
|
readonly state: State;
|
|
27
30
|
readonly dbPath: string;
|
|
31
|
+
readonly abortControllers: Record<string, AbortController>;
|
|
32
|
+
readonly pauseSignals: Record<string, PauseSignal>;
|
|
33
|
+
readonly localIgnorer: Ignorer;
|
|
34
|
+
readonly remoteIgnorer: Ignorer;
|
|
35
|
+
paused: boolean;
|
|
36
|
+
mode: SyncMode;
|
|
37
|
+
excludeDotFiles: boolean;
|
|
38
|
+
readonly worker: SyncWorker;
|
|
39
|
+
removed: boolean;
|
|
40
|
+
saveStateOnNoChanges: boolean;
|
|
41
|
+
readonly lock: Lock;
|
|
42
|
+
taskErrors: TaskError[];
|
|
28
43
|
/**
|
|
29
44
|
* Creates an instance of Sync.
|
|
30
45
|
*
|
|
31
46
|
* @constructor
|
|
32
47
|
* @public
|
|
33
|
-
* @param {{ syncPair: SyncPair;
|
|
48
|
+
* @param {{ syncPair: SyncPair; worker: SyncWorker }} param0
|
|
34
49
|
* @param {SyncPair} param0.syncPair
|
|
35
|
-
* @param {
|
|
36
|
-
* @param {FilenSDKConfig} param0.sdkConfig
|
|
50
|
+
* @param {SyncWorker} param0.worker
|
|
37
51
|
*/
|
|
38
|
-
constructor({ syncPair,
|
|
52
|
+
constructor({ syncPair, worker }: {
|
|
39
53
|
syncPair: SyncPair;
|
|
40
|
-
|
|
41
|
-
sdkConfig: FilenSDKConfig;
|
|
54
|
+
worker: SyncWorker;
|
|
42
55
|
});
|
|
56
|
+
/**
|
|
57
|
+
* Sets up receiving message from the main thread.
|
|
58
|
+
*
|
|
59
|
+
* @private
|
|
60
|
+
*/
|
|
61
|
+
private setupMainThreadListeners;
|
|
43
62
|
initialize(): Promise<void>;
|
|
63
|
+
cleanup(): Promise<void>;
|
|
44
64
|
private run;
|
|
45
65
|
}
|
|
46
66
|
export default Sync;
|