simple-squiggle

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

reviver.js (789B)


      1 "use strict";
      2 
      3 Object.defineProperty(exports, "__esModule", {
      4   value: true
      5 });
      6 exports.createReviver = void 0;
      7 
      8 var _factory = require("../utils/factory.js");
      9 
     10 var name = 'reviver';
     11 var dependencies = ['classes'];
     12 var createReviver = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
     13   var classes = _ref.classes;
     14 
     15   /**
     16    * Instantiate mathjs data types from their JSON representation
     17    * @param {string} key
     18    * @param {*} value
     19    * @returns {*} Returns the revived object
     20    */
     21   return function reviver(key, value) {
     22     var constructor = classes[value && value.mathjs];
     23 
     24     if (constructor && typeof constructor.fromJSON === 'function') {
     25       return constructor.fromJSON(value);
     26     }
     27 
     28     return value;
     29   };
     30 });
     31 exports.createReviver = createReviver;