Design Patterns by Examples Recovered from Refactoring Guru. Test files tsc <path/to/filename>.ts --target es6 && node <path/to/filename>.js