7 مستودعات
Tools that enforce data immutability by preventing unauthorized modifications to state objects.
Distinct from Mutation Monitors: None of the candidates relate to development-time immutability enforcement; they focus on UI behavior or remote mutation monitoring.
Explore 7 awesome GitHub repositories matching software engineering & architecture · Immutability Enforcement Utilities. Refine with filters or upvote what's useful.
Jotai is a state management library for React applications that utilizes an atomic model to handle data. It organizes application state into small, independent units called atoms, which automatically track dependencies and trigger granular updates to components. By building state through these composable primitives, the library ensures that only the necessary parts of an application re-render when data changes. The library distinguishes itself through its flexible approach to state composition and asynchronous data handling. It integrates promises directly into the state model, allowing devel
The state management system enforces immutability on stored objects by deep-freezing data to catch and prevent accidental modifications during development.
type-fest is a library of reusable utility types for performing complex transformations and validations on objects, arrays, strings, and numeric ranges in TypeScript. It provides a collection of type definitions designed to handle advanced structural changes and constraints. The project distinguishes itself by offering specialized logic for string literal processing, such as casing transformations and pattern-based modifications, and type-level arithmetic for calculating numeric ranges and absolute values. It also includes utilities for enforcing deep immutability, ensuring union mutual exclu
Provides utilities to create deeply read-only or deeply mutable versions of objects and collections.
Epoxy is an Android library for building complex RecyclerView screens using a model-driven approach. It generates RecyclerView adapter models at compile time from annotated custom views, data binding layouts, or view holders, eliminating the manual boilerplate typically associated with view holders and adapters. The library provides a diffing engine that automatically compares model lists and applies minimal updates with animations for insertions, removals, and moves. The library distinguishes itself through its controller-based model building, where a controller class with a buildModels meth
Validates that generated models are used correctly with controllers, throwing exceptions if modified after being added.
This is a configuration manager for Node.js applications that handles hierarchical settings across different deployment environments. It functions as an environment-based loader and settings parser that merges default configurations with overrides based on the current runtime context and hostname. The project distinguishes itself through a priority-based merge strategy that incorporates environment variables, command-line arguments, and external data sources to supersede file-based settings. It supports multi-format parsing for JSON, YAML, JavaScript, and TypeScript files, and allows for cust
Enforces read-only access to application settings by freezing configuration objects to prevent accidental runtime mutations.
هذا المشروع عبارة عن دليل شامل ومورد تعليمي للغة TypeScript. يغطي المبادئ الأساسية للغة، بما في ذلك نظام الأنواع الهيكلي، وتحليل الأنواع الساكن، وعملية تحويل ملفات المصدر المكتوبة بأنواع إلى JavaScript. تفصل المادة كيفية نمذجة البيانات المعقدة ومنطق الأنواع القابل لإعادة الاستخدام باستخدام الأنواع العامة (generics)، والأنواع الشرطية، والأنواع المعينة. كما يشرح استخدام ملفات الإعلان لتوفير سلامة الأنواع لمكتبات JavaScript الخارجية ودمج فحص الأنواع في مشاريع JavaScript الحالية عبر تعليقات JSDoc. يمتد نطاق المحتوى إلى أنماط البرمجة كائنية التوجه، ومعالجة DOM، وتكوين سلوكيات المترجم. يتضمن توجيهاً حول إدارة قابلية التشغيل البيني للوحدات، وإعداد خطوط أنابيب البناء، واستخدام ذكاء المحرر لتحسين إنتاجية المطور.
Details the use of readonly arrays and tuples to ensure data immutability during static analysis.
Returns هي مكتبة برمجة وظيفية لـ Python توفر حاويات آمنة من حيث النوع لإدارة الحالة، ومعالجة الأخطاء، والاختيارية. تعمل كمكتبة حاويات مونادية (monadic) وإطار عمل لمعالجة الأخطاء آمن من حيث النوع، حيث تستبدل كتل try-catch التقليدية وفحوصات null بحاويات Result و Optional لمعاملة الاستثناءات كبيانات. يتميز المشروع باستخدامه لمكون إضافي متخصص للتحليل الثابت Mypy للتحقق من خطوط الأنابيب الوظيفية ومحاكاة الأنواع ذات الرتب الأعلى. يوفر آليات لعزل الآثار الجانبية من خلال حاويات IO ويقدم إطار عمل لحقن التبعية الآمن من حيث النوع الذي يؤجل توفير التبعيات حتى التنفيذ النهائي للحساب. تغطي المكتبة نطاقاً واسعاً من البدائيات الوظيفية، بما في ذلك التجزئة (currying)، والتطبيق الجزئي، وتكوين خطوط أنابيب البيانات التصريحية. تدعم إدارة سير العمل غير المتزامن عن طريق تغليف الـ coroutines في حاويات لسلسلة العمليات غير المحظورة وتتضمن أدوات مساعدة لإدارة دورة حياة الموارد والتحقق من القوانين الجبرية للحاويات المخصصة.
Prevents mutation of internal state and addition of attributes using specialized immutability mixins.
This library provides a framework for defining typed, immutable data structures in PHP. It enables developers to construct structured objects from raw input arrays, ensuring consistent data shapes and schema integrity across different layers of an application. By enforcing strict property types and validation rules during instantiation, the library prevents invalid data states and simplifies the handling of complex information. The project distinguishes itself through its use of attribute-driven metadata, which allows for property renaming, custom validation, and serialization logic directly
Prevents modification of object properties after initialization to ensure data consistency and avoid unintended side effects.