A simple, easy, straight forward approach to update immutable data.
Immutable Data Collections
Internationalized calendar, date, and time manipulation utilities
a date and time library for javascript
Collection of utility function for use with Draftjs.
Immutability helpers with fast reads and acceptable writes
Check the immutability of TypeScript types
Immutable data structures for JavaScript which are backwards-compatible with normal JS Arrays and Objects.
PropType validators that work with Immutable.js.
Immutable version of dot-prop with some extensions
redux-immutable is used to create an equivalent function of Redux combineReducers that works with Immutable.js state.
A bunch of reactive utility types and functions, for building primitives with Solid.js
A collection of functions to perform immutable operations on plain JavaScript objects
Selectors for Redux.
Modern JavaScript date utility library
Immutable JSON patch with support for reverting operations
Immutable ArrayBuffer (the shim!)
React PureComponent implementation embracing Immutable.js
Modify deep object properties without modifying the original object (immutability). Works great with React and Redux.
A JavaScript library for efficient immutable updates
Serialize unserializable data and parse it back.
Generate Open Graph Images dynamically from HTML/CSS without a browser
Chrome Dev Tools formatter for the Immutable JS library
ESLint plugin to disable all mutation in JavaScript.
Enables immutable command objects to act as currable functions
Examples of immutable data structures and functional programming in Ruby
Small wrapper and functions for persistent, immutable data structures.
Creates and initializes an immutable struct in one step and provides redaction functionality.
An Immutable DataClass for Ruby Exposes a class factory function `Kernel::DataClass` and a class modifer `Module#dataclass', also creates two _tuple_ classes, `Pair` and `Triple`
PIN (Piece Identifier Notation) implementation for Ruby. Provides a rule-agnostic format for identifying pieces in abstract strategy board games with immutable identifier objects and functional programming principles.
SNN (Style Name Notation) implementation for Ruby. Provides a rule-agnostic format for identifying game styles in abstract strategy board games with immutable style name objects and functional programming principles.
SIN (Style Identifier Notation) implementation for Ruby. Provides a rule-agnostic format for identifying player styles in abstract strategy board games with immutable identifier objects and functional programming principles.
Dorm (Data ORM) is a lightweight, functional ORM built on Ruby's Data class. Features immutable records, monadic error handling inspired by dry-monads, and a functional programming approach to database operations.
A Ruby library for terminal text styling with ANSI colors and effects. Provides an elegant, functional API with immutable style objects that can be composed using the >> operator. Supports standard colors, hex values, and comprehensive text effects including bold, faint, italic, underline, overline, blink, inverse, and concealed text. Features type-safe argument validation using dry-schema and dry-types.
PNN (Piece Name Notation) provides a rule-agnostic, scalable naming system for identifying abstract strategy board game pieces. This gem implements the PNN Specification v1.0.0 with a modern Ruby interface featuring immutable piece name objects and functional programming principles. PNN uses canonical ASCII names with optional state modifiers and optional terminal markers (e.g., "KING", "queen", "+ROOK", "-pawn", "KING^", "+GENERAL^") to unambiguously refer to game pieces across variants and traditions. Ideal for engines, protocols, and tools that need clear and extensible piece identifiers.
Parse and generate Portable Action Notation (PAN) strings for representing atomic actions in abstract strategy board games including chess, shogi, xiangqi, and others. PAN provides an intuitive operator-based syntax with six core operators: "-" (move to empty square), "+" (capture), "~" (special moves with side effects), "*" (drop to board), "." (drop with capture), and "=" (in-place transformation), plus "..." (pass turn). Supports coordinates via CELL specification and piece identifiers via EPIN specification. Handles transformations ("e7-e8=Q"), enhanced/diminished states ("+R", "-P"), and style derivation markers ("K'"). Provides comprehensive validation, immutable action objects, and functional API design. Examples: "e2-e4" (move), "d1+f3" (capture), "e1~g1" (castling), "P*e5" (drop), "e7-e8=Q" (promotion), "..." (pass), "+d4" (static capture), "e4=+P" (modify).
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.