2 dépôts
Automatic generation of hash methods for class instances, enabling use as dictionary keys or set members.
Distinguishing note: No candidate covers automatic hash method generation for data classes; closest is Object Key Validation which is unrelated.
Explore 2 awesome GitHub repositories matching programming languages & runtimes · Hashable Object Generators. Refine with filters or upvote what's useful.
Sourcery est un outil de génération de code pour Swift qui automatise la production de code répétitif (boilerplate) et la conformité aux protocoles. Il fonctionne comme un moteur de template qui scanne les fichiers source pour générer du code structurel, tel que les implémentations Codable, Equatable et Hashable, basé sur des protocoles marqueurs et une analyse statique. Le projet fournit un framework de mocking spécialisé qui crée des objets mock pour les protocoles afin de suivre les appels de fonction et de capturer les arguments lors des tests. Il inclut également des utilitaires pour générer des « lenses » de struct, des collections de cas d'enum et des diffs de tests précis au niveau des propriétés. Le système prend en charge un flux de travail en temps réel utilisant un démon en arrière-plan pour la surveillance des fichiers et la régénération automatique du code. L'intégration est gérée via des fichiers de configuration YAML et des plugins de système de build pour garantir que le code généré reste cohérent lors du refactoring.
Automates the creation of hashing logic for types to remove manual boilerplate.
attrs is a Python library that automatically generates initialization, representation, equality, hashing, and ordering methods from declarative class attribute definitions. At its core, it provides a class decorator metaprogramming framework that intercepts class creation to rewrite the class body, producing dunder methods without manual boilerplate. The library includes a comprehensive attribute validation toolkit with built-in validators for type checks, range constraints, regex matching, length limits, and logical composition of validation rules. The library distinguishes itself through it
Generates hash methods for objects, enabling their use as dictionary keys or set members.