Fix: Add missing Handlebars subtract helper
- Added subtract helper: parseInt(a) - parseInt(b) - Helper is used in partial-active-effects.hbs and partial-item-effects.hbs - Registered in MournbladeCYD2Utility.init() alongside other helpers - Added test verification for subtract helper registration Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
@@ -46,6 +46,9 @@ export class MournbladeCYD2Utility {
|
||||
Handlebars.registerHelper('mul', function (a, b) {
|
||||
return parseInt(a) * parseInt(b);
|
||||
})
|
||||
Handlebars.registerHelper('subtract', function (a, b) {
|
||||
return parseInt(a) - parseInt(b);
|
||||
})
|
||||
Handlebars.registerHelper('select', function(value, options) {
|
||||
const html = options.fn(this);
|
||||
const escaped = String(value).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
||||
|
||||
+43
-1
@@ -191,6 +191,47 @@ if (!durationTypeFound) {
|
||||
console.log(' ✅ Aucune utilisation de duration.type (utilise duration.units)');
|
||||
}
|
||||
|
||||
// 8. Vérification de l'utilisation du helper subtract
|
||||
console.log('\n8. Vérification de l\'utilisation du helper subtract :');
|
||||
const subtractPattern = /subtract/g;
|
||||
const subtractFiles = [
|
||||
'templates/partial-active-effects.hbs',
|
||||
'templates/partial-item-effects.hbs'
|
||||
];
|
||||
|
||||
let subtractUsed = false;
|
||||
let subtractRegistered = false;
|
||||
|
||||
// Vérifier que le helper est utilisé dans les templates
|
||||
subtractFiles.forEach(file => {
|
||||
try {
|
||||
const content = fs.readFileSync(path.join(__dirname, file), 'utf8');
|
||||
if (subtractPattern.test(content)) {
|
||||
subtractUsed = true;
|
||||
}
|
||||
} catch (err) {
|
||||
// Fichier introuvable, ignorer
|
||||
}
|
||||
});
|
||||
|
||||
// Vérifier que le helper est enregistré
|
||||
try {
|
||||
const utilityContent = fs.readFileSync(path.join(__dirname, 'modules/mournblade-cyd2-utility.js'), 'utf8');
|
||||
if (/Handlebars\.registerHelper\('subtract'/g.test(utilityContent)) {
|
||||
subtractRegistered = true;
|
||||
}
|
||||
} catch (err) {
|
||||
// Fichier introuvable, ignorer
|
||||
}
|
||||
|
||||
if (subtractUsed && subtractRegistered) {
|
||||
console.log(' ✅ Helper subtract est enregistré et utilisé');
|
||||
} else if (subtractUsed && !subtractRegistered) {
|
||||
console.log(' ❌ Helper subtract est utilisé mais pas enregistré');
|
||||
} else if (!subtractUsed) {
|
||||
console.log(' ✅ Helper subtract n\'est pas utilisé (ou plus utilisé)');
|
||||
}
|
||||
|
||||
// Résumé
|
||||
console.log('\n=== Résumé ===');
|
||||
console.log(`Templates préchargés: ${loaded.length}`);
|
||||
@@ -200,8 +241,9 @@ console.log(`Fichier JSON valide: ${errors.length === 0 ? 'Oui' : 'Non'}`);
|
||||
console.log(`API dépréciée utilisée: ${deprecatedFound ? 'Oui' : 'Non'}`);
|
||||
console.log(`Référence à effect.webp: ${effectWebpFound ? 'Oui' : 'Non'}`);
|
||||
console.log(`Utilisation de duration.type: ${durationTypeFound ? 'Oui' : 'Non'}`);
|
||||
console.log(`Helper subtract: ${(subtractUsed && subtractRegistered) ? 'OK' : (subtractUsed ? 'Manquant' : 'Non utilisé')}`);
|
||||
|
||||
if (errors.length === 0 && missingPartials.length === 0 && !deprecatedFound && !effectWebpFound && !durationTypeFound) {
|
||||
if (errors.length === 0 && missingPartials.length === 0 && !deprecatedFound && !effectWebpFound && !durationTypeFound && (subtractUsed ? subtractRegistered : true)) {
|
||||
console.log('\n✅ Toutes les vérifications ont réussi !');
|
||||
process.exit(0);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user