multitude
Version:
Comprehensive streams for push and pull
32 lines (27 loc) • 2.92 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.skip = skip;
var _operate = require("../../utils/operate");
var _typeCore = require("type-core");
function skip(count) {
const options = !count || _typeCore.TypeGuard.isNumber(count) ? {
count
} : count;
return (0, _operate.operate)(obs => {
let index = -1;
let stop = false;
return {
next(value) {
index++;
if (stop) return obs.next(value);
if (options.count && index < options.count) return;
if (options.while && options.while(value, index)) return;
stop = true;
return obs.next(value);
}
};
});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wdXNoL29wZXJhdG9ycy9maWx0ZXIvc2tpcC50cyJdLCJuYW1lcyI6WyJza2lwIiwiY291bnQiLCJvcHRpb25zIiwiVHlwZUd1YXJkIiwiaXNOdW1iZXIiLCJvYnMiLCJpbmRleCIsInN0b3AiLCJuZXh0IiwidmFsdWUiLCJ3aGlsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQUNBOztBQU9PLFNBQVNBLElBQVQsQ0FBaUJDLEtBQWpCLEVBQW9FO0FBQ3pFLFFBQU1DLE9BQU8sR0FBRyxDQUFDRCxLQUFELElBQVVFLG9CQUFVQyxRQUFWLENBQW1CSCxLQUFuQixDQUFWLEdBQXNDO0FBQUVBLElBQUFBO0FBQUYsR0FBdEMsR0FBa0RBLEtBQWxFO0FBRUEsU0FBTyxzQkFBWUksR0FBRCxJQUFTO0FBQ3pCLFFBQUlDLEtBQUssR0FBRyxDQUFDLENBQWI7QUFDQSxRQUFJQyxJQUFJLEdBQUcsS0FBWDtBQUNBLFdBQU87QUFDTEMsTUFBQUEsSUFBSSxDQUFDQyxLQUFELEVBQWlCO0FBQ25CSCxRQUFBQSxLQUFLO0FBRUwsWUFBSUMsSUFBSixFQUFVLE9BQU9GLEdBQUcsQ0FBQ0csSUFBSixDQUFTQyxLQUFULENBQVA7QUFDVixZQUFJUCxPQUFPLENBQUNELEtBQVIsSUFBaUJLLEtBQUssR0FBR0osT0FBTyxDQUFDRCxLQUFyQyxFQUE0QztBQUM1QyxZQUFJQyxPQUFPLENBQUNRLEtBQVIsSUFBaUJSLE9BQU8sQ0FBQ1EsS0FBUixDQUFjRCxLQUFkLEVBQXFCSCxLQUFyQixDQUFyQixFQUFrRDtBQUVsREMsUUFBQUEsSUFBSSxHQUFHLElBQVA7QUFDQSxlQUFPRixHQUFHLENBQUNHLElBQUosQ0FBU0MsS0FBVCxDQUFQO0FBQ0Q7O0FBVkksS0FBUDtBQVlELEdBZk0sQ0FBUDtBQWdCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1c2ggfSBmcm9tICdAZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uLy4uL3V0aWxzL29wZXJhdGUnO1xuaW1wb3J0IHsgVHlwZUd1YXJkIH0gZnJvbSAndHlwZS1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTa2lwT3B0aW9uczxUPiB7XG4gIGNvdW50PzogbnVtYmVyO1xuICB3aGlsZT86ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNraXA8VD4oY291bnQ6IG51bWJlciB8IFNraXBPcHRpb25zPFQ+KTogUHVzaC5PcGVyYXRpb248VD4ge1xuICBjb25zdCBvcHRpb25zID0gIWNvdW50IHx8IFR5cGVHdWFyZC5pc051bWJlcihjb3VudCkgPyB7IGNvdW50IH0gOiBjb3VudDtcblxuICByZXR1cm4gb3BlcmF0ZTxUPigob2JzKSA9PiB7XG4gICAgbGV0IGluZGV4ID0gLTE7XG4gICAgbGV0IHN0b3AgPSBmYWxzZTtcbiAgICByZXR1cm4ge1xuICAgICAgbmV4dCh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICBpbmRleCsrO1xuXG4gICAgICAgIGlmIChzdG9wKSByZXR1cm4gb2JzLm5leHQodmFsdWUpO1xuICAgICAgICBpZiAob3B0aW9ucy5jb3VudCAmJiBpbmRleCA8IG9wdGlvbnMuY291bnQpIHJldHVybjtcbiAgICAgICAgaWYgKG9wdGlvbnMud2hpbGUgJiYgb3B0aW9ucy53aGlsZSh2YWx1ZSwgaW5kZXgpKSByZXR1cm47XG5cbiAgICAgICAgc3RvcCA9IHRydWU7XG4gICAgICAgIHJldHVybiBvYnMubmV4dCh2YWx1ZSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
;