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;