open-index/open-npm huggingface dataset:
npm package: @redmindab/react-hooks
Description: React hooks for native and web
Author: redmindab
Latest version: 1.3.0

# React-Hooks

> React hooks for native and web

## General Hooks

`useBigState()`

`useDidUpdate()`

`useFetch()`

`useToggle()`

## Web Hooks

`useInput()`

## Native Hooks

`useAnimatedValue()`

`useLayout()`

`useContentSize()`
npm package: @redmunroe/auth0-m2m
Description: Provides a simple interface for retrieving access token from `client_credentials` authentication method from auth0.
Latest version: 1.1.1

# auth0-m2m

Provides a simple interface for retrieving access token from `client_credentials` authentication method from auth0. 

## Install 
```shell
npm i @redmunroe/auth0-m2m 
```

## Import
```js
import Auth0 from '@redmunroe/auth0-m2m
```

## Usage

```js
const client = new Auth0(client_id, domain, client_secret, audience)
const token = await client.getAccessToken();
```
npm package: @redmunroe/graphql-builder
Description: nodejs graphql schema builder in code
Author: RedMunroe
Latest version: 0.0.4

# Graphql-Builder

typescript / node.js graphql schema builder in code.

## Purpose

We have IaC (Infrastructure as Code) and i needed a way to programatically produce a graphql schema. so I give (SaC) Schema as Code. This repo will allow you to programatically create a graphql schema all through nodejs.

I have plans to expand this to GoLang later.

## Install

```
npm i @RedMunroe/graphql-builder
```

## Import

```js
import Schema from @redmunroe/graphql-builder
```

## Usage

```js
const schema = new Schema();
// Type creation
const user = new Type('User').addField('id', fieldType.STRING, true);
// Input type creation
const userInput = new Input('UserInput').addField('id', fieldType.STRING, true);
schema
  .addInput('UserInput', userInput)
  .addType('User', user)
  .addQuery('getUser', {
    output: schema.getType('User'),
  })
  .addMutation('createUser', {
    input: schema.getInput('UserInput'),
    output: schema.getType('User'),
  });

console.log(schema.compile());
```
npm package: @redmunroe/tfvars
Description: use code to generate terraform tfvars files
Author: RedMunroe
Latest version: 0.0.1

# tfvars

javascript / typescript library for programatically producing tfvars file

## install

```shell
npm i @RedMunroe/tfvars
```

## import

```js
import tfvars from '@RedMunroe/tfvars';
```

## usage

```js
new TFVars()
  .addString('name', 'test')
  .addNumber('age', 12)
  .addBoolean('isTrue', true)
  .addMap(
    'map',
    new Map().set('name', 'test').set('age', 12).set('isTrue', true),
  )
  .addList('list', [
    {
      name: 'test',
    },
  ])
  .stdout();
```

```shell
name = "test"
age = 12
isTrue = true
map = object({
   name = "test"
   age = 12
   isTrue = true
})
list = [
object({
   name = "test"
})
]
```
npm package: @rednax-skyhook/core
Description: [![Build Status](https://travis-ci.org/cormacrelf/rednax-skyhook.svg?branch=master)](https://travis-ci.org/cormacrelf/rednax-skyhook) [![npm](https://img.shields.io/npm/v/@rednax-skyhook/core.svg)](https://www.npmjs.com/package/@rednax-skyhook/core) [![Do
Latest version: 1.0.4

[![Build Status](https://travis-ci.org/cormacrelf/rednax-skyhook.svg?branch=master)](https://travis-ci.org/cormacrelf/rednax-skyhook)
[![npm](https://img.shields.io/npm/v/@rednax-skyhook/core.svg)](https://www.npmjs.com/package/@rednax-skyhook/core)
[![Documentation coverage](https://cormacrelf.github.io/rednax-skyhook/images/coverage-badge-documentation.svg)](https://cormacrelf.github.io/rednax-skyhook/coverage.html)

# `@rednax-skyhook`

`react-dnd`-style drag and drop for Angular, built on
[`dnd-core`](https://github.com/react-dnd/react-dnd).

_examples_: https://cormacrelf.github.io/rednax-skyhook/examples/

#### Browse the documentation

_core_: https://cormacrelf.github.io/rednax-skyhook

_multi-backend_: https://cormacrelf.github.io/rednax-skyhook/multi-backend/

_sortable_: https://cormacrelf.github.io/rednax-skyhook/sortable/

#### View the changelog

https://github.com/acb122/-rednax-skyhook/blob/master/CHANGELOG.md

#### Did this project help you?

Consider donating.

<noscript><a href="https://liberapay.com/keitelink/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript>
npm package: @rednax-skyhook/multi-backend
Description: [![Build Status](https://travis-ci.org/cormacrelf/rednax-skyhook.svg?branch=master)](https://travis-ci.org/cormacrelf/rednax-skyhook) [![npm](https://img.shields.io/npm/v/@rednax-skyhook/core.svg)](https://www.npmjs.com/package/@rednax-skyhook/core) [![Do
Latest version: 1.0.4

[![Build Status](https://travis-ci.org/cormacrelf/rednax-skyhook.svg?branch=master)](https://travis-ci.org/cormacrelf/rednax-skyhook)
[![npm](https://img.shields.io/npm/v/@rednax-skyhook/core.svg)](https://www.npmjs.com/package/@rednax-skyhook/core)
[![Documentation coverage](https://cormacrelf.github.io/rednax-skyhook/images/coverage-badge-documentation.svg)](https://cormacrelf.github.io/rednax-skyhook/coverage.html)

# `@rednax-skyhook`

`react-dnd`-style drag and drop for Angular, built on
[`dnd-core`](https://github.com/react-dnd/react-dnd).

_examples_: https://cormacrelf.github.io/rednax-skyhook/examples/

#### Browse the documentation

_core_: https://cormacrelf.github.io/rednax-skyhook

_multi-backend_: https://cormacrelf.github.io/rednax-skyhook/multi-backend/

_sortable_: https://cormacrelf.github.io/rednax-skyhook/sortable/

#### View the changelog

https://github.com/acb122/-rednax-skyhook/blob/master/CHANGELOG.md

#### Did this project help you?

Consider donating.

<noscript><a href="https://liberapay.com/keitelink/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript>
npm package: @rednax-skyhook/sortable
Description: [![Build Status](https://travis-ci.org/cormacrelf/rednax-skyhook.svg?branch=master)](https://travis-ci.org/cormacrelf/rednax-skyhook) [![npm](https://img.shields.io/npm/v/@rednax-skyhook/core.svg)](https://www.npmjs.com/package/@rednax-skyhook/core) [![Do
Latest version: 1.0.4

[![Build Status](https://travis-ci.org/cormacrelf/rednax-skyhook.svg?branch=master)](https://travis-ci.org/cormacrelf/rednax-skyhook)
[![npm](https://img.shields.io/npm/v/@rednax-skyhook/core.svg)](https://www.npmjs.com/package/@rednax-skyhook/core)
[![Documentation coverage](https://cormacrelf.github.io/rednax-skyhook/images/coverage-badge-documentation.svg)](https://cormacrelf.github.io/rednax-skyhook/coverage.html)

# `@rednax-skyhook`

`react-dnd`-style drag and drop for Angular, built on
[`dnd-core`](https://github.com/react-dnd/react-dnd).

_examples_: https://cormacrelf.github.io/rednax-skyhook/examples/

#### Browse the documentation

_core_: https://cormacrelf.github.io/rednax-skyhook

_multi-backend_: https://cormacrelf.github.io/rednax-skyhook/multi-backend/

_sortable_: https://cormacrelf.github.io/rednax-skyhook/sortable/

#### View the changelog

https://github.com/acb122/-rednax-skyhook/blob/master/CHANGELOG.md

#### Did this project help you?

Consider donating.

<noscript><a href="https://liberapay.com/keitelink/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript>
npm package: @redneckz/click-cluck
Description: Postpones click event to prevent it in case of dblclick event
Author: Alexander Alexandrov
Latest version: 0.0.5

# click-cluck

Postpones "click" event to prevent it in case of "dblclick" event

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

> Generally it is a bad idea to have meaningful click and dblclick handlers on the same target.
> But if your styleguide already includes such things, this utility will help.

## Installation

```shell
npm install --save @redneckz/click-cluck
```

## How-to

### Pure JS Example

```html
<div role="row" id="the-best-product">
  <span role="cell">The best price ever!<span>
  <span role="cell">Give me two!<span>
</div>
```

```javascript
import { ClickCluck } from '@redneckz/click-cluck';

const theBestProduct = ClickCluck(document.getElementById('the-best-product'));

theBestProduct.onclick = () => console.log('Just wait a bit...');
theBestProduct.ondblclick = () => console.log('Need a package?');
```

Press twice intermittently. And you will get:

```console
Just wait a bit...
Just wait a bit...
```

Make double click. And here it is:

```console
Need a package?
```

Also timeout can be configured:

```javascript
const theBestProduct = ClickCluck(
  document.getElementById('the-best-product'),
  500, // 500ms by default
);
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fclick-cluck.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fclick-cluck
[travis-image]: https://travis-ci.org/redneckz/click-cluck.svg?branch=master
[travis-url]: https://travis-ci.org/redneckz/click-cluck
[coveralls-image]: https://coveralls.io/repos/github/redneckz/click-cluck/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/click-cluck?branch=master
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/click-cluck
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/click-cluck
npm package: @redneckz/hal-resource
Description: REST+HAL client for Browser and NodeJS
Author: Alexander Alexandrov
Latest version: 0.0.4

# hal-resource

[REST+HAL](http://stateless.co/hal_specification.html) client for Browser and NodeJS

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]

# Getting Started

## Installation

```bash
$ npm install --save @redneckz/hal-resource
```

```bash
$ yarn add @redneckz/hal-resource
```

## Basics

```js
import { HALResource } from '@redneckz/hal-resource';

const resource = HALResource(window.fetch); // Axios can be used for NodeJS

const customersResource = resource('https://foo.com/api/v1/customers');

const sortedCustomers = customersResource.getList({ sort: { field: 'name', order: 'ASC' } });
sortedCustomers.then(console.log);

const firstCustomer = customersResource.getOne('first-customer-id');
firstCustomer.then(console.log);

const newCustomer = customersResource.create({ name: 'New Customer' });
newCustomer.then(console.log);

customersResource.delete('first-customer-id');
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fhal-resource.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fhal-resource
[travis-image]: https://travis-ci.org/redneckz/hal-resource.svg?branch=master
[travis-url]: https://travis-ci.org/redneckz/hal-resource
[coveralls-image]: https://coveralls.io/repos/github/redneckz/hal-resource/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/hal-resource?branch=master
npm package: @redneckz/json-op
Description: Useful functions/operators for JSON-compatible data structures
Author: redneckz
Latest version: 0.0.13

# @redneckz/json-op

Useful functions/operators for JSON-compatible data structures

[![NPM Version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

## Install

```shell
$ npm i --save @redneckz/json-op
```

or:

```shell
$ yarn add @redneckz/json-op
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fjson-op.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fjson-op
[build-image]: https://github.com/redneckz/json-op/actions/workflows/main.yml/badge.svg
[build-url]: https://github.com/redneckz/json-op/actions/workflows/main.yml
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/json-op
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/json-op
npm package: @redneckz/json-ref
Description: Lightweight and customizable implementation of JSON Reference specification
Author: redneckz
Latest version: 0.0.14

# @redneckz/json-ref

Lightweight and customizable implementation of JSON Reference specification

[![NPM Version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

## Install

```shell
$ npm i --save @redneckz/json-ref
```

or:

```shell
$ yarn add @redneckz/json-ref
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fjson-ref.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fjson-ref
[build-image]: https://github.com/redneckz/json-ref/actions/workflows/main.yml/badge.svg
[build-url]: https://github.com/redneckz/json-ref/actions/workflows/main.yml
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/json-ref
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/json-ref
npm package: @redneckz/node-terminator
Description: NodeJS graceful shutdown utility
Author: Alexander Alexandrov
Latest version: 0.0.4

# node-terminator

Handle NodeJS termination (SIGTERM/SIGINT) gracefully.

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]

## Installation

```shell
npm install --save @redneckz/node-terminator
```

## How-to

Create *NodeTerminator* instance and attach it to *NodeJS* process (several instances can be created and attached).

```javascript
const { NodeTerminator } = require('@redneckz/node-terminator');

const nodeTerminator = new NodeTerminator();
nodeTerminator.attach(() => {
  // Some additional steps before exit
  process.exit();
});
```

Decorate async jobs to control gracefull shutdown.

```javascript
const {
  graceful, // HOF bound to NodeTerminator instance
} = nodeTerminator;

const someJob = graceful(async () => {
  // Do something asynchronously
  console.log('Working hard...');
});
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fnode-terminator.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fnode-terminator
[travis-image]: https://travis-ci.org/redneckz/node-terminator.svg?branch=master
[travis-url]: https://travis-ci.org/redneckz/node-terminator
[coveralls-image]: https://coveralls.io/repos/github/redneckz/node-terminator/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/node-terminator?branch=master
npm package: @redneckz/react-click-cluck
Description: Postpones onClick event to prevent it in case of onDoubleClick event
Author: Alexander Alexandrov
Latest version: 0.0.5

# react-click-cluck

React wrapper for [click-cluck](https://github.com/redneckz/click-cluck) utility.
Postpones "onClick" event to prevent it in case of "onDoubleClick" event.

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

> Generally it is a bad idea to have meaningful click and dblclick handlers on the same target.
> But if your styleguide already includes such things, this utility will help.

## Installation

```shell
npm install --save @redneckz/react-click-cluck
```

## How-to

### React Example

```jsx
import * as React from 'react';
import ReactDOM from 'react-dom';
import { clickCluck } from '@redneckz/react-click-cluck';

const TheBestProductButton = clickCluck()(
  props => (
    <button
      className="the-best-product"
      {...props}
    >
      Give me two!
    </button>
  )
);

ReactDOM.render(
  <TheBestProductButton
    onClick={() => console.log('Just wait a bit...')}
    onDoubleClick={() => console.log('Need a package?')}
  />,
  document.getElementById('root'),
);
```

Press twice intermittently. And you will get:

```console
Just wait a bit...
Just wait a bit...
```

Make double click. And here it is:

```console
Need a package?
```

Also timeout can be configured:

```javascript
const TheBestProductButton = clickCluck(
  500, // 500ms by default
)(
  'button' // Valid DOM component
);
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Freact-click-cluck.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Freact-click-cluck
[travis-image]: https://travis-ci.org/redneckz/react-click-cluck.svg?branch=master
[travis-url]: https://travis-ci.org/redneckz/react-click-cluck
[coveralls-image]: https://coveralls.io/repos/github/redneckz/react-click-cluck/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/react-click-cluck?branch=master
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/react-click-cluck
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/react-click-cluck
npm package: @redneckz/react-devirt
Description: Devirtualize React and reveal virtual DOM as regular DOM for different purposes (E2E testing, browser plugins)
Author: Alexander Alexandrov
Latest version: 0.0.6

# react-devirt

Devirtualize React and reveal virtual DOM as regular DOM for different purposes (E2E testing, browser plugins)

[![NPM Version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

## Installation

```shell
npm install --save @redneckz/react-devirt
```

## How-to

### Basic Example

```javascript
import React from 'react';
import ReactDOM from 'react-dom'
import { devirt } from '@redneckz/react-devirt';

devirt();

const Foo = props => <div {...props} />;

ReactDOM.render(
  <Foo quux>
    <span plugh>baz</span>
  </Foo>,
  document.body,
);
```

will produce

```html
<div data-devirt-type="Foo" quux>
  <span plugh>baz</span>
</div>
```

### Advanced Example

By default only "data-devirt-type" is computed.
Other data attributes can be declared by means of custom props serializer.
All such attributes are prefixed with "data-devirt".

```javascript
import React from 'react';
import ReactDOM from 'react-dom'
import { devirt } from '@redneckz/react-devirt';

devirt((TargetType, { quux, plugh }) => ({ quux, plugh }));

const Foo = ({ children }) => children; // Has no own DOM elements, so invisible
const Bar = ({ plugh, children }) => <div plugh={plugh}>{children}</div>;

ReactDOM.render(
  <Foo quux>
    <Bar plugh>
      <span>baz</span>
    </Bar>
  </Foo>,
  document.body,
);
```

will produce

```html
<div data-devirt-type="Bar,Foo" data-devirt-quux data-devirt-plugh plugh>
  <span>baz</span>
</div>
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Freact-devirt.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Freact-devirt
[build-image]: https://cloud.drone.io/api/badges/redneckz/react-devirt/status.svg
[build-url]: https://cloud.drone.io/redneckz/react-devirt
[coveralls-image]: https://coveralls.io/repos/github/redneckz/react-devirt/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/react-devirt?branch=master
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/react-devirt
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/react-devirt
npm package: @redneckz/react-dispatcher
Description: React global action bus
Author: Alexander Alexandrov
Latest version: 0.0.6

# react-dispatcher

> TODO

[![NPM Version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

## Installation

```shell
npm install --save @redneckz/react-dispatcher
```

## How-to

```jsx
import React from 'react';
import { useDispatcher } from '@redneckz/react-dispatcher';

const initialState = { count: 1000 };

/**
 * Local store. No need in "Lifting state up"
 */
function reducer(state, { type }) {
  switch (type) {
    case 'INC':
      return { count: state.count + 1 };
    case 'DEC':
      return { count: state.count - 1 };
    default:
      return state;
  }
}

export function Counter() {
  const [state, dispatch] = React.useReducer(reducer, initialState);
  const dispatcher = useDispatcher(state, dispatch);
  return (
    <button onClick={() => dispatcher({ type: 'INC' })}>{state.count}</button>
  );
}
```

```jsx
import { useDispatcher } from '@redneckz/react-dispatcher';

/**
 * Some container far away from counter
 * and loosely coupled with containers
 * that support pattern { type: "dec" }
 */
export function Dec() {
  const dispatcher = useDispatcher();
  return <button onClick={() => dispatcher({ type: 'DEC' })}>-</button>;
}
```

```jsx
import logger from 'redux-logger';
import thunk from 'redux-thunk';
import { useDispatcher, applyMiddleware } from '@redneckz/react-dispatcher';

/**
 * Produces new hook useDispatcher
 */
export default applyMiddleware(
  logger,
  thunk,
)(useDispatcher);
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Freact-dispatcher.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Freact-dispatcher
[build-image]: https://cloud.drone.io/api/badges/redneckz/react-dispatcher/status.svg
[build-url]: https://cloud.drone.io/redneckz/react-dispatcher
[coveralls-image]: https://coveralls.io/repos/github/redneckz/react-dispatcher/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/react-dispatcher?branch=master
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/react-dispatcher
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/react-dispatcher
npm package: @redneckz/react-lib-config
Description: Common config (Babel, ESLint, Rollup) for React libs
Author: Alexander Alexandrov
Latest version: 0.0.10

# react-lib-config

Common configuration to bundle, lint and test React libraries.
Based on Rollup, Babel, ESLint, Jest.

[![NPM Version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]

## How-to

1. Install: `$ npm install @redneckz/react-lib-config`
2. Configure Rollup, Babel, ESLint, Jest: `$ react-lib-init`
3. Declare some meta and add some scripts to lint, test, build and publish your library

```json
{
  "name": "@redneckz/test-package",
  "version": "0.0.0",
  "main": "lib/index.js",
  "module": "es/index.js",
  "browser": "dist/index.min.js",
  "files": ["src", "lib", "es", "dist"],
  "peerDependencies": {
    "react": "^16.10.0-0"
  },
  "devDependencies": {
    "react": "16.10.0",
    "@redneckz/react-lib-config": "0.0.9"
  },
  "scripts": {
    "prepublish": "npm run build",
    "prebuild": "npm run eslint && npm run jest && npm run clean",
    "build": "npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min",
    "build:commonjs": "cross-env NODE_ENV=cjs react-lib-build",
    "build:es": "cross-env NODE_ENV=es react-lib-build",
    "build:umd": "cross-env NODE_ENV=development react-lib-build",
    "build:umd:min": "cross-env NODE_ENV=production react-lib-build",
    "clean": "rimraf lib es dist coverage",
    "pretest": "npm run eslint",
    "test": "npm run jest && npm run coveralls",
    "eslint": "eslint \"src/**/*.js?(x)\" --cache --cache-location \"./.cache\"",
    "jest": "cross-env NODE_ENV=test jest",
    "coveralls": "coveralls < coverage/lcov.info"
  }
}
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Freact-lib-config.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Freact-lib-config
[build-image]: https://cloud.drone.io/api/badges/redneckz/react-lib-config/status.svg
[build-url]: https://cloud.drone.io/redneckz/react-lib-config
npm package: @redneckz/react-redux-rxjs
Description: React/Redux are going reactive with RxJS by means of this small library
Author: Alexander Alexandrov
Latest version: 1.0.4

# react-redux-rxjs

React/Redux are going reactive with RxJS by means of this small library

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Dependency Status][npm-deps-image]][npm-deps-url]

# Install

```bash
npm install --save @redneckz/react-redux-rxjs
```

# Examples

*Under active development...*

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Freact-redux-rxjs.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Freact-redux-rxjs
[npm-deps-image]: https://www.versioneye.com/user/projects/593f8a0e368b08004970d1c1/badge.svg?style=flat-square
[npm-deps-url]: https://www.versioneye.com/user/projects/593f8a0e368b08004970d1c1
[travis-image]: https://travis-ci.org/redneckz/react-redux-rxjs.svg?branch=master
[travis-url]: https://travis-ci.org/redneckz/react-redux-rxjs
[coveralls-image]: https://coveralls.io/repos/github/redneckz/react-redux-rxjs/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/react-redux-rxjs?branch=master
npm package: @redneckz/react-rxjs
Description: React is going reactive with RxJS by means of this small utility
Author: Alexander Alexandrov
Latest version: 0.0.5

# react-rxjs

React is going reactive with RxJS by means of this small utility

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

# Installation

```bash
$ npm install --save @redneckz/react-rxjs
```

```bash
$ yarn add @redneckz/react-rxjs
```

# Usage

All motivational and theoretical stuff can be studied here [OdessaJS Conference](https://www.youtube.com/watch?v=5PM5c0EUMyE&feature=youtu.be)
(also [predecessor](https://github.com/redneckz/react-redux-rxjs) of this library was shown).

# Live Examples

1.  [Fetch and Display Data](https://jsfiddle.net/redneckz/6f4d7jLr/)
2.  [Fetch Data On Props Change](https://jsfiddle.net/redneckz/cg0mbL6v/)
3.  [Fetch Data By User Input](https://jsfiddle.net/redneckz/Lsdvgn6f/)

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Freact-rxjs.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Freact-rxjs
[travis-image]: https://travis-ci.org/redneckz/react-rxjs.svg?branch=master
[travis-url]: https://travis-ci.org/redneckz/react-rxjs
[coveralls-image]: https://coveralls.io/repos/github/redneckz/react-rxjs/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/react-rxjs?branch=master
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/react-rxjs
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/react-rxjs
npm package: @redneckz/slice-node-modules
Description: Copy only needed modules before going to production (packaging of AWS Lambda, for example)
Author: Alexander Alexandrov
Latest version: 0.0.7

# slice-node-modules

List only needed modules to package/archive/zip before going to production (packaging of AWS Lambda, for example)

[![NPM Version][npm-image]][npm-url]
[![Build Status][travis-image]][travis-url]
[![Coverage Status][coveralls-image]][coveralls-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

## Installation

```shell
npm install --save-dev @redneckz/slice-node-modules
```

Using npx:
```shell
npx @redneckz/slice-node-modules [-e <source file>] [-p <package.json>] [--dev|-D] [--print0|-0]
```

## How-to

List all packages used by `some-package`:
```shell
$ # Parse dependencies from source files (-e stands for entry file)
$ npx @redneckz/slice-node-modules -e some-package/lib/index.js
$ # or from package.json
$ npx @redneckz/slice-node-modules -p some-package/package.json
```

Dev. dependencies:
```shell
$ npx @redneckz/slice-node-modules -e some-package/lib/index.js --dev
```

Filtering options --include/--exclude:
```shell
$ npx @redneckz/slice-node-modules -e some-package/lib/index.js --exclude 'aws-*'
```

Zero-separated (for `xargs`, for example):
```shell
$ npx @redneckz/slice-node-modules -e some-package/lib/index.js --print0
```

## AWS Lambda Packaging

In case of monorepo (just for example):
```shell
$ npx @redneckz/slice-node-modules -e monorepo-root/packages/some-lambda/lib/index.js --exclude 'aws-*' --zip some-lambda.zip
```
AWS Lambda config (CloudFormation):
```ts
const logLambda = new Function(this, 'some-lambda', {
  code: new AssetCode('some-lambda.zip'),
  handler: 'monorepo-root/packages/some-lambda/lib/index.handler',
  runtime: Runtime.NODEJS_12_X
});
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fslice-node-modules.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fslice-node-modules
[travis-image]: https://travis-ci.org/redneckz/slice-node-modules.svg?branch=master
[travis-url]: https://travis-ci.org/redneckz/slice-node-modules
[coveralls-image]: https://coveralls.io/repos/github/redneckz/slice-node-modules/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/redneckz/slice-node-modules?branch=master
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/slice-node-modules
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/slice-node-modules
npm package: @redneckz/superagent-fetch
Description: Adapter to move from superagent library to native fetch
Author: redneckz
Latest version: 0.0.1

# @redneckz/superagent-fetch

Adapter to move from [superagent](https://github.com/ladjs/superagent) library to native fetch

[![NPM Version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

## Install

```shell
$ npm i --save @redneckz/superagent-fetch
```

or:

```shell
$ yarn add @redneckz/superagent-fetch
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fsuperagent-fetch.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fsuperagent-fetch
[build-image]: https://github.com/redneckz/superagent-fetch/actions/workflows/main.yml/badge.svg
[build-url]: https://github.com/redneckz/superagent-fetch/actions/workflows/main.yml
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/superagent-fetch
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/superagent-fetch
npm package: @redneckz/wildless-cms-content
Description: Useful functions/operators for JSON-compatible data structures
Author: redneckz
Latest version: 0.0.18

# @redneckz/wildless-cms-content

Wildless CMS API to handle with different kinds of content and generate pages.

[![NPM Version][npm-image]][npm-url]
[![Build Status][build-image]][build-url]
[![Bundle size][bundlephobia-image]][bundlephobia-url]

## Install

```shell
$ npm i --save @redneckz/wildless-cms-content
```

or:

```shell
$ yarn add @redneckz/wildless-cms-content
```

# License

[MIT](http://vjpr.mit-license.org)

[npm-image]: https://badge.fury.io/js/%40redneckz%2Fwildless-cms-content.svg
[npm-url]: https://www.npmjs.com/package/%40redneckz%2Fwildless-cms-content
[build-image]: https://github.com/redneckz/wildless-cms-content/actions/workflows/main.yml/badge.svg
[build-url]: https://github.com/redneckz/wildless-cms-content/actions/workflows/main.yml
[bundlephobia-image]: https://badgen.net/bundlephobia/min/@redneckz/wildless-cms-content
[bundlephobia-url]: https://bundlephobia.com/result?p=@redneckz/wildless-cms-content
npm package: @redneckz/wildless-cms-next-scripts
Description: Next scripts to generate Wildless CMS pages
Author: redneckz
Latest version: 0.0.4

# Скрипты для генерации страниц и сборки Next.js сайтов под управлением Wildless CMS

## Скрипты

- `npx wcms prebuild` - очистка кешей сборки, удаление сгенерированных страниц и ассетов, сборка мусора в контенте
- `npx wcms build [--mobile]` - генерация страниц, ассетов и последующая сборка сайта
- `npx wcms generate [--mobile]` - генерация страниц и ассетов
- `npx wcms extra` - копирование статики в билд
- `npx wcms stats` - генерация статистики по страницам, блокам и особенностям контента
npm package: @rednegniw/masked-view
Description: React Native MaskedView component with Fabric support
Author: Mike Nedosekin
Latest version: 0.4.0

# @rednegniw/masked-view

React Native MaskedView component with Fabric (New Architecture) support.

This is a fork of [`@react-native-masked-view/masked-view`](https://github.com/react-native-masked-view/masked-view) with:
- Fabric / New Architecture support
- Renamed native module (`NFMaskedView`) to avoid conflicts with the original package

## Attribution

Based on `@react-native-masked-view/masked-view`
Copyright (c) React Native Community
MIT License

## Platforms Supported

- [x] iOS
- [x] Android

## Installation

```sh
npm install @rednegniw/masked-view
```

or

```sh
yarn add @rednegniw/masked-view
```

## Usage

```jsx
import React from 'react';
import { Text, View } from 'react-native';
import MaskedView from '@rednegniw/masked-view';

const App = () => {
  return (
    <MaskedView
      style={{ flex: 1, flexDirection: 'row', height: '100%' }}
      maskElement={
        <View
          style={{
            backgroundColor: 'transparent',
            flex: 1,
            justifyContent: 'center',
            alignItems: 'center',
          }}
        >
          <Text
            style={{
              fontSize: 60,
              color: 'black',
              fontWeight: 'bold',
            }}
          >
            Basic Mask
          </Text>
        </View>
      }
    >
      <View style={{ flex: 1, height: '100%', backgroundColor: '#324376' }} />
      <View style={{ flex: 1, height: '100%', backgroundColor: '#F5DD90' }} />
      <View style={{ flex: 1, height: '100%', backgroundColor: '#F76C5E' }} />
    </MaskedView>
  );
}

export default App
```

### Props

- [View props...](https://reactnative.dev/docs/view#props)
- [`maskElement`](#maskelement) — Required. The React element used as the mask.
- [`androidRenderingMode`](#androidrenderingmode) — Android only. `'software'` or `'hardware'` (default).

### `maskElement`

| Type    | Required |
| ------- | -------- |
| element | Yes      |

### `androidRenderingMode`

By default `hardware` rendering mode will be used for best performance, however if you need to animate your `maskElement` then you'll need to switch to `software` to get your mask to update. This prop only affects Android.

| Type                   | Required | Default    |
| ---------------------- | -------- | ---------- |
| `software`, `hardware` | No       | `hardware` |
npm package: @rednetio/react-include
Description: Server Side Include / Edge Side Include components for isomorphic rendering with React.
Author: Jean Dupouy
Latest version: 1.0.0

# react-include

[Server Side Include][SSI] / [Edge Side Include][ESI] components for isomorphic
rendering with React.

[SSI]: https://en.wikipedia.org/wiki/Server_Side_Includes
[ESI]: https://en.wikipedia.org/wiki/Edge_Side_Includes


![](https://img.shields.io/travis/rednetio/react-include.svg)
![](https://img.shields.io/coveralls/github/rednetio/react-include.svg)

![](https://img.shields.io/npm/l/@rednetio/react-include.svg)
![](https://img.shields.io/npm/v/@rednetio/react-include.svg)
![](https://img.shields.io/npm/dt/@rednetio/react-include.svg)

![](https://img.shields.io/github/issues-raw/rednetio/react-include.svg)
![](https://img.shields.io/github/issues-pr-raw/rednetio/react-include.svg)
![](https://img.shields.io/github/contributors/rednetio/react-include.svg)
![](https://img.shields.io/github/commit-activity/y/rednetio/react-include.svg)

## Why?

You may want to pre-render HTML pages to serve them / store on your CDN, but
need some dynamic content anyway. Time to use some Server Side Includes / Edge
Side Includes! This library enables you to use them from React.

On the client (in your browser), an AJAX call will be made to emulate the
inclusion.

## Install

Using yarn:

```
yarn add react-include
```

Using npm:

```
npm install react-include
```

## Server Side Include

Server Side Include are supported by Apache, LiteSpeed, nginx, lighttpd and IIS.
They render as an HTML comment which take this form: `<!--# include ... -->`.

### Usage

```js
import { SSI } from 'react-include';

export default () => (
  <main>
    <h1>A random quote</h1>
    <SSI virtual="/random/quote" />
  </main>
);
```

## Edge Side Include

Edge Side Include are implemented by Akamai, Fastly, Varnish, Squid and Mongrel
ESI. They render as an HTML tag which takes this form: `<esi:include ... />`.

### Usage

```js
import { ESI } from 'react-include';

export default () => (
  <main>
    <h1>A random quote</h1>
    <ESI src="/random/quote" />
  </main>
);
```

## Properties

| `virtual` | `string` | _(required)_ SSI: the URL you want to include |
| `src` | `string` | _(required)_ ESI: the URL you want to include |
| `component` | `string` | The wrapper component. Defaults to `'div'` |
| _any other_ | _any_ | Any other prop will be passed to the wrapper |
npm package: @rednevsky/stacks-process-audit-log-sdk
Description: TypeScript SDK for the process-audit-log Clarity contract on Stacks.
Author: rednevsky
Latest version: 0.1.2

# @rednevsky/stacks-process-audit-log-sdk

TypeScript SDK for interacting with the `process-audit-log` Clarity contract.

## Install

```bash
npm install @rednevsky/stacks-process-audit-log-sdk @stacks/transactions
```

## Usage

```ts
import {
  CONTRACT_NAME,
  getContractId,
  buildLogStepArgs,
  fetchContractInfo,
} from "@rednevsky/stacks-process-audit-log-sdk";

const contract = {
  contractAddress: "ST000000000000000000002AMW42H",
  contractName: CONTRACT_NAME,
};

const contractId = getContractId(contract);
const functionArgs = buildLogStepArgs({
  workflowId: "wf-001",
  stepName: "review",
  details: "Security review started",
});

const info = await fetchContractInfo(contract, "testnet", "ST1...");
```

Use `functionArgs` with wallet request flows (`stx_callContract`) or `makeContractCall`.
npm package: @rednexie/perma.db
Description: permanent key value db based on better-sqlite3
Author: Rednexie
Latest version: 1.0.3

Perma.db is a node.js database management library, uses better-sqlite3 under the hood. 


# Perma.db is;


As fast as redis, since it uses caching. But it is also consistent.


Easier to use than quick.db, since you can use it with a single database. It takes up less space, though.


A library, which can be counted as both SQL and no-SQL.


# Has features like: 


Backup function, copy your database into a file.


"Better" sqlite3 integration, sqlite3 usage is just a function away.


Customizable, you can determine which ones to use.


You can use both SQL and No-SQL with perma.db. Either execute a query, or get a key's value from the database.

# NPM

npm i @rednexie/perma.db
https://www.npmjs.com/package/@rednexie/perma.db
npm package: @rednez/angular-onscreen-keyboard
Description: Onscreen Keyboard for Angular 9.1+
Author: Vasyl Efimenko
Latest version: 1.0.0

# Angular Onscreen Keyboard Library
Onscreen Keyboard for Angular 9.1+

## Build

Run `ng build angular-onscreen-keyboard` to build the project. The build artifacts will be stored in the `dist/` directory.


## Installation

`npm install @rednez/angular-onscreen-keyboard`

## Using

Import library's module into your app module:

```typescript
import { AngularOnscreenKeyboardModule } from '@rednez/angular-onscreen-keyboard';
```

In app template:

```html
<rz-angular-onscreen-keyboard
        [isActive]="isActiveKeyboard"
        [(ngModel)]="keyboardValue"
        (enter)="onKeyboardEnter()"
        (backspace)="onKeyboardBackspace()"
        (ngModelChange)="onKeyboardModelChange($event)"
></rz-angular-onscreen-keyboard>
````

For handle a letter or symbol use `(ngModelChange)` or `[(ngModel)]`.
For handle `enter` (`return`) and `backspace` keys use `(enter)` and `(backspace)` output props.

## Authors
- [Vasyl Efimenko](https://github.com/rednez) - coding.
- [Gennady Aronson](https://www.behance.net/gennaronson) - design and concept.