From 3b157000f15065847d1489ad5280d0407e675b1b Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Tue, 8 Feb 2022 18:10:10 +0900 Subject: [PATCH] Update std.js --- lib/std.js | 50 ++++++++++++++------------------------------------ 1 file changed, 14 insertions(+), 36 deletions(-) diff --git a/lib/std.js b/lib/std.js index 5b9e2a8..f22dc15 100644 --- a/lib/std.js +++ b/lib/std.js @@ -10,7 +10,6 @@ ///////////////////////////////////////////////////////////////////////////////// // Polyfills ///////////////////////////////////////////////////////////////////////////////// - if (!Function.prototype.GetResource) { Function.prototype.GetResource = function(ResourceName) { if (!this.Resources) { @@ -28,37 +27,16 @@ if (!Function.prototype.GetResource) { } } -// MS JScript Enumerator to Array if (!Enumerator.prototype.toArray) { Enumerator.prototype.toArray = function() { - var a = []; + var items = []; for (; !this.atEnd(); this.moveNext()) { - var x = {}; - var b = new Enumerator(this.item().Properties_); - for (; !b.atEnd(); b.moveNext()) { - var c = b.item(); - if (typeof c.value !== "unknown") { - try { - x[c.name] = c.value.toString(); - } catch (e) { - x[c.name] = c.value; - } - } else { - var i = 0, d = []; - while (true) { - try { - d.push(c.value(i)); - i++; - } catch (e) { - break; - } - } - x[c.name] = d; - } - } - a.push(x); + var item = this.item(); + try { + items.push(item); + } catch (e) {} } - return a; + return items; }; } @@ -72,7 +50,7 @@ global.GetResource = function(ResourceName) { // [lib/std] the time of `sleep()' function is not accuracy #34 global.sleep = function(ms, callback) { - var handler = null; + var handler = null; var cur = Date.now(); var end = cur + ms; @@ -100,24 +78,24 @@ global.sleep = function(ms, callback) { }; global.repeat = function(ms, callback) { - var handler = null; - + var handler = null; + var cur = Date.now(); var end = cur + ms; if (typeof WScript !== "undefined") { while (cur < end) { - sleep(callback().ms); - cur = Date.now(); - } - end = Date.now(); + sleep(callback().ms); + cur = Date.now(); + } + end = Date.now(); } else if (typeof window !== "undefined") { if (typeof callback === "function") handler = setInterval(callback, ms) ; } - return { 'ms': end, 'handler': handler }; + return { 'ms': end, 'handler': handler }; }; global.CHR = function(ord) {