jsdoc 相关问题

JSDoc是一种用于向JavaScript源代码添加内联API文档的语法。这与解析和操作遵循JSDoc语法的代码的各种工具不同。

使用 jsdoc 记录回调的正确方法是什么?

我花了相当长的时间在互联网上搜索,寻找使用 jsdoc 正确记录回调的最佳方法,但不幸的是,我还没有找到一个很好的方法。 这是我的问题: 我已书面...

回答 6 投票 0

如何在 JSDoc 打字稿中双重转换值?

收到 TS 2352 错误: 将类型“X”转换为类型“Y”可能是错误的,因为两种类型都没有与另一种类型充分重叠。如果这是故意的,请将表达式转换为“未知”

回答 1 投票 0

如何导出包范围的 JSDoc 类型?

我正在寻找 tsc 中此错误的解决方法:https://github.com/microsoft/TypeScript/issues/50436 问题一: 包范围的类型在包外部不可用。 如果你声明一个类型...

回答 1 投票 0

svelte 5 - 如何为 props 编写 JSDoc

我有以下代码片段文件,我想在其中添加 JSDoc 以便在代码的 {each} 部分中定义表格和表格。 从“../store/dialog.s...</desc>导入{对话框}” <question vote="0"> <p>我有以下代码片段文件,我想在其中添加 <strong>JSDoc</strong> 以便定义代码的 <pre><code>tables and table in {each}</code></pre> 部分。</p> <pre><code>&lt;script&gt; import { dialog } from &#34;../store/dialog.svelte&#34;; /** * The tables to be displayed. */ let { tables } = $props(); /** * Logs the ID of a table for an order. * * @function * @param {Object} table - The table object containing information about the order. * @param {number} table.id - The unique identifier for the table. * @param {string} table.name - The name of the table. * @returns {void} */ function getOrder(table){ dialog.open = true; dialog.title = `${table.name} Order`; } &lt;/script&gt; {#each tables as table} &lt;div class=&#34;card bg-base-100 shadow-xl&#34;&gt; &lt;div class=&#34;card-body py-2 px-1&#34;&gt; &lt;h2 class=&#34;card-title&#34;&gt;{table.name} &lt;sup class=&#34;text-sm&#34;&gt;({table.seats}&lt;i class=&#34;fa-solid fa-chair&#34;&gt;&lt;/i&gt;)&lt;/sup&gt; {#if table.order } &lt;sup&gt; &lt;button class=&#34;bg-green-500 text-white p-2 rounded-full transition duration-300 ease-in-out transform hover:scale-105 animate-pulse&#34; &gt;&lt;/button&gt; &lt;/sup&gt; {/if} &lt;/h2&gt; &lt;div class=&#34;card-actions justify-end&#34;&gt; &lt;button class=&#34;btn btn-info btn-xs&#34; onclick=&#34;{() =&gt; getOrder(table)}&#34;&gt;Show Order&lt;/button&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt; {/each} </code></pre> <p>这是传递<strong>props</strong>的地方:</p> <pre><code>&lt;script&gt; import { tables } from &#34;../store/tables.svelte&#34;; import Table from &#34;../snippets/Table.svelte&#34;; &lt;/script&gt; &lt;nav id=&#34;mainNav&#34;&gt; &lt;h3&gt;Tables&lt;/h3&gt; &lt;div class=&#34;divider&#34;&gt;&lt;/div&gt; &lt;div class=&#34;border grid grid-cols-4 gap-4 justify-between py-5 px-2 bg-gray-100&#34;&gt; &lt;Table tables={tables.tables}&gt;&lt;/Table&gt; &lt;/div&gt; &lt;/nav&gt; </code></pre> <p>这是<strong>桌子</strong>的商店:</p> <pre><code>import { user } from &#34;./user.svelte&#34; function createTables(){ /** * @typedef {Object} Waiter * @property {number} id */ /** * @typedef {Object} table * @property {number} id * @property {string} name * @property {number|null} seats * @property {null|Object} order * @property {Waiter} waiter */ /** * @type {Array.&lt;table&gt;} tables */ let tables = $state([]) let userTables = $derived(() =&gt; { return tables.filter(table =&gt; { return +user.currentUser?.id === +table.waiter?.id }) }) let userTablesFree = $derived(() =&gt; { return tables.filter(table =&gt; { return +user.currentUser?.id === +table.waiter?.id &amp;&amp; table.order === null }) }) let userTablesUsed = $derived(() =&gt; { return tables.filter(table =&gt; { return +user.currentUser?.id === +table.waiter?.id &amp;&amp; table.order !== null }) }) let otherTablesFree = $derived(() =&gt; { return tables.filter(table =&gt; { return +user.currentUser?.id !== +table.waiter?.id &amp;&amp; table.order === null }) }) let otherTablesUsed = $derived(() =&gt; { return tables.filter(table =&gt; { return +user.currentUser?.id !== +table.waiter?.id &amp;&amp; table.order !== null }) }) return { get tables(){ return tables }, set tables(newValue){ tables = newValue }, userTables, userTablesFree, userTablesUsed, otherTablesFree, otherTablesUsed } } export const tables = createTables() </code></pre> </question> <answer tick="false" vote="0"> <p>您应该能够使用 <pre><code>@typedef</code></pre> 和 <pre><code>@type</code></pre>,例如 </p> <pre><code>/** * @typedef {Object} Props * @property {number} number A number prop. * @property {string} text A string prop. */ /** @type {Props} */ const { number, text } = $props(); </code></pre> <p>如果您不在单独的 <pre><code>.d.ts</code></pre> 文件中声明类型(我建议对于更复杂的类型),则可以在类型中使用 <pre><code>import</code></pre> 语句。例如</p> <pre><code>/** * @typedef {Object} Props * @property {typeof import(&#39;./tables.svelte.js&#39;).tables} tables Tables */ </code></pre> <p>另外:我<strong>不</strong>建议使用全局状态(<pre><code>export const tables = ...</code></pre>),特别是如果你有SSR,那么这是一个隐私/安全风险。</p> </answer> </body></html>

回答 0 投票 0

为以另一个函数作为参数的函数制作 JSDoc 注释

想象一个接受“onUpdate”函数作为参数的函数: /** * @param {函数} onUpdate * @返回{null} */ 静态异步初始化(onUpdate){ ... onUpdate(true);...

回答 2 投票 0

如何记录泛型类型参数?

假设下面是一个泛型类型,我应该用什么来代替 ???正确记录T? /** * ??? T 的描述。 */ 类我的类 { } 在 C# 中我会使用 。有没有

回答 3 投票 0

如何为 TypeScript 泛型编写 JSDocs?

我正在尝试使用 JSDocs 来获取 isEqual(object1: T, object2: T) 但我收到警告:类型“T”未定义 .eslintjsdoc/no-undefined-types。 我该如何修复这里的 eslint 警告? /*...

回答 0 投票 0

如何使用 JSDoc 记录 useState 挂钩?

我正在尝试使用 JSDoc 来记录我的反应状态挂钩的解构部分,例如: const [referenceState, setReferenceState] = useState(null); 这里,referenceState是Object类型,...

回答 6 投票 0

如何从 JavaScript+JSDoc 中的模块导入类型定义?

我正在尝试将类型定义从 JSDoc 中的模块导入到我的 SvelteKit 应用程序中。 这是我尝试以 JS/JSDoc 形式实现的 TypeScript 代码: 从 '@

回答 1 投票 0

如何记录变量的名称在另一个分类中可以不同?

例如,Discord 和 Messenger 中社区聊天的分类法不同,但它们提供相同的功能: 不和谐 信使 服务器 社区 文字频道/论坛频道 交流...

回答 1 投票 0

如何记录具有多个别名的方法?

我正在尝试记录以下 Person 构造函数的 getName() 方法: JavaScript 代码: /** * 创建一个人实例。 * @param {string} name 该人的全名。 * @构造...

回答 1 投票 0

JSDoc 从另一个文件创建并导入类型

我有一个由 user.model.js 中的某个函数返回的用户对象 常量用户 = { id: "ASwsd122Wqwe1", 姓名:“萨姆”, 电子邮件:“[email protected]”, 创建日期:

回答 1 投票 0

在 JSDoc 中描述对象数组

我有一个接受对象数组的函数。 看起来像这样。 myAwesomeFunction([ { 名称:'某个名称', 下一个:假, 测试一下' }, { 名称:'名称...

回答 2 投票 0

JSDoc @param 与@deprecated

我有一个 JavaScript 函数获取一些参数,包括对象类型。但是,参数的一个属性(即对象)将被弃用。我想指出这个情况...

回答 2 投票 0

如何记录 JavaScript Promise 的解析值

给出这段代码: 函数 asyncFoo() { 返回新的 Promise(函数(履行,拒绝){ doAsyncStuff(函数(错误,数据){ 如果(错误)拒绝(新错误(错误)); 否则满足(新酒吧(d...

回答 4 投票 0

为什么我的函数的参数显示为布尔值(使用 JSDocs),而事实并非如此?

我记录了我对 React 井字棋教程的复制,我不明白为什么我的函数的参数显示为布尔值(使用 JSDocs),而事实并非如此。 这就是

回答 1 投票 0

JSDoc:在另一个@param中引用方法的@param

我是 JSDocs 的新手,找不到这个问题的答案。 假设我想写这个简单的函数: 函数 hasQ(array, item) {return array.includes(item);} 与 JSDoc'...

回答 4 投票 0

如何在 Google 脚本中输入提示 Google Types?

我正在尝试在 Google Script 中输入一堆 javascript,并且我已经尝试了以下操作: /** * 获取由名称给定的(命名)范围 * * @param {String} 名称 * @return {范围} * ...

回答 3 投票 0

如何使用其他模块的类型

VS Code下的JSDoc:如何使用其他模块的类型?在下面的例子中,如何声明 foo(ta)? ma.js (CommonJS) TA 类 {...} module.exports = { makeTA: () => 新 TA, }; mb.js (CommonJS)

回答 1 投票 0

有没有办法将`jsdoc`与`.ts`文件一起使用?也许用 babel 转译然后使用 jsdoc?

有没有办法将 jsdoc 与 typescript 文件一起使用? 我尝试使用 jsdoc-babel 与此配置 { “插件”:[ “node_modules/jsdoc-babel” ], “通天塔”:{ “扩展”:[ “js”, ...

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.