Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import { outputHTML, } from './main'; import path from 'path'; /** * Use JSONX for express view rendering * @param {string} filePath - path to jsonx express view * @param {object} options - property used for express view {locals} * @param {object} options.__boundConfig - property used to bind this object for JSONX, can be used to add custom components * @param {string} [options.__DOCTYPE="<!DOCTYPE html>"] - html doctype string * @param {*} callback */ export function __express(filePath, options, callback) { try { const jsonxModule = options.__jsonx || require(filePath); const resources = Object.assign({}, options); delete resources.__boundConfig; delete resources.__DOCTYPE; delete resources.__jsonx; const context = Object.assign({}, options.__boundConfig); if (path.extname('.json')) context.useJSON = true; const jsonxRenderedString = outputHTML.call(context, { jsonx: jsonxModule, resources, }); const template = `${options.__DOCTYPE || '<!DOCTYPE html>'} ${jsonxRenderedString}`; if (typeof callback === 'function') callback(null, template); else return template; } catch (e) { if (typeof callback === 'function') callback(e); else throw e; } } |