I have an appwrite function where i define a map and add some keys and values. For testing purposes i tried to log the map but the problem is that the result of the log is always '{}' even if the map is filled.
i just created a node 18 function where i pasted this code.
const m = new Map();
// result is '{}' as expected
console.log('m:');
console.log(m);
m.set("a", 1);
m.set("b", 2);
m.set("c", 3);
// result is '{}' which is not expected.
// I am expecting '{a: 1, b: 2, c: 3}'
console.log('m:');
console.log(m);
// result is '[1,2,3]' as expected
console.log("Array.from(m.values())");
console.log(Array.from(m.values()));
// result is '[a,b,c]' as expected
console.log("Array.from(m.keys())");
console.log(Array.from(m.keys()));
the result of the appwrite console is:
m:
{}
m:
{} <-- this should be filled while logging
Array.from(m.values())
[1,2,3]
Array.from(m.keys())
["a","b","c"]
m.get("a")
1
m.has("a"):
true
I find this behaviour very strange and unexpected. I am logging the map in an larger function for developing purpose. Is this behaviour expected?
Note: I am still on appwrite version 1.3.7
The logs use JSON.stringify() on objects but some objects don't handle that well. That's probably what's going on. You can try doing m.toString() or you'd have to manually print out the map.
Thank you very much.
JSON.stringify() just outputs [object Object].
What works is this: console.log(Object.fromEntries(m))
[SOLVED] Node Function Map log is always empty
Recommended threads
- Deployed to live, but functions only wor...
Deployed my serveless functions, noticed a request is only sent when I switch on my vpn, I have a feeling it's an ip related thing, I'd like some help troublesh...
- Hi, I'm getting this error while deployi...
✗ Error • search (6937cb70002c2e9c1a97) • Fai ✗ Error: Deployment of search has failed. Check at https://cloud.appwrite.io/console/project-693...
- Timed out waiting for runtime. Error Cod...
After setting up my ML project that uses deepface and tensorflow in appwrite functions I get the `Timed out waiting for runtime. Error Code: 400. ` error. I am...