Catch&Release ORM (crorm) is an opinionated React/Redux ORM that reduces boilerplate and simplifies immutable data access. Version 6.0.0 requires Redux with Immutable.js, data in JSONAPI format normalized by jsonapi-normalizer, and a 'data' reducer via combineReducers. It provides a base class for models with findById, all, where, create methods, instance dot access, and lifecycle hooks like onDestroy. Compared to alternatives like normalizr or redux-orm, it is tightly coupled to a specific tech stack (Redux, Immutable.Record, jsonapi-normalizer) and assumes CRUD actions. Maintenance and release cadence are unclear; last release appears to be v6.0.0.
npm install crormNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows how to configure the ORM with a Redux store, define a model, and fetch an entity by ID.
Ensure your combined reducers have { data: dataReducer }.Normalize your JSONAPI payloads before dispatching to Redux and use Immutable.js Records for entities.
Use 'ordered()' or manage ordering manually.
Use optional chaining or check hero.entity before accessing properties.
Call Hero.database(), not hero.database().
Set ORM.Config.database = store (the Redux store object).
Ensure Redux store has a 'data' key and entities are normalized as Immutable.Map.
Set ORM.Config.database = store before calling any findById, all, etc.
Install and import 'immutable' (e.g., import { Record } from 'immutable').Check if hero.entity exists before accessing properties: if(hero.entity) { ... }