Skip to content

Commit 83a5eef

Browse files
JacksonTianBridgeAR
authored andcommitted
lib: simplify the readonly properties of icu
Call Object.defineProperty() twice to set readonly property is unnecessary. PR-URL: #13221 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]>
1 parent c7dda49 commit 83a5eef

File tree

2 files changed

+9
-18
lines changed

2 files changed

+9
-18
lines changed

lib/internal/bootstrap_node.js

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -431,28 +431,13 @@
431431
// of possible types.
432432
const versionTypes = icu.getVersion().split(',');
433433

434-
function makeGetter(name) {
435-
return () => {
436-
// With an argument, getVersion(type) returns
437-
// the actual version string.
438-
const version = icu.getVersion(name);
439-
// Replace the current getter with a new property.
440-
delete process.versions[name];
441-
Object.defineProperty(process.versions, name, {
442-
value: version,
443-
writable: false,
444-
enumerable: true
445-
});
446-
return version;
447-
};
448-
}
449-
450434
for (var n = 0; n < versionTypes.length; n++) {
451435
var name = versionTypes[n];
436+
const version = icu.getVersion(name);
452437
Object.defineProperty(process.versions, name, {
453-
configurable: true,
438+
writable: false,
454439
enumerable: true,
455-
get: makeGetter(name)
440+
value: version
456441
});
457442
}
458443
}

test/parallel/test-process-versions.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,9 @@ assert(commonTemplate.test(process.versions.zlib));
3232
assert(/^\d+\.\d+\.\d+(?:\.\d+)?(?: \(candidate\))?$/
3333
.test(process.versions.v8));
3434
assert(/^\d+$/.test(process.versions.modules));
35+
36+
for (let i = 0; i < expected_keys.length; i++) {
37+
const key = expected_keys[i];
38+
const descriptor = Object.getOwnPropertyDescriptor(process.versions, key);
39+
assert.strictEqual(descriptor.writable, false);
40+
}

0 commit comments

Comments
 (0)