Coder Social home page Coder Social logo

breadfruit's Introduction

breadfruit

NPM

Not really bread. Not really fruit. Just like this package. Some simple helpers on top of knex.

breadfruit

create an instance of breadfruit

const config = {
  client: 'postgresql',
  connection: 'postgres://postgres@localhost:5432/someDatabase',
  pool: { min: 1, max: 7 }
};

const bread = require('breadfruit')(config);

Browse, Read, Edit, Add, Delete, Raw

const {browse, read, edit, add, del, raw} = require('breadfruit')(config);

//get an array of users, by table, columns, and a filter
const users = await browse('users', ['username', 'user_id'], {active: true});


//get a single user by table, columns, and a filter
const user = await read('users', ['username', 'first_name'], {user_id: 1337});


//edit a user by table, returned columns, updated values, and a filter
const updatedUser = await edit('users', ['username', 'first_name'], {first_name: 'Howard'}, {user_id: 1337});


//add a new user by table, returned columns, and user data
const newUser = await add('users', ['user_id'], {first_name: 'Howard', username: 'howitzer'});


//delete a user by table and a filter
const deleteCount = await del('users', {user_id: 1337});


//perform a raw query
const rows = await raw('select * from users');

breadfruit's People

Contributors

alysonz avatar monteslu avatar samrocksc avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

duncanbeevers

breadfruit's Issues

sqlite3 does not support returning.

sqlite3 does not support returning and apparently under some circumstances it is skipped, but sometimes it receives an error.

Steps to reproduce

  1. npm run tests

Possible Resolutions

I think t he best solution is to check the connector. I've done a little bit more research and it looks like MySQL also doesn't support a returning quality. I think it would behoove us to actual put this at a high emphasis for a fix.

can only have one db connection

fixing this will be a breaking change

right now we have a let knex at the top which is a singleton instance.

connect() should probably be the main export which gives us a new instance of the API. So our apps will likely have a bread.js file with returns the instance instead of calling breadfruit module directly in all the other files.

Throw better error message if method is invoked w/ improper signature

If a method is invoked with an incorrect signature, it would be helpful if an error was raised.

I was calling edit with too few params (3 instead of 4), and the only message I got was: TypeError: The operator "undefined" is not permitted

Sure, I should RTFM, but still! ๐Ÿคช

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.