@foxpage/foxpage-core
Version:
foxpage core
43 lines (42 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MaterialParser = void 0;
const foxpage_shared_1 = require("@foxpage/foxpage-shared");
class MaterialParser {
/**
* parse
*
* @param {Context} ctx
*/
parse(ctx) {
const materials = ctx.getOrigin(foxpage_shared_1.ContentType.MATERIAL);
materials === null || materials === void 0 ? void 0 : materials.forEach(item => {
if (item.fileId) {
const result = this.parseOne(item, ctx);
ctx.updateResource(foxpage_shared_1.ContentType.MATERIAL, item.fileId, {
content: item,
parsed: result.content,
parseMessages: result.parseMessages,
parseStatus: result.parseStatus,
});
}
});
}
parseOne(material, _ctx) {
var _a;
const result = {
parseStatus: true,
parseMessages: [],
};
if (!material) {
result.parsed = false;
result.parseMessages = ['material is null'];
return result;
}
result.parsed = true;
// props is the content
result.content = (((_a = material.schemas[0]) === null || _a === void 0 ? void 0 : _a.props) || {});
return result;
}
}
exports.MaterialParser = MaterialParser;