获取文件中的 TypeScript 类并读取其中的单个部分

2023-12-26

是否有一个插件(如 Gulp),我可以在其中解析打字稿文件并读出单个部分(如成员、函数、注释)等。

这样我就有了这样的课程./src/Foo.ts:

class Foo {
    static name: string = 'name';

    /**
     * This is a comment
     */
    private bar: string;

    /**
     * This is also a comment
     */
    public getBar(): string {
        return this.bar;
    }
}

我想要在 TypeScript 或 JavaScript(在 gulp 插件内)中执行的操作是读出此文件,解析它,然后访问此类的成员。

伪代码:

var classTree = tsloader.parse('./src/Foo.ts');
var c = classTree.getClass(); // Returns a class object tree

for(var i = 0; i < c.getMembers().length; i++) {
    c.getMembers()[i].getType(); // Returns the type
    c.getMembers()[i].getComment(); // Returns the comment

    // etc.
}

// etc.

是否有任何图书馆或其他东西已经能够做到这一点?


Jed mao 有一个优秀的(但未被重视)项目,它为 commonjs 的使用开放了 TypeScript 编译器 api :https://www.npmjs.org/package/typescript-api https://www.npmjs.org/package/typescript-api

它附带一个定义文件:https://github.com/jedmao/typescript-api/blob/master/typescript-api.d.ts https://github.com/jedmao/typescript-api/blob/master/typescript-api.d.ts

它里面的逻辑非常简单:https://github.com/jedmao/typescript-api/blob/master/wrapper.js#L15-L28 https://github.com/jedmao/typescript-api/blob/master/wrapper.js#L15-L28它基本上只是打开tsc.js with a module.exports = TypeScript;

Usage

您基本上需要研究 TypeScript 是如何工作的。但PullTypeSymbol其中有public getMembers(): PullSymbol[];似乎在 TypeScript 源代码中值得搜索(https://typescript.codeplex.com/ https://typescript.codeplex.com/)

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

获取文件中的 TypeScript 类并读取其中的单个部分 的相关文章

随机推荐

  • 在 Mayavi 中锁定相机

    我正在尝试使用 mayavi 中的一系列数据文件制作动画 不幸的是 我注意到相机没有锁定 它正在变焦和缩小 我认为发生这种情况是因为我的网格的 Z 分量正在变化 并且 Mayavi 正在尝试重新计算比例 How can I fix it i
  • 使用每个用户数据的单独密钥加密 SQL Server Azure 数据库中的数据

    我正在尝试创建基于 Azure SQL 数据库后端的服务 该服务将是多租户的 并将包含来自多个 客户端 可能有数十万 的高度敏感信息 这些信息必须彼此严格隔离并严格防止数据泄漏 按设计 使用如此多的单独数据库是不可行的 因为会有很多客户 但
  • 将背景颜色的下边缘设为另一种颜色

    我想要我的底部background color成为另一种颜色 我确信这涉及到linear gradient 但不确定如何实施 示例代码 background height 100px width 200px background color
  • 在python多处理中修改对象

    我有大量自定义对象 需要对其执行独立 可并行 任务 包括修改对象参数 我尝试过使用 Manager dict 和 sharedmem ory 但两者都不起作用 例如 import numpy as np import multiproces
  • 用 Celery 组合链、组和块

    我想使用 Celery 作为 URL 抓取器 我有一个 Url 列表 我必须对每个 URL 执行 HTTP 请求并将结果写入文件中 整个列表使用同一文件 我的第一个想法是让 Celery 调用的任务中的这段代码击败所有n分钟 app tas
  • AzureADB2C.UI - 登录后将用户重定向到页面

    我在 NET Core Web 应用程序上使用 AzureADB2C UI 但我不确定如何将用户重定向到自定义页面 ej Customers Index他登录后 这基本上就是我以前使用时的情况SessionController但由于我使用的
  • 如何强制用户在 GIT 中使用小写电子邮件地址

    我正在寻找确认提交者的电子邮件地址是否为小写的可能性 以避免出现以下问题this https serverfault com questions 12373 how do i edit gits history to correct an
  • 使用新的 TextInputLayout 进行 EditText 的渲染问题

    我正在尝试设置新的 support desing 库 为旧的 Android 版本提供一些棒棒糖视觉效果 在本例中 我尝试为 edittext 添加浮动标签 这是通过 widget TextInputLayout 完成的 为此 我遵循了谷歌
  • AS3中void的意义是什么

    这里有一个简单的问题 当 void 跟随 AS3 中的函数时 它在做什么 public function sayGoodbye void trace Goodbye from MySubClass voidtype 向编译器指示您编写的函数
  • 发出 HTTP 请求时出现 Access-Control-Allow-Origin 错误

    您好 我正在通过 OAuth 2 0 对用户进行身份验证 并且收到 Access Control Allow Origin 错误 XMLHttpRequest cannot load https www box com api oauth2
  • java中可以进行“原子”中断检查吗?

    例如 如果在 Java 中使用以下带有中断的 习语 从这个答案 https stackoverflow com questions 14145787 how to safely interrupt a thread with critial
  • 从 Telegram 的机器人 API 获取投票结果和用户选择

    我想知道是否有办法使用机器人 API 查找用户对非匿名投票的回复 我可以获得投票数 但我想知道特定用户的实际选择 是的 对于非匿名民意调查 当用户投票时您会收到更新 这些是更新update poll answer see https cor
  • 在 Elixir 中打开模块?

    Ruby 有开放类 非常方便 尽管受到一些人的谩骂 而 Elixir 大量借鉴了 Ruby 所以我希望 Elixir 允许我重新打开一个模块并在关闭它后向其中添加宏 但这在我尝试的方式 有什么方法可以做到这一点吗 Elixir 中是否提供此
  • Logcat过滤?

    我想过滤掉日志中的所有内容 除了我的应用程序的进程 我知道我可以指定优先级 但我希望能够做更多的事情 我想删除手机中正在记录的所有其他内容 我怎样才能做到这一点 如果您在 Eclipse 调试视图中查看日志 只需单击 创建过滤器 按钮 绿色
  • GAS 中 3 个匿名函数的不同输出

    我有个问题 In the google script运行的正式网页 https developers google com apps script guides html reference run authuser 0 myFunctio
  • 为什么我不能从扩展类型的基类调用扩展方法‏?

    我正在尝试添加在 a 中查找元素的功能List
  • 如何在 jQuery .html() 函数中获取 JavaScript 脚本标签? [复制]

    这个问题在这里已经有答案了 是否可以在 jQuery 中获取 JavaScript 脚本标签 html 功能 function pleaseWork content html h3 style color 335c91 This is th
  • 在Python中的Excel单元格中查找和替换

    如果 xlsx 文件中有一个单元格为 我想将 替换为 因此可以将单元格视为字符串而不是值 例如 A1 5 A2 10 A3 A1 A2 0 5 我想看看 A1 A2而不是 0 5 预先感谢您提供的任何和所有帮助 按照建议openpyxl h
  • 在Python中将u“string”转换为“string”而不改变编码

    我有以下内容 u x96 我想将其转换为以下内容 x96 有什么办法可以做到这一点吗 str 不起作用 并且使用时 encode 它改变了编码 我的主要目标是能够获得以下结果 因此任何到达那里的捷径也将被接受 gt gt gt x96 de
  • 获取文件中的 TypeScript 类并读取其中的单个部分

    是否有一个插件 如 Gulp 我可以在其中解析打字稿文件并读出单个部分 如成员 函数 注释 等 这样我就有了这样的课程 src Foo ts class Foo static name string name This is a comme