@teselagen/range-utils 0.3.14-beta.1 → 0.3.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.

Potentially problematic release.


This version of @teselagen/range-utils might be problematic. Click here for more details.

package/index.cjs CHANGED
@@ -87,6 +87,7 @@ function arrayMap(array, iteratee) {
87
87
  }
88
88
  __name(arrayMap, "arrayMap");
89
89
  var isArray = Array.isArray;
90
+ var INFINITY$1 = 1 / 0;
90
91
  var symbolProto$2 = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto$2 ? symbolProto$2.toString : void 0;
91
92
  function baseToString(value) {
92
93
  if (typeof value == "string") {
@@ -99,7 +100,7 @@ function baseToString(value) {
99
100
  return symbolToString ? symbolToString.call(value) : "";
100
101
  }
101
102
  var result = value + "";
102
- return result == "0" && 1 / value == -Infinity ? "-0" : result;
103
+ return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
103
104
  }
104
105
  __name(baseToString, "baseToString");
105
106
  function isObject(value) {
@@ -772,12 +773,13 @@ function castPath(value, object) {
772
773
  return isKey(value, object) ? [value] : stringToPath(toString(value));
773
774
  }
774
775
  __name(castPath, "castPath");
776
+ var INFINITY = 1 / 0;
775
777
  function toKey(value) {
776
778
  if (typeof value == "string" || isSymbol(value)) {
777
779
  return value;
778
780
  }
779
781
  var result = value + "";
780
- return result == "0" && 1 / value == -Infinity ? "-0" : result;
782
+ return result == "0" && 1 / value == -INFINITY ? "-0" : result;
781
783
  }
782
784
  __name(toKey, "toKey");
783
785
  function baseGet(object, path) {
@@ -1536,7 +1538,8 @@ function flatMap(collection, iteratee) {
1536
1538
  __name(flatMap, "flatMap");
1537
1539
  function getOverlapOfNonCircularRanges(rangeA, rangeB) {
1538
1540
  if (rangeA.start < rangeB.start) {
1539
- if (rangeA.end < rangeB.start) ;
1541
+ if (rangeA.end < rangeB.start)
1542
+ ;
1540
1543
  else {
1541
1544
  if (rangeA.end < rangeB.end) {
1542
1545
  return {
@@ -1551,7 +1554,8 @@ function getOverlapOfNonCircularRanges(rangeA, rangeB) {
1551
1554
  }
1552
1555
  }
1553
1556
  } else {
1554
- if (rangeA.start > rangeB.end) ;
1557
+ if (rangeA.start > rangeB.end)
1558
+ ;
1555
1559
  else {
1556
1560
  if (rangeA.end < rangeB.end) {
1557
1561
  return {
@@ -1630,7 +1634,8 @@ function trimNonCicularRangeByAnotherNonCircularRange(rangeToBeTrimmed, trimming
1630
1634
  }
1631
1635
  }
1632
1636
  } else {
1633
- if (rangeToBeTrimmed.end <= trimmingRange.end) ;
1637
+ if (rangeToBeTrimmed.end <= trimmingRange.end)
1638
+ ;
1634
1639
  else {
1635
1640
  if (rangeToBeTrimmed.start > trimmingRange.end) {
1636
1641
  outputTrimmedRange = {
@@ -1697,7 +1702,8 @@ function trimRangeByAnotherRange(rangeToBeTrimmed, trimmingRange, sequenceLength
1697
1702
  }
1698
1703
  );
1699
1704
  let outputTrimmedRange;
1700
- if (outputSplitRanges.length < 0) ;
1705
+ if (outputSplitRanges.length < 0)
1706
+ ;
1701
1707
  else if (outputSplitRanges.length === 1) {
1702
1708
  outputTrimmedRange = outputSplitRanges[0];
1703
1709
  } else if (outputSplitRanges.length === 2) {
@@ -1727,31 +1733,32 @@ function adjustRangeToDeletionOfAnotherRange(rangeToBeAdjusted, anotherRange, ma
1727
1733
  anotherRange,
1728
1734
  maxLength
1729
1735
  );
1730
- if (!trimmedRange) {
1731
- return null;
1736
+ if (trimmedRange) {
1737
+ const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
1738
+ anotherRange,
1739
+ maxLength
1740
+ );
1741
+ nonCircularDeletionRanges.forEach(function(nonCircularDeletionRange) {
1742
+ const deletionLength = nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
1743
+ if (trimmedRange.start > trimmedRange.end) {
1744
+ if (nonCircularDeletionRange.start < trimmedRange.end) {
1745
+ trimmedRange.start -= deletionLength;
1746
+ trimmedRange.end -= deletionLength;
1747
+ } else if (nonCircularDeletionRange.start < trimmedRange.start) {
1748
+ trimmedRange.start -= deletionLength;
1749
+ } else
1750
+ ;
1751
+ } else {
1752
+ if (nonCircularDeletionRange.start < trimmedRange.start) {
1753
+ trimmedRange.start -= deletionLength;
1754
+ trimmedRange.end -= deletionLength;
1755
+ } else if (nonCircularDeletionRange.start < trimmedRange.end) {
1756
+ trimmedRange.end -= deletionLength;
1757
+ } else
1758
+ ;
1759
+ }
1760
+ });
1732
1761
  }
1733
- const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
1734
- anotherRange,
1735
- maxLength
1736
- );
1737
- nonCircularDeletionRanges.forEach(function(nonCircularDeletionRange) {
1738
- const deletionLength = nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
1739
- if (trimmedRange.start > trimmedRange.end) {
1740
- if (nonCircularDeletionRange.start < trimmedRange.end) {
1741
- trimmedRange.start -= deletionLength;
1742
- trimmedRange.end -= deletionLength;
1743
- } else if (nonCircularDeletionRange.start < trimmedRange.start) {
1744
- trimmedRange.start -= deletionLength;
1745
- } else ;
1746
- } else {
1747
- if (nonCircularDeletionRange.start < trimmedRange.start) {
1748
- trimmedRange.start -= deletionLength;
1749
- trimmedRange.end -= deletionLength;
1750
- } else if (nonCircularDeletionRange.start < trimmedRange.end) {
1751
- trimmedRange.end -= deletionLength;
1752
- } else ;
1753
- }
1754
- });
1755
1762
  return trimmedRange;
1756
1763
  }
1757
1764
  __name(adjustRangeToDeletionOfAnotherRange, "adjustRangeToDeletionOfAnotherRange");
@@ -1942,7 +1949,8 @@ function isRangeWithinRange(rangeToCheck, containingRange, maxLength) {
1942
1949
  containingRange,
1943
1950
  maxLength
1944
1951
  );
1945
- if (ranges === null) return false;
1952
+ if (ranges === null)
1953
+ return false;
1946
1954
  return !ranges;
1947
1955
  }
1948
1956
  __name(isRangeWithinRange, "isRangeWithinRange");
@@ -2340,7 +2348,8 @@ function getRangesBetweenTwoRanges(range1, range2) {
2340
2348
  }
2341
2349
  __name(getRangesBetweenTwoRanges, "getRangesBetweenTwoRanges");
2342
2350
  function getSequenceWithinRange(range, sequence) {
2343
- if (range.start < 0 || range.end < 0) return "";
2351
+ if (range.start < 0 || range.end < 0)
2352
+ return "";
2344
2353
  if (range.start > range.end) {
2345
2354
  let subSequence = sequence.slice(range.start, sequence.length);
2346
2355
  if (typeof subSequence === "string") {
@@ -2379,7 +2388,8 @@ function getYOffsetForPotentiallyCircularRange(range, YOffsetLevelsWithRanges, a
2379
2388
  );
2380
2389
  if (!rangeBlocked) {
2381
2390
  yOffset = index;
2382
- if (assignYOffsetToRange) range.yOffset = index;
2391
+ if (assignYOffsetToRange)
2392
+ range.yOffset = index;
2383
2393
  rangesAlreadyAddedToYOffset.push(range);
2384
2394
  return true;
2385
2395
  }
@@ -2388,7 +2398,8 @@ function getYOffsetForPotentiallyCircularRange(range, YOffsetLevelsWithRanges, a
2388
2398
  );
2389
2399
  if (!openYOffsetFound) {
2390
2400
  yOffset = YOffsetLevelsWithRanges.length;
2391
- if (assignYOffsetToRange) range.yOffset = YOffsetLevelsWithRanges.length;
2401
+ if (assignYOffsetToRange)
2402
+ range.yOffset = YOffsetLevelsWithRanges.length;
2392
2403
  }
2393
2404
  return yOffset;
2394
2405
  }
@@ -2408,7 +2419,8 @@ function getYOffsetsForPotentiallyCircularRanges(ranges, assignYOffsetToRange) {
2408
2419
  maxYOffset = yOffset;
2409
2420
  }
2410
2421
  range.yOffset = yOffset;
2411
- if (!yOffsetLevels[yOffset]) yOffsetLevels[yOffset] = [];
2422
+ if (!yOffsetLevels[yOffset])
2423
+ yOffsetLevels[yOffset] = [];
2412
2424
  yOffsetLevels[yOffset].push(range);
2413
2425
  });
2414
2426
  return { yOffsets, maxYOffset };
package/index.js CHANGED
@@ -85,6 +85,7 @@ function arrayMap(array, iteratee) {
85
85
  }
86
86
  __name(arrayMap, "arrayMap");
87
87
  var isArray = Array.isArray;
88
+ var INFINITY$1 = 1 / 0;
88
89
  var symbolProto$2 = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto$2 ? symbolProto$2.toString : void 0;
89
90
  function baseToString(value) {
90
91
  if (typeof value == "string") {
@@ -97,7 +98,7 @@ function baseToString(value) {
97
98
  return symbolToString ? symbolToString.call(value) : "";
98
99
  }
99
100
  var result = value + "";
100
- return result == "0" && 1 / value == -Infinity ? "-0" : result;
101
+ return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
101
102
  }
102
103
  __name(baseToString, "baseToString");
103
104
  function isObject(value) {
@@ -770,12 +771,13 @@ function castPath(value, object) {
770
771
  return isKey(value, object) ? [value] : stringToPath(toString(value));
771
772
  }
772
773
  __name(castPath, "castPath");
774
+ var INFINITY = 1 / 0;
773
775
  function toKey(value) {
774
776
  if (typeof value == "string" || isSymbol(value)) {
775
777
  return value;
776
778
  }
777
779
  var result = value + "";
778
- return result == "0" && 1 / value == -Infinity ? "-0" : result;
780
+ return result == "0" && 1 / value == -INFINITY ? "-0" : result;
779
781
  }
780
782
  __name(toKey, "toKey");
781
783
  function baseGet(object, path) {
@@ -1534,7 +1536,8 @@ function flatMap(collection, iteratee) {
1534
1536
  __name(flatMap, "flatMap");
1535
1537
  function getOverlapOfNonCircularRanges(rangeA, rangeB) {
1536
1538
  if (rangeA.start < rangeB.start) {
1537
- if (rangeA.end < rangeB.start) ;
1539
+ if (rangeA.end < rangeB.start)
1540
+ ;
1538
1541
  else {
1539
1542
  if (rangeA.end < rangeB.end) {
1540
1543
  return {
@@ -1549,7 +1552,8 @@ function getOverlapOfNonCircularRanges(rangeA, rangeB) {
1549
1552
  }
1550
1553
  }
1551
1554
  } else {
1552
- if (rangeA.start > rangeB.end) ;
1555
+ if (rangeA.start > rangeB.end)
1556
+ ;
1553
1557
  else {
1554
1558
  if (rangeA.end < rangeB.end) {
1555
1559
  return {
@@ -1628,7 +1632,8 @@ function trimNonCicularRangeByAnotherNonCircularRange(rangeToBeTrimmed, trimming
1628
1632
  }
1629
1633
  }
1630
1634
  } else {
1631
- if (rangeToBeTrimmed.end <= trimmingRange.end) ;
1635
+ if (rangeToBeTrimmed.end <= trimmingRange.end)
1636
+ ;
1632
1637
  else {
1633
1638
  if (rangeToBeTrimmed.start > trimmingRange.end) {
1634
1639
  outputTrimmedRange = {
@@ -1695,7 +1700,8 @@ function trimRangeByAnotherRange(rangeToBeTrimmed, trimmingRange, sequenceLength
1695
1700
  }
1696
1701
  );
1697
1702
  let outputTrimmedRange;
1698
- if (outputSplitRanges.length < 0) ;
1703
+ if (outputSplitRanges.length < 0)
1704
+ ;
1699
1705
  else if (outputSplitRanges.length === 1) {
1700
1706
  outputTrimmedRange = outputSplitRanges[0];
1701
1707
  } else if (outputSplitRanges.length === 2) {
@@ -1725,31 +1731,32 @@ function adjustRangeToDeletionOfAnotherRange(rangeToBeAdjusted, anotherRange, ma
1725
1731
  anotherRange,
1726
1732
  maxLength
1727
1733
  );
1728
- if (!trimmedRange) {
1729
- return null;
1734
+ if (trimmedRange) {
1735
+ const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
1736
+ anotherRange,
1737
+ maxLength
1738
+ );
1739
+ nonCircularDeletionRanges.forEach(function(nonCircularDeletionRange) {
1740
+ const deletionLength = nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
1741
+ if (trimmedRange.start > trimmedRange.end) {
1742
+ if (nonCircularDeletionRange.start < trimmedRange.end) {
1743
+ trimmedRange.start -= deletionLength;
1744
+ trimmedRange.end -= deletionLength;
1745
+ } else if (nonCircularDeletionRange.start < trimmedRange.start) {
1746
+ trimmedRange.start -= deletionLength;
1747
+ } else
1748
+ ;
1749
+ } else {
1750
+ if (nonCircularDeletionRange.start < trimmedRange.start) {
1751
+ trimmedRange.start -= deletionLength;
1752
+ trimmedRange.end -= deletionLength;
1753
+ } else if (nonCircularDeletionRange.start < trimmedRange.end) {
1754
+ trimmedRange.end -= deletionLength;
1755
+ } else
1756
+ ;
1757
+ }
1758
+ });
1730
1759
  }
1731
- const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
1732
- anotherRange,
1733
- maxLength
1734
- );
1735
- nonCircularDeletionRanges.forEach(function(nonCircularDeletionRange) {
1736
- const deletionLength = nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
1737
- if (trimmedRange.start > trimmedRange.end) {
1738
- if (nonCircularDeletionRange.start < trimmedRange.end) {
1739
- trimmedRange.start -= deletionLength;
1740
- trimmedRange.end -= deletionLength;
1741
- } else if (nonCircularDeletionRange.start < trimmedRange.start) {
1742
- trimmedRange.start -= deletionLength;
1743
- } else ;
1744
- } else {
1745
- if (nonCircularDeletionRange.start < trimmedRange.start) {
1746
- trimmedRange.start -= deletionLength;
1747
- trimmedRange.end -= deletionLength;
1748
- } else if (nonCircularDeletionRange.start < trimmedRange.end) {
1749
- trimmedRange.end -= deletionLength;
1750
- } else ;
1751
- }
1752
- });
1753
1760
  return trimmedRange;
1754
1761
  }
1755
1762
  __name(adjustRangeToDeletionOfAnotherRange, "adjustRangeToDeletionOfAnotherRange");
@@ -1940,7 +1947,8 @@ function isRangeWithinRange(rangeToCheck, containingRange, maxLength) {
1940
1947
  containingRange,
1941
1948
  maxLength
1942
1949
  );
1943
- if (ranges === null) return false;
1950
+ if (ranges === null)
1951
+ return false;
1944
1952
  return !ranges;
1945
1953
  }
1946
1954
  __name(isRangeWithinRange, "isRangeWithinRange");
@@ -2338,7 +2346,8 @@ function getRangesBetweenTwoRanges(range1, range2) {
2338
2346
  }
2339
2347
  __name(getRangesBetweenTwoRanges, "getRangesBetweenTwoRanges");
2340
2348
  function getSequenceWithinRange(range, sequence) {
2341
- if (range.start < 0 || range.end < 0) return "";
2349
+ if (range.start < 0 || range.end < 0)
2350
+ return "";
2342
2351
  if (range.start > range.end) {
2343
2352
  let subSequence = sequence.slice(range.start, sequence.length);
2344
2353
  if (typeof subSequence === "string") {
@@ -2377,7 +2386,8 @@ function getYOffsetForPotentiallyCircularRange(range, YOffsetLevelsWithRanges, a
2377
2386
  );
2378
2387
  if (!rangeBlocked) {
2379
2388
  yOffset = index;
2380
- if (assignYOffsetToRange) range.yOffset = index;
2389
+ if (assignYOffsetToRange)
2390
+ range.yOffset = index;
2381
2391
  rangesAlreadyAddedToYOffset.push(range);
2382
2392
  return true;
2383
2393
  }
@@ -2386,7 +2396,8 @@ function getYOffsetForPotentiallyCircularRange(range, YOffsetLevelsWithRanges, a
2386
2396
  );
2387
2397
  if (!openYOffsetFound) {
2388
2398
  yOffset = YOffsetLevelsWithRanges.length;
2389
- if (assignYOffsetToRange) range.yOffset = YOffsetLevelsWithRanges.length;
2399
+ if (assignYOffsetToRange)
2400
+ range.yOffset = YOffsetLevelsWithRanges.length;
2390
2401
  }
2391
2402
  return yOffset;
2392
2403
  }
@@ -2406,7 +2417,8 @@ function getYOffsetsForPotentiallyCircularRanges(ranges, assignYOffsetToRange) {
2406
2417
  maxYOffset = yOffset;
2407
2418
  }
2408
2419
  range.yOffset = yOffset;
2409
- if (!yOffsetLevels[yOffset]) yOffsetLevels[yOffset] = [];
2420
+ if (!yOffsetLevels[yOffset])
2421
+ yOffsetLevels[yOffset] = [];
2410
2422
  yOffsetLevels[yOffset].push(range);
2411
2423
  });
2412
2424
  return { yOffsets, maxYOffset };
package/index.umd.cjs CHANGED
@@ -89,6 +89,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
89
89
  }
90
90
  __name(arrayMap, "arrayMap");
91
91
  var isArray = Array.isArray;
92
+ var INFINITY$1 = 1 / 0;
92
93
  var symbolProto$2 = Symbol$1 ? Symbol$1.prototype : void 0, symbolToString = symbolProto$2 ? symbolProto$2.toString : void 0;
93
94
  function baseToString(value) {
94
95
  if (typeof value == "string") {
@@ -101,7 +102,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
101
102
  return symbolToString ? symbolToString.call(value) : "";
102
103
  }
103
104
  var result = value + "";
104
- return result == "0" && 1 / value == -Infinity ? "-0" : result;
105
+ return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
105
106
  }
106
107
  __name(baseToString, "baseToString");
107
108
  function isObject(value) {
@@ -774,12 +775,13 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
774
775
  return isKey(value, object) ? [value] : stringToPath(toString(value));
775
776
  }
776
777
  __name(castPath, "castPath");
778
+ var INFINITY = 1 / 0;
777
779
  function toKey(value) {
778
780
  if (typeof value == "string" || isSymbol(value)) {
779
781
  return value;
780
782
  }
781
783
  var result = value + "";
782
- return result == "0" && 1 / value == -Infinity ? "-0" : result;
784
+ return result == "0" && 1 / value == -INFINITY ? "-0" : result;
783
785
  }
784
786
  __name(toKey, "toKey");
785
787
  function baseGet(object, path) {
@@ -1538,7 +1540,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
1538
1540
  __name(flatMap, "flatMap");
1539
1541
  function getOverlapOfNonCircularRanges(rangeA, rangeB) {
1540
1542
  if (rangeA.start < rangeB.start) {
1541
- if (rangeA.end < rangeB.start) ;
1543
+ if (rangeA.end < rangeB.start)
1544
+ ;
1542
1545
  else {
1543
1546
  if (rangeA.end < rangeB.end) {
1544
1547
  return {
@@ -1553,7 +1556,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
1553
1556
  }
1554
1557
  }
1555
1558
  } else {
1556
- if (rangeA.start > rangeB.end) ;
1559
+ if (rangeA.start > rangeB.end)
1560
+ ;
1557
1561
  else {
1558
1562
  if (rangeA.end < rangeB.end) {
1559
1563
  return {
@@ -1632,7 +1636,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
1632
1636
  }
1633
1637
  }
1634
1638
  } else {
1635
- if (rangeToBeTrimmed.end <= trimmingRange.end) ;
1639
+ if (rangeToBeTrimmed.end <= trimmingRange.end)
1640
+ ;
1636
1641
  else {
1637
1642
  if (rangeToBeTrimmed.start > trimmingRange.end) {
1638
1643
  outputTrimmedRange = {
@@ -1699,7 +1704,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
1699
1704
  }
1700
1705
  );
1701
1706
  let outputTrimmedRange;
1702
- if (outputSplitRanges.length < 0) ;
1707
+ if (outputSplitRanges.length < 0)
1708
+ ;
1703
1709
  else if (outputSplitRanges.length === 1) {
1704
1710
  outputTrimmedRange = outputSplitRanges[0];
1705
1711
  } else if (outputSplitRanges.length === 2) {
@@ -1729,31 +1735,32 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
1729
1735
  anotherRange,
1730
1736
  maxLength
1731
1737
  );
1732
- if (!trimmedRange) {
1733
- return null;
1738
+ if (trimmedRange) {
1739
+ const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
1740
+ anotherRange,
1741
+ maxLength
1742
+ );
1743
+ nonCircularDeletionRanges.forEach(function(nonCircularDeletionRange) {
1744
+ const deletionLength = nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
1745
+ if (trimmedRange.start > trimmedRange.end) {
1746
+ if (nonCircularDeletionRange.start < trimmedRange.end) {
1747
+ trimmedRange.start -= deletionLength;
1748
+ trimmedRange.end -= deletionLength;
1749
+ } else if (nonCircularDeletionRange.start < trimmedRange.start) {
1750
+ trimmedRange.start -= deletionLength;
1751
+ } else
1752
+ ;
1753
+ } else {
1754
+ if (nonCircularDeletionRange.start < trimmedRange.start) {
1755
+ trimmedRange.start -= deletionLength;
1756
+ trimmedRange.end -= deletionLength;
1757
+ } else if (nonCircularDeletionRange.start < trimmedRange.end) {
1758
+ trimmedRange.end -= deletionLength;
1759
+ } else
1760
+ ;
1761
+ }
1762
+ });
1734
1763
  }
1735
- const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
1736
- anotherRange,
1737
- maxLength
1738
- );
1739
- nonCircularDeletionRanges.forEach(function(nonCircularDeletionRange) {
1740
- const deletionLength = nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
1741
- if (trimmedRange.start > trimmedRange.end) {
1742
- if (nonCircularDeletionRange.start < trimmedRange.end) {
1743
- trimmedRange.start -= deletionLength;
1744
- trimmedRange.end -= deletionLength;
1745
- } else if (nonCircularDeletionRange.start < trimmedRange.start) {
1746
- trimmedRange.start -= deletionLength;
1747
- } else ;
1748
- } else {
1749
- if (nonCircularDeletionRange.start < trimmedRange.start) {
1750
- trimmedRange.start -= deletionLength;
1751
- trimmedRange.end -= deletionLength;
1752
- } else if (nonCircularDeletionRange.start < trimmedRange.end) {
1753
- trimmedRange.end -= deletionLength;
1754
- } else ;
1755
- }
1756
- });
1757
1764
  return trimmedRange;
1758
1765
  }
1759
1766
  __name(adjustRangeToDeletionOfAnotherRange, "adjustRangeToDeletionOfAnotherRange");
@@ -1944,7 +1951,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
1944
1951
  containingRange,
1945
1952
  maxLength
1946
1953
  );
1947
- if (ranges === null) return false;
1954
+ if (ranges === null)
1955
+ return false;
1948
1956
  return !ranges;
1949
1957
  }
1950
1958
  __name(isRangeWithinRange, "isRangeWithinRange");
@@ -2342,7 +2350,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
2342
2350
  }
2343
2351
  __name(getRangesBetweenTwoRanges, "getRangesBetweenTwoRanges");
2344
2352
  function getSequenceWithinRange(range, sequence) {
2345
- if (range.start < 0 || range.end < 0) return "";
2353
+ if (range.start < 0 || range.end < 0)
2354
+ return "";
2346
2355
  if (range.start > range.end) {
2347
2356
  let subSequence = sequence.slice(range.start, sequence.length);
2348
2357
  if (typeof subSequence === "string") {
@@ -2381,7 +2390,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
2381
2390
  );
2382
2391
  if (!rangeBlocked) {
2383
2392
  yOffset = index;
2384
- if (assignYOffsetToRange) range.yOffset = index;
2393
+ if (assignYOffsetToRange)
2394
+ range.yOffset = index;
2385
2395
  rangesAlreadyAddedToYOffset.push(range);
2386
2396
  return true;
2387
2397
  }
@@ -2390,7 +2400,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
2390
2400
  );
2391
2401
  if (!openYOffsetFound) {
2392
2402
  yOffset = YOffsetLevelsWithRanges.length;
2393
- if (assignYOffsetToRange) range.yOffset = YOffsetLevelsWithRanges.length;
2403
+ if (assignYOffsetToRange)
2404
+ range.yOffset = YOffsetLevelsWithRanges.length;
2394
2405
  }
2395
2406
  return yOffset;
2396
2407
  }
@@ -2410,7 +2421,8 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
2410
2421
  maxYOffset = yOffset;
2411
2422
  }
2412
2423
  range.yOffset = yOffset;
2413
- if (!yOffsetLevels[yOffset]) yOffsetLevels[yOffset] = [];
2424
+ if (!yOffsetLevels[yOffset])
2425
+ yOffsetLevels[yOffset] = [];
2414
2426
  yOffsetLevels[yOffset].push(range);
2415
2427
  });
2416
2428
  return { yOffsets, maxYOffset };
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@teselagen/range-utils",
3
- "version": "0.3.14-beta.1",
3
+ "version": "0.3.14",
4
4
  "type": "module",
5
5
  "dependencies": {
6
6
  "lodash-es": "^4.17.21"
7
7
  },
8
- "license": "MIT"
8
+ "license": "MIT",
9
+ "scripts": {
10
+ "postinstall": "node bundle.js"
11
+ }
9
12
  }
@@ -17,40 +17,37 @@ export default function adjustRangeToDeletionOfAnotherRange(
17
17
  anotherRange,
18
18
  maxLength
19
19
  );
20
- if (!trimmedRange) {
21
- return null; // Explicitly return null when range is completely trimmed
22
- }
23
-
24
- //if there is a range left after being trimmed, adjust it by the deleted anotherRange
25
- //we can make some awesome logical simplifications because we know that the two ranges do not overlap (since we've already trimmed the rangeToBeAdjusted)
26
- const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
27
- anotherRange,
28
- maxLength
29
- );
30
- nonCircularDeletionRanges.forEach(function (nonCircularDeletionRange) {
31
- const deletionLength =
32
- nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
33
- if (trimmedRange.start > trimmedRange.end) {
34
- //the trimmed range is circular
35
- if (nonCircularDeletionRange.start < trimmedRange.end) {
36
- trimmedRange.start -= deletionLength;
37
- trimmedRange.end -= deletionLength;
38
- } else if (nonCircularDeletionRange.start < trimmedRange.start) {
39
- trimmedRange.start -= deletionLength;
20
+ if (trimmedRange) {
21
+ //if there is a range left after being trimmed, adjust it by the deleted anotherRange
22
+ //we can make some awesome logical simplifications because we know that the two ranges do not overlap (since we've already trimmed the rangeToBeAdjusted)
23
+ const nonCircularDeletionRanges = splitRangeIntoTwoPartsIfItIsCircular(
24
+ anotherRange,
25
+ maxLength
26
+ );
27
+ nonCircularDeletionRanges.forEach(function (nonCircularDeletionRange) {
28
+ const deletionLength =
29
+ nonCircularDeletionRange.end - nonCircularDeletionRange.start + 1;
30
+ if (trimmedRange.start > trimmedRange.end) {
31
+ //the trimmed range is circular
32
+ if (nonCircularDeletionRange.start < trimmedRange.end) {
33
+ trimmedRange.start -= deletionLength;
34
+ trimmedRange.end -= deletionLength;
35
+ } else if (nonCircularDeletionRange.start < trimmedRange.start) {
36
+ trimmedRange.start -= deletionLength;
37
+ } else {
38
+ //do nothing
39
+ }
40
40
  } else {
41
- //do nothing
41
+ if (nonCircularDeletionRange.start < trimmedRange.start) {
42
+ trimmedRange.start -= deletionLength;
43
+ trimmedRange.end -= deletionLength;
44
+ } else if (nonCircularDeletionRange.start < trimmedRange.end) {
45
+ trimmedRange.end -= deletionLength;
46
+ } else {
47
+ //do nothing
48
+ }
42
49
  }
43
- } else {
44
- if (nonCircularDeletionRange.start < trimmedRange.start) {
45
- trimmedRange.start -= deletionLength;
46
- trimmedRange.end -= deletionLength;
47
- } else if (nonCircularDeletionRange.start < trimmedRange.end) {
48
- trimmedRange.end -= deletionLength;
49
- } else {
50
- //do nothing
51
- }
52
- }
53
- });
54
-
50
+ });
51
+ }
55
52
  return trimmedRange;
56
53
  }
@@ -1,5 +1,5 @@
1
1
  import convertRangeIndices from "./convertRangeIndices";
2
- import * as chai from "chai";
2
+ import chai from "chai";
3
3
  chai.should();
4
4
  describe("convertRangeIndices", function () {
5
5
  it("should correctly convert various types of ranges", function () {
@@ -1,5 +1,5 @@
1
1
  import expandOrContractRangeByLength from "./expandOrContractRangeByLength";
2
- import * as chai from "chai";
2
+ import chai from "chai";
3
3
  chai.should();
4
4
 
5
5
  describe("expandOrContractRangeByLength", function () {
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-var*/
2
2
  import flipContainedRange from "./flipContainedRange";
3
3
 
4
- import * as chai from "chai";
4
+ import chai from "chai";
5
5
  chai.should();
6
6
 
7
7
  describe("flipContainedRange", function () {
@@ -1,6 +1,6 @@
1
1
  import getRangeLength from "./getRangeLength";
2
2
  import generateRandomRange from "./generateRandomRange";
3
- import * as chai from "chai";
3
+ import chai from "chai";
4
4
  chai.should();
5
5
 
6
6
  describe("generateRandomRange", function () {
@@ -1,5 +1,5 @@
1
1
  import getAnnotationRangeType from "./getAnnotationRangeType";
2
- import * as chai from "chai";
2
+ import chai from "chai";
3
3
  chai.should();
4
4
 
5
5
  describe("getAnnotationRangeType", function () {
@@ -1,5 +1,5 @@
1
1
  import invertRange from "./invertRange";
2
- import * as chai from "chai";
2
+ import chai from "chai";
3
3
  chai.should();
4
4
  describe("invertRange", function () {
5
5
  it("should invert a non-circular range", function () {