Skip to content

Commit ea4a326

Browse files
author
Timo Bechtel
committed
feat: initial commit
0 parents  commit ea4a326

15 files changed

+17045
-0
lines changed

.eslintrc.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module.exports = {
2+
env: {
3+
browser: true,
4+
es6: true,
5+
node: true,
6+
},
7+
parserOptions: {
8+
ecmaVersion: 2019,
9+
sourceType: 'module',
10+
},
11+
plugins: ['jest'],
12+
extends: ['eslint:recommended', 'plugin:jest/recommended'],
13+
};

.github/workflows/release.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
jobs:
9+
release:
10+
name: Release
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v1
15+
- name: Setup Node.js
16+
uses: actions/setup-node@v1
17+
with:
18+
node-version: 12
19+
- name: Install dependencies
20+
run: npm ci
21+
- name: Test
22+
run: npm test
23+
env:
24+
CI: true
25+
- name: Publish
26+
env:
27+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
29+
run: npx semantic-release

.github/workflows/test.yml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Test
2+
3+
on: pull_request
4+
5+
jobs:
6+
test:
7+
name: Test
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout
11+
uses: actions/checkout@v1
12+
- name: Setup Node.js
13+
uses: actions/setup-node@v1
14+
with:
15+
node-version: 12
16+
- name: Install dependencies
17+
run: npm ci
18+
- name: Test
19+
run: npm test
20+
env:
21+
CI: true

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
dist
3+
.vscode

.npmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
access = 'public'

.prettierrc.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = {
2+
tabWidth: 2,
3+
semi: true,
4+
singleQuote: true,
5+
trailingComma: 'es5',
6+
};

.releaserc.json

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"plugins": [
3+
"@semantic-release/commit-analyzer",
4+
"@semantic-release/release-notes-generator",
5+
"@semantic-release/changelog",
6+
"@semantic-release/npm",
7+
"@semantic-release/git",
8+
"@semantic-release/github"
9+
]
10+
}

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# 1.0.0 (2020-04-18)
2+
3+
4+
### Features
5+
6+
* initial commit ([5abf800](https://github.com/CompactJS/remap/commit/5abf8009ec03f635c6df72c1d2a862627c861b8d))

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 Timo Bechtel
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<h1 align="center">@compactjs/random</h1>
2+
<h3 align="center">Simple module to generate random values from a given range or array.</h3>
3+
<p align="center">
4+
<a href="https://www.npmjs.com/package/@compactjs/random" target="_blank">
5+
<img alt="Version" src="https://img.shields.io/npm/v/@compactjs/random.svg">
6+
</a>
7+
<a href="https://github.com/CompactJS/random/blob/master/LICENSE" target="_blank">
8+
<img alt="License: MIT" src="https://img.shields.io/github/license/compactjs/random" />
9+
</a>
10+
</p>
11+
<p align="center">
12+
·
13+
<a href="https://github.com/CompactJS/random#readme">Homepage</a>
14+
·
15+
<a href="https://github.com/CompactJS/random/issues">Report Bug / Request Feature</a>
16+
·
17+
</p>
18+
19+
## Table of Contents
20+
21+
- [Installation](#Install)
22+
- [Usage](#usage)
23+
- [Test](#run-tests)
24+
- [Contact](#contact)
25+
- [Contributing](#Contributing)
26+
- [License](#license)
27+
28+
## Install
29+
30+
### NPM:
31+
32+
```sh
33+
npm install @compactjs/random
34+
```
35+
36+
## Usage
37+
38+
```typescript
39+
/**
40+
* Returns a pseudo random number between min and max.
41+
* (min inclusive, max exclusive)
42+
* Max can be smaller than min.
43+
* If max is not omitted, between 0 and min.
44+
* If min is not omitted, between 0 and 1.
45+
*/
46+
function random(min?: number, max?: number): number;
47+
48+
/**
49+
* Returns a random item from a given array
50+
* @param choices to select from
51+
*/
52+
function pick(choices: any[]): any;
53+
```
54+
55+
### As module:
56+
57+
```javascript
58+
import { random, pick } from '@compactjs/random';
59+
```
60+
61+
### Example:
62+
63+
```javascript
64+
random(10, 100); // => random value between (including) 10 and 100
65+
random(10); // => random value between 0 and 10
66+
random(); // => random value between 0 and 1
67+
68+
pick([0, 1, 2, 3]); // => picks random value from 0,1,2,3
69+
```
70+
71+
## Run tests
72+
73+
```sh
74+
npm run test
75+
```
76+
77+
## Contact
78+
79+
👤 **Timo Bechtel**
80+
81+
- Website: https://timobechtel.com
82+
- Twitter: [@TimoBechtel](https://twitter.com/TimoBechtel)
83+
- GitHub: [@TimoBechtel](https://github.com/TimoBechtel)
84+
85+
## 🤝 Contributing
86+
87+
Contributions, issues and feature requests are welcome!<br />
88+
89+
1. Check [issues](https://github.com/CompactJS/random/issues)
90+
1. Fork the Project
91+
1. Create your Feature Branch (`git checkout -b feat/AmazingFeature`)
92+
1. Test your changes `npm run test`
93+
1. Commit your Changes (`git commit -m 'feat: add amazingFeature'`)
94+
1. Push to the Branch (`git push origin feat/AmazingFeature`)
95+
1. Open a Pull Request
96+
97+
### Commit messages
98+
99+
This project uses semantic-release for automated release versions. So commits in this project follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0-beta.2/) guidelines. I recommend using [commitizen](https://github.com/commitizen/cz-cli) for automated commit messages.
100+
101+
## Show your support
102+
103+
Give a ⭐️ if this project helped you!
104+
105+
## 📝 License
106+
107+
Distributed under the [MIT](https://github.com/CompactJS/random/blob/master/LICENSE) License.
108+
109+
---
110+
111+
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_

0 commit comments

Comments
 (0)