c1386a49fb32d111271e5eebbf6468a7938cfc9f
[platform/framework/web/crosswalk-tizen.git] /
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