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

@stein197/bw

v1.0.0

Published

Easier bitwise operations

Downloads

6

Readme

Easier bitwise operations

This package provides a tiny set of functions to make work with bitmask much easier.

Installation

npm install @stein197/bw

Or embed directly in HTML from release page

Usage

The next code chunk illustrates all available functions that the package provides. For more details refer to doc comments in the source code.

import * as bw from "@stein197/bw";

bw.get(0b1011, 0); // 1: The least significant bit
bw.set(0b1011, 2); // 0b1111: Sets bit at index 2 to 1
bw.unset(0b1011, 1); // 0b1001: Unsets bit at index 1
bw.toggle(0b1011, 0); // 0b1010: Toggles (inverses) bit at index 0
bw.toArray(0b1011); // [1, 1, 0, 1]: Converts number into a bit array
bw.fromArray([1, 1, 0, 1]); // 0b1011: Converts bitarray into a number

Note that index counting starts at 0 and goes from right to left. For example bit at 0 index for 0b100 number is 0 and the only 1 in the number can be referred by index 2.

NOTE: For bit arrays the order of bits is reversed. This is done in order to access bits in array in the same manner as for numbers. So bit at index 0 refers to the least significant bit.

NPM scripts

  • clean cleans output files
  • build builds the project
  • test builds and tests the project