@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
22 lines (21 loc) • 585 B
JavaScript
import { Transform } from 'node:stream';
import { transformNoOp } from './transformNoOp.js';
export function transformOffset(opt) {
const { offset } = opt;
if (!offset) {
// No offset - returning pass-through transform
return transformNoOp();
}
let i = 0; // so we start first chunk with 1
return new Transform({
objectMode: true,
highWaterMark: 1,
...opt,
transform(chunk, _, cb) {
if (++i <= offset) {
return cb(); // skip
}
cb(null, chunk);
},
});
}