mathjs 10.2.0 → 10.4.1
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/HISTORY.md +43 -0
- package/docs/expressions/syntax.md +31 -2
- package/docs/reference/functions/cumsum.md +57 -0
- package/docs/reference/functions/format.md +1 -1
- package/docs/reference/functions/map.md +22 -5
- package/docs/reference/functions/subset.md +10 -2
- package/docs/reference/functions/sum.md +2 -1
- package/docs/reference/functions/symbolicEqual.md +62 -0
- package/docs/reference/functions.md +3 -1
- package/lib/browser/math.js +6 -6
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +26 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +26 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +24 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +26 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +26 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +16 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +22 -8
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +6 -0
- package/lib/cjs/entry/pureFunctionsAny.generated.js +18 -12
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +8 -2
- package/lib/cjs/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +240 -234
- package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +15 -0
- package/lib/cjs/expression/node/FunctionNode.js +74 -55
- package/lib/cjs/expression/parse.js +12 -8
- package/lib/cjs/expression/transform/cumsum.transform.js +57 -0
- package/lib/cjs/expression/transform/sum.transform.js +1 -1
- package/lib/cjs/factoriesAny.js +24 -0
- package/lib/cjs/factoriesNumber.js +18 -2
- package/lib/cjs/function/algebra/simplify.js +8 -0
- package/lib/cjs/function/algebra/simplifyCore.js +2 -2
- package/lib/cjs/function/algebra/symbolicEqual.js +88 -0
- package/lib/cjs/function/matrix/eigs/complexEigs.js +39 -28
- package/lib/cjs/function/matrix/map.js +53 -15
- package/lib/cjs/function/matrix/subset.js +15 -5
- package/lib/cjs/function/statistics/cumsum.js +151 -0
- package/lib/cjs/function/statistics/sum.js +1 -1
- package/lib/cjs/function/string/format.js +1 -1
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/fraction/function/fraction.js +20 -8
- package/lib/cjs/utils/collection.js +3 -27
- package/lib/cjs/utils/switch.js +31 -0
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny.generated.js +3 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +2 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +22 -9
- package/lib/esm/entry/impureFunctionsNumber.generated.js +8 -2
- package/lib/esm/entry/pureFunctionsAny.generated.js +13 -8
- package/lib/esm/entry/pureFunctionsNumber.generated.js +6 -1
- package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +220 -216
- package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
- package/lib/esm/expression/node/FunctionNode.js +70 -53
- package/lib/esm/expression/parse.js +12 -8
- package/lib/esm/expression/transform/cumsum.transform.js +48 -0
- package/lib/esm/expression/transform/sum.transform.js +1 -1
- package/lib/esm/factoriesAny.js +3 -0
- package/lib/esm/factoriesNumber.js +2 -0
- package/lib/esm/function/algebra/simplify.js +8 -0
- package/lib/esm/function/algebra/simplifyCore.js +2 -2
- package/lib/esm/function/algebra/symbolicEqual.js +80 -0
- package/lib/esm/function/matrix/eigs/complexEigs.js +36 -25
- package/lib/esm/function/matrix/map.js +53 -15
- package/lib/esm/function/matrix/subset.js +15 -5
- package/lib/esm/function/statistics/cumsum.js +139 -0
- package/lib/esm/function/statistics/sum.js +1 -1
- package/lib/esm/function/string/format.js +1 -1
- package/lib/esm/type/fraction/function/fraction.js +20 -8
- package/lib/esm/utils/collection.js +1 -26
- package/lib/esm/utils/switch.js +24 -0
- package/lib/esm/version.js +1 -1
- package/package.json +15 -11
- package/types/index.d.ts +209 -23
- package/types/index.ts +274 -57
- package/types/tsconfig.json +2 -1
|
@@ -28,16 +28,26 @@ export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
28
28
|
*
|
|
29
29
|
* // replace a subset
|
|
30
30
|
* const e = []
|
|
31
|
-
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]]
|
|
31
|
+
* const f = math.subset(e, math.index(0, [0, 2]), [5, 6]) // f = [[5, 6]] and e = [[5, 0, 6]]
|
|
32
32
|
* const g = math.subset(f, math.index(1, 1), 7, 0) // g = [[5, 6], [0, 7]]
|
|
33
33
|
*
|
|
34
|
+
* // get submatrix using ranges
|
|
35
|
+
* const M = [
|
|
36
|
+
* [1,2,3],
|
|
37
|
+
* [4,5,6],
|
|
38
|
+
* [7,8,9]
|
|
39
|
+
* ]
|
|
40
|
+
* math.subset(M, math.index(math.range(0,2), math.range(0,3))) // [[1,2,3],[4,5,6]]
|
|
41
|
+
*
|
|
34
42
|
* See also:
|
|
35
43
|
*
|
|
36
44
|
* size, resize, squeeze, index
|
|
37
45
|
*
|
|
38
46
|
* @param {Array | Matrix | string} matrix An array, matrix, or string
|
|
39
|
-
* @param {Index} index
|
|
40
|
-
*
|
|
47
|
+
* @param {Index} index
|
|
48
|
+
* For each dimension of the target, specifies an index or a list of
|
|
49
|
+
* indices to fetch or set. `subset` uses the cartesian product of
|
|
50
|
+
* the indices specified in each dimension.
|
|
41
51
|
* @param {*} [replacement] An array, matrix, or scalar.
|
|
42
52
|
* If provided, the subset is replaced with replacement.
|
|
43
53
|
* If not provided, the subset is returned
|
|
@@ -80,7 +90,7 @@ export var createSubset = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
80
90
|
/**
|
|
81
91
|
* Retrieve a subset of a string
|
|
82
92
|
* @param {string} str string from which to get a substring
|
|
83
|
-
* @param {Index} index An index
|
|
93
|
+
* @param {Index} index An index or list of indices (character positions)
|
|
84
94
|
* @returns {string} substring
|
|
85
95
|
* @private
|
|
86
96
|
*/
|
|
@@ -109,7 +119,7 @@ function _getSubstring(str, index) {
|
|
|
109
119
|
/**
|
|
110
120
|
* Replace a substring in a string
|
|
111
121
|
* @param {string} str string to be replaced
|
|
112
|
-
* @param {Index} index An index
|
|
122
|
+
* @param {Index} index An index or list of indices (character positions)
|
|
113
123
|
* @param {string} replacement Replacement string
|
|
114
124
|
* @param {string} [defaultValue] Default value to be uses when resizing
|
|
115
125
|
* the string. is ' ' by default
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { containsCollections } from '../../utils/collection.js';
|
|
2
|
+
import { factory } from '../../utils/factory.js';
|
|
3
|
+
import { _switch } from '../../utils/switch.js';
|
|
4
|
+
import { improveErrorMessage } from './utils/improveErrorMessage.js';
|
|
5
|
+
import { arraySize } from '../../utils/array.js';
|
|
6
|
+
import { IndexError } from '../../error/IndexError.js';
|
|
7
|
+
var name = 'cumsum';
|
|
8
|
+
var dependencies = ['typed', 'add', 'unaryPlus'];
|
|
9
|
+
export var createCumSum = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
10
|
+
var {
|
|
11
|
+
typed,
|
|
12
|
+
add,
|
|
13
|
+
unaryPlus
|
|
14
|
+
} = _ref;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Compute the cumulative sum of a matrix or a list with values.
|
|
18
|
+
* In case of a (multi dimensional) array or matrix, the cumulative sums
|
|
19
|
+
* along a specified dimension (defaulting to the first) will be calculated.
|
|
20
|
+
*
|
|
21
|
+
* Syntax:
|
|
22
|
+
*
|
|
23
|
+
* math.cumsum(a, b, c, ...)
|
|
24
|
+
* math.cumsum(A)
|
|
25
|
+
*
|
|
26
|
+
* Examples:
|
|
27
|
+
*
|
|
28
|
+
* math.cumsum(2, 1, 4, 3) // returns [2, 3, 7, 10]
|
|
29
|
+
* math.cumsum([2, 1, 4, 3]) // returns [2, 3, 7, 10]
|
|
30
|
+
* math.cumsum([[1, 2], [3, 4]]) // returns [[1, 2], [4, 6]]
|
|
31
|
+
* math.cumsum([[1, 2], [3, 4]], 0) // returns [[1, 2], [4, 6]]
|
|
32
|
+
* math.cumsum([[1, 2], [3, 4]], 1) // returns [[1, 3], [3, 7]]
|
|
33
|
+
* math.cumsum([[2, 5], [4, 3], [1, 7]]) // returns [[2, 5], [6, 8], [7, 15]]
|
|
34
|
+
*
|
|
35
|
+
* See also:
|
|
36
|
+
*
|
|
37
|
+
* mean, median, min, max, prod, std, variance, sum
|
|
38
|
+
*
|
|
39
|
+
* @param {... *} args A single matrix or or multiple scalar values
|
|
40
|
+
* @return {*} The cumulative sum of all values
|
|
41
|
+
*/
|
|
42
|
+
return typed(name, {
|
|
43
|
+
// sum([a, b, c, d, ...])
|
|
44
|
+
Array: _cumsum,
|
|
45
|
+
Matrix: function Matrix(matrix) {
|
|
46
|
+
return matrix.create(_cumsum(matrix.valueOf()));
|
|
47
|
+
},
|
|
48
|
+
// sum([a, b, c, d, ...], dim)
|
|
49
|
+
'Array, number | BigNumber': _ncumSumDim,
|
|
50
|
+
'Matrix, number | BigNumber': function MatrixNumberBigNumber(matrix, dim) {
|
|
51
|
+
return matrix.create(_ncumSumDim(matrix.valueOf(), dim));
|
|
52
|
+
},
|
|
53
|
+
// cumsum(a, b, c, d, ...)
|
|
54
|
+
'...': function _(args) {
|
|
55
|
+
if (containsCollections(args)) {
|
|
56
|
+
throw new TypeError('All values expected to be scalar in function cumsum');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return _cumsum(args);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
/**
|
|
63
|
+
* Recursively calculate the cumulative sum of an n-dimensional array
|
|
64
|
+
* @param {Array} array
|
|
65
|
+
* @return {number} cumsum
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
function _cumsum(array) {
|
|
70
|
+
try {
|
|
71
|
+
return _cumsummap(array);
|
|
72
|
+
} catch (err) {
|
|
73
|
+
throw improveErrorMessage(err, name);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function _cumsummap(array) {
|
|
78
|
+
if (array.length === 0) {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
var sums = [unaryPlus(array[0])]; // unaryPlus converts to number if need be
|
|
83
|
+
|
|
84
|
+
for (var i = 1; i < array.length; ++i) {
|
|
85
|
+
// Must use add below and not addScalar for the case of summing a
|
|
86
|
+
// 2+-dimensional array along the 0th dimension (the row vectors,
|
|
87
|
+
// or higher-d analogues, are literally added to each other).
|
|
88
|
+
sums.push(add(sums[i - 1], array[i]));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return sums;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function _ncumSumDim(array, dim) {
|
|
95
|
+
var size = arraySize(array);
|
|
96
|
+
|
|
97
|
+
if (dim < 0 || dim >= size.length) {
|
|
98
|
+
// TODO: would be more clear when throwing a DimensionError here
|
|
99
|
+
throw new IndexError(dim, size.length);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
try {
|
|
103
|
+
return _cumsumDimensional(array, dim);
|
|
104
|
+
} catch (err) {
|
|
105
|
+
throw improveErrorMessage(err, name);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/* Possible TODO: Refactor _reduce in collection.js to be able to work here as well */
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
function _cumsumDimensional(mat, dim) {
|
|
112
|
+
var i, ret, tran;
|
|
113
|
+
|
|
114
|
+
if (dim <= 0) {
|
|
115
|
+
var initialValue = mat[0][0];
|
|
116
|
+
|
|
117
|
+
if (!Array.isArray(initialValue)) {
|
|
118
|
+
return _cumsummap(mat);
|
|
119
|
+
} else {
|
|
120
|
+
tran = _switch(mat);
|
|
121
|
+
ret = [];
|
|
122
|
+
|
|
123
|
+
for (i = 0; i < tran.length; i++) {
|
|
124
|
+
ret[i] = _cumsumDimensional(tran[i], dim - 1);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return ret;
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
ret = [];
|
|
131
|
+
|
|
132
|
+
for (i = 0; i < mat.length; i++) {
|
|
133
|
+
ret[i] = _cumsumDimensional(mat[i], dim - 1);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return ret;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
@@ -29,7 +29,7 @@ export var createSum = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
29
29
|
*
|
|
30
30
|
* See also:
|
|
31
31
|
*
|
|
32
|
-
* mean, median, min, max, prod, std, variance
|
|
32
|
+
* mean, median, min, max, prod, std, variance, cumsum
|
|
33
33
|
*
|
|
34
34
|
* @param {... *} args A single matrix or or multiple scalar values
|
|
35
35
|
* @return {*} The sum of all values
|
|
@@ -112,7 +112,7 @@ export var createFormat = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
112
112
|
* // you could also use math.format inside the callback:
|
|
113
113
|
* // return '$' + math.format(value, {notation: 'fixed', precision: 2})
|
|
114
114
|
* }
|
|
115
|
-
* math.format([2.1, 3, 0.016], formatCurrency
|
|
115
|
+
* math.format([2.1, 3, 0.016], formatCurrency) // returns '[$2.10, $3.00, $0.02]'
|
|
116
116
|
*
|
|
117
117
|
* See also:
|
|
118
118
|
*
|
|
@@ -9,27 +9,39 @@ export var createFraction = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
|
9
9
|
} = _ref;
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* Create a fraction convert a value to a fraction.
|
|
12
|
+
* Create a fraction or convert a value to a fraction.
|
|
13
|
+
*
|
|
14
|
+
* With one numeric argument, produces the closest rational approximation to the
|
|
15
|
+
* input.
|
|
16
|
+
* With two arguments, the first is the numerator and the second is the denominator,
|
|
17
|
+
* and creates the corresponding fraction. Both numerator and denominator must be
|
|
18
|
+
* integers.
|
|
19
|
+
* With one object argument, looks for the integer numerator as the value of property
|
|
20
|
+
* 'n' and the integer denominator as the value of property 'd'.
|
|
21
|
+
* With a matrix argument, creates a matrix of the same shape with entries
|
|
22
|
+
* converted into fractions.
|
|
13
23
|
*
|
|
14
24
|
* Syntax:
|
|
25
|
+
* math.fraction(value)
|
|
15
26
|
* math.fraction(numerator, denominator)
|
|
16
27
|
* math.fraction({n: numerator, d: denominator})
|
|
17
|
-
* math.fraction(matrix: Array | Matrix)
|
|
18
|
-
* into fractions
|
|
28
|
+
* math.fraction(matrix: Array | Matrix)
|
|
19
29
|
*
|
|
20
30
|
* Examples:
|
|
21
31
|
*
|
|
22
|
-
* math.fraction(
|
|
23
|
-
* math.fraction(
|
|
24
|
-
* math.fraction(
|
|
25
|
-
* math.fraction(
|
|
32
|
+
* math.fraction(6.283) // returns Fraction 6283/1000
|
|
33
|
+
* math.fraction(1, 3) // returns Fraction 1/3
|
|
34
|
+
* math.fraction('2/3') // returns Fraction 2/3
|
|
35
|
+
* math.fraction({n: 2, d: 3}) // returns Fraction 2/3
|
|
36
|
+
* math.fraction([0.2, 0.25, 1.25]) // returns Array [1/5, 1/4, 5/4]
|
|
37
|
+
* math.fraction(4, 5.1) // throws Error: Parameters must be integer
|
|
26
38
|
*
|
|
27
39
|
* See also:
|
|
28
40
|
*
|
|
29
41
|
* bignumber, number, string, unit
|
|
30
42
|
*
|
|
31
43
|
* @param {number | string | Fraction | BigNumber | Array | Matrix} [args]
|
|
32
|
-
* Arguments specifying the numerator and denominator of
|
|
44
|
+
* Arguments specifying the value, or numerator and denominator of
|
|
33
45
|
* the fraction
|
|
34
46
|
* @return {Fraction | Array | Matrix} Returns a fraction
|
|
35
47
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isCollection, isMatrix } from './is.js';
|
|
2
2
|
import { IndexError } from '../error/IndexError.js';
|
|
3
3
|
import { arraySize } from './array.js';
|
|
4
|
+
import { _switch } from './switch.js';
|
|
4
5
|
/**
|
|
5
6
|
* Test whether an array contains collections
|
|
6
7
|
* @param {Array} array
|
|
@@ -127,32 +128,6 @@ function _reduce(mat, dim, callback) {
|
|
|
127
128
|
|
|
128
129
|
return ret;
|
|
129
130
|
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Transpose a matrix
|
|
133
|
-
* @param {Array} mat
|
|
134
|
-
* @returns {Array} ret
|
|
135
|
-
* @private
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
function _switch(mat) {
|
|
140
|
-
var I = mat.length;
|
|
141
|
-
var J = mat[0].length;
|
|
142
|
-
var i, j;
|
|
143
|
-
var ret = [];
|
|
144
|
-
|
|
145
|
-
for (j = 0; j < J; j++) {
|
|
146
|
-
var tmp = [];
|
|
147
|
-
|
|
148
|
-
for (i = 0; i < I; i++) {
|
|
149
|
-
tmp.push(mat[i][j]);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
ret.push(tmp);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
return ret;
|
|
156
131
|
} // TODO: document function scatter
|
|
157
132
|
|
|
158
133
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transpose a matrix
|
|
3
|
+
* @param {Array} mat
|
|
4
|
+
* @returns {Array} ret
|
|
5
|
+
* @private
|
|
6
|
+
*/
|
|
7
|
+
export function _switch(mat) {
|
|
8
|
+
var I = mat.length;
|
|
9
|
+
var J = mat[0].length;
|
|
10
|
+
var i, j;
|
|
11
|
+
var ret = [];
|
|
12
|
+
|
|
13
|
+
for (j = 0; j < J; j++) {
|
|
14
|
+
var tmp = [];
|
|
15
|
+
|
|
16
|
+
for (i = 0; i < I; i++) {
|
|
17
|
+
tmp.push(mat[i][j]);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
ret.push(tmp);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return ret;
|
|
24
|
+
}
|
package/lib/esm/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var version = '10.
|
|
1
|
+
export var version = '10.4.1'; // Note: This file is automatically generated when building math.js.
|
|
2
2
|
// Changes made in this file will be overwritten.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mathjs",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.4.1",
|
|
4
4
|
"description": "Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with different data types like numbers, big numbers, complex numbers, fractions, units, and matrices.",
|
|
5
5
|
"author": "Jos de Jong <wjosdejong@gmail.com> (https://github.com/josdejong)",
|
|
6
6
|
"homepage": "https://mathjs.org",
|
|
@@ -25,29 +25,31 @@
|
|
|
25
25
|
"unit"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@babel/runtime": "^7.17.
|
|
28
|
+
"@babel/runtime": "^7.17.8",
|
|
29
29
|
"complex.js": "^2.0.15",
|
|
30
30
|
"decimal.js": "^10.3.1",
|
|
31
31
|
"escape-latex": "^1.2.0",
|
|
32
|
-
"fraction.js": "^4.
|
|
32
|
+
"fraction.js": "^4.2.0",
|
|
33
33
|
"javascript-natural-sort": "^0.7.1",
|
|
34
34
|
"seedrandom": "^3.0.5",
|
|
35
35
|
"tiny-emitter": "^2.1.0",
|
|
36
|
-
"typed-function": "^2.
|
|
36
|
+
"typed-function": "^2.1.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@babel/core": "7.17.
|
|
39
|
+
"@babel/core": "7.17.8",
|
|
40
40
|
"@babel/plugin-transform-object-assign": "7.16.7",
|
|
41
41
|
"@babel/plugin-transform-runtime": "7.17.0",
|
|
42
42
|
"@babel/preset-env": "7.16.11",
|
|
43
|
-
"@babel/register": "7.17.
|
|
43
|
+
"@babel/register": "7.17.7",
|
|
44
|
+
"@types/assert": "^1.5.6",
|
|
44
45
|
"assert": "2.0.0",
|
|
45
|
-
"babel-loader": "8.2.
|
|
46
|
+
"babel-loader": "8.2.4",
|
|
46
47
|
"benchmark": "2.1.4",
|
|
47
48
|
"codecov": "3.8.3",
|
|
48
49
|
"core-js": "3.21.1",
|
|
49
50
|
"del": "6.0.0",
|
|
50
51
|
"dtslint": "4.2.1",
|
|
52
|
+
"expect-type": "^0.13.0",
|
|
51
53
|
"expr-eval": "2.0.2",
|
|
52
54
|
"fancy-log": "2.0.0",
|
|
53
55
|
"glob": "7.2.0",
|
|
@@ -55,8 +57,8 @@
|
|
|
55
57
|
"gulp-babel": "8.0.0",
|
|
56
58
|
"handlebars": "4.7.7",
|
|
57
59
|
"istanbul": "0.4.5",
|
|
58
|
-
"jsep": "1.3.
|
|
59
|
-
"karma": "6.3.
|
|
60
|
+
"jsep": "1.3.4",
|
|
61
|
+
"karma": "6.3.17",
|
|
60
62
|
"karma-browserstack-launcher": "1.6.0",
|
|
61
63
|
"karma-firefox-launcher": "2.1.2",
|
|
62
64
|
"karma-mocha": "2.0.1",
|
|
@@ -76,7 +78,8 @@
|
|
|
76
78
|
"process": "0.11.10",
|
|
77
79
|
"standard": "16.0.4",
|
|
78
80
|
"sylvester": "0.0.21",
|
|
79
|
-
"
|
|
81
|
+
"ts-node": "10.7.0",
|
|
82
|
+
"typescript": "4.6.2",
|
|
80
83
|
"webpack": "4.46.0",
|
|
81
84
|
"zeros": "1.0.0"
|
|
82
85
|
},
|
|
@@ -139,9 +142,10 @@
|
|
|
139
142
|
"test:src": "mocha test/unit-tests",
|
|
140
143
|
"test:generated": "mocha test/generated-code-tests",
|
|
141
144
|
"test:node": "mocha test/node-tests/*.test.js test/node-tests/**/*.test.js",
|
|
142
|
-
"test:all": "npm run test:src && npm run test:generated && npm run test:node",
|
|
145
|
+
"test:all": "npm run test:src && npm run test:generated && npm run test:node && npm run test:types",
|
|
143
146
|
"test:browser": "karma start test/browser-test-config/local-karma.js",
|
|
144
147
|
"test:browserstack": "karma start test/browser-test-config/browserstack-karma.js",
|
|
148
|
+
"test:types": "cd types && node --loader ts-node/esm ./index.ts",
|
|
145
149
|
"coverage": "nyc --reporter=lcov --reporter=text-summary mocha test/unit-tests && echo \"\nDetailed coverage report is available at ./coverage/lcov-report/index.html\"",
|
|
146
150
|
"prepublishOnly": "npm run test:all && npm run lint",
|
|
147
151
|
"prepare": "npm run build",
|