微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从字符串的静态字典中,推断出精确描述字典的类型/接口,使用值类型的字符串文字

如何解决从字符串的静态字典中,推断出精确描述字典的类型/接口,使用值类型的字符串文字

我有一个静态字典:

  Future<String> signIn(String email,String password) async {
    UserCredential result = await _firebaseAuth.signInWithEmailAndPassword(
        email: email,password: password);
      writeDB();
    User user = result.user;
    return user.uid;
  }

认的推断类型是 const myDict = { 1: "one",2: "two" }

我想派生一种只接受分配给 Record<1 | 2,string> 属性的确切字符串文字的类型:

myDict

我怎样才能派生出这样的类型?输入原始字典(因此 type T = { 1: typeof "one",2: typeof "two" } 等于我想要的类型)对我来说效果最好。


我知道我可以通过 typeof myDict 关键字来断言类型:

as

但是这种解决方法非常不切实际,并且容易在大型词典中出错。什么是更好的方法

解决方法

您可以使用 const assertion 完成此操作。

const myDict = {
  1: "one",2: "two",} as const

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。