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

empower

v1.3.1

Published

Power Assert feature enhancer for assert function/object

Downloads

582,036

Readme

empower

Build Status NPM package Bower package Dependency Status Coverage Status Code Climate License Built with Gulp

Power Assert feature enhancer for assert function/object.

DESCRIPTION

empower is a core module of power-assert family. empower enhances standard assert function or any assert-like object to work with power-assert feature added code instrumented by espower.

empower works with standard assert function (best fit with Mocha), and also supports assert-like objects/functions provided by various testing frameworks such as QUnit, buster.js, and nodeunit.

Pull-requests, issue reports and patches are always welcomed. See power-assert project for more documentation.

CHANGELOG

See CHANGELOG

API

var enhancedAssert = empower(originalAssert, formatter, [options])

| return type | |:-----------------------| | function or object |

empower function takes function or object(originalAssert) and formatter function created by power-assert-formatter then returns PowerAssert feature added function/object base on originalAssert. If destructive option is falsy, originalAssert will be unchanged. If destructive option is truthy, originalAssert will be manipulated directly and returned enhancedAssert will be the same instance of originalAssert.

originalAssert

| type | default value | |:-----------------------|:--------------| | function or object | N/A |

originalAssert is an instance of standard assert function or any assert-like object. see SUPPORTED ASSERTION LIBRARIES and ASSERTION LIBRARIES KNOWN TO WORK section. Be careful that originalAssert will be manipulated directly if destructive option is truthy.

formatter

| type | default value | |:-----------|:--------------| | function | N/A |

formatter function created by power-assert-formatter.

options

| type | default value | |:---------|:--------------| | object | (return value of empower.defaultOptions()) |

Configuration options. If not passed, default options will be used.

options.destructive

| type | default value | |:----------|:--------------| | boolean | false |

If truthy, modify originalAssert destructively.

If false, empower mimics originalAssert as new object/function, so originalAssert will not be changed. If true, originalAssert will be manipulated directly and returned enhancedAssert will be the same instance of originalAssert.

options.modifyMessageOnRethrow

| type | default value | |:----------|:--------------| | boolean | false |

If truthy, modify message property of AssertionError on rethrow.

options.saveContextOnRethrow

| type | default value | |:----------|:--------------| | boolean | false |

If truthy, add powerAssertContext property to AssertionError on rethrow.

modifyMessageOnRethrow option and saveContextOnRethrow option makes behavior matrix as below.

| modifyMessageOnRethrow | saveContextOnRethrow | resulting behavior | |:-----------------------|:---------------------|:--------------------------------------------------| | false (default) | false (default) | Always modify assertion message argument directly | | true | false | Modify message of AssertionError on fail | | false | true | Do not modify message of AssertionError but add powerAssertContext property on fail | | true | true | On fail, modify message of AssertionError and also add powerAssertContext property |

options.patterns

| type | default value | |:--------------------|:--------------------| | Array of string | objects shown below |

[
    'assert(value, [message])',
    'assert.ok(value, [message])',
    'assert.equal(actual, expected, [message])',
    'assert.notEqual(actual, expected, [message])',
    'assert.strictEqual(actual, expected, [message])',
    'assert.notStrictEqual(actual, expected, [message])',
    'assert.deepEqual(actual, expected, [message])',
    'assert.notDeepEqual(actual, expected, [message])',
    'assert.deepStrictEqual(actual, expected, [message])',
    'assert.notDeepStrictEqual(actual, expected, [message])'
]

Target patterns for power assert feature instrumentation.

Pattern detection is done by escallmatch. Any arguments enclosed in bracket (for example, [message]) means optional parameters. Without bracket means mandatory parameters.

var options = empower.defaultOptions();

Returns default options object for empower function. In other words, returns

{
    destructive: false,
    modifyMessageOnRethrow: false,
    saveContextOnRethrow: false,
    patterns: [
        'assert(value, [message])',
        'assert.ok(value, [message])',
        'assert.equal(actual, expected, [message])',
        'assert.notEqual(actual, expected, [message])',
        'assert.strictEqual(actual, expected, [message])',
        'assert.notStrictEqual(actual, expected, [message])',
        'assert.deepEqual(actual, expected, [message])',
        'assert.notDeepEqual(actual, expected, [message])',
        'assert.deepStrictEqual(actual, expected, [message])',
        'assert.notDeepStrictEqual(actual, expected, [message])'
    ]
}

SUPPORTED ASSERTION LIBRARIES

ASSERTION LIBRARIES KNOWN TO WORK

INSTALL

via npm

Install

$ npm install --save-dev empower

use empower npm module on browser

empower function is exported

<script type="text/javascript" src="./path/to/node_modules/empower/build/empower.js"></script>

via bower

Install

$ bower install --save-dev empower

Then load (empower function is exported)

<script type="text/javascript" src="./path/to/bower_components/empower/build/empower.js"></script>

OUR SUPPORT POLICY

We support Node under maintenance. In other words, we stop supporting old Node version when their maintenance ends.

We also support "modern enough" browsers such as Chrome, Firefox, Safari, Edge etc.

Any other environments are not supported officially (means that we do not test against them on CI service). empower is known to work with old browsers, and trying to keep them working though.

AUTHOR

CONTRIBUTORS

LICENSE

Licensed under the MIT license.