src/js/dom.js
function (value) {
  /* jshint maxcomplexity:7 */
  // boolean
  if (value === 'true') { return true }
  if (value === 'false') { return false }
  // null
  if (value === 'null') { return null }
  // number
  if (+value + '' === value) { return +value }
  // json
  if (/^[[{]/.test(value)) {
    try {
      return JSON.parse(value)
    } catch (e) {
      return value
    }
  }
  // everything else
  return value
}
function (value) {
  /* jshint maxcomplexity:7 */
  // boolean
  if (value === 'true') { return true }
  if (value === 'false') { return false }
  // null
  if (value === 'null') { return null }
  // number
  if (+value + '' === value) { return +value }
  // json
  if (/^[[{]/.test(value)) {
    try {
      return JSON.parse(value)
    } catch (e) {
      return value
    }
  }
  // everything else
  return value
}
function ( value ) { /* jshint maxcomplexity:7 */ // boolean if ( value === 'true' ) { return true } if ( value === 'false' ) { return false } // null if ( value === 'null' ) { return null } // number if ( + value + '' === value ) { return + value } // json if ( / ^[[{] / . test ( value ) ) { try { return JSON . parse ( value ) } catch ( e ) { return value } } // everything else return value }
Deserializes JSON values from strings. Used with data attributes.
@param {string} value - String to parse
@returns {Object}
@private
Deserializes JSON values from strings . Used with data attributes .