async countLines()

in src/commands/bulk/delete.ts [67:81]


  async countLines(fname: string): Promise<number> {
    const lf = '\n'.charCodeAt(0)
    const stream = createReadStream(fname)
    let lines = 0
    stream.on('data', chunk => {
      const data = typeof chunk === 'string' ? Buffer.from(chunk) : chunk
      for (const c of data) {
        if (c === lf) lines++
      }
    })
    return new Promise((resolve, reject) => {
      stream.on('end', () => resolve(lines))
      stream.on('error', e => reject(e))
    })
  }