open-index/open-npm huggingface dataset:
npm package: @generalized/casing
Description: String casing utilities
Author: Brandscale
Latest version: 0.0.1

## Usage

```js
import casing from '@generalized/casing';
```

## Author

**Brandscale**

* [GitHub Profile](https://github.com/brandscale)
* [Twitter Profile](https://twitter.com/brandscale)
* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)

## License

Copyright © 2025, [Brandscale](https://github.com/brandscale).
Released under the MIT License.

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on February 26, 2025._
npm package: @generalized/docker
Description: Docker helpers and re-usable configs.
Author: Brandscale
Latest version: 0.0.2

## Usage

```js
import docker from '@generalized/docker';
```

## Author

**Brandscale**

* [GitHub Profile](https://github.com/brandscale)
* [Twitter Profile](https://twitter.com/brandscale)
* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)

## License

Copyright © 2025, [Brandscale](https://github.com/brandscale).
Released under the MIT License.

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on February 26, 2025._
npm package: @generalized/nanoid
Description: ID generator for JavaScript
Author: Brandscale
Latest version: 0.0.1

## Usage

```js
import { nanoid } from '@generalized/nanoid';
```

## Author

**Brandscale**

* [GitHub Profile](https://github.com/brandscale)
* [Twitter Profile](https://twitter.com/brandscale)
* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)

## License

Copyright © 2025, [Brandscale](https://github.com/brandscale).
Released under the MIT License.

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on February 26, 2025._
npm package: @generalizers/react-context
Description: ## Installation
Author: Alan Blanchet
Latest version: 1.0.12

# @generalizers/react-context

## Installation

### npm

```bash
npm i @generalizers/react-context
```

## Add issues

You can add issues to :
https://github.com/Generalizers/react-context/issues

## How to use

### Context creation helper

The context generator create the context for you and wraps the Provider of that context to automatically retreive a state that is then disposed to the user.

```tsx
export const {
  useHook: useUser, // Get the state & setState
  Provider: UserProvider, // Provide a new, unique state
  Consumer: UserConsumer, // Consume the state & setState
} = contextGenerator<UserInterface>(
  {
    name: 'Jeremy',
    age: 38,
  },
  'User', // Context label (optional)
);
```

#### Use in components

This portion of code will increment the age of Jeremy as the seconds pass.
Please note that you can use the `useEffect` hook inside the consumer function.
The function is actually an `Anonymous` component.

```tsx
export const App: FunctionComponent = () => {
  return (
    <UserProvider>
      {/* The default value is default context value */}
      {/* The state relies in the Provider and is mutable */}
      <UserConsumer>
        {([user, setUser]) => {
          useEffect(() => {
            setTimeout(() => {
              setUser({ ...user, age: user.age + 1 });
            }, 1000);
          }, [user.age]);

          return (
            <div>
              {user.name} - {user.age} years old
            </div>
          );
        }}
      </UserConsumer>
    </UserProvider>
  );
};
```
npm package: @generalizers/react-events
Description: A library made to simplify events with react
Author: Alan Blanchet
Latest version: 1.1.6

# @generalizers/react-events

**Author** : Alan BLANCHET

## Installation

### NPM

```bash
npm i @generalizers/react-events
```

### SSH

```bash
npm i git+https://github.com/Generalizers/react-events.git
```

## Hooks

### useKey

The useKey hook is used to attach a key event on the document and detach it whenever the component is unmounted. It is updated based on the dependency list to add optimization.

#### Parameters

| parameter       | type                          | description                                                       |
| --------------- | ----------------------------- | ----------------------------------------------------------------- |
| type            | `"down"`, `"up"`, `"pressed"` | The type of the key                                               |
| f               | `() => void`                  | The function to be called and removed on mount / unmount / update |
| dependency list | `any[]`, `undefined`          | The react watch list that uses `useEffect` under the hood         |

### useMouse

The useMouse hook is used to attach a mouse event on the document and detach it whenever the component is unmounted. It is updated based on the dependency list to add optimization.

It is useful whenever you want to do an action if a user clicks outside of a specific inner box (not on the document). You can use `e.stopPropagation()` on this box to prevent the event to rise up to the document event.

#### Parameters

| parameter       | type                                                                         | description                                                       |
| --------------- | ---------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| type            | `"click"`, `"down"`, `"enter"`, `"leave"`, `"move"`,`"out"`,`"over"`, `"up"` | The type of the mouse event                                       |
| f               | `() => void`                                                                 | The function to be called and removed on mount / unmount / update |
| dependency list | `any[]`, `undefined`                                                         | The react watch list that uses `useEffect` under the hood         |

### useContextMenu

The useContextMenu hook function is called whenever the user right clicks and the browser menu pops up. You can override this feature and use the hook to manage states in react.

### useEvent

For a more general use. You can use the `useEvent` hook to create your custom hooks based on the document events
npm package: @generalprotocols/eslint-config
Description: ESLint configuration for General Protocols projects
Author: General Protocols
Latest version: 1.0.1

# @generalprotocols/eslint-config
This repository contains the official General Protocols ESLint configuration for JavaScript and TypeScript projects within the General Protocols organization. It is based on and extends the official Airbnb ESLint configuration and its TypeScript equivalent.

Jonathan Silverblood and Rosco Kalis created this file on 2020-06-07 by going through the Airbnb rules and changing rules where one or both of us disagreed.

One of the changes is that we enabled some rules that are currently disabled by Airbnb but planned to be enabled. When these rules get enabled by Airbnb they can be removed from this configuration. We also put some rules that we were not certain of on `"warn"`. Ideally these rules will either be switched to `"off"` if they lead to difficulties or eventually switched to `"error"`.

The configuration should change as little as possible. But changes can be requested as long as they are accompanied by a very good justification.

## JavaScript projects
Install dependencies. ESlint plugins also need to be installed.

```
npm install eslint \
    eslint-plugin-import \
    https://gitlab.com/GeneralProtocols/eslint-config \
    --save-dev
```

Extend this config in your ESLint config file:

```js
module.exports =
{
    extends: [ '@generalprotocols/eslint-config' ],
};
```

## TypeScript projects
Install dependencies. ESlint plugins also need to be installed.

```
npm install eslint \
    eslint-plugin-import \
    @typescript-eslint/eslint-plugin \
    https://gitlab.com/GeneralProtocols/eslint-config \
    --save-dev
```

Extend this config in your ESLint config file:

```js
module.exports =
{
    extends: ['@generalprotocols/eslint-config/typescript'],
    parserOptions:
    {
        project: './tsconfig.json',
    },
};
```