UNPKG

687 BJavaScriptView Raw
1
2
3 var UNDEF;
4
5 /**
6 * Parses string and convert it into a native value.
7 */
8 function typecast(val) {
9 var r;
10 if ( val === null || val === 'null' ) {
11 r = null;
12 } else if ( val === 'true' ) {
13 r = true;
14 } else if ( val === 'false' ) {
15 r = false;
16 } else if ( val === UNDEF || val === 'undefined' ) {
17 r = UNDEF;
18 } else if ( val === '' || isNaN(val) ) {
19 //isNaN('') returns false
20 r = val;
21 } else {
22 //parseFloat(null || '') returns NaN
23 r = parseFloat(val);
24 }
25 return r;
26 }
27
28 module.exports = typecast;
29