npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

boulangerie

v1.0.0

Published

An adapter pattern for asyncronous data retrieval

Downloads

4

Readme

boulangerie


The goal of SQL bread is to equalize the playing field for all of the differenct connection managers out there.

TODO


  • [x] allow in adapter interface for the output
  • [ ] Incorporate pagination
  • [ ] Create a helper function for custom querybuilder count queries
  • [ ] Create an alternative delivery from raw sql
  • [ ] Tests with sequelize
  • [ ] Tests with knex
  • [ ] Tests with mysql-bricks
  • [ ] Allow flag for continuous resolution
  • [ ] Adapter for AWS DataAPI with MySQL
  • [x] adapter for knex/postgres
  • [x] adapter for knex/mysql
  • [x] adapter for graphql/apollo

Phases


  • build - building your query. Typically we would put our query builder here(graphql, knex, sequelize). Afterwards you could load an adapter function(e.g. bread) in order to extend build functionality
  • service - service allows the user to pick whatever layer they want to gather data through. It could be Apollo, Appsync, DataAPI, or the original case for this: sql.
  • output - Let's say we're getting something stripped down for efficiency from our server. We can rebuild our data smartly on this layer.

How it works


The premise of using this package is to be able to create 2 sensical phases of functions for any kind of data retrieval(if you wanted, you could add FTP in this)....a builder, and an executor.

* Builder


The builder is a list of query styles you can build for your queries it holds the build phase. You may want to have domain specific builders in this circumstance. Assume you have a list of properties, and each property has different types of queries. Simply design your builder to be able to have property specific queries in it. Maybe you just want to have a broad query that allows you to dump raw into it? That's doable too, it all goes down to what you want to be able to extend your build to be

* Executor


The executor is an asyncronous wrapper of builder that holds the service and output phases. It will apply and process all three phases and give you the data back