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

relike-all

v2.2.0

Published

Promisify all function in an object, using [relike][].

Downloads

64

Readme

relike-all npmjs.com The MIT License npm downloads

Promisify all function in an object, using relike.

code climate standard code style travis build status coverage status dependency status

Install

npm i relike-all --save

Usage

For more use-cases see the tests

const relikeAll = require('relike-all')

relikeAll

Promisify functions in an object. You can pass pattern to filter what should be promisified and what not. Using is-match, which is thin wrapper around micromatch. You should install is-match, if you want to use filtering.

Params

  • <source> {Object|Function}: The source object to promisify.
  • [pattern] {String|Array|RegExp|Function}: A glob pattern to filter, using micromatch.
  • [options] {Object}: Options passed to micromatch.
  • returns {Object|Function}: Same as incoming source.

Example

const relikeAll = require('relike-all')
const fs = relikeAll(require('fs'))

fs.readFile('package.json', 'utf8')
  .then(JSON.parse)
  .then(data => {
    console.log(data.name) // => 'relike-all'
    return 'package.json'
  })
  .then(fs.statSync)
  .then(stats => {
    console.log(stats) // => Stats object
  }, err => {
    console.error(err.stack)
  })

.promisify

Returns a function that will wrap the given fn. Instead of taking a callback, the returned function will return a promise whose fate is decided by the callback behavior of the given fn node function. The node function should conform to node.js convention of accepting a callback as last argument and calling that callback with error as the first argument and success value on the second argument. – Bluebird Docs on .promisify

Params

  • fn {Function}: Some sync or async function to promisify.
  • [Promize] {Function}: Promise constructor to be used on enviroment where no support for native.
  • returns {Function}: Promisified function, which always return a Promise.

Example

const fs = require('fs')
const relikeAll = require('relike-all')
const readFile = relikeAll.promisify(fs.readFile)

readFile('package.json', 'utf8')
  .then(JSON.parse)
  .then(data => {
    console.log(data.name) // => 'relike-all'
  }, err => {
    console.error(err.stack)
  })

.Promise

Customizing what Promise constructor to be used in old environments where there's no support for native Promise.
See more in relike's .Promise section for more info.

Example

const fs = require('fs')
const relikeAll = require('relike-all')

// using `when` promise on node <= 0.11.12
relikeAll.promisify.Promise = require('when') 

const readFile = relikeAll.promisify(fs.readFile)
const promise = readFile('index.js')

console.log(promise.Promise) // => The `when` promise constructor, on old enviroments
console.log(promise.___customPromise) // => `true` on old environments

Related

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github