2015-04-21 23 views
8

Ho una funzione JavaScript che ottiene alcuni parametri compresi i tipi di oggetto. Tuttavia, una proprietà di un parametro, che è un oggetto, verrà utilizzata come deprecata. Vorrei indicare questa situazione nella documentazione, tuttavia non so come usare il tag @param con @deprecated. Considera l'esempio seguente:JSDoc @param insieme a @deprecated

/** 
* This function does something. 
* 
* @name myFunction 
* @function 
* @since 3.0 
* @param {function} [onSuccess] success callback 
* @param {function} [onFailure] failure callback 
* @param {object} [options] options for function 
* @param {string} [options.lang] display language 
* @param {string} [options.type] type of sth 
*/ 

this.myFunction= function (onSuccess, onFailure, options) { 
    //do something 
} 

Voglio deprecare la proprietà "type" dell'oggetto "options". Come posso farlo, o posso?

+0

Ho intenzione di precedere la descrizione del parametro con 'DEPRECATED:'. Quindi eseguirò 'console.log' qualcosa se un utente lo tocca. – Droogans

+0

Non puoi deprecare parametri o proprietà, ma dovresti contrassegnare @param come facoltativo come questo '@param {string =}' – cgTag

+0

@Droogans, ovviamente, è possibile informare l'utente sui parametri deprecati in qualsiasi modo. Mi chiedo solo se esiste un modo standardizzato. – mhmtztmr

risposta

0

Official JSDoc documentation non indica che il tag @deprecated può essere utilizzato per deprecare nient'altro che un intero simbolo.

Il tag @deprecated può essere utilizzato per documentare che, ad esempio, una funzione nel suo complesso è stata deprecata.

/** 
* @deprecated since version 2.0.0 
*/ 
function old() { 

} 

È possibile, naturalmente, come @Droogans detto nei commenti, aggiungere qualcosa di simile deprecated: davanti alla descrizione @param. Se in qualche modo uno sviluppatore continua a utilizzare la funzione deprecata, è possibile implementare un avviso di alcuni tipi.

/** 
* @param {string=} bar - Deprecated: description 
*/ 
function foo (bar) { 
    if (bar) { 
    console.warn('Parameter bar has been deprecated since 2.0.0') 
    } 
}