diff --git a/plugs/template/util.ts b/plugs/template/util.ts index 72789d14..47758c31 100644 --- a/plugs/template/util.ts +++ b/plugs/template/util.ts @@ -3,25 +3,23 @@ import { space, system, template } from "@silverbulletmd/silverbullet/syscalls"; import { cleanTemplate } from "./plug_api.ts"; import { LuaTable, luaToString } from "$common/space_lua/runtime.ts"; -export async function defaultJsonTransformer(v: any): Promise { +export function defaultTransformer(v: any): Promise { if (v === undefined) { - return ""; + return Promise.resolve(""); } if (typeof v === "string") { - return v.replaceAll("\n", " ").replaceAll("|", "\\|"); + return Promise.resolve(v.replaceAll("\n", " ").replaceAll("|", "\\|")); } - if (Array.isArray(v)) { - return (await Promise.all(v.map(defaultJsonTransformer))).join(", "); - } else if (v && typeof v === "object") { - return luaToString(v); + if (v && typeof v === "object") { + return Promise.resolve(luaToString(v)); } - return "" + v; + return Promise.resolve("" + v); } // Nicely format an array of JSON objects as a Markdown table export async function jsonToMDTable( jsonArray: any[], - valueTransformer: (v: any) => Promise = defaultJsonTransformer, + valueTransformer: (v: any) => Promise = defaultTransformer, ): Promise { const headers = new Set(); for (const entry of jsonArray) {