12345678910111213141516171819202122232425 |
- 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 != null ? currentProp[props[i]] : undefined;
- if (p !== void 0) {
- currentProp = p;
- }
- else {
- return undefined;
- }
- }
- return currentProp;
- };
- return mapper;
- }
- //# sourceMappingURL=pluck.js.map
|