typescript - 强制 TypeScript 逐字输入对象
问题描述
我有一个大的常量 JavaScript 对象。像这样的东西:
const commonStyles = {
fullContainer: {
flex: 1,
alignItems: 'stretch',
justifyContent: 'flex-start',
},
justifyEvenly: {
justifyContent: 'space-evenly',
},
widthBound: {
width: '100%',
maxWidth: breakpoints.default,
alignSelf: 'center',
}
(...there is more)
}
TypeScript 会自动将所有 CSS 属性文本(“flex-start”、“space-evenly”等)键入为字符串,但我希望将它们键入为文字。
// What I get
{
fullContainer: {
flex: number,
alignItems: string,
justifyContent: string,
},
...
}
// What I want
{
fullContainer: {
flex: number,
alignItems: 'stretch',
justifyContent: 'flex-start',
},
...
}
当然,我可以手动注释类型。但是这里的对象非常大(>50 个条目并且还在增长),因此编写完整的类型注释会非常乏味。
我的问题:有没有办法让 TypeScript 尽可能地自动键入对象?
解决方案
推荐阅读
- javascript - 为什么 jquery 不能用于滚动条?
- python - 通过字符串匹配子集 bs4.element.ResultSet
- haskell - 为什么这个 TCP 服务器会立即退出?
- sql - 从存储过程调用时,PL SQL Execute Immediate 不起作用
- php - 如何将超类对象扩展到php中的子类?
- python - AttributeError:“s3.ObjectSummary”对象没有属性“download_file”
- php - foreach 循环中的逗号分隔变量到 php 脚本中的 xml 行
- java - 如何用字符串中的当前日期值替换 GMT 格式的日期
- python - Python 生成器以及如何根据字典中的键正确迭代以删除记录,该键出现在单独的列表中
- git-bash - Git Bash 选项卡在 Windows 终端上显示路径而不是标题“Git Bash”