https://blog.cckim.cn/posts/typescript-options/