2 repositorios
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 es una herramienta de generación de código para Swift que automatiza la producción de código repetitivo (boilerplate) y la conformidad con protocolos. Funciona como un motor de plantillas que escanea archivos fuente para generar código estructural, como implementaciones de Codable, Equatable y Hashable, basándose en protocolos marcadores y análisis estático. El proyecto proporciona un framework de mocking especializado que crea objetos simulados para protocolos, permitiendo rastrear llamadas a funciones y capturar argumentos durante las pruebas. También incluye utilidades para generar lentes de struct, colecciones de casos de enum y diferencias de pruebas precisas a nivel de propiedad. El sistema admite un flujo de trabajo en tiempo real utilizando un demonio en segundo plano para la monitorización de archivos y la regeneración automática de código. La integración se gestiona mediante archivos de configuración basados en YAML y plugins del sistema de compilación para garantizar que el código generado permanezca consistente durante la refactorización.
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.