babelute
Version:
Internal Domain Specific (Multi)Modeling javascript framework
34 lines (27 loc) • 873 B
JavaScript
;
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
*/