flexbiz-server
Version:
Flexible Server
4 lines (3 loc) • 1.24 kB
JavaScript
'use strict';const fs=require("fs"),pug=require("pug"),docx=require("docx-templates").default,ngcompile=require("ng-node-compile"),ejs=require("ejs"),moment=require("moment"),numeral=require("numeral");
module.exports=async function($template$$,$_data$$,$callback$$){const $data$$={...$_data$$,...configs};if(!fs.existsSync($template$$))return $callback$$("Do not find the template file");switch($template$$.split(".").pop().toLowerCase()){case "pug":$callback$$(null,pug.renderFile($template$$,{data:$data$$,moment,numeral}));break;case "docx":try{const $data_docx$$=fs.readFileSync($template$$),$buffer$$=await docx({template:$data_docx$$,data:$data$$,cmdDelimiter:["{{","}}"]});$callback$$(null,$buffer$$)}catch($e$$){$callback$$($e$$)}break;
case "ng":fs.readFile($template$$,function($error$$,$html$$){if($error$$)return $callback$$($error$$);try{let $ngEnviorment$$=new ngcompile([]);$callback$$(null,$ngEnviorment$$.$compile($html$$.toString())($data$$))}catch($e$$){$callback$$($e$$)}});break;default:fs.readFile($template$$,function($error$$,$html$$){if($error$$)return $callback$$($error$$);try{let $rs$$=ejs.render($html$$.toString(),{data:$data$$,moment,numeral});$callback$$(null,$rs$$)}catch($e$$){$callback$$($e$$)}})}};