@sparted/shared-library 1.0.17 → 1.0.19
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/index.js +2 -0
- package/index.js.map +1 -1
- package/math/index.d.ts +1 -0
- package/math/index.js +2 -0
- package/math/index.js.map +1 -1
- package/math/median.d.ts +2 -0
- package/math/median.js +23 -0
- package/math/median.js.map +1 -0
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -19,6 +19,7 @@ var clampNumber = require('./math/clamp-number.js');
|
|
|
19
19
|
var interpolate = require('./math/interpolate.js');
|
|
20
20
|
var numberRange = require('./math/number-range.js');
|
|
21
21
|
var randomNumber = require('./math/random-number.js');
|
|
22
|
+
var median = require('./math/median.js');
|
|
22
23
|
var mergeDeep = require('./object/merge-deep.js');
|
|
23
24
|
var parseBoolean = require('./parsing/parse-boolean.js');
|
|
24
25
|
var parseEnum = require('./parsing/parse-enum.js');
|
|
@@ -58,6 +59,7 @@ exports.interpolate = interpolate.interpolate;
|
|
|
58
59
|
exports.assertNumberRange = numberRange.assertNumberRange;
|
|
59
60
|
exports.isNumberInRange = numberRange.isNumberInRange;
|
|
60
61
|
exports.randomNumber = randomNumber.randomNumber;
|
|
62
|
+
exports.median = median.median;
|
|
61
63
|
exports.mergeDeep = mergeDeep.mergeDeep;
|
|
62
64
|
exports.parseBoolean = parseBoolean.parseBoolean;
|
|
63
65
|
exports.createEnumParser = parseEnum.createEnumParser;
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/math/index.d.ts
CHANGED
package/math/index.js
CHANGED
|
@@ -6,6 +6,7 @@ var clampNumber = require('./clamp-number.js');
|
|
|
6
6
|
var interpolate = require('./interpolate.js');
|
|
7
7
|
var numberRange = require('./number-range.js');
|
|
8
8
|
var randomNumber = require('./random-number.js');
|
|
9
|
+
var median = require('./median.js');
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
|
|
@@ -14,4 +15,5 @@ exports.interpolate = interpolate.interpolate;
|
|
|
14
15
|
exports.assertNumberRange = numberRange.assertNumberRange;
|
|
15
16
|
exports.isNumberInRange = numberRange.isNumberInRange;
|
|
16
17
|
exports.randomNumber = randomNumber.randomNumber;
|
|
18
|
+
exports.median = median.median;
|
|
17
19
|
//# sourceMappingURL=index.js.map
|
package/math/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
package/math/median.d.ts
ADDED
package/math/median.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
function median(arr, defaultValueIfEmpty) {
|
|
6
|
+
if (arr.length === 0) {
|
|
7
|
+
if (typeof defaultValueIfEmpty === 'number') {
|
|
8
|
+
return defaultValueIfEmpty;
|
|
9
|
+
}
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const sorted = [...arr].sort((a, b) => a - b);
|
|
13
|
+
const mid = Math.floor(sorted.length / 2);
|
|
14
|
+
// If the length of the array is odd, return the middle element
|
|
15
|
+
if (sorted.length % 2 === 1) {
|
|
16
|
+
return sorted[mid];
|
|
17
|
+
}
|
|
18
|
+
// If the length of the array is even, return the average of the middle two elements
|
|
19
|
+
return (sorted[mid - 1] + sorted[mid]) / 2;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.median = median;
|
|
23
|
+
//# sourceMappingURL=median.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"median.js","sources":["../../src/math/median.ts"],"sourcesContent":["export function median(arr: number[]): number | null;\nexport function median(arr: number[], defaultValueIfEmpty: number): number;\nexport function median(arr: number[], defaultValueIfEmpty?: number) {\n if (arr.length === 0) {\n if (typeof defaultValueIfEmpty === 'number') {\n return defaultValueIfEmpty;\n }\n return null;\n }\n\n const sorted = [...arr].sort((a, b) => a - b);\n const mid = Math.floor(sorted.length / 2);\n\n // If the length of the array is odd, return the middle element\n if (sorted.length % 2 === 1) {\n return sorted[mid];\n }\n\n // If the length of the array is even, return the average of the middle two elements\n return (sorted[mid - 1] + sorted[mid]) / 2;\n}\n"],"names":[],"mappings":";;;;AAEgB,SAAA,MAAM,CAAC,GAAa,EAAE,mBAA4B,EAAA;AAChE,IAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;AACpB,QAAA,IAAI,OAAO,mBAAmB,KAAK,QAAQ,EAAE;AAC3C,YAAA,OAAO,mBAAmB,CAAC;AAC5B,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;AAG1C,IAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC3B,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,KAAA;;AAGD,IAAA,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7C;;;;"}
|