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

expect-rejection

v2.0.0

Published

A minimal way to test rejections.

Downloads

92

Readme

A tiny library meant to scratch a personal itch.

If you want to test promise rejections in Chai, you can, but you need boilerplate. This package provides the boilerplate.

Background

I've gradually been phasing chai-as-promised out of my test suites. I used it a lot and even contributed substantial code to it but the use of async/await has lessened the need for it, and the direction chai-as-promised has been taking lately is not to my liking. At this point, the only thing that chai-as-promised can concisely do that Chai and async/await cannot is test rejections.

So I've been using boilerplate to test rejections in this test suite, and that test suite, and that other suite, etc. I'm tired of the code duplication. Hence this library.

Usage

Version 2 requires that you FIRST use the use function exported by this library to link this library with Chai.

Then you can call expectRejection. Read the TypeScript code for detailed documentation about parameters, etc.

import * as chai from "chai";
import { expectRejection, use } from "expect-rejection";

use(chai);

expectRejection(...);

FAQ

Q. Why [...] ?

A. An overarching answer to just about any "why..." question is "because this library is meant to scratch a personal itch." Many of my libraries are aiming to reach a wider audience, but not this one.

Q. Why TypeScript? Isn't this too small a library to bother with TS?

A. I'm using TS a lot. So I want a TS definition files but I don't like maintaining such files manually. So, yeah the source is in TS and I automatically get definition files from it. You can still use the library with plain JS if you want.

Q. Why not a Chai plugin?

A. I cannot be bothered. I've had the experience of dealing with the intricacies of Chai plugins. I'd rather not revisit. If you want to create a Chai plugin from this code, have at it.