radash
radash copied to clipboard
problem crushing objects with null prototype
import JSONBigInt from 'json-bigint'
import { crush } from 'radash'
const { stringify, parse } = JSONBigInt()
console.log(crush(parse(stringify({ a: 1 }))))
// expected
// { a: 1 }
// actual
// { '': [Object: null prototype] { a: 1 } }
function copy(o: object): any {
return mapValues(o, (v) => v && typeof v === 'object' ? copy(v) : v)
}
// dirty workaround copying object works
console.log(crush(copy(parse(stringify({ a: 1 })))))
This is fixed in the Radashi fork.
// Test case
import * as _ from 'radashi'
const o = Object.create(null)
o.a = 1
_.crush(o) // => { a: 1 }