UNPKG

choo-shortcache

Version:

choo nanocomponent cache shortcut

36 lines (28 loc) 608 B
module.exports = plucker function plucker(path, object) { return arguments.length >= 2 ? pluck(path)(object) : pluck(path) } function pluck(path) { path = typeof path === 'string' ? String(path).trim().split('.') : path if (path.length < 2) { path = path[0] return pluckSingle } else { var l = path.length return pluckPath } function pluckSingle(object) { return object[path] } function pluckPath(object) { for (var i = 0; i < l; i++) { if (typeof object === 'undefined') break object = object[path[i]] } return object } }