open-index/open-npm huggingface dataset:
npm package: @kevinchang1207/cx-ui8
Description: Cx UI components library
Latest version: 0.1.2

# Cx UI（基于 Element Plus 的业务组件库）

轻量封装 Element Plus，提供统一风格与常用增强组件：`CxInput`、`CxButton`、`CxForm`、`CxTable`（列筛选）、`CxDialog`、`CxDrawer`、`CxPagination`、`CxSelect`、`CxDateRange`。

## 安装
```bash
npm i @kevinchang1207/cx-ui element-plus
# 或者
pnpm add @kevinchang1207/cx-ui element-plus
```

要求：Vue 3.2+，Element Plus 2.x。

## 快速开始（全局注册）
```ts
// main.ts / main.js
import { createApp } from 'vue'
import App from './App.vue'
import CxUI from '@kevinchang1207/cx-ui'
import 'element-plus/dist/index.css'

createApp(App).use(CxUI).mount('#app')
```

## 按需使用（局部注册）
```ts
import { CxButton, CxInput } from '@kevinchang1207/cx-ui'
export default { components: { CxButton, CxInput } }
```

## 组件示例

### CxButton
```vue
<cx-button type="primary" @click="doSomething">提交</cx-button>
<cx-button type="success" plain>成功</cx-button>
<cx-button type="danger" :loading="loading">删除中</cx-button>
```
Props：`type`（primary/success/warning/danger/info/default）、`size`（sm/md/lg）、`plain`、`round`、`circle`、`loading`、`disabled`。

### CxInput
```vue
<cx-input v-model="keyword" placeholder="请输入关键词" clearable />
```
支持 `prefix`、`suffix` 插槽。

### CxForm（基于 schema）
```vue
<cx-form :model="form" :rules="rules" :schema="[
  { label: '姓名', prop: 'name', component: 'input', placeholder: '请输入姓名' },
  { label: '状态', prop: 'status', component: 'select', options: [
    { label: '启用', value: 'enabled' },
    { label: '停用', value: 'disabled' }
  ]},
  { label: '日期', prop: 'date', component: 'date' }
]" @submit="onSubmit" />
```
事件：`submit(values)`、`reset()`、`validate({ valid, error })`。

### CxTable（列筛选/排序/选择）
```vue
<cx-table :data="rows" :columns="[
  { type: 'selection' },
  { prop: 'name', label: '姓名', sortable: 'custom' },
  { prop: 'status', label: '状态', filters: [
    { text: '启用', value: 'enabled' },
    { text: '停用', value: 'disabled' }
  ], filterMethod: (val, row) => row.status === val },
  { prop: 'age', label: '年龄', sortable: 'custom' }
]" @filter-change="onFilter" @sort-change="onSort" />
```
支持插槽列：`columns` 中定义 `slot: 'xxx'`，并提供 `<template #xxx="{ row }">`。

### CxDialog / CxDrawer
```vue
<cx-dialog v-model="visible" title="提示" @confirm="ok">内容</cx-dialog>
<cx-drawer v-model="drawer" title="侧边">内容</cx-drawer>
```

### CxSelect / CxDateRange
```vue
<cx-select v-model="val" :options="opts" />
<cx-date-range v-model="range" />
```

### 分页
```vue
<cx-pagination :current="page" :page-size="size" :total="total" @change="onPage" />
```

## 常见问题
- 按钮/输入框尺寸：库内 `sm/md/lg` 自动映射到 Element Plus 的 `small/default/large`。
- 主题：直接使用 Element Plus 主题定制方案（如变量覆盖）。
- Tree-shaking：本库为 UMD/CommonJS 构建，建议在应用层做路由/页面级懒加载。
npm package: @kevinchang1207/cx-ui9
Description: Cx UI components library
Latest version: 0.1.3

# Cx UI（基于 Element Plus 的业务组件库）

轻量封装 Element Plus，提供统一风格与常用增强组件：`CxInput`、`CxButton`、`CxForm`、`CxTable`（列筛选）、`CxDialog`、`CxDrawer`、`CxPagination`、`CxSelect`、`CxDateRange`。

## 安装
```bash
npm i @kevinchang1207/cx-ui element-plus
# 或者
pnpm add @kevinchang1207/cx-ui element-plus
```

要求：Vue 3.2+，Element Plus 2.x。

## 快速开始（全局注册）
```ts
// main.ts / main.js
import { createApp } from 'vue'
import App from './App.vue'
import CxUI from '@kevinchang1207/cx-ui'
import 'element-plus/dist/index.css'

createApp(App).use(CxUI).mount('#app')
```

## 按需使用（局部注册）
```ts
import { CxButton, CxInput } from '@kevinchang1207/cx-ui'
export default { components: { CxButton, CxInput } }
```

## 组件示例

### CxButton
```vue
<cx-button type="primary" @click="doSomething">提交</cx-button>
<cx-button type="success" plain>成功</cx-button>
<cx-button type="danger" :loading="loading">删除中</cx-button>
```
Props：`type`（primary/success/warning/danger/info/default）、`size`（sm/md/lg）、`plain`、`round`、`circle`、`loading`、`disabled`。

### CxInput
```vue
<cx-input v-model="keyword" placeholder="请输入关键词" clearable />
```
支持 `prefix`、`suffix` 插槽。

### CxForm（基于 schema）
```vue
<cx-form :model="form" :rules="rules" :schema="[
  { label: '姓名', prop: 'name', component: 'input', placeholder: '请输入姓名' },
  { label: '状态', prop: 'status', component: 'select', options: [
    { label: '启用', value: 'enabled' },
    { label: '停用', value: 'disabled' }
  ]},
  { label: '日期', prop: 'date', component: 'date' }
]" @submit="onSubmit" />
```
事件：`submit(values)`、`reset()`、`validate({ valid, error })`。

### CxTable（列筛选/排序/选择）
```vue
<cx-table :data="rows" :columns="[
  { type: 'selection' },
  { prop: 'name', label: '姓名', sortable: 'custom' },
  { prop: 'status', label: '状态', filters: [
    { text: '启用', value: 'enabled' },
    { text: '停用', value: 'disabled' }
  ], filterMethod: (val, row) => row.status === val },
  { prop: 'age', label: '年龄', sortable: 'custom' }
]" @filter-change="onFilter" @sort-change="onSort" />
```
支持插槽列：`columns` 中定义 `slot: 'xxx'`，并提供 `<template #xxx="{ row }">`。

### CxDialog / CxDrawer
```vue
<cx-dialog v-model="visible" title="提示" @confirm="ok">内容</cx-dialog>
<cx-drawer v-model="drawer" title="侧边">内容</cx-drawer>
```

### CxSelect / CxDateRange
```vue
<cx-select v-model="val" :options="opts" />
<cx-date-range v-model="range" />
```

### 分页
```vue
<cx-pagination :current="page" :page-size="size" :total="total" @change="onPage" />
```

## 常见问题
- 按钮/输入框尺寸：库内 `sm/md/lg` 自动映射到 Element Plus 的 `small/default/large`。
- 主题：直接使用 Element Plus 主题定制方案（如变量覆盖）。
- Tree-shaking：本库为 UMD/CommonJS 构建，建议在应用层做路由/页面级懒加载。
npm package: @kevincharm/bls-bn254
Description: BLS on BN254
Author: Kevin Charm
Latest version: 2.0.0

# BLS on BN254

BLS operations on BN254 in Solidity, including constant-time hash-to-curve using a the general Shallue-van de Woestijne encoding described in [RFC9380 Section 6.6.1](https://datatracker.ietf.org/doc/html/rfc9380#section-6.6.1).

A lot of the code in this repository has been taken from these repositories:

-   https://github.com/thehubbleproject/hubble-contracts
-   https://github.com/ChihChengLiang/bls_solidity_python
-   https://github.com/kilic/evmbls
-   https://github.com/kevincharm/draft-irtf-cfrg-hash-to-curve

## JavaScript Library

This repo also comes with an accompanying JS lib for creating signatures.

```sh
    npm install --save @kevincharm/bls-bn254 ethers@^6 mcl-wasm@1.4.0
```

## Utilities

### Hash-to-point

Hash a regular string

```sh
    yarn bls:hash "message to hash"
```

Hash hex bytes

```sh
    yarn bls:hash 0xdeadbeef
```

## Readings

-   [BLS Signatures in Solidity by @liangcc](https://hackmd.io/@liangcc/bls-solidity)
-   [RFC9380](https://datatracker.ietf.org/doc/html/rfc9380)
npm package: @kevincharm/sharmander256
Description: Toy SHA-256 hash function implementation
Author: Kevin Charm
Latest version: 1.0.0

# sha(rmander)256

Toy SHA-256 implementation in pure TypeScript, based on [FIPS 180-4](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf). Tested against FIPS 180-4 SHA-256 short and long messages suite. Not audited; use at your own risk.

![](./sharmander256.jpg)
npm package: @kevincobain2000/json-to-html-table
Description: Convert Nested JSON to HTML Table — React, Javascript.
Author: Pulkit Kathuria
Latest version: 1.0.4

# json-to-html-table

Convert Nested JSON to HTML Table — React, Javascript.

A simple react component to convert any nested JSON object or array into an HTML table.

for more info see

https://medium.com/web-developer/convert-nested-json-to-html-table-react-javascript-be6611fed718

# Use it Online

Online tool https://kevincobain2000.github.io/json-to-html-table/

## Install

```bash
npm install --save @kevincobain2000/json-to-html-table
```

## Usage

```jsx
import React, { Component } from 'react'

import { JSONToHTMLTable } from '@kevincobain2000/json-to-html-table'

class Example extends Component {
  render () {
    const data = {
      "id": "0001",
      "type": "donut",
      "name": "Cake",
      "ppu": 0.55,
      "batters":
        {
          "batter":
            [
              { "id": "1001", "type": "Regular" },
              { "id": "1002", "type": "Chocolate" },
              { "id": "1003", "type": "Blueberry" },
              { "id": "1004", "type": "Devil's Food" }
            ]
        },
      "topping":
        [
          { "id": "5001", "type": "None" },
          { "id": "5002", "type": "Glazed" },
          { "id": "5005", "type": "Sugar" },
          { "id": "5007", "type": "Powdered Sugar" },
          { "id": "5006", "type": "Chocolate with Sprinkles" },
          { "id": "5003", "type": "Chocolate" },
          { "id": "5004", "type": "Maple" }
        ]
    }
    return (
      <JSONToHTMLTable data={data} tableClassName="table table-sm"/>
    )
  }
}
```

## License

MIT
npm package: @kevincuadros/react-code
Description: > Pin input component for React
Author: kevin cuadros
Latest version: 1.3.2

# React Pin Code

> Pin input component for React

## Installation

To get started, install and save in your `package.json` dependencies, run:

```bash
npm i @kevincuadros/react-code
```
or
```bash
yarn add @kevincuadros/react-code
```

## Demo

![image](https://github.com/cuadros-code/react-code/blob/gh-pages/default.png?raw=true)

[Documentation and examples](https://cuadros-code.github.io/react-code/?path=/story/pin-code--default)

[Source code](https://github.com/cuadros-code/react-code)

## Importing

You can use the following two ways to import module.

```javascript
import { PinCode } from '@kevincuadros/react-code'
```

## Usage
### Basic Example
```jsx
import { PinCode } from '@kevincuadros/react-code';

const App = () => {
  
  const [value, setValue] = React.useState('');

  return (
    <PinCode
      length={4}
      onChange={setValue}
    />
  );
};
```

## PinCode input length
`PinCode` expects a number for the `length` prop. The number of input fields rendered is equal to the length of the array.

## Disable focus management
By default, `PinCode` moves focus automatically to the next input once a field is filled. It also transfers focus to a previous input when `Backspace` is pressed with focus on an empty input.

## AutoFocus
`PinCode` offers a way let it focus from the start. Simply set `autoFocus` prop to **true** to focus the first input upon initial mounting of the component.

## Changing the placeholder
By default, `PinCode` placeholder is (''), you can change that if you want.

## Compare value
By default `valueToValidate` is (''), when all the fields are completed the value will be validated


## API

**`PinCode` Props**

| Name(*required) | Type | Default | Description |
| :-------------- | :--- | :------ | :---------- |
| length(*) | number |  | Number of rendered elements. |
| autoFocus | boolean | false | If true the input will be focused on the first mount. |
| valueToValidate  | string | "" | Value to compare |
| invalidBorderColor | string | rgb(220,53,69) | Let you customize border color when the input is invalid.
| validBorderColor | string | rgb(220,53,69) | Let you customize border color when the input is valid.
| onChange | Dispatch<React.SetStateAction<string>> |  | Called when input value is changed. |
| placeholder | string | "" | Displayed when the pin code is not entered yet. |
| inputStyle | object | {} | Lets you customize input element. |

## License

MIT


[![storybook](https://raw.githubusercontent.com/storybooks/brand/master/badge/badge-storybook.svg)](https://luffy84217.github.io/react-input-pin-code/)
npm package: @kevindallancon/hrnet-modal
Description: A simple and customizable React modal component
Author: Kevin Dallancon
Latest version: 1.0.6

# @kevindallancon/hrnet-modal

Composant **modale réutilisable** développé pour la refonte de l’application HRnet. Ce composant React léger et accessible peut être intégré dans tout projet React pour afficher une fenêtre modale personnalisée.

---

## 📦 Objectif du package

- Remplacer les plugins jQuery `.modal()` dans l’ancienne application HRnet
- Fournir un composant React simple à intégrer, accessible et stylisable
- Publier le composant sous forme de **package npm** pour réutilisation

## ⚙️ Technologies utilisées

- **React** ≥ 16.8 – Composant fonctionnel avec hooks (peerDependency)
- **Vite 5** – Outil de build ultra rapide pour librairies modernes
- **@vitejs/plugin-react** – Intégration JSX/React pour Vite
- **vite-plugin-css-injected-by-js** – Injection automatique des styles CSS dans le JS (pas besoin d'import manuel)
- **ESModules + CommonJS** – Build compatible avec tous les environnements (via `dist/*.es.js` et `*.cjs.js`)

## 🚀 Installation
```bash
npm install @kevindallancon/hrnet-modal
   ```

## 🧰 Utilisation
```bash
  import Modal from '@kevindallancon/hrnet-modal';

function Example() {
  const [isOpen, setIsOpen] = useState(false);

  return (
    <>
      <button onClick={() => setIsOpen(true)}>Ouvrir la modale</button>
      <Modal
        isOpen={isOpen}
        onClose={() => setIsOpen(false)}
        title="Succès"
        content="L'employé a bien été enregistré."
        backgroundColor="#ffffff"
      />
    </>
  );
}
```

## 🧩 Props

```bash
| Prop              | Type       | Requis | Description                                                                 |
|-------------------|------------|--------|-----------------------------------------------------------------------------|
| `isOpen`          | `boolean`  | ✅     | Affiche ou masque la modale                                                |
| `onClose`         | `function` | ✅     | Fonction appelée lors de la fermeture (clic extérieur ou bouton "X")       |
| `title`           | `string`   | ✅     | Titre affiché en haut de la modale                                         |
| `content`         | `string`   | ✅     | Contenu texte affiché dans la modale                                       |
| `backgroundColor` | `string`   | ❌     | Couleur de fond personnalisable de la modale (`#fff`, `#000`, etc.)        |         

```
npm package: @kevindanikowski/react-test-components
Description: React Image (Suspense-like) Loader component that simulates a shimmer effect
Author: Kevin Danikowski
Latest version: 0.0.2

<p align='center'>
  <img alt='Logo' src='https://cdn.rawgit.com/gokcan/react-shimmer/master/media/logo.png' width=40%>
</p>

> A powerful, customisable, Suspense-like `<img>` component that (optionally) simulates a [**shimmer**](https://github.com/facebook/Shimmer) effect while __loading__. (with zero dependencies!).

<p align="center">
  <a href="https://www.npmjs.com/package/react-shimmer">
    <img alt= "NPM" src="https://img.shields.io/npm/v/react-shimmer.svg">
  </a>
  <a href="https://standardjs.com">
    <img alt="JavaScript Style Guide" src="https://img.shields.io/badge/code_style-standard-brightgreen.svg">
  </a>
  <a href="https://github.com/gokcan/react-shimmer/actions?query=workflow%3A%22Node.js+CI%22">
    <img alt="Github Actions CI Status" src="https://github.com/gokcan/react-shimmer/workflows/Node.js%20CI/badge.svg?branch=master">
  </a>
  <a href="https://codeclimate.com/github/gokcan/react-shimmer/maintainability">
    <img alt= "Maintainability" src="https://api.codeclimate.com/v1/badges/a99a88d28ad37a79dbf6/maintainability">
  </a>
</p>

<p align="center">
  <img alt="Header" src="https://cdn.rawgit.com/gokcan/react-shimmer/master/media/header.png" width=60%>
</p>

### [__Live Demo__](https://codesandbox.io/s/nh9x1)

![](https://cdn.rawgit.com/gokcan/react-shimmer/master/media/demo.gif)

## Install

```bash
npm i react-shimmer
```

or

```bash
yarn add react-shimmer
```

## Usage

```jsx
import React from 'react'
import Image, { Shimmer } from 'react-shimmer'

function App() {
  return (
    <div>
      <Image
        src='https://source.unsplash.com/random/800x600'
        fallback={<Shimmer width={800} height={600} />}
      />
    </div>
  )
}
```

or you can use your custom React component as a fallback:

```jsx
import React from 'react'
import Image from 'react-shimmer'

import Spinner from './Spinner'

function App(props) {
  return (
    <div>
      <Image
        src="https://example.com/test.jpg"
        fallback={<Spinner />}
      />
    </div>
  )
}
```

### Properties

Property | Type | Required | Default value | Description
:--- | :--- | :--- | :--- | :---
`src`|string|yes||
`fallback`|ReactNode|yes||
`errorFallback`|func|no||
`onLoad`|func|no||
`delay`|number|no|| Delay in milliseconds before showing the `fallback`
`fadeIn`|bool|no|false|Use built-in fade animation on img
`NativeImgProps`|React.ImgHTMLAttributes<HTMLImageElement>|no||
-----

## Contributing
---

Feel free to send PRs.

## License

MIT © [gokcan](https://github.com/gokcan)
npm package: @kevindesousa/vue-dropdown
Description: A Vue.js component that displays a dropdown
Author: Kevin De Sousa
Latest version: 2.0.0

# vue-dropdown

A Vue component that shows a dropdown.

[![npm version](https://badge.fury.io/js/%40kevindesousa%2Fvue-dropdown.svg)](https://badge.fury.io/js/%40kevindesousa%2Fvue-dropdown)
[![Maintainability](https://api.codeclimate.com/v1/badges/fe8c84874df324d0ac84/maintainability)](https://codeclimate.com/github/kevindesousa/vue-dropdown/maintainability)

## Installation

```js
npm i --save @kevindesousa/vue-dropdown
```

### Browser

Include the script file, then install the component with `Vue.use(VueDropdown);` e.g.:

```html
<script type="text/javascript" src="node_modules/vuejs/dist/vue.min.js"></script>
<script type="text/javascript" src="node_modules/vue-dropdown-simple/dist/vue-dropdown.min.js"></script>
<script type="text/javascript">
  Vue.use(VueDropdown);
</script>
```

### Module

```js
import VueDropdown from '@kevindesousa/vue-dropdown';
```

## Usage

Once installed, it can be used in a template as simply as:

```html
<vue-dropdown></vue-dropdown>
```
npm package: @kevindesousa/vue-k-dropdown
Description: A simple dropdown components
Author: Kevin De Sousa
Latest version: 1.0.0

# vue-k-tabs

[![npm](https://img.shields.io/npm/v/@kevindesousa/vue-k-tabs.svg) ![npm](https://img.shields.io/npm/dm/@kevindesousa/vue-k-tabs.svg)](https://www.npmjs.com/package/@kevindesousa/vue-k-tabs)
[![vue2](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://vuejs.org/)

A simple tabs components

## Table of contents

- [Installation](#installation)
- [Usage](#usage)
- [Example](#example)

## Installation

```bash
$ npm install @kevindesousa/vue-k-tabs
```


## Initialisation

```javascript
import Vue from 'vue'
import KTabs from '@kevindesousa/vue-k-tabs'

Vue.use(KTabs)
```


## Utilisation


```html
     <k-tabs>
        <k-tab name="Tab 1" :tags="[{ content:'102002'}]" :selected="true">tab1</k-tab>
        <k-tab name="Tab 2">tab2</k-tab>
        <k-tab name="Tab 3">tab3</k-tab>
        <k-tab name="Tab 4">tab4</k-tab>
     </k-tabs>
```

## Liens

[Github](https://github.com/kevindesousa/vue-k-tabs)
[NPM Package](https://www.npmjs.com/package/@kevindesousa/vue-k-tabs)

---

## License

[MIT](http://opensource.org/licenses/MIT)
npm package: @kevindmorris/object-sort
Description: Get your keys sorted.
Author: Kevin Morris
Latest version: 1.0.0

# 🧼 @kevindmorris/object-sort

Get your keys sorted.

## Getting Started

Using npm:

```
npm i @kevindmorris/object-sort
```

## Usage

### sortBy

Sort an object's keys.

**Parameters:**

- **object:** An object.
- **options:** An options object.
- **options.nested:** Whether to sort any nested objects or not.

**Returns:**

- A sorted object.

**Example Usage:**

Import:

```
import { sortKeys } from "@kevindmorris/object-sort"

sortKeys({ c: 3, b: 2, a: 1 });
// => { a: 1, b: 2, c: 3 }
```

```
import { sortKeys } from "@kevindmorris/object-sort"

sortKeys({ c: 3, b: 2, a: { y: 2, x: 1 } }, { nested: true });
// => { a: { x: 1, y: 2 }, b: 2, c: 3 }
```

```
import { sortKeys } from "@kevindmorris/object-sort"

sortKeys({ c: 3, b: 2, a: { y: 2, x: 1 } }, { nested: false });
// => { a: { y: 2, x: 1 }, b: 2, c: 3 }
```
npm package: @kevinedgmz/platzom
Description: Traductor de lenguaje
Author: Kevin Eduardo
Latest version: 0.1.0

#Platzom

Platzon es un idioma inventado para fundamentos de javascript para platzi el mejor lugar de educacion online [facebook](https://facebook.com)

##Descripcion del idioma

Nombre: “ Aquí pones el nombre del paquete “
Version: “ Aquí agregas la versión de tu librería, es recomendado que si es la primera iteración sea la versión 0.1.0, si el producto ya esta completo, tienes test y de ahi no va a cambiar algo usamos 1.0.0, si son cambios mas grandes que rompen lo que teníamos seria un cambio a la version 2.0.0, etc. Esto se llama en software semantic versions, puedes leer más en http://semver.org/"
Description: “Aquí es donde vamos a explicar que hace nuestro modulo, puedes ser tan extenso como sea necesario, esto es lo que va a leer la comunidad”
Entry point: “Es el archivo principal de nuestra librería, por defecto es index.js”


##instalacion

npm install platzom

#uso

import platzom from platzom

##Creditos

- [kevin](https://facebook.com)

##licensia

[MIT](https://facebook.com)
npm package: @kevineduardo/baileys-store
Description: Minimal Baileys data storage for your favorite DBMS built with Prisma
Author: Kevin Eduardo
Latest version: 1.0.13

# Baileys Store

Minimal Baileys data storage for your favorite DBMS built with Prisma. This library is a simple handler for Baileys event emitter that will listen and update your data in the database

## Requirements

- **Prisma** version **4.7.x** or higher
- **Baileys** version **5.x.x** or higher

## Supported Databases

- MySQL and PostgreSQL database should support the default schema out of the box
- For CockroachDB, you need to do this small change in the schema file

```diff prisma
model Session {
  pkId      BigInt    @id @default(autoincrement())
  sessionId String
  id        String
-  data      String @db.Text
+  data      String

  @@unique([sessionId, id], map: "unique_id_per_session_id_session")
  @@index([sessionId])
}
```

- For MongoDB, you need to follow [this convention](https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference?query=getdmff&page=1#mongodb-10) and update the `pkId` field. Then follow the previous CockroachDB guide
- SQLite and SQL Server database are not supported since they didn't support Prisma's `JSON` scalar type

## Installation

```bash
# Using npm
npm i @kevineduardo/baileys-store

# Using yarn
yarn add @kevineduardo/baileys-store
```

## Setup

Before you can actually use this library, you have to setup your database first

1. Copy the `.env.example` file from this repository or from the `node_modules` directory (should be located at `node_modules/@kevineduardo/baileys-store/.env.example`). Rename it into `.env` and then update your [connection url](https://www.prisma.io/docs/reference/database-reference/connection-urls) in the `DATABASE_URL` field
1. Copy the `prisma` directory from this repository or from the `node_modules` directory (should be located at `node_modules/@kevineduardo/baileys-store/prisma/`). Additionaly, you may want to update your `provider` in the `schema.prisma` file if you're not using MySQL database
1. Run your [migration](https://www.prisma.io/docs/reference/api-reference/command-reference#prisma-migrate)

## Usage

```ts
import pino from 'pino';
import makeWASocket from '@whiskeysockets/baileys';
import { PrismaClient } from '@prisma/client';
import { initStore, Store } from '@kevineduardo/baileys-store';

const logger = pino();
const socket = makeWASocket();
const prisma = new PrismaClient();

// You only need to run this once
initStore({
  prisma, // Prisma client instance
  logger, // Pino logger (Optional)
});

// Create a store and start listening to the events
const store = new Store('unique-session-id-here', socket.ev);

// That's it, you can now query from the prisma client without having to worry about handling the events
const messages = prisma.message.findMany();
```

## Contributing

PRs, issues, suggestions, etc are welcome. Please kindly open a new issue to discuss it
npm package: @kevinfaguiar/vue-twemoji-picker
Description: ![Vue Twemoji Picker Preview](https://i.imgur.com/Jxex4zf.png)
Latest version: 5.7.4

## Vue Twemoji Picker

![Vue Twemoji Picker Preview](https://i.imgur.com/Jxex4zf.png)

This component is meant to be a developer friendly, easy integrable and performatic emoji picker (with some batteries) using the Twitter emoji arts (Twemojis). Emoji Unicode 13.0 (latest emoji spec, from 2020) is used as the base dataset.

## Documentation and Demo
https://kevinfaguiar.github.io/vue-twemoji-picker

## Funding
If you like the project and find it useful, please consider supporting me (every coffee counts) clicking on the `Sponsor` button in Github OR using the `Support this Project` section at the documentation site.

## License
MIT 2020 Licensed @kevinfaguiar | Twemoji graphics made by Twitter and licensed under CC-BY 4.0
npm package: @kevinfrom/danish-zipcodes-api
Description: Quickly search for cities and/or zipcodes
Latest version: 1.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# Danish Zipcodes API

A simple Axios wrapper for quickly looking up cities and municipalities in Denmark by searching via name or ZIP code.

## Installation

```bash
npm install @kevinfrom/danish-zipcodes-api
```

**Remember axios!**

```bash
npm install axios
```

## Usage

```typescript
import { createZipCodesApi } from '@kevinfrom/danish-zipcodes-api'

const api = createZipCodesApi()


// Search by ZIP (ZIP must be exactly 4 digits long)
api.searchByZip(6950).then(data => console.log(data))

// Search by name
api.searchByName('Ringkøbing').then(data => console.log(data))
```
npm package: @kevingio/number-utils
Description: Set of utils to work on number
Author: Kevin Giovanni
Latest version: 0.1.4

Simple and Useful Number Utility

## Instalation
##### Npm
`npm install @kevingio/number-utils`
##### Yarn
`yarn add @kevingio/number-utils`

## Available Functions

Here are the functions that available in this package
Utility | Description 
--- | --- 
toIDR | format a string or number with Rp prefix and thousand separator 
removeNonNumber | remove non number characters from string
getRandomNumber | get random string character with specified length
thousandSeparator | return a string or number with thousand separator


## How to use
You can refer to this for the usage
#### toIDR

```
import toIDR from '@kevingio/number-utils/dist/helpers/toIDR';
```

#### removeNonNumber
```
removeNonNumber toIDR from '@kevingio/number-utils/dist/helpers/removeNonNumber';
```

#### getRandomNumber
```
getRandomNumber toIDR from '@kevingio/number-utils/dist/helpers/getRandomNumber';
```

#### thousandSeparator
```
thousandSeparator toIDR from '@kevingio/number-utils/dist/helpers/thousandSeparator';
```
npm package: @kevingodell/node-red-ffmpeg
Description: Spawn a long-running ffmpeg process to handle video/image processing.
Author: Kevin Godell
Latest version: 0.1.1-beta.3

# @kevingodell/node-red-ffmpeg
######
[![GitHub license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://raw.githubusercontent.com/kevinGodell/node-red-ffmpeg/master/LICENSE)
[![npm](https://img.shields.io/npm/dt/@kevingodell/node-red-ffmpeg.svg?style=flat-square)](https://www.npmjs.com/package/@kevingodell/node-red-ffmpeg)
[![GitHub issues](https://img.shields.io/github/issues/kevinGodell/node-red-ffmpeg.svg)](https://github.com/kevinGodell/node-red-ffmpeg/issues)

**A [Node-RED](https://nodered.org/) node used for spawning a long-running [ffmpeg](https://ffmpeg.org/) process to handle video/image processing.**

* designed to be a thin wrapper around ffmpeg using [child_process.spawn](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options)
* ffmpeg executable binary must be [installed](https://duckduckgo.com/?q=how+to+install+ffmpeg) or [built](https://duckduckgo.com/?q=how+to+build+ffmpeg) separately

### Expectations:
* You should have working knowledge of ffmpeg on the command line.
* If you have difficulties making it work, please open a new [discussion](https://discourse.nodered.org/) and tag me `@kevinGodell`.
* Do not send private messages asking for help because that will not benefit others with similar issues.

### Installation:
* go to the correct directory, usually ~/.node-red
```
cd ~/.node-red
```
* using npm
```
npm install @kevingodell/node-red-ffmpeg
```
* reboot the node-red server
```
node-red-stop && node-red-start
```

### Instructions:
* See the detailed help text in the sidebar.

### Screenshots:
<img width="500" alt="flow" src="https://user-images.githubusercontent.com/6091746/203855624-1ad8675b-e8e4-40d0-98db-79d765e84af6.png">
<img width="500" alt="properties" src="https://user-images.githubusercontent.com/6091746/203855748-802673c7-663d-499c-bce0-5357ed61579a.png">
<img width="500" alt="args" src="https://user-images.githubusercontent.com/6091746/203856008-f16f9a60-7512-4b4a-a532-65a1d4df9efc.png">
<img width="500" alt="help" src="https://user-images.githubusercontent.com/6091746/203855844-f05959c3-76ed-47d4-a8ed-0283cba3e595.png">

### Flows:
https://github.com/kevinGodell/node-red-ffmpeg/tree/master/examples
npm package: @kevingodell/node-red-mp4frag
Description: Parse a fragmented mp4 from a buffer and send it to a downstream node or serve it via socket.io and http.
Author: Kevin Godell
Latest version: 0.1.1-beta.2

# @kevingodell/node-red-mp4frag

######
[![Buy me a coffee](https://img.shields.io/badge/-buy%20me%20a%20coffee-red?logo=buy%20me%20a%20coffee&style=flat-square)](https://buymeacoffee.com/kevinGodell)
[![GitHub license](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://raw.githubusercontent.com/kevinGodell/node-red-mp4frag/master/LICENSE)
[![npm](https://img.shields.io/npm/dt/@kevingodell/node-red-mp4frag.svg?style=flat-square)](https://www.npmjs.com/package/@kevingodell/node-red-mp4frag)
[![GitHub issues](https://img.shields.io/github/issues/kevinGodell/node-red-mp4frag.svg?style=flat-square)](https://github.com/kevinGodell/node-red-mp4frag/issues)

**A [Node-RED](https://nodered.org/) node used for parsing fragmented mp4 video from [ffmpeg](https://ffmpeg.org/).**

* designed to live stream mp4 video via http or socket.io
* video can be viewed in modern browsers using [HLS.js](https://github.com/video-dev/hls.js/)
* video can be viewed in Safari browser using [native HLS](https://developer.apple.com/documentation/http_live_streaming)
* compatible with [@kevingodell/node-red-ui-mp4frag](https://github.com/kevinGodell/node-red-ui-mp4frag)

### Expectations:
* You should have working knowledge of ffmpeg on the command line.
* Input MP4 video should be properly fragmented so that it is compatible.
* When using ffmpeg, set `-movflags +frag_keyframe+empty_moov+default_base_moof`.
* If you have difficulties making it work, please open a new [discussion](https://discourse.nodered.org/) and tag me `@kevinGodell`.
* Do not send private messages asking for help because that will not benefit others with similar issues.

### Installation:
* go to the correct directory, usually ~/.node-red
```
cd ~/.node-red
```
* using npm
```
npm install @kevingodell/node-red-mp4frag
```
* reboot the node-red server
```
node-red-stop && node-red-start
```

### Instructions:
* See the detailed help text in the sidebar.

### Screenshots:
<img width="500" alt="flow" src="https://user-images.githubusercontent.com/6091746/207752665-9fc6b534-533a-4a5e-884f-71ec4581fa0b.png">
<img width="500" alt="properties" src="https://user-images.githubusercontent.com/6091746/207752801-95d4e014-3e8c-4e10-b318-51534c4f2ea1.png">
<img width="500" alt="help" src="https://user-images.githubusercontent.com/6091746/207995843-0b371b83-fbf3-4a42-bef0-e019ddf14b99.png">

### Flows:
https://github.com/kevinGodell/node-red-mp4frag/tree/master/examples
npm package: @kevingodell/node-red-pipe2jpeg
Description: Parse a jpeg from a buffer and send it to a downstream node or serve it via http.
Author: Kevin Godell
Latest version: 0.1.1-beta.2

# @kevingodell/node-red-pipe2jpeg

######
[![Buy me a coffee](https://img.shields.io/badge/-buy%20me%20a%20coffee-red?logo=buy%20me%20a%20coffee&style=flat-square)](https://buymeacoffee.com/kevinGodell)
[![GitHub license](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://raw.githubusercontent.com/kevinGodell/node-red-pipe2jpeg/master/LICENSE)
[![npm](https://img.shields.io/npm/dt/@kevingodell/node-red-pipe2jpeg.svg?style=flat-square)](https://www.npmjs.com/package/@kevingodell/node-red-pipe2jpeg)
[![GitHub issues](https://img.shields.io/github/issues/kevinGodell/node-red-pipe2jpeg.svg?style=flat-square)](https://github.com/kevinGodell/node-red-pipe2jpeg/issues)

**A [Node-RED](https://nodered.org/) node used for parsing jpegs from [ffmpeg](https://ffmpeg.org/).**

* designed to live stream mjpeg video or static jpeg images via http
* video or images can be viewed in modern browsers by setting the `src` in an `img` tag

### Expectations:
* You should have working knowledge of ffmpeg on the command line.
* When using ffmpeg, set `-c mjpeg -f image2pipe`.
* If you have difficulties making it work, please open a new [discussion](https://discourse.nodered.org/) and tag me `@kevinGodell`.
* Do not send private messages asking for help because that will not benefit others with similar issues.

### Installation:
* go to the correct directory, usually ~/.node-red
```
cd ~/.node-red
```
* using npm
```
npm install @kevingodell/node-red-pipe2jpeg
```
* reboot the node-red server
```
node-red-stop && node-red-start
```

### Instructions:
* See the detailed help text in the sidebar.

### Screenshots:
<img width="500" alt="flow" src="https://user-images.githubusercontent.com/6091746/210290124-60aa11d6-40d6-4ea9-88e0-deda3177380c.png">
<img width="500" alt="properties" src="https://user-images.githubusercontent.com/6091746/210290159-d53fd0ad-64cb-4151-8d54-140b43f8342c.png">
<img width="500" alt="help" src="https://user-images.githubusercontent.com/6091746/210290168-696e38c2-7cb9-487b-8139-e73cb070544e.png">

### Flows:
https://github.com/kevinGodell/node-red-pipe2jpeg/tree/master/examples
npm package: @kevinhjj/sm.js
Description: SM series cryptography in javascript implementation
Author: Alver Lyu
Latest version: 0.0.2

# sm.js

SM series cryptography in javascript implementation.

SM2 signature and SM3 hash are implemented.

## install

`sm.js` is available in npm.

```sh
npm install sm.js
```

## Usage 

### SM2 key pair

Generate a key pair

```js
var sm2 = require('@kevinhjj/sm.js').sm2;

var key = sm2.genKeyPair();
```

The public key can be converted to a string or a byte array, for storing or
transmitting on network.

```js
var pubKeyString = key.pubToString();
var pubKeyBytes = key.pubToBytes('compress');
```

Note that there are 3 conversion modes: compress, nocompress and mex.
The default mode is nocompress.

To parse the public key string/array, simply use the key pair constructor

```
var key = new sm2.SM2KeyPair(pubKeyString);
```


### SM2 signature

The key pair can be used to sign message or verify the signature.

```js
var msg = 'abc';
var signature = key.sign(msg);

if (key.verify(msg, signature.r, signature.s)) {
	console.log('PASS');
}
```

Note that `key.pri` should not be null when signing, as well as `key.pub` for
verifying.

`sign` will combine the input message with extra infos(a constant ID, the curve
parameters and the public key), and use SM3 as the hash algorithm. While there
is a function pair `signRaw` and `verifyRaw` which do not use the extra infos.
Also there is a function pair `signDigest` and `verifyDigest` use the message
digest as the input, allowing for custom hashing.


### SM3 hash algorithm

The sm3 module is used to generate digest using SM3 hash algorithm.

```js
var sm3 = require('@kevinhjj/sm.js').sm3;

var msg = 'abc';
var hash = new sm3();
var digest = hash.sum(msg);
```