type script demo