Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bartozzz/mads
Set of TypeScript utility modules for working with mathematics, algorithms and data structures.
https://github.com/bartozzz/mads
algorithms computer-science data-structures mathematics typescript
Last synced: 6 days ago
JSON representation
Set of TypeScript utility modules for working with mathematics, algorithms and data structures.
- Host: GitHub
- URL: https://github.com/bartozzz/mads
- Owner: Bartozzz
- License: mit
- Created: 2019-12-22T01:24:19.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T03:30:36.000Z (almost 2 years ago)
- Last Synced: 2024-05-02T06:14:03.324Z (6 months ago)
- Topics: algorithms, computer-science, data-structures, mathematics, typescript
- Language: TypeScript
- Homepage:
- Size: 2.78 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 101
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# MADS
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)
[![Known Vulnerabilities](https://snyk.io/test/github/Bartozzz/mads/badge.svg?targetFile=package.json)](https://snyk.io/test/github/Bartozzz/mads?targetFile=package.json)
[![Default CI/CD](https://github.com/Bartozzz/mads/workflows/Default%20CI/CD/badge.svg)](https://github.com/Bartozzz/mads/actions)**MADS** (_Mathematics, Algorithms, Data Structures_) is a set of TypeScript utility modules for working with various mathematical functions, algorithms and data structures.
> **Note:** documentation and examples for each package are published in their respective [READMEs](#installation). Please, refer to those resources for installation details and API references.
## Installation
| Package | Version | Dependencies |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| [`mads-constants`](/packages/mads-constants) | [![npm](https://img.shields.io/npm/v/mads-constants.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-constants) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-constants)](https://www.npmjs.com/package/mads-constants) |
| [`mads-coordinates`](/packages/mads-coordinates) | [![npm](https://img.shields.io/npm/v/mads-coordinates.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-coordinates) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-coordinates)](https://www.npmjs.com/package/mads-coordinates) |
| [`mads-easing`](/packages/mads-easing) | [![npm](https://img.shields.io/npm/v/mads-easing.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-easing) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-easing)](https://www.npmjs.com/package/mads-easing) |
| [`mads-graph`](/packages/mads-graph) | [![npm](https://img.shields.io/npm/v/mads-graph.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-graph) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-graph)](https://www.npmjs.com/package/mads-graph) |
| [`mads-utils`](/packages/mads-utils) | [![npm](https://img.shields.io/npm/v/mads-utils.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-utils) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-utils)](https://www.npmjs.com/package/mads-utils) |
| [`mads-vec2`](/packages/mads-vec2) | [![npm](https://img.shields.io/npm/v/mads-vec2.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-vec2) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-vec2)](https://www.npmjs.com/package/mads-vec2) |
| [`mads-vec3`](/packages/mads-vec3) | [![npm](https://img.shields.io/npm/v/mads-vec3.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-vec3) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-vec3)](https://www.npmjs.com/package/mads-vec3) |
| [`mads-queue`](/packages/mads-queue) | [![npm](https://img.shields.io/npm/v/mads-queue.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-queue) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-queue)](https://www.npmjs.com/package/mads-queue) |
| [`mads-stack`](/packages/mads-stack) | [![npm](https://img.shields.io/npm/v/mads-stack.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-stack) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-stack)](https://www.npmjs.com/package/mads-stack) |
| [`mads-heap`](/packages/mads-heap) | [![npm](https://img.shields.io/npm/v/mads-heap.svg?maxAge=2592000)](https://www.npmjs.com/package/mads-heap) | [![Dependency Status](https://david-dm.org/Bartozzz/mads.svg?path=packages/mads-heap)](https://www.npmjs.com/package/mads-heap) |
| |## Contributing
### Development
We have prepared multiple commands to help you develop `mads` on your own. You will need a local copy of [Node.js](https://nodejs.org/en/) installed on your machine. Then, follow the steps bellow:
1. Install [`lerna`](https://github.com/lerna/lerna) globally:
```bash
$ npm install -g lerna
```2. Install project dependencies:
```bash
$ npm install
```3. Install packages dependencies and link them together:
```bash
$ npm run bootstrap
```#### Usage
```bash
$ npm run
```#### List of commands
| Command | Description |
| :---------- | :------------------------------------------------------------ |
| `bootstrap` | Links local packages together and install their dependencies. |
| `build` | Builds all packages. |
| `docs` | Builds documentation for all packages. |
| `start` | Starts tests in watch mode for all packages. |
| `test` | Alias for `npm run test:unit` and `npm run test:lint`. |
| `test:unit` | Starts units tests for all packages. |
| `test:lint` | Starts linters for all packages. |### Scaffolding
We use [Hygen](https://www.hygen.io/) to create new ready-to-develop packages for MADS. If you want to automatically create a new package, run the following command and follow the prompt tips:
```bash
$ npx hygen package new
```### License
**MADS** was created and developed by [Bartosz Łaniewski](https://github.com/Bartozzz). The full list of contributors can be found [here](https://github.com/Bartozzz/mads/graphs/contributors). Each package is [MIT licensed](https://github.com/Bartozzz/mads/blob/master/LICENSE), except for packages that provide a different LICENSE file.
### Bug reporting
[![Github Open Issues](https://img.shields.io/github/issues-raw/Bartozzz/mads.svg)](https://github.com/Bartozzz/mads/issues)
[![Github Closed Issues](https://img.shields.io/github/issues-closed-raw/Bartozzz/mads.svg)](https://github.com/Bartozzz/mads/issues?q=is%3Aissue+is%3Aclosed)
[![Github Pull Requests](https://img.shields.io/github/issues-pr-raw/Bartozzz/mads.svg)](https://github.com/Bartozzz/mads/pulls)**We want contributing to MADS to be fun, enjoyable, and educational for anyone, and everyone.** Changes and improvements are more than welcome! Feel free to fork and open a pull request. If you have found any issues, please [report them here](https://github.com/project-inra/Bartozzz/mads/new) - they are being tracked on [GitHub Issues](https://github.com/Bartozzz/mads/issues).