Sha256: 927b464ea9f455f90b711e62d0b20c8f53bd191fa1c758c83c50939eff08dddd
Contents?: true
Size: 957 Bytes
Versions: 3
Compression:
Stored size: 957 Bytes
Contents
`var json_parse = JSON.parse;` module JSON def self.parse(source) `return to_opal(json_parse(source));` end %x{ function to_opal(value) { switch (typeof value) { case 'string': return value; case 'number': return value; case 'boolean': return !!value; case 'null': return nil; case 'object': if (!value) return nil; if (value._isArray) { var arr = []; for (var i = 0, ii = value.length; i < ii; i++) { arr.push(to_opal(value[i])); } return arr; } else { var hash = #{ {} }, v, map = hash.map; for (var k in value) { if (__hasOwn.call(value, k)) { v = to_opal(value[k]); map[k] = [k, v]; } } } return hash; } }; } end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
opal-0.3.22 | core/json.rb |
opal-0.3.21 | core/json.rb |
opal-0.3.20 | core/json.rb |