Jshint jetant des avertissements «non définis» dans le modèle de module révélateur
-
29-10-2019 - |
Question
Je reçois plusieurs erreurs «non définies» lors de l'exécution de ce code dans Jshint:
MERLIN.namespace('MERLIN.http');
MERLIN.http = function ($, window) {
'use strict';
// import dependencies
function request(config) {
if (!config || typeof config !== 'object') {
return;
}
// perform request
$.ajax({
type: config.type || 'GET',
url: config.url,
dataType: config.dataType,
data: config.data || {},
processData: config.process || false,
beforeSend: function () {
indicator(config.panel, config.indicator);
},
complete: function () {
indicator(config.panel, config.indicator);
},
success: function (resp) {
var callback = config.success || null;
if (typeof callback !== 'function') {
callback = false;
}
if (callback) {
callback.apply(this, [resp]);
}
},
error: function (xhr, textStatus, errorThrown) {
httpError({
xhr: xhr,
status: textStatus,
error: errorThrown,
panel: config.panel
});
}
});
};
function indicator(panel, type) {
if ((!panel || typeof panel !== 'string') || (!type || typeof type !== 'string')) {
return;
}
var indicatorType = (type === 'large') ? type = 'indicatorLarge' : type = 'indicatorSmall';
return $(panel).toggleClass(indicatorType);
};
function httpError() {
return this;
};
return {
request: request,
error: httpError
};
} (jQuery, this);
Je ne sais pas pourquoi les erreurs non définies sont lancées pour «indicateur» et «httperror» et pourquoi l'utilisation de «retourner ceci» est une violation stricte potentielle. Je sais que je peux ignorer en toute sécurité l'erreur non définie relative à l'espace de noms car la fonction d'espace de noms à usage général est définie plus tôt dans un fichier séparé.
Est-ce juste un cas de pragmatisme contre une validation stricte?
Merci :)
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow