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

@bridge-tools/generator

v0.2.2

Published

This is the hand generation library which is part of the `@bridge-tools` suite of open-source bridge libraries written in Typescript. For more information on the `@bridge-tools` libraries, see [@bridge-tools/core](https://github.com/aaron-hutton/bridge-to

Downloads

60

Readme

@bridge-tools/generator

This is the hand generation library which is part of the @bridge-tools suite of open-source bridge libraries written in Typescript. For more information on the @bridge-tools libraries, see @bridge-tools/core.

Features

  • Encode a bridge deal into a bigint
  • Decode a bigint into a bridge deal
  • Generate random bigints using multiple methods:
    • math.random - This will be available in any javascript application
    • crypto.getRandomValues - This will be available in browsers. For more information see mozilla or caniuse.
    • crypto.randomInt - Moved to @bridge-tools/rng-node-crypto. This will be available when running the javascript via nodejs. For more information see randomInt.

Installation

@bridge-tools/generator is available on npm.

It can be installed via:

$ npm i @bridge-tools/generator

Usage

To start generating deals it is as simple as:

const { generate } = require("@bridge-tools/generator");

const deal = generate({
  num: 5,
});

We have benchmarked the library, with the results available in the BENCHMARKS file.

For more examples and the code used for the benchmarks, see the examples directory.

We would appreciate attribution, just a simple link back to this github, but we have not made it a requirement.

Disclaimer: The use of cryptographically secure random number generators provided in this library does not guarantee that the deal generation is secure. The developers have not and do not have the capability of assuring the cryptographic security of the deal generation. Using this library for competitive competitions is entirely at your risk. Neither bridge-tools nor it's contributors accepts responsibility due to any damage caused by the use of this library.

Testing

The unit tests can be run via the command:

$ npm test

Getting involved

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker or ask a question on the discord. To get in touch directly you can email us at [email protected].

To contribute either send us an email or join the discord. Contributions should follow the guidelines set out in CONTRIBUTING.

If you would like to support further development of the @bridge-tools suite you can buy us a coffee.

See also

Current

  • @bridge-tools/core - The core library, which contains the types and basic functions for most bridge functionality.

Planned

  • @bridge-tools/lin - For conversion to and from lin files
  • @bridge-tools/pbn - For conversion to and from pbn files
  • @bridge-tools/dds - A pure javascript double-dummy solver which can be run in a browser

Acknowledegments

  1. Big Deal - Hans van Staveren - Provided lots of background knowledge on deal generation.
  2. Mapping Bridge Deals - Richard Pavlicek - Provided the algorithms used to convert a deal to and from an id.