summaryrefslogtreecommitdiff
path: root/school/node_modules/ranges-merge/dist
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-02-23 19:34:56 +0100
committerMinteck <contact@minteck.org>2023-02-23 19:34:56 +0100
commit3d1cd02f27518f1a04374c7c8320cd5d82ede6e9 (patch)
tree75be5fba4368472fb11c8015aee026b2b9a71888 /school/node_modules/ranges-merge/dist
parent8cc1f13c17fa2fb5a4410542d39e650e02945634 (diff)
downloadpluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.gz
pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.tar.bz2
pluralconnect-3d1cd02f27518f1a04374c7c8320cd5d82ede6e9.zip
Updated 40 files, added 37 files, deleted 1103 files and renamed 3905 files (automated)
Diffstat (limited to 'school/node_modules/ranges-merge/dist')
-rw-r--r--school/node_modules/ranges-merge/dist/ranges-merge.cjs.js125
-rw-r--r--school/node_modules/ranges-merge/dist/ranges-merge.dev.umd.js230
-rw-r--r--school/node_modules/ranges-merge/dist/ranges-merge.esm.js107
-rw-r--r--school/node_modules/ranges-merge/dist/ranges-merge.umd.js18
4 files changed, 0 insertions, 480 deletions
diff --git a/school/node_modules/ranges-merge/dist/ranges-merge.cjs.js b/school/node_modules/ranges-merge/dist/ranges-merge.cjs.js
deleted file mode 100644
index 39ca466..0000000
--- a/school/node_modules/ranges-merge/dist/ranges-merge.cjs.js
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * @name ranges-merge
- * @fileoverview Merge and sort string index ranges
- * @version 7.1.0
- * @author Roy Revelt, Codsen Ltd
- * @license MIT
- * {@link https://codsen.com/os/ranges-merge/}
- */
-
-'use strict';
-
-Object.defineProperty(exports, '__esModule', { value: true });
-
-var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
-var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
-var _typeof = require('@babel/runtime/helpers/typeof');
-var rangesSort = require('ranges-sort');
-
-function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
-
-var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
-var _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);
-var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
-
-var version$1 = "7.1.0";
-
-var version = version$1;
-var defaults = {
- mergeType: 1,
- progressFn: null,
- joinRangesThatTouchEdges: true
-};
-function rMerge(arrOfRanges, originalOpts) {
- function isObj(something) {
- return something && _typeof__default['default'](something) === "object" && !Array.isArray(something);
- }
- if (!Array.isArray(arrOfRanges) || !arrOfRanges.length) {
- return null;
- }
- var opts;
- if (originalOpts) {
- if (isObj(originalOpts)) {
- opts = _objectSpread__default['default'](_objectSpread__default['default']({}, defaults), originalOpts);
- if (opts.progressFn && isObj(opts.progressFn) && !Object.keys(opts.progressFn).length) {
- opts.progressFn = null;
- } else if (opts.progressFn && typeof opts.progressFn !== "function") {
- throw new Error("ranges-merge: [THROW_ID_01] opts.progressFn must be a function! It was given of a type: \"".concat(_typeof__default['default'](opts.progressFn), "\", equal to ").concat(JSON.stringify(opts.progressFn, null, 4)));
- }
- if (opts.mergeType && +opts.mergeType !== 1 && +opts.mergeType !== 2) {
- throw new Error("ranges-merge: [THROW_ID_02] opts.mergeType was customised to a wrong thing! It was given of a type: \"".concat(_typeof__default['default'](opts.mergeType), "\", equal to ").concat(JSON.stringify(opts.mergeType, null, 4)));
- }
- if (typeof opts.joinRangesThatTouchEdges !== "boolean") {
- throw new Error("ranges-merge: [THROW_ID_04] opts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: \"".concat(_typeof__default['default'](opts.joinRangesThatTouchEdges), "\", equal to ").concat(JSON.stringify(opts.joinRangesThatTouchEdges, null, 4)));
- }
- } else {
- throw new Error("emlint: [THROW_ID_03] the second input argument must be a plain object. It was given as:\n".concat(JSON.stringify(originalOpts, null, 4), " (type ").concat(_typeof__default['default'](originalOpts), ")"));
- }
- } else {
- opts = _objectSpread__default['default']({}, defaults);
- }
- var filtered = arrOfRanges
- .filter(function (range) {
- return range;
- }).map(function (subarr) {
- return _toConsumableArray__default['default'](subarr);
- }).filter(
- function (rangeArr) {
- return rangeArr[2] !== undefined || rangeArr[0] !== rangeArr[1];
- });
- var sortedRanges;
- var lastPercentageDone;
- var percentageDone;
- if (opts.progressFn) {
- sortedRanges = rangesSort.rSort(filtered, {
- progressFn: function progressFn(percentage) {
- percentageDone = Math.floor(percentage / 5);
- if (percentageDone !== lastPercentageDone) {
- lastPercentageDone = percentageDone;
- opts.progressFn(percentageDone);
- }
- }
- });
- } else {
- sortedRanges = rangesSort.rSort(filtered);
- }
- if (!sortedRanges) {
- return null;
- }
- var len = sortedRanges.length - 1;
- for (var i = len; i > 0; i--) {
- if (opts.progressFn) {
- percentageDone = Math.floor((1 - i / len) * 78) + 21;
- if (percentageDone !== lastPercentageDone && percentageDone > lastPercentageDone) {
- lastPercentageDone = percentageDone;
- opts.progressFn(percentageDone);
- }
- }
- if (sortedRanges[i][0] <= sortedRanges[i - 1][0] || !opts.joinRangesThatTouchEdges && sortedRanges[i][0] < sortedRanges[i - 1][1] || opts.joinRangesThatTouchEdges && sortedRanges[i][0] <= sortedRanges[i - 1][1]) {
- sortedRanges[i - 1][0] = Math.min(sortedRanges[i][0], sortedRanges[i - 1][0]);
- sortedRanges[i - 1][1] = Math.max(sortedRanges[i][1], sortedRanges[i - 1][1]);
- if (sortedRanges[i][2] !== undefined && (sortedRanges[i - 1][0] >= sortedRanges[i][0] || sortedRanges[i - 1][1] <= sortedRanges[i][1])) {
- if (sortedRanges[i - 1][2] !== null) {
- if (sortedRanges[i][2] === null && sortedRanges[i - 1][2] !== null) {
- sortedRanges[i - 1][2] = null;
- } else if (sortedRanges[i - 1][2] != null) {
- if (+opts.mergeType === 2 && sortedRanges[i - 1][0] === sortedRanges[i][0]) {
- sortedRanges[i - 1][2] = sortedRanges[i][2];
- } else {
- sortedRanges[i - 1][2] += sortedRanges[i][2];
- }
- } else {
- sortedRanges[i - 1][2] = sortedRanges[i][2];
- }
- }
- }
- sortedRanges.splice(i, 1);
- i = sortedRanges.length;
- }
- }
- return sortedRanges.length ? sortedRanges : null;
-}
-
-exports.defaults = defaults;
-exports.rMerge = rMerge;
-exports.version = version;
diff --git a/school/node_modules/ranges-merge/dist/ranges-merge.dev.umd.js b/school/node_modules/ranges-merge/dist/ranges-merge.dev.umd.js
deleted file mode 100644
index 6886133..0000000
--- a/school/node_modules/ranges-merge/dist/ranges-merge.dev.umd.js
+++ /dev/null
@@ -1,230 +0,0 @@
-/**
- * @name ranges-merge
- * @fileoverview Merge and sort string index ranges
- * @version 7.1.0
- * @author Roy Revelt, Codsen Ltd
- * @license MIT
- * {@link https://codsen.com/os/ranges-merge/}
- */
-
-(function (global, factory) {
-typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
-typeof define === 'function' && define.amd ? define(['exports'], factory) :
-(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.rangesMerge = {}));
-}(this, (function (exports) { 'use strict';
-
-/**
- * @name ranges-sort
- * @fileoverview Sort string index ranges
- * @version 4.1.0
- * @author Roy Revelt, Codsen Ltd
- * @license MIT
- * {@link https://codsen.com/os/ranges-sort/}
- */
-const defaults$1 = {
- strictlyTwoElementsInRangeArrays: false,
- progressFn: null
-};
-function rSort(arrOfRanges, originalOptions) {
- if (!Array.isArray(arrOfRanges) || !arrOfRanges.length) {
- return arrOfRanges;
- }
- const opts = { ...defaults$1,
- ...originalOptions
- };
- let culpritsIndex;
- let culpritsLen;
- if (opts.strictlyTwoElementsInRangeArrays && !arrOfRanges.filter(range => range).every((rangeArr, indx) => {
- if (rangeArr.length !== 2) {
- culpritsIndex = indx;
- culpritsLen = rangeArr.length;
- return false;
- }
- return true;
- })) {
- throw new TypeError(`ranges-sort: [THROW_ID_03] The first argument should be an array and must consist of arrays which are natural number indexes representing TWO string index ranges. However, ${culpritsIndex}th range (${JSON.stringify(arrOfRanges[culpritsIndex], null, 4)}) has not two but ${culpritsLen} elements!`);
- }
- if (!arrOfRanges.filter(range => range).every((rangeArr, indx) => {
- if (!Number.isInteger(rangeArr[0]) || rangeArr[0] < 0 || !Number.isInteger(rangeArr[1]) || rangeArr[1] < 0) {
- culpritsIndex = indx;
- return false;
- }
- return true;
- })) {
- throw new TypeError(`ranges-sort: [THROW_ID_04] The first argument should be an array and must consist of arrays which are natural number indexes representing string index ranges. However, ${culpritsIndex}th range (${JSON.stringify(arrOfRanges[culpritsIndex], null, 4)}) does not consist of only natural numbers!`);
- }
- const maxPossibleIterations = arrOfRanges.filter(range => range).length ** 2;
- let counter = 0;
- return Array.from(arrOfRanges).filter(range => range).sort((range1, range2) => {
- if (opts.progressFn) {
- counter += 1;
- opts.progressFn(Math.floor(counter * 100 / maxPossibleIterations));
- }
- if (range1[0] === range2[0]) {
- if (range1[1] < range2[1]) {
- return -1;
- }
- if (range1[1] > range2[1]) {
- return 1;
- }
- return 0;
- }
- if (range1[0] < range2[0]) {
- return -1;
- }
- return 1;
- });
-}
-
-var version$1 = "7.1.0";
-
-const version = version$1;
-const defaults = {
- mergeType: 1,
- progressFn: null,
- joinRangesThatTouchEdges: true,
-};
-// merges the overlapping ranges
-// case #1. exact extension:
-// [ [1, 5], [5, 10] ] => [ [1, 10] ]
-// case #2. overlap:
-// [ [1, 4], [3, 5] ] => [ [1, 5] ]
-function rMerge(arrOfRanges, originalOpts) {
- //
- // internal functions:
- // ---------------------------------------------------------------------------
- function isObj(something) {
- return (something && typeof something === "object" && !Array.isArray(something));
- }
- // quick ending:
- // ---------------------------------------------------------------------------
- if (!Array.isArray(arrOfRanges) || !arrOfRanges.length) {
- return null;
- }
- let opts;
- if (originalOpts) {
- if (isObj(originalOpts)) {
- opts = { ...defaults, ...originalOpts };
- // 1. validate opts.progressFn
- if (opts.progressFn &&
- isObj(opts.progressFn) &&
- !Object.keys(opts.progressFn).length) {
- opts.progressFn = null;
- }
- else if (opts.progressFn && typeof opts.progressFn !== "function") {
- throw new Error(`ranges-merge: [THROW_ID_01] opts.progressFn must be a function! It was given of a type: "${typeof opts.progressFn}", equal to ${JSON.stringify(opts.progressFn, null, 4)}`);
- }
- // 2. validate opts.mergeType
- if (opts.mergeType && +opts.mergeType !== 1 && +opts.mergeType !== 2) {
- throw new Error(`ranges-merge: [THROW_ID_02] opts.mergeType was customised to a wrong thing! It was given of a type: "${typeof opts.mergeType}", equal to ${JSON.stringify(opts.mergeType, null, 4)}`);
- }
- // 3. validate opts.joinRangesThatTouchEdges
- if (typeof opts.joinRangesThatTouchEdges !== "boolean") {
- throw new Error(`ranges-merge: [THROW_ID_04] opts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: "${typeof opts.joinRangesThatTouchEdges}", equal to ${JSON.stringify(opts.joinRangesThatTouchEdges, null, 4)}`);
- }
- }
- else {
- throw new Error(`emlint: [THROW_ID_03] the second input argument must be a plain object. It was given as:\n${JSON.stringify(originalOpts, null, 4)} (type ${typeof originalOpts})`);
- }
- }
- else {
- opts = { ...defaults };
- }
- // progress-wise, sort takes first 20%
- // two-level-deep array clone:
- const filtered = arrOfRanges
- // filter out null
- .filter((range) => range)
- .map((subarr) => [...subarr])
- .filter(
- // filter out futile ranges with identical starting and ending points with
- // nothing to add (no 3rd argument)
- (rangeArr) => rangeArr[2] !== undefined || rangeArr[0] !== rangeArr[1]);
- let sortedRanges;
- let lastPercentageDone;
- let percentageDone;
- if (opts.progressFn) {
- // progress already gets reported in [0,100] range, so we just need to
- // divide by 5 in order to "compress" that into 20% range.
- sortedRanges = rSort(filtered, {
- progressFn: (percentage) => {
- percentageDone = Math.floor(percentage / 5);
- // ensure each percent is passed only once:
- if (percentageDone !== lastPercentageDone) {
- lastPercentageDone = percentageDone;
- opts.progressFn(percentageDone);
- }
- },
- });
- }
- else {
- sortedRanges = rSort(filtered);
- }
- if (!sortedRanges) {
- return null;
- }
- const len = sortedRanges.length - 1;
- // reset 80% of progress is this loop:
- // loop from the end:
- for (let i = len; i > 0; i--) {
- if (opts.progressFn) {
- percentageDone = Math.floor((1 - i / len) * 78) + 21;
- if (percentageDone !== lastPercentageDone &&
- percentageDone > lastPercentageDone) {
- lastPercentageDone = percentageDone;
- opts.progressFn(percentageDone);
- // console.log(
- // `153 REPORTING ${`\u001b[${33}m${`doneSoFar`}\u001b[${39}m`} = ${doneSoFar}`
- // );
- }
- }
- // if current range is before the preceding-one
- if (sortedRanges[i][0] <= sortedRanges[i - 1][0] ||
- (!opts.joinRangesThatTouchEdges &&
- sortedRanges[i][0] < sortedRanges[i - 1][1]) ||
- (opts.joinRangesThatTouchEdges &&
- sortedRanges[i][0] <= sortedRanges[i - 1][1])) {
- sortedRanges[i - 1][0] = Math.min(sortedRanges[i][0], sortedRanges[i - 1][0]);
- sortedRanges[i - 1][1] = Math.max(sortedRanges[i][1], sortedRanges[i - 1][1]);
- // tend the third argument, "what to insert"
- if (sortedRanges[i][2] !== undefined &&
- (sortedRanges[i - 1][0] >= sortedRanges[i][0] ||
- sortedRanges[i - 1][1] <= sortedRanges[i][1])) {
- // if the value of the range before exists:
- if (sortedRanges[i - 1][2] !== null) {
- if (sortedRanges[i][2] === null && sortedRanges[i - 1][2] !== null) {
- sortedRanges[i - 1][2] = null;
- }
- else if (sortedRanges[i - 1][2] != null) {
- // if there's a clash of "insert" values:
- if (+opts.mergeType === 2 &&
- sortedRanges[i - 1][0] === sortedRanges[i][0]) {
- // take the value from the range that's on the right:
- sortedRanges[i - 1][2] = sortedRanges[i][2];
- }
- else {
- sortedRanges[i - 1][2] +=
- sortedRanges[i][2];
- }
- }
- else {
- sortedRanges[i - 1][2] = sortedRanges[i][2];
- }
- }
- }
- // get rid of the second element:
- sortedRanges.splice(i, 1);
- // reset the traversal, start from the end again
- i = sortedRanges.length;
- }
- }
- return sortedRanges.length ? sortedRanges : null;
-}
-
-exports.defaults = defaults;
-exports.rMerge = rMerge;
-exports.version = version;
-
-Object.defineProperty(exports, '__esModule', { value: true });
-
-})));
diff --git a/school/node_modules/ranges-merge/dist/ranges-merge.esm.js b/school/node_modules/ranges-merge/dist/ranges-merge.esm.js
deleted file mode 100644
index 45d08d4..0000000
--- a/school/node_modules/ranges-merge/dist/ranges-merge.esm.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * @name ranges-merge
- * @fileoverview Merge and sort string index ranges
- * @version 7.1.0
- * @author Roy Revelt, Codsen Ltd
- * @license MIT
- * {@link https://codsen.com/os/ranges-merge/}
- */
-
-import { rSort } from 'ranges-sort';
-
-var version$1 = "7.1.0";
-
-const version = version$1;
-const defaults = {
- mergeType: 1,
- progressFn: null,
- joinRangesThatTouchEdges: true
-};
-function rMerge(arrOfRanges, originalOpts) {
- function isObj(something) {
- return something && typeof something === "object" && !Array.isArray(something);
- }
- if (!Array.isArray(arrOfRanges) || !arrOfRanges.length) {
- return null;
- }
- let opts;
- if (originalOpts) {
- if (isObj(originalOpts)) {
- opts = { ...defaults,
- ...originalOpts
- };
- if (opts.progressFn && isObj(opts.progressFn) && !Object.keys(opts.progressFn).length) {
- opts.progressFn = null;
- } else if (opts.progressFn && typeof opts.progressFn !== "function") {
- throw new Error(`ranges-merge: [THROW_ID_01] opts.progressFn must be a function! It was given of a type: "${typeof opts.progressFn}", equal to ${JSON.stringify(opts.progressFn, null, 4)}`);
- }
- if (opts.mergeType && +opts.mergeType !== 1 && +opts.mergeType !== 2) {
- throw new Error(`ranges-merge: [THROW_ID_02] opts.mergeType was customised to a wrong thing! It was given of a type: "${typeof opts.mergeType}", equal to ${JSON.stringify(opts.mergeType, null, 4)}`);
- }
- if (typeof opts.joinRangesThatTouchEdges !== "boolean") {
- throw new Error(`ranges-merge: [THROW_ID_04] opts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: "${typeof opts.joinRangesThatTouchEdges}", equal to ${JSON.stringify(opts.joinRangesThatTouchEdges, null, 4)}`);
- }
- } else {
- throw new Error(`emlint: [THROW_ID_03] the second input argument must be a plain object. It was given as:\n${JSON.stringify(originalOpts, null, 4)} (type ${typeof originalOpts})`);
- }
- } else {
- opts = { ...defaults
- };
- }
- const filtered = arrOfRanges
- .filter(range => range).map(subarr => [...subarr]).filter(
- rangeArr => rangeArr[2] !== undefined || rangeArr[0] !== rangeArr[1]);
- let sortedRanges;
- let lastPercentageDone;
- let percentageDone;
- if (opts.progressFn) {
- sortedRanges = rSort(filtered, {
- progressFn: percentage => {
- percentageDone = Math.floor(percentage / 5);
- if (percentageDone !== lastPercentageDone) {
- lastPercentageDone = percentageDone;
- opts.progressFn(percentageDone);
- }
- }
- });
- } else {
- sortedRanges = rSort(filtered);
- }
- if (!sortedRanges) {
- return null;
- }
- const len = sortedRanges.length - 1;
- for (let i = len; i > 0; i--) {
- if (opts.progressFn) {
- percentageDone = Math.floor((1 - i / len) * 78) + 21;
- if (percentageDone !== lastPercentageDone && percentageDone > lastPercentageDone) {
- lastPercentageDone = percentageDone;
- opts.progressFn(percentageDone);
- }
- }
- if (sortedRanges[i][0] <= sortedRanges[i - 1][0] || !opts.joinRangesThatTouchEdges && sortedRanges[i][0] < sortedRanges[i - 1][1] || opts.joinRangesThatTouchEdges && sortedRanges[i][0] <= sortedRanges[i - 1][1]) {
- sortedRanges[i - 1][0] = Math.min(sortedRanges[i][0], sortedRanges[i - 1][0]);
- sortedRanges[i - 1][1] = Math.max(sortedRanges[i][1], sortedRanges[i - 1][1]);
- if (sortedRanges[i][2] !== undefined && (sortedRanges[i - 1][0] >= sortedRanges[i][0] || sortedRanges[i - 1][1] <= sortedRanges[i][1])) {
- if (sortedRanges[i - 1][2] !== null) {
- if (sortedRanges[i][2] === null && sortedRanges[i - 1][2] !== null) {
- sortedRanges[i - 1][2] = null;
- } else if (sortedRanges[i - 1][2] != null) {
- if (+opts.mergeType === 2 && sortedRanges[i - 1][0] === sortedRanges[i][0]) {
- sortedRanges[i - 1][2] = sortedRanges[i][2];
- } else {
- sortedRanges[i - 1][2] += sortedRanges[i][2];
- }
- } else {
- sortedRanges[i - 1][2] = sortedRanges[i][2];
- }
- }
- }
- sortedRanges.splice(i, 1);
- i = sortedRanges.length;
- }
- }
- return sortedRanges.length ? sortedRanges : null;
-}
-
-export { defaults, rMerge, version };
diff --git a/school/node_modules/ranges-merge/dist/ranges-merge.umd.js b/school/node_modules/ranges-merge/dist/ranges-merge.umd.js
deleted file mode 100644
index 9275312..0000000
--- a/school/node_modules/ranges-merge/dist/ranges-merge.umd.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @name ranges-merge
- * @fileoverview Merge and sort string index ranges
- * @version 7.1.0
- * @author Roy Revelt, Codsen Ltd
- * @license MIT
- * {@link https://codsen.com/os/ranges-merge/}
- */
-
-!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).rangesMerge={})}(this,(function(e){"use strict";
-/**
- * @name ranges-sort
- * @fileoverview Sort string index ranges
- * @version 4.1.0
- * @author Roy Revelt, Codsen Ltd
- * @license MIT
- * {@link https://codsen.com/os/ranges-sort/}
- */const r={strictlyTwoElementsInRangeArrays:!1,progressFn:null};function n(e,n){if(!Array.isArray(e)||!e.length)return e;const t={...r,...n};let s,o;if(t.strictlyTwoElementsInRangeArrays&&!e.filter((e=>e)).every(((e,r)=>2===e.length||(s=r,o=e.length,!1))))throw new TypeError(`ranges-sort: [THROW_ID_03] The first argument should be an array and must consist of arrays which are natural number indexes representing TWO string index ranges. However, ${s}th range (${JSON.stringify(e[s],null,4)}) has not two but ${o} elements!`);if(!e.filter((e=>e)).every(((e,r)=>!(!Number.isInteger(e[0])||e[0]<0||!Number.isInteger(e[1])||e[1]<0)||(s=r,!1))))throw new TypeError(`ranges-sort: [THROW_ID_04] The first argument should be an array and must consist of arrays which are natural number indexes representing string index ranges. However, ${s}th range (${JSON.stringify(e[s],null,4)}) does not consist of only natural numbers!`);const i=e.filter((e=>e)).length**2;let g=0;return Array.from(e).filter((e=>e)).sort(((e,r)=>(t.progressFn&&(g+=1,t.progressFn(Math.floor(100*g/i))),e[0]===r[0]?e[1]<r[1]?-1:e[1]>r[1]?1:0:e[0]<r[0]?-1:1)))}const t={mergeType:1,progressFn:null,joinRangesThatTouchEdges:!0};e.defaults=t,e.rMerge=function(e,r){function s(e){return e&&"object"==typeof e&&!Array.isArray(e)}if(!Array.isArray(e)||!e.length)return null;let o;if(r){if(!s(r))throw new Error(`emlint: [THROW_ID_03] the second input argument must be a plain object. It was given as:\n${JSON.stringify(r,null,4)} (type ${typeof r})`);if(o={...t,...r},o.progressFn&&s(o.progressFn)&&!Object.keys(o.progressFn).length)o.progressFn=null;else if(o.progressFn&&"function"!=typeof o.progressFn)throw new Error(`ranges-merge: [THROW_ID_01] opts.progressFn must be a function! It was given of a type: "${typeof o.progressFn}", equal to ${JSON.stringify(o.progressFn,null,4)}`);if(o.mergeType&&1!=+o.mergeType&&2!=+o.mergeType)throw new Error(`ranges-merge: [THROW_ID_02] opts.mergeType was customised to a wrong thing! It was given of a type: "${typeof o.mergeType}", equal to ${JSON.stringify(o.mergeType,null,4)}`);if("boolean"!=typeof o.joinRangesThatTouchEdges)throw new Error(`ranges-merge: [THROW_ID_04] opts.joinRangesThatTouchEdges was customised to a wrong thing! It was given of a type: "${typeof o.joinRangesThatTouchEdges}", equal to ${JSON.stringify(o.joinRangesThatTouchEdges,null,4)}`)}else o={...t};const i=e.filter((e=>e)).map((e=>[...e])).filter((e=>void 0!==e[2]||e[0]!==e[1]));let g,a,l;if(g=o.progressFn?n(i,{progressFn:e=>{l=Math.floor(e/5),l!==a&&(a=l,o.progressFn(l))}}):n(i),!g)return null;const u=g.length-1;for(let e=u;e>0;e--)o.progressFn&&(l=Math.floor(78*(1-e/u))+21,l!==a&&l>a&&(a=l,o.progressFn(l))),(g[e][0]<=g[e-1][0]||!o.joinRangesThatTouchEdges&&g[e][0]<g[e-1][1]||o.joinRangesThatTouchEdges&&g[e][0]<=g[e-1][1])&&(g[e-1][0]=Math.min(g[e][0],g[e-1][0]),g[e-1][1]=Math.max(g[e][1],g[e-1][1]),void 0!==g[e][2]&&(g[e-1][0]>=g[e][0]||g[e-1][1]<=g[e][1])&&null!==g[e-1][2]&&(null===g[e][2]&&null!==g[e-1][2]?g[e-1][2]=null:null!=g[e-1][2]?2==+o.mergeType&&g[e-1][0]===g[e][0]?g[e-1][2]=g[e][2]:g[e-1][2]+=g[e][2]:g[e-1][2]=g[e][2]),g.splice(e,1),e=g.length);return g.length?g:null},e.version="7.1.0",Object.defineProperty(e,"__esModule",{value:!0})}));