rp

reql-pointfree

Functional RethinkDB functions for point free programming

Showing:

Popularity

Downloads/wk

0

Maintenance

No Maintenance Data Available

Package

Dependencies

0

License

ISC

Type Definitions

Tree-Shakeable

No?

Categories

Readme

reql-pointfree

Functional RethinkDB functions for point free programming

works on the RethinkDB official driver and rethinkdbdash

Installation

just

npm install --save reql-pointfree

and you're set

Usage

import createReQL from 'reql-pointfree'
const { db, compose, filter, take, table, add, execute } = createReQL(r) // the rethink driver

// create a `reql` function to call your ReQLs
let reql = execute(r.connection) // rethinkdbdash is just execute()

// some functions
let exclaim = add('!') // r.something().add('!')
let head = take(0) // r.something()(0)
let getName = map(take('name')) // r.something().map(e => e('name'))
let filterSuperheroes = filter({ isSuperhero: true }) // r.something().filter({ isSuperhero: true })
let users = table('users') // r.table('users')
let earth = db('earth') // r.db('earth')

let getSuperheroesFromUsers = compose(filterSuperheroes, users, db)
let getNameOfFirstSuperheroFromUsers = compose(getName, head, getSuperheroesFromUsers)

// then, in your app..
reql(getNameOfFirstSuperheroFromUsers).then(....)
// and even
reql(getSuperheroesFromUsers).then(...)

this is the concept. you don't have to compose everything, but you CAN compose things. which is great IMO.

Functions

add

Just like the official driver says.

asc

Just like the official driver says.

coerceTo

Just like the official driver says.

compose

composes functions from right to left. supports Promises (thenables), ReQL and normal functions

db

Just like the official driver says.

desc

Just like the official driver says.

eqJoin

Just like the official driver says.

execute

creates a reql function, which can be composed too.

filter

Just like the official driver says.

get

Just like the official driver says.

isReQL

tells if the argument is a ReQL query

limit

Just like the official driver says.

map

calls map on SEQUENCE|ARRAY|TABLE|STREAM and do on other cases.

orderBy

Just like the official driver says.

run

Just like the official driver says.

table

Just like the official driver says.

take

for taking stuff out of an object. just like

r.table('users').find({ isSuperhero: true })('name')
//                       take('name')(reql)-^^^^^^^^

toArray

Just like the official driver says.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial