refactored domain processing code to improve performance and memory usage

This commit is contained in:
Viet Huynh
2023-11-19 17:46:39 +07:00
parent 6eb55bf6a1
commit 70a2dfa89f
2 changed files with 34 additions and 44 deletions
+9 -9
View File
@@ -19,18 +19,18 @@ export const isValidDomain = (value) =>
* @param {string} domain The domain to be extracted.
* @returns {string[]}
*/
export const extractDomain = (domain) =>
domain.split(".").reduce((previous, current, index, array) => {
const nextIndex = index + 1;
export const extractDomain = (domain) => {
const parts = domain.split(".");
const extractedDomains = [];
if (nextIndex > array.length - 1) return previous;
for (let i = 0; i < parts.length; i++) {
const subdomains = parts.slice(i).join(".");
const domain = [current, ...array.slice(nextIndex)].join(".");
extractedDomains.unshift(subdomains);
}
previous.push(domain);
return previous;
}, []);
return extractedDomains;
};
/**
* Checks if the value is a comment.