/** * * @param {any} str */ function log(str) { console.log(JSON.stringify(str, undefined, 4)) } /** * convert object to string * @param {any} obj object */ function obj2str(obj) { if (Array.isArray(obj)) { return JSON.stringify( obj.map(function (idx) { return obj2str(idx) }) ) } else if (typeof obj === "object" && obj !== null) { var elements = Object.keys(obj) .sort() .map(function (key) { var val = obj2str(obj[key]) if (val) { return key + ":" + val } }) var elementsCleaned = [] for (var i = 0; i < elements.length; i++) { if (elements[i]) elementsCleaned.push(elements[i]) } return "{" + elementsCleaned.join("|") + "}" } if (obj) return obj } /** * clear SSR cache */ function clearSSRCache() { var info = context.db.deleteMany("ssr", {}) context.response.header("X-SSR-Cleared", info.removed) } module.exports = { log, clearSSRCache, obj2str, }