Add json output support

This commit is contained in:
lowlighter
2021-03-11 09:17:31 +01:00
parent 86a6fa9090
commit a2215a0c52
6 changed files with 22 additions and 6 deletions

View File

@@ -198,7 +198,7 @@
info.break()
info.group({metadata, name:"core", inputs:config})
info("Plugin errors", die ? "(exit with error)" : "(displayed in generated image)")
const convert = ["jpeg", "png"].includes(config["config.output"]) ? config["config.output"] : null
const convert = ["jpeg", "png", "json"].includes(config["config.output"]) ? config["config.output"] : null
Object.assign(q, config)
//Base content

View File

@@ -53,6 +53,12 @@
console.warn(util.inspect(errors, {depth:Infinity, maxStringLength:256}))
}
//JSON output
if (convert === "json") {
console.debug(`metrics/compute/${login} > json output`)
return {rendered:data, mime:"application/json"}
}
//Rendering
console.debug(`metrics/compute/${login} > render`)
let rendered = await ejs.render(image, {...data, s:imports.s, f:imports.format, style, fonts}, {views, async:true})

View File

@@ -189,7 +189,7 @@
graphql, rest, plugins, conf,
die:q["plugins.errors.fatal"] ?? false,
verify:q.verify ?? false,
convert:["jpeg", "png"].includes(q["config.output"]) ? q["config.output"] : null,
convert:["jpeg", "png", "json"].includes(q["config.output"]) ? q["config.output"] : null,
}, {Plugins, Templates})
//Cache
if ((!debug)&&(cached))