1. Ports and adapters in TypeScript

    An order use case with two ports, OrderRepository and PaymentGateway, an in-memory adapter, a Postgres adapter, and the composition root that wires them.