@grafema/rfdb-client 0.2.10 → 0.2.12-beta
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/client.d.ts +42 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +76 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/ts/client.ts +88 -1
- package/ts/index.ts +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -324,8 +324,29 @@ export declare class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
324
324
|
* Commit the current batch to the server.
|
|
325
325
|
* Sends all buffered nodes/edges with the list of changed files.
|
|
326
326
|
* Server atomically replaces old data for changed files with new data.
|
|
327
|
+
*
|
|
328
|
+
* @param tags - Optional tags for the commit (e.g., plugin name, phase)
|
|
329
|
+
* @param deferIndex - When true, server writes data but skips index rebuild.
|
|
330
|
+
* Caller must send rebuildIndexes() after all deferred commits complete.
|
|
331
|
+
*/
|
|
332
|
+
commitBatch(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta>;
|
|
333
|
+
/**
|
|
334
|
+
* Internal helper: send a commitBatch with chunking for large payloads.
|
|
335
|
+
* Used by both commitBatch() and BatchHandle.commit().
|
|
336
|
+
* @internal
|
|
327
337
|
*/
|
|
328
|
-
|
|
338
|
+
_sendCommitBatch(changedFiles: string[], allNodes: WireNode[], allEdges: WireEdge[], tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta>;
|
|
339
|
+
/**
|
|
340
|
+
* Rebuild all secondary indexes after a series of deferred-index commits.
|
|
341
|
+
* Call this once after bulk loading data with commitBatch(tags, true).
|
|
342
|
+
*/
|
|
343
|
+
rebuildIndexes(): Promise<void>;
|
|
344
|
+
/**
|
|
345
|
+
* Create an isolated batch handle for concurrent-safe batching.
|
|
346
|
+
* Each BatchHandle has its own node/edge buffers, avoiding the shared
|
|
347
|
+
* instance-level _batching state race condition with multiple workers.
|
|
348
|
+
*/
|
|
349
|
+
createBatch(): BatchHandle;
|
|
329
350
|
/**
|
|
330
351
|
* Abort the current batch, discarding all buffered data.
|
|
331
352
|
*/
|
|
@@ -359,5 +380,25 @@ export declare class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
359
380
|
*/
|
|
360
381
|
shutdown(): Promise<void>;
|
|
361
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* Isolated batch handle for concurrent-safe batching (REG-487).
|
|
385
|
+
*
|
|
386
|
+
* Each BatchHandle maintains its own node/edge/file buffers, completely
|
|
387
|
+
* independent of the RFDBClient's instance-level _batching state.
|
|
388
|
+
* Multiple workers can each create their own BatchHandle and commit
|
|
389
|
+
* independently without race conditions.
|
|
390
|
+
*/
|
|
391
|
+
export declare class BatchHandle {
|
|
392
|
+
private client;
|
|
393
|
+
private _nodes;
|
|
394
|
+
private _edges;
|
|
395
|
+
private _files;
|
|
396
|
+
constructor(client: RFDBClient);
|
|
397
|
+
addNode(node: WireNode, file?: string): void;
|
|
398
|
+
addEdge(edge: WireEdge): void;
|
|
399
|
+
addFile(file: string): void;
|
|
400
|
+
commit(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta>;
|
|
401
|
+
abort(): void;
|
|
402
|
+
}
|
|
362
403
|
export default RFDBClient;
|
|
363
404
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../ts/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../ts/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -925,8 +925,12 @@ export class RFDBClient extends EventEmitter {
|
|
|
925
925
|
* Commit the current batch to the server.
|
|
926
926
|
* Sends all buffered nodes/edges with the list of changed files.
|
|
927
927
|
* Server atomically replaces old data for changed files with new data.
|
|
928
|
+
*
|
|
929
|
+
* @param tags - Optional tags for the commit (e.g., plugin name, phase)
|
|
930
|
+
* @param deferIndex - When true, server writes data but skips index rebuild.
|
|
931
|
+
* Caller must send rebuildIndexes() after all deferred commits complete.
|
|
928
932
|
*/
|
|
929
|
-
async commitBatch(tags) {
|
|
933
|
+
async commitBatch(tags, deferIndex, protectedTypes) {
|
|
930
934
|
if (!this._batching)
|
|
931
935
|
throw new Error('No batch in progress');
|
|
932
936
|
const allNodes = this._batchNodes;
|
|
@@ -936,6 +940,14 @@ export class RFDBClient extends EventEmitter {
|
|
|
936
940
|
this._batchNodes = [];
|
|
937
941
|
this._batchEdges = [];
|
|
938
942
|
this._batchFiles = new Set();
|
|
943
|
+
return this._sendCommitBatch(changedFiles, allNodes, allEdges, tags, deferIndex, protectedTypes);
|
|
944
|
+
}
|
|
945
|
+
/**
|
|
946
|
+
* Internal helper: send a commitBatch with chunking for large payloads.
|
|
947
|
+
* Used by both commitBatch() and BatchHandle.commit().
|
|
948
|
+
* @internal
|
|
949
|
+
*/
|
|
950
|
+
async _sendCommitBatch(changedFiles, allNodes, allEdges, tags, deferIndex, protectedTypes) {
|
|
939
951
|
// Chunk large batches to stay under server's 100MB message limit.
|
|
940
952
|
// First chunk includes changedFiles (triggers old data deletion),
|
|
941
953
|
// subsequent chunks use empty changedFiles (additive only).
|
|
@@ -943,6 +955,8 @@ export class RFDBClient extends EventEmitter {
|
|
|
943
955
|
if (allNodes.length <= CHUNK && allEdges.length <= CHUNK) {
|
|
944
956
|
const response = await this._send('commitBatch', {
|
|
945
957
|
changedFiles, nodes: allNodes, edges: allEdges, tags,
|
|
958
|
+
...(deferIndex ? { deferIndex: true } : {}),
|
|
959
|
+
...(protectedTypes?.length ? { protectedTypes } : {}),
|
|
946
960
|
});
|
|
947
961
|
return response.delta;
|
|
948
962
|
}
|
|
@@ -961,6 +975,8 @@ export class RFDBClient extends EventEmitter {
|
|
|
961
975
|
const response = await this._send('commitBatch', {
|
|
962
976
|
changedFiles: i === 0 ? changedFiles : [],
|
|
963
977
|
nodes, edges, tags,
|
|
978
|
+
...(deferIndex ? { deferIndex: true } : {}),
|
|
979
|
+
...(i === 0 && protectedTypes?.length ? { protectedTypes } : {}),
|
|
964
980
|
});
|
|
965
981
|
const d = response.delta;
|
|
966
982
|
merged.nodesAdded += d.nodesAdded;
|
|
@@ -976,6 +992,21 @@ export class RFDBClient extends EventEmitter {
|
|
|
976
992
|
merged.changedEdgeTypes = [...edgeTypes];
|
|
977
993
|
return merged;
|
|
978
994
|
}
|
|
995
|
+
/**
|
|
996
|
+
* Rebuild all secondary indexes after a series of deferred-index commits.
|
|
997
|
+
* Call this once after bulk loading data with commitBatch(tags, true).
|
|
998
|
+
*/
|
|
999
|
+
async rebuildIndexes() {
|
|
1000
|
+
await this._send('rebuildIndexes', {});
|
|
1001
|
+
}
|
|
1002
|
+
/**
|
|
1003
|
+
* Create an isolated batch handle for concurrent-safe batching.
|
|
1004
|
+
* Each BatchHandle has its own node/edge buffers, avoiding the shared
|
|
1005
|
+
* instance-level _batching state race condition with multiple workers.
|
|
1006
|
+
*/
|
|
1007
|
+
createBatch() {
|
|
1008
|
+
return new BatchHandle(this);
|
|
1009
|
+
}
|
|
979
1010
|
/**
|
|
980
1011
|
* Abort the current batch, discarding all buffered data.
|
|
981
1012
|
*/
|
|
@@ -1052,5 +1083,49 @@ export class RFDBClient extends EventEmitter {
|
|
|
1052
1083
|
await this.close();
|
|
1053
1084
|
}
|
|
1054
1085
|
}
|
|
1086
|
+
/**
|
|
1087
|
+
* Isolated batch handle for concurrent-safe batching (REG-487).
|
|
1088
|
+
*
|
|
1089
|
+
* Each BatchHandle maintains its own node/edge/file buffers, completely
|
|
1090
|
+
* independent of the RFDBClient's instance-level _batching state.
|
|
1091
|
+
* Multiple workers can each create their own BatchHandle and commit
|
|
1092
|
+
* independently without race conditions.
|
|
1093
|
+
*/
|
|
1094
|
+
export class BatchHandle {
|
|
1095
|
+
client;
|
|
1096
|
+
_nodes = [];
|
|
1097
|
+
_edges = [];
|
|
1098
|
+
_files = new Set();
|
|
1099
|
+
constructor(client) {
|
|
1100
|
+
this.client = client;
|
|
1101
|
+
}
|
|
1102
|
+
addNode(node, file) {
|
|
1103
|
+
this._nodes.push(node);
|
|
1104
|
+
if (file)
|
|
1105
|
+
this._files.add(file);
|
|
1106
|
+
else if (node.file)
|
|
1107
|
+
this._files.add(node.file);
|
|
1108
|
+
}
|
|
1109
|
+
addEdge(edge) {
|
|
1110
|
+
this._edges.push(edge);
|
|
1111
|
+
}
|
|
1112
|
+
addFile(file) {
|
|
1113
|
+
this._files.add(file);
|
|
1114
|
+
}
|
|
1115
|
+
async commit(tags, deferIndex, protectedTypes) {
|
|
1116
|
+
const nodes = this._nodes;
|
|
1117
|
+
const edges = this._edges;
|
|
1118
|
+
const changedFiles = [...this._files];
|
|
1119
|
+
this._nodes = [];
|
|
1120
|
+
this._edges = [];
|
|
1121
|
+
this._files = new Set();
|
|
1122
|
+
return this.client._sendCommitBatch(changedFiles, nodes, edges, tags, deferIndex, protectedTypes);
|
|
1123
|
+
}
|
|
1124
|
+
abort() {
|
|
1125
|
+
this._nodes = [];
|
|
1126
|
+
this._edges = [];
|
|
1127
|
+
this._files = new Set();
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1055
1130
|
export default RFDBClient;
|
|
1056
1131
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../ts/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../ts/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* For NAPI bindings (in-process), see the platform-specific packages.
|
|
9
9
|
*/
|
|
10
|
-
export { RFDBClient } from './client.js';
|
|
10
|
+
export { RFDBClient, BatchHandle } from './client.js';
|
|
11
11
|
export { StreamQueue } from './stream-queue.js';
|
|
12
12
|
export type { RFDBCommand, WireNode, WireEdge, RFDBRequest, RFDBResponse, AttrQuery, DatalogResult, IRFDBClient, SnapshotRef, SnapshotStats, SegmentInfo, SnapshotDiff, SnapshotInfo, DiffSnapshotsResponse, FindSnapshotResponse, ListSnapshotsResponse, } from './protocol.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,YAAY,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EAEX,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
* For NAPI bindings (in-process), see the platform-specific packages.
|
|
9
9
|
*/
|
|
10
10
|
// Client
|
|
11
|
-
export { RFDBClient } from './client.js';
|
|
11
|
+
export { RFDBClient, BatchHandle } from './client.js';
|
|
12
12
|
export { StreamQueue } from './stream-queue.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grafema/rfdb-client",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.12-beta",
|
|
4
4
|
"description": "TypeScript client for RFDB (Rega Flow Database)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@msgpack/msgpack": "^3.1.3",
|
|
44
|
-
"@grafema/types": "0.2.
|
|
44
|
+
"@grafema/types": "0.2.12-beta"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^25.0.8",
|
package/ts/client.ts
CHANGED
|
@@ -1089,8 +1089,12 @@ export class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
1089
1089
|
* Commit the current batch to the server.
|
|
1090
1090
|
* Sends all buffered nodes/edges with the list of changed files.
|
|
1091
1091
|
* Server atomically replaces old data for changed files with new data.
|
|
1092
|
+
*
|
|
1093
|
+
* @param tags - Optional tags for the commit (e.g., plugin name, phase)
|
|
1094
|
+
* @param deferIndex - When true, server writes data but skips index rebuild.
|
|
1095
|
+
* Caller must send rebuildIndexes() after all deferred commits complete.
|
|
1092
1096
|
*/
|
|
1093
|
-
async commitBatch(tags?: string[]): Promise<CommitDelta> {
|
|
1097
|
+
async commitBatch(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta> {
|
|
1094
1098
|
if (!this._batching) throw new Error('No batch in progress');
|
|
1095
1099
|
|
|
1096
1100
|
const allNodes = this._batchNodes;
|
|
@@ -1102,6 +1106,22 @@ export class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
1102
1106
|
this._batchEdges = [];
|
|
1103
1107
|
this._batchFiles = new Set();
|
|
1104
1108
|
|
|
1109
|
+
return this._sendCommitBatch(changedFiles, allNodes, allEdges, tags, deferIndex, protectedTypes);
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
/**
|
|
1113
|
+
* Internal helper: send a commitBatch with chunking for large payloads.
|
|
1114
|
+
* Used by both commitBatch() and BatchHandle.commit().
|
|
1115
|
+
* @internal
|
|
1116
|
+
*/
|
|
1117
|
+
async _sendCommitBatch(
|
|
1118
|
+
changedFiles: string[],
|
|
1119
|
+
allNodes: WireNode[],
|
|
1120
|
+
allEdges: WireEdge[],
|
|
1121
|
+
tags?: string[],
|
|
1122
|
+
deferIndex?: boolean,
|
|
1123
|
+
protectedTypes?: string[],
|
|
1124
|
+
): Promise<CommitDelta> {
|
|
1105
1125
|
// Chunk large batches to stay under server's 100MB message limit.
|
|
1106
1126
|
// First chunk includes changedFiles (triggers old data deletion),
|
|
1107
1127
|
// subsequent chunks use empty changedFiles (additive only).
|
|
@@ -1109,6 +1129,8 @@ export class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
1109
1129
|
if (allNodes.length <= CHUNK && allEdges.length <= CHUNK) {
|
|
1110
1130
|
const response = await this._send('commitBatch', {
|
|
1111
1131
|
changedFiles, nodes: allNodes, edges: allEdges, tags,
|
|
1132
|
+
...(deferIndex ? { deferIndex: true } : {}),
|
|
1133
|
+
...(protectedTypes?.length ? { protectedTypes } : {}),
|
|
1112
1134
|
});
|
|
1113
1135
|
return (response as CommitBatchResponse).delta;
|
|
1114
1136
|
}
|
|
@@ -1134,6 +1156,8 @@ export class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
1134
1156
|
const response = await this._send('commitBatch', {
|
|
1135
1157
|
changedFiles: i === 0 ? changedFiles : [],
|
|
1136
1158
|
nodes, edges, tags,
|
|
1159
|
+
...(deferIndex ? { deferIndex: true } : {}),
|
|
1160
|
+
...(i === 0 && protectedTypes?.length ? { protectedTypes } : {}),
|
|
1137
1161
|
});
|
|
1138
1162
|
const d = (response as CommitBatchResponse).delta;
|
|
1139
1163
|
merged.nodesAdded += d.nodesAdded;
|
|
@@ -1149,6 +1173,23 @@ export class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
1149
1173
|
return merged;
|
|
1150
1174
|
}
|
|
1151
1175
|
|
|
1176
|
+
/**
|
|
1177
|
+
* Rebuild all secondary indexes after a series of deferred-index commits.
|
|
1178
|
+
* Call this once after bulk loading data with commitBatch(tags, true).
|
|
1179
|
+
*/
|
|
1180
|
+
async rebuildIndexes(): Promise<void> {
|
|
1181
|
+
await this._send('rebuildIndexes', {});
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
/**
|
|
1185
|
+
* Create an isolated batch handle for concurrent-safe batching.
|
|
1186
|
+
* Each BatchHandle has its own node/edge buffers, avoiding the shared
|
|
1187
|
+
* instance-level _batching state race condition with multiple workers.
|
|
1188
|
+
*/
|
|
1189
|
+
createBatch(): BatchHandle {
|
|
1190
|
+
return new BatchHandle(this);
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1152
1193
|
/**
|
|
1153
1194
|
* Abort the current batch, discarding all buffered data.
|
|
1154
1195
|
*/
|
|
@@ -1238,4 +1279,50 @@ export class RFDBClient extends EventEmitter implements IRFDBClient {
|
|
|
1238
1279
|
}
|
|
1239
1280
|
}
|
|
1240
1281
|
|
|
1282
|
+
/**
|
|
1283
|
+
* Isolated batch handle for concurrent-safe batching (REG-487).
|
|
1284
|
+
*
|
|
1285
|
+
* Each BatchHandle maintains its own node/edge/file buffers, completely
|
|
1286
|
+
* independent of the RFDBClient's instance-level _batching state.
|
|
1287
|
+
* Multiple workers can each create their own BatchHandle and commit
|
|
1288
|
+
* independently without race conditions.
|
|
1289
|
+
*/
|
|
1290
|
+
export class BatchHandle {
|
|
1291
|
+
private _nodes: WireNode[] = [];
|
|
1292
|
+
private _edges: WireEdge[] = [];
|
|
1293
|
+
private _files: Set<string> = new Set();
|
|
1294
|
+
|
|
1295
|
+
constructor(private client: RFDBClient) {}
|
|
1296
|
+
|
|
1297
|
+
addNode(node: WireNode, file?: string): void {
|
|
1298
|
+
this._nodes.push(node);
|
|
1299
|
+
if (file) this._files.add(file);
|
|
1300
|
+
else if (node.file) this._files.add(node.file);
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
addEdge(edge: WireEdge): void {
|
|
1304
|
+
this._edges.push(edge);
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
addFile(file: string): void {
|
|
1308
|
+
this._files.add(file);
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
async commit(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta> {
|
|
1312
|
+
const nodes = this._nodes;
|
|
1313
|
+
const edges = this._edges;
|
|
1314
|
+
const changedFiles = [...this._files];
|
|
1315
|
+
this._nodes = [];
|
|
1316
|
+
this._edges = [];
|
|
1317
|
+
this._files = new Set();
|
|
1318
|
+
return this.client._sendCommitBatch(changedFiles, nodes, edges, tags, deferIndex, protectedTypes);
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
abort(): void {
|
|
1322
|
+
this._nodes = [];
|
|
1323
|
+
this._edges = [];
|
|
1324
|
+
this._files = new Set();
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1241
1328
|
export default RFDBClient;
|
package/ts/index.ts
CHANGED