UNPKG

yoastseo

Version:

Yoast client-side content analysis

44 lines (42 loc) 1.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parse; var _lodash = require("lodash"); var _AssessmentResult = _interopRequireDefault(require("../../values/AssessmentResult")); var _Mark = _interopRequireDefault(require("../../values/Mark")); var _Paper = _interopRequireDefault(require("../../values/Paper")); var _Sentence = _interopRequireDefault(require("../../languageProcessing/values/Sentence")); var _Clause = _interopRequireDefault(require("../../languageProcessing/values/Clause")); var _ProminentWord = _interopRequireDefault(require("../../languageProcessing/values/ProminentWord")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const PARSE_CLASSES = { AssessmentResult: _AssessmentResult.default, Mark: _Mark.default, Paper: _Paper.default, Sentence: _Sentence.default, Clause: _Clause.default, ProminentWord: _ProminentWord.default }; /** * Parses a data structure that has previously been serialized. * * @param {*} thing The data structure to parse. * * @returns {*} The parsed data structure. */ function parse(thing) { if ((0, _lodash.isArray)(thing)) { return thing.map(parse); } const thingIsObject = (0, _lodash.isObject)(thing); if (thingIsObject && thing._parseClass && PARSE_CLASSES[thing._parseClass]) { return PARSE_CLASSES[thing._parseClass].parse(thing); } if (thingIsObject) { return (0, _lodash.mapValues)(thing, value => parse(value)); } return thing; } //# sourceMappingURL=parse.js.map