From deff09b0fe40f5e79bda011c560e09d1428342c6 Mon Sep 17 00:00:00 2001 From: Jalal azimi Date: Fri, 29 Dec 2023 18:09:13 +0000 Subject: [PATCH] chore: cache arguments/array lengths (#26) * feat: enhance performance * chore: undo Extracting k to the outer level Co-authored-by: Sukka * Apply suggestions from code review --------- Co-authored-by: Sukka Co-authored-by: Luke Edwards --- src/index.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/index.js b/src/index.js index adc2673..4f5076c 100644 --- a/src/index.js +++ b/src/index.js @@ -5,7 +5,8 @@ function toVal(mix) { str += mix; } else if (typeof mix === 'object') { if (Array.isArray(mix)) { - for (k=0; k < mix.length; k++) { + var len=mix.length; + for (k=0; k < len; k++) { if (mix[k]) { if (y = toVal(mix[k])) { str && (str += ' '); @@ -27,9 +28,9 @@ function toVal(mix) { } export function clsx() { - var i=0, tmp, x, str=''; - while (i < arguments.length) { - if (tmp = arguments[i++]) { + var i=0, tmp, x, str='', len=arguments.length; + for (; i < len; i++) { + if (tmp = arguments[i]) { if (x = toVal(tmp)) { str && (str += ' '); str += x