'use strict'; module.exports = function(rules) { let fields = rules.map((field, i) => { if (field != null) { return { field: field, value: Math.pow(2, i) } } else { return null; } }).filter((item) => item != null); return function parseBits(value) { return fields.reduce((flags, item) => { flags[item.field] = !!(value & item.value); return flags; }, {}); } }