JSDoc 中对象中任意键的值的文档结构

2023-12-10

我有一个函数factory:

function factory(events) {
  for(const key in events) {
    const { before, after } = events[key]
  }
}

论点在哪里events通常是:

{
  only: {
    before(){}
    after(){}
  },
  except: {
    before(){}
    after(){}
  },
}

钥匙在哪里only, except可以是任何东西,但值总是(必须是)类型{before, after}两者都在哪里before, after是函数。

我如何记录这个结构events我的论点factory使用 JSDoc 的函数?

我能想到的唯一解决方案是events一个数组,然后我可以使用typedef像这样:

/**
 * @typedef event
 * @property {function} before
 * @property {function} after
 */
/**
 * @typedef eventTuple
 * @property {string} key
 * @property {event} event
 */
/**
 * @param {[eventTuple]} events
 */
function factory(events) {
  for(const { key, event } of events) {
    const { before, after } = event
  }
}

但我真的想保留原来的结构。

是否可以记录这个event我原始结构中的类型定义?

我主要关心它在 VSCode 中的工作,它从 JSDoc 中提升了这些类型定义。


enter image description here

您可以使用 TS 语法。

附注老实说,我不确定这是否适用于所有地方。但它至少适用于智能感知

/**
 * @typedef event
 * @property {function} before
 * @property {function} after
 */

/**
 * @param {{[key: string]: event}} events
 */
function factory(events) {
    for (const key in events) {
        const { before, after } = events[key]
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSDoc 中对象中任意键的值的文档结构 的相关文章

随机推荐

  • ExtJS 4 - 网格 - 禁用特定列的行选择

    我用 extjs 4 创建了一个网格 Selection CheckboxModel 已实现 这意味着无论您在何处单击特定行 都会选择 取消选择该行 现在我想在最后一列上禁用此选择 因为它包含自定义按钮 如果单击按钮 我不想选择该行 有什么
  • Swift 4 中的 JSON 解析具有复杂和嵌套的数据

    我目前正在尝试使用 JSON 制作一个天气应用程序https openweathermap org但我在处理 JSON 文件中的天气部分时遇到了问题 我不确定如何访问对象内的 id 值 base stations clouds all 36
  • Openlayers 中的 KML 图层无法在本地主机上运行

    我在 OpenLayers 中渲染 KML 文件时遇到奇怪的问题 这似乎很容易 但事实并非如此 我从这里开始一个例子OpenLayer 示例 我想添加我自己的 KML 它不起作用 我使用绝对 URL 创建了该示例的本地副本 如下所示
  • 使用自定义小部件 kivy

    我正在尝试使用一些自定义小部件构建一个 kivy 应用程序 然而 每当我尝试使用它们时 它们都不会与我的布局配合使用 使用普通按钮 import kivy kivy require 1 8 0 from kivy app import Ap
  • python特定频率去除(陷波滤波器)?

    complie by python3 only test py import pyaudio import numpy as np import wave import time import math from pydub import
  • 如何从 PHP 中的 URL 字符串中提取查询参数?

    用户可以在我的网站上使用 HTML 表单输入 URL 因此他们可能会输入如下内容 它可以是任何东西 我需要提取某个查询参数的值 在本例中为 test 值 123 有没有办法做到这一点 您可以使用parse url and parse str
  • 检测客户端是平板电脑还是手机的最佳方法是什么?

    我目前正在开发一个客户端应用程序 该应用程序将为智能手机和平板电脑设计 因此它将得到两种不同的布局模式 虽然用户可以在两种模式之间切换 但我必须在第一次使用该应用程序时预先设置模式 因此 我正在寻找一种可靠的方法来自动检测用户是否带有平板电
  • 如何打印未读答案中的邮件正文和主题?

    我想获取收件箱中未读邮件的邮件主题和正文 我想一次阅读一封未读邮件并将其标记为read然后 我需要subject 发件人地址 and 邮件正文 下面的代码显示了所有未读邮件的邮件 ID require once mail3 php ews
  • Javascript 函数不等待 AJAX 响应

    我有一个名为的 AJAX 函数flagIt 它是从另一个名为的函数中调用的validateForm validateForm 在提交时执行 function validateForm var error do stuff to valida
  • 如何避免 spring-boot-admin 中的证书验证?

    如何避免 spring boot admin 中的证书验证 链接错误图片 https ibb co fkZu8y 我配置 RestTemplate 以避免在类中使用证书 但我不知道如何发送它 我猜它必须在客户端中 spring boot a
  • python 刷新/重新加载

    这是一个非常基本的问题 但我无法通过在线搜索找到答案 我正在使用 python 来控制 ArcGIS 并且我有一个简单的 python 脚本 它调用一些预先编写的代码 但是 当我对预先编写的代码进行更改时 它似乎不会导致任何更改 我导入这个
  • 通过 USB 将文件从 PC 传输到 Android 设备

    我想以编程方式通过 USB 将文件从我的电脑的特定端口传输到 Android 设备 以下哪种技术最适合这种传输模式 Sockets HttpUrlConnection 如果可以通过HttpUrlConnection意思是如何实现这个 通过
  • JavaFX自动滚动自动更新文本

    关于 JavaFX 的新手问题 我无法回答 尽管我知道它一定非常简单 而且在我看过的任何地方都没有找到任何资源 教程 许多 Oracle 在线文档 文章 以及知名JavaFX博主等 我正在开发一个命令行 脚本 运行的应用程序 并且我已经成功
  • constexpr 静态数据成员给出未定义的引用错误

    我正在开发内核 我想创建我的静态数据成员constexpr所以我可以在一个enum class 但是 如果我这样做 我会收到未定义的参考错误 只有当我将其设置为非 constexpr 并在类之外对其进行初始化时 它似乎才起作用 Workin
  • 如何使用其他 webcontroller odoo 9.0 更改 odoo 的默认页面

    我创建了一个具有特定功能的新 Web 控制器 我希望将此 Web 控制器作为odoo 9 0 我试过把 http route type http auth public website True in main py我的自定义 webcon
  • 链接 LLVM 导致 gcov 失败

    Passing coverage到 gcc 同时链接 LLVM 会导致undefined reference to gcov exit 来自链接器的错误 我已经建立了一个新项目来尝试解决这个问题 你可以查看github上的源码 and 检查
  • Vue.Js - Firebase 函数不能在组件上使用

    我正在使用 Vue Resource 将数据从我的网络应用程序发布到 firebase 但是后来 我发现我需要使用 firebase 集成来上传 firebase 存储中的图像 所以我将它集成到我的 src main js 中 import
  • 在 Sublime Text 2 中显示所有可能的 CSS 值的包?

    通过基本的 Sublime Text 2 构建 我获得了 CSS 值自动完成功能only当我输入值的第一个字母时 如下图所示 不过 我一直在观看 Tuts HTML CSS 网络教程 这是一个示例视频 他的 Sublime Text 构建显
  • 将 MongoDB 查询转换为 Spring MongoDB 语法

    您好 我无法将以下 mongoDB 查询转换为 spring 查询 我尝试了多种方法 但没有得到结果 db getCollection FarmerCropDataLog aggregate match cropData crop RICE
  • JSDoc 中对象中任意键的值的文档结构

    我有一个函数factory function factory events for const key in events const before after events key 论点在哪里events通常是 only before a