mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
wasi: refactor to avoid unsafe array iteration
PR-URL: https://github.com/nodejs/node/pull/36724 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
9e1e89000d
commit
08d8958a35
19
lib/wasi.js
19
lib/wasi.js
@ -1,5 +1,6 @@
|
||||
'use strict';
|
||||
const {
|
||||
ArrayPrototypeForEach,
|
||||
ArrayPrototypeMap,
|
||||
ArrayPrototypePush,
|
||||
FunctionPrototypeBind,
|
||||
@ -62,18 +63,22 @@ class WASI {
|
||||
const env = [];
|
||||
if (options.env !== undefined) {
|
||||
validateObject(options.env, 'options.env');
|
||||
for (const [key, value] of ObjectEntries(options.env)) {
|
||||
if (value !== undefined)
|
||||
ArrayPrototypePush(env, `${key}=${value}`);
|
||||
}
|
||||
ArrayPrototypeForEach(
|
||||
ObjectEntries(options.env),
|
||||
({ 0: key, 1: value }) => {
|
||||
if (value !== undefined)
|
||||
ArrayPrototypePush(env, `${key}=${value}`);
|
||||
});
|
||||
}
|
||||
|
||||
const preopens = [];
|
||||
if (options.preopens !== undefined) {
|
||||
validateObject(options.preopens, 'options.preopens');
|
||||
for (const [key, value] of ObjectEntries(options.preopens)) {
|
||||
ArrayPrototypePush(preopens, String(key), String(value));
|
||||
}
|
||||
ArrayPrototypeForEach(
|
||||
ObjectEntries(options.preopens),
|
||||
({ 0: key, 1: value }) =>
|
||||
ArrayPrototypePush(preopens, String(key), String(value))
|
||||
);
|
||||
}
|
||||
|
||||
const { stdin = 0, stdout = 1, stderr = 2 } = options;
|
||||
|
Loading…
Reference in New Issue
Block a user