This is a simple chess UI (and even simpler chess engine) implemented in Typescript
See it in action here
All of the game logic is implemented using a functional programming approach, rather than an object-oriented approach.
- En passant moves
- Draws by repetition
- Draws by insufficient material
- Draws by the 50-move rule