TypeScript port of Artemis Entity Framework