As we walk the schemaElements we move the schema pointer to the fields property whenever we have num_children > 0 and move the pointer up to the parent when we have defined all the children. Doing this recursively should support any depth.
I apply a trick here to define variables in the field list that are not enumerable - they will not be visible (i.e. will not show up in Object.keys) but still accessible directly. We could clean them up afterwards, but I did not see any problem leaving them in.
Added test that fails on master but works on this PR
closes https://github.com/ironSource/parquetjs/issues/42
As we walk the schemaElements we move the schema pointer to the
fields
property whenever we havenum_children > 0
and move the pointer up to the parent when we have defined all the children. Doing this recursively should support any depth.I apply a trick here to define variables in the field list that are not
enumerable
- they will not be visible (i.e. will not show up inObject.keys
) but still accessible directly. We could clean them up afterwards, but I did not see any problem leaving them in.Added test that fails on master but works on this PR