awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektMCP-ServerÜber unsRanking-MethodikPresse
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

12 Repos

Awesome GitHub RepositoriesCustom Comparison Logic

Mechanisms for using user-defined comparison functions to determine if a value has changed.

Distinct from Comparison Logic Providers: Distinct from static analysis rules or general logical operators; specifically about effect trigger logic.

Explore 12 awesome GitHub repositories matching software engineering & architecture · Custom Comparison Logic. Refine with filters or upvote what's useful.

Awesome Custom Comparison Logic GitHub Repositories

Finde die besten Repos mit KI.Wir suchen mit KI nach den am besten passenden Repositories.
  • streamich/react-useAvatar von streamich

    streamich/react-use

    43,974Auf GitHub ansehen↗

    react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It serves as a comprehensive library for implementing state management patterns and wrapping various browser APIs into consistent hook interfaces. The project provides a specialized toolkit for DOM interaction and browser API integration, allowing components to track element dimensions, manage cookies, and monitor hardware sensors. It includes a suite of animation and timing utilities for physics-based numeric interpolation and frame-synced state updates. Beyond basic state managemen

    Provides a way to trigger side effects using custom or shallow comparison logic instead of reference equality.

    TypeScript
    Auf GitHub ansehen↗43,974
  • github/scientistAvatar von github

    github/scientist

    7,719Auf GitHub ansehen↗

    Scientist is a Ruby code parity testing library and production experimentation framework. It allows for the safe deployment of candidate code paths alongside a control implementation to verify that new logic produces the same outputs and exceptions as the original. The library identifies behavioral divergences between legacy and refactored code by running both versions in a live environment. It functions as a refactoring regression detector, measuring performance parity and detecting mismatches using real-world data without affecting the end user. The system covers broad capabilities for mon

    Implements user-defined comparison functions to determine if different return values or exceptions are functionally equivalent.

    Ruby
    Auf GitHub ansehen↗7,719
  • phar-io/versionAvatar von phar-io

    phar-io/version

    7,477Auf GitHub ansehen↗

    This project is a set of specialized tools for installing archive packages and programmatically parsing or validating software version constraints. It functions as a PHP version comparison library and a semantic versioning parser designed to handle the requirements of software dependency management. The system includes a PHP archive installer that downloads and deploys Phar packages from repositories, GitHub, or direct URLs. It uses a semantic version constraint validator to ensure that installed versions satisfy specific requirements defined by mathematical, caret, or tilde operators. Addit

    Implements custom logic to compare software version strings and determine release order and compatibility.

    PHP
    Auf GitHub ansehen↗7,477
  • python-attrs/attrsAvatar von python-attrs

    python-attrs/attrs

    5,799Auf GitHub ansehen↗

    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

    Excludes specific fields from equality or ordering checks, or applies custom key functions for comparison.

    Python
    Auf GitHub ansehen↗5,799
  • npm/node-semverAvatar von npm

    npm/node-semver

    5,435Auf GitHub ansehen↗

    node-semver ist ein Werkzeug zum Parsen, Vergleichen und Validieren von Versions-Strings gemäß der Semantic-Versioning-Spezifikation. Es fungiert als Evaluator für Versionsbereiche, als Vergleichsbibliothek und als Utility zum Inkrementieren von Release-Identifikatoren. Das Projekt enthält ein Utility zur Versions-Coercion, das numerische Sequenzen aus nicht-konformen Strings extrahiert, um eine semantische Version zu approximieren. Zudem bietet es Logik zur Berechnung des nächsten Release-Strings durch Inkrementierung von Major-, Minor- oder Patch-Segmenten. Die Bibliothek deckt ein breites Spektrum an Funktionen für das Versionsmanagement ab, einschließlich Bereichsanalyse zur Bestimmung, ob Versionen spezifische Einschränkungen erfüllen, Sortierung von Versionslisten basierend auf Präzedenz sowie Validierung sowohl einzelner Versionen als auch von Versionsbereichen.

    Provides logic to determine if one software version is greater than, less than, or equal to another.

    JavaScript
    Auf GitHub ansehen↗5,435
  • benjamine/jsondiffpatchAvatar von benjamine

    benjamine/jsondiffpatch

    5,324Auf GitHub ansehen↗

    jsondiffpatch ist eine JSON-Diff- und Patch-Bibliothek, die dazu entwickelt wurde, Unterschiede zwischen zwei JSON-Objekten zu berechnen und diese Änderungen anzuwenden, um Zustände zu synchronisieren. Sie fungiert als Synchronisationstool zur Berechnung von Deltas und zum Anwenden von Patches, um komplexe verschachtelte JavaScript-Objekte zu aktualisieren oder zurückzusetzen. Das Projekt bietet eine RFC 6902-konforme Implementierung von JSON Patch für atomare Updates sowie einen visuellen Diff-Renderer, der Daten-Deltas in menschenlesbare HTML-Ansichten konvertiert. Es enthält ein spezialisiertes Text-Diff-Tool zur Durchführung einer feingranularen, zeichenbasierten Analyse langer Strings innerhalb von JSON-Datenwerten. Die Bibliothek deckt ein breites Spektrum an Funktionen ab, einschließlich rekursiver Delta-Generierung und Array-Differenzberechnung unter Verwendung von Longest-Common-Subsequence-Algorithmen. Sie unterstützt logisches Array-Diffing zur Erkennung von Elementverschiebungen mittels benutzerdefiniertem Hashing und bietet Multi-Format-Ausgabeoptionen wie farbcodierte Konsolenformatierung und eine dedizierte React-Komponente für visuelle Vergleiche.

    Provides a mechanism to customize how differences are calculated by adding or replacing filters.

    TypeScript
    Auf GitHub ansehen↗5,324
  • janet-lang/janetAvatar von janet-lang

    janet-lang/janet

    4,308Auf GitHub ansehen↗

    Janet ist eine Lisp-basierte dynamische Programmiersprache mit einer registerbasierten Bytecode-Virtual-Machine und einer einbettbaren Skript-Engine. Sie fungiert als Fiber-basierte Nebenläufigkeits-Runtime und enthält eine Parsing-Engine, die auf Parsing Expression Grammars basiert. Das Projekt zeichnet sich durch die Fähigkeit aus, über eine minimale Header-Schnittstelle in C- oder C++-Anwendungen integriert zu werden. Es nutzt ein Lisp-artiges Makrosystem für Code-Transformationen zur Kompilierzeit und verwendet prototypbasierte Tabellenvererbung für objektorientiertes Verhalten. Die Runtime deckt ein breites Spektrum an Funktionen ab, einschließlich asynchronem IO-Management durch eine nicht-blockierende Event-Loop, nativer Bibliotheksinteroperabilität über ein Foreign Function Interface und umfassender Textverarbeitung unter Verwendung von PEG-Grammatiken. Sie bietet zudem Tools für die Systemautomatisierung, wie eine Read-Eval-Print-Loop, ein Modulsystem für Symbolauflösung und Utilities für Netzwerk-Socket-Kommunikation und Dateisystemverwaltung. Die Umgebung enthält Diagnosetools für das Debugging der Bytecode-Ausführung und kann Quellcode in eigenständige binäre Executables bündeln.

    Provides mechanisms to define custom ordering and comparison for abstract types.

    Ccfunctional-languageimperative-language
    Auf GitHub ansehen↗4,308
  • artsabintsev/sirenAvatar von ArtSabintsev

    ArtSabintsev/Siren

    4,294Auf GitHub ansehen↗

    Siren ist ein Tool für das Management von App-Updates, das verfügbare Versionen in App-Stores erkennt und Nutzer dazu auffordert, ihre Installationen zu aktualisieren. Es verwendet semantische Versionierung, um die installierte Version mit der Store-Version zu vergleichen, und integriert sich in Store-APIs, um die neuesten Metadaten abzurufen. Das Tool steuert das Update-Erlebnis durch Implementierungen für erzwungene Updates, optionale Update-Vorschläge und phasenweise Rollouts, bei denen Benachrichtigungen für eine festgelegte Anzahl von Tagen zurückgestellt werden können. Es enthält einen Kompatibilitätsprüfer für das Betriebssystem, um Update-Aufforderungen zu verhindern, falls das Gerät die Mindestanforderungen der neuen Version nicht erfüllt. Das System bietet lokalisierte Benachrichtigungsoberflächen, die Update-Meldungen an die Gerätesprache oder ein festgelegtes Locale anpassen. Es steuert das Verhalten der Benutzeroberfläche basierend darauf, ob ein Update als obligatorisch oder optional markiert ist.

    Uses semantic versioning to compare the currently installed application version against the latest version available in the app store.

    Swift
    Auf GitHub ansehen↗4,294
  • tc39/proposal-signalsAvatar von tc39

    tc39/proposal-signals

    4,138Auf GitHub ansehen↗

    This project is an ECMAScript proposal to introduce a native reactive state primitive to the JavaScript language. It defines a standard for fine-grained reactivity, providing a mechanism to track value dependencies and automatically propagate updates through a dependency graph. The specification focuses on managing computed values and side effects based on granular changes to state. It enables the synchronization of state updates across a dependency graph and the tracking of relationships between values and their observers without manual subscriptions. The proposal covers efficient value com

    Supports user-defined comparison functions to determine if a value change should trigger updates.

    Auf GitHub ansehen↗4,138
  • kentcdodds/match-sorterAvatar von kentcdodds

    kentcdodds/match-sorter

    4,099Auf GitHub ansehen↗

    match-sorter is a JavaScript string matching and array filtering utility designed to rank and sort lists based on search string relevance. It functions as a deterministic best-match sorting library and fuzzy search engine for filtering object arrays. The tool prioritizes results using weighted match heuristics that favor exact matches, acronyms, and string containment. It employs a deterministic ranking system to ensure consistent ordering and supports diacritic-insensitive normalization to match characters regardless of accents. The library covers match criteria specification via key-path p

    Provides the ability to override default sorting results using external comparison functions.

    TypeScript
    Auf GitHub ansehen↗4,099
  • afragen/git-updaterAvatar von afragen

    afragen/git-updater

    3,318Auf GitHub ansehen↗

    WordPress Git Updater is a software update manager that automates the installation and updating of plugins and themes hosted on Git repositories. It functions as an automated release system and a secure client for private Git repository management, linking software components to providers like GitHub, GitLab, or enterprise Git instances for version tracking. The tool distinguishes itself through detailed branch management, allowing users to target specific branches or tagged releases for deployment. It supports secure access to private codebases via personal access tokens and provides a modul

    Allows developers to define custom version comparison rules and rollback download links.

    PHPgitlanguage-packupdater
    Auf GitHub ansehen↗3,318
  • alexreardon/memoize-oneAvatar von alexreardon

    alexreardon/memoize-one

    2,971Auf GitHub ansehen↗

    Memoize-one is a JavaScript function memoization library that stores function return values and serves them instantly on repeat calls with identical arguments to avoid redundant calculations. It retains only the single most recent argument set and return value, maintaining a constant and bounded memory footprint. The library features a shallow argument comparison engine and includes the runtime execution context alongside input arguments during comparison to ensure state and binding changes trigger fresh computations. Users can inject custom equality functions to override the default argumen

    Accept custom equality logic to determine whether input arguments match previous invocations for fine-grained cache control.

    TypeScriptjavascriptmemoizationmemoize
    Auf GitHub ansehen↗2,971
  1. Home
  2. Software Engineering & Architecture
  3. Custom Comparison Logic

Unter-Tags erkunden

  • Comparison Function InjectionAllows extending sorting logic via user-supplied comparison functions. **Distinct from Custom Comparison Logic:** Distinct from Custom Comparison Logic: focuses on the mechanism of injecting external functions for sorting rather than state-change detection logic.
  • Version Comparison LogicCustom functions used to determine if a software version is newer than the currently installed one. **Distinct from Custom Comparison Logic:** Specifically handles software version strings and rollback logic rather than general value changes.