如何检查 typescript 的 repl (ts-node) 中的类型?

2024-05-23

所以我输入了以下内容

type Duck = {
    colors: string;
    featheres: number;
}

type DuckProps = keyof Duck 

例如,我如何检查/验证DuckProps具有价值:'colors' | 'feathers'?

我似乎无法控制台日志或使用它,因为它只会返回

[eval].ts:8:7 - error TS2693: 'DuckProps' only refers to a type, but is being used as a value here.

如何通过 repl 与打字稿特定的结构(接口、类型等)进行交互?换句话说,当我输入 Duck 时。我期望出现这样的东西:

$ Duck

Duck<Typescript type> { color: string; feathers: number }

这里有一些技巧,但可以完成工作。使用.type命令我们可以将我们感兴趣的类型强制转换为语句并得到ts-node显示与其关联的快速信息。

> type Duck = {
...    colors: string;
...    featheres: number;
...  }
undefined
> type DuckProps = keyof Duck
undefined
> .type _ as DuckProps
type DuckProps = "colors" | "featheres"

Caveat:这只适用于最后的命名类型。下面发生的事情是.type调用打字稿getQuickInfoAtPosition与输入末尾的位置。就像打字稿操场上的 ctrl 悬停一样,除了一些与之相关的文档之外,底部的灰线也是显示的内容。

这似乎是 ts-node 的一个有用的功能,并且可能需要一个功能请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 typescript 的 repl (ts-node) 中的类型? 的相关文章

随机推荐

  • 什么是竞争条件?

    编写多线程应用程序时 最常见的问题之一是竞争条件 我向社区提出的问题是 竞赛条件是什么 你如何检测它们 你如何处理它们 最后 如何防止它们发生 当两个或多个线程可以访问共享数据并且它们试图同时更改它时 就会出现竞争条件 由于线程调度算法可以
  • 为 fill_ Between() 段的不同颜色添加图例

    我正在创建一个 事件图 目前如下所示 但是 我不知道如何为每个颜色组添加图例 这就是目前情节的创建方式 handles dict for i channel events in enumerate channel event list fo
  • Android 中的库可以有自己的意图过滤器吗?

    我想开发一个可以包含在其他 Android 应用程序中的库来拦截某些类型的意图 是否可以 我创建了一个库和一个测试项目 两者都有自己的AndroidManifest xml文件 在库的清单中 我为操作 TEST 定义了一个意图过滤器 但是
  • 哪个视图最亮?

    在Android中 哪个是轻量级视图 例如 View Textview Edittext 等 在某些情况下 我们需要使用视图来填充区域而不向用户显示视图 同时屏幕加载速度应该很快 您可以使用空间 android widget Space S
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • Airflow 1.9 - 无法将日志写入 s3

    我在 aws 的 kubernetes 中运行气流 1 9 我希望将日志发送到 s3 因为气流容器本身的寿命并不长 我已经阅读了描述该过程的各种线程和文档 但我仍然无法让它工作 首先是一个测试 向我证明 s3 配置和权限是有效的 这是在我们
  • TextBlock TextWrapping 不换行 #2

    好吧 那么this https stackoverflow com questions 6625177 textblock textwrapping not wrapping解决方案没有帮助 XAML 在这里
  • 如何在 Hashicorp Terraform 中配置环境变量

    尽管我已经浏览了 Hashicorp 网站上提供的所有教学模块 但我对 Terraform 还很陌生 目前 我正在努力了解如何设置环境变量 我知道如何引用 main tf 配置中的变量 access key var access key 我
  • 在骨架图像中查找线 OpenCV python

    我有以下图片 我想找到一些线来进行一些计算 平均长度等 我尝试使用HoughLinesP 但它找不到线 我能怎么做 这是我的代码 sk skeleton mask rows cols sk shape imgOut np zeros row
  • 为什么我的 D3 SVG 图上的轴不会更新?

    I have 简单的 D3 散点图 http www raxacoricofallapatorius com test scattertest html我在显示数据的几个不同属性之间切换 但是虽然我可以更改数据点 并按照我想要的方式进行转换
  • Spark Shuffle 写入超慢

    为什么对于 1 6MB shuffle 写入和 2 4MB 输入 spark shuffle 阶段如此缓慢 为什么 shuffle 写入仅发生在一个执行器上 我正在运行一个 3 节点集群 每个集群有 8 个核心 火花用户界面 Code Ja
  • 有没有一种明智的方法可以在 R 中执行诸如文档字符串之类的操作?

    这不仅仅是一个编码风格问题 如果您了解 python 我认为 Ruby 也有类似的东西 您可以在函数中拥有文档字符串 这样您就可以通过发出 help 命令轻松获取该字符串 例如 def something t None Do somethi
  • nslookup 无法解析 Kubernetes.default

    我在我的 minikube 设置上尝试了以下命令来验证 dns 是否正常工作 kubectl exec ti busybox nslookup kubernetes default 但这是我得到的输出 服务器 10 96 0 10 地址1
  • docker 1.12中在服务的每个容器中绑定vip addr的目的是什么?

    Docker使用ipvs的NAT模式来实现服务负载均衡 在NAT模式下 真实服务器对VIP一无所知 据我了解 VIP仅用于不同服务的容器之间的通信 因此它应该只出现在iptables的mangle表中 我相信现在 2016 年 8 月上周
  • Cassandra修复导致节点超时

    我们使用具有 5 个节点的 Cassandra 3 10 1 集群 每个节点有 8 个核心和 23Gi 内存 全部位于同一个 DC 中 复制因子 2 一致性级别 2 最近 在大约每周进行一次的计划修复期间 来自一个节点的查询出现多次超时 在
  • 条件类型定义

    如果我有一小段这样的代码 template
  • Gitlab 备份错误:包对象因信号 9 死亡

    我有一个存储库 有 2 个分支 大小为 3 5GB 每个分支大约 1 5GB git 本身就有 700MB 这是错误 备份失败 失败的 失败 opt gitlab embedded bin git git dir mountdata git
  • 包什么时候需要为它自己的对象使用 :::

    考虑这个 R 包有两个函数 一个是导出函数 另一个是内部函数 hello R export hello lt function internalFunctions hello internal 你好 内部 R hello internal
  • C# 获取数据表中所有重复行的计数

    我通过运行存储过程来填充数据集 并且从数据集中填充数据表 DataSet RawDataSet DataAccessHelper RunProcedure storedprocedureName this will just return
  • 如何检查 typescript 的 repl (ts-node) 中的类型?

    所以我输入了以下内容 type Duck colors string featheres number type DuckProps keyof Duck 例如 我如何检查 验证DuckProps具有价值 colors feathers 我