open-index/open-npm huggingface dataset:
npm package: @r_seung_h/blom-logic
Description: Omok's win and prohibit logic
Author: r_seung_h
Latest version: 0.1.8

# How to use check logic lib

install: `npm i @r_seung_h/blom-logic`   

<b>This lib is made for bundler.</b>

# Support Functions
- <b>init objects:</b>
  - `init_obj(board: Int32Array, x: number, y: number) => Check` : initialize check with board and x, y
- <b>update objects:</b>
  - `update_check_board(check: Check, new_board: Int32Array, x: number, y: number) => Check` : update check board with new board and x, y, <b>This function also have check_valid_board logic</b>
- <b>check for a game:</b>
  - `check_win(check: Check) => boolean` : check if the game is win
  - `check_33(check: Check) => boolean` : check if there is 33 pattern
  - `check_44(check: Check) => boolean` : check if there is 44 pattern
- <b>check for debug:</b>
  - `check_valid_board(board: Int32Array) => boolean` : check if the board is valid
  - `print_address(check: Check) => number` : print address of check
- <b>free objects:</b>  
  - `free(check: Check) => void` : free check
<br> </br>
- <h3>Not Recommended</h3>
  
  - `init_board(board: Int32Array) => Board` : initialize board
  - `init_check(board: Board, x: number, y: number) => Check` : initialize check

## To use with vite
```bash
npm i @r_seung_h/blom-logic
npm i vite-plugin-wasm
```


### 1. modify vite.config.ts
```ts
import wasm from 'vite-plugin-wasm';
import { defineConfig } from 'vite';

export default defineConfig({
    plugins: [wasm()],
    build: {
        target: 'esnext',
    }
  });
```
build options is for top-level await. (it may be not support old browser)


### 2. Import functions from pkg
this way not use init() function.
```ts
import { init_obj,
    update_check_board, 
    check_win, 
    check_33, 
    check_44, 
} from '@r_seung_h/blom-logic';
```
npm package: @ra-cgp/npm-platform-dependencies
Description: Module to specify dependencies for different operating systems.
Author: Alberto Fernandez
Latest version: 0.1.0

# NPM Platform Dependencies
Small script that allows you to specify OS-specific dependencies in your package.json and install them only in that OS.

Install via:

`npm install npm-platform-dependencies`

## Specify your packages inside package.json

Specify the specific dependencies for each platform, like:

```
"darwinDependencies": {
    "nodobjc": "latest"
},
"win32Dependencies": {
    "edge": "latest"
}
```

Then run:

```
npmpd
```

And that's it! Depending the platform where you run the command, it will install one or the other (or nothing if linux).

## Use with npm install
To use it just after npm install, put this script on the scripts section of package.json

```
"postinstall": "npmpd"
```

## Inside the code
Be sure to make your code detect the platform you are running on, or you will end up requiring things you don't have installed!

## Motivation
I came across a problem where it would be useful to specify platform specific dependencies. For instance, when trying to deal with addons that connect to specific
os frameworks (Cocoa, .NET...). This is an easy solution if you don't want to deal with building a native addon with [node-gyp](https://github.com/nodejs/node-gyp), if
the functionalities you need are already in different os specific packages.

Another use case would be when dealing with wrappers of os specific programs, and you want to link to one or the other depending the platform you run your program with.

## License

MIT License Copyright (c) 2016 Alberto Fernandez
npm package: @ra-data-simple-rest-backend/auth-koa
Description: Router for authentication and Middleware for authorization.
Author: maruware
Latest version: 0.0.7

# Auth Koa

Router for authentication and Middleware for authorization.

## Install 

```
@ra-data-simple-rest-backend/auth-koa
```

## Usage

```ts
import Koa from 'koa'
import koaBody from 'koa-body'
import Router from 'koa-router'

import request from 'supertest'
import { buildAuth } from '@ra-data-simple-rest-backend/auth-koa'

const app = new Koa()
app.use(koaBody())

const admins = [{ username: 'takashi', password: 'my_password' }]
const auth = buildAuth('my secret', admins)

const router = new Router()
router.use('/auth', auth.router.routes(), auth.router.allowedMethods())

const apiRouter = new Router()
apiRouter.get('/sample', async ctx => {
    ctx.body = 'ok'
})
router.use(auth.middleware, apiRouter.routes(), apiRouter.allowedMethods())

app.use(router.routes()).use(router.allowedMethods())
```
npm package: @ra-data-simple-rest-backend/koa-mongoose
Description: Build API for React admin simple rest client in a project using Koa and Mongoose.
Author: maruware
Latest version: 0.0.11

# Koa Mongoose

Build API for React admin simple rest client in a project using Koa and Mongoose.

## Install

```
yarn add @ra-data-simple-rest-backend/koa-mongoose
```

## Usage

```ts
import Koa from 'koa'
import koaBody from 'koa-body'

import { User } from './models'

const app = new Koa()
app.use(koaBody())

const router = rest('/users', User, [CREATE, GET_LIST, GET_ONE, UPDATE, DELETE ])
app.use(router.routes()).use(router.allowedMethods())
```
npm package: @ra-data-simple-rest-backend/koa-sequelize
Description: Build API for React admin simple rest client in a project using Koa and Sequelize.
Author: maruware
Latest version: 0.0.12

# Koa Sequelize

Build API for React admin simple rest client in a project using Koa and Sequelize.

## Install

```
yarn add @ra-data-simple-rest-backend/koa-sequelize
```

## Usage

```ts
import Koa from 'koa'
import koaBody from 'koa-body'

import { User } from './models'

const app = new Koa()
app.use(koaBody())

const router = rest('/users', User, [CREATE, GET_LIST, GET_ONE, UPDATE, DELETE ])
app.use(router.routes()).use(router.allowedMethods())
```
npm package: @ra-libs/nestjs
Description: React admin nestjs lib
Author: Rabah Zeineddine
Latest version: 1.5.20

<p align="center">
  <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo_text.svg" width="320" alt="Nest Logo" /></a>
</p>

[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest

  <p align="center">React Admin Nestjs lib</p>
    <p align="center">
    <a href="https://www.npmjs.com/org/ra-libs" target="_blank"><img src="https://img.shields.io/npm/v/@ra-libs/nestjs.svg" alt="NPM Version" /></a>
    <a href="https://www.npmjs.com/org/ra-libs" target="_blank"><img src="https://img.shields.io/npm/l/@ra-libs/nestjs.svg" alt="Package License" /></a>
    <a href="https://github.com/ra-libs/nestjs/actions/workflows/semantic-release.yml/badge.svg" target="_blank"><img src="https://github.com/ra-libs/nestjs/actions/workflows/semantic-release.yml/badge.svg" alt="Publish Status" /></a>
  </p>


This Package uses [semantic-release](https://github.com/semantic-release/semantic-release) to publish new versions. Check [Angular Commit Message Conventions](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format) for new commits

### Installation

Run npm install

```bash
npm install @ra-libs/nestjs
```


### Documentation

check the [documentation page](https://ra-libs.gitbook.io/nestjs)


## Change Log

See [Changelog](https://github.com/ra-libs/nestjs/blob/main/CHANGELOG.md) for more information.

## Contributing

Contributions welcome! See [Contributing](https://github.com/ra-libs/nestjs/blob/main/CONTRIBUTING.md).

## Author

[@RabahZeineddine](https://github.com/RabahZeineddine)

## License

Licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
npm package: @ra-libs/react
Description: React admin front components and utils
Author: Rabah Zeineddine
Latest version: 2.0.5

<p align="center">@ra-libs/react</p>
    <p align="center">
    <a href="https://www.npmjs.com/org/ra-libs" target="_blank"><img src="https://img.shields.io/npm/v/@ra-libs/react.svg" alt="NPM Version" /></a>
    <a href="https://www.npmjs.com/org/ra-libs" target="_blank"><img src="https://img.shields.io/npm/l/@ra-libs/react.svg" alt="Package License" /></a>
    <a href="https://github.com/ra-libs/react/actions/workflows/semantic-release.yml/badge.svg" target="_blank"><img src="https://github.com/ra-libs/react/actions/workflows/semantic-release.yml/badge.svg" alt="Publish Status" /></a>
</p>

This Package uses [semantic-release](https://github.com/semantic-release/semantic-release) to publish new versions. Check [Angular Commit Message Conventions](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format) for new commits

### Installation

Run npm install

```bash
npm install @ra-libs/react
```


### Documentation

check the [documentation page](https://ra-libs.gitbook.io/react)
npm package: @ra-libs/react-rbac
Description: React admin RBAC front components and utils
Author: Rabah Zeineddine
Latest version: 2.0.3

<p align="center">@ra-libs/react-rbac</p>
    <p align="center">
    <a href="https://www.npmjs.com/org/ra-libs" target="_blank"><img src="https://img.shields.io/npm/v/@ra-libs/react-rbac.svg" alt="NPM Version" /></a>
    <a href="https://www.npmjs.com/org/ra-libs" target="_blank"><img src="https://img.shields.io/npm/l/@ra-libs/react-rbac.svg" alt="Package License" /></a>
    <a href="https://github.com/ra-libs/react-rbac/actions/workflows/semantic-release.yml/badge.svg" target="_blank"><img src="https://github.com/ra-libs/react-rbac/actions/workflows/semantic-release.yml/badge.svg" alt="Publish Status" /></a>
</p>

This Package uses [semantic-release](https://github.com/semantic-release/semantic-release) to publish new versions. Check [Angular Commit Message Conventions](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format) for new commits

### Installation

Run npm install

```bash
npm install @ra-libs/react-rbac
```

### Documentation

check the [documentation page](https://ra-libs.gitbook.io/react-rbac)
npm package: @ra2web/wavefile
Description: WAV file processing library from ra2web project
Author: ra2web team
Latest version: 1.0.2

# @ra2web/wavefile

一个从ra2web项目中提取的WAV文件处理库。该库提供了读取、写入和操作WAV音频文件的全面功能。

## 特性

- 读写WAV文件
- 支持多种位深（8、16、24、32、64位）
- 支持浮点音频格式（32f、64）
- 音频压缩格式（IMA-ADPCM、A-Law、μ-Law）
- 采样率转换
- 位深转换
- 音频格式转换
- Base64编码/解码
- 数据URI支持

## 安装

```bash
npm install @ra2web/wavefile
```

## 使用

### 基础用法

```javascript
import { WaveFile } from '@ra2web/wavefile';

// 创建新的WaveFile实例
const wav = new WaveFile();

// 从缓冲区加载
const buffer = /* 你的音频缓冲区 */;
wav.fromBuffer(buffer);

// 访问音频属性
console.log('采样率:', wav.fmt.sampleRate);
console.log('声道数:', wav.fmt.numChannels);
console.log('位深:', wav.bitDepth);

// 获取采样值
const samples = wav.getSamples();

// 转换为不同格式
wav.toBitDepth('16');
wav.toSampleRate(44100);

// 导出为缓冲区
const outputBuffer = wav.toBuffer();
```

### 格式转换

```javascript
// 转换为不同压缩格式
wav.toALaw();        // 转换为A-Law
wav.toMuLaw();       // 转换为μ-Law
wav.toIMAADPCM();    // 转换为IMA-ADPCM

// 从压缩格式转换
wav.fromALaw();
wav.fromMuLaw();
wav.fromIMAADPCM();
```

### Base64和数据URI支持

```javascript
// 转换为Base64
const base64String = wav.toBase64();

// 从Base64加载
wav.fromBase64(base64String);

// 转换为数据URI
const dataUri = wav.toDataURI();

// 从数据URI加载
wav.fromDataURI(dataUri);
```

## API参考

### WaveFile类

#### 构造函数
- `new WaveFile(buffer?)` - 创建新的WaveFile实例（可选从缓冲区初始化）

#### 方法

##### 文件I/O
- `fromBuffer(buffer)` - 从缓冲区加载WAV数据
- `toBuffer()` - 导出WAV数据为缓冲区
- `fromBase64(base64String)` - 从Base64字符串加载WAV数据
- `toBase64()` - 导出WAV数据为Base64字符串
- `fromDataURI(dataUri)` - 从数据URI加载WAV数据
- `toDataURI()` - 导出WAV数据为数据URI

##### 格式转换
- `toBitDepth(bitDepth, dithered?)` - 转换位深
- `toSampleRate(sampleRate, options?)` - 转换采样率
- `toRIFF()` - 转换为RIFF格式
- `toRIFX()` - 转换为RIFX格式

##### 压缩
- `toALaw()` - 转换为A-Law压缩
- `fromALaw(bitDepth?)` - 从A-Law压缩转换
- `toMuLaw()` - 转换为μ-Law压缩
- `fromMuLaw(bitDepth?)` - 从μ-Law压缩转换
- `toIMAADPCM()` - 转换为IMA-ADPCM压缩
- `fromIMAADPCM(bitDepth?)` - 从IMA-ADPCM压缩转换

##### 音频数据
- `getSamples(interleaved?)` - 获取音频采样值

#### 属性
- `fmt` - 格式块数据
- `data` - 音频数据块
- `bitDepth` - 当前位深
- `container` - 容器格式（RIFF/RIFX/RF64）

## 许可证

MIT

## 贡献

本库从ra2web项目中提取。有关问题和贡献，请参考原始项目仓库。
npm package: @ra9/js-helpers
Description: Js Helper is a JavaScript helper library that  help makes developer work easier by leveraging these helpers method
Author: Carlos S. Nah
Latest version: 0.1.3
Deprecated: this package has been deprecated

# js-helpers
A minimalist JavaScript library that make developers work easier  by allowing them to 
use helpers method and functions.

## Why you should use js-helper?
It has a lot of cool helpers function that speed up development time and allow you to write clean code and save you the work of doing repetitive tasks. 
It is free and work  well  in the browser and the web browser as well.
npm package: @raabbajam/pluto-captcha
Description: <big><h1 align="center">pluto-captcha</h1></big>
Author: Raabb Ajam
Latest version: 1.5.7

<big><h1 align="center">pluto-captcha</h1></big>

<p align="center">
  <a href="https://npmjs.org/package/pluto-captcha">
    <img src="https://img.shields.io/npm/v/pluto-captcha.svg?style=flat-square"
         alt="NPM Version">
  </a>

  <a href="https://coveralls.io/r/raabbajam/pluto-captcha">
    <img src="https://img.shields.io/coveralls/raabbajam/pluto-captcha.svg?style=flat-square"
         alt="Coverage Status">
  </a>

  <a href="https://travis-ci.org/raabbajam/pluto-captcha">
    <img src="https://img.shields.io/travis/raabbajam/pluto-captcha.svg?style=flat-square"
         alt="Build Status">
  </a>

  <a href="https://npmjs.org/package/pluto-captcha">
    <img src="http://img.shields.io/npm/dm/pluto-captcha.svg?style=flat-square"
         alt="Downloads">
  </a>

  <a href="https://david-dm.org/raabbajam/pluto-captcha.svg">
    <img src="https://david-dm.org/raabbajam/pluto-captcha.svg?style=flat-square"
         alt="Dependency Status">
  </a>

  <a href="https://github.com/raabbajam/pluto-captcha/blob/master/LICENSE">
    <img src="https://img.shields.io/npm/l/pluto-captcha.svg?style=flat-square"
         alt="License">
  </a>
</p>

<p align="center"><big>

</big></p>


## Install

```sh
npm i -D pluto-captcha
```

## Usage

```js
import plutoCaptcha from "pluto-captcha"

plutoCaptcha() // true
```

## License

MIT © [Raabb Ajam](http://github.com/raabbajam)

[npm-url]: https://npmjs.org/package/pluto-captcha
[npm-image]: https://img.shields.io/npm/v/pluto-captcha.svg?style=flat-square

[travis-url]: https://travis-ci.org/raabbajam/pluto-captcha
[travis-image]: https://img.shields.io/travis/raabbajam/pluto-captcha.svg?style=flat-square

[coveralls-url]: https://coveralls.io/r/raabbajam/pluto-captcha
[coveralls-image]: https://img.shields.io/coveralls/raabbajam/pluto-captcha.svg?style=flat-square

[depstat-url]: https://david-dm.org/raabbajam/pluto-captcha
[depstat-image]: https://david-dm.org/raabbajam/pluto-captcha.svg?style=flat-square

[download-badge]: http://img.shields.io/npm/dm/pluto-captcha.svg?style=flat-square

buat web server
menerima url / ftp link gambar dan type task (lion/gos/bni)

- server side
menerima post request, dengan body filepath sama type task

- client side
mengirim filepath sama type task


## Setting up

```bash
cp sample.env .env
cp ~/.npmrc .private-npmrc
docker build -t raabbajam/pluto-captcha .
docker run -d -p 54754:3000 --name pluto-captcha raabbajam/pluto-captcha
```
npm package: @raabbajam/pluto-email
Description: <big><h1 align="center">pluto-email</h1></big>
Author: Raabb Ajam
Latest version: 1.2.13

<big><h1 align="center">pluto-email</h1></big>

<p align="center">
  <a href="https://npmjs.org/package/pluto-email">
    <img src="https://img.shields.io/npm/v/pluto-email.svg?style=flat-square"
         alt="NPM Version">
  </a>

  <a href="https://coveralls.io/r/raabbajam/pluto-email">
    <img src="https://img.shields.io/coveralls/raabbajam/pluto-email.svg?style=flat-square"
         alt="Coverage Status">
  </a>

  <a href="https://travis-ci.org/raabbajam/pluto-email">
    <img src="https://img.shields.io/travis/raabbajam/pluto-email.svg?style=flat-square"
         alt="Build Status">
  </a>

  <a href="https://npmjs.org/package/pluto-email">
    <img src="http://img.shields.io/npm/dm/pluto-email.svg?style=flat-square"
         alt="Downloads">
  </a>

  <a href="https://david-dm.org/raabbajam/pluto-email.svg">
    <img src="https://david-dm.org/raabbajam/pluto-email.svg?style=flat-square"
         alt="Dependency Status">
  </a>

  <a href="https://github.com/raabbajam/pluto-email/blob/master/LICENSE">
    <img src="https://img.shields.io/npm/l/pluto-email.svg?style=flat-square"
         alt="License">
  </a>
</p>

<p align="center"><big>

</big></p>

This module will start a mail server to receive incoming email.

It has three functionality:
- HTTP-Server. Run a http server to receive incoming email.
- FTP-Client. Put a file on ftp client.
- Event-emitter. Attach handler and emit data on event.

## Install

```sh
npm i -D pluto-email
```

## Usage

- Generate random email address that you want to use as an email receiver
- Tell the sender to let them know you expect them to send an email to the generated random email address
- Listen to the specified email address, validated the email subject and only process the expected message

```js
import plutoEmail from "pluto-email"

const emailAddress = plutoEmail.generateAddress(); // true
askMessageToBeSentToThisAddress(emailAddress)
	.then(() => plutoEmail.waitMessageFor(emailAddress, [optionalValidation, timeout, options]))
	.then((message) => {
		// message contain data message, sender, etc.
	});
```

## License

MIT © [Raabb Ajam](http://github.com/raabbajam)

[npm-url]: https://npmjs.org/package/pluto-email
[npm-image]: https://img.shields.io/npm/v/pluto-email.svg?style=flat-square

[travis-url]: https://travis-ci.org/raabbajam/pluto-email
[travis-image]: https://img.shields.io/travis/raabbajam/pluto-email.svg?style=flat-square

[coveralls-url]: https://coveralls.io/r/raabbajam/pluto-email
[coveralls-image]: https://img.shields.io/coveralls/raabbajam/pluto-email.svg?style=flat-square

[depstat-url]: https://david-dm.org/raabbajam/pluto-email
[depstat-image]: https://david-dm.org/raabbajam/pluto-email.svg?style=flat-square

[download-badge]: http://img.shields.io/npm/dm/pluto-email.svg?style=flat-square
npm package: @raabbajam/pluto-http
Description: http libs with extended utilities
Author: Raabb Ajam
Latest version: 0.0.11

<big><h1 align="center">pluto-http</h1></big>

<p align="center">
  <a href="https://npmjs.org/package/pluto-http">
    <img src="https://img.shields.io/npm/v/pluto-http.svg?style=flat-square"
         alt="NPM Version">
  </a>

  <a href="https://coveralls.io/r/raabbajam/pluto-http">
    <img src="https://img.shields.io/coveralls/raabbajam/pluto-http.svg?style=flat-square"
         alt="Coverage Status">
  </a>

  <a href="https://travis-ci.org/raabbajam/pluto-http">
    <img src="https://img.shields.io/travis/raabbajam/pluto-http.svg?style=flat-square"
         alt="Build Status">
  </a>

  <a href="https://npmjs.org/package/pluto-http">
    <img src="http://img.shields.io/npm/dm/pluto-http.svg?style=flat-square"
         alt="Downloads">
  </a>

  <a href="https://david-dm.org/raabbajam/pluto-http.svg">
    <img src="https://david-dm.org/raabbajam/pluto-http.svg?style=flat-square"
         alt="Dependency Status">
  </a>

  <a href="https://github.com/raabbajam/pluto-http/blob/master/LICENSE">
    <img src="https://img.shields.io/npm/l/pluto-http.svg?style=flat-square"
         alt="License">
  </a>
</p>

<p align="center"><big>
http libs with extended utilities
</big></p>


## Install

```sh
npm i -S pluto-http
```

## Usage

```js
import Http from "pluto-http"

const host = 'api.ipify.org';
const uri = 'https://api.ipify.org';
const options = {host, uri};
const http = Http(options);
return http.get(options)
  .get('body')
  .then(({ip}) => {
    assert.equal(Boolean(ip), true, 'should get ip');
  })
  .catch(assert.end);
```

For more usage information, check tests directory.

## License

MIT © [Raabb Ajam](http://github.com/raabbajam)

[npm-url]: https://npmjs.org/package/pluto-http
[npm-image]: https://img.shields.io/npm/v/pluto-http.svg?style=flat-square

[travis-url]: https://travis-ci.org/raabbajam/pluto-http
[travis-image]: https://img.shields.io/travis/raabbajam/pluto-http.svg?style=flat-square

[coveralls-url]: https://coveralls.io/r/raabbajam/pluto-http
[coveralls-image]: https://img.shields.io/coveralls/raabbajam/pluto-http.svg?style=flat-square

[depstat-url]: https://david-dm.org/raabbajam/pluto-http
[depstat-image]: https://david-dm.org/raabbajam/pluto-http.svg?style=flat-square

[download-badge]: http://img.shields.io/npm/dm/pluto-http.svg?style=flat-square
npm package: @raabbajam/pluto-pdf
Description: pluto-pdf
Author: Raabb Ajam
Latest version: 1.1.5

# pluto-pdf

[![NPM version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coveralls Status][coveralls-image]][coveralls-url]
[![Dependency Status][depstat-image]][depstat-url]
[![Downloads][download-badge]][npm-url]

> pluto-pdf

## Install

```sh
npm i -S pluto-pdf
```

## Usage

```js
const {Client, Server} = require('pluto-pdf');

const client = Client({
  serverUrl: 'localhost:3002',
  auth: 's3cret',
  storageOptions: {
    serverUrl: 'localhost:3003',
    auth: 'miracle-',
  },
});
const html = '<html>...</html>';
const type = 'citilink'; // default: custom. Look folder src/modules
client.convert(html, type) // promise
  .then((stream) => stream.pipe(writeStream));
const links = ['http://example.com/asd.pdf', 'http://example.com/asd2.pdf'];
client.merge(links) //
  .then((stream) => stream.pipe(writeStream));

const server = Server({
  port: 3005,
  auth: 's3cret',
  storageOptions: {
    serverUrl: 'localhost:3003',
    auth: 'miracle-',
  },
});
server.start(); // Promise
server.stop(); // Promise
```

## Use docker-compose
```
git clone git@gitlab.pondokprogrammer.com:pluto/pluto-pdf.git
cd pluto-pdf
cp sample.env .env
nano .env
docker-compose up -d --build && docker-compose logs -f
```
## License

MIT © [Raabb Ajam](https://github.com/raabbajam)

[npm-url]: https://npmjs.org/package/pluto-pdf
[npm-image]: https://img.shields.io/npm/v/pluto-pdf.svg?style=flat-square

[travis-url]: https://travis-ci.org/raabbajam/pluto-pdf
[travis-image]: https://img.shields.io/travis/raabbajam/pluto-pdf.svg?style=flat-square

[coveralls-url]: https://coveralls.io/r/raabbajam/pluto-pdf
[coveralls-image]: https://img.shields.io/coveralls/raabbajam/pluto-pdf.svg?style=flat-square

[depstat-url]: https://david-dm.org/raabbajam/pluto-pdf
[depstat-image]: https://david-dm.org/raabbajam/pluto-pdf.svg?style=flat-square

[download-badge]: http://img.shields.io/npm/dm/pluto-pdf.svg?style=flat-square
npm package: @raabbajam/pluto-storage
Description: pluto-storage
Author: Raabb Ajam
Latest version: 0.0.3

# pluto-storage

[![NPM version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coveralls Status][coveralls-image]][coveralls-url]
[![Dependency Status][depstat-image]][depstat-url]
[![Downloads][download-badge]][npm-url]

> pluto-storage

## Install

```sh
npm i -S pluto-storage
```

## Usage

```js
const plutoStorage = require('pluto-storage');
const {Client, Server} = plutoStorage;
const clientOptions = {
  serverUrl: 'localhost:3005',
  auth: 's3cret',
  downloadDir: '', // default to __dirname/.storage
};
const client = Client(clientOptions);
client.upload(filename) // Promise
  .then((url) => console.log(url)) // http://localhost:3006/download/2016/09/26/013f2580-9cc2-48ed-973f-d2be4950e72b
client.uploadPublic(filename); // Promise
client.uploadPublic(readableStream) // Promise
client.download(url, resultFile) // Promise
  .then(() => console.log('done downloading'));
client.download($url) // random localpath
  .then((localpath) => console.log(localpath));

const serverOptions = {
  serverUrl: 'localhost',
  port: '2001',
  auth: 's3cret',
  uploadDir: '', // default to __dirname/.storage
  enablePublic: '', // default to false
};
const server = Server(serverOptions);
Server.start() // Promise
  .then(() => console.log('listening on port'));
Server.stop() // Promise
  .then(() => console.log('stop listening'));
```

## License

MIT © [Raabb Ajam](https://github.com/raabbajam)

[npm-url]: https://npmjs.org/package/pluto-storage
[npm-image]: https://img.shields.io/npm/v/pluto-storage.svg?style=flat-square

[travis-url]: https://travis-ci.org/raabbajam/pluto-storage
[travis-image]: https://img.shields.io/travis/raabbajam/pluto-storage.svg?style=flat-square

[coveralls-url]: https://coveralls.io/r/raabbajam/pluto-storage
[coveralls-image]: https://img.shields.io/coveralls/raabbajam/pluto-storage.svg?style=flat-square

[depstat-url]: https://david-dm.org/raabbajam/pluto-storage
[depstat-image]: https://david-dm.org/raabbajam/pluto-storage.svg?style=flat-square

[download-badge]: http://img.shields.io/npm/dm/pluto-storage.svg?style=flat-square
npm package: @raabbajam/redis-resource-wait-list
Description: Manage limited atomic resource using redis, with wait / queue feature.
Author: Raabb Ajam
Latest version: 1.0.12

# redis-resource-wait-list

[![NPM version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coveralls Status][coveralls-image]][coveralls-url]
[![Dependency Status][depstat-image]][depstat-url]
[![Downloads][download-badge]][npm-url]

> Manage limited atomic resource using redis, with wait / queue feature.

## Install

```sh
npm i -S redis-resource-wait-list
```

## Usage

```js
const List = require('redis-resource-wait-list');

// options and defaults
const list = List({
  name: 'server-list',
  resources: ['server-1', 'server-2', 'server-3'],
  options: {
    maxTimeoutToRelease: 5 * 60 * 1000, // Defaults to five minutes, important. see Reliable queues.
    maxTimeoutToWait: 5 * 60 * 1000, // Defaults to five minutes, important. see Reliable queues.
    intervalToCheckRelease: 30000, // Resource that exceed maxTimeoutToRelease will release every check, thus the interval option
    redisUrl: 'redis://127.0.0.1:6379',
    redisOptions: {},
    redisPrefix: 'wl',
  },
});
list.start() //Promise
  .then(() => list.acquire())
  .then((resource) => {
    // use resource
    return list.release(resource); // Promise
    list.add('server-4') // Promise
      .then(() => console.log('added'));
    list.remove('server-1') // Promise
      .then(() => console.log('removed'));
    list.getInfo()
      .then((info) => console.log('info'));
    /*
    info = {
      resources: ['server-2', 'server-3', 'server-4'],
      available: ['server-2', 'server-3', 'server-4'],
      busy: [],
      // clientWaiting: 0, // not implemented
      settings,
    };
    */
    list.stop(); // Promise

  });
```

## License

MIT © [Raabb Ajam](https://github.com/raabbajam)

[npm-url]: https://npmjs.org/package/redis-resource-wait-list
[npm-image]: https://img.shields.io/npm/v/redis-resource-wait-list.svg?style=flat-square

[travis-url]: https://travis-ci.org/raabbajam/redis-resource-wait-list
[travis-image]: https://img.shields.io/travis/raabbajam/redis-resource-wait-list.svg?style=flat-square

[coveralls-url]: https://coveralls.io/r/raabbajam/redis-resource-wait-list
[coveralls-image]: https://img.shields.io/coveralls/raabbajam/redis-resource-wait-list.svg?style=flat-square

[depstat-url]: https://david-dm.org/raabbajam/redis-resource-wait-list
[depstat-image]: https://david-dm.org/raabbajam/redis-resource-wait-list.svg?style=flat-square

[download-badge]: http://img.shields.io/npm/dm/redis-resource-wait-list.svg?style=flat-square
npm package: @raae/gatsby-plugin-new-css
Description: Add new.css to your site for simple demo styling
Author: @raae
Latest version: 0.0.2

# @raae/gatsby-plugin-new-css

> Add [new.css](https://newcss.net) styling to your Gatsby site.

Useful for demos where you would like to keep styling out of it, but cannot stand looking at unstyled html.

## How to install

`npm install @raae/gatsby-plugin-new-css`

or

`yarn add @raae/gatsby-plugin-new-css`

## How to use

```
module.exports = {
  plugins: [
    `@raae/gatsby-plugin-css-new`
  ],
}
```

## How to contribute

### Questions, Feedback and Suggestions

If you have any questions, feedback or suggestions head on over to [discussions](https://github.com/raae/gatsby-plugin-new-css/discussions).

### Bugs

If you find a bug please open an [issue](https://github.com/raae/gatsby-plugin-new-css/issues) and/or create a pull request to fix it.

## Support

If you got some value out of this plugin consider buying [me a coffee or two](https://ko-fi.com/P5P4OZVX).

<a href='https://ko-fi.com/P5P4OZVX' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi3.png?v=2' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>

## Stay updated

Stay updated on the development of this plugin by [subscribing to updates](https://email.raae.codes/plugins) from [@raae](https://twitter.com/raae).
npm package: @raae/gatsby-plugin-svg-emoji-favicon
Description: Use an emoji as your site's svg favicon 🖼
Author: @raae
Latest version: 0.1.5

# @raae/gatsby-plugin-svg-emoji-favicon

_Use an emoji as your site's svg favicon_ 🖼

The plugin uses a trick I learned via [@chriscoyier](https://twitter.com/chriscoyier) on [CSS-Tricks](https://css-tricks.com/emojis-as-favicons/) who got it from [@LeaVerou](https://twitter.com/LeaVerou/status/1241619866475474946); the emoji is placed inside an svg tag and the svg is used as the favicon.

&nbsp;

## A message or two from Queen Raae 👑

### 1-on-1 Emergency Gatsby Call

Are you stuck on a reef in the sharky waters around the Gatsby islands? Check out [1-on-1 Emergency Gatsby Call](https://queen.raae.codes/gatsby-emergency/?utm_source=readme&utm_campaign=svg-emoji-favicon) with Queen Raae to get friendly advice you can put into action immediately from a seasoned Gatsby developer.

### Stay updated and get the most out of Gatsby

Learn how to get the most out of Gatsby and **stay updated** on the plugin by [subscribing](https://queen.raae.codes/emails/?utm_source=readme&utm_campaign=svg-emoji-favicon) to daily emails from Queen Raae and Cap'n Ola.

&nbsp;

## How to install

`npm install @raae/gatsby-plugin-svg-emoji-favicon`

or

`yarn add @raae/gatsby-plugin-svg-emoji-favicon`

## How to use

In the gatsby-config.js for your site add @raae/gatsby-plugin-svg-emoji-favicon to the plugins array making sure to add an emoji.

```
// gatsby-config.js

module.exports = {
  plugins: [
    {
      resolve: "@raae/gatsby-plugin-svg-emoji-favicon",
      options: {
        emoji: "🥳",
      },
    },
  ],
};
```

## How to contribute

I love to hear from folks, do not be shy 🎉

### With Code

Take a look at [CONTRIBUTING.md](https://github.com/queen-raae/gatsby-plugin-let-it-snow/blob/main/CONTRIBUTING.md).

### With Questions, Feedback and Suggestions

If you have any questions, feedback or suggestions head on over to [discussions](https://github.com/queen-raae/gatsby-plugin-svg-emoji-favicon/discussions).

### With Bugs Reports

If you find a bug please open an [issue](https://github.com/queen-raae/gatsby-plugin-svg-emoji-favicon/issues) and/or create a pull request to fix it.
npm package: @raae/gatsby-source-youtube-oembed
Description: Source YouTube information without an API key using the oEmbed endpoint 📺
Author: @raae
Latest version: 0.4.0

# @raae/gatsby-source-youtube-oembed

_Source YouTube information without an API key using the oEmbed endpoint 📺_

&nbsp;

## A message or two from Queen Raae 👑

### 1-on-1 Emergency Gatsby Call

Are you stuck on a reef in the sharky waters around the Gatsby islands? Check out [1-on-1 Emergency Gatsby Call](https://queen.raae.codes/gatsby-emergency/?utm_source=readme&utm_campaign=source-youtube-oembed) with Queen Raae to get friendly advice you can put into action immediately from a seasoned Gatsby developer.

### Stay updated and get the most out of Gatsby

Learn how to get the most out of Gatsby and **stay updated** on the plugin by [subscribing](https://queen.raae.codes/emails/?utm_source=readme&utm_campaign=source-youtube-oembed) to daily emails from Queen Raae and Cap'n Ola.

&nbsp;

## How to install

`npm install @raae/gatsby-source-youtube-oembed`

or

`yarn add @raae/gatsby-source-youtube-oembed`

## How to use

```
module.exports = {
  plugins: [
    `@raae/gatsby-source-youtube-oembed`
  ],
}
```

## Plugin Options

### YouTube Ids

Add the YouTube ids for the videos you would like to source!  
**Type:** An array of YouTube ids  
**Example:** `["Bk1jonYPFD4", "TzJfepDjpzM"]`  
**Default:** `[]`

```
// gatsby.config.js

module.exports = {
  plugins: [
    {
      resolve: "@raae/gatsby-source-youtube-oembed",
      options: {
        youTubeIds: ["Bk1jonYPFD4", "TzJfepDjpzM"],
      },
    },
  ],
};
```

### Refresh Interval

Time to wait between fetching fresh oEmbed data.  
**Type:** Time in milliseconds  
**Example:** `60000`  
**Default(dev):** `60000 * 5` (5 minutes)
**Default(prod):** `0`

```
// gatsby.config.js

module.exports = {
  plugins: [
    {
      resolve: "@raae/gatsby-source-youtube-oembed",
      options: {
        refreshInterval: 60000,
      },
    },
  ],
};
```

## Questions, Feedback and Suggestions

If you have any questions, feedback or suggestions head on over to [discussions](https://github.com/queen-raae/gatsby-source-youtube-oembed/discussions).

## Found a bug?

If you find a bug please open an [issue](https://github.com/queen-raae/gatsby-source-youtube-oembed/issues) and/or create a pull request to fix it.
npm package: @raae/gatsby-theme-mui
Description: Adds MUI (mui.com) to your Gatsby site
Author: @raae
Latest version: 0.1.1

# @raae/gatsby-theme-mui

> Adds MUI (mui.com) to your Gatsby site

## How to install

`npm install @raae/gatsby-theme-mui`

or

`yarn add @raae/gatsby-theme-mui`

## How to use

```
module.exports = {
  plugins: [
    `@raae/gatsby-theme-mui`
  ],
}
```

## Questions, Feedback and Suggestions

If you have any questions, feedback or suggestions head on over to [discussions](https://github.com/queen-raae/gatsby-theme-mui/discussions).

## Found a bug?

If you find a bug please open an [issue](https://github.com/queen-raae/gatsby-theme-mui/issues) and/or create a pull request to fix it.
npm package: @raae/gatsby-theme-queen
Description: > A Gatsby Theme for Queen Raae's demos
Author: @raae
Latest version: 0.2.0

# @raae/gatsby-theme-queen

> A Gatsby Theme for Queen Raae's demos

## A message from Queen [@raae](https://twitter.com/raae)

Learn how to get the most out of Gatsby and **stay updated** on the plugin by [subscribing](https://queen.raae.codes/emails/?utm_source=readme&utm_campaign=plugin-queen-styling) to emails from yours truly.

## How to install

`npm install @raae/gatsby-theme-queen`

or

`yarn add @raae/gatsby-theme-queen`

## How to use

```
module.exports = {
  plugins: [
    `@raae/gatsby-theme-queen`
  ],
}
```

## How to contribute

I love to hear from folks, do not be shy 🎉

### With Questions, Feedback and Suggestions

If you have any questions, feedback or suggestions head on over to [discussions](https://github.com/queen-raae/gatsby-plugin-svg-emoji-favicon/discussions).

### With Bugs Reports

If you find a bug please open an [issue](https://github.com/queen-raae/gatsby-plugin-svg-emoji-favicon/issues) and/or create a pull request to fix it.
npm package: @raarts/number-formatter
Description: Easyly format a number
Author: Ron Arts
Latest version: 0.1.1

A small library that adds commas to numbers

[![Build Status](https://travis-ci.org/raarts/number-formatter.svg?branch=master)](https://travis-ci.org/raarts/number-formatter)

## Installation

  `npm install @raarts/number-formatter`

## Usage

    var numFormatter = require('@raarts/number-formatter');

    var formattedNum = numFormatter(35666);
  
  
  Output should be `35,666`


## Tests

  `npm test`

## Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.
npm package: @raas/raas
Description: React as a service.
Latest version: 0.1.3

![ Version ](https://img.shields.io/npm/v/@raas/raas.svg)
![ Downloads ](https://img.shields.io/npm/dm/@raas/raas.svg)
![ Issues ](https://img.shields.io/bitbucket/issues-raw/pinturic/react-service.svg)
![ Code documentation ](https://bitbucket.org/pinturic/react-service/raw/f7d65bc4e11a0135c7a54e615194ed574544540d/packages/react-as-a-service/esdoc/badge.svg)

![raas](https://bitbucket.org/pinturic/react-service/raw/97a7227ab3e2535b7a6924eb027db8a0f33dbb0f/packages/react-as-a-service/externals/raas.png "Raas")

# Raas

[React](https://facebook.github.io/react) as a service.

* [What](#what)
* [Installation](#installation)
* [Easy setup](#easy-setup)
* [Esdoc](#esdoc)
* [Examples](#examples)
* [Contributing](#contributing)
* [Issues](#issues)

## What

Generating html server side is a wonderful idea!
You can reuse your client-side React components on the server.
You can even emulate on the server a browser environment in order to use
the huge amount of client-side libraries that can help you in generating a rich
HTML experience.

## Why

* periodic/scheduled reports
* embed HTML in your email campaigns
* reuse yor client side components on a server 

## Installation

Using [npm](https://www.npmjs.com/):

    $ npm install --save @raas/raas

## Easy setup

The following example shows how to startup with a minimal setup with:
* raas
* express
* a HelloWorld react component

```js
import React, { Component } from 'react';
import {
  ReactService,
  ExpressConnector,
  Route,
  Renderers,
  FileStorage
} from '@raas/raas';

import HelloWorldComponent from './HelloWorld';

export default app => {
  const reactService = new ReactService({
    connector: new ExpressConnector({
      application: app
    }),
    routes: [new Route({
      path: '/test/hello-world',
      async: false,
      priority: 0,
      renderer: Renderers.REACT_DOM,
      component: HelloWorldComponent
    }),]
  });
  return reactService;
};
```

## Esdoc

Raas comes with a detailed documentation for developers that can be found in the local folder *esdoc* 

## Examples

The example libraries is full of full-fledged examples with Express that will help you in
setting up a working server in order to generate the your HTML.
Examples are [available here](https://bitbucket.org/pinturic/react-service/src/master/packages/react-as-a-service-examples/) 

## Contributing

Contributions are welcome so please create a pull request when you want to:

* improve the code or the documentation
* add a new cool feature
* fix bugs
* add new tests

## Issues

If you find a bug, please file an issue on [our issue tracker on BitBucket](https://bitbucket.org/pinturic/react-service/issues).