UNPKG

babelute

Version:

Internal Domain Specific (Multi)Modeling javascript framework

34 lines (27 loc) 873 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = fromJSON; var _babelute = require('./babelute'); var _babelute2 = _interopRequireDefault(_babelute); var _lexem = require('./lexem'); var _lexem2 = _interopRequireDefault(_lexem); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * deserialize json to babelute * @param {String} json the json string * @return {Babelute} the deserialized babelute * @throws {Error} If json is badly formated */ // removed in production function fromJSON(json) { return JSON.parse(json, function (k, v) { if (v && v.__babelute__) return new _babelute2.default(v._lexems.map(function (lexem) { return new _lexem2.default(lexem.lexicon, lexem.name, lexem.args); })); return v; }); } /* * @Author: Gilles Coomans */