"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.dropUntil = exports.dropUntil_ = void 0;
const Function_1 = require("../../Function");
const drop_1 = require("./drop");
const dropWhile_1 = require("./dropWhile");
/**
 * Drops all elements of the stream until the specified predicate evaluates
 * to `true`.
 */
function dropUntil_(self, pred) {
    return (0, drop_1.drop_)((0, dropWhile_1.dropWhile_)(self, (0, Function_1.not)(pred)), 1);
}
exports.dropUntil_ = dropUntil_;
/**
 * Drops all elements of the stream until the specified predicate evaluates
 * to `true`.
 */
function dropUntil(pred) {
    return (self) => dropUntil_(self, pred);
}
exports.dropUntil = dropUntil;
//# sourceMappingURL=dropUntil.js.map