iansinnott / react-string-replace

A simple way to safely do string replacement with React components
MIT License
652 stars 56 forks source link

Boundary condition checks and arguments check is missing #79

Open nikikalwar opened 2 years ago

nikikalwar commented 2 years ago

Hi, I found some test cases where the function is failing:

reactStringReplace('Apt 111, phone number 555-5555-555.', (match, i) => ( console.log( <span key=${i} style={{ color: 'red' }}>${match}) ));

so what I did I removed the second parameter and checked, so function is passed as matched and fn is passed as undefined. And got the below error:

F:\github\test1\react-string-replace\node_modules\react-string-replace\index.js:11 ? string.replace(reRegExpChar, '\$&') ^

TypeError: string.replace is not a function

So, I added some validation checks for the arguments so that instead of exiting with an error it provides the user with the warning message and exists swiftly.

PS F:\github\test1\react-string-replace> node app Debugger attached. Apt 111, phone number 555-5555-555. function undefined Please check the function arguments, either the match or the function is missing Waiting for the debugger to disconnect...

thanks, Niki

Also, I have added the fix in my local system and wanted to check in with you