Hi Renee and Matt,
Thank you for the quick responses! Here are the the JSON strings being passed and modified. I've bolded the values of interest.
JSON sent to JavaScript:
{"unique_symbols": {"True": 1, "sys_0_site_0_isotropic_chemical_shift": 0.0, "None": null, "False": 0, "NAN": NaN, "erfc": {"__class__": "Callable", "__name__": "erfc", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "erf": {"__class__": "Callable", "__name__": "erf", "pyversion": "3.7", "value": null, "importer": "lmfit.confidence"}, "wofz": {"__class__": "Callable", "__name__": "wofz", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "pi": 3.141592653589793, "gamfcn": {"__class__": "Callable", "__name__": "gamma", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "inf": Infinity, "newaxis": null, "mth_0_rotor_frequency": 0.0, "Inf": Infinity, "sys_0_abundance": 100, "e": 2.718281828459045, "little_endian": 1, "nan": NaN, "infty": Infinity}, "params": [["sys_0_site_0_isotropic_chemical_shift", 0.0, true, null, -Infinity, Infinity, null, null, null, 0.0, null], ["sys_0_abundance", 100, false, "100", 0, 100, null, null, null, 100.0, null], ["mth_0_rotor_frequency", 0.0, true, null, -100.0, 100.0, null, null, null, 0.0, null]]}
JSON cleaned by JavaScript:
{"unique_symbols": {"True": 1, "sys_0_site_0_isotropic_chemical_shift": 0.0, "None": null, "False": 0, "NAN": null, "erfc": {"__class__": "Callable", "__name__": "erfc", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "erf": {"__class__": "Callable", "__name__": "erf", "pyversion": "3.7", "value": null, "importer": "lmfit.confidence"}, "wofz": {"__class__": "Callable", "__name__": "wofz", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "pi": 3.141592653589793, "gamfcn": {"__class__": "Callable", "__name__": "gamma", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "inf": null, "newaxis": null, "mth_0_rotor_frequency": 0.0, "Inf": null, "sys_0_abundance": 100, "e": 2.718281828459045, "little_endian": 1, "nan": null, "infty": null}, "params": [["sys_0_site_0_isotropic_chemical_shift", 0.0, true, null, null, null, null, null, null, 0.0, null], ["sys_0_abundance", 100, false, "100", 0, 100, null, null, null, 100.0, null], ["mth_0_rotor_frequency", 0.0, true, null, -100.0, 100.0, null, null, null, 0.0, null]]}
JSON recreated by JavaScript:
{"unique_symbols": {"True": 1, "sys_0_site_0_isotropic_chemical_shift": 0.0, "None": null, "False": 0, "NAN": NaN, "erfc": {"__class__": "Callable", "__name__": "erfc", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "erf": {"__class__": "Callable", "__name__": "erf", "pyversion": "3.7", "value": null, "importer": "lmfit.confidence"}, "wofz": {"__class__": "Callable", "__name__": "wofz", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "pi": 3.141592653589793, "gamfcn": {"__class__": "Callable", "__name__": "gamma", "pyversion": "3.7", "value": null, "importer": "scipy.special"}, "inf": Infinity, "newaxis": null, "mth_0_rotor_frequency": 0.0, "Inf": Infinity, "sys_0_abundance": 100, "e": 2.718281828459045, "little_endian": 1, "nan": NaN, "infty": Infinity}, "params":[["sys_0_site_0_isotropic_chemical_shift",0,true,null,null,null,null,null,null,0,null],["sys_0_abundance",100,false,"100",0,100,null,null,null,100,null],["mth_0_rotor_frequency",0,true,null,-100,100,null,null,null,0,null]]}
Also here are the lines which replace null min/max with infinity. It seems to be showing up as null in the JSON:
// Replace null min/max with +-Infinity
if (tmp[4] == null) {
tmp[4] = -Infinity;
}
if (tmp[5] == null) {
tmp[5] = Infinity;
}
Best,
Matthew