open-index/open-npm huggingface dataset:
npm package: @meetsnowmaker/sluggy-string-compactor
Description: Extracting useful chars from a string into compact chunk
Author: MeetSnowmaker
Latest version: 0.1.1

# @meetsnowmaker/sluggy-string-compactor

[![npm (scoped)](https://img.shields.io/npm/v/@meetsnowmaker/sluggy-string-compactor)](https://github.com/MeetSnowmaker/sluggy-string-compactor)
[![npm bundle size (scoped)](https://img.shields.io/bundlephobia/min/@meetsnowmaker/sluggy-string-compactor)](https://www.npmjs.com/package/@meetsnowmaker/sluggy-string-compactor)

Extracting useful chars from a string into compact chunk.

## Hello 0.1.x

The default export is not set in stone and further flavors are coming.

## Introduction

So there was this project where the end user could not ensure that the imported csv, or the search input in the application was properly used for searching of names, also the database was inconsistent so whatever. Here is a simple script that helped me generate deterministic ugly names that could be used with contains or starts_with comparisons. Main issues were incorrect Casing, beginning or trailing whitespaces, incorrect spacing between name parts etc.

Please note: this is definitely not an original idea, just my take on a solution.

## How to

Toss in anything the default version returns with a string. If the input is string it will parse it, else it will return '' for now. Strict version will come eventually.

```node
import { lenientTrimSlugRemove as ltsr } from '@meetsnowmaker/sluggy-string-compactor';

const personFullName =
  '  Dr. Emily "Am-ly" Patterson, 12nd Chief Medical Officer and Director of Research at Mercy General Hospital #2/23. ';

const uglySluggy = ltsr(personFullName);

console.log('uglySluggy', uglySluggy);
```

will yield

```
uglySluggy dremilyamlypatterson12ndchiefmedicalofficeranddirectorofresearchatmercygeneralhospital223
```

## Roadmap

Eventually I should implement proper type support and more variables of the base function.

Things I want to add in the future:

- strict versions
- typescript
- webpack for minifying
- some real life examples
- some real life test scenarios with BDD
- GitHub Actions for publishing
npm package: @meetsnowmaker/trycatcher
Description: Graceful failure handler for synchronous functions.
Author: MeetSnowmaker
Latest version: 0.1.0

# @meetsnowmaker/trycatcher

[![npm (scoped)](https://img.shields.io/npm/v/@meetsnowmaker/trycatcher)](https://github.com/MeetSnowmaker/trycatcher)
[![npm bundle size (scoped)](https://img.shields.io/bundlephobia/min/@meetsnowmaker/trycatcher)](https://www.npmjs.com/package/@meetsnowmaker/trycatcher)

Embrace failure in synchronous functions.

## Hello 0.1.x

The default export is set in stone but further flavors are coming.

## Introduction

Ever since I started learning about buzzwords like functional programming and asynchronous functions in node, the old way of trying and catching errors felt off. To avoid making every function asynchronous just to be able to properly return the desired outcome to the const I defined, I made a simple hacky attempt to get a predetermined response from the tryable function.

As I naturally progressed to urge for maximum immutability, it felt somewhat more convenient to define both outcomes with a single call. After a while I noticed this simple function had numerous copies in almost every project I worked on. I was thinking it might be a great opportunity to learn more about the npm packaging lifecycle, so here it is. My first dummy npm project. Bye `let` you might be missed.

Please note: this is definitely not an original idea, just my take on a solution.

## How to

The default version returns with an array where index 0 is always either `null` or the desired outcome, and index 1 is `null` or the caught `error`. When defining you can destruct the array and get properly named variables for the predetermined indexes. I prefer using arrow functions for the argument. You can express more complex, like multi-line or multi-step operations inside the curly braces, just dont forget to use a return on the end. See examples for more use cases. I might add useful ones eventually.

```node
import tryCatcher from '@meetsnowmaker/trycatcher';

const shouldWork = JSON.stringify(['asd', 'kek']);
const shouldFail = '["asd",kek]';

const [parsed, error] = tryCatcher(() => JSON.parse(shouldWork));

if (error) {
  throw error;
}

console.log('parsed', parsed);

const [maybeParsed, definitelyError] = tryCatcher(() => JSON.parse(shouldFail));

if (definitelyError) {
  throw definitelyError;
}

console.log('maybeParsed', maybeParsed);
```

will yield

```
parsed [ 'asd', 'kek' ]
C:\...\example.js:42
  throw definitelyError;
  ^

SyntaxError: Unexpected token k in JSON at position 7
    at JSON.parse (<anonymous>)
```

## Roadmap

Eventually I should implement proper type support and more variables of the base function.

Things I want to add in the future:

- typescript
- object like return with undefined instead of null, so one can inject default value when destructuring
- webpack for minifying
- some real life examples
- some real life test scenarios with BDD
- GitHub Actions for publishing
npm package: @meetsoma/core
Description: Soma core runtime — discovery, identity, protocols, muscles, heat tracking
Author: Gravicity
Latest version: 0.0.1

# @meetsoma/core

> Soma's core runtime — discovery, identity, protocols, muscles, heat tracking.

This package will contain the importable core modules for building Soma extensions and plugins.

**Not yet published.** See [meetsoma](https://www.npmjs.com/package/meetsoma) for the full agent.

## Links

- [Website](https://soma.gravicity.ai)
- [GitHub](https://github.com/meetsoma)
- [npm: meetsoma](https://www.npmjs.com/package/meetsoma)

## License

MIT — [Gravicity](https://gravicity.ai)
npm package: @meetup/fetch-request
Description: HTTP Request Helpers
Author: Meetup
Latest version: 1.0.9

[![Version](https://img.shields.io/npm/v/@meetup/fetch-request
)](https://www.npmjs.com/package/@meetup/fetch-request)


## fetch-request

`fetch-request` is a library that provides a simple way to perform HTTPS requests in your lambda.

### Wait, why another HTTP library? Doesn't this exist? 
This library comes with AWS XRay integration and tracing out of the box (our very own `lambda-xray` package!) and 
follows an `async/await` pattern that we've been using in all our lambdas. We found ourselves copy-pasting a lot 
of our code between repos, so we decided to centralize our best practice patterns.

### Install

```bash
npm install @meetup/fetch-request
```

### Use

```js
import httpsHelper from '@meetup/fetch-request';

const callMyApi = async (): Promise<string> => {
    const requestOpts = {
        host: 'fun-api.com',
        path: '/my-favorite-food?myname=juanbi',
        method: 'GET',
    };

    const response: string = await httpsHelper.fetchRequest<string>(requestOpts);
    return response;
};
```

You can also specify a payload and your own response/error handlers!
```js
import httpsHelper from '@meetup/fetch-request';

const httpResponseHandler = <T>(
    response: import('http').IncomingMessage,
    buffer: string,
    payload: string,
    resolve: (data: T) => void,
    reject: (error: RequestError) => void,
): void => {
    if (response.statusCode && response.statusCode === 200) {
        // Do something with this response!
        const parsedBuffer = JSON.parse(buffer);
        resolve(parsedBuffer);
    } else {
        // Do something else with error!
        console.error('Error!');
        reject({ message: 'Serious error..', error: "I'm not kidding", statusCode: 500 });
    }
};

const callMyApi = async (): Promise<string> => {
    const requestOpts = {
        host: 'fun-api.com',
        path: '/my-favorite-food?myname=juanbi',
        method: 'GET',
    };

    const response: string = await httpsHelper.fetchRequest(requestOpts, 'IMPORTANT-PAYLOAD', httpResponseHandler);
    return response;
};

```

### Note
We use the Node `https` library behind the scenes, so check their documentation out for information on what types of options and requests you can make: https://nodejs.org/api/https.html

### Enjoy!

Made with :heart: by Comms Tools squad
npm package: @meetup/gatsby-plugin-ux-capture
Description: This plugin integrates [UX Capture](https://github.com/meetup/ux-capture) UX metrics instrumentation library into Gatsby.
Author: Meetup
Latest version: 0.1.5

## Gatsby UX Capture plugin

This plugin integrates [UX Capture](https://github.com/meetup/ux-capture) UX metrics instrumentation library into Gatsby.

Add it to your `gatsby-config.js` file

```
module.exports = {
	plugins: [`@meetup/gatsby-plugin-ux-capture`]
};
```

and use UX Capture React bindings ([`@meetup\react-ux-capture`](https://github.com/meetup/ux-capture/tree/master/packages/react-ux-capture)) to instrument individual views and elements on the page.

See a [Gatsby UX Capture implementation example](https://github.com/meetup/ux-capture/tree/master/packages/gatsby-ux-capture-example).
npm package: @meetup/gatsby-ux-capture-example
Description: Example of using UX Capture within Gatsby sites
Author: Meetup
Latest version: 0.1.5

## Example Gatsby site with UX Capture integration

This pakcage demonstrates how a Gatsby site can implement UX metrics instrumentation using [UX Capture library](https://github.com/meetup/ux-capture).

It uses a Gatsby UX Capture plugin ([`@meetup\gatsby-plugin-ux-capture`](https://github.com/meetup/ux-capture/tree/master/packages/gatsby-plugin-ux-capture)) to set up integration (injects core UX Capture library into head tag and initializes it) and UX Capture React bindings ([`@meetup\react-ux-capture`](https://github.com/meetup/ux-capture/tree/master/packages/react-ux-capture)) to instrument individual views and elements on the page.
npm package: @meetup/generator-meetup-npm
Description: Yeoman generator for npm packages
Author: Matt Kime
Latest version: 0.0.15

# generator-meetup-npm [![npm version](https://badge.fury.io/js/%40meetup%2Fgenerator-meetup-npm.svg)](https://badge.fury.io/js/%40meetup%2Fgenerator-meetup-npm.svg) [![Build Status](https://travis-ci.org/meetup/generator-meetup-npm.svg?branch=master)](https://travis-ci.org/meetup/generator-meetup-npm)
> Yeoman generator for npm packages

## Installation

First, install [Yeoman](http://yeoman.io) and generator-meetup-npm using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)).

```bash
npm install -g yo
npm install -g @meetup/generator-meetup-npm
```

Then generate your new project:

```bash
yo meetup-npm
```

## This script has some rough edges

 * It will fail if there's existing `github_deploy_key` `github_deploy_key.pub` `.travis` files / directorties
 * It will copy the deployment keys for you. You need to add them to the github repo settings go to https://github.com/(your_repo)/settings/keys and make sure "Allow write access" is checked
 * You need to `.gitignore` `github_deploy_key` or you will deploy it with your npm module, making it public.
 * You need to edit the `.travis.yml` to include the key id's.

## License

MIT © [Matt Kime]()


[npm-image]: https://badge.fury.io/js/generator-meetup-npm.svg
[npm-url]: https://npmjs.org/package/generator-meetup-npm
[travis-image]: https://travis-ci.org/mattkime/generator-meetup-npm.svg?branch=master
[travis-url]: https://travis-ci.org/mattkime/generator-meetup-npm
[daviddm-image]: https://david-dm.org/mattkime/generator-meetup-npm.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/mattkime/generator-meetup-npm
npm package: @meetup/lambda-xray
Description: AWS X-Ray Utilities
Author: Meetup
Latest version: 1.1.4

[![Version](https://img.shields.io/npm/v/@meetup/lambda-xray?label=npm%20version)](https://www.npmjs.com/package/@meetup/lambda-xray)

## lambda-xray

`lambda-xray` is a library that provides a wrapper around `aws-xray-sdk-core` extending it with additional methods.
The goal is to use `lambda-xray` in place of the original `aws-xray-sdk-core`.

### Install

```bash
npm install @meetup/lambda-xray
```

### Use

```js
import { fetch, Response } from 'node-fetch';
import XRay from '@meetup/lambda-xray';

// Does everything(*) that 'aws-xray-sdk-core' can
const tracedHttps = XRay.captureHTTPs(require('https'));
tracedHttps.get('https://www.meetup.com');

// ...and something that 'aws-xray-sdk-core' can't
const tracedFetch = XRay.captureAsync('Fetch www.meetup.com', (): Promise<Response> => fetch('www.meetup.com'));
await tracedFetch();
```

\* `lambda-xray` provides all main tracing methods of `aws-xray-sdk-core`. If you didn't find the method you need
(but it exists in `aws-xray-sdk-core`), feel free to extend `aws-xray-sdk-core` [type definitions](@types/aws-xray-sdk-core/index.d.ts).

### Enjoy!

Made with :heart: by Member Payments team, and published by Comms Tools :heart:
npm package: @meetup/memberpay-xray
Description: AWS X-Ray Utilities
Author: Meetup
Latest version: 1.0.7

## memberpay-xray

`memberpay-xray` is a library that provides a wrapper around `aws-xray-sdk-core` extending it with additional methods.
The goal is to use `memberpay-xray` in place of the original `aws-xray-sdk-core`.

### Install

```bash
npm install @meetup/memberpay-xray
```

### Use

```ecmascript 6
import { fetch, Response } from 'node-fetch';
import XRay from '@meetup/memberpay-xray';

// Does everything(*) that 'aws-xray-sdk-core' can
const tracedHttps = XRay.captureHTTPs(require('https'));
tracedHttps.get('https://www.meetup.com');

// ...and something that 'aws-xray-sdk-core' can't
const tracedFetch = XRay.captureAsync(
  'Fetch www.meetup.com', 
  (): Promise<Response> => fetch('www.meetup.com')
);
await tracedFetch();
```
\* `memberpay-xray` provides all main tracing methods of `aws-xray-sdk-core`. If you didn't find the method you need 
(but it exists in `aws-xray-sdk-core`), feel free to extend `aws-xray-sdk-core` [type definitions](@types/aws-xray-sdk-core/index.d.ts).

### Enjoy!

Made with :heart: by Member Payments team
npm package: @meetup/react-ux-capture-example
Description: This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Author: Meetup
Latest version: 1.2.5

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `yarn start`

Runs the app in the development mode.<br>
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.<br>
You will also see any lint errors in the console.

### `yarn watch`

Launches the test runner in the interactive watch mode.<br>
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).
npm package: @meetuplol/nestjs-swagger-dto
Description: Nestjs swagger dto decorators
Author: glebbash
Latest version: 0.1.0

# nestjs-swagger-dto

[![Deploy](https://github.com/glebbash/nestjs-swagger-dto/workflows/build/badge.svg)](https://github.com/glebbash/nestjs-swagger-dto/actions)
[![Coverage Status](https://coveralls.io/repos/github/glebbash/nestjs-swagger-dto/badge.svg?branch=master)](https://coveralls.io/github/glebbash/nestjs-swagger-dto?branch=master)

## Nest.js Swagger DTO decorators

This library combines common `@nestjs/swagger`, `class-transformer` and `class-validator` decorators that are used together into one decorator for full Nest.js DTO lifecycle including OpenAPI schema descriptions.

## Installation

```sh
npm i nestjs-swagger-dto
```

## Contents

This library contains the following decorators

| Name       | Description                   |
| ---------- | ----------------------------- |
| IsBoolean  | boolean                       |
| IsConstant | constant                      |
| IsDate     | date / date-time              |
| IsEnum     | enum object / array of values |
| IsNested   | nested DTO                    |
| IsNumber   | numbers                       |
| IsObject   | typed plain js objects        |
| IsString   | strings                       |

All of the decorators support the following parameters:

| Name        | Description                                                 |
| ----------- | ----------------------------------------------------------- |
| description | adds description                                            |
| deprecated  | deprecates a field                                          |
| example     | adds example                                                |
| name        | sets the name for serialized property                       |
| optional    | makes property optional                                     |
| nullable    | makes property nullable                                     |
| isArray     | changes the type of property to array of items of this type |

Also decorators have additional parameters like: `min`, `max` for `IsNumber`.

### Headers validation

You can also validate request headers using `TypedHeaders` decorator.

```ts
export class TestHeaders {
  @IsString({
    // Note: header names will be lowercased automatically
    name: 'country-code',
    maxLength: 2,
    minLength: 2,
    example: 'US',
  })
  countryCode!: string;

  @IsString({
    isDate: { format: 'date-time' },
    name: 'timestamp',
  })
  timestamp!: string;
}

@Controller({ path: 'test', version: '1' })
export class TestController {
  @Get()
  async test(@TypedHeaders() headers: TestHeaders): Promise<string> {
    return headers.countryCode;
  }
}
```

## Other

Bootstrapped with: [create-ts-lib-gh](https://github.com/glebbash/create-ts-lib-gh)

This project is [Mit Licensed](LICENSE).
npm package: @meeui/adk
Description: This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.
Latest version: 0.3.4

# Adk

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.0.0.

## Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

```bash
ng generate component component-name
```

For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:

```bash
ng generate --help
```

## Building

To build the library, run:

```bash
ng build adk
```

This command will compile your project, and the build artifacts will be placed in the `dist/` directory.

### Publishing the Library

Once the project is built, you can publish your library by following these steps:

1. Navigate to the `dist` directory:
   ```bash
   cd dist/adk
   ```

2. Run the `npm publish` command to publish your library to the npm registry:
   ```bash
   npm publish
   ```

## Running unit tests

To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:

```bash
ng test
```

## Running end-to-end tests

For end-to-end (e2e) testing, run:

```bash
ng e2e
```

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

## Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
npm package: @meeui/ui
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.0.0-next.0.
Latest version: 0.1.7

# Mee

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.0.0-next.0.

## Code scaffolding

Run `ng generate component component-name --project mee` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project mee`.

> Note: Don't forget to add `--project mee` or else it will be added to the default project in your `angular.json` file.

## Build

Run `ng build mee` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

After building your library with `ng build mee`, go to the dist folder `cd dist/mee` and run `npm publish`.

## Running unit tests

Run `ng test mee` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
npm package: @meevilabs/react-native-elements
Description: Meevi's RN Elements Library
Author: Michael Amaral
Latest version: 0.1.7

# Welcome to @meevilabs/react-native-elements

[![Build Status][check-badge]][workflows]
[![npm][npm-badge]][npm]
[![react-native][rn-badge]][rn]
![react-native][deps-badge]
[![MIT][license-badge]][license]

[deps-badge]: https://david-dm.org/meevilabs/react-native-elements.svg
[npm-badge]: https://img.shields.io/npm/v/@meevilabs/react-native-elements.svg
[npm]: https://www.npmjs.com/package/@meevilabs/react-native-elements
[rn]: https://facebook.github.io/react-native
[rn-badge]: https://img.shields.io/badge/react--native-v0.61-05A5D1.svg
[license-badge]: https://img.shields.io/dub/l/vibe-d.svg
[license]: https://raw.githubusercontent.com/meevilabs/react-native-element/master/LICENSE.md
[workflows]: https://github.com/meevilabs/react-native-elements/actions
[check-badge]: https://github.com/meevilabs/react-native-elements/workflows/check/badge.svg

Welcome to the Meevi React Native Elements package. Here you will find out all of our UI (or not so UI) components used between most of our projects. They are very opinionated, suited to our workflow, but they can be very useful in most projects as well.

# Whats the idea of this repository

Its a place that we can share a little bit of our code base and show how we work on our projects with our components!

# How can i use the library?

Right now it's under early development stage, so hope it won't be a walk in the park.

Here's how you add our dependencie to your project @meevilabs/react-native-elements

1. Depend on it:

```
yarn add @meevilabs/react-native-elements
```

2. Import:

```
import { Button } from '@meevilabs/react-native-elements'
```
npm package: @meewmeew/tsconfig
Description: Shared TypeScript config for my projects
Author: MeewMeew
Latest version: 1.0.1

# tsconfig

> Shared [TypeScript config](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) for my projects

## Install

```sh
npm install --save-dev @meewmeew/tsconfig
```


```sh
yarn add --dev @meewmeew/tsconfig
```

*This config requires TypeScript 4.7 or later.*

## Usage

`tsconfig.json`

```json
{
	"extends": "@meewmeew/tsconfig",
	"compilerOptions": {
		"outDir": "build"
	}
}
```

When you are targeting a higher version of Node.js, check the relevant ECMAScript version and add it as `target`:

```json
{
	"extends": "@meewmeew/tsconfig",
	"compilerOptions": {
		"outDir": "build",
		"target": "ES2023"
	}
}
```
npm package: @meey-sdk-js/client
Description: Javascript client for Meey Framework
Author: Wesoha
Latest version: 0.3.10

# @meey-sdk-js/client

- [Documentation](https://meey-sdk-js.readthedocs.io/)
- [Changelog](./CHANGELOG.md)

This package includes the API client and common classes and utils.

This package supports both Node.js and Web platforms. Please refer to the documentation how to select the platform.

## Quick start

```console
npm install @meey-sdk-js/client
```

You can import the module both as CommonJS (require) and ES module (import).

```javascript
import MeeyClient from '@meey-sdk-js/client';
let meey = new MeeyClient();
meey.blockchain().then(result => {
    console.log('Current state', result);
});
```

Note that this by default imports the Node.js version which is not compatible with browsers. If you target web browsers, either `import MeeyClient from '@meey-sdk-js/client/dist/meey-sdk-js.js';` or create an alias in your bundler configuration. Many bundlers like Webpack automatically pick the browser version, so you don't need to configure anything.

You can also directly import the pre-built bundle in HTML using `<script src="meey-sdk-js/dist/meey-sdk-js.min.js"></script>` and use the global `meey-sdk-js` variable.

## Contribute

### Setup

Clone this repository and run

```console
npm install
```

### Scripts

Run tests (requires a local meeysvr node running in `--testmode`, listening on port `7845`).

```console
npm run test
```

Regenerate GRPC type definitions

```console
npm run grpc
```

Development build with auto-update

```console
npm run dev
```

Build all targets for distribution

```console
npm run build
```
npm package: @meey-sdk-js/crypto
Description: Cryptography tools for Meey Platform
Author: Wesoha
Latest version: 0.3.10

# Multi-purpose javascript crypto library for meey

[![npm](https://img.shields.io/npm/v/@meey-sdk-js/crypto.svg)](https://www.npmjs.com/package/@meey-sdk-js/crypto) [![readthedocs](https://readthedocs.org/projects/meey-sdk-js/badge/)](https://meey-sdk-js.readthedocs.io/)

- [Documentation](https://meey-sdk-js.readthedocs.io/)

It is used by Meey dApps to manage keys and sign transactions offline.

Features:

- Key generation and importing
- Hashing
- Signing
- Simple AES-GCM encryption


## How to use

```shell
npm install --save @meey-sdk-js/crypto
```

### Transaction signing

```js
import { createIdentity, signTransaction, hashTransaction } from '@meey-sdk-js/crypto';

async () => {
    const identity = createIdentity();
    const tx = {
        nonce: 1,
        from: identity.address,
        to: identity.address,
        amount: '100 aer',
        payload: '',
    };
    tx.sign = await signTransaction(tx, identity.keyPair);
    tx.hash = await hashTransaction(tx);
    console.log(JSON.stringify(tx));
}()
```

### Arbitrary message signing

```js
import { createIdentity, signMessage, verifySignature, publicKeyFromAddress } from '@meey-sdk-js/crypto';

async () => {
    const identity = createIdentity();
    const msg = Buffer.from('hello');
    const signature = await signMessage(msg, identity.keyPair);
    const pubkey = publicKeyFromAddress(identity.address);
    const check = await verifySignature(msg, pubkey, signature);
    console.log(check);
}()
```
npm package: @meey-sdk-js/meey-ledger-app
Description: Meey Ledger App
Author: Wesoha
Latest version: 0.3.6

#Meey Ledger App JavaScript bindings

[![npm](https://img.shields.io/npm/v/@meey-sdk-js/meey-ledger-app.svg)](https://www.npmjs.com/package/@meey-sdk-js/meey-ledger-app)

## How to use

```shell
npm install --save @meey-sdk-js/meey-pedger-app
```

### Getting address and signing transaction

```js
import MeeyLedgerApp from '@meey-sdk-js/meey-ledger-app';
// Pick a transport. See https://github.com/LedgerHQ/ledgerjs
import Transport from '@ledgerhq/hw-transport-node-hid';
import MeeyClient, { Tx } from '@meey-sdk-js/client';

async () => {
    const meey = new MeeyClient();
    const transport = await Transport.create(3000, 1500);
    const app = new MeeyLedgerApp(transport);
    const path = "m/44'/441'/0'/0/" + i;
    const address = await app.getWalletAddress(path);
    const tx = {
        from: address,
        to: address,
        chainIdHash: await meey.getChainIdHash(),
        type: Tx.Type.TRANSFER,
        nonce: await meey.getNonce(address) + 1,
        limit: 100000,
        nonce: 1,
    };
    const result = await app.signTransaction(tx); // { hash, signature }
    tx.sign = result.signature;
    tx.hash = await hashTransaction(tx, 'bytes');
    const txHash = await meey.sendSignedTransaction(tx);
    const txReceipt = await meey.waitForTransactionReceipt(txHash); // { status: 'SUCCESS', blockno: number, ... }
}()
```
npm package: @meey-sdk-js/wallet
Description: SDK for making Meey Wallet applications
Author: Wesoha
Latest version: 0.3.10

# Meey Wallet SDK

- [Documentation](https://meey-wallet.readthedocs.io/)

This package includes everything you need to build a wallet application on Meey Platform.
It is useful for other kinds of dapps, too.

Features:

- Manage keys
- Easy to use interface for sending transactions
- Track accounts for new transactions (using a full node or other external APIs)
- Sign and verify
- Integrates with storages (supported out of the box: IndexedDB (for browsers), LevelDB (for Node.js), and in-memory storage)

In contrary to @meey-sdk-js/client, which includes just the API client and useful classes and helpers,
@meey-sdk-js/wallet includes managers that can keep, coordinate, and optionally persist state.

**Work in progress, please check back later for release**

## Getting started

Work in progress

## Development

Based on https://github.com/graup/rollup-typescript-babel

### Building the repo

```shell
npm run build
```

### Building only types

```shell
npm run build:types
```

### Type-Checking the repo

```shell
npm run type-check
```

And to run in --watch mode:

```shell
npm run type-check:watch
```
npm package: @meeza/framework
Description: High-performance TypeScript framework for Discord bot development
Author: anasmohamed.dev
Latest version: 1.0.4

# Meza Framework

[![npm version](https://badge.fury.io/js/@meeza/framework.svg)](https://badge.fury.io/js/@meeza/framework)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Description

Meza Framework is a robust and flexible JavaScript/TypeScript framework designed for building scalable applications.

## Installation

```bash
npm install @meeza/framework
```

## Quick Start

- CommonJs

```javascript
const { greet } = require('@meeza/framework');
greet("Hello World!") //Hello World!
```

- ESM

```javascript
import { greet } from '@meeza/framework';
greet("Hello World!") //Hello World!
```

- Typescript

```typescript
import { greet } from '@meeza/framework';
greet("Hello World!") //Hello World!
```

## Features

- Easy to use
- Speed
- cooldown in commands
- locale system and more...

<!-- ## Documentation -->
<!--  -->
<!-- For detailed documentation, please visit [docs link]. -->


## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Support

For support, please [Discord Server Link](https://discord.gg/GCPTzNZnhJ) on Discord Or [Discord Profile](https://discord.com/invite/555873880384995329)
npm package: @mefaba/react-scroll-slide
Description: React Slider on Scroll Event
Author: mefaba
Latest version: 0.5.4


<h1 align="center">
	<a href="https://www.npmjs.com/package/@mefaba/react-scroll-slide">React Scroll Slide</a>
</h1>

1️⃣ **Install** by running: `npm install @mefaba/react-scroll-slide`

```js
import "./App.css";
import { ReactScrollSlide } from "@mefaba/react-scroll-slide";

function App() {
  return (
    <div className="App">
      <ReactScrollSlide>
        <div>PAGE 1</div>
        <div>PAGE 2</div>
        <div>PAGE 3</div>
        <div>PAGE 4</div>
      </ReactScrollSlide>
    </div>
  );
}

export default App;

```
npm package: @meface/mf-bridge
Description: Bridge for meface mini apps via window.parent.postMessage
Latest version: 0.1.1

# `@meface/mf-bridge`

Lightweight SDK for meface mini apps running inside an iframe/WebView.

## Install

```bash
npm install @meface/mf-bridge
```

## Usage

```ts
import { init, getUserInfo, getTheme, showWallPostBox } from '@meface/mf-bridge'

init()

const user = await getUserInfo()
const theme = getTheme()

await showWallPostBox({ message: `Привет, ${user.first_name}!` })
```

## API

- `init()`
- `subscribe(listener)`
- `unsubscribe(listener)`
- `send(method, params?)`
- `getUserInfo()`
- `closeApp()`
- `shareAchievement({ text, url? })`
- `showSiteNotification({ title?, body?, url? })`
- `sendNotification({ title?, body?, url? })`
- `getTheme()`
- `storageSet(key, value)`
- `storageGet(keys)`
- `storageGetKeys()`
- `storageDelete(key)`
- `addToFavorites()`
- `removeFromFavorites()`
- `allowNotifications()`
- `denyNotifications()`
- `getFollowers({ limit?, offset? })`
- `getFollowings({ limit?, offset? })`
- `showWallPostBox({ message? })`

## Transport

The SDK uses `window.parent.postMessage` with:

- outbound: `{ type: "mf-bridge", method, params, request_id }`
- inbound response: `{ type: "mf-bridge", event: "response", request_id, result, error }`
- inbound theme update: `{ type: "mf-bridge", event: "themeChanged", data: { theme } }`

## Release checks

```bash
npm run lint
npm run test
npm run build
npm pack --dry-run
```
npm package: @mefedev/payjs-node-sdk
Description: A node.js implementation of the Payjs SDK
Author: mefedev
Latest version: 0.0.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# PayJS SDK 的 nodejs 版本

[![typescript](https://badgen.net/badge/lang/typescript)](https://www.typescriptlang.org)
![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=square)

使用 typescript 编写，用于对接 [PayJS](https://payjs.cn/) 的非官方 sdk.

## 安装

```bash
$ npm install @mefedev/payjs-node-sdk --save
```

## 演示（ 仅支持微信 ）

<img src="./screenshots/qrcode.png" width="280">

[演示地址](http://zhengxs.cn/pay/demo)请在微信浏览器打开

**屏幕截图**

<img src="./screenshots/step1.jpg" width="280">

<img src="./screenshots/step2.jpg" width="280">

## 使用

**支付**

```javascript
import PayJS from '@mefedev/payjs-node-sdk'

const sdk = PayJS({
  key: 'PayJS 通信密钥',
  mchId: 'PayJS 商户号'
})

// 获取支付二维码
const result = await sdk.payment.native({
  total_fee: 100,
  out_trade_no: '内部系统订单'
})

// 付款码支付
const result = await sdk.payment.microPay({
  total_fee: 100,
  out_trade_no: '内部系统订单'
})

// JS API 支付
const result = await sdk.payment.jsPay({
  total_fee: 100,
  out_trade_no: '内部系统订单',
  openid: '微信 openid'
})

// 获取收银台地址
const redirectUri = sdk.payment.getCashierUri({
  total_fee: 100,
  out_trade_no: '内部系统订单'
})
```

**订单接口**

```javascript
import PayJS from '@mefedev/payjs-node-sdk'

const sdk = PayJS({
  key: 'PayJS 通信密钥',
  mchId: 'PayJS 商户号'
})

// 查询订单
const order = await sdk.order.query('payjs_order_id')

// 撤销订单
const result = await sdk.order.reverse('payjs_order_id')

// 关闭订单
const result = await sdk.order.close('payjs_order_id')

// 主动退款
const result = await sdk.order.refund('payjs_order_id')
```

**其他 API**

```javascript
import PayJS from '@mefedev/payjs-node-sdk'

const sdk = PayJS({
  key: 'PayJS 通信密钥',
  mchId: 'PayJS 商户号'
})

// 生成微信授权地址
// 注意: 这会同步方法
const authUri = sdk.wechat.getAuthUri('http://example.com')

// 获取商户数据
const merchant = await sdk.merchant.getInfo()
```

## 本地开发

你需要安装 [node.js][node.js] 的版本为 `nodejs >= 8.0`。

克隆此仓库后运行:

```shell
# 推荐使用 yarn 或 cnpm 来管理依赖
$ npm install

# 监听文件变化
$ npm run watch

# 生成 API 文档.
$ npm run doc
```

在 `package.json` 文件的 `scripts` 部分还有一些其他脚本可用.

## 版本发布

```bash
# 更新版本号，内置代码检查
$ npm version <new_version|major|minor|patch>
```

可使用 `npm version --help` 查看帮助信息

## 升级日志

[ChangeLog](./CHANGELOG.md).

[node.js]: https://nodejs.org/
[TypeScript]: https://www.typescriptlang.org/
npm package: @mefengl/chatkit
Description: A toolkit provide useful functions for chatbot development.
Author: mefengl
Latest version: 0.1.5
Deprecated: This package has been renamed to 'chatkit'. Please, use that one.

# chat-kit

it will include `chat-element`, `chat-status`, `chat-utils`, `chat-action`, and more

it's not started with `chatgpt` prefix, cause it's not only for chatgpt

> may also add another layer for https://platform.openai.com/docs/plugins/introduction , called chat-plugin

## Usage

the best way to use these packages is to use [chat-start](https://github.com/mefengl/chat-start).

you can also install it via npm(or any other package manager):

```shell
npm i @mefengl/chatkit
```

Oh, document? We need a document. But I haven't written it yet.

## QA

<details>
  <summary>Trivial matters</summary>

    Q: Why this repo been made?

    A: cause I have been kicked out of the repo I used to contribute to

    details: https://github.com/chatgptjs/chatgpt.js/issues/34

    Q: then what's the difference between this repo and the old one?

    A: This repo don't need to make money, I do it for fun and honor.

    Q: then what's the difference between this repo and the old one, again?

    A: It will start with only the code I write myself (even though I can still use the old code as a reference legally)

    Q: then what's the difference between this repo and the old one, again?

    A: Most importantly, any contributor won't been suddenly kicked out and been called thief after a nice sleep (sorry, I have to mention this when comparing to the old repo)

    Q: then what's the difference between this repo and the old one, again?

    A: use this repo is safe, since the maker don't have lawyer link in his LinkedIn profile, and don't have money to sue you (sounds funny, does't it? it's happened in the old repo)
</details>
npm package: @mefengl/monkit
Description: A toolkit provide useful functions for tampermonkey scripts development.
Author: mefengl
Latest version: 0.1.0

# monkit

A toolkit provide useful functions for tampermonkey scripts development.

## MenuManger

```js
import { MenuManager } from '@mefengl/monkit';

const defaultMenu = {
  "chat_language": getLocalLanguage() || "Chinese",
};
const menuManager = new MenuManager(defaultMenu);
const chatLanguage = menuManager.getMenuValue("chat_language");
```
npm package: @mefidev/mediahub
Description: Mefi media package
Author: aaron.nguyen.1205tb@gmail.com
Latest version: 1.2.4

# Mefihub Package

#### How to use it?

```jsx
import MefiPackage from 'mefihub-package'

function App() {
  return (
    <MefiPackage
      type={['video', 'image']}
      onExportData={data => console.log(data)}
      getToken={yourFunctionToGetToken}
      onLogout={yourFunctionToListenLogoutEvent}
    />
  )
}
```

- `type`: The modal package types that you want to use.
- `onExportData`: The data will returned when the Export button clicked.
- `getToken`: The function (async function) will call immediately, the response should be.

  ```json
  {
    "token": "string",
    "expiresAt": "string",
    "refreshToken": "string",
    "refreshTokenExpiresAt": "string"
  }
  ```

- `onLogout`: The function will call immediately after logout`.

  How to trigger logout?

  ```jsx
  import { useLogout } from 'mefihub-package'

  function App() {
    const logout = useLogout()

    return (
      <MefiPackage
        type={['video', 'image']}
        onExportData={data => console.log(data)}
        getToken={yourFunctionToGetToken}
        onLogout={yourFunctionToListenLogoutEvent}
      />
    )
  }
  ```

### Use as CDN

Example:

```html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Media Package</title>
    <link rel="stylesheet" href="./build/dist/index.min.css" />
  </head>
  <body>
    <div style="padding: 2rem">
      <div style="display: flex; justify-content: center; align-items: center; flex-direction: column">
        <div id="mefi-media-package"></div>
        <button
          style="margin-top: 30px; background-color: #ccc; padding: 10px; border-radius: 10px"
          onclick="MFPackage.logout()"
          >logout</button
        >
      </div>
    </div>

    <script src="./build/dist/index.min.js"></script>
    <script>
      const handleTokenCallback = async () => {
        // your func here
      }

      const MFPackage = new $MMedia.Init({ type: ['video', 'image'] })

      MFPackage.render('#mefi-media-package', {
        onSubmit: function (data) {
          console.log('data', data)
        },
        getToken: handleTokenCallback,
        onLogout: () => console.log('logout called'),
      })
    </script>
  </body>
</html>
```