import { map } from './map'; export function pluck(...properties) { const length = properties.length; if (length === 0) { throw new Error('list of properties cannot be empty.'); } return (source) => map(plucker(properties, length))(source); } function plucker(props, length) { const mapper = (x) => { let currentProp = x; for (let i = 0; i < length; i++) { const p = currentProp[props[i]]; if (typeof p !== 'undefined') { currentProp = p; } else { return undefined; } } return currentProp; }; return mapper; } //# sourceMappingURL=pluck.js.map