UNPKG

@fibery/ai-utils

Version:

Utilities for Fibery AI

45 lines 1.65 kB
import * as ejs from 'ejs'; import _ from 'lodash'; // noinspection ES6PreferShortImport import { templates } from './templates/index.js'; export const getDataToRenderTemplate = ({ processedTypes }) => { const data = { schema: _.cloneDeep(processedTypes) }; data.types = _.keys(data.schema).map((typeName) => { const fields = []; _.keys(data.schema[typeName].fields).forEach((fieldName) => { const processedField = data.schema[typeName].fields[fieldName]; const refType = processedField.type; const formulaText = processedField.formulaText ? `${processedField.formulaText}` : ''; const defaultValue = processedField.defaultValue ? `${processedField.defaultValue}` : null; const field = { name: fieldName, type: refType, values: processedField.values || null, formulaText, defaultValue, }; fields.push(field); }); return { name: typeName, description: data.schema[typeName].description, fields, }; }); return data; }; export const renderToString = async (params) => { const { template, data } = params; const templateString = templates[template]; if (!templateString) { throw new Error(`Template '${template}' not found`); } try { const rendered = ejs.render(templateString, data); return rendered.trim(); } catch (err) { throw new Error(`Failed to render template '${template}': ${err}`); } }; //# sourceMappingURL=templates.js.map