code: function(cb) {
              let vehicles = [];
  
              const options = { newline: '\r\n', columns: true };
              const parser = csv(options);
  
              parser.on('data', (line) => {
                  // Clean up the data
                  line.year = parseInt(line.year);
                  line['comb08'] = parseInt(line['comb08']);
  
                  // The car record here needs to satisfy all of the constraints
                  let satisfies = true;
  
                  // Iterate through each constraint function and determines
                  // if the record passes for fails
                  constraints.forEach((constr) => {
                      if(!constr(line)) satisfies = false;
                  });
  
                  // If after all the constraints are tested, the record still
                  // satisfies, then that vehicle is good to include in output
                  if(satisfies) {
                      vehicles.push(line);
                  };
              });
  
              parser.on('end', () => {
                  cb(vehicles);
              });
  
              fs.createReadStream('./vehicles.csv').pipe(parser)
          }
docs: fuelType: function(fuelType) { constraints.push((line) => { return line.fuelType === fuelType; }); return this; },