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) {
|
Handlebars.registerHelper('mul', function (a, b) {
|
||||||
return parseInt(a) * parseInt(b);
|
return parseInt(a) * parseInt(b);
|
||||||
})
|
})
|
||||||
|
Handlebars.registerHelper('subtract', function (a, b) {
|
||||||
|
return parseInt(a) - parseInt(b);
|
||||||
|
})
|
||||||
Handlebars.registerHelper('select', function(value, options) {
|
Handlebars.registerHelper('select', function(value, options) {
|
||||||
const html = options.fn(this);
|
const html = options.fn(this);
|
||||||
const escaped = String(value).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
const escaped = String(value).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
||||||
|
|||||||
+43
-1
@@ -191,6 +191,47 @@ if (!durationTypeFound) {
|
|||||||
console.log(' ✅ Aucune utilisation de duration.type (utilise duration.units)');
|
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é
|
// Résumé
|
||||||
console.log('\n=== Résumé ===');
|
console.log('\n=== Résumé ===');
|
||||||
console.log(`Templates préchargés: ${loaded.length}`);
|
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(`API dépréciée utilisée: ${deprecatedFound ? 'Oui' : 'Non'}`);
|
||||||
console.log(`Référence à effect.webp: ${effectWebpFound ? 'Oui' : 'Non'}`);
|
console.log(`Référence à effect.webp: ${effectWebpFound ? 'Oui' : 'Non'}`);
|
||||||
console.log(`Utilisation de duration.type: ${durationTypeFound ? '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 !');
|
console.log('\n✅ Toutes les vérifications ont réussi !');
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user