open-index/open-npm huggingface dataset:
npm package: @ilyaigpetrov/merge
Description: (recursive)? merging of (cloned)? objects.
Latest version: 2.1.2-next.5

# merge

[![workflow-badge]](https://github.com/swordev/merge/actions/workflows/ci.yaml) [![license-badge]](https://github.com/swordev/merge#license)

[workflow-badge]: https://img.shields.io/github/actions/workflow/status/swordev/merge/ci.yaml?branch=main
[license-badge]: https://img.shields.io/github/license/swordev/merge

> (recursive)? merging of (cloned)? objects.

## Installation

```sh
npm install merge
```

## Usage

### API

```ts
merge(clone: boolean, ...items: Object[])
merge(...items: Object[])
merge.recursive(clone: boolean, ...items: Object[])
merge.recursive(...items: Object[])
```

### Examples

```js
const objectA = {};

merge(objectA, { value: 1 }, { str: "hello world" });

const objectB = merge(true, objectA, { value: 2 });

objectA; // { value: 1, str: 'hello world' }
objectB; // { value: 2, str: 'hello world' }
```

```js
const objectA = {};

merge.recursive(
  objectA,
  { level: { value: 1 } },
  { level: { str: "hello world" } },
);
const objectB = merge.recursive(true, objectA, { level: { value: 2 } });

objectA.level; // { value: 1, str: 'hello world' }
objectB.level; // { value: 2, str: 'hello world' }
```

## Development

### Requirements

- [Node.js v18](https://nodejs.org)
- [pnpm v8](https://pnpm.io)

### Build

```sh
pnpm build
```

### Test

```sh
pnpm test
```

## License

Distributed under the MIT License. See LICENSE file in each package for more information.
npm package: @ilyanekhay/ai-plumbing
Description: A template for creating npm packages using TypeScript and VSCode
Author: Ilya Nekhay
Latest version: 3.2.0

# ai-plumbing


[![npm package][npm-img]][npm-url]
[![Build Status][build-img]][build-url]
[![Downloads][downloads-img]][downloads-url]
[![Issues][issues-img]][issues-url]
[![Code Coverage][codecov-img]][codecov-url]
[![Commitizen Friendly][commitizen-img]][commitizen-url]
[![Semantic Release][semantic-release-img]][semantic-release-url]

> My awesome module

## Install

```bash
npm install @ilyanekhay/ai-plumbing
```

## Usage

```ts
import { myPackage } from 'my-package-name';

myPackage('hello');
//=> 'hello from my package'
```

## API

### myPackage(input, options?)

#### input

Type: `string`

Lorem ipsum.

#### options

Type: `object`

##### postfix

Type: `string`
Default: `rainbows`

Lorem ipsum.

[build-img]:https://github.com/ryansonshine/typescript-npm-package-template/actions/workflows/release.yml/badge.svg
[build-url]:https://github.com/ryansonshine/typescript-npm-package-template/actions/workflows/release.yml
[downloads-img]:https://img.shields.io/npm/dt/typescript-npm-package-template
[downloads-url]:https://www.npmtrends.com/typescript-npm-package-template
[npm-img]:https://img.shields.io/npm/v/typescript-npm-package-template
[npm-url]:https://www.npmjs.com/package/typescript-npm-package-template
[issues-img]:https://img.shields.io/github/issues/ryansonshine/typescript-npm-package-template
[issues-url]:https://github.com/ryansonshine/typescript-npm-package-template/issues
[codecov-img]:https://codecov.io/gh/ryansonshine/typescript-npm-package-template/branch/main/graph/badge.svg
[codecov-url]:https://codecov.io/gh/ryansonshine/typescript-npm-package-template
[semantic-release-img]:https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[semantic-release-url]:https://github.com/semantic-release/semantic-release
[commitizen-img]:https://img.shields.io/badge/commitizen-friendly-brightgreen.svg
[commitizen-url]:http://commitizen.github.io/cz-cli/
npm package: @ilyasemenov/eslint-config
Description: Opinionated ESLint config on top of @antfu/eslint-config
Author: Ilya Semenov
Latest version: 1.5.2

# @ilyasemenov/eslint-config

A reusable ESLint configuration for projects I develop or oversee.

Extends [@antfu/eslint-config](https://github.com/antfu/eslint-config).

For web projects, it's recommended to use alongside [@ilyasemenov/stylelint-config](https://github.com/IlyaSemenov/stylelint-config).

## Setup

Install:

```sh
pnpm add -D eslint @ilyasemenov/eslint-config
```

Create `eslint.config.js`:

```js
// @ts-check

import { defineConfig } from "@ilyasemenov/eslint-config"

export default defineConfig()
```

Available options:

```js
export default defineConfig({
  // Lint Vue. Unlike antfu, must be enabled explicitly.
  vue: true,

  // Lint pug in Vue templates.
  vuePug: true,

  // ...and all @antfu/eslint-config options.
})
```

## Command line script

Add to `package.json`:

```json
{
  "scripts": {
    "lint": "eslint --fix"
  }
}
```

and run:

```sh
pnpm lint
```

## Setup lint-staged

Create `lint-staged.config.js`:

```js
export default {
  "*.{cjs,js,ts,json,md,yaml,toml}": "eslint --fix"
}
```
npm package: @ilyasemenov/lint-config
Description: A set of reusable linter configs that I use in the projects that I develop or supervise:
Author: Ilya Semenov
Latest version: 1.2.4
Deprecated: Package split into @ilyasemenov/eslint-config and @ilyasemenov/stylelint-config

# @ilyasemenov/lint-config

A set of reusable linter configs that I use in the projects that I develop or supervise:

- for `eslint`, extends [@antfu/eslint-config](https://github.com/antfu/eslint-config).
- for `stylelint`

## Install

```sh
pnpm add -D @ilyasemenov/lint-config eslint stylelint
```

## Setup eslint

Create `eslint.config.js`:

```js
import { defineEslintConfig } from "@ilyasemenov/lint-config"

export default defineEslintConfig()
```

Available options:

```js
export default defineEslintConfig({
  // Lint Vue. Unlike antfu, must be enabled explicitly.
  vue: true,

  // Lint pug in Vue templates.
  vuePug: true,

  // ...and all @antfu/eslint-config options.
})
```

## Setup stylelint

Create `stylelint.config.js`:

```js
import { defineStylelintConfig } from "@ilyasemenov/lint-config"

export default defineStylelintConfig()
```

Available options:

```js
export default defineStylelintConfig({
  // Use tabs for indentation.
  tabs: true,

  // Use single quotes.
  quotes: "single",

  // ...and all stylelint options.
})
```

## Add command line script

Add to `package.json`:

```json
{
  "scripts": {
    "lint": "eslint --fix . && stylelint --fix '**/*.{css,scss,vue}'"
  }
}
```

and run:

```sh
pnpm lint
```

## Setup lint-staged

Create `lint-staged.config.js`:

```js
export default {
  "*.{cjs,js,ts,json,md,yaml,toml}": "eslint --fix",
  "*.{css,scss}": "stylelint --fix",
  "*.vue": ["eslint --fix", "stylelint --fix"],
}
```
npm package: @ilyasemenov/stylelint-config
Description: Opinionated Stylelint config
Author: Ilya Semenov
Latest version: 2.1.0

# @ilyasemenov/stylelint-config

A reusable Stylelint configuration for projects I develop or oversee.

Recommended to use alongside [@ilyasemenov/eslint-config](https://github.com/IlyaSemenov/eslint-config).

## Setup

Install:

```sh
pnpm add -D stylelint @ilyasemenov/stylelint-config
```

Create `stylelint.config.js`:

```js
// @ts-check

import { defineConfig } from "@ilyasemenov/stylelint-config"

export default defineConfig()
```

Available options:

```js
export default defineConfig({
  // Add SCSS rules.
  scss: true,

  // Add Vue rules (either CSS or SCSS).
  vue: true,

  // Add Tailwind CSS rules.
  tailwind: true,

  // Use tabs for indentation.
  tabs: true,

  // Use single quotes.
  quotes: "single",

  // ...and all stylelint options.
})
```

## Command line script

Add to `package.json`:

```json
{
  "scripts": {
    "lint": "eslint --fix . && stylelint --fix '**/*.{css,scss,vue}'"
  }
}
```

and run:

```sh
pnpm lint
```

## Setup lint-staged

Create `lint-staged.config.js`:

```js
export default {
  "*.{cjs,js,ts,json,md,yaml,toml}": "eslint --fix",
  "*.{css,scss}": "stylelint --fix",
  "*.vue": ["eslint --fix", "stylelint --fix"],
}
```
npm package: @ilz5753/rn-constyle
Description: Effortlessly create, combine, and manage React Native styles using shorthand properties and helpful utility functions.
Author: Mehdi abdollahi
Latest version: 0.0.2

# rn-constyle

Effortlessly create, combine, and manage React Native styles using shorthand properties and helpful utility functions.

## Installation

Install the package using `npm` or `yarn`:

```bash
npm install @ilz5753/rn-constyle
```

```bash
yarn add @ilz5753/rn-constyle
```

## Usage

To use `@ilz5753/rn-constyle`, import `getStyle`, individual style functions, or the entire package in your React Native component file:

```ts
import {
  getStyle,
  f1,
  center,
  fontSize,
  color,
  backgroundColor,
  isAndroid,
  rtlComparer,
  fw,
} from "@ilz5753/rn-constyle";

const Example = () => {
  return (
    <View style={[f1, center, backgroundColor("#fffff0")]}>
      <Text style={[fontSize(isAndroid ? 27 : 24), color("brown")]}>
        Hello world
      </Text>
    </View>
  );
};
const flexDirection = rtlComparer(getStyle(["fdr"]), getStyle(["fdrr"]));
const isRTL = true;
const RTLExample = () => {
  return (
    <View style={[fw, flexDirection(isRTL), getStyle(["aic", "jcse"])]}>
      <Text>1</Text>
      <Text>2</Text>
      <Text>3</Text>
    </View>
  );
};
```

## License

this package licensed under the [MIT License](/LICENSE).

## Contribution

Feel free to contribute by submitting issues or pull requests on the [GitHub repository](.).
npm package: @ilz5753/rn-modal
Description: React Native Modal re-implemented using gesture handler and reanimated
Author: Mehdi abdollahi
Latest version: 0.0.2

# @ilz5753/rn-modal

This package provides a customizable modal component for React Native applications.

## Installation

To install the component:

```bash
npm i @ilz5753/rn-modal
# yarn
yarn add @ilz5753/rn-modal
# bun
bun add @ilz5753/rn-modal
```

## Usage

```tsx
import React from "react";
import Modal, { ModalRef } from "@ilz5753/rn-modal";

// Usage example
const MyComponent = () => {
  let ref = React.useRef<ModalRef>(null);
  // open modal using `ref.current?.open()`
  return (
    <Modal
      ref={ref}
      duration={300}
      backdrop="#00000080"
      bg="#FFFFFF"
      borderRadius={10}
      dismisable={true}
      isBackdropLight={false}
      isLightMode={true}
      innerPadding={20}
      outerPadding={20}
      topOffset={50}
      topInset={20}
      bottomInset={20}
    >
      {/* Your modal content goes here */}
    </Modal>
  );
};

export default MyComponent;
```

## Props

- `duration` (optional): Duration of modal animation.
- `backdrop` (optional): Background color of the backdrop.
- `bg` (optional): Background color of the modal.
- `borderRadius` (optional): Border radius of the modal.
- `dismisable` (optional): Whether the modal can be dismissed by tapping outside.
- `isBackdropLight` (optional): Indicates if the backdrop color in a light appearance.
- `isLightMode` (optional): Indicates if the modal is in light mode.
- `innerPadding` (optional): Inner padding of the modal content.
- `outerPadding` (optional): Outer padding of the modal.
- `topOffset` (optional): Top offset of the modal.
- `topInset` (optional): Top inset of the modal.
- `bottomInset` (optional): Bottom inset of the modal.

## Notes

All functionalities and configurations are self-explanatory from the provided code. Simply adjust the props according to your requirements to customize the modal component as needed.

## License

`Modal` is licensed under the MIT License. See the [LICENSE](/LICENSE) file for more details.
npm package: @ilz5753/rn-switch
Description: React Native Switch component created on top of reanimated & gesture handler
Author: Mehdi abdollahi
Latest version: 0.0.1

# React Native Switch
This is a React Native component that creates a customizable switch (toggle) UI element.

## Installation
To install the component:

```bash
npm i @ilz5753/rn-switch
# yarn
yarn add @ilz5753/rn-switch
# bun
bun add @ilz5753/rn-switch
```

## Usage
Import the `Switch` component and use it in your components:

```tsx
import Switch from '@ilz5753/rn-switch';
import { useState } from 'react';

function MyComponent() {
  let [active, setActive] = useState(false);
  return (
    <Switch
      value={active}
      onChangeValue={setActive}
    />
  );
}
```

### Props

The `Switch` component accepts the following props:

| Prop | Type | Description | Default |
| --- | --- | --- | --- |
| size | number | The size of the switch. | 30 |
| panMultiply | number | A number between 0.66 and 0.9 that determines the panning distance required to toggle the switch. | 0.84 |
| toggleDuration | number | The duration (in milliseconds) of the toggle animation. | 240 |
| styleDuration | number | The duration (in milliseconds) of the style transition. | 120 |
| panBg | string | The background color of the panning area of the switch. | white |
| activeBg | string | The background color of the switch when it's active (turned on). | #07f |
| deactiveBg | string | The background color of the switch when it's deactive (turned off). | gray |
| value | boolean | The current state of the switch (`true` for active, `false` for deactive). | false |
| onChangeValue | function | A callback function that is executed whenever the switch value changes. It receives the new value as an argument. | - |
| gestureDisabled | boolean | If set to `true`, disables the switch toggle on gesture (panning). | false |
| disabled | boolean | If set to `true`, disables the switch. It cannot be interacted with when disabled. | false |


## License

Switch is licensed under the MIT License. See the [LICENSE](/LICENSE) file for more details.
npm package: @ilz5753/usectx
Description: `@ilz5753/usectx` is a small, customizable TypeScript library that provides a React hook (`useCtx`) for retrieving context values and throwing errors when the retrieved value is undefined.
Author: Mehdi Abdollahi
Latest version: 2.0.3

# @ilz5753/usectx

`@ilz5753/usectx` is a small, customizable TypeScript library that provides a React hook (`useCtx`) for retrieving context values and throwing errors when the retrieved value is undefined.

## Installation

You can install the package using npm:

```bash
npm install @ilz5753/usectx
```

Or with yarn:

```bash
yarn add @ilz5753/usectx
```

## Usage

```tsx
import useCtx from "@ilz5753/usectx";

import MyContext from "./MyContext";

const Component = () => {
  const value = useCtx(MyContext, "Context value is undefined");

  // Use the value in your component
};
```

## Parameters

- `ctx`: The React context from which you want to retrieve the value.

- `errorMsg`: A custom error message to be thrown if the context value is undefined.

## Return Value

The retrieved value from the context. If the value is undefined, an error will be thrown with the specified error message.

> **Note**
>
> This hook should be used within a React component. It relies on the React useContext hook to retrieve the context value.