open-index/open-npm huggingface dataset:
npm package: @raresail/phaser-pathfinding
Description: A phaser3 pathfinding algorithm using heap data structure
Author: RaresAil
Latest version: 1.1.2

# @raresail/phaser-pathfinding

A phaser pathfinding algorithm using heap data structure

[Documentation](https://raresail.github.io/phaser-pathfinding/)
[Type Definitions](https://raresail.github.io/phaser-pathfinding/module-PhaserPathfinding.html)

## Documentation

For a complete documentation on how to change the distance method used in calculating the path or simplification of the path, check the above link, supported distance methods at this moment:

| Method    | Description                                                                                                                                                                                                                            |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Octile    | (Recommended) Is a variant of Chebyshev distance used when movement is allowed along diagonals in addition to horizontal and vertical directions, but diagonal movement has a cost of √2 times that of horizontal or vertical movement |
| Chebyshev | It is a distance metric defined on a vector space where the distance between two vectors is the greatest of their differences along any coordinate dimension                                                                           |
| Manhattan | It is a distance metric between two points in an N-dimensional vector space. _**When set to this method, and if the diagonal is disabled, the path won't include zig zag moves**_                                                      |
|           |                                                                                                                                                                                                                                        |

## Installation

```bash
yarn add @raresail/phaser-pathfinding
```

## Usage

```ts
// Create a grid from the existing tilemap and specify the layers that are obstacles, in the current case the water layer is not walkable
const grid = Grid.createFromMap(map, [waterLayer]);

// The pathfinding instance is created from the grid and is used to get the path between 2 vectors on the map
const pathfinding = new Pathfinding(grid);

// The tl method is used for tile units and the `findPathBetweenPx` method is used to find the path based on pixels
const path = this.pathfinding.findPathBetweenTl(
  new Phaser.Math.Vector2(0, 0),
  new Phaser.Math.Vector2(10, 10)
);

// The path variable will be an array of nodes that can be used to move the "enemy" let's say towards the target
// The props worldX and worldY contains the position in pixels for that specific node
console.log(path[0].worldX, path[0].worldY);
```
npm package: @raresail/react-ionicons
Description: ### The current version uses the ionicons version `7.3.0`
Author: RaresAil
Latest version: 2.0.1

# @raresail/react-ionicons

### The current version uses the ionicons version `7.3.0`

This packages uses the svg icons from [ionic-team/ionicons](https://github.com/ionic-team/ionicons) and builds them as React Components to be used in the application

### Usage

Install the module

```bash
npm install --save @raresail/react-ionicons;
```

```bash
yarn add @raresail/react-ionicons;
```

Import the icons

```ts
import { AddCircleOutline } from '@raresail/react-ionicons';
```

Use the icon, to change the size of the icon use the `font-size` CSS property and for the color (fill or stroke) use the `color` CSS property

```tsx
function Component() {
  return (
    <AddCircleOutline
      // To change any style related to the svg, font size or color
      style={{
        fontSize: '20px',
        color: 'red'
      }}
      // For icons that use strokeWidth you can change it like this
      strokeWidth={32}
      // to add a class name to the svg
      className="your class"
      // All the props are forwarded to the SVG component
    />
  );
}
```

### Props

| Name        | Type             | Default  |
| ----------- | ---------------- | -------- |
| style       | CSSProperties    | {}       |
| strokeWidth | number \| string | 32 or 16 |
| className   | string           |          |
| ...         | Other SVG Props  |          |

### Animations

#### Spin

To spin a icon add the `spin` prop, if you want to adjust the speed, use the `animation-duration` css property

```tsx
function() {
  return <SyncOutline spin />;
}
```

#### Beat

To spin a icon add the `beat` prop, if you want to adjust the speed, use the `animation-duration` css property

```tsx
function() {
  return <SyncOutline beat />;
}
```
npm package: @raresail/yubico-otp-client
Description: An offline Client for Yubico OTP
Author: RaresAil
Latest version: 1.0.1

# @raresail/yubico-otp-client

### An offline Client for Yubico OTP

[![Node.js CI](https://github.com/RaresAil/yubico-otp-client/actions/workflows/node.js.yml/badge.svg)](https://github.com/RaresAil/yubico-otp-client/actions/workflows/node.js.yml)
[![Yarn Audit CI](https://github.com/RaresAil/yubico-otp-client/actions/workflows/audit.yml/badge.svg)](https://github.com/RaresAil/yubico-otp-client/actions/workflows/audit.yml)
[![CodeQL](https://github.com/RaresAil/yubico-otp-client/actions/workflows/codeql.yml/badge.svg)](https://github.com/RaresAil/yubico-otp-client/actions/workflows/codeql.yml)

## Installation

### Yarn

```bash
yarn add @raresail/yubico-otp-client
```

### NPM

```bash
npm install @raresail/yubico-otp-client
```

## Usage

When making the setup for OTP you create a Public ID, a Private ID and a Secret Token.

```ts
import { Token } from '@raresail/yubico-otp-client';

const token = new Token('secret', 'private-id', 'public-id');

token.validateCode('code-0'); // return true or false
token.validateCode('code-0'); // will return false if the same code or an older one is used
```