open-index/open-npm huggingface dataset:
npm package: @perfectcircle93m/randomid-generator
Description: ``` $ npm install @perfectcircle93m/randomid-generator ```
Latest version: 1.0.3

## Install

```
$ npm install @perfectcircle93m/randomid-generator
```


## Usage

> Generate random ID string 

```js


const randomID = (idLength) => {
    let id = '';
    const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    const charsAmount = characters.length;
    for(let i = 0; i < idLength; i++) {
        id += characters.charAt(Math.floor(Math.random() * charsAmount));
    }
    return id;
  }


module.exports = randomID;
```


## Author

Magdalena Świderska
npm package: @perfectest/react
Description: React components and hooks.
Latest version: 0.2.0

# @perfectest/react

React components and hooks.

## Installation

```bash
npm install @perfectest/react
# or
pnpm add @perfectest/react
```

## Usage

```tsx
import { Button } from "@perfectest/react";
// or import specific components
import { Button } from "@perfectest/react/button";
```

## Peer Dependencies

- react >= 16.0.0
- react-dom >= 16.0.0

## License

MIT
npm package: @perfectest/server
Description: Node.js server utilities.
Latest version: 0.2.0

# @perfectest/server

Node.js server utilities.

## Installation

```bash
npm install @perfectest/server
# or
pnpm add @perfectest/server
```

## Usage

```typescript
import { env } from "@perfectest/server";
// or import specific modules
import { env } from "@perfectest/server/env";
```

## License

MIT
npm package: @perfectest/shared
Description: Isomorphic utilities and types shared across packages.
Latest version: 0.2.0

# @perfectest/shared

Isomorphic utilities and types shared across packages.

## Installation

```bash
npm install @perfectest/shared
# or
pnpm add @perfectest/shared
```

## Usage

```typescript
import { someUtility } from "@perfectest/shared";
// or import specific modules
import { someType } from "@perfectest/shared/types";
```

## License

MIT
npm package: @perfective/build
Description: Configurations and functions to build TypeScript projects
Author: Andrey Mikheychik
Latest version: 0.22.0

# Perfective Build for TypeScript

The `@perfective/build` package provides base configurations
and presets for tools like Gulp, TypeScript, Babel, etc.
to reduce code duplication between projects setup.

```shell
npm install --save-dev \
  @perfective/build \
  typescript
```

Read [full documentation](https://github.com/perfective/ts.build) in the repository.
npm package: @perfective/eslint-config-angular
Description: ESLint shareable rules configuration for Angular
Author: Andrey Mikheychik
Latest version: 0.27.0

# Perfective ESLint Config for Angular

`@perfective/eslint-config-angular` provides
a [shareable ESLint configuration](https://eslint.org/docs/latest/developer-guide/shareable-configs)
for [Angular](https://angular.io) development.

`@perfective/eslint-config-angular` adds the following ESLint plugins to the
[`@perfective/eslint-config`](https://www.npmjs.com/package/@perfective/eslint-config) configuration:

- [`@angular-eslint/eslint-plugin`](https://github.com/angular-eslint/angular-eslint);
- [`eslint-plugin-rxjs-angular-x`](https://github.com/JasonWeinzierl/eslint-plugin-rxjs-angular-x/).

To simplify configuring ESLint support in the IDEs and editors,
the severity of all fixable rules is a warning.
It allows distinguishing errors that have to be fixed manually from issues that will be fixed automatically.

## Setup

1. Require `@perfective/eslint-config-angular` and its peer dependencies as dev dependencies:

    ```bash
    npm install --save-dev @perfective/eslint-config-angular
    ```

    Required peer dependencies are installed automatically.

2. Import `perfectiveEslintAngularConfig` to `eslint.config.js`:

    ```javascript
    import { perfectiveEslintAngularConfig } from '@perfective/eslint-config-angular';

    export default perfectiveEslintAngularConfig();
    ```

3. _Optional_ Install optional peer dependencies to add tool-specific linting rules.

    ```bash
    npm install --save-dev \
    eslint-plugin-cypress \
    eslint-plugin-jest \
    eslint-plugin-jest-dom \
    eslint-plugin-testing-library
    ```

    Import configurations to `eslint.config.js`.

    ```javascript
    import { perfectiveEslintAngularConfig } from '@perfective/eslint-config-angular';

    // Optional dependencies.
    import { cypressConfig } from '@perfective/eslint-config/cypress';
    import { jestConfig, jestTypescriptConfig } from '@perfective/eslint-config/jest';
    import { jestDomConfig } from '@perfective/eslint-config/jest-dom';
    import { testingLibraryConfig } from '@perfective/eslint-config/testing-library';

    export default perfectiveEslintAngularConfig([
        cypressConfig,
        jestConfig,
        jestTypescriptConfig,
        jestDomConfig,
        testingLibraryConfig,
    ]);
    ```

    > **Note:** `*.d.ts` files and `dist` directories are ignored by the configuration.
    > `node_modules` and dot-files are ignored by the `eslint`.
    > If more directories or file types need to be ignored, see the
    > [`.eslintignore` file](https://eslint.org/docs/latest/use/configure/ignore#the-eslintignore-file) docs.

Read the [full documentation](https://github.com/perfective/estlint-config-angular/blob/main/README.adoc)
in the repository.
npm package: @perfective/eslint-config-react
Description: ESLint shareable rules configuration for React
Author: Andrey Mikheychik
Latest version: 0.18.0

# Perfective ESLint Config for React

`@perfective/eslint-config-react` provides
a [shareable ESLint configuration](https://eslint.org/docs/latest/developer-guide/shareable-configs)
for [React](https://reactjs.org) development.

`@perfective/eslint-config-react` adds the following ESLint plugins to the
[`@perfective/eslint-config`](https://www.npmjs.com/package/@perfective/eslint-config) configuration:

- [`eslint-plugin-react`](https://github.com/jsx-eslint/eslint-plugin-react);
- [`eslint-plugin-react-hooks`](https://www.npmjs.com/package/eslint-plugin-react-hooks);
- [`eslint-plugin-react-perf`](https://github.com/cvazac/eslint-plugin-react-perf);
- [`eslint-plugin-jsx-a11y`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y).

## Setup

1. Require `@perfective/eslint-config-react`:

    ```bash
    npm install --save-dev @perfective/eslint-config-react
    ```

    Required peer dependencies are installed automatically.

2. Import `perfectiveEslintReactConfig` to `eslint.config.js`:

    ```javascript
    import { perfectiveEslintReactConfig } from '@perfective/eslint-config-react';

    export default perfectiveEslintReactConfig();
    ```

3. _Optional_ Install optional peer dependencies to add tool-specific linting rules.

    ```bash
    npm install --save-dev \
    eslint-plugin-cypress \
    eslint-plugin-jest \
    eslint-plugin-jest-dom \
    eslint-plugin-rxjs-x \
    eslint-plugin-testing-library
    ```

    Import configurations to `eslint.config.js`.

    ```javascript
    import { perfectiveEslintReactConfig } from '@perfective/eslint-config-react';

    // Optional dependencies.
    import { cypressConfig } from '@perfective/eslint-config/cypress';
    import { jestConfig, jestTypescriptConfig } from '@perfective/eslint-config/jest';
    import { jestDomConfig } from '@perfective/eslint-config/jest-dom';
    import { rxjsConfig } from '@perfective/eslint-config/rxjs';
    import { testingLibraryConfig } from '@perfective/eslint-config-react/testing-library';

    export default perfectiveEslintReactConfig([
        cypressConfig,
        jestConfig,
        jestTypescriptConfig,
        jestDomConfig,
        rxjsConfig,
        testingLibraryConfig,
    ]);
    ```

    > **Note:** `*.d.ts` files and `dist` directories are ignored by the configuration.
    > `node_modules` and dot-files are ignored by the `eslint`.
    > If more directories or file types need to be ignored, see the
    > [`.eslintignore` file](https://eslint.org/docs/latest/use/configure/ignore#the-eslintignore-file) docs.

Read the [full documentation](https://github.com/perfective/estlint-config-react/blob/main/README.adoc)
in the repository.
npm package: @perfective/identity
Description: Identity monad
Author: Andrey Mikheychik
Latest version: 0.2.0
Deprecated: @perfective/identity@0.2.0 matches @perfective/common@0.7.0 as @perfective/common/identity

# Identity Monad

`@perfective/identity` provides an `Identity` class which implements an identity monad.
`Identity` class satisfies the three monad laws
and provides the `onto()` method as a bind operator.
Its instance can be instantiated with the `identity()` or `take()` unit functions.
These functions are virtually the same,
and picking either of them can be based on code style.

Read the [full documentation](https://github.com/perfective/js/blob/master/packages/identity/README.adoc) 
in the repository.
npm package: @perfective/match
Description: Functions and types for the pattern matching
Author: Andrey Mikheychik
Latest version: 0.3.0
Deprecated: @perfective/match@0.3.0 matches @perfective/common@0.7.0 as @perfective/common/match

# Match

The `@perfective/match` package provides functions and types for the pattern matching.

* `match<T>(value: T | Nullary<T>): Match<T>`
    * `Match.that<U>(...statements: Statement<T, U>[]): Maybe<U>`
    * `Match.to<U>(statements: Statement<T, U>[]): Maybe<U>`
    — applies the given value to the `Statement.condition` predicate until the first one match,
    returns the result of applying the value to the `Statement.evaluate` function;
    when match is not found, returns `Nothing`.
* `when<T>(condition: T | Predicate<T>): When<T>`
— `Statement<T, U>` builder;
    * `then<U>(value: U | Unary<T, U>): Statement<T, U>`
* `statements<T, U>(entries: StatementEntry<T, U>[]): Statement<T, U>[]`
— creates statements from an array of tuples `[Predicate<T>, Unary<T, U>]`.

Read the [full documentation](https://github.com/perfective/js/blob/master/packages/match/README.adoc) 
in the repository.
npm package: @perfective/value
Description: Functions to work with `undefined` and `null` values
Author: Andrey Mikheychik
Latest version: 0.3.0
Deprecated: @perfective/value@0.3.0 matches @perfective/common@0.7.0 as @perfective/common/value

# Value

The `@perfective/value` package provides functions to work with `undefined` and `null` values
and utility types
(similar to the TS [`NonNullable<T>`](https://www.typescriptlang.org/docs/handbook/utility-types.html#nonnullablet)
to describe some of such values.

* Utility types:
    * `type Defined<T> = T extends undefined ? never : T`;
    * `type Undefined<T> = T extends undefined ? T : never`;
    * `type NotNull<T> = T extends null ? never : T`;
    * `type Null<T> = T extends null ? T : never`;
    * `type Present<T> = T extends null | undefined ? never : T`
    — same as `NonNullable<T>`, but is used in the project for consistency with the type guards;
    * `type Absent<T> = T extends null | undefined ? T : never`.
* Type Guards:
    * `isDefined<T>(value: T | undefined): value is T`;
    * `isUndefined<T>(value: T | undefined): value is undefined`;
    * `isNotNull<T>(value: T | null): value is T`;
    * `isNull<T>(value: T | null): value is null`;
    * `isPresent<T>(value: T | null | undefined): value is T`;
    * `isAbsent<T>(value: T | null | undefined): value is null | undefined`.
* `typeof` types and functions:
    * `EcmaType`
    — is one of `undefined`, `boolean`, `number`, `bigint`, `string`, `symbol`, `function`, or `object`.
    * `TsType`
    — is one of `EcmaType` or `null`, `array`, and `unknown`.
    * `TypeOf<T>`
    — a conditional type that returns `TsType` dynamically.
    * `typeOf<T>(value: T | null | undefined): TypeOf<T> & TsType`.
    * `isTypeOf<T>(type: TypeOf): (value: T | null | undefined) => boolean`;
    * `isNotTypeOf<T>(type: TypeOf): (value: T | null | undefined) => boolean`.
* Handling `void`:
    * `voidable<T>(value: T | void): T | null | undefined`.


[Full documentation](https://github.com/perfective/js/blob/master/packages/value/README.adoc) 
is available in the repository.
npm package: @perfectmemory/ngx-contextmenu
Description: A context menu component for Angular
Latest version: 21.0.1

# Context menu for Angular

[![Angular](https://img.shields.io/badge/Angular-B52E31?logo=angular)](https://angular.io/)
[![Test](https://github.com/PerfectMemory/ngx-contextmenu/actions/workflows/test.yml/badge.svg)](https://github.com/PerfectMemory/ngx-contextmenu/actions/workflows/test.yml) [![codecov](https://codecov.io/gh/PerfectMemory/ngx-contextmenu/branch/master/graph/badge.svg?token=5DSYMY9C9A)](https://codecov.io/gh/PerfectMemory/ngx-contextmenu) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![NPM](https://img.shields.io/badge/NPM-D70012?logo=npm)](https://www.npmjs.com/package/@perfectmemory/ngx-contextmenu)

A context menu component for Angular.

Documentation and demos https://perfectmemory.github.io/ngx-contextmenu/

[![Contextmenu Screenshot](./libs/ngx-contextmenu/src/stories/assets/contextmenu.png)](https://perfectmemory.github.io/ngx-contextmenu/)

## Features

- [x] Context menu triggered by right click or keyboard context menu key
- [x] Sub menus
- [x] Dividers
- [x] Form (example checkboxes)
- [x] Keyboard navigation
- [x] Support direction `ltr` (left to right) and `rtl` (right to left)
- [x] Accessibility with ARIA
npm package: @perfectui/core
Description: Complete PerfectUI component library for Angular 19+ - includes all @perfectui packages
Author: PerfectUI
Latest version: 1.2.0

# @perfectui/core

Complete PerfectUI component library for Angular 19+.

[![npm version](https://img.shields.io/npm/v/@perfectui/core.svg)](https://www.npmjs.com/package/@perfectui/core)
[![license](https://img.shields.io/npm/l/@perfectui/core.svg)](https://github.com/sunilsolankiji/perfect-ui/blob/main/LICENSE)

## Why @perfectui/core?

Install `@perfectui/core` to get **all PerfectUI components** in one import.

## Installation

```bash
npm install @perfectui/core @perfectui/toastr @perfectui/dialog
```

## Usage

```typescript
import { provideToastr, provideDialog } from '@perfectui/core';

export const appConfig: ApplicationConfig = {
  providers: [
    provideToastr(),
    provideDialog(),
  ],
};
```

```typescript
import { ToastrService, DialogService } from '@perfectui/core';

export class AppComponent {
  private toastr = inject(ToastrService);
  private dialog = inject(DialogService);

  showToast() {
    this.toastr.success('Hello World!', 'Success');
  }

  async showDialog() {
    const result = await this.dialog.confirm('Are you sure?', 'Confirm');
  }
}
```

## Included Packages

| Package | Description |
|---------|-------------|
| [@perfectui/toastr](https://www.npmjs.com/package/@perfectui/toastr) | Toast notifications |
| [@perfectui/dialog](https://www.npmjs.com/package/@perfectui/dialog) | Dialogs & modals |

## Theming

Customize colors using CSS custom properties in your `styles.css`:

```css
:root {
  /* Colors */
  --pui-success-500: #22c55e;
  --pui-error-500: #f43f5e;
  --pui-warning-500: #eab308;
  --pui-info-500: #0ea5e9;

  /* Toast customization */
  --pui-toast-radius: 12px;

  /* Dialog customization */
  --pui-dialog-radius: 16px;
}
```

See the individual package docs for all available CSS variables.

## License

MIT