mathjs 10.6.1 → 10.6.4
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 +20 -0
 - package/lib/browser/math.js +6 -6
 - package/lib/browser/math.js.map +1 -1
 - package/lib/cjs/function/arithmetic/ceil.js +8 -8
 - package/lib/cjs/function/arithmetic/floor.js +8 -8
 - package/lib/cjs/header.js +2 -2
 - package/lib/cjs/version.js +1 -1
 - package/lib/esm/version.js +1 -1
 - package/package.json +17 -17
 - package/types/index.d.ts +20 -25
 - package/types/index.ts +52 -0
 
| 
         @@ -43,19 +43,19 @@ var createCeilNumber = /* #__PURE__ */(0, _factory.factory)(name, ['typed', 'con 
     | 
|
| 
       43 
43 
     | 
    
         
             
                  if ((0, _number.nearlyEqual)(x, round(x, n), config.epsilon)) {
         
     | 
| 
       44 
44 
     | 
    
         
             
                    return round(x, n);
         
     | 
| 
       45 
45 
     | 
    
         
             
                  } else {
         
     | 
| 
       46 
     | 
    
         
            -
                    var  
     | 
| 
       47 
     | 
    
         
            -
                         
     | 
| 
       48 
     | 
    
         
            -
                        number =  
     | 
| 
       49 
     | 
    
         
            -
                        exponent =  
     | 
| 
      
 46 
     | 
    
         
            +
                    var _split = "".concat(x, "e").split('e'),
         
     | 
| 
      
 47 
     | 
    
         
            +
                        _split2 = (0, _slicedToArray2.default)(_split, 2),
         
     | 
| 
      
 48 
     | 
    
         
            +
                        number = _split2[0],
         
     | 
| 
      
 49 
     | 
    
         
            +
                        exponent = _split2[1];
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
51 
     | 
    
         
             
                    var result = Math.ceil(Number("".concat(number, "e").concat(Number(exponent) + n)));
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
     | 
    
         
            -
                    var  
     | 
| 
      
 53 
     | 
    
         
            +
                    var _split3 = "".concat(result, "e").split('e');
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
       55 
     | 
    
         
            -
                    var  
     | 
| 
      
 55 
     | 
    
         
            +
                    var _split4 = (0, _slicedToArray2.default)(_split3, 2);
         
     | 
| 
       56 
56 
     | 
    
         | 
| 
       57 
     | 
    
         
            -
                    number =  
     | 
| 
       58 
     | 
    
         
            -
                    exponent =  
     | 
| 
      
 57 
     | 
    
         
            +
                    number = _split4[0];
         
     | 
| 
      
 58 
     | 
    
         
            +
                    exponent = _split4[1];
         
     | 
| 
       59 
59 
     | 
    
         
             
                    return Number("".concat(number, "e").concat(Number(exponent) - n));
         
     | 
| 
       60 
60 
     | 
    
         
             
                  }
         
     | 
| 
       61 
61 
     | 
    
         
             
                }
         
     | 
| 
         @@ -43,19 +43,19 @@ var createFloorNumber = /* #__PURE__ */(0, _factory.factory)(name, ['typed', 'co 
     | 
|
| 
       43 
43 
     | 
    
         
             
                  if ((0, _number.nearlyEqual)(x, round(x, n), config.epsilon)) {
         
     | 
| 
       44 
44 
     | 
    
         
             
                    return round(x, n);
         
     | 
| 
       45 
45 
     | 
    
         
             
                  } else {
         
     | 
| 
       46 
     | 
    
         
            -
                    var  
     | 
| 
       47 
     | 
    
         
            -
                         
     | 
| 
       48 
     | 
    
         
            -
                        number =  
     | 
| 
       49 
     | 
    
         
            -
                        exponent =  
     | 
| 
      
 46 
     | 
    
         
            +
                    var _split = "".concat(x, "e").split('e'),
         
     | 
| 
      
 47 
     | 
    
         
            +
                        _split2 = (0, _slicedToArray2.default)(_split, 2),
         
     | 
| 
      
 48 
     | 
    
         
            +
                        number = _split2[0],
         
     | 
| 
      
 49 
     | 
    
         
            +
                        exponent = _split2[1];
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
       51 
51 
     | 
    
         
             
                    var result = Math.floor(Number("".concat(number, "e").concat(Number(exponent) + n)));
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
     | 
    
         
            -
                    var  
     | 
| 
      
 53 
     | 
    
         
            +
                    var _split3 = "".concat(result, "e").split('e');
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
       55 
     | 
    
         
            -
                    var  
     | 
| 
      
 55 
     | 
    
         
            +
                    var _split4 = (0, _slicedToArray2.default)(_split3, 2);
         
     | 
| 
       56 
56 
     | 
    
         | 
| 
       57 
     | 
    
         
            -
                    number =  
     | 
| 
       58 
     | 
    
         
            -
                    exponent =  
     | 
| 
      
 57 
     | 
    
         
            +
                    number = _split4[0];
         
     | 
| 
      
 58 
     | 
    
         
            +
                    exponent = _split4[1];
         
     | 
| 
       59 
59 
     | 
    
         
             
                    return Number("".concat(number, "e").concat(Number(exponent) - n));
         
     | 
| 
       60 
60 
     | 
    
         
             
                  }
         
     | 
| 
       61 
61 
     | 
    
         
             
                }
         
     | 
    
        package/lib/cjs/header.js
    CHANGED
    
    | 
         @@ -6,8 +6,8 @@ 
     | 
|
| 
       6 
6 
     | 
    
         
             
             * It features real and complex numbers, units, matrices, a large set of
         
     | 
| 
       7 
7 
     | 
    
         
             
             * mathematical functions, and a flexible expression parser.
         
     | 
| 
       8 
8 
     | 
    
         
             
             *
         
     | 
| 
       9 
     | 
    
         
            -
             * @version 10.6. 
     | 
| 
       10 
     | 
    
         
            -
             * @date    2022- 
     | 
| 
      
 9 
     | 
    
         
            +
             * @version 10.6.4
         
     | 
| 
      
 10 
     | 
    
         
            +
             * @date    2022-06-28
         
     | 
| 
       11 
11 
     | 
    
         
             
             *
         
     | 
| 
       12 
12 
     | 
    
         
             
             * @license
         
     | 
| 
       13 
13 
     | 
    
         
             
             * Copyright (C) 2013-2022 Jos de Jong <wjosdejong@gmail.com>
         
     | 
    
        package/lib/cjs/version.js
    CHANGED
    
    | 
         @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { 
     | 
|
| 
       4 
4 
     | 
    
         
             
              value: true
         
     | 
| 
       5 
5 
     | 
    
         
             
            });
         
     | 
| 
       6 
6 
     | 
    
         
             
            exports.version = void 0;
         
     | 
| 
       7 
     | 
    
         
            -
            var version = '10.6. 
     | 
| 
      
 7 
     | 
    
         
            +
            var version = '10.6.4'; // Note: This file is automatically generated when building math.js.
         
     | 
| 
       8 
8 
     | 
    
         
             
            // Changes made in this file will be overwritten.
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
            exports.version = version;
         
     | 
    
        package/lib/esm/version.js
    CHANGED
    
    | 
         @@ -1,2 +1,2 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            export var version = '10.6. 
     | 
| 
      
 1 
     | 
    
         
            +
            export var version = '10.6.4'; // 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.6. 
     | 
| 
      
 3 
     | 
    
         
            +
              "version": "10.6.4",
         
     | 
| 
       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,7 +25,7 @@ 
     | 
|
| 
       25 
25 
     | 
    
         
             
                "unit"
         
     | 
| 
       26 
26 
     | 
    
         
             
              ],
         
     | 
| 
       27 
27 
     | 
    
         
             
              "dependencies": {
         
     | 
| 
       28 
     | 
    
         
            -
                "@babel/runtime": "^7.18. 
     | 
| 
      
 28 
     | 
    
         
            +
                "@babel/runtime": "^7.18.6",
         
     | 
| 
       29 
29 
     | 
    
         
             
                "complex.js": "^2.1.1",
         
     | 
| 
       30 
30 
     | 
    
         
             
                "decimal.js": "^10.3.1",
         
     | 
| 
       31 
31 
     | 
    
         
             
                "escape-latex": "^1.2.0",
         
     | 
| 
         @@ -36,29 +36,29 @@ 
     | 
|
| 
       36 
36 
     | 
    
         
             
                "typed-function": "^2.1.0"
         
     | 
| 
       37 
37 
     | 
    
         
             
              },
         
     | 
| 
       38 
38 
     | 
    
         
             
              "devDependencies": {
         
     | 
| 
       39 
     | 
    
         
            -
                "@babel/core": "7.18. 
     | 
| 
       40 
     | 
    
         
            -
                "@babel/plugin-transform-object-assign": "7. 
     | 
| 
       41 
     | 
    
         
            -
                "@babel/plugin-transform-runtime": "7.18. 
     | 
| 
       42 
     | 
    
         
            -
                "@babel/preset-env": "7.18. 
     | 
| 
       43 
     | 
    
         
            -
                "@babel/register": "7. 
     | 
| 
      
 39 
     | 
    
         
            +
                "@babel/core": "7.18.6",
         
     | 
| 
      
 40 
     | 
    
         
            +
                "@babel/plugin-transform-object-assign": "7.18.6",
         
     | 
| 
      
 41 
     | 
    
         
            +
                "@babel/plugin-transform-runtime": "7.18.6",
         
     | 
| 
      
 42 
     | 
    
         
            +
                "@babel/preset-env": "7.18.6",
         
     | 
| 
      
 43 
     | 
    
         
            +
                "@babel/register": "7.18.6",
         
     | 
| 
       44 
44 
     | 
    
         
             
                "@types/assert": "1.5.6",
         
     | 
| 
       45 
45 
     | 
    
         
             
                "@types/mocha": "9.1.1",
         
     | 
| 
       46 
     | 
    
         
            -
                "@typescript-eslint/eslint-plugin": "5. 
     | 
| 
       47 
     | 
    
         
            -
                "@typescript-eslint/parser": "5. 
     | 
| 
      
 46 
     | 
    
         
            +
                "@typescript-eslint/eslint-plugin": "5.30.0",
         
     | 
| 
      
 47 
     | 
    
         
            +
                "@typescript-eslint/parser": "5.30.0",
         
     | 
| 
       48 
48 
     | 
    
         
             
                "assert": "2.0.0",
         
     | 
| 
       49 
49 
     | 
    
         
             
                "babel-loader": "8.2.5",
         
     | 
| 
       50 
50 
     | 
    
         
             
                "benchmark": "2.1.4",
         
     | 
| 
       51 
51 
     | 
    
         
             
                "codecov": "3.8.3",
         
     | 
| 
       52 
     | 
    
         
            -
                "core-js": "3. 
     | 
| 
      
 52 
     | 
    
         
            +
                "core-js": "3.23.3",
         
     | 
| 
       53 
53 
     | 
    
         
             
                "del": "6.1.1",
         
     | 
| 
       54 
54 
     | 
    
         
             
                "dtslint": "4.2.1",
         
     | 
| 
       55 
     | 
    
         
            -
                "eslint": "8. 
     | 
| 
      
 55 
     | 
    
         
            +
                "eslint": "8.18.0",
         
     | 
| 
       56 
56 
     | 
    
         
             
                "eslint-config-prettier": "8.5.0",
         
     | 
| 
       57 
57 
     | 
    
         
             
                "eslint-config-standard": "17.0.0",
         
     | 
| 
       58 
58 
     | 
    
         
             
                "eslint-plugin-import": "2.26.0",
         
     | 
| 
       59 
59 
     | 
    
         
             
                "eslint-plugin-mocha": "10.0.5",
         
     | 
| 
       60 
     | 
    
         
            -
                "eslint-plugin-n": "15.2. 
     | 
| 
       61 
     | 
    
         
            -
                "eslint-plugin-prettier": "4. 
     | 
| 
      
 60 
     | 
    
         
            +
                "eslint-plugin-n": "15.2.3",
         
     | 
| 
      
 61 
     | 
    
         
            +
                "eslint-plugin-prettier": "4.1.0",
         
     | 
| 
       62 
62 
     | 
    
         
             
                "eslint-plugin-promise": "6.0.0",
         
     | 
| 
       63 
63 
     | 
    
         
             
                "expect-type": "0.13.0",
         
     | 
| 
       64 
64 
     | 
    
         
             
                "expr-eval": "2.0.2",
         
     | 
| 
         @@ -69,7 +69,7 @@ 
     | 
|
| 
       69 
69 
     | 
    
         
             
                "handlebars": "4.7.7",
         
     | 
| 
       70 
70 
     | 
    
         
             
                "istanbul": "0.4.5",
         
     | 
| 
       71 
71 
     | 
    
         
             
                "jsep": "1.3.6",
         
     | 
| 
       72 
     | 
    
         
            -
                "karma": "6. 
     | 
| 
      
 72 
     | 
    
         
            +
                "karma": "6.4.0",
         
     | 
| 
       73 
73 
     | 
    
         
             
                "karma-browserstack-launcher": "1.6.0",
         
     | 
| 
       74 
74 
     | 
    
         
             
                "karma-firefox-launcher": "2.1.2",
         
     | 
| 
       75 
75 
     | 
    
         
             
                "karma-mocha": "2.0.1",
         
     | 
| 
         @@ -86,11 +86,11 @@ 
     | 
|
| 
       86 
86 
     | 
    
         
             
                "numericjs": "1.2.6",
         
     | 
| 
       87 
87 
     | 
    
         
             
                "nyc": "15.1.0",
         
     | 
| 
       88 
88 
     | 
    
         
             
                "pad-right": "0.2.2",
         
     | 
| 
       89 
     | 
    
         
            -
                "prettier": "2. 
     | 
| 
      
 89 
     | 
    
         
            +
                "prettier": "2.7.1",
         
     | 
| 
       90 
90 
     | 
    
         
             
                "process": "0.11.10",
         
     | 
| 
       91 
91 
     | 
    
         
             
                "sylvester": "0.0.21",
         
     | 
| 
       92 
     | 
    
         
            -
                "ts-node": "10.8. 
     | 
| 
       93 
     | 
    
         
            -
                "typescript": "4.7. 
     | 
| 
      
 92 
     | 
    
         
            +
                "ts-node": "10.8.1",
         
     | 
| 
      
 93 
     | 
    
         
            +
                "typescript": "4.7.4",
         
     | 
| 
       94 
94 
     | 
    
         
             
                "webpack": "4.46.0",
         
     | 
| 
       95 
95 
     | 
    
         
             
                "zeros": "1.0.0"
         
     | 
| 
       96 
96 
     | 
    
         
             
              },
         
     | 
    
        package/types/index.d.ts
    CHANGED
    
    | 
         @@ -161,6 +161,10 @@ declare namespace math { 
     | 
|
| 
       161 
161 
     | 
    
         
             
                isHexDigit(c: string): boolean
         
     | 
| 
       162 
162 
     | 
    
         
             
              }
         
     | 
| 
       163 
163 
     | 
    
         | 
| 
      
 164 
     | 
    
         
            +
              interface NodeCtor {
         
     | 
| 
      
 165 
     | 
    
         
            +
                new (): MathNodeCommon
         
     | 
| 
      
 166 
     | 
    
         
            +
              }
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
       164 
168 
     | 
    
         
             
              interface AccessorNode extends MathNodeCommon {
         
     | 
| 
       165 
169 
     | 
    
         
             
                type: 'AccessorNode'
         
     | 
| 
       166 
170 
     | 
    
         
             
                isAccessorNode: true
         
     | 
| 
         @@ -337,13 +341,16 @@ declare namespace math { 
     | 
|
| 
       337 
341 
     | 
    
         
             
                  implicit?: boolean
         
     | 
| 
       338 
342 
     | 
    
         
             
                ): OperatorNode<TOp, TFn, TArgs>
         
     | 
| 
       339 
343 
     | 
    
         
             
              }
         
     | 
| 
       340 
     | 
    
         
            -
              interface ParenthesisNode extends  
     | 
| 
      
 344 
     | 
    
         
            +
              interface ParenthesisNode<TContent extends MathNode = MathNode>
         
     | 
| 
      
 345 
     | 
    
         
            +
                extends MathNodeCommon {
         
     | 
| 
       341 
346 
     | 
    
         
             
                type: 'ParenthesisNode'
         
     | 
| 
       342 
347 
     | 
    
         
             
                isParenthesisNode: true
         
     | 
| 
       343 
     | 
    
         
            -
                content:  
     | 
| 
      
 348 
     | 
    
         
            +
                content: TContent
         
     | 
| 
       344 
349 
     | 
    
         
             
              }
         
     | 
| 
       345 
350 
     | 
    
         
             
              interface ParenthesisNodeCtor {
         
     | 
| 
       346 
     | 
    
         
            -
                new  
     | 
| 
      
 351 
     | 
    
         
            +
                new <TContent extends MathNode>(
         
     | 
| 
      
 352 
     | 
    
         
            +
                  content: TContent
         
     | 
| 
      
 353 
     | 
    
         
            +
                ): ParenthesisNode<TContent>
         
     | 
| 
       347 
354 
     | 
    
         
             
              }
         
     | 
| 
       348 
355 
     | 
    
         | 
| 
       349 
356 
     | 
    
         
             
              interface RangeNode extends MathNodeCommon {
         
     | 
| 
         @@ -431,6 +438,7 @@ declare namespace math { 
     | 
|
| 
       431 
438 
     | 
    
         
             
                tau: number
         
     | 
| 
       432 
439 
     | 
    
         | 
| 
       433 
440 
     | 
    
         
             
                // Class-like constructors
         
     | 
| 
      
 441 
     | 
    
         
            +
                Node: NodeCtor
         
     | 
| 
       434 
442 
     | 
    
         
             
                AccessorNode: AccessorNodeCtor
         
     | 
| 
       435 
443 
     | 
    
         
             
                ArrayNode: ArrayNodeCtor
         
     | 
| 
       436 
444 
     | 
    
         
             
                AssignmentNode: AssignmentNodeCtor
         
     | 
| 
         @@ -3285,10 +3293,12 @@ declare namespace math { 
     | 
|
| 
       3285 
3293 
     | 
    
         
             
                  factories: FactoryFunctionMap,
         
     | 
| 
       3286 
3294 
     | 
    
         
             
                  config?: ConfigOptions
         
     | 
| 
       3287 
3295 
     | 
    
         
             
                ) => MathJsStatic
         
     | 
| 
       3288 
     | 
    
         
            -
                factory: <T>(
         
     | 
| 
      
 3296 
     | 
    
         
            +
                factory: <T, TDeps extends readonly MathJsFunctionName[]>(
         
     | 
| 
       3289 
3297 
     | 
    
         
             
                  name: string,
         
     | 
| 
       3290 
     | 
    
         
            -
                  dependencies:  
     | 
| 
       3291 
     | 
    
         
            -
                  create: ( 
     | 
| 
      
 3298 
     | 
    
         
            +
                  dependencies: TDeps,
         
     | 
| 
      
 3299 
     | 
    
         
            +
                  create: (
         
     | 
| 
      
 3300 
     | 
    
         
            +
                    injected: Pick<MathJsStatic, Extract<MathJsFunctionName, TDeps[number]>>
         
     | 
| 
      
 3301 
     | 
    
         
            +
                  ) => T,
         
     | 
| 
       3292 
3302 
     | 
    
         
             
                  // eslint-disable-next-line @typescript-eslint/no-explicit-any
         
     | 
| 
       3293 
3303 
     | 
    
         
             
                  meta?: any
         
     | 
| 
       3294 
3304 
     | 
    
         
             
                ) => FactoryFunction<T>
         
     | 
| 
         @@ -3806,22 +3816,7 @@ declare namespace math { 
     | 
|
| 
       3806 
3816 
     | 
    
         
             
              interface MathNodeCommon {
         
     | 
| 
       3807 
3817 
     | 
    
         
             
                isNode: true
         
     | 
| 
       3808 
3818 
     | 
    
         
             
                comment: string
         
     | 
| 
       3809 
     | 
    
         
            -
                type:
         
     | 
| 
       3810 
     | 
    
         
            -
                  | 'AccessorNode'
         
     | 
| 
       3811 
     | 
    
         
            -
                  | 'ArrayNode'
         
     | 
| 
       3812 
     | 
    
         
            -
                  | 'AssignmentNode'
         
     | 
| 
       3813 
     | 
    
         
            -
                  | 'BlockNode'
         
     | 
| 
       3814 
     | 
    
         
            -
                  | 'ConditionalNode'
         
     | 
| 
       3815 
     | 
    
         
            -
                  | 'ConstantNode'
         
     | 
| 
       3816 
     | 
    
         
            -
                  | 'FunctionAssignmentNode'
         
     | 
| 
       3817 
     | 
    
         
            -
                  | 'FunctionNode'
         
     | 
| 
       3818 
     | 
    
         
            -
                  | 'IndexNode'
         
     | 
| 
       3819 
     | 
    
         
            -
                  | 'ObjectNode'
         
     | 
| 
       3820 
     | 
    
         
            -
                  | 'OperatorNode'
         
     | 
| 
       3821 
     | 
    
         
            -
                  | 'ParenthesisNode'
         
     | 
| 
       3822 
     | 
    
         
            -
                  | 'RangeNode'
         
     | 
| 
       3823 
     | 
    
         
            -
                  | 'RelationalNode'
         
     | 
| 
       3824 
     | 
    
         
            -
                  | 'SymbolNode'
         
     | 
| 
      
 3819 
     | 
    
         
            +
                type: string
         
     | 
| 
       3825 
3820 
     | 
    
         | 
| 
       3826 
3821 
     | 
    
         
             
                isUpdateNode?: boolean
         
     | 
| 
       3827 
3822 
     | 
    
         | 
| 
         @@ -3945,9 +3940,9 @@ declare namespace math { 
     | 
|
| 
       3945 
3940 
     | 
    
         
             
                 * transformed.toString(); // returns '(3 ^ 2) + (5 * 3)'
         
     | 
| 
       3946 
3941 
     | 
    
         
             
                 * ```
         
     | 
| 
       3947 
3942 
     | 
    
         
             
                 */
         
     | 
| 
       3948 
     | 
    
         
            -
                transform(
         
     | 
| 
       3949 
     | 
    
         
            -
                  callback: (node:  
     | 
| 
       3950 
     | 
    
         
            -
                ):  
     | 
| 
      
 3943 
     | 
    
         
            +
                transform<TResult>(
         
     | 
| 
      
 3944 
     | 
    
         
            +
                  callback: (node: this, path: string, parent: MathNode) => TResult
         
     | 
| 
      
 3945 
     | 
    
         
            +
                ): TResult
         
     | 
| 
       3951 
3946 
     | 
    
         | 
| 
       3952 
3947 
     | 
    
         
             
                /**
         
     | 
| 
       3953 
3948 
     | 
    
         
             
                 * `traverse(callback)`
         
     | 
    
        package/types/index.ts
    CHANGED
    
    | 
         @@ -28,6 +28,7 @@ import { 
     | 
|
| 
       28 
28 
     | 
    
         
             
              OperatorNodeFn,
         
     | 
| 
       29 
29 
     | 
    
         
             
              OperatorNodeOp,
         
     | 
| 
       30 
30 
     | 
    
         
             
              SymbolNode,
         
     | 
| 
      
 31 
     | 
    
         
            +
              ParenthesisNode,
         
     | 
| 
       31 
32 
     | 
    
         
             
            } from 'mathjs'
         
     | 
| 
       32 
33 
     | 
    
         
             
            import * as assert from 'assert'
         
     | 
| 
       33 
34 
     | 
    
         
             
            import { expectTypeOf } from 'expect-type'
         
     | 
| 
         @@ -825,6 +826,17 @@ Complex numbers examples 
     | 
|
| 
       825 
826 
     | 
    
         
             
              }
         
     | 
| 
       826 
827 
     | 
    
         
             
            }
         
     | 
| 
       827 
828 
     | 
    
         | 
| 
      
 829 
     | 
    
         
            +
            /*
         
     | 
| 
      
 830 
     | 
    
         
            +
            Parenthesis examples
         
     | 
| 
      
 831 
     | 
    
         
            +
            */
         
     | 
| 
      
 832 
     | 
    
         
            +
            {
         
     | 
| 
      
 833 
     | 
    
         
            +
              const math = create(all, {})
         
     | 
| 
      
 834 
     | 
    
         
            +
             
     | 
| 
      
 835 
     | 
    
         
            +
              expectTypeOf(
         
     | 
| 
      
 836 
     | 
    
         
            +
                new math.ParenthesisNode(new math.ConstantNode(3))
         
     | 
| 
      
 837 
     | 
    
         
            +
              ).toMatchTypeOf<ParenthesisNode<ConstantNode>>()
         
     | 
| 
      
 838 
     | 
    
         
            +
            }
         
     | 
| 
      
 839 
     | 
    
         
            +
             
     | 
| 
       828 
840 
     | 
    
         
             
            /*
         
     | 
| 
       829 
841 
     | 
    
         
             
            Expressions examples
         
     | 
| 
       830 
842 
     | 
    
         
             
            */
         
     | 
| 
         @@ -924,6 +936,46 @@ Fractions examples 
     | 
|
| 
       924 
936 
     | 
    
         
             
              const _a = math.fraction('2/3')
         
     | 
| 
       925 
937 
     | 
    
         
             
            }
         
     | 
| 
       926 
938 
     | 
    
         | 
| 
      
 939 
     | 
    
         
            +
            /*
         
     | 
| 
      
 940 
     | 
    
         
            +
            Transform examples
         
     | 
| 
      
 941 
     | 
    
         
            +
            */
         
     | 
| 
      
 942 
     | 
    
         
            +
            {
         
     | 
| 
      
 943 
     | 
    
         
            +
              const math = create(all, {})
         
     | 
| 
      
 944 
     | 
    
         
            +
              {
         
     | 
| 
      
 945 
     | 
    
         
            +
                const myTransform1 = (node: MathNode): OperatorNode<'+', 'add'> =>
         
     | 
| 
      
 946 
     | 
    
         
            +
                  new OperatorNode('+', 'add', [node, new ConstantNode(1)])
         
     | 
| 
      
 947 
     | 
    
         
            +
                const myTransform2 = (
         
     | 
| 
      
 948 
     | 
    
         
            +
                  node: OperatorNode<'+', 'add'>
         
     | 
| 
      
 949 
     | 
    
         
            +
                ): OperatorNode<'-', 'subtract'> =>
         
     | 
| 
      
 950 
     | 
    
         
            +
                  new OperatorNode('-', 'subtract', [node, new ConstantNode(5)])
         
     | 
| 
      
 951 
     | 
    
         
            +
             
     | 
| 
      
 952 
     | 
    
         
            +
                expectTypeOf(
         
     | 
| 
      
 953 
     | 
    
         
            +
                  math.parse('sqrt(3^2 + 4^2)').transform(myTransform1)
         
     | 
| 
      
 954 
     | 
    
         
            +
                ).toMatchTypeOf<OperatorNode<'+', 'add', MathNode[]>>()
         
     | 
| 
      
 955 
     | 
    
         
            +
             
     | 
| 
      
 956 
     | 
    
         
            +
                assert.deepStrictEqual(
         
     | 
| 
      
 957 
     | 
    
         
            +
                  math.parse('sqrt(3^2 + 4^2)').transform(myTransform1).toString(),
         
     | 
| 
      
 958 
     | 
    
         
            +
                  'sqrt(3 ^ 2 + 4 ^ 2) + 1'
         
     | 
| 
      
 959 
     | 
    
         
            +
                )
         
     | 
| 
      
 960 
     | 
    
         
            +
             
     | 
| 
      
 961 
     | 
    
         
            +
                expectTypeOf(
         
     | 
| 
      
 962 
     | 
    
         
            +
                  math
         
     | 
| 
      
 963 
     | 
    
         
            +
                    .parse('sqrt(3^2 + 4^2)')
         
     | 
| 
      
 964 
     | 
    
         
            +
                    .transform(myTransform1)
         
     | 
| 
      
 965 
     | 
    
         
            +
                    .transform(myTransform2)
         
     | 
| 
      
 966 
     | 
    
         
            +
                ).toMatchTypeOf<OperatorNode<'-', 'subtract', MathNode[]>>()
         
     | 
| 
      
 967 
     | 
    
         
            +
             
     | 
| 
      
 968 
     | 
    
         
            +
                assert.deepStrictEqual(
         
     | 
| 
      
 969 
     | 
    
         
            +
                  math
         
     | 
| 
      
 970 
     | 
    
         
            +
                    .parse('sqrt(3^2 + 4^2)')
         
     | 
| 
      
 971 
     | 
    
         
            +
                    .transform(myTransform1)
         
     | 
| 
      
 972 
     | 
    
         
            +
                    .transform(myTransform2)
         
     | 
| 
      
 973 
     | 
    
         
            +
                    .toString(),
         
     | 
| 
      
 974 
     | 
    
         
            +
                  'sqrt(3 ^ 2 + 4 ^ 2) + 1 - 5'
         
     | 
| 
      
 975 
     | 
    
         
            +
                )
         
     | 
| 
      
 976 
     | 
    
         
            +
              }
         
     | 
| 
      
 977 
     | 
    
         
            +
            }
         
     | 
| 
      
 978 
     | 
    
         
            +
             
     | 
| 
       927 
979 
     | 
    
         
             
            /*
         
     | 
| 
       928 
980 
     | 
    
         
             
            Matrices examples
         
     | 
| 
       929 
981 
     | 
    
         
             
            */
         
     |