mout
Version:
Modular Utilities
27 lines (24 loc) • 578 B
text/typescript
let UNDEF;
/**
* Parses string and convert it into a native value.
*/
function typecast(val) {
let r;
if (val === null || val === 'null') {
r = null;
} else if (val === 'true') {
r = true;
} else if (val === 'false') {
r = false;
} else if (val === UNDEF || val === 'undefined') {
r = UNDEF;
} else if (val === '' || isNaN(val)) {
// isNaN('') returns false
r = val;
} else {
// parseFloat(null || '') returns NaN
r = parseFloat(val);
}
return r;
}
export default typecast;