From f86a908952c5ae34a0e2ac832ffe43cb4d0ae0cc Mon Sep 17 00:00:00 2001 From: Aylur Date: Wed, 31 Jul 2024 16:07:48 +0200 Subject: fix(process): exec throw stdout as error --- gjs/src/process.ts | 22 +++++----------------- src/process.vala | 9 ++------- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/gjs/src/process.ts b/gjs/src/process.ts index f7ff7b0..577ad99 100644 --- a/gjs/src/process.ts +++ b/gjs/src/process.ts @@ -1,4 +1,4 @@ -import { Astal } from "./imports.js" +import { Astal, GLib } from "./imports.js" type Args = { cmd: string | string[] @@ -36,23 +36,11 @@ export function subprocess( return proc } -export function exec( - args: Args -): Out | Err -export function exec( - cmd: string | string[], - onOut?: (stdout: string) => Out, - onErr?: (stderr: string) => Err, -): Out | Err -export function exec( - argsOrCmd: Args | string | string[], - onOut: (stdout: string) => Out = out => out as Out, - onErr: (stderr: string) => Err = out => out as Err, -): Out | Err { - const { cmd, err, out } = args(argsOrCmd, onOut, onErr) +/** @throws {GLib.Error} Throws stderr */ +export function exec(cmd: string | string[]) { return Array.isArray(cmd) - ? out(Astal.Process.execv(cmd)!) as Out - : err(Astal.Process.exec(cmd)!) as Err + ? Astal.Process.execv(cmd) + : Astal.Process.exec(cmd) } export function execAsync(cmd: string | string[]): Promise { diff --git a/src/process.vala b/src/process.vala index 6e63264..040c44d 100644 --- a/src/process.vala +++ b/src/process.vala @@ -1,5 +1,4 @@ -namespace Astal { -public class Process : Object { +public class Astal.Process : Object { private void read_stream(DataInputStream stream, bool err) { stream.read_line_utf8_async.begin(Priority.DEFAULT, null, (_, res) => { try { @@ -82,7 +81,7 @@ public class Process : Object { if (success) return out_str.strip(); else - throw new ProcessError.FAILED(err_str.strip()); + throw new IOError.FAILED(err_str.strip()); } public static string exec(string cmd) throws Error { @@ -120,7 +119,3 @@ public class Process : Object { return new Process.exec_asyncv(argv); } } -errordomain ProcessError { - FAILED -} -} -- cgit v1.2.3