--- /dev/null
+/** PURE_IMPORTS_START _map PURE_IMPORTS_END */
+import { map } from './map';
+export function pluck() {
+ var properties = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ properties[_i] = arguments[_i];
+ }
+ var length = properties.length;
+ if (length === 0) {
+ throw new Error('list of properties cannot be empty.');
+ }
+ return function (source) { return map(plucker(properties, length))(source); };
+}
+function plucker(props, length) {
+ var mapper = function (x) {
+ var currentProp = x;
+ for (var i = 0; i < length; i++) {
+ var p = currentProp != null ? currentProp[props[i]] : undefined;
+ if (p !== void 0) {
+ currentProp = p;
+ }
+ else {
+ return undefined;
+ }
+ }
+ return currentProp;
+ };
+ return mapper;
+}
+//# sourceMappingURL=pluck.js.map