diff --git a/JS/jsonnet/src/jsonnet.js b/JS/jsonnet/src/jsonnet.js index 802cb71f..a57be778 100644 --- a/JS/jsonnet/src/jsonnet.js +++ b/JS/jsonnet/src/jsonnet.js @@ -83,15 +83,15 @@ if (!isArakoo) { let vm = this.#getVm(); return __jsonnet_evaluate_file(vm, filename); } - + javascriptCallback(name, func) { let numOfArgs = func.length; console.debug("Constructor name is: ", func.constructor.name); - if (func.constructor && func.constructor.name === "AsyncFunction"){ - console.debug("In if part") + if (func.constructor && func.constructor.name === "AsyncFunction") { + console.debug("In if part"); if (numOfArgs > 0) { - this.#setFunc(name,async (args) => { - console.debug("Args recieved in async function: ", args) + this.#setFunc(name, async (args) => { + console.debug("Args recieved in async function: ", args); let result = await eval(func)(...JSON.parse(args)); return result.toString(); }); @@ -102,10 +102,10 @@ if (!isArakoo) { }); } } else { - console.debug("In else part") + console.debug("In else part"); if (numOfArgs > 0) { this.#setFunc(name, (args) => { - console.debug("Args recieved: ", args) + console.debug("Args recieved: ", args); let result = eval(func)(...JSON.parse(args)); return result.toString(); }); diff --git a/JS/wasm/examples/ec-wasmjs-hono/src/index.js b/JS/wasm/examples/ec-wasmjs-hono/src/index.js index 1a67c433..e89bceff 100644 --- a/JS/wasm/examples/ec-wasmjs-hono/src/index.js +++ b/JS/wasm/examples/ec-wasmjs-hono/src/index.js @@ -8,7 +8,7 @@ let jsonnet = new Jsonnet(); const app = new Hono(); function greet() { - return "Hello from JS"; + return "Hello from JS"; } const env = {}; @@ -33,7 +33,7 @@ app.get("/", (c) => { }); app.get("/func", (c) => { - const code = ` + const code = ` local username = std.extVar('name'); local Person(name='Alice') = { name: name, @@ -44,38 +44,42 @@ app.get("/func", (c) => { person2: Person('Bob'), result : arakoo.native("greet")() }`; - let result = jsonnet.extString("name", "ll").javascriptCallback("greet", greet).evaluateSnippet(code); - return c.json(JSON.parse(result)); + let result = jsonnet + .extString("name", "ll") + .javascriptCallback("greet", greet) + .evaluateSnippet(code); + return c.json(JSON.parse(result)); }); app.get("/async-func/:id", async (c) => { - let id = c.req.param("id"); - async function asyncGetAtodo(id) { - try { - let response = await fetch(`https://jsonplaceholder.typicode.com/todos/${id}`); - let body = await response.json(); - return JSON.stringify(body); - } catch (error) { - console.log("error occured"); - console.log(error); - return c.json(output); + let id = c.req.param("id"); + async function asyncGetAtodo(id) { + try { + let response = await fetch(`https://jsonplaceholder.typicode.com/todos/${id}`); + let body = await response.json(); + return JSON.stringify(body); + } catch (error) { + console.log("error occured"); + console.log(error); + return c.json(output); + } } - } - let result = jsonnet.extString("id", id).javascriptCallback("getAtodo", asyncGetAtodo).evaluateSnippet(` + let result = jsonnet.extString("id", id).javascriptCallback("getAtodo", asyncGetAtodo) + .evaluateSnippet(` local todo = std.parseJson(arakoo.native("getAtodo")(std.extVar("id"))); { result : todo.title }`); - return c.json(JSON.parse(result)); + return c.json(JSON.parse(result)); }); app.get("/add", (c) => { - function add(arg1, arg2, arg3) { - console.log("Args recieved: ", arg1, arg2, arg3); - return arg1 + arg2 + arg3; - } - const code = ` + function add(arg1, arg2, arg3) { + console.log("Args recieved: ", arg1, arg2, arg3); + return arg1 + arg2 + arg3; + } + const code = ` local username = std.extVar('name'); local Person(name='Alice') = { name: name, @@ -86,8 +90,11 @@ app.get("/add", (c) => { person2: Person('Bob'), result : arakoo.native("add")(1,2,3) }`; - let result = jsonnet.extString("name", "ll").javascriptCallback("add", add).evaluateSnippet(code); - return c.json(JSON.parse(result)); + let result = jsonnet + .extString("name", "ll") + .javascriptCallback("add", add) + .evaluateSnippet(code); + return c.json(JSON.parse(result)); }); app.get("/file", (c) => {