open-index/open-npm huggingface dataset:
npm package: @ricardojrmcom/supernova
Description: React Module Boilerplate
Author: Ricardo Mota
Latest version: 4.0.0

<div align="center">

# 🟣 `@ricardojrmcom/supernova`

<b>React Module Boilerplate</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/supernova/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/supernova?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/supernova?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/supernova?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/supernova?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Bootstrap</b>

```tsx
npx @ricardojrmcom/supernova
```

Boilerplate `React` project bootstrapped with all necessary configs and workflows

<br />

### <b>Workflows</b>

Quality Assurance

- Will lint code and run tests
- Runs on `pull_request` sync and `push` to `main`

Release

- Will create a GitHub release with auto generated versioning and changelog
- Will publish the package to the public NPM registry
- Runs on `push` to `main` and after the QA job

Publish to GitHub (Public)

- Will publish the package to the public GitHub registry
- Runs on `workflow_dispatch`

<br />

---

<br />

### <b>Install</b>

```tsx
npm install @ricardojrmcom/supernova

yarn add @ricardojrmcom/supernova
```

<br />

### <b>Usage</b>

```tsx
// component
import {
  ExampleComponent,
  ExampleComponentProps,
} from '@ricardojrmcom/supernova';

// hook
import { useExampleHook, ExampleHookType } from '@ricardojrmcom/supernova';

// context
import {
  ExampleContext,
  useExampleContext,
  ExampleContextType,
} from '@ricardojrmcom/supernova';

// provider
import {
  ExampleProvider,
  ExampleProviderProps,
} from '@ricardojrmcom/supernova';
```

<br />

### <b>Scripts</b>

```tsx
// install deps
yarn install

// run build
yarn build

// run lint
yarn lint

// run unit tests
yarn test

// run storybook
yarn sb
```

<br />

### <b>Project</b>

- [Project Page](https://l1b3r.notion.site/supernova-382adadc317c4ec189b6643bcdfffc09)
- [Source Code](https://github.com/ricardojrmcom/supernova)
- [Releases Page](https://github.com/ricardojrmcom/supernova/releases)

<br />

### <b>Project Dependencies</b>

- <b>TS Package Boilerplate: [🟪 @ricardojrmcom/nova](https://github.com/ricardojrmcom/nova)</b>
- <b>React Module Boilerplate: [🟣 @ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)</b>

<br />

### <b>Dev Dependencies</b>

- `Yarn`
- `Typescript`
- `React`
- `Prettier`
- `ESLint`
- `Commit Lint`
- `Lint Staged`
- `Husky`
- `Jest`
- `React Testing Library`
- `Storybook`
- `Webpack`
- `Semantic Release`

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/supernova/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardojrmcom/use-color-converter
Description: Convert colors with React
Author: Ricardo Mota
Latest version: 2.0.0

<div align="center">

# 🌘 `@ricardojrmcom/use-color-converter`

<b>Convert colors with React</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/use-color-converter/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/use-color-converter?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/use-color-converter?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/use-color-converter?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/use-color-converter?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Install</b>

```ts
npm install @ricardojrmcom/use-color-converter

yarn add @ricardojrmcom/use-color-converter
```

<br />

### <b>Usage</b>

```ts
import { useHexRgb, useRgbHex } from '@ricardojrmcom/use-color-converter';

useHexRgb('#30a14e')
->  {
      r: 48,
      g: 161,
      b: 78,
    }

useRgbHex(48, 161, 78)
-> '#30a14e'
```

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/use-color-converter/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardojrmcom/use-date-format
Description: Format dates with React
Author: Ricardo Mota
Latest version: 2.0.0

<div align="center">

# 🌘 `@ricardojrmcom/use-date-format`

<b>Format dates with React</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/use-date-format/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/use-date-format?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/use-date-format?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/use-date-format?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/use-date-format?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Install</b>

```ts
npm install @ricardojrmcom/use-date-format

yarn add @ricardojrmcom/use-date-format
```

<br />

### <b>Usage</b>

```ts
import { useDateFormat, useDateRelative } from '@ricardojrmcom/use-date-format';

useDateFormat(new Date('2022-01-31'))
-> '12:00 AM - 31 Jan, 2022 GMT'

useDateRelative(new Date('2022-01-31'))
->  {
      from: '2 months ago',
      fromNow: 'in 2 months',
      to: 'in 2 months',
      toNow: '2 months ago',
    }
```

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/use-date-format/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardojrmcom/use-local-state
Description: State hook that syncs with local storage
Author: Ricardo Mota
Latest version: 2.0.0

<div align="center">

# 🌘 `@ricardojrmcom/use-local-state`

<b>State hook that syncs with local storage</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/use-local-state/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/use-local-state?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/use-local-state?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/use-local-state?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/use-local-state?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Install</b>

```ts
npm install @ricardojrmcom/use-local-state

yarn add @ricardojrmcom/use-local-state
```

<br />

### <b>Usage</b>

```ts
import { useLocalState } from '@ricardojrmcom/use-local-state';

const [example, setExample] = useLocalState<number>('my-example', 1337);
```

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/use-local-state/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardojrmcom/use-number-format
Description: Format numbers with React
Author: Ricardo Mota
Latest version: 2.0.0

<div align="center">

# 🌘 `@ricardojrmcom/use-number-format`

<b>Format numbers with React</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/use-number-format/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/use-number-format?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/use-number-format?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/use-number-format?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/use-number-format?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Install</b>

```ts
npm install @ricardojrmcom/use-number-format

yarn add @ricardojrmcom/use-number-format
```

<br />

### <b>Usage</b>

```ts
import { useNumberformat } from '@ricardojrmcom/use-number-format';

useNumberFormat(1337)
-> "1,337"
```

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/use-number-format/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardojrmcom/use-string-capitalize
Description: Capitalize strings with React
Author: Ricardo Mota
Latest version: 3.0.0

<div align="center">

# 🌘 `@ricardojrmcom/use-string-capitalize`

<b>Capitalize strings with React</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/use-string-capitalize/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/use-string-capitalize?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/use-string-capitalize?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/use-string-capitalize?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/use-string-capitalize?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Install</b>

```ts
npm install @ricardojrmcom/use-string-capitalize

yarn add @ricardojrmcom/use-string-capitalize
```

<br />

### <b>Usage</b>

Capitalizes the first character of a given string. Option to capitalize all words.

```ts
import { useStringCapitalize } from '@ricardojrmcom/nova';

export const StringCapitalize = ({ str: string, allWords?: boolean }) => (
  <span>{useStringCapitalize(str, allWords)}</span>
);

<StringCapitalize str="lorem ipsum dolor sit amet" />
-> <span>Lorem ipsum dolor sit amet</span>

<StringCapitalize str="lorem ipsum dolor sit amet" allWords />
-> <span>Lorem Ipsum Dolor Sit Amet</span>
```

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/use-string-capitalize/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardojrmcom/use-string-truncate
Description: Truncate strings with React
Author: Ricardo Mota
Latest version: 3.0.0

<div align="center">

# 🌘 `@ricardojrmcom/use-string-truncate`

<b>Truncate strings with React</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/use-string-truncate/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/use-string-truncate?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/use-string-truncate?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/use-string-truncate?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/use-string-truncate?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Install</b>

```ts
npm install @ricardojrmcom/use-string-truncate

yarn add @ricardojrmcom/use-string-truncate
```

<br />

### <b>Usage</b>

```tsx
import { useStringTruncate } from '@ricardojrmcom/use-string-truncate';

/**
 * Truncates string to fit within given length with appended ellipsis. Option to keep last word.
 */
export const TruncateString = ({
  str,
  length,
  keepLastWord,
}: TruncateStringProps) => (
  <span>
    {useStringTruncate(str, length, keepLastWord)}
  </span>
);

<TruncateString str="Lorem ipsum dolor sit amet" length={20} />
-> <span>Lorem ipsum dolor...</span>

<TruncateString str="Lorem ipsum dolor sit amet" length={20} keepLastWord />
-> <span>Lorem ipsum ... amet</span>

/**
 * Exported TruncateString props
 */
export interface TruncateStringProps {
  /**
   * String to transform
   */
  str: string;
  /**
   * Total length of the result
   */
  length: number;
  /**
   * Option to keep last word in
   */
  keepLastWord?: boolean;
}
```

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/use-string-truncate/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardojrmcom/vera
Description: Vega + React
Author: Ricardo Mota
Latest version: 2.0.0

<div align="center">

# 🟢 `@ricardojrmcom/vera`

<b>Vega + React</b>

![build](https://img.shields.io/github/workflow/status/ricardojrmcom/vera/Continuous%20Integration?style=for-the-badge)
![license](https://img.shields.io/github/license/ricardojrmcom/vera?style=for-the-badge)

![author](<https://img.shields.io/badge/Author-Ricardo%20%3Cl1b3r__--%3E%20Mota%20(%40ricardojrmcom)-orange?style=for-the-badge>)

![lang](https://img.shields.io/github/languages/top/ricardojrmcom/vera?style=for-the-badge)
![version](https://img.shields.io/npm/v/@ricardojrmcom/vera?style=for-the-badge)
![size](https://img.shields.io/bundlephobia/min/@ricardojrmcom/vera?style=for-the-badge)

</div>

<br />

---

<br />

### <b>Project</b>

- [Project Page](https://l1b3r.notion.site/vera-1913cc82cc2c4bdf8f18607350b84c4d)
- [M0: MVP](https://l1b3r.notion.site/M0-MVP-e71e2a010a4b429185a53a409cad4337)
- [Source Code](https://github.com/ricardojrmcom/vera)
- [Releases Page](https://github.com/ricardojrmcom/vera/releases)

<br />

### <b>Install</b>

```tsx
npm install @ricardojrmcom/vera

yarn add @ricardojrmcom/vera
```

<br />

### <b>Usage</b>

```tsx
// component
import { Vera, VeraProps } from '@ricardojrmcom/vera';
```

<br />

### <b>Project Dependencies</b>

- <b>TS Package Boilerplate: [🟪 @ricardojrmcom/nova](https://github.com/ricardojrmcom/nova)</b>
- <b>React Module Boilerplate: [🟣 @ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)</b>

<br />

### <b>Dev Dependencies</b>

- `Yarn`
- `Typescript`
- `React`
- `Vega`
- `Vega Lite`
- `Prettier`
- `ESLint`
- `Commit Lint`
- `Lint Staged`
- `Husky`
- `Jest`
- `React Testing Library`
- `Storybook`
- `Webpack`
- `Semantic Release`

<br />

---

<br />

### <b>License</b>

[MIT](https://github.com/ricardojrmcom/vera/blob/main/LICENSE) © Ricardo <l1b3r\_-> Mota ([@ricardojrmcom](https://github.com/ricardojrmcom))

Bootstrapped with 🟣[@ricardojrmcom/supernova](https://github.com/ricardojrmcom/supernova)

<br />
npm package: @ricardokromercavati/confidant
Description: Clean and simple password manager.
Author: Ricardo Kromer Cavati
Latest version: 1.1.9

![Build](https://img.shields.io/github/actions/workflow/status/ricardokromercavati/confidant/.github/workflows/build.yml?label=Build&branch=main)
![Tests](https://img.shields.io/github/actions/workflow/status/ricardokromercavati/confidant/.github/workflows/unit_tests.yml?label=Tests&branch=main)

# confidant

This is my clean and simple command line password manager!

# ❗ The why 
I came up with the ideia of developing it for two reasons.  
The first one is to learn more about technologies and concepts I don't usually use at work.  
The second reason is because there are some ocasions when I can't use a consolidated password manager. And then I thought 'Why not create my own?!'  

# 📜 Details
I decided to start developing a command line tool and then upgrade it with time.

# 💻 Technologies
## Programming language and runtime
- [TypeScript](https://www.typescriptlang.org/).
- [Node.js](https://nodejs.org/en).

## Application
- [Commander](https://www.npmjs.com/package/commander).
- [Bcrypt](https://github.com/kelektiv/node.bcrypt.js).
- [Prompt Sync](https://github.com/heapwolf/prompt-sync).
- [Mikro ORM](https://github.com/mikro-orm/mikro-orm).
- [Clipboardy](https://github.com/sindresorhus/clipboardy).
- [Moment](https://github.com/moment/moment).
- [Tsyringe](https://github.com/Microsoft/tsyringe).

## Unit Tests and Test Reports
- [Jest](https://github.com/jestjs/jest).
- [TS Jest](https://github.com/kulshekhar/ts-jest).
- [Jest Junit](https://github.com/jest-community/jest-junit).

## Release
- [Semantic Release](https://github.com/semantic-release/semantic-release).
    - [Commit Analyzer](https://github.com/semantic-release/commit-analyzer).
    - [GitHub](https://github.com/semantic-release/github).
    - [Release Notes Generator](https://github.com/semantic-release/release-notes-generator).

# ✔️ What it can do (for now)
- Create new item in database (with name, account name and password).  
    - There are two ways of doing the creation, the guided way, in which confidant will ask the use for all the needed information, the second way to via command line, in which the user needs to provide the arguments to the command.
- Retrieve list of created items.  
    - A simple list of the items already created.
- Retrieve password of specific item by id.  
    - Acquires password from database and copies it to the user's clipboard.
- A guided creation of passwords.  
    - It asks the user about some of the characteristics of the desired password, creates it and copies to the clipboard.
- Deletion of credentials.  
    - Deletes a credential based on its id.
## ⚠️ Important
All the information is stored locally, please use carefully.
npm package: @ricardomac/gerador-boletos
Description: Gerador de boletos, utilizando a biblioteca PDFKit
Author: Ricardo Macedo
Latest version: 1.2.8

# Note 

[EN]
This is copy of the library https://github.com/odelijairo/gerador-boletos with some corrects necessary for use my project, don't use!

[BR]
Esta é cópia da biblioteca https://github.com/odelijairo/gerador-boletos com algumas correções necessárias para uso do meu projeto, não use!

# Note 2

This is a copy of the library https://github.com/gammasoft/brasil that has been abandoned.


# gerador-boletos

<!-- [START badges] -->
[![NPM gerador-boletos package](https://img.shields.io/npm/v/gerador-boletos.svg)](https://npmjs.org/package/gerador-boletos)
<!-- [END badges] -->

Biblioteca em Node.js para geração de boletos utilizando PDFKit.  

Cópia da biblioteca https://github.com/gammasoft/brasil aparentemente abandonada.  
Removido código desnecessário para geração de boletos e adicionado banco Ailos (Cecred).

Geração de boletos para bancos:
- Bradesco
- Caixa
- Ailos (Cecred)
- Itaú
- Sicoob
- Sicredi
- Unicred

### Install

```javascript
npm i gerador-boletos --save
```
### Exemplos de uso

[aqui](/examples)

### Run tests

```javascript
npm run test
```

### Contribuições

Serão bem vindas :)
npm package: @ricardomatias/latest-release
Description: Download the latest release assets from any repo on github
Author: Ricardo Matias
Latest version: 1.0.0

# latest-release [![Build Status](https://travis-ci.org/ricardomatias/latest-release.svg?branch=master)](https://travis-ci.org/ricardomatias/latest-release)

> Download the latest release assets from any repo on github

![screencast](https://github.com/ricardomatias/latest-release/blob/master/latest-screencast.gif)


## Install

```
$ npm install --global @ricardomatias/latest-release
```

## Usage

```shell
	Usage
	  > latest-release [user/repo] [-p] [-d]

	Options
	  -d, --download  Download latest release  [Default: false]
	  -p, --pattern  RegExp pattern to identify which asset to download

	Examples
	  > latest-release sharkdp/pastel
	  # Latest release v0.5.3:
	  # > https://github.com/sharkdp/pastel/releases/download/v0.5.3/pastel-musl_0.5.3_amd64.deb
	  # > https://github.com/sharkdp/pastel/releases/download/v0.5.3/pastel-v0.5.3-x86_64-apple-darwin.tar.gz

	  > latest-release sharkdp/pastel -p darwin -d
	  # Downloading pastel-v0.5.3-x86_64-apple-darwin.tar.gz [::::::::::::::::::::::::::::::] 100% 0.0s
      # Asset written to disk!
```
npm package: @ricardomatias/ring
Description: Your average array made cyclical by using Proxy
Author: Ricardo Matias
Latest version: 0.1.3

# ring [![Build Status](https://travis-ci.com/ricardomatias/ring.svg?branch=master)](https://travis-ci.com/ricardomatias/ring)

Your average array made cyclical by using [`Proxy`](https://kangax.github.io/compat-table/es6/#test-Proxy)

```js
import ring from '@ricardomatias/ring';

const AM7 = [ 'A', 'C', 'E', 'G' ];
const am7 = ring(AM7);

const first = am7[0]; // 'A'
const firstAgain = am7[4]; // 'A'
const firstYetAgain = am7[-4]; // 'A'

AM7 === am7 // => false
```

## Install

Use [npm](https://npmjs.com/) to install.

```sh
npm install @ricardomatias/ring --save
```

## Usage

#### `ring([Array])`

Returns a new *proxied* array. Provides access to all the native `Array` methods and properties.


## License

MIT, see [LICENSE.md](http://github.com/ricardomatias/ring/blob/master/LICENSE.md) for details.
npm package: @ricardomatias/roll
Description: Let's you pick an element randomly based on a chosen probability distribution
Author: Ricardo Matias
Latest version: 0.2.0

# roll [![Build Status](https://travis-ci.com/ricardomatias/roll.svg?branch=master)](https://travis-ci.com/ricardomatias/roll)

Let's you pick an element randomly based on a chosen probability distribution

```js
import { roll, distribute } from '@ricardomatias/roll';
import seedRandom from 'seed-random'; // works nicely together

const rng = seedRandom('roll');
const AM7 = [ 'A', 'C', 'E', 'G' ];

const equalOdds = distribute.equal(AM7.length);
const decreasingOdds = distribute.decreasing(AM7.length);
const increasingOdds = distribute.increasing(AM7);

roll(AM7, equalOdds, rng); // => G
roll(AM7, equalOdds, rng); // => C
roll(AM7, decreasingOdds, rng); // => A
roll(AM7, increasingOdds, rng); // => E
```

## Install

Use [npm](https://npmjs.com/) to install.

```sh
npm install @ricardomatias/roll --save
```

## Usage

### roll

#### roll(elements, probabilities, rng) ⇒ <code>Object</code> \| <code>Null</code>
Pick an element randomly based on a chosen probability distribution

| Param | Type | Description |
| --- | --- | --- |
| elements | <code>Array</code> |  |
| probabilities | <code>Array.&lt;String&gt;</code> |  |
| rng | <code>function</code> | Random Number Generator |

### distribute

<dl>
<dt><a href="#decreasing">decreasing(k, precision)</a> ⇒ <code>Array.&lt;String&gt;</code></dt>
<dd><p>Creates a decreasing probability distribution</p>
</dd>
<dt><a href="#increasing">increasing(k, precision)</a> ⇒ <code>Array.&lt;String&gt;</code></dt>
<dd><p>Creates an increasing probability distribution</p>
</dd>
<dt><a href="#equal">equal(k, precision)</a> ⇒ <code>Array.&lt;String&gt;</code></dt>
<dd><p>Creates an equal probability distribution</p>
</dd>
</dl>

<a name="decreasing"></a>

### decreasing(k, precision) ⇒ <code>Array.&lt;String&gt;</code>
Creates a decreasing probability distribution

| Param | Type |
| --- | --- |
| k | <code>Number</code> \| <code>Array.&lt;Number&gt;</code> |
| [precision] | <code>Number</code> | <code>3</code> |

<a name="increasing"></a>

### increasing(k, precision) ⇒ <code>Array.&lt;String&gt;</code>
Creates an increasing probability distribution

| Param | Type |
| --- | --- |
| k | <code>Number</code> \| <code>Array.&lt;Number&gt;</code> |
| [precision] | <code>Number</code> | <code>3</code> |

<a name="equal"></a>

### equal(k, precision) ⇒ <code>Array.&lt;String&gt;</code>
Creates an equal probability distribution

| Param | Type |
| --- | --- |
| k | <code>Number</code> \| <code>Array.&lt;Number&gt;</code> |
| [precision] | <code>Number</code> | <code>3</code> |


## License

MIT, see [LICENSE.md](http://github.com/ricardomatias/ring/blob/master/LICENSE.md) for details.
npm package: @ricardopedreiro/ngx-barcode6
Description: An angular component for Angular 9 - 20 for creating 1-D barcodes based on Lindell's JsBarcode
Author: Ricardo Pedreiro
Latest version: 1.0.27

# ngx-barcode6

An angular component for Angular 9 - 20 for creating 1-D barcodes based on [Lindell's JsBarcode](https://github.com/lindell/JsBarcode).

This is forked from [yobryon/ngx-barcode](https://github.com/yobryon/ngx-barcode) and upgraded to Angular 6 works on Angular 20.x.

## Supported barcodes

Supports all barcode formats provided by [JsBarcode](https://github.com/lindell/JsBarcode/wiki)

- CODE128
  - CODE128 (automatic mode switching)
  - CODE128 A/B/C (force mode)
- EAN / UPC
  - EAN13
  - UPC
  - EAN8
  - EAN5
  - EAN2
- CODE39
- ITF
  - ITF
  - ITF-14
- MSI
  - MSI10
  - MSI11
  - MSI1010
  - MSI1110
- Pharmacode
- Codabar

## Installation

To use ngx-barcode6 in your project, install it via npm:

```bash
npm install --save ngx-barcode6 jsbarcode@3.11.6
```

For Angular 8 use `ngx-barcode6@1.0.10`.

```bash
npm install --save ngx-barcode6@1.0.10 jsbarcode@3.11.5
```

For Angular 10 try `ngx-barcode6@1.0.12`.

Because of Angular 16 and Nodejs 18 i think you can not use this actual version for lower than Angular 15.

## Usage

Import the NgxBarcode6Module into your desired module:

```typescript
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

// Import ngx-barcode module
import { NgxBarcode6Module } from 'ngx-barcode6';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule, NgxBarcode6Module],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {}
```

If you prefer the Standalone Components then do it like this:

```typescript
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterOutlet } from '@angular/router';
import { FormsModule } from '@angular/forms';

import { NgxBarcode6Module } from 'ngx-barcode6';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [CommonModule, FormsModule, RouterOutlet, NgxBarcode6Module],
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
  ...
}
```

Once the library is imported, you can use the ngx-barcode6 component in your Angular application:

```xml
<!-- Adding a barcode in app.component.html -->
<div style="text-align:center">
  <h1>
    Welcome to {{ title }}!
  </h1>
</div>
<div style="text-align:center">
  <ngx-barcode6
    [bc-format]="'MSI'"
    [bc-value]="'12345678901231'"
    [bc-display-value]="true"
  >
  </ngx-barcode6>
</div>
```

## License

MIT © [Bryon Williams](mailto:bryon.williams@live.com), [Edgar Giese](mailto:edgar@egiese.de), [Ricardo Pedreiro](mailto:ricardo.jorge.pedreiro@gmail.com)
npm package: @ricardoromo/platzom
Description: Traductor de idioma platzom
Author: Ricardo Romo
Latest version: 0.1.0

## Platzom

Platzom es un idioma inventado para el [curso de fundamentos de JavaScript](https://platzi.com/cursos/fundamentos-javascript/)

## Descripcion
- Si la palabra termina con "ar", se le quitan esas dos letras
- Si la palabra inicia con Z, se le añade "pe" al final
- Si la palabra traducida tiene 10 o más letras, se debe partir en dos por la mitad y unir con un guión medio
- Por último, si la palabra original es un palíndromo, ninguna regla anterior cuenta y se devuelve la misma palabra pero intercalando letras mayúsculas y minúsculas

## Instalacion
```
npm install Platzom
```

## Uso
```
import platzom from 'platzom'
platzom("Programar") // Program
platzom("Zorro") // Zorrope
platzom("Zarpar") // Zarppe
platzom("abecedario") // abece-dario
platzom("sometemos") // SoMeTeMoS
```

## Creditos
-[Ricardo Romo](https://twitter.com/JRicardo_Romo)