@jsse/quick-maths
Version:
95 lines (67 loc) • 2.6 kB
Markdown
**NOTE:** This is a template repo containing a small but complete typescript library. It is intended to be used as a starting point for new typescript projects.
- typescript (module)
- tsup
- vitest
- prettier (default config)
- eslint
- cicd / gh-actions / dependabot
---
<!-- https://shields.io/badges/npm-version -->

Package/library/CLI that performs "quick-maths":
The algorithm for performing quick maths was first described by Big Shaq in his
PHD thesis, 2017, in which he states:
> "2 plus 2 is 4, minus one that's 3, quick maths." (Big Shaq et al., 2017)
_Reference: https://youtu.be/3M_5oYU-IsU?t=60_
The quick-maths algorithm is implemented in this package in ts/js and has a
CLI.
**FETTY WAP CONSTANT:** Additionally this library ships with utils for working
with the Fetty Wap Constant (Wap et al., 1738) as defined in [RFC-1738](https://www.youtube.com/watch?v=ZjODWsHFo5Y&t=11s).
(See usage below for more info on Fetty Wap Constant utils)
**MISSY ELLIOT PROTOCOL:** This library defines typescript generic types for the MissyElliotProtocol (MEP) as defined in her 2002 thesis [work-it](https://youtu.be/cjIvu7e6Wq8?si=lhf_PiT6hsUUxC_1&t=31); the protocol is not implemented in this library, just the type definition.
- Quick maths
- CLI
- Fetty Wap Const utils
- 100% test coverage, so you can rest easy
```bash
npm install @jsse/ts-template
```
**API**
```typescript
import { quickmaths } from "@jsse/quick-maths";
import FettyWapConstant, { is1738 } from "@jsse/quick-maths/fetty-wap-const";
/**
* QUICK MATHS
*/
const result = quickmaths(); // 3
console.log(`2 plus 2 that's 4 minus 1 that's ${result} quick maths!`);
/**
* FETTY WAP CONSTANT
*/
console.log(`Fetty Wap Constant: ${FettyWapConstant}`); // 1738
console.log(`Is Fetty Wap Constant 1738? ${is1738(FettyWapConstant)}`); // true
console.log(`Is Fetty Wap Constant 1739? ${is1738(1739)}`); // false
```
**CLI**
```bash
$ quick-maths
```
---
- pnpm is the package manager
- repo uses `just` (ref) as well as (p)npm scripts
- just-repo: https://github.com/casey/just
- just-docs: https://just.systems/man/en/
- prettier formatting uses the default config b/c configuring formaters is dumb
- tooling:
- tsup: bundle/build/type-check src
- vitest: test + coverage
- prettier: formatting - uses default config
- eslint: linter
- justfile: task-runner
- cicd / gh-actions / dependabot