Files
node-minecraft-data/lib/indexer.js
T
2018-05-14 01:09:55 +02:00

28 lines
897 B
JavaScript

module.exports = {
buildIndexFromObject:
function (object, fieldToIndex) {
if (object === undefined) { return undefined }
return Object.keys(object).reduce(function (index, key) {
index[object[key][fieldToIndex]] = object[key]
return index
}, {})
},
buildIndexFromArray:
function (array, fieldToIndex) {
if (array === undefined) { return undefined }
return array.reduce(function (index, element) {
index[element[fieldToIndex]] = element
return index
}, {})
},
buildIndexFromArrayNonUnique:
function (array, fieldToIndex) {
if (array === undefined) { return undefined }
return array.reduce(function (index, element) {
if (!index[element[fieldToIndex]]) { index[element[fieldToIndex]] = [] }
index[element[fieldToIndex]].push(element)
return index
}, {})
}
}