mute-structs
Advanced tools
Comparing version 2.0.0-11 to 2.0.0
@@ -5,2 +5,22 @@ # Changelog | ||
## [2.0.0](https://github.com/coast-team/mute-structs/compare/v2.0.0-11...v2.0.0) (2020-07-31) | ||
### Bug Fixes | ||
* **logootsropes:** merge fix on append/prepend from master branch ([fee69ff](https://github.com/coast-team/mute-structs/commit/fee69ff6728ca64b546825f1242c82141e5831f6)) | ||
## [1.1.0](https://github.com/coast-team/mute-structs/compare/v2.0.0-1...v1.1.0) (2019-03-04) | ||
### Features | ||
* **ropesnodes:** add max getter to retrieve max id from a subtree ([ee779a7](https://github.com/coast-team/mute-structs/commit/ee779a7d3662cbe2952381c7b2a7fee9ce1ac52b)) | ||
* **ropesnodes:** add min getter to retrieve min id from a subtree ([ee2da24](https://github.com/coast-team/mute-structs/commit/ee2da24fccdc80a8c4d447ca4412627f8254fd94)) | ||
### Bug Fixes | ||
* **logootsropes:** fix checks before appending/prepending ([91f24b5](https://github.com/coast-team/mute-structs/commit/91f24b52a2a5a7fb695b92baf087cd5e4b8ce8b9)) | ||
## [2.0.0-11](https://github.com/coast-team/mute-structs/compare/v2.0.0-10...v2.0.0-11) (2020-07-10) | ||
@@ -145,3 +165,17 @@ | ||
<a name="1.1.0"></a> | ||
# [1.1.0](https://github.com/coast-team/mute-structs/compare/v1.0.0...v1.1.0) (2019-03-04) | ||
### Bug Fixes | ||
* **logootsropes:** fix checks before appending/prepending ([91f24b5](https://github.com/coast-team/mute-structs/commit/91f24b5)) | ||
### Features | ||
* **ropesnodes:** add max getter to retrieve max id from a subtree ([ee779a7](https://github.com/coast-team/mute-structs/commit/ee779a7)) | ||
* **ropesnodes:** add min getter to retrieve min id from a subtree ([ee2da24](https://github.com/coast-team/mute-structs/commit/ee2da24)) | ||
<a name="1.0.0"></a> | ||
@@ -148,0 +182,0 @@ # [1.0.0](https://github.com/coast-team/mute-structs/compare/v0.5.8...v1.0.0) (2019-01-21) |
@@ -184,3 +184,3 @@ /* | ||
if (from.left !== null) { | ||
const split = from.getIdBegin().minOffsetAfterPrev(from.left.getIdEnd(), idi.begin); | ||
const split = from.getIdBegin().minOffsetAfterPrev(from.left.max, idi.begin); | ||
const l = str.substr(split - idi.begin, str.length); | ||
@@ -213,3 +213,3 @@ if (l.length > 0) { | ||
if (from.right !== null) { | ||
const split = from.getIdEnd().maxOffsetBeforeNext(from.right.getIdBegin(), idi.end); | ||
const split = from.getIdEnd().maxOffsetBeforeNext(from.right.min, idi.end); | ||
const l = str.substr(0, split + 1 - idi.begin); | ||
@@ -216,0 +216,0 @@ i = i + from.leftSubtreeSize() + from.length; |
@@ -98,2 +98,14 @@ /* | ||
} | ||
get max() { | ||
if (this.right !== null) { | ||
return this.right.max; | ||
} | ||
return this.getIdEnd(); | ||
} | ||
get min() { | ||
if (this.left !== null) { | ||
return this.left.min; | ||
} | ||
return this.getIdBegin(); | ||
} | ||
addString(length) { | ||
@@ -100,0 +112,0 @@ console.assert(isInt32(length), "length ∈ int32"); |
@@ -217,3 +217,3 @@ "use strict"; | ||
if (from.left !== null) { | ||
var split = from.getIdBegin().minOffsetAfterPrev(from.left.getIdEnd(), idi.begin); | ||
var split = from.getIdBegin().minOffsetAfterPrev(from.left.max, idi.begin); | ||
var l = str.substr(split - idi.begin, str.length); | ||
@@ -246,3 +246,3 @@ if (l.length > 0) { | ||
if (from.right !== null) { | ||
var split = from.getIdEnd().maxOffsetBeforeNext(from.right.getIdBegin(), idi.end); | ||
var split = from.getIdEnd().maxOffsetBeforeNext(from.right.min, idi.end); | ||
var l = str.substr(0, split + 1 - idi.begin); | ||
@@ -249,0 +249,0 @@ i = i + from.leftSubtreeSize() + from.length; |
@@ -105,2 +105,22 @@ "use strict"; | ||
}; | ||
Object.defineProperty(RopesNodes.prototype, "max", { | ||
get: function () { | ||
if (this.right !== null) { | ||
return this.right.max; | ||
} | ||
return this.getIdEnd(); | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
Object.defineProperty(RopesNodes.prototype, "min", { | ||
get: function () { | ||
if (this.left !== null) { | ||
return this.left.min; | ||
} | ||
return this.getIdBegin(); | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
RopesNodes.prototype.addString = function (length) { | ||
@@ -107,0 +127,0 @@ console.assert(int32_1.isInt32(length), "length ∈ int32"); |
@@ -215,3 +215,3 @@ /* | ||
if (from.left !== null) { | ||
var split = from.getIdBegin().minOffsetAfterPrev(from.left.getIdEnd(), idi.begin); | ||
var split = from.getIdBegin().minOffsetAfterPrev(from.left.max, idi.begin); | ||
var l = str.substr(split - idi.begin, str.length); | ||
@@ -244,3 +244,3 @@ if (l.length > 0) { | ||
if (from.right !== null) { | ||
var split = from.getIdEnd().maxOffsetBeforeNext(from.right.getIdBegin(), idi.end); | ||
var split = from.getIdEnd().maxOffsetBeforeNext(from.right.min, idi.end); | ||
var l = str.substr(0, split + 1 - idi.begin); | ||
@@ -247,0 +247,0 @@ i = i + from.leftSubtreeSize() + from.length; |
@@ -102,2 +102,22 @@ /* | ||
}; | ||
Object.defineProperty(RopesNodes.prototype, "max", { | ||
get: function () { | ||
if (this.right !== null) { | ||
return this.right.max; | ||
} | ||
return this.getIdEnd(); | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
Object.defineProperty(RopesNodes.prototype, "min", { | ||
get: function () { | ||
if (this.left !== null) { | ||
return this.left.min; | ||
} | ||
return this.getIdBegin(); | ||
}, | ||
enumerable: true, | ||
configurable: true | ||
}); | ||
RopesNodes.prototype.addString = function (length) { | ||
@@ -104,0 +124,0 @@ console.assert(isInt32(length), "length ∈ int32"); |
@@ -29,2 +29,4 @@ import { Identifier } from "./identifier"; | ||
getIdEnd(): Identifier; | ||
readonly max: Identifier; | ||
readonly min: Identifier; | ||
addString(length: number): void; | ||
@@ -31,0 +33,0 @@ appendEnd(length: number): Identifier; |
{ | ||
"name": "mute-structs", | ||
"version": "2.0.0-11", | ||
"version": "2.0.0", | ||
"description": "NodeJS module providing an implementation of the LogootSplit CRDT algorithm", | ||
@@ -5,0 +5,0 @@ "main": "dist/main/index.js", |
@@ -229,3 +229,3 @@ /* | ||
const split = from.getIdBegin().minOffsetAfterPrev( | ||
from.left.getIdEnd(), idi.begin) | ||
from.left.max, idi.begin) | ||
const l = str.substr(split - idi.begin, str.length) | ||
@@ -260,3 +260,3 @@ if (l.length > 0) { | ||
const split = from.getIdEnd().maxOffsetBeforeNext( | ||
from.right.getIdBegin(), idi.end) | ||
from.right.min, idi.end) | ||
const l = str.substr(0, split + 1 - idi.begin) | ||
@@ -263,0 +263,0 @@ i = i + from.leftSubtreeSize() + from.length |
@@ -143,2 +143,16 @@ /* | ||
get max (): Identifier { | ||
if (this.right !== null) { | ||
return this.right.max | ||
} | ||
return this.getIdEnd() | ||
} | ||
get min (): Identifier { | ||
if (this.left !== null) { | ||
return this.left.min | ||
} | ||
return this.getIdBegin() | ||
} | ||
addString (length: number): void { | ||
@@ -145,0 +159,0 @@ console.assert(isInt32(length), "length ∈ int32") |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
1000619
15234
1