Simplify argument retrieval from WScript

Refactor argument handling for WScript in app.js.
This commit is contained in:
Namhyeon Go 2026-04-12 16:51:10 +09:00 committed by GitHub
parent c7f1d6675b
commit 252da80548
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

36
app.js
View File

@ -36,16 +36,7 @@ var console = {
} }
return res; return res;
}, },
_useStdin: (function() {
if (typeof WScript !== "undefined") {
return WScript.Arguments.Named.Exists("stdin");
}
return false;
})(),
_echoDefault: function(message) { _echoDefault: function(message) {
if (this._useStdin)
return;
if (typeof WScript !== "undefined") { if (typeof WScript !== "undefined") {
WScript.StdOut.WriteLine("[*] " + message); WScript.StdOut.WriteLine("[*] " + message);
} }
@ -730,13 +721,14 @@ function initializeConsole() {
console.error("This is not a console application"); console.error("This is not a console application");
return; return;
} }
var argl = WScript.arguments.length; var args = (function(acc, length) {
if (argl > 0) { for (var i = 0; i < length; i++)
var args = []; acc.push(WScript.arguments(i));
for (var i = 0; i < argl; i++) { return acc;
args.push(WScript.arguments(i)); })([], WScript.arguments.length);
}
if (args.length > 0) {
var name = args.shift(); var name = args.shift();
var app = require(name); var app = require(name);
if (app) { if (app) {
@ -785,14 +777,12 @@ function initializeWindow(name, args, w, h) {
function dispatchServiceEvent(name, eventType, w_args, argl) { function dispatchServiceEvent(name, eventType, w_args, argl) {
var app = require(name); var app = require(name);
var args = []; var args = (function(acc, length) {
for (var i = 0; i < argl; i++)
acc.push(w_args(i));
return acc;
})([], argl);
// convert the arguments to Array
for (var i = 0; i < argl; i++) {
args.push(w_args(i));
}
// load the service
if (app) { if (app) {
var bind = function(eventType) { var bind = function(eventType) {
var event_callback_name = "on" + eventType; var event_callback_name = "on" + eventType;