reviver.js 620 B

123456789101112131415161718192021
  1. import { factory } from '../utils/factory.js';
  2. var name = 'reviver';
  3. var dependencies = ['classes'];
  4. export var createReviver = /* #__PURE__ */factory(name, dependencies, _ref => {
  5. var {
  6. classes
  7. } = _ref;
  8. /**
  9. * Instantiate mathjs data types from their JSON representation
  10. * @param {string} key
  11. * @param {*} value
  12. * @returns {*} Returns the revived object
  13. */
  14. return function reviver(key, value) {
  15. var constructor = classes[value && value.mathjs];
  16. if (constructor && typeof constructor.fromJSON === 'function') {
  17. return constructor.fromJSON(value);
  18. }
  19. return value;
  20. };
  21. });