Skip to content

Prise en main rapide ​

Installation ​

Installez SmartCal via votre gestionnaire de paquets favori :

bash
bun add smartcal
bash
pnpm add smartcal
bash
npm install smartcal
bash
yarn add smartcal

Importation ​

SmartCal fournit un support universel (ESM et CommonJS) avec des déclarations TypeScript complètes intégrées :

typescript
import SmartCal, { compile, isValidExpression } from 'smartcal';
javascript
const { default: SmartCal, compile, isValidExpression } = require('smartcal');

Les 3 Modes d'Utilisation ​

1. Évaluation Directe (SmartCal) ​

Idéal pour un calcul ponctuel où l'expression n'est évaluée qu'une seule fois.

typescript
import SmartCal from 'smartcal';

// Expression arithmétique simple
const total = SmartCal('10 + 20 * 2'); // 50

// Expression avec variables
const score = SmartCal('basePoints + bonus * multiplier', {
  basePoints: 100,
  bonus: 25,
  multiplier: 2,
}); // 150

2. Évaluation Précompilée Haute Performance (compile) ​

Lorsque la même formule doit être réévaluée des milliers ou des millions de fois (ex: boucles de données, tableaux financiers, graphiques, serveurs), utilisez compile() :

typescript
import { compile } from 'smartcal';

// Compilation unique (Parse l'AST une seule fois + compile en fonction native JIT)
const formula = compile('price * (1 - discount) + shipping');

// Exécutions ultra-rapides (~2.5M+ ops/s)
const order1 = formula.evaluate({ price: 100, discount: 0.1, shipping: 5 }); // 95
const order2 = formula.evaluate({ price: 200, discount: 0.2, shipping: 0 }); // 160

3. Validation de Formule sans Erreur (isValidExpression) ​

Idéal pour vérifier la validité de la syntaxe saisie par un utilisateur dans un formulaire (sans lancer d'exception).

typescript
import { isValidExpression } from 'smartcal';

console.log(isValidExpression('price * (1 - discount)')); // true
console.log(isValidExpression('price * '));               // false

Distribué sous licence MIT.