open-index/open-npm huggingface dataset:
npm package: @ion-phaser-ce/react
Description: React specific wrapper for @ion-phaser-ce/core
Latest version: 1.0.5

# IonPhaser CE for React

## Introduction
React specific wrapper for [ion-phaser-ce](https://github.com/proyecto26/ion-phaser-ce) component.

## Why?
*Most people who use React don’t use [Web Components](https://reactjs.org/docs/web-components.html)* and there're some limitations handling data with [Custom Components](https://custom-elements-everywhere.com/) from React.
Thus, this **React component** was created not to need to reference their **Custom Elements** using a **ref** and manually attach the **game**, this makes working with [IonPhaser CE](https://github.com/proyecto26/ion-phaser-ce) not cumbersome 👍🏻

## Usage

- Import Phaser CE dependencies before, check the example [here](https://github.com/proyecto26/ion-phaser-ce/blob/master/demo-react/src/global.js):

```js
window.PIXI = require('phaser-ce/build/custom/pixi');
window.p2 = require('phaser-ce/build/custom/p2');
window.Phaser = require('phaser-ce/build/custom/phaser-split');
```

- Using the **IonPhaserCe** component:

```tsx
import React, { useState } from 'react'
import Phaser from 'phaser-ce'
import { IonPhaserCe } from '@ion-phaser-ce/react'

const game = {
  width: "100%",
  height: "100%",
  renderer: Phaser.AUTO,
  state: {
    init: function() {
      this.stage.backgroundColor = '#24252A';
    },
    create: function() {
      this.helloWorld = this.add.text(
        this.game.world.centerX, 
        this.game.world.centerY, 
        "Hello World", { 
          font: "40px Arial", 
          fill: "#ffffff" 
        }
      );
      this.helloWorld.anchor.set(0.5);
    },
    update: function() {
      this.helloWorld.angle += 1;
    }
  }
}

export default function App () {
  // Call `setInitialize` when you want to initialize your game as a component! :)
  const [initialize, setInitialize] = useState(false);
  return (
    <IonPhaserCe game={game} initialize={initialize} />
  )
}
```


## Supporting 🍻
I believe in Unicorns 🦄
Support [me](http://www.paypal.me/jdnichollsc/2), if you do too.
[Professionally supported @ion-phaser-ce/react is coming soon](https://tidelift.com/subscription/pkg/npm--ion-phaser-react?utm_source=npm--ion-phaser-react&utm_medium=referral&utm_campaign=readme)

## Happy coding 💯
Made with ❤️

<img width="150px" src="https://avatars0.githubusercontent.com/u/28855608?s=200&v=4" align="right">
npm package: @ion-phaser/react
Description: React specific wrapper for @ion-phaser/core
Latest version: 1.3.0

# IonPhaser for React

## Introduction
React specific wrapper for [ion-phaser](https://github.com/proyecto26/ion-phaser) component.

## Why?
*Most people who use React don’t use [Web Components](https://reactjs.org/docs/web-components.html)* and there're some limitations handling data with [Custom Components](https://custom-elements-everywhere.com/) from React.
Thus, this **React component** was created not to need to reference their **Custom Elements** using a **ref** and manually attach the **game**, this makes working with [IonPhaser](https://github.com/proyecto26/ion-phaser) not cumbersome 👍🏻

## Usage

```tsx
import React, { Component } from 'react'
import Phaser from 'phaser'
import { IonPhaser } from '@ion-phaser/react'

class App extends Component {

  state = {
    initialize: true,
    game: {
      width: "100%",
      height: "100%",
      type: Phaser.AUTO,
      scene: {
        init: function() {
          this.cameras.main.setBackgroundColor('#24252A')
        },
        create: function() {
          this.helloWorld = this.add.text(
            this.cameras.main.centerX, 
            this.cameras.main.centerY, 
            "Hello World", { 
              font: "40px Arial", 
              fill: "#ffffff" 
            }
          );
          this.helloWorld.setOrigin(0.5);
        },
        update: function() {
          this.helloWorld.angle += 1;
        }
      }
    }
  }

  render() {
    const { initialize, game } = this.state
    return (
      <IonPhaser game={game} initialize={initialize} />
    )
  }
}

export default App;
```


## Supporting 🍻
I believe in Unicorns 🦄
Support [me](http://www.paypal.me/jdnichollsc/2), if you do too.
[Professionally supported @ion-phaser/react is coming soon](https://tidelift.com/subscription/pkg/npm--ion-phaser-react?utm_source=npm--ion-phaser-react&utm_medium=referral&utm_campaign=readme)

## Happy coding 💯
Made with ❤️

<img width="150px" src="https://avatars0.githubusercontent.com/u/28855608?s=200&v=4" align="right">
npm package: @ionaco/react-utils
Description: This package is a utility library containing several useful components, helper functions, and custom hooks for React.js.
Author: Ronald Borla
Latest version: 1.0.1

# Iona React Utilities

This package is a utility library containing several useful components, helper functions, and custom hooks for React.js.

# API documentation

Documentation can be found [here](./docs/markdown/globals.md). Documentation is also available in a cleaner HTML version which can be found under `/docs/html`.

# Installation

Using npm

`npm install @ionaco/react-utils --save`

Using yarn

`yarn add @ionaco/react-utils`

# Usage

To import a function or component from this library:

```
import { Drawer, useEventListener } from '@ionaco/react-utils';
```

# Development

To start development:

- Use `npm v10.16+`
- Clone this repository
- Run `npm install`
- run `npm run dev`

# Documenting

This library uses [TypeDoc](https://typedoc.org/) built from [JSDoc](https://jsdoc.app/) to generate documentation. Follow the JSDoc link on how to properly document the library. To generate API docs:

- Run `npm run doc`

# Building

- Run `npm run build`

# Testing

To be added

# Contributing

We encourage devs from Iona to add their contribution to this repoistory. Please create a feature branch with the convention `feat/*`. When complete, create a pull request describing the feature. Pull requests will be reviewed by lead and senior developers and will be merged to the `master` branch.
npm package: @ionajda3000/primitives
Description: [![Radix Primitives Logo](primitives.png)](https://radix-ui.com/primitives)
Latest version: 0.0.0

[![Radix Primitives Logo](primitives.png)](https://radix-ui.com/primitives)

# Radix Primitives

**An open-source UI component library for building high-quality, accessible design systems and web apps.**

Radix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.

---

## Documentation

For full documentation, visit [radix-ui.com/docs/primitives](https://radix-ui.com/docs/primitives).

## Releases

For changelog, visit [radix-ui.com/docs/primitives/overview/releases](https://radix-ui.com/docs/primitives/overview/releases).

## Contributing

Please follow our [contributing guidelines](./.github/CONTRIBUTING.md).

## Authors

- Benoit Grelard ([@benoitgrelard](https://twitter.com/benoitgrelard)) - [WorkOS](https://workos.com)
- Jenna Smith ([@jjenzz](https://twitter.com/jjenzz))
- Andy Hook ([@Andy_Hook](https://twitter.com/Andy_Hook)) - [WorkOS](https://workos.com)
- Pedro Duarte ([@peduarte](https://twitter.com/peduarte))
- Chance Strickland ([@chancethedev](https://twitter.com/chancethedev))

## Contributors

- Ar Nazeh ([@Nazeh](https://github.com/Nazeh))
- Fabio Capucci ([@cappuc](https://github.com/cappuc))

---

## Community

- Pedro Duarte ([@peduarte](https://twitter.com/peduarte))
- Colm Tuite ([@colmtuite](https://twitter.com/colmtuite)) - [WorkOS](https://workos.com)

- [Discord](https://discord.com/invite/7Xb99uG) - To get involved with the Radix community, ask questions and share tips.
- [Twitter](https://twitter.com/radix_ui) - To receive updates, announcements, blog posts, and general Radix tips.

## Thanks

<a href="https://www.chromatic.com/"><img src="https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png" width="153" height="30" alt="Chromatic" /></a>

Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.

---

## License

Licensed under the MIT License, Copyright © 2022-present [WorkOS](https://workos.com).

See [LICENSE](./LICENSE) for more information.
npm package: @ionajda3000/react-accessible-icon
Description: ## Installation
Latest version: 1.1.0

# `react-accessible-icon`

## Installation

```sh
$ yarn add @ionajda3000/react-accessible-icon
# or
$ npm install @ionajda3000/react-accessible-icon
```

## Usage

View docs [here](https://ionajda3000.com/primitives/docs/utilities/accessible-icon).
npm package: @ionajda3000/react-dropdown-menu
Description: ## Installation
Latest version: 2.1.5

# `react-dropdown-menu`

## Installation

```sh
$ yarn add @radix-ui/react-dropdown-menu
# or
$ npm install @radix-ui/react-dropdown-menu
```

## Usage

View docs [here](https://radix-ui.com/primitives/docs/components/dropdown-menu).
npm package: @ionapp/bot
Description: ![logo512 copy 2](https://user-images.githubusercontent.com/31907722/125200919-98b07f00-e28a-11eb-8f49-cc3514cd34e0.png)
Latest version: 1.2.9



# Ion Bot

![logo512 copy 2](https://user-images.githubusercontent.com/31907722/125200919-98b07f00-e28a-11eb-8f49-cc3514cd34e0.png)
 

Ion is an open source Telegram user bot with built-in web based admin dashboard which gives you ability to manage your user bot, install plugins, add custom commands and more.
  


## Requirements

* Node.js and NPM
* yarn
* macOS, Windows, Linux or Android

## Installation

There are two ways you can install Ion on your PC/Android. To install and host on Android, follow <a href="https://xen.codes/install-ion-on-android" target="_blank">this post</a>.

### Method 1 (recommended)

This is the easiest way to install Ion, run the following commands:
 ```shell
 yarn global add @ionapp/cli
 ion --init
 cd ion-main
 yarn start
 ```

### Method 2

For this method you will need to manually download  the latest release from GitHub page, then extract the zip file, and using the following command to setup.

```bash
git clone https://github.com/ionbot/ion-app
cd ion-app
npx lerna bootstrap
yarn
# create .env file in packages/bot folder and add MONGO=[mongo_url]
yarn dev
```

[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/ionbot/ion)

[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template?template=https://github.com/ionbot/ion)
  
## Known Issues

  

### For more information

  

*  [Join Telegram Group](https://t.me/ionuserbotchat)
  

**Enjoy! Feedbacks are really appreciated ❤️**
npm package: @ionaru/create-linting
Description: My package create-linting
Author: Jeroen Akkerman
Latest version: 1.0.0

# @ionaru/create-linting

[![npm version](https://img.shields.io/npm/v/@ionaru/create-linting.svg?style=for-the-badge)](https://www.npmjs.com/package/@ionaru/create-linting)
[![npm version](https://img.shields.io/npm/v/@ionaru/create-linting/next.svg?style=for-the-badge)](https://www.npmjs.com/package/@ionaru/create-linting/v/next)
[![Build Status](https://img.shields.io/travis/Ionaru/create-linting/master.svg?style=for-the-badge)](https://travis-ci.org/Ionaru/create-linting)

## Description
A package that will add my personal preferred linting setup to a project.

## Usage
```
npx @ionaru/create-linting
```
npm package: @ionaru/eslint-config
Description: My custom flavoured config for ESLint
Author: Jeroen Akkerman
Latest version: 13.5.0

# ESLint-config

[![npm version](https://img.shields.io/npm/v/@ionaru/eslint-config.svg?style=for-the-badge)](https://www.npmjs.com/package/@ionaru/eslint-config)

## Description
My custom flavoured config for ESLint based on my standard TSLint configuration.

## Usage

### Install
```
npm install -D @ionaru/eslint-config eslint @typescript-eslint/eslint-plugin eslint-plugin-import eslint-plugin-prefer-arrow eslint-plugin-sonarjs eslint-plugin-unicorn
```

### Configuration

tsconfig.eslint.json example
```json
{
    "extends": "./tsconfig.json",
    "include": [
        "src/**/*.ts"
    ]
}
```

.eslintrc.json example
```json
{
    "env": {
        "es6": true
    },
    "parserOptions": {
        "project": "tsconfig.eslint.json",
        "sourceType": "module"
    },
    "extends": [
        "@ionaru"
    ]
}
```

package.json example
```json
...
"scripts": {
    ...
    "lint": "eslint --ext ts --max-warnings 0 src",
    ...
},
...
```
npm package: @ionaru/format-number
Description: A sturdy and effective number formatter.
Author: Jeroen Akkerman
Latest version: 5.0.0

# @ionaru/format-number

[![npm version](https://img.shields.io/npm/v/@ionaru/format-number.svg?style=for-the-badge)](https://www.npmjs.com/package/@ionaru/format-number)
[![npm version](https://img.shields.io/npm/v/@ionaru/format-number/next.svg?style=for-the-badge)](https://www.npmjs.com/package/@ionaru/format-number/v/next)
[![Build Status](https://img.shields.io/travis/Ionaru/format-number/master.svg?style=for-the-badge)](https://travis-ci.org/Ionaru/format-number)
[![codecov](https://img.shields.io/codecov/c/github/Ionaru/format-number/master.svg?style=for-the-badge)](https://codecov.io/gh/Ionaru/format-number)

## Description
A package for formatting a number to improve its readability.

## Usage
```bash
npm install @ionaru/format-number
```

Standard use
```typescript
import { formatNumber } from 'format-number';
const formattedNumber = formatNumber(500.8);
console.log(formattedNumber);  // 500.80
```

No decimals
```typescript
import { formatNumber } from 'format-number';
const formattedNumber = formatNumber(1.62, 0);
console.log(formattedNumber);  // 2
```

## API
### formatNumber(amount, decimalAmount, decimalMark, delimiter) ⇒ <code>string</code>
Format a number to make it more readable.

**Kind**: global function  

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| amount | <code>number</code> \| <code>string</code> |  | The amount that will be formatted, must be convertible by `Number()`. |
| decimalAmount | <code>number</code> | <code>2</code> | The amount of decimal places will be in the formatted number. |
| decimalMark | <code>string</code> | <code>&quot;.&quot;</code> | The character that marks the start the fractional part of the formatted number. |
| delimiter | <code>string</code> | <code>&quot;,&quot;</code> | The character that separates the thousands in a number. |

## Examples
Standard formatting is great for monetary values.
```typescript
const formattedNumber = formatNumber(19499.99);
console.log(formattedNumber);  // 19,499.99
```

Show only whole numbers
```typescript
const formattedNumber = formatNumber(19499.99, 0);
console.log(formattedNumber);  // 19,500
```

The input number can be a string
```typescript
const formattedNumber = formatNumber('19499.99');
console.log(formattedNumber);  // 19,499.99
```

Change the default markings in the number for international use.

Canadian
```typescript
const formattedNumber = formatNumber(19499.99, undefined, ',', ' ');
console.log(formattedNumber);  // 19 499,99
```

Dutch
```typescript
const formattedNumber = formatNumber(19499.99, undefined, ',', '.');
console.log(formattedNumber);  // 19.499,99
```
npm package: @ionaru/micro-web-service
Description: A library with tools to quickly create an express server
Author: Jeroen Akkerman
Latest version: 5.0.0

# @ionaru/micro-web-service

## Description
A library with tools to quickly create an express server.

## Usage
```
npm install @ionaru/micro-web-service ajv ajv-errors ajv-formats
npm install -D @types/body-parser @types/compression @types/express @types/express-serve-static-core
```

```js
export class ExampleRouter extends BaseRouter {

    // request: express.Request
    // response: express.Response
    // next: express.NextFunction

    static badHandler(request, response, next) {
        ExampleRouter.sendResponse(response, 400, 'Bad');
    }

    static okHandler(request, response, next) {
        ExampleRouter.sendSuccess(response);
    }

    static dataHandler(request, response, next) {
        ExampleRouter.sendSuccess(response, {value: 5});
        // Data can be anything.
        // Responds {data: {value: 5}, message: 'OK', state: 'success'}
    }

    constructor() {
        super();

        this.createRoute('get', '/bad', ExampleRouter.badHandler);
        this.createRoute('get', '/ok', ExampleRouter.okHandler.bind(this)); // Bind class context.
        this.createRoute('get', '/data', ExampleRouter.dataHandler);
    }
}

const router = new ExampleRouter();
const serviceController = new ServiceController({
    port: 3000,
    routes: [
        ['/', router],
    ],
}).listen().then();

// Close the webserver
serviceController.close().then();
```
npm package: @ionaru/typed-events
Description: A tiny module for type-safe events.
Author: Jeroen Akkerman
Latest version: 1.0.0

# @ionaru/typed-events

[![npm version](https://img.shields.io/npm/v/@ionaru/typed-events.svg?style=for-the-badge)](https://www.npmjs.com/package/@ionaru/typed-events)
[![npm version](https://img.shields.io/npm/v/@ionaru/typed-events/next.svg?style=for-the-badge)](https://www.npmjs.com/package/@ionaru/typed-events/v/next)
[![Build Status](https://img.shields.io/github/workflow/status/ionaru/typed-events/Test%20&%20Deploy/master?style=for-the-badge)](https://github.com/Ionaru/typed-events/actions)

## Description
A tiny package that provides a very simple event system with Typescript support.

## Usage
```
npm install @ionaru/typed-events
```

```ts
import { TypedEvent } from '@ionaru/typed-events';

// Create a new event.
const myEvent = new TypedEvent<string>();

// Create a listener and subscribe to the event.
const listener = (message) => console.log(message);
myEvent.on(listener);

// Emit to notify all listeners.
myEvent.emit('Something happened!')

// console.log: 'Something happened!'
```
npm package: @ionchi/redis-session-checker
Description: Frontend redis session checker
Author: Ion Chiriac
Latest version: 2.0.1

# redis-session-checker

[![GitHub issues](https://img.shields.io/github/issues/ionchi/redis-session-checker.svg?style=flat-square)](https://github.com/ionchi/redis-session-checker/issues)
[![GitHub license](https://img.shields.io/github/license/ionchi/redis-session-checker.svg?style=flat-square)](https://github.com/ionchi/redis-session-checker/blob/master/LICENSE)
![npm (scoped)](https://img.shields.io/npm/v/@ionchi/redis-session-checker.svg?style=flat-square)

This is a utility package to check the validity of a session, set by SPRING BOOT, with Redis.

Install with:

    npm i @ionchi/redis-session-checker


## Usage Example

```js
var sessionChecker = require('@ionchi/redis-session-checker');

var sessionCookieString = "SESSION=<base64 encoded string>"
var redisUrl = "redis://[host]:[port]"

sessionChecker.checkRedisSession(redisUrl, sessionCookieString)
    .then(result => {
        console.log("IS VALID: ", result);
    }).catch(err => console.log(err));
```

This will display something like:

    IS VALID: true
npm package: @ioncoin/iond-rpc
Description: ION Client Library to connect to ION Core via RPC
Author: The ION Core Developers
Latest version: 0.5.0

iond-rpc.js
===========

[![NPM Package](https://img.shields.io/npm/v/@ioncoin/iond-rpc.svg?style=flat-square)](https://www.npmjs.org/package/@ioncoin/iond-rpc)
[![Build Status](https://img.shields.io/travis/com/ioncoincore/iond-rpc.svg?branch=master&style=flat-square)](https://travis-ci.com/ioncoincore/iond-rpc)
[![Coverage Status](https://img.shields.io/coveralls/ioncoincore/iond-rpc.svg?style=flat-square)](https://coveralls.io/r/ioncoincore/iond-rpc?branch=master)

A client library to connect to ION Core RPC in JavaScript.

## Get Started

iond-rpc.js runs on [node](http://nodejs.org/), and can be installed via [npm](https://npmjs.org/):

```bash
npm install @ioncoin/iond-rpc
```

## Examples

```javascript
var run = function() {
  var RpcClient = require('iond-rpc');

  var config = {
    protocol: 'http',
    user: 'user',
    pass: 'pass',
    host: '127.0.0.1',
    port: '18332',
  };

  var rpc = new RpcClient(config);

  var txids = [];

  function showNewTransactions() {
    rpc.getRawMemPool(function (err, ret) {
      if (err) {
        console.error(err);
        return setTimeout(showNewTransactions, 10000);
      }

      function batchCall() {
        ret.result.forEach(function (txid) {
          if (txids.indexOf(txid) === -1) {
            rpc.getRawTransaction(txid);
          }
        });
      }

      rpc.batch(batchCall, function(err, rawtxs) {
        if (err) {
          console.error(err);
          return setTimeout(showNewTransactions, 10000);
        }

        rawtxs.map(function (rawtx) {
          console.log('\n\n\n' + rawtx.result);
        });

        txids = ret.result;
        setTimeout(showNewTransactions, 2500);
      });
    });
  }

  showNewTransactions();
};
```

## License

**Code released under [the MIT license](https://github.com/ioncoincore/iond-rpc/blob/master/LICENSE).**

Copyright 2019 The ION Core Developers
npm package: @iondrive/logger
Description: A 12-factor logging module for Node.js/io.js.
Author: Ben Shepheard
Latest version: 0.0.3

# @iondrive/logger

A [12-factor](http://12factor.net/logs) logging module for Node.js/io.js.

[![Build Status][travis-image]][travis-url]

## Principles

  * Log to `stdout`. The environment should manage how logs are routed and stored.
  * Log as JSON, allowing machines to read the log output.  

## Install

```bash
npm install @iondrive/logger
```

## Usage

### Logging level

The logging level can be set with the environment variable `NODE_LOG_LEVEL` or `LOG_LEVEL`. The value can be one of `trace`, `debug`, `info`, `warn`, `error` or `fatal`. The default level is `info`.

### Example

```js
var log = require('@iondrive/logger');

log.info('hello');

// The following will log the error fields and stack trace
log.info(err);
log.info(err, 'Something broke');
```

### Formatting

All logger methods use `util.format` and thus can use placeholder formatting.

```js
log.debug('hello from %s', 'iondrive'); // 'hello from iondrive'
```

## License

[MIT](LICENSE)

[travis-image]: https://img.shields.io/travis/iondrive/logger.svg
[travis-url]: https://travis-ci.org/iondrive/logger
npm package: @iondrive/validation-middleware
Description: A JSON Schema validation middleware
Author: Ben Shepheard
Latest version: 0.0.6

# @iondrive/validation-middleware

A JSON Schema validation middleware module for Node.js/io.js.

[![Build Status][travis-image]][travis-url]

## Install

```bash
npm install @iondrive/validation-middleware
```

## Usage

```js
const express = require('express');
const bodyParser = require('body-parser');
const validate = require('@iondrive/validation-middleware');

const app = express();
app.use(bodyParser.json());

const greetingSchema = {
  type: 'object',
  properties: {
    name: {
      type: 'string'
    }
  },
  required: ['name']
};
app.get('/greeting', validate.body(greetingSchema), function (req, res) {
  res.send('Hello there ' + req.body.name + '!');
});

app.use(function (err, req, res, next) {
  if (err instanceof validate.ValidationError) {
    res.status(400).send({
      errors: err.errors
    });
  }
});

app.listen(3000);
```

## License

[MIT](LICENSE)

[travis-image]: https://img.shields.io/travis/iondrive/validation-middleware.svg
[travis-url]: https://travis-ci.org/iondrive/validation-middleware