open-index/open-npm huggingface dataset:
npm package: @ian2849/n8n-nodes-kinesis
Description: ![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)
Author: Ian Lloyd
Latest version: 1.3.4

![Banner image](https://user-images.githubusercontent.com/10284570/173569848-c624317f-42b1-45a6-ab09-f0ea3c247648.png)

# n8n-nodes-starter

This repo contains example nodes to help you get started building your own custom integrations for [n8n](n8n.io). It includes the node linter and other dependencies.

To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).

## Prerequisites

You need the following installed on your development machine:

* [git](https://git-scm.com/downloads)
* Node.js and npm. Minimum version Node 16. You can find instructions on how to install both using nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
* Install n8n with:
	```
	npm install n8n -g
	```
* Recommended: follow n8n's guide to [set up your development environment](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/).


## Using this starter

These are the basic steps for working with the starter. For detailed guidance on creating and publishing nodes, refer to the [documentation](https://docs.n8n.io/integrations/creating-nodes/).

1. [Generate a new repository](https://github.com/n8n-io/n8n-nodes-starter/generate) from this template repository.
2. Clone your new repo:
    ```
    git clone https://github.com/<your organization>/<your-repo-name>.git
    ```
3. Run `npm i` to install dependencies.
4. Open the project in your editor.
5. Browse the examples in `/nodes` and `/credentials`. Modify the examples, or replace them with your own nodes.
6. Update the `package.json` to match your details.
7. Run `npm run lint` to check for errors or `npm run lintfix` to automatically fix errors when possible.
8. Test your node locally. Refer to [Run your node locally](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for guidance.
9. Replace this README with documentation for your node. Use the [README_TEMPLATE](README_TEMPLATE.md) to get started.
10. Update the LICENSE file to use your details.
11. [Publish](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) your package to npm.

## More information

Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building your own nodes.

## License

[MIT](https://github.com/n8n-io/n8n-nodes-starter/blob/master/LICENSE.md)
npm package: @ian_sinn/string-is-chinese
Description: Test if a string is Chinese
Author: Ian Sinnott
Latest version: 1.0.6

# Is Chinese?

A simple helper to check if a string of characters matches the known Unicode range for Chinese.

## Usage

```js
const { isChinese, RE } = require("@ian_sinn/string-is-chinese");

// Test if a string "is chinese"
isChinese("你好嗎？還有誰要來？  我放幾個空格看看。"); // => true
isChinese("Just an english sentence"); // => false

// You can also use `hasChinese` if you just want to see if _any_ characters match.
isChinese("Just an english sentence... 不是！"); // => false
hasChinese("Just an english sentence... 不是！"); // => true

// You can configure the percentage of a string that must be Chinese in order
// to pass the test.
isChinese("Just an english sentence... 不是！", { threshold: 0.05 }); // => true
```

### Copy Paste

This library is basically a wrapper around a regex. Feel free to copy and paste directly if it makes things easier:

```js
const RE = /[\u4E00-\u9FA5\uF900-\uFA2D]/;

RE.test("加油!");
```
npm package: @ian_test_nooks/use-axios
Description: React Hook to check axios data loading / complete and get data
Author: AZSquad.co
Latest version: 1.0.1

# @ian_test_nooks/use-axios

React Hook to check axios data loading / complete and get data

```
npm i @ian_test_nooks/use-axios
```

const { loading, error, data, refetch } = useAxios({
    url: return JSON URL
  });
```
import useAxios from "@ian_test_nooks/use-axios";

const App = () => {
  const { loading, error, data, refetch } = useAxios({
    url: "https://yts-proxy.nomadcoders1.now.sh/list_movies.json?sort_by=rating"
  });

  return (
    <div className="App">
      <h1>{data && data.status}</h1>
      <h2>{loading && "Loading"}</h2>
      <button onClick={refetch}>Refetch</button>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-beforeleave
Description: React Hook to check mouse position when mouse leave element or area
Author: AZSquad.co
Latest version: 1.0.2

# @ian_test_nooks/use-beforeleave

React Hook to check mouse position when mouse leave element or area

```
npm i @ian_test_nooks/use-beforeleave
```

useBeforeLeave(callback function after mouse leave);
..
const { clientY } = event;
    if (clientY <= 0) {
      onBefore();
    }
..
```
import useBeforeLeave from "@ian_test_nooks/use-beforeleave";

const App = () => {
  const begForLife = () => console.log("Please dont leave");
  useBeforeLeave(begForLife);

  return (
    <div className="App">
      <div>Hi</div>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-click
Description: React Hook to catch event when click element
Author: AZSquad.co
Latest version: 1.0.2

# @ian_test_nooks/use-click

React Hook to catch event when click element

```
npm i @ian_test_nooks/use-click
```

const useRef = useClick(callback function);
```
import useClick from "@ian_test_nooks/use-click";

const App = () => {
  const sayHello = () => console.log("Hello");

  const title = useClick(sayHello);
  return (
    <div className="App">
      <h1 ref={title}>Hi</h1>
      <input placeholder="la" />
    </div>
  );
};
```
npm package: @ian_test_nooks/use-confirm
Description: React Hook to confirm popup
Author: AZSquad.co
Latest version: 1.0.0

# @ian_test_nooks/use-confirm

React Hook to confirm popup

```
npm i @ian_test_nooks/use-confirm
```

const click event function = useConfirm(messege, confirm click callback function, abort click callback function);
```
import useConfirm from "@ian_test_nooks/use-confirm";

const App = () => {
  const deleteWorld = () => console.log("delete the World!");
  const abort = () => console.log("you save the world");
  const confirmDelete = useConfirm("Are you sure?", deleteWorld, abort);
  return (
    <div className="App">
      <button onClick={confirmDelete}>Delete the world</button>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-fadein
Description: React Hook to Fade In effect when element show or move
Author: AZSquad.co
Latest version: 1.0.2

# @ian_test_nooks/use-fadein

React Hook to Fade In effect when element show or move

```
npm i @ian_test_nooks/use-fadein
```

const {ref, style} = usefadeIn(duration, delay);
```
import useFadeIn from "@ian_test_nooks/use-fadein";

const App = () => {
  const fadeInH1 = usefadeIn(1,2);
  const fadeInP = usefadeIn(5,10);
  return (
    <div className="App">
      <h1 {...fadeInH1}>hi</h1>
      <p {...fadeInP}>sdfsdafsdfsaddgfhh efdhgfd</p>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-fullscreen
Description: React Hook to change screen mode fullscreen/normal screen
Author: AZSquad.co
Latest version: 1.0.0

# @ian_test_nooks/use-fullscreen

React Hook to change screen mode fullscreen/normal screen

```
npm i @ian_test_nooks/use-fullscreen
```

const { useRef element, triggerFull function, exitFull function} = useFullscreen(change mode callback function);
```
import useFullscreen from "@ian_test_nooks/use-fullscreen";

const App = () => {
  const onFulls = (isFull) => {
    console.log(isFull ? "we are full" : "we are small");
  };
  const { element, triggerFull, exitFull } = useFullscreen(onFulls);
  return (
    <div className="App" style={{ height: "1000vh" }}>
      <div ref={element}>
        <img src="https://mblogthumb-phinf.pstatic.net/MjAyMDAxMTFfMjAw/MDAxNTc4NzMwMzQ0MTcy.QguzdRQcCqWA2DJKeHVwuxPJV58Vqw4-bO4CXw2Xp98g.B1eM51dW7fEeKyZnt3uT5zirLNpEa1nSuZ2aV5U0-iEg.JPEG.insu1229/1578730343150.jpg?type=w800" />
        <button onClick={exitFull}> exitFull</button>
      </div>
      <button onClick={triggerFull}>Make FullScreen</button>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-input
Description: React Hook to update your Input box and validator input data
Author: AZSquad.co
Latest version: 1.0.0

# @ian_test_nooks/use-input

React Hook to update your Input box and validator input data

```
npm i @ian_test_nooks/use-input
```

 useInput(default Text, validator function);
```
import useInput from "@ian_test_nooks/use-input";

const App = () => {
  const maxLen = (value) => {
    return value.length <= 10;
  };
  const name = useInput("Mr.", maxLen);
  return (
    <div className="App">
      <h1>Hello`1</h1>
      <input placeholder="Name" {...name} />
    </div>
  );
};
```
npm package: @ian_test_nooks/use-network
Description: React Hook to check online/offline
Author: AZSquad.co
Latest version: 1.0.0

# @ian_test_nooks/use-network

React Hook to check online/offline

```
npm i @ian_test_nooks/use-network
```

const network status = useNetwork(network change listenner function);
```
import useNetwork from "@ian_test_nooks/use-network";

const App = () => {
  const handleNetworkChange = (online) => {
    console.log(online ? "we Just went online" : "we are offline");
  };
  const onLine = useNetwork(handleNetworkChange);
  return (
    <div className="App">
      <div>{onLine ? "Online" : "Offline"}</div>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-notification
Description: React Hook to show notification popup after grant permission
Author: AZSquad.co
Latest version: 1.0.0

# @ian_test_nooks/use-notification

React Hook to show notification popup after grant permission

```
npm i @ian_test_nooks/use-notification
```

const trigerNotif = useNotification(title text, {
    body: bodyText
  });
```
import useNotification from "@ian_test_nooks/use-notification";

const App = () => {
  const trigerNotif = useNotification("Can I steel your kimchi?", {
    body: "I love kimchi dont you?"
  });
  return (
    <div className="App">
      <h1>Hello</h1>
      <button onClick={trigerNotif}>Hello</button>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-preventleave
Description: React Hook to prevent Page before Leave
Author: AZSquad.co
Latest version: 1.0.0

# @ian_test_nooks/use-preventleave

React Hook to prevent Page before Leave

```
npm i @ian_test_nooks/use-preventleave
```

const { enablePrevent, disablePrevent } = usePreventLeave();
```
import usePreventLeave from "@ian_test_nooks/use-preventleave";

const App = () => {
  const { enablePrevent, disablePrevent } = usePreventLeave();
  return (
    <div className="App">
      <div>Hi</div>
      <button onClick={enablePrevent}>Protect</button>
      <button onClick={disablePrevent}>unProtect</button>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-scroll
Description: React Hook to check scroll position when slide scroll
Author: AZSquad.co
Latest version: 1.0.0

# @ian_test_nooks/use-scroll

React Hook to check scroll position when slide scroll

```
npm i @ian_test_nooks/use-scroll
```

const { current X, current Y } = useScroll(offsetX, offsetY);
```
import useScroll from "@ian_test_nooks/use-scroll";

const App = () => {
  const { x, y } = useScroll(offsetX, offsetY);
  return (
    <div className="App" style={{ height: "1000vh" }}>
      <h1 style={{ position: "fixed", color: y > 100 ? "red" : "green" }}>
        hello
      </h1>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-tabs
Description: React Hook to change page data when click tab button
Author: AZSquad.co
Latest version: 1.0.2

# @ian_test_nooks/use-tabs

React Hook to change page data when click tab button

```
npm i @ian_test_nooks/use-tabs
```

const {currentItem Data Object, setCurrentIndex function} = useTabs(currentItem Index, Tab page contents Data);
```
import useTabs from "@ian_test_nooks/use-tabs";

const content = [
  {
    tab: "section 1",
    content: "I'm the content of the section 1"
  },
  {
    tab: "section 2",
    content: "I'm the content of the section 2"
  }
];

const App = () => {
  const { currentItem, changeItem } = useTabs(0, content);
  return (
    <div className="App">
      {content.map((section, index) => (
        <button onClick={() => changeItem(index)}>{section.tab}</button>
      ))}
      <div>{currentItem.content}</div>
    </div>
  );
};
```
npm package: @ian_test_nooks/use-title
Description: React Hook to update your document's title
Author: ian@azsquad.co.kr
Latest version: 1.0.3

# @ian_test_nooks/use-title

React Hook to update your document's title

```
npm i @ian_test_nooks/use-title
```

```
import useTitle from "@ian_test_nooks/use-title";

const App = () => {
  const titleSet = useTitle("hi~!");
  return (
    <div className="App">
      <h1>Hello~!</h1>
    </div>
  );
};
```
npm package: @ianatkin80/node-red-contrib-socketio-client
Description: Socket.io client for node-red
Author: Ian Atkin
Latest version: 0.3.0-beta

# node-red-contrib-socketio-client
---
Forked from isaacvitor/node-red-contrib-socketio-client to include emitter node in release

## Nodes

1. Socket.IO Connector
2. Socket.IO Listener
3. Socket.IO Emitter

## How to use

> Socket.IO Connector -> Socket.IO Listener -> Payload

> Socket.IO Connector -> Socket.IO Emitter -> Payload

![How to use](https://raw.githubusercontent.com/isaacvitor/generalcontent/master/node-red-contrib-socketio-client/nodered_socketio_ex01.png "How to use")

**Notice:** This module is in development - take care when using in production.
npm package: @ianbalijawa16/real-time-sync
Description: Lightweight real-time data synchronization library
Author: Ian Balijawa
Latest version: 1.0.1

# @ianbalijawa16/real-time-sync 🔄

A lightweight, type-safe WebSocket-based real-time data synchronization library for TypeScript.

## 🚀 Features

- **Effortless Real-Time Synchronization**
- **Strong TypeScript Type Safety**
- **Automatic Reconnection**
- **Flexible Conflict Resolution**
- **Minimal Dependencies**

## 📦 Installation

```bash
npm install @ianbalijawa16/real-time-sync
```

## 💡 Basic Usage

```typescript
import { RealTimeSync } from '@ianbalijawa16/real-time-sync';

interface UserData {
  id: number;
  name: string;
}

const sync = new RealTimeSync<UserData>('ws://localhost:8080', {
  reconnectAttempts: 3,
  conflictResolution: 'client-wins'
});

sync.subscribe('users', (userData) => {
  console.log('Received user data:', userData);
});

sync.publish('users', { id: 1, name: 'John Doe' });

sync.onConnect = () => console.log('Connected to server');
sync.onDisconnect = () => console.log('Disconnected from server');
sync.onError = (error) => console.error('Connection error:', error);
```

## 🛠 Configuration Options

### Constructor Options

- `url`: WebSocket server URL
- `reconnectAttempts`: Maximum number of reconnection attempts (default: 5)
- `reconnectDelay`: Initial delay between reconnection attempts (default: 1000ms)
- `conflictResolution`: Data conflict resolution strategy

### Conflict Resolution Strategies

1. `'client-wins'`: Client data takes precedence
2. `'server-wins'`: Server data takes precedence
3. Custom merge function: Define your own resolution logic

```typescript
const sync = new RealTimeSync<UserData>(url, {
  conflictResolution: (clientData, serverData) => {
    // Custom merge logic
    return { ...serverData, ...clientData };
  }
});
```

## 🔌 API Methods

- `subscribe(stream: string, callback)`: Listen to a specific data stream
- `publish(stream: string, data)`: Send data to a stream
- `unsubscribe(stream: string)`: Stop listening to a stream
- `disconnect()`: Close the WebSocket connection

## 🔒 Lifecycle Hooks

- `onConnect`: Triggered when connection is established
- `onDisconnect`: Triggered when connection is lost
- `onError`: Triggered on connection errors

## 📋 Requirements

- TypeScript 4.x+
- Modern browsers with WebSocket support

## 🤝 Contributing

Contributions are welcome! Please submit pull requests or open issues on our GitHub repository.

## 📄 License

MIT License
npm package: @ianbalijawa16/str-man
Description: A lightweight and efficient library for string transformations, validations, and formatting.
Author: Ian Balijawa
Latest version: 1.0.1

# @ianbalijawa16/str-man

A lightweight, dependency-free TypeScript library for string utilities.

## Installation

```bash
npm install @ianbalijawa16/str-man
```

## Features

- Case Conversions
- String Validations
- String Truncation and Padding

## Usage

### Case Conversions

```typescript
import { toCamelCase, toSnakeCase, toKebabCase, toPascalCase } from '@ianbalijawa16/str-man';

console.log(toCamelCase('hello world')); // 'helloWorld'
console.log(toSnakeCase('helloWorld')); // 'hello_world'
console.log(toKebabCase('HelloWorld')); // 'hello-world'
console.log(toPascalCase('hello world')); // 'HelloWorld'
```

### Validations

```typescript
import { isValidEmail, isValidURL, isAlphanumeric } from '@ianbalijawa16/str-man';

console.log(isValidEmail('test@example.com')); // true
console.log(isValidURL('https://example.com')); // true
console.log(isAlphanumeric('Hello123')); // true
```

### String Manipulation

```typescript
import { truncate, padString } from '@ianbalijawa16/str-man';

console.log(truncate('Hello World', 5)); // 'Hello...'
console.log(padString('123', 5)); // '123  '
console.log(padString('123', 5, '0', 'left')); // '00123'
```

## License

MIT