UNPKG

mush-format

Version:

A javascript library that minifies pretty formatted mushcode.

32 lines (27 loc) 883 B
module.exports = async (data, next) => { // process headers data.raw = data.raw.replace(/^#header\s+(.*)\s?=\s?(.*)/gim, (...args) => { data.headers.push({ name: args[1], value: args[2] }); return ""; }); // process footers data.raw = data.raw.replace(/^#footer\s+(.*)\s?=\s?(.*)/gim, (...args) => { data.footers.push({ name: args[1], value: args[2] }); return ""; }); // Look for debug status. for (const header of data.headers) { if (header.name.toLowerCase() === "debug") { data.headers.splice(data.headers.indexOf(header), 1); return (data.debug = header.value.toLowerCase() === "true" ? true : false); } } // Check for debug blocks. data.raw = data.raw.replace(/^#debug{([^}]+)}/gim, (...args) => { if (data.debug) { return arg[1]; } }); next(null, data); };