UNPKG

@tolokoban/tgd

Version:

ToloGameDev library for WebGL2

36 lines 3.12 kB
export function wasm_function_import(func) { var _a; const body = []; if (func.params) { body.push(func.params.map(type => `(param ${type})`).join(" ")); } if (func.results) { body.push(`(result ${func.results.join(" ")})`); } return [ `(func $${func.name} (import ${JSON.stringify(func.moduleName)} ${JSON.stringify((_a = func.moduleFunc) !== null && _a !== void 0 ? _a : func.name)})`, ...body, ")", ]; } export function wasm_function(name, func) { const body = []; if (func.params) { body.push(codeGenericParam("param", func.params)); } if (func.results) { body.push(`(result ${func.results.join(" ")})`); } if (func.locals) { body.push(codeGenericParam("local", func.locals)); } if (func.body) body.push(...func.body); return [`(func $${name}`, body, ")"]; } function codeGenericParam(id, param) { return Object.keys(param) .map(name => `(${id} $${name} ${param[name]})`) .join(" "); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS9mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLFVBQVUsb0JBQW9CLENBQUMsSUFBd0I7O0lBQ3pELE1BQU0sSUFBSSxHQUFnQixFQUFFLENBQUE7SUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUNELE9BQU87UUFDSCxVQUFVLElBQUksQ0FBQyxJQUFJLFlBQVksSUFBSSxDQUFDLFNBQVMsQ0FDekMsSUFBSSxDQUFDLFVBQVUsQ0FDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQUEsSUFBSSxDQUFDLFVBQVUsbUNBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO1FBQ3BELEdBQUcsSUFBSTtRQUNQLEdBQUc7S0FDTixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWSxFQUFFLElBQWtCO0lBQzFELE1BQU0sSUFBSSxHQUFnQixFQUFFLENBQUE7SUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJO1FBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN0QyxPQUFPLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQ3JCLEVBQXFCLEVBQ3JCLEtBQStCO0lBRS9CLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNsQixDQUFDIn0=