Update std.js

This commit is contained in:
Namhyeon Go 2022-02-08 18:13:10 +09:00 committed by GitHub
parent 3b157000f1
commit 0f5b25c5aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,6 +10,7 @@
/////////////////////////////////////////////////////////////////////////////////
// Polyfills
/////////////////////////////////////////////////////////////////////////////////
if (!Function.prototype.GetResource) {
Function.prototype.GetResource = function(ResourceName) {
if (!this.Resources) {
@ -27,16 +28,37 @@ if (!Function.prototype.GetResource) {
}
}
// MS JScript Enumerator to Array
if (!Enumerator.prototype.toArray) {
Enumerator.prototype.toArray = function() {
var items = [];
var a = [];
for (; !this.atEnd(); this.moveNext()) {
var item = this.item();
try {
items.push(item);
} catch (e) {}
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);
}
return items;
return a;
};
}
@ -189,7 +211,7 @@ var StdEventableObject = function() {
};
};
exports.VERSIONINFO = "Standard Lib (std.js) version 0.3";
exports.VERSIONINFO = "Standard Lib (std.js) version 0.4";
exports.global = global;
exports.require = global.require;