UNPKG

@gent-js/gent

Version:

template-based data generator.

27 lines (26 loc) 892 B
import { createJsonableTransformer, parseJsonable, stringifyJsonable, } from "./json/index.js"; export function buildDocumentFromJsonTemplate(templateString, commandManager, documentOptions) { const jsonableTransformer = createJsonableTransformer(commandManager, documentOptions); const jsonableValue = parseJsonable(templateString, jsonableTransformer); if (jsonableValue === undefined) { return []; } return [new JsonDocumentFragmentImpl(jsonableValue)]; } class JsonDocumentFragmentImpl { jsonableValue; constructor(jsonableValue) { this.jsonableValue = jsonableValue; } toString(context) { let json; try { json = stringifyJsonable(this.jsonableValue, "", context); } catch (error) { console.error(error); json = undefined; } return json ?? ""; } }