UNPKG

docxml

Version:

TypeScript (component) library for building and parsing a DOCX file

30 lines (29 loc) 1.05 kB
import fontoxpath from 'fontoxpath'; import { Registry } from './Registry.js'; export class Renderer extends Registry { constructor(factory, ...sets) { super(...sets); Object.defineProperty(this, "factory", { enumerable: true, configurable: true, writable: true, value: void 0 }); this.factory = factory; } render(node, additionalProps) { return (function recurse(registry, factory, node) { const props = { node, traverse: (query = './node()') => fontoxpath .evaluateXPathToNodes(query, node, null, additionalProps || {}, { language: fontoxpath.evaluateXPath.XQUERY_3_1_LANGUAGE, }) .map((n) => recurse(registry, factory, n)) .filter((o) => o !== null), ...(additionalProps || {}), }; return factory(registry.find(node), props); })(this, this.factory, node); } }