An in-memory client-side ORM with map-reduce capabilities for JavaScript, version 0.7.0 (appears stable, low release cadence). It allows defining schemas with associations (has_many, belongs_to), querying data via Set and Query objects, and performing map-reduce aggregations (count, avg, min, max, variance, etc.). Differentiators: built-in map-reduce engine for client-side data analysis, schema-based relationships, and ordering/filtering operators. Works in Node.js and browser. Ships TypeScript types. Not to be confused with server-side ORMs like Sequelize or TypeORM.
npm install memory-ormNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Define schemas with associations, insert data, and query with pluck and relationship traversal.
Always define rules first using new Rule(), then use Set.merge() and Query.
Import Set as { Set as MemorySet } from 'memory-orm' if needed alongside native Set.Upgrade to >=0.5.0 and use Set.merge() for inserting data.
Add new Rule('todo').schema(...) before Set.todo.merge(...).Ensure the document exists with that _id before accessing relationships.
Remove duplicate new Rule('check') or check if rule already exists programmatically.