I am writing an extension for the gnome-shell. The javascript extension spawns a sql query and captures the output on standard output. In cases where the sql query evaluates to 0 tuples/records my extension is crashing.
Below is the code snippet.
let [success, out, err, error] = GLib.spawn_sync(null, ["sqlite3", "-line", places, sqlQuery], null, 4, null);
let result = out.toString(); // Crashing here for 0 tuples. I was expecting 'result = ""'
I am a javascript newbie. I am not understanding how the object out should be handled in this scenario. The object is not null; nor is it undefined.
typeof out == null // false
typeof out == undefined // false
typeof out == "object" // true
EDIT
typeof out == "null" // false
typeof out == "undefined" // false
typeof out == "object" // true
I found out that I could prevent the crash if I did the following
I don’t understand why
out.toString()couldn’t give me an empty string instead of crashing, yet. Hoping I will as I learn more about javascript and glib.