I get this error when I run and can not seem to resolve it.
TypeError: data[key].trim is not a function
The function is this one
const generateSignature = (data, passPhrase = null) => { // Create parameter string let pfOutput = ""; for (let key in data) { if (data.hasOwnProperty(key)) { if (data[key] !== "") { pfOutput += `${key}=${encodeURIComponent(data[key].trim()).replace( /%20/g, " + " )}&`; } } } // Remove last ampersand let getString = pfOutput.slice(0, -1); if (passPhrase !== null) { getString += `&passphrase=${encodeURIComponent(passPhrase.trim()).replace( /%20/g, "+" )}`; } return crypto.createHash("md5").update(getString).digest("hex"); };
I am not sure how to solve this problem
Advertisement
Answer
I think there is a possibility what data[key]
isn’t a string type.
try this:
Change if(data[key] !== "")
to if(typeof data[key] === "string")