20 dépôts
Functions that evaluate a given input against a set of rules and return a true or false result.
Distinct from Result-Returning Tests: Distinct from testing results: focuses on a functional programming pattern for input validation logic.
Explore 20 awesome GitHub repositories matching software engineering & architecture · Boolean Predicates. Refine with filters or upvote what's useful.
Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines. The library is distinguished by its use of automatic function currying and a data-last argument order. These design patterns allow multi-argument functions to be partially applied, simplifying the construction of processing chains where data is passed through a sequence of operations. The toolkit covers broad data manipulation capabilities, including list processin
Provides higher-order functions that use boolean predicates to filter elements or object properties.
validator.js is a JavaScript string validation and sanitization library. It provides a set of functions to verify that strings match specific patterns—such as emails, URLs, and alphanumeric formats—and a toolkit for cleaning and transforming text input to remove prohibited characters and trim whitespace. The library includes utilities for standardizing email addresses by lowercasing domains and removing sub-addressing markers. It also functions as an HTML entity escaper, replacing special characters with entities to prevent the browser from executing text as code. The project covers capabili
Implements validation functions that return boolean values to verify if strings match specific criteria.
zsh-syntax-highlighting is a Zsh shell extension and plugin that provides real-time syntax highlighting and visual feedback. It functions as an interactive command-line visual aid and regular expression text colorizer that distinguishes between commands, string literals, and shell constructs during input. The project allows for extensive customization through user-defined highlight rules, custom regular expression patterns, and predicate logic. It includes specific capabilities for path-based filtering and the assignment of custom colors to text segments. The system provides real-time comman
Executes boolean logic tests against matched text to determine the final color of a segment.
Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend. The library distinguishes itself through a token-based search implementation that supports word-order independence and relevance weighting. It utilizes edit-distance scoring to handle typos and insertions, and employs a system of field weighting to prioritize matches in high-value data keys. The
Implements parsing of boolean expressions to require or exclude specific text matches in queries.
ANTLR est un générateur de code basé sur la grammaire et un générateur d'analyseur multi-langage utilisé pour concevoir et implémenter des langages personnalisés. Il fonctionne comme une boîte à outils pour transformer des définitions de langage formel en code source exécutable pour traiter du texte structuré ou des fichiers binaires, tout en fournissant un framework pour construire et parcourir automatiquement des arbres d'analyse hiérarchiques. Le projet se distingue par sa capacité à générer des lexers et des analyseurs dans divers langages de programmation cibles à partir d'une seule définition de grammaire partagée. Il prend en charge les grammaires contenant une récursion à gauche directe et utilise une prédiction adaptative pour optimiser la vitesse d'analyse tout en maintenant la flexibilité. Le système couvre un large éventail de capacités, notamment l'analyse lexicale, la vérification sémantique via l'évaluation de prédicats et la gestion de données hiérarchiques. Il fournit des outils pour l'analyse des arbres d'analyse via des requêtes basées sur le chemin et des modèles de parcours visiteur-auditeur pour découpler la logique de grammaire des actions de l'application. Des utilitaires en ligne de commande sont disponibles pour tester les définitions de grammaire et déboguer la logique, et l'outil peut être exécuté dans des conteneurs Docker pour éviter les installations locales.
Executes boolean semantic predicates during parsing to constrain rule matching based on the current runtime context.
FluentValidation is a strongly-typed data validation library for .NET. It functions as a rule engine and input validation framework used to define and execute complex business rules and constraints for data objects. The library utilizes a fluent interface API, allowing the construction of readable and declarative validation constraints through method chaining. It leverages generics and lambda expressions to enforce data integrity and business logic at compile time. The project covers the enforcement of business rules, strongly-typed data validation, and input sanitization workflows to verify
Executes boolean predicate functions against object properties to determine if validation constraints are met.
is.js is a JavaScript validation library and data type checker. It provides a suite of utilities to verify whether variables are primitives, arrays, functions, or specific object types. The project allows for the implementation of custom validation logic and the use of naming namespaces to override default rules and regular expressions. It covers a broad range of validation capabilities, including numeric arithmetic properties, date and time analysis for relative and absolute ranges, and string format verification for patterns such as emails, URLs, and IP addresses. The library also includes
Provides functions that evaluate input properties against criteria to return boolean results for validation.
Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.
Validates values against custom boolean functions or type predicates.
ts-reset is a TypeScript type enhancement library that overrides and augments the built-in type definitions for standard JavaScript APIs. Its core purpose is to replace unsafe any return types with stricter alternatives like unknown, forcing developers to explicitly validate data before using it. The library achieves this through global type augmentation and declaration merging, applying changes across the entire project without requiring per-file imports. The library differentiates itself by targeting specific pain points in everyday TypeScript usage. It relaxes type constraints on array
Injects Boolean as a type predicate into filter callbacks to narrow array results to truthy values.
This project is an interactive programming education resource and tutorial designed for learning the Rust programming language and systems programming concepts. It provides a collection of runnable and editable code examples that serve as a practical reference for language syntax and implementation. The resource features an interactive code sandbox that allows users to execute and test code snippets in real time. It emphasizes the verification of technical accuracy by executing embedded code blocks during the build process to ensure all examples remain functional. The content covers a compre
Demonstrates the use of boolean predicates to verify if any element in a collection satisfies a condition.
Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi
Defines named predicates with typed arguments to represent mathematical or logical statements about diagram objects.
Vespa is a distributed search engine, vector database, and machine learning ranking engine. It serves as an AI search platform designed to handle large-scale document indexing and complex query processing across a cluster of nodes, combining keyword retrieval with high-dimensional embedding storage for semantic similarity search. The platform distinguishes itself by integrating machine learning models directly into the search pipeline to perform real-time inference and ranking. It converts these models into ranking expressions to score and order results based on relevance, while providing a s
Converts complex boolean search expressions into an optimized format to improve retrieval efficiency.
Vuelidate is a model-based validation library for Vue.js applications. It functions as a client-side data validator and validation engine that decouples verification logic from the user interface by checking data models and state objects against defined rules. The system tracks field interactions and marks inputs as dirty to manage when validation messages are triggered. This approach allows the library to provide real-time user input feedback and verify model integrity before data is submitted. The framework covers form state validation, validation error rendering, and the configuration of
Determines field validity by executing a series of boolean predicate functions.
Stateless est une bibliothèque de machine à états pour .NET utilisée pour gérer des comportements d'objets complexes et des workflows légers via du code C#. Il fonctionne comme un moteur de workflow asynchrone qui exécute des transitions d'état, des gardes et des actions d'entrée/sortie en utilisant des tâches asynchrones. La bibliothèque implémente une machine à états hiérarchique, permettant aux états enfants d'hériter des transitions et propriétés des super-états parents. Elle inclut un framework de persistance d'état qui découple le suivi d'état de la logique de la machine en lisant et écrivant l'état actuel vers des propriétés externes ou des bases de données. De plus, elle dispose d'un exportateur de visualisation de graphe qui génère des formats DOT ou Mermaid pour rendre les configurations de workflow sous forme de diagrammes visuels. Le système couvre le mapping de transition avec prise en charge des transitions réentrantes et internes, des clauses de garde basées sur des prédicats, et le dispatch de déclencheurs paramétriques. Il fournit également des capacités d'introspection de configuration de machine, des notifications de changement d'état, et l'exécution de logique synchrone ou asynchrone lors des entrées et sorties d'état.
Evaluates boolean predicate functions at runtime to determine the destination state when multiple transitions exist.
Reactor Core est une boîte à outils de programmation réactive et une fondation non bloquante pour composer des pipelines de données asynchrones sur la JVM. Il sert de framework de traitement de flux asynchrone et de système de gestion de contre-pression (backpressure), permettant aux développeurs de transformer, filtrer et combiner des séquences d'événements tout en régulant le flux de données entre les producteurs et les consommateurs pour éviter l'épuisement des ressources. La bibliothèque se différencie par un système sophistiqué de planification de la concurrence et un contrôle de flux basé sur la demande. Elle découple le traitement des signaux de threads spécifiques en utilisant un registre de planificateur et fournit des mécanismes pour la propagation de métadonnées immuables sensibles au contexte à travers les frontières asynchrones. Elle dispose également d'outils spécialisés pour la capture de traces au moment de l'assemblage et la planification en temps virtuel pour faciliter le test des opérateurs basés sur le temps. Le projet couvre un large éventail de capacités, incluant le traitement fonctionnel de données pour l'agrégation et le fenêtrage de séquences, une variété de stratégies de récupération d'erreurs comme les tentatives avec backoff exponentiel, et des utilitaires pour faire le pont entre les API de rappel (callback) héritées ou synchrones et les flux réactifs. Elle fournit en outre une instrumentation pour la surveillance des pipelines et une suite d'outils de test pour vérifier les séquences de signaux.
Includes operators that evaluate stream elements against predicates to emit a single boolean summary.
Vega-Lite is a high-level declarative language for specifying interactive, multi-view visualizations. It compiles a concise JSON specification into a full Vega visualization, automatically inferring scales, axes, and legends from encoding declarations. The grammar-of-graphics encoding maps data fields to visual channels such as position, color, size, and shape, while a multi-view composition grammar enables layered, faceted, concatenated, and repeated layouts. Reactive parameter binding links named parameters to input widgets, selections, and expressions for dynamic updates. The project suppo
Vega-Lite applies conditional styling or filtering by evaluating parameter state as a boolean predicate.
PegJS est un outil de grammaire d'expression d'analyse et un générateur d'analyseur JavaScript. Il fonctionne comme un compilateur de grammaire qui transforme les spécifications de grammaire formelle en code JavaScript exécutable pour analyser du texte structuré et traiter des chaînes d'entrée complexes. Le système génère des analyseurs déterministes qui évitent l'ambiguïté des grammaires non contextuelles. Il utilise un modèle d'analyse packrat avec mémoïsation pour garantir une complexité temporelle linéaire et emploie une analyse par descente récursive pour traiter l'entrée de manière hiérarchique descendante. La boîte à outils prend en charge l'implémentation de langages spécifiques au domaine et le développement de langages personnalisés. Elle inclut des capacités pour la définition de règles de grammaire récursives, des actions sémantiques en ligne pour transformer le texte correspondant en données structurées, et des prédicats sémantiques pour la correspondance conditionnelle. Le moteur de génération inclut des options de configuration pour équilibrer la vitesse d'exécution de l'analyseur résultant par rapport à la taille finale du code de sortie.
Evaluates boolean expressions during the parse process to determine if a specific grammar rule should be applied.
fsearch is a high-performance desktop file search tool and filesystem indexing engine. It provides near-instant location of files and folders on a local filesystem by utilizing a background indexing system that monitors filesystem changes in real time. The utility distinguishes itself through advanced query capabilities, including support for boolean search logic using AND, OR, and NOT operators, as well as regular expression and wildcard filtering. It allows for precise result refinement using literal character handling and specific search modifiers such as case sensitivity and exact matches
Processes and optimizes complex search expressions containing AND, OR, and NOT operators for use as index filters.
The Common Expression Language specification is a formal standard for a non-Turing-complete expression language designed for safe, portable, and fast logic evaluation. It serves as a cross-language logic standard and a declarative policy language, providing a consistent semantic framework for executing boolean expressions and data transformations across different programming environments. This specification acts as an embedded expression engine that allows applications to integrate portable logic for evaluating user-defined configurations. It is specifically designed to enable safe user-defin
Implements boolean predicates to evaluate inputs against rules and return true/false results.
Dry-validation est une bibliothèque Ruby conçue pour définir des schémas typés et des règles de validation complexes afin de vérifier et assainir les structures de données d'entrée. Elle fournit un framework formel pour construire une logique de validation modulaire, garantissant que les informations entrantes répondent aux exigences métier et aux formats de données spécifiques avant d'être traitées par une application. La bibliothèque utilise un langage spécifique au domaine (DSL) pour déclarer les règles de validation, qui sont ensuite analysées en objets exécutables. Elle se distingue par un système piloté par des macros qui regroupe la logique de validation courante dans des raccourcis réutilisables, ainsi qu'un modèle de composition récursive qui permet aux développeurs d'imbriquer des objets de validation pour construire des structures complexes et hiérarchiques. Cette approche permet la création d'une logique cohérente et modulaire qui empêche la duplication de code dans les grandes applications. Au-delà de la définition de schéma de base, la bibliothèque inclut un pipeline de coercition de type qui transforme les entrées brutes en formats attendus et un système d'agrégation d'erreurs structuré qui mappe les échecs à des chemins d'entrée spécifiques. Elle prend en charge des hooks de configuration pour l'intégration de dépendances externes et fournit des outils pour assainir les données, la rendant adaptée pour imposer des standards sur les requêtes API entrantes et les objets de données complexes.
Executes atomic logic checks against input data by mapping field keys to a library of reusable boolean verification methods.