open-index/open-npm huggingface dataset:
npm package: @if23b040/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: if23b040
Latest version: 0.1.1

# @yourusername/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @if23b040/shuffle-array
```
Install via yarn:

```bash
yarn add @if23b040/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@if23b040/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@if23b040/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@if23b040/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if23b102/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: Nicoletta
Latest version: 0.1.0

# @if23b102/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @if23b102/shuffle-array
```
Install via yarn:

```bash
yarn add @if23b102/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@if23b102/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@if23b102/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@if23b102/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if23b123/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: if23b123@technikum-wien.at
Latest version: 0.1.0

# @yourusername/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @yourusername/shuffle-array
```
Install via yarn:

```bash
yarn add @yourusername/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@yourusername/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@yourusername/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@yourusername/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if24b097/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: if24b097 if24b097@technikum-wien.at
Latest version: 0.1.2

# @if24b097/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @if24b097/shuffle-array
```
Install via yarn:

```bash
yarn add @if24b097/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@if24b097/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@if24b097/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@if24b097/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if24b231/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: if24b231 if24b231@technikum-wien.at
Latest version: 1.0.1

# @yourusername/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [@yourusername/shuffle-array (Class 2 Example)](#yourusernameshuffle-array-class-2-example)
  - [Table of Contents](#table-of-contents)
  - [Installation](#installation)
  - [Usage](#usage)
    - [Examples](#examples)
  - [Contribution](#contribution)
  - [Security](#security)
  - [License](#license)

## Installation

Install via npm:

```bash
npm install @yourusername/shuffle-array
```
Install via yarn:

```bash
yarn add @yourusername/shuffle-array
```

## Usage

Basic Usage

```js
import cryptoShuffleArray from '@yourusername/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = cryptoShuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import cryptoShuffleArray from '@yourusername/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = cryptoShuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import cryptoShuffleArray from '@yourusername/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = cryptoShuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses cryptographic randomness (`crypto.randomInt()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if24b243/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: Dawid Birgauan
Latest version: 0.1.0

# @if24b243/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @if24b243/shuffle-array
```
Install via yarn:

```bash
yarn add @if24b243/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@if24b243/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@if24b243/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@if24b243/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if24b262/password-utilities
Description: A small, useful JavaScript library that provides password utility functions
Author: Heldic Velid
Latest version: 1.0.2

# @if24b262/password-utilities 

> A small utility library that helps you work with passwords.  
> Version 1.0.2 includes patch fix: generateStrongPassword function automatically uses a length of 8 when using smaller number 

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @if24b262/password-utilities 
```
Install via yarn:

```bash
yarn add @if24b262/password-utilities 
```

## Usage

Basic Usage to toSnakeCase Import:

```js
import { isStrongPassword, generateStrongPassword } from '@if24b262/password-utilities';
```

### Examples

Convert a string to snake_case::

```js

const password = "Abc123$!";
console.log(isStrongPassword(password)); 

const pwd = generateStrongPassword(16);
console.log(pwd); 

```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

If you discover a security vulnerability, please see our [SECURITY.md](./SECURITY.md) for instructions on responsible disclosure.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if24b262/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: Velid Heldic
Latest version: 0.1.0

# @if24b262/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @if24b262/shuffle-array
```
Install via yarn:

```bash
yarn add @if24b262/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@if24b262/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@if24b262/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@if24b262/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if25b050/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: if25b050
Latest version: 0.1.0

# @if25b050/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @if25b050/shuffle-array
```
Install via yarn:

```bash
yarn add @if25b050/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@if25b050/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@if25b050/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@if25b050/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @if25b229/shuffle-array
Description: A small library that takes an array as input and returns a new array that is shuffled.
Author: your name
Latest version: 1.0.0

# @yourusername/shuffle-array (Class 2 Example)

> A small library that takes an array as input and returns a new array that is shuffled.

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
   - [Examples](#examples)
- [Contribution](#contribution)
- [Security](#security)
- [License](#license)

## Installation

Install via npm:

```bash
npm install @yourusername/shuffle-array
```
Install via yarn:

```bash
yarn add @yourusername/shuffle-array
```

## Usage

Basic Usage

```js
import shuffleArray from '@yourusername/shuffle-array';

const startArray = [1, 2, 3, 4, 5];
const newShuffledArray = shuffleArray(startArray);

console.log(startArray);       // e.g., [1, 2, 3, 4, 5]
console.log(newShuffledArray); // e.g., [3, 1, 5, 2, 4]
```

### Examples

Shuffle a list of user IDs:

```js
import shuffleArray from '@yourusername/shuffle-array';

const userIds = ['u1', 'u2', 'u3', 'u4'];
const randomizedOrderOfUserIds = shuffleArray(userIds);

console.log(randomizedOrderOfUserIds); // e.g., ['u1', 'u3', 'u4', 'u2']
```

Use in a game for randomizing cards:

```js
import shuffleArray from '@yourusername/shuffle-array';

const deck = ['Ace of Spades', 'Two of Hearts']; // some card deck
const shuffledDeck = shuffleArray(deck);

console.log(shuffledDeck); // e.g., ['Two of Hearts', 'Ace of Spades', ...]
```

## Contribution

Contributions are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for more details.

## Security

Please refer to our [SECURITY.md](./SECURITY.md) for information about our security policies, how to report vulnerabilities, and our approach to handling security concerns.

**Important Note**: This library uses non-cryptographic randomness (`Math.random()`). Do not rely on it for security-critical functionality.

## License

This project is licensed under the [MIT License](./LICENSE.md).
npm package: @ifabos/policy-watcher
Description: [![Build Status](https://dev.azure.com/monacotools/Monaco/_apis/build/status/npm/vscode/policy-watcher?repoName=microsoft%2Fvscode-policy-watcher&branchName=main)](https://dev.azure.com/monacotools/Monaco/_build/latest?definitionId=459&repoName=microsoft%
Author: João Moreno
Latest version: 1.1.8

# @vscode/policy-watcher

[![Build Status](https://dev.azure.com/monacotools/Monaco/_apis/build/status/npm/vscode/policy-watcher?repoName=microsoft%2Fvscode-policy-watcher&branchName=main)](https://dev.azure.com/monacotools/Monaco/_build/latest?definitionId=459&repoName=microsoft%2Fvscode-policy-watcher&branchName=main)
[![Version](https://img.shields.io/npm/v/@vscode/policy-watcher.svg)](https://npmjs.org/package/@vscode/policy-watcher)

Example usage:

```js
const createWatcher = require("@vscode/policy-watcher");

createWatcher(
  "CodeOSS",
  {
    UpdateMode: { type: "string" },
    SCMInputFontSize: { type: "number" },
  },
  (update) => console.log(update)
);
```

## Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

## Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft
trademarks or logos is subject to and must follow
[Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).
Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.
Any use of third-party trademarks or logos are subject to those third-party's policies.
npm package: @ifabriziog87/homebridge-bestway-smartspa
Description: Homebridge plugin for Bestway / Lay-Z-Spa 2025 SmartSpa models using the AWS IoT backend.
Author: ifabriziog87
Latest version: 0.1.0

# @ifabriziog87/homebridge-bestway-smartspa

Plugin Homebridge per Bestway / Lay-Z-Spa 2025+ con backend AWS IoT / SmartSpa.

Il plugin nasce per i modelli V2 / UltraFit del 2025 in poi, quelli che nell'integrazione `ha-bestway` usano:

- app Lay-Z-Spa
- QR code `RW_Share_...`
- endpoint `smarthub-*.bestwaycorp.*`
- websocket AWS IoT regionale

## Stato attuale

Questa prima versione espone:

- un termostato HomeKit per temperatura corrente, target e heating
- switch separati per power, filter, bubbles e lock
- switch Hydrojets per i modelli HydroJet
- polling periodico
- websocket realtime per gli update di stato

## Configurazione

Esempio `config.json`:

```json
{
  "platforms": [
    {
      "platform": "BestwaySmartSpaPlatform",
      "name": "Bestway SmartSpa",
      "region": "EU",
      "location": "GB",
      "qrCode": "RW_Share_XXXXXXXXXXXX",
      "pollIntervalSeconds": 30
    }
  ]
}
```

Note:

- `region` seleziona l'endpoint cloud: `EU`, `US`, `CN`.
- `location` va lasciato coerente con il paese/account dell'app, per esempio `GB`, `IT`, `US`.
- `visitorId` e `token` vengono persistiti automaticamente nello storage di Homebridge.
- al primo avvio, se `qrCode` è presente, il plugin prova a fare il bind della spa all'account visitor.

## Installazione

Finché il pacchetto non viene pubblicato su npm, installazione locale:

```bash
cd /path/to/homebridge-bestway-smartspa
npm install
npm link
homebridge -D
```

Oppure copia la cartella sotto la macchina Homebridge e installa con:

```bash
npm install /percorso/del/plugin
```

## Limiti noti

- non ho potuto eseguire test locali in questo workspace perché qui non sono installati `node` e `npm`
- il flusso QR / region va validato con la tua spa reale
- la UI HomeKit non ha un accessorio “spa”, quindi alcune funzioni sono mappate su switch

## Riferimento tecnico

La logica AWS IoT è stata portata a partire da [`cdpuk/ha-bestway`](https://github.com/cdpuk/ha-bestway), in particolare dal ramo V2 / UltraFit:

- autenticazione visitor
- bind via QR code
- shadow fetch
- comandi cifrati AES-256-CBC
- websocket regionale
npm package: @ifake/easy-polling
Description: ![Version](https://img.shields.io/npm/v/@ifake/easy-polling) ![Npm Bundle Size](https://img.shields.io/bundlephobia/min/@ifake/easy-polling) ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
Latest version: 1.1.0

# 欢迎使用 @ifake/easy-polling 👋
![Version](https://img.shields.io/npm/v/@ifake/easy-polling)
![Npm Bundle Size](https://img.shields.io/bundlephobia/min/@ifake/easy-polling)
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)

> 针对视频多屏播放需求: 轮巡策略，包括单路依次轮巡和多路同时轮巡..

本项目的脚手架来自 [pkg](https://github.com/ifakejs/pkg)

### 🏠 [Homepage](https://github.com/ifakejs/easy-polling)

### 安装

```sh
npm install @ifake/easy-polling

# or
yarn add @ifake/easy-polling
```

### 使用
- 浏览器端

```js
// 我们提供了一个全局变量 `EasyPolling` 以便使用CDN时直接在浏览器端使用.
const EasyPolling = window.EasyPolling
```

- ES6 Module

```js
import { EasyPolling } from "@ifake/easy-polling"
```

### DEMO

```js
import { EasyPolling } from "@ifake/easy-polling"

const instance = new EasyPolling({
  source: [param1, param2, param3...],
  intervalTime: 2000
  type: 'single' || 'double'
  returnCount: 2
})
instance.observe((data) => {
})
instance.start()
// stop
instance.stop()

// update intervalTime
instance.updateIntervalTime(5000)
```

### 本地运行

```sh
git clone https://github.com/ifakejs/easy-polling.git

cd easy-polling

yarn

yarn start

// 新打开命令行
yarn start:demo
```

### API

#### EasyPolling [Class]

- 参数
```ts
type RunType = "single" | "double"

interface EasyPollingOptions {
  type: RunType // polling type
  source: any[] // Data source
  intervalTime: number // ms
  returnCount: number // 返回的数据(每次展示几屏)个数
  replaceCount: number // 仅在single模式生效 每次替换几个视频
}
```

#### 方法
方法 | 类型 | 描述 | 返回值
----- | ----- | ----- | -----
start | Function | 开始轮巡 | -
stop | Function | 结束轮巡g | -
observe | Function | 订阅轮巡数据 | data[]
updateIntervalTime | Function | 更新轮巡周期 | -

## 注意事项
请在`observe`之后调用`start`方法，因为在调用轮巡策略时内部我们有初始数据的逻辑
否则，将丢失初始回调数据。

`e.g`
```sh
# 正确用法
instance.observe(() => {})
instance.start()
```

### 作者

👤 **BiYuqi**
### 🤝 贡献

Contributions, issues and feature requests are welcome!

Feel free to check [issues page](https://github.com/ifakejs/easy-polling/issues). 

### Show your support

Give a ⭐️ if this project helped you!

## 📝 License

This project is [MIT](https://github.com/ifakejs/easy-loop/blob/master/LICENSE) licensed.

***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_
npm package: @ifake/page-visibility
Description: Wrapper for the Page Visibility API
Author: BiYuqi
Latest version: 1.0.0

# Welcome to @ifake/page-visibility 👋

> Wrapper for the Page Visibility API.

The scaffolding for this project is from [pkg](https://github.com/ifakejs/pkg)

### 🏠 [Homepage](https://github.com/ifakejs/page-visibility)

## Document
WIP

## Usage
```sh
# Make sure you have yarn installed on your machine.
yarn add @ifake/page-visibility
# or
npm install @ifake/page-visibility
```
- Browser

```js
// We expose a global variable that can be used directly in the browser.
const IFPageVisible = window.IFPageVisible
```

- ES6 Module

```js
import { pageVisibility } from '@ifake/page-visibility'
```

```js
pageVisibility.observe(isVisible => {
  if (isVisible) {
    // Page show do something
    console.log("Page show")
  } else {
    // Page hide do something
    console.log("Page show")
  }
})

// cancel listen
pageVisibility.unobserve()
```

## API
WIP

## TODO
- [ ] Add `blur` & `focus` events for browsers that don't support the API or for users who have special needs

## Author

👤 **ifake**

## 🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check [issues page](https://github.com/ifakejs/page-visibility/issues).

## Show your support

Give a ⭐️ if this project helped you!

## 📝 License

This project is [MIT](https://github.com/ifakejs/page-visibility/blob/master/LICENSE) licensed.

***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_
npm package: @ifake/pkg
Description: A scaffolding for building front-end libraries, with javascript and typescript support.
Author: BiYuqi
Latest version: 1.1.0

# Welcome to @ifake/pkg 👋

- [English README](https://github.com/ifakejs/pkg/blob/master/README-EN.md) is here.
- [简体中文 README](https://github.com/ifakejs/pkg/blob/master/README.md) is here.
npm package: @ifake/pkg-eslint
Description: package eslint template for @ifake/pkg.
Author: BiYuqi
Latest version: 1.0.0

# Welcome to @ifake/pkg 👋

- [English README](https://github.com/ifakejs/pkg/blob/master/README-EN.md) is here.
- [简体中文 README](https://github.com/ifakejs/pkg/blob/master/README.md) is here.
npm package: @ifake/pkg-package
Description: package.json template for @ifake/pkg.
Author: BiYuqi
Latest version: 1.1.0

# Welcome to @ifake/pkg 👋

- [English README](https://github.com/ifakejs/pkg/blob/master/README-EN.md) is here.
- [简体中文 README](https://github.com/ifakejs/pkg/blob/master/README.md) is here.
npm package: @ifake/pkg-shared
Description: A common tools for @ifake/pkg.
Author: BiYuqi
Latest version: 1.0.0

# Welcome to @ifake/pkg 👋

- [English README](https://github.com/ifakejs/pkg/blob/master/README-EN.md) is here.
- [简体中文 README](https://github.com/ifakejs/pkg/blob/master/README.md) is here.
npm package: @ifake/pkg-template
Description: package main template for @ifake/pkg.
Author: BiYuqi
Latest version: 1.1.0

# Welcome to @ifake/pkg 👋

- [English README](https://github.com/ifakejs/pkg/blob/master/README-EN.md) is here.
- [简体中文 README](https://github.com/ifakejs/pkg/blob/master/README.md) is here.
npm package: @ifake/pkg-test
Description: package unit test template for @ifake/pkg.
Author: BiYuqi
Latest version: 1.0.0

# Welcome to @ifake/pkg 👋

- [English README](https://github.com/ifakejs/pkg/blob/master/README-EN.md) is here.
- [简体中文 README](https://github.com/ifakejs/pkg/blob/master/README.md) is here.
npm package: @ifake/signature
Description: A signature library for web.
Author: ifake
Latest version: 0.5.3

# Welcome to @ifake/signature 👋
![Version](https://img.shields.io/npm/v/@ifake/signature)
![codecov](https://codecov.io/gh/ifakejs/signature/branch/master/graph/badge.svg?token=7nMsRorhf3)
![Npm Bundle Size](https://img.shields.io/bundlephobia/min/@ifake/signature)
![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
![Build Status](https://travis-ci.org/ifakejs/signature.svg?branch=master)

> A signature library based on HTML5 canvas.

The scaffolding for this project is from [pkg](https://github.com/ifakejs/pkg)

### 🏠 [Homepage](https://github.com/ifakejs/signature)

[Document](https://ifakejs.github.io/signature/) is here.

## TODO
- [x] Support downloading signatures with a white background. - 2021.1.1
- [ ] Support logging steps to enable undo redo feature

## CHANGELOG
[CHANGELOG](https://github.com/ifakejs/signature/blob/master/CHANGELOG.md) is here.

## Author

👤 **ifake**

## 🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check [issues page](https://github.com/ifakejs/signature/issues). 

## Show your support

Give a ⭐️ if this project helped you!

## 📝 License

This project is [MIT](https://github.com/ifakejs/signature/blob/master/LICENSE) licensed.

***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_
npm package: @ifake/tree-path
Description: Get tree path by the given condition.
Author: BiYuqi
Latest version: 0.1.0

# Welcome to @ifake/tree-path 👋
![Version](https://img.shields.io/npm/v/@ifake/tree-path)
[![codecov](https://codecov.io/gh/ifakejs/tree-path/branch/master/graph/badge.svg?token=a7710442-2e1c-41cb-ad48-3da63c8ca3bf)](https://codecov.io/gh/ifakejs/tree-path)
![Npm Bundle Size](https://img.shields.io/bundlephobia/min/@ifake/tree-path)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/ifakejs/tree-path/blob/master/LICENSE)
![Build Status](https://travis-ci.org/ifakejs/tree-path.svg?branch=master)

> Get tree path by the given condition.

English | [简体中文](https://github.com/ifakejs/tree-path/blob/master/README.zh-CN.md)

### 🏠 [Homepage](https://github.com/ifakejs/tree-path)

## Install

```sh
npm install @ifake/tree-path -S
# or
yarn add @ifake/tree-path -S
```

## Usage

- Browser
```js
// We expose a global variable that can be used directly in the browser.

const { treePath } = window.IFakeTP
```
- ES6 Module
```js
import { treePath } from '@ifake/tree-path'
```
- CommonJs
```js
const { treePath } = require('@ifake/tree-path')
```

## API
#### **treePath(TreePath)**

```ts
export interface TreePath {
  tree: Tree
  childrenKey?: string
  breakCondition: BreakCondition
}
```

- **tree**
Receive an array of object data.
- **childrenKey**
Custom property values, default is `children`
- **breakCondition**
Receives a real-time value from inside the function, defines conditions based on the value and returns a boolean value.

## Example
```js
const sourceData = [
 {
   id: 1,
   child: [
     {
       id: '1-1'
     },
     {
       id: '1-2',
       child: [
         {
           id: '1-2-1'
         }
       ]
     }
   ]
 },
 {
   id: 2
 }
]

const result = treePath({
    tree: sourceData,
    childrenKey: 'child',
    breakCondition: treeNode => treeNode.id === '1-2-1'
})

// The value should be:
[
    {
       id: 1,
       child: [...]
     },
    {
       id: '1-2',
       child: [...]
     },
    {
      id: '1-2-1'
    }
]
```

## Run tests

```sh
yarn run test
```

## Author

👤 **biyuqiwan@163.com**

* Website: http://loadingmore.com
* Github: [@BiYuqi](https://github.com/BiYuqi)

## 🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check [issues page](https://github.com/ifakejs/tree-path/issues).

## 📝 License

Copyright © 2020 [biyuqiwan@163.com](https://github.com/BiYuqi).

This project is [MIT](https://github.com/ifakejs/tree-path/blob/master/LICENSE) licensed.

***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_