Closed sp94 closed 12 months ago
When parsing the config with a boolean value of escapeFormulae, the presence of the escapeFormulae key is checked but the value itself is not checked.
escapeFormulae
This means that _config = {escapeFormulae: false} behaves the same as _config = {escapeFormulae: true}.
_config = {escapeFormulae: false}
_config = {escapeFormulae: true}
Codesandbox example
import "./styles.css"; import Papa from "papaparse"; export default function App() { const data = [ ["a", "b"], [1, "=1+2"] ]; const emptyConfigResult = Papa.unparse(data, {}); const escapeFormulaeFalseResult = Papa.unparse(data, { escapeFormulae: false }); const escapeFormulaeTrueResult = Papa.unparse(data, { escapeFormulae: true }); return ( <div className="App"> <h3>Empty config</h3> <pre>{emptyConfigResult}</pre> <h3>escapeFormulae = false</h3> <pre>{escapeFormulaeFalseResult}</pre> <h3>escapeFormulae = true</h3> <pre>{escapeFormulaeTrueResult}</pre> </div> ); }
Result
Empty config a,b 1,=1+2 escapeFormulae = false a,b 1,"'=1+2" escapeFormulae = true a,b 1,"'=1+2"
This PR adds a check that escapeFormulae is truthy before using the default regex for escaping formulae.
I've merged the fix. Thanks for the patch!
When parsing the config with a boolean value of
escapeFormulae
, the presence of theescapeFormulae
key is checked but the value itself is not checked.This means that
_config = {escapeFormulae: false}
behaves the same as_config = {escapeFormulae: true}
.Codesandbox example
Result
This PR adds a check that
escapeFormulae
is truthy before using the default regex for escaping formulae.