The companion source code also includes a file named broken.ts. This file contains some compilation errors on purpose because it is used to demonstrate how to perform error diagnostics:
import { Ninja } from "./ninja"; import { Katana } from "./katana"; const ninja = new Ninja(new Katana()); ninja.fight("5");