如何使用 JSDoc 定义部分对象(使所有属性可选)

How to define a partial object with JSDoc (make all properties optional)

如何定义接受对象的部分或全部属性的类型?我知道我可以将每个 属性 标记为可选,但是有没有办法让所有属性都可选?

const defaults = {
    host: 'localhost',
    distDir: 'dist',
    entrypoint: '__app.html',
    app: `build/bundle.js`,
    spaPort: "5000",
    ssrPort: "5005",
    serveSpa: false,
    serveSsr: false,
}

/** 
* @param {defaults} options 
*/
function merge(options = {}){
  const allOptions = {...defaults, ...options)
}

以上代码显示警告,因为 {} 不满足 defaults。我可以定义参数 _options 来接受 defaults 的任何子集吗?

已解决

/** @param {Partial<defaults>} options */