* Library to wrap GLib.spawn_async_with_pipes
*
* usage:
-*
-* Spawn = import.Spawn;
-*
-* simple version..
-* var output = Spawn.run({
-* cwd : '/home',
-* args : [ 'ls', '-l' ],
-* env : [], // optional
-* listeners : {
- output : function (line) { Seed.print(line); },
-* stderr : function (line) {Seed.print("ERROR" + line); },
-* input : function() { return 'xxx' },
-* }
-* });
-*
-*
-*
-*
+* v
*
-*var output = Spawn.run( SpawnConfig() {
+*var output = new Spawn( SpawnConfig() {
cwd = "/home", // empty string to default to homedirectory.
args = {"ls", "-l" },
evn = {},
delegate string SpawnInput();
-
-struct SpawnConfig
+
struct SpawnConfig {
public string cwd;
public string[] args;
if (!this.cfg.args.length) {
throw "No arguments";
}
+ this.run();
}
}
};
-/**
- * @function run
- *
- * simple run a process - returns result, or throws stderr result...
- * @param cfg {Object} see spawn
- * @return {string} stdout output.
- */
-function run(cfg) {
- cfg.exceptions = true;
- cfg.async = false;
- var s = new Spawn(cfg);
- var ret = s.run();
- return s.output;
-}
- /*
+ /*
// test
try {
Seed.print(run({