map-tabular-keys
v1.0.0
Published
Transform the keys of a tabular object stream
Downloads
7
Readme
map-tabular-keys
Transform the keys of a tabular object stream with a map function. Because the data is assumed to be tabular, only the keys of the first row are mapped. The resulting keys are then used for all rows.
example
var map = require('map-tabular-keys')
, snake = require('snake-case')
, from = require('from2-array')
, concat = require('concat-stream')
from.obj([
{ 'column a': 3, columnB: 0.2 },
{ 'column a': 4, columnB: 0.3, ignored: true }
])
.pipe( map(snake) )
.pipe( concat(console.log.bind(console)) )
The output would be:
[
{ column_a: 3, column_b: 0.2 },
{ column_a: 4, column_b: 0.3 }
]
api
map([options], mapFunction)
mapFunction
receives a single argument, for every key of the first row. If it returns an empty string or anything other than a string, the key is ignored (i.e., not included in the emitted objects).
map(function(key) {
if (key === 'useless') return false
return key.toUpperCase()
})
Options:
defaultValue: mixed
(default is0
): fallback to use fornull
andundefined
valuesbare: boolean
(default isfalse
): whether to emit bare objects (created withObject.create(null)
) or plain objects
install
With npm do:
npm install map-tabular-keys