18 lines
		
	
	
		
			900 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			900 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| var ArgumentOutOfRangeError_1 = require("../util/ArgumentOutOfRangeError");
 | |
| var filter_1 = require("./filter");
 | |
| var throwIfEmpty_1 = require("./throwIfEmpty");
 | |
| var defaultIfEmpty_1 = require("./defaultIfEmpty");
 | |
| var take_1 = require("./take");
 | |
| function elementAt(index, defaultValue) {
 | |
|     if (index < 0) {
 | |
|         throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();
 | |
|     }
 | |
|     var hasDefaultValue = arguments.length >= 2;
 | |
|     return function (source) { return source.pipe(filter_1.filter(function (v, i) { return i === index; }), take_1.take(1), hasDefaultValue
 | |
|         ? defaultIfEmpty_1.defaultIfEmpty(defaultValue)
 | |
|         : throwIfEmpty_1.throwIfEmpty(function () { return new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError(); })); };
 | |
| }
 | |
| exports.elementAt = elementAt;
 | |
| //# sourceMappingURL=elementAt.js.map
 | 
