Aller au contenu principal

Comparaison avec les alternatives

AspectPithosLodashes-toolkitRemedaRadashRamdamoderndash@antfu/utilsEffect
TypeScriptFirstAjouté aprèsFirstFirstFirstAjoutéFirstFirstFirst
ImmutabilitéPar défautMixtePar défautPar défautPar défautPar défautPar défautPar défautPar défaut
Entrée invalideThrowSilencieuxThrowThrowMixteSilencieuxMixteMixteEffect
Paradigme donnéesFirstFirstFirstDualFirstLastFirstFirstPipe
Tree-shakableOuilodash-esOuiOuiOuiOuiOuiOuiOui
Dépendances000000000
Monade Result (Zygos)
Validation (Kanon)
Orienté FPPragmatiqueNonNonOuiNonOuiNonNonOui

Comportement sur entrée invalide :

  • Throw = Échoue rapidement avec une exception sur entrée invalide
  • Silencieux = Retourne undefined/null silencieusement (peut masquer des bugs)
  • Mixte = Dépend de la fonction
  • Effect = Retourne un type d'erreur (pas d'exceptions)

Ce qui différencie Pithos

  1. Écosystème complet : Utilitaires + Validation + Gestion d'erreurs
  2. Pattern Result intégré : Zygos pour la gestion fonctionnelle des erreurs
  3. Cohérence : API unifiée à travers tous les modules
  4. Mythologie grecque : Nommage mémorable et storytelling

Checklist pour les nouvelles fonctions

Avant d'ajouter une fonction à Arkhe/Pithos :

  • Besoin réel : Est-ce vraiment utile ? Pas déjà natif en ES2020+ ?
  • TypeScript-first : Types inférés, pas de any
  • Immuable : Ne modifie pas les arguments
  • Validation des entrées : Throw sur entrée invalide
  • TSDoc complet : Description, params, returns, throws, exemples
  • 100% tests : Couverture complète, cas limites inclus
  • Benchmark : Pas de régression de performance
  • Tree-shakable : Export granulaire

Évolutions futures possibles

FonctionnalitéStatutNotes
Évaluation paresseuseÀ étudierPour les opérations chaînées
Extensions Web APIsPlanifiéFetch, Storage, etc.
Itérateurs asyncPlanifiéGenerators et AsyncGenerators

Related