All files / src/infra ElectricityClientFactory.ts

0% Statements 0/7
0% Branches 0/2
0% Functions 0/2
0% Lines 0/7

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                                                 
import { FetcherFactory, UsageFetcher } from "../domain/Electricity";
import { CommonEnv, Env } from "../Env";
import { KireiLifePlusClient } from "./electricity/KireiLifePlusClient";
 
export class ElectricityFactory implements FetcherFactory {
  constructor(
    readonly commonEnv: CommonEnv,
    readonly env: Env
  ) {}
 
  create(siteId: bigint): UsageFetcher {
    switch (siteId) {
      case 1n:
        return new KireiLifePlusClient(
          this.commonEnv,
          "https://www.kireilife.net/pages/",
          this.env.screenshotDir,
          this.env.timeoutMs
        );
      default:
        throw new Error(`unsupported siteId[${siteId}]`);
    }
  }
}