Collatz: JavaScript 🟨🟦🟩🟥

Colourised Collatz Coral; derived from this original by Edmund Harriss
Functions related to the Collatz/Syracuse/3N+1 problem, implemented in JavaScript (transpiled from TypeScript).
Getting Started
To install the latest from npm;
npm i @skenvy/collatzAlso available on deno. See the typescript import, the CommonJS import, or the ECMAScript import.
Usage
Provides the basic functionality to interact with the Collatz conjecture.
The parameterisation uses the same (P,a,b) notation as Conway’s generalisations.
Besides the function and reverse function, there is also functionality to retrieve the hailstone sequence, the “stopping time”/”total stopping time”, or tree-graph.
The only restriction placed on parameters is that both P and a can’t be 0.
Usage Examples
TSDoc+TypeDoc generated docs
Istanbul.js/nyc generated coverage
Developing
The first time setup
git clone https://github.com/Skenvy/Collatz.git && cd Collatz/javascript && make install_npm && make setupIterative development
The majority of make recipes for this are just wrapping an invocation of npm run ... on one of the package.json’s "scripts".
make docswill recreate the TypeDoc docs, based on TSDoc comments.make testwill run the mocha tests and attempt a dry run of the publishing.make lintwill run eslint.make verify_transpiled_checkinwill confirm you haven’t forgotten to check in changes to the transpiled output.make buildwill runnpm packafter linting, testing, and verifying check-in.