UNPKG

sugar

Version:

A Javascript utility library for working with native objects.

28 lines (22 loc) 642 B
'use strict'; var Sugar = require('sugar-core'), coreUtilityAliases = require('../common/var/coreUtilityAliases'); var hasOwn = coreUtilityAliases.hasOwn, forEachProperty = coreUtilityAliases.forEachProperty; Sugar.Object.defineInstanceAndStatic({ 'invert': function(obj, multi) { var result = {}; multi = multi === true; forEachProperty(obj, function(val, key) { if (hasOwn(result, val) && multi) { result[val].push(key); } else if (multi) { result[val] = [key]; } else { result[val] = key; } }); return result; } }); module.exports = Sugar.Object.invert;