mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
lib: refactor crypto cipher/hash/curve getters
* refactor internal util.filterDuplicateStrings() to eliminate unused code paths * `.indexOf()` -> `.includes()` in test * more concise arrow functions PR-URL: https://github.com/nodejs/node/pull/10682 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michal Zasso <targos@protonmail.com>
This commit is contained in:
parent
f1253e8627
commit
022b53c9de
@ -637,17 +637,17 @@ exports.randomBytes = exports.pseudoRandomBytes = randomBytes;
|
||||
|
||||
exports.rng = exports.prng = randomBytes;
|
||||
|
||||
exports.getCiphers = internalUtil.cachedResult(() => {
|
||||
return internalUtil.filterDuplicateStrings(getCiphers());
|
||||
});
|
||||
exports.getCiphers = internalUtil.cachedResult(
|
||||
() => internalUtil.filterDuplicateStrings(getCiphers())
|
||||
);
|
||||
|
||||
exports.getHashes = internalUtil.cachedResult(() => {
|
||||
return internalUtil.filterDuplicateStrings(getHashes());
|
||||
});
|
||||
exports.getHashes = internalUtil.cachedResult(
|
||||
() => internalUtil.filterDuplicateStrings(getHashes())
|
||||
);
|
||||
|
||||
exports.getCurves = internalUtil.cachedResult(() => {
|
||||
return internalUtil.filterDuplicateStrings(getCurves());
|
||||
});
|
||||
exports.getCurves = internalUtil.cachedResult(
|
||||
() => internalUtil.filterDuplicateStrings(getCurves())
|
||||
);
|
||||
|
||||
Object.defineProperty(exports, 'fips', {
|
||||
get: getFipsCrypto,
|
||||
|
@ -134,20 +134,14 @@ exports.normalizeEncoding = function normalizeEncoding(enc) {
|
||||
// Filters duplicate strings. Used to support functions in crypto and tls
|
||||
// modules. Implemented specifically to maintain existing behaviors in each.
|
||||
exports.filterDuplicateStrings = function filterDuplicateStrings(items, low) {
|
||||
if (!Array.isArray(items))
|
||||
return [];
|
||||
const len = items.length;
|
||||
if (len <= 1)
|
||||
return items;
|
||||
const map = new Map();
|
||||
for (var i = 0; i < len; i++) {
|
||||
for (var i = 0; i < items.length; i++) {
|
||||
const item = items[i];
|
||||
const key = item.toLowerCase();
|
||||
if (low) {
|
||||
map.set(key, key);
|
||||
} else {
|
||||
if (!map.has(key) || map.get(key) <= item)
|
||||
map.set(key, item);
|
||||
map.set(key, item);
|
||||
}
|
||||
}
|
||||
return Array.from(map.values()).sort();
|
||||
|
@ -312,7 +312,7 @@ const ciphers = crypto.getCiphers();
|
||||
for (const i in TEST_CASES) {
|
||||
const test = TEST_CASES[i];
|
||||
|
||||
if (ciphers.indexOf(test.algo) === -1) {
|
||||
if (!ciphers.includes(test.algo)) {
|
||||
common.skip('unsupported ' + test.algo + ' test');
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user