sequency
Version:
Functional sequences for processing iterable data in JavaScript
33 lines • 1.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.Sorted = void 0;
var Sequence_1 = require("./Sequence");
var createComparatorFactory_1 = require("./createComparatorFactory");
var Sorted = /** @class */ (function () {
function Sorted() {
}
/**
* Returns a new sequence with all elements sorted by the comparator specified by the given `composeComparator` function
* or in natural order if no arguments are given.
*
* @returns {Sequence<T>}
*/
Sorted.prototype.sorted = function (composeComparator) {
var result = [];
for (var item = this.iterator.next(); !item.done; item = this.iterator.next()) {
result.push(item.value);
}
if (composeComparator == null) {
result.sort();
}
else {
var factory = (0, createComparatorFactory_1.default)();
var comparator = composeComparator(factory);
result.sort(comparator);
}
var iterator = result[Symbol.iterator]();
return (0, Sequence_1.createSequence)(iterator);
};
return Sorted;
}());
exports.Sorted = Sorted;
//# sourceMappingURL=sorted.js.map