TypeScript Demo