From cd67383c0df13c9eb852c797948ed4b7c6ee30c8 Mon Sep 17 00:00:00 2001 From: hovelopin Date: Thu, 23 Nov 2023 18:14:17 +0900 Subject: [PATCH 1/2] fix : undefined trim error --- react-multi-email/ReactMultiEmail.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/react-multi-email/ReactMultiEmail.tsx b/react-multi-email/ReactMultiEmail.tsx index 9c1214f..80938ed 100644 --- a/react-multi-email/ReactMultiEmail.tsx +++ b/react-multi-email/ReactMultiEmail.tsx @@ -102,6 +102,7 @@ export function ReactMultiEmail(props: IReactMultiEmailProps) { const arr = [...setArr]; do { + if (arr[0] === undefined) return; const validateResult = isEmail('' + arr[0].trim()); if (typeof validateResult === 'boolean') { @@ -112,7 +113,7 @@ export function ReactMultiEmail(props: IReactMultiEmailProps) { const validateResultWithDisplayName = isEmail('' + arr[0].trim(), { allowDisplayName }); if (validateResultWithDisplayName) { // Strip display name from email formatted as such "First Last " - const email = stripDisplayName ? arr.shift()?.split("<")[1].split(">")[0] : arr.shift(); + const email = stripDisplayName ? arr.shift()?.split('<')[1].split('>')[0] : arr.shift(); addEmails('' + email); } else { if (arr.length === 1) { From b781db185ea519a127db22b383f4d94c0e1a04ea Mon Sep 17 00:00:00 2001 From: hovelopin Date: Fri, 24 Nov 2023 10:13:16 +0900 Subject: [PATCH 2/2] fix: change do-while -> while fix : remove unnecessary console --- react-multi-email/ReactMultiEmail.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/react-multi-email/ReactMultiEmail.tsx b/react-multi-email/ReactMultiEmail.tsx index 80938ed..7cc7ee4 100644 --- a/react-multi-email/ReactMultiEmail.tsx +++ b/react-multi-email/ReactMultiEmail.tsx @@ -101,10 +101,8 @@ export function ReactMultiEmail(props: IReactMultiEmailProps) { const setArr = new Set(value.split(re).filter(n => n)); const arr = [...setArr]; - do { - if (arr[0] === undefined) return; + while (arr.length) { const validateResult = isEmail('' + arr[0].trim()); - if (typeof validateResult === 'boolean') { if (validateResult) { addEmails('' + arr.shift()?.trim()); @@ -129,7 +127,6 @@ export function ReactMultiEmail(props: IReactMultiEmailProps) { } else { // handle promise setSpinning(true); - if ((await validateEmail?.(value)) === true) { addEmails('' + arr.shift()); setSpinning(false); @@ -141,7 +138,7 @@ export function ReactMultiEmail(props: IReactMultiEmailProps) { } } } - } while (arr.length); + } } else { if (enable && !enable({ emailCnt: emails.length })) { onDisabled?.();