node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org ยป

ponder

yarn
npm run test

Needs a locally running instance of rethinkdb for tests.

TODO

  • Setup
    • Create database
    • Create tables
    • Ensure indexes
      • Single
      • Compound
      • Multi
      • Geo
    • connection management API
  • Schema
    • Type validation
    • Define indexes
    • Define relations without race conditions
      • hasOne
      • hasMany
      • two way hasMany (aka, manyToMany) requiring join table
    • Populating relations (aka, getJoin)
      • hasOne
        • single level
        • multi level
      • hasMany
        • single level
        • multi level
      • tap API allowing you to take control of the relation ReQL
      • API to allow you to choose which relations get loaded
    • Define virtuals
  • Models
    • ReQL proxying
    • Static methods
    • Instance methods
    • Saving
      • Inserting
      • Updating
        • Track updated properties
    • Deleting
    • Unique properties via lookup table
    • Pre/Post hooks
      • Include old version in hooks
  • Cursors
    • Return model instances
  • Changefeeds
    • Emit model instances
    • Automatic diffing with id
    • Ability to get old value
  • Mixins
    • Support
      • Model.with API
      • Recursive schema augmenting
      • Query tapping
      • [ ]
    • SoftDelete
    • Changelog
    • Timestamp