У меня есть функция с огромным списком опций:
/**
* Show dialog in a blocking manner.
*
* @param {object} opts
* @param {string} opts.msg "Body" of the dialog.
* @param {number} opts.timeout Seconds - floating point values are rounded. (ActiveX imposes this)
* @param {string} opts.title Title of the dialog.
* @param {number} opts.icon Use constants for this. (See docs)
* @param {number} opts.buttons Use constants for this. (See docs)
* @param {number} opts.defaultButton Use constants for this. (See docs)
* @returns {number} Use our constants to check for what the user chose.
*/
const showSync = (opts) => {
...
}
Но у меня также есть неблокирующая версия этой функции, которая, очевидно, принимает те же параметры и возвращает Обещание. Копирование / вставка документов выглядит довольно грязно, так как это снизит удобство обслуживания и вероятность случайного несоответствия.
Так что было бы замечательно что-то вроде следующего:
/**
* Shows dialog in a non-blocking manner.
*
* @inheritdoc showSync
* @returns {Promise<number>} Use our constants to check for what the user chose.
*/
const show = (opts) => {
...
}
Возможно ли это как-нибудь?