All files / src Generator.ts

100% Statements 6/6
100% Branches 0/0
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26              1x           2x 2x       2x     3x        
import { IDestination } from "./destination/IDestination"
import { IFaker } from "./faker/IFaker"
 
export interface IGenerator {
  generate(count: number): void
}
 
export class Generator implements IGenerator {
  destination: IDestination
 
  faker: IFaker
 
  constructor(destination: IDestination, faker: IFaker) {
    this.destination = destination
    this.faker = faker
  }
 
  async generate(count: number): Promise<void> {
    for (let i = 0; i < count; i += 1) {
      // We want this behaviour to run in serial.
      // eslint-disable-next-line no-await-in-loop
      await this.destination.Process([this.faker.Fake()])
    }
  }
}