simple-squiggle

A restricted subset of Squiggle
Log | Files | Refs | README

diff.transform.js (1050B)


      1 import { factory } from '../../utils/factory.js';
      2 import { errorTransform } from './utils/errorTransform.js';
      3 import { createDiff } from '../../function/matrix/diff.js';
      4 import { lastDimToZeroBase } from './utils/lastDimToZeroBase.js';
      5 var name = 'diff';
      6 var dependencies = ['typed', 'matrix', 'subtract', 'number', 'bignumber'];
      7 export var createDiffTransform = /* #__PURE__ */factory(name, dependencies, _ref => {
      8   var {
      9     typed,
     10     matrix,
     11     subtract,
     12     number,
     13     bignumber
     14   } = _ref;
     15   var diff = createDiff({
     16     typed,
     17     matrix,
     18     subtract,
     19     number,
     20     bignumber
     21   });
     22   /**
     23    * Attach a transform function to math.diff
     24    * Adds a property transform containing the transform function.
     25    *
     26    * This transform creates a range which includes the end value
     27    */
     28 
     29   return typed(name, {
     30     '...any': function any(args) {
     31       args = lastDimToZeroBase(args);
     32 
     33       try {
     34         return diff.apply(null, args);
     35       } catch (err) {
     36         throw errorTransform(err);
     37       }
     38     }
     39   });
     40 }, {
     41   isTransformFunction: true
     42 });