0.1.0 • Published 9 years ago
future-gun v0.1.0
Future gun

Gun.js extensions for Promise based async flow control.
Promise methods are prefixed with $ by convention.
Install
npm: npm i -S future-gun (soon)
yarn: yarn add future-gun (soon)
from github: npm i -S kristianmandrup/future-gun
Dependencies
gunv. 0.6 or higherchain-gun
Use
Assumes Babel.js or similar transpiler setup
To add all chain methods
import Gun from 'gun/gun'
import future from 'future-gun'
future(Gun)To control which chain methods to add
import {
addPromise
} from 'future-gun'
add(Gun, 'fields', 'timed', 'value')Import individual chain modules
import {
fields,
addFields
} from 'future-gun/dist/fields'
addFields(Gun.chain)Require (Node.js)
Using require
const Gun = require('gun/gun')
require('future-gun')(Gun)Promise extensions
ES6 Promise or ES7 async/await) are always prefixed with $
.$fields(opt)- get fields (ie. property names).$iterate(opts)- iterate.$mapReduce(options, putCb, opt)- map/reduce.$no(opt)- blocks if no data, see no.$val(opt)- full value (with meta).$value(opt)- get value (no meta).$valueAt(path, opt)- get value at thepath(no meta).$put(opt)- put value and wait until done (synced).$putAt(path, opt)- put value at thepathand wait until done (synced).$recurse(filter)- recursive filter.$timed(opts)- timed recursion
mapReduce
See full mapReduce guide
Contributing
Install dependency modules/packages
npm i
Compile/Build
The project includes a gulpfile configured to use Babel 6.
All /src files are compiled to /dist including source maps.
Scripts:
- start:
npm start - build:
npm run build(ie. compile) - watch and start:
npm run watch - watch and build:
npm run watch:b
Run Tests
npm test or simply ava test
License
MIT Kristian Mandrup
0.1.0
9 years ago