core-3nweb-client-lib 0.44.8 → 0.44.10
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/build/core/storage/common/obj-info-file.d.ts +0 -1
- package/build/core/storage/common/obj-info-file.js +0 -10
- package/build/core/storage/synced/obj-files.js +1 -1
- package/build/core/storage/synced/obj-status.js +4 -8
- package/build/lib-client/objs-on-disk/obj-on-disk.d.ts +1 -1
- package/build/lib-client/objs-on-disk/obj-on-disk.js +2 -2
- package/build/lib-common/objs-on-disk/obj-version-file.d.ts +1 -1
- package/build/lib-common/objs-on-disk/obj-version-file.js +4 -5
- package/package.json +2 -2
|
@@ -41,7 +41,6 @@ export declare function rmNonArchVersionsIn(versions: VersionsInfo, ver: number)
|
|
|
41
41
|
export declare function rmArchVersionFrom(versions: VersionsInfo, ver: number): boolean;
|
|
42
42
|
export declare function setCurrentVersionIn(versions: VersionsInfo, version: number, baseVer: number | undefined): void;
|
|
43
43
|
export declare function rmCurrentVersionIn(versions: VersionsInfo): number | undefined;
|
|
44
|
-
export declare function rmVersionIn(version: number, vers: VersionsInfo): void;
|
|
45
44
|
export declare function nonGarbageVersionsIn(versions: VersionsInfo): Set<number>;
|
|
46
45
|
export interface NonGarbageVersions {
|
|
47
46
|
gcMaxVer?: number;
|
|
@@ -23,7 +23,6 @@ exports.rmNonArchVersionsIn = rmNonArchVersionsIn;
|
|
|
23
23
|
exports.rmArchVersionFrom = rmArchVersionFrom;
|
|
24
24
|
exports.setCurrentVersionIn = setCurrentVersionIn;
|
|
25
25
|
exports.rmCurrentVersionIn = rmCurrentVersionIn;
|
|
26
|
-
exports.rmVersionIn = rmVersionIn;
|
|
27
26
|
exports.nonGarbageVersionsIn = nonGarbageVersionsIn;
|
|
28
27
|
exports.addWithBasesTo = addWithBasesTo;
|
|
29
28
|
exports.addArchived = addArchived;
|
|
@@ -131,15 +130,6 @@ function rmCurrentVersionIn(versions) {
|
|
|
131
130
|
}
|
|
132
131
|
return current;
|
|
133
132
|
}
|
|
134
|
-
function rmVersionIn(version, vers) {
|
|
135
|
-
if (vers.current === version) {
|
|
136
|
-
vers.current = undefined;
|
|
137
|
-
rmNonArchVersionsIn(vers, version);
|
|
138
|
-
}
|
|
139
|
-
if (isVersionIn(version, vers)) {
|
|
140
|
-
rmArchVersionFrom(vers, version);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
133
|
function nonGarbageVersionsIn(versions) {
|
|
144
134
|
const nonGarbage = new Set();
|
|
145
135
|
addWithBasesTo(nonGarbage, versions.current, versions);
|
|
@@ -307,7 +307,7 @@ class SyncedObj {
|
|
|
307
307
|
const objVer = await this.instanceOfLocalObjVer(version);
|
|
308
308
|
for (const localBase of localBases) {
|
|
309
309
|
await objVer.absorbImmediateBaseVersion(localBase, this.localVerPath(localBase));
|
|
310
|
-
this.status.absorbLocalVersionBase(version, localBase);
|
|
310
|
+
await this.status.absorbLocalVersionBase(version, localBase);
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
313
|
return syncedBase;
|
|
@@ -474,15 +474,11 @@ class ObjStatus {
|
|
|
474
474
|
const local = this.status.local;
|
|
475
475
|
(0, assert_1.assert)(local.diffToBase[version] === localBase);
|
|
476
476
|
const lowerBase = local.diffToBase[localBase];
|
|
477
|
-
if (
|
|
478
|
-
|
|
479
|
-
local
|
|
477
|
+
if (lowerBase) {
|
|
478
|
+
// flip version's base to be new value before removing
|
|
479
|
+
(0, obj_info_file_1.addBaseToDiffLinkInVersInfo)(local, version, lowerBase);
|
|
480
480
|
}
|
|
481
|
-
|
|
482
|
-
delete local.diffToBase[version];
|
|
483
|
-
}
|
|
484
|
-
delete local.diffToBase[localBase];
|
|
485
|
-
delete local.baseToDiff[localBase];
|
|
481
|
+
(0, obj_info_file_1.rmNonArchVersionsIn)(local, localBase);
|
|
486
482
|
return this.triggerSaveProc();
|
|
487
483
|
}
|
|
488
484
|
latestSyncedVersion() {
|
|
@@ -35,7 +35,7 @@ export declare class ObjOnDisk {
|
|
|
35
35
|
private readBaseBytesFromOtherFilesOnDisk;
|
|
36
36
|
getSrc(): ObjSource;
|
|
37
37
|
getBaseVersion(): number | undefined;
|
|
38
|
-
absorbImmediateBaseVersion(baseVer: number,
|
|
38
|
+
absorbImmediateBaseVersion(baseVer: number, basePath: string): Promise<void>;
|
|
39
39
|
diffFromBase(): {
|
|
40
40
|
diff: DiffInfo;
|
|
41
41
|
newSegsPackOrder: FiniteChunk[];
|
|
@@ -195,8 +195,8 @@ class ObjOnDisk {
|
|
|
195
195
|
getBaseVersion() {
|
|
196
196
|
return this.objFile.getBaseVersion();
|
|
197
197
|
}
|
|
198
|
-
absorbImmediateBaseVersion(baseVer,
|
|
199
|
-
return this.objFile.absorbImmediateBaseVersion(baseVer,
|
|
198
|
+
absorbImmediateBaseVersion(baseVer, basePath) {
|
|
199
|
+
return this.objFile.absorbImmediateBaseVersion(baseVer, basePath);
|
|
200
200
|
}
|
|
201
201
|
diffFromBase() {
|
|
202
202
|
return this.objFile.diffFromBase();
|
|
@@ -34,7 +34,7 @@ export declare class ObjVersionFile {
|
|
|
34
34
|
setSegsLayout(layout: Layout, saveLayout: boolean): Promise<void>;
|
|
35
35
|
truncateEndlessLayout(): void;
|
|
36
36
|
isFileComplete(): boolean;
|
|
37
|
-
absorbImmediateBaseVersion(baseVer: number,
|
|
37
|
+
absorbImmediateBaseVersion(baseVer: number, basePath: string): Promise<void>;
|
|
38
38
|
diffFromBase(): {
|
|
39
39
|
diff: DiffInfo;
|
|
40
40
|
newSegsPackOrder: FiniteChunk[];
|
|
@@ -251,11 +251,11 @@ class ObjVersionFile {
|
|
|
251
251
|
isFileComplete() {
|
|
252
252
|
return this.layout.isFileComplete();
|
|
253
253
|
}
|
|
254
|
-
async absorbImmediateBaseVersion(baseVer,
|
|
254
|
+
async absorbImmediateBaseVersion(baseVer, basePath) {
|
|
255
255
|
(0, assert_1.assert)(Number.isInteger(baseVer) && (baseVer === this.layout.getBaseVersion()));
|
|
256
|
-
const baseLayout = await readLayoutFrom(
|
|
256
|
+
const baseLayout = await readLayoutFrom(basePath);
|
|
257
257
|
const absorptionParams = this.layout.calcBaseAbsorptionParams(baseLayout);
|
|
258
|
-
const src = await fs.open(
|
|
258
|
+
const src = await fs.open(basePath, 'r');
|
|
259
259
|
await this.withRWFile(async (fh) => {
|
|
260
260
|
if (absorptionParams.copyOps.length > 0) {
|
|
261
261
|
await this.recordLayout(fh, absorptionParams.newBytesEnd);
|
|
@@ -264,8 +264,7 @@ class ObjVersionFile {
|
|
|
264
264
|
if (buf.length < op.len) {
|
|
265
265
|
buf = Buffer.allocUnsafe(op.len);
|
|
266
266
|
}
|
|
267
|
-
const chunk = ((op.len < buf.length) ?
|
|
268
|
-
buf.slice(0, op.len) : buf);
|
|
267
|
+
const chunk = ((op.len < buf.length) ? buf.subarray(0, op.len) : buf);
|
|
269
268
|
await fs.readToBuf(src, op.ofsInSrcFile, chunk);
|
|
270
269
|
await fs.writeFromBuf(fh, op.ofsInDstFile, chunk);
|
|
271
270
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-3nweb-client-lib",
|
|
3
|
-
"version": "0.44.
|
|
3
|
+
"version": "0.44.10",
|
|
4
4
|
"description": "3NWeb client core library, embeddable into different environments",
|
|
5
5
|
"main": "build/lib-index.js",
|
|
6
6
|
"types": "build/lib-index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@types/ws": "^8.18.1",
|
|
42
42
|
"jasmine": "^5.13.0",
|
|
43
43
|
"protobufjs-cli": "^1.0.2",
|
|
44
|
-
"spec-3nweb-server": "^1.8.
|
|
44
|
+
"spec-3nweb-server": "^1.8.5",
|
|
45
45
|
"tsuml2": "^0.17.1",
|
|
46
46
|
"typescript": "^5.5.3"
|
|
47
47
|
}
|