   return null if value is "null"
   return false if value is "false"
   return true if value is "true"
-  return Number value if "#{Number value}" isnt "NaN" and value isnt ""
+  # return Number value if "#{Number value}" isnt "NaN" and value isnt ""
+  return Number value if value isnt "" and not isNaN value
   return value
 
 ###

assign = Object.assign
merge = require "lodash.merge"
isEmpty = require "lodash.isempty"
reduceRight = Array::reduceRight
includes = String::includes
tmpdir or= tmpDir

defaults =

# @api private
###
mapListeners = (listeners, fn, ctx = null) ->
  fn.call ctx, name, handler for name, handler of listeners; return

###
# Trying to rescue field value actual type from string
