open-index/open-npm huggingface dataset:
npm package: @lemonmade/ucp-schema
Description: Tools for composing Universal Commerce Protocol (UCP) schemas
Latest version: 0.1.4

# `@lemonmade/ucp-schema`

Tools for composing Universal Commerce Protocol (UCP) schemas.

## Basic usage

```ts
import {UcpSchemaComposer} from '@lemonmade/ucp-schema';

const composer = await UcpSchemaComposer.fromProfile({
  ucp: {
    capabilities: [
      // ... more capabilities ...
    ],
  },
});

const checkoutFile = composer.get(
  'https://ucp.dev/schemas/shopping/checkout.json',
);
const checkoutReadSchema = checkoutFile.composedSchema();
const checkoutCreateSchema = checkoutFile.composedSchema({operation: 'create'});

// ... use the JSON schemas to validate and transform UCP requests
```
npm package: @lemonneko/crop-empty-pixels
Description: This package is **ONLY** for browsers
Author: LemonNeko
Latest version: 0.1.1

# Crop empty pixels
This package is **ONLY** for browsers

## Usage
```ts
import cropImg from '@lemonneko/crop-empty-pixels'

// load a image
const img = document.createElement('img')
img.src = '/path/to/an/image/to/crop/empty/pixels'
img.addEventListener('load', () => {
  // draw it on canvas once load
  const canvas = document.createElement('canvas')
  const canvasCtx = canvas.getContext('2d')!
  canvasCtx.drawImage(img)
  // pass the canvas to function then get new canvas
  const cropped = cropImg(canvas)
  // set cropped image data to origin
  img.src = cropped.toDataURL()
}, { once: true })
```
npm package: @lemonneko/currency-converter
Description: A simple api to convert source currency to target currency.
Author: lemon_neko
Latest version: 1.0.4

# @lemonneko/currency-converter
A simple api to convert source currency to target currency.

Exchange rate data is from: [prebid](https://github.com/prebid/currency-file)

## Simple use
### Node.js
install by npm
```
npm install @lemonneko/currency-converter
```
or yarn
```
yarn add @lemonneko/currency-converter
```
then, in your javascript file:

```js
import {converter} from "@lemonneko/currency-converter";

await converter.convert({
    to: "USD",
    from: "CNY",
    amont: "1.234"
}).then((ressult) => {
    // get the result
}).catch((err) => {
    // catch the error
})
```

## API Reference
### Functions
```
converter.convert(data: RequestData): Promise<ResultData>
```
### Interfaces
```js
interface ResultData {
    result: string;
    to: string;
    from: string;
    updated: string;
}
interface RequestData {
    amount: string;
    to: string;
    from: string;
}
```
### Errors may produce
This error will produce when currency is not support.

Error message like this:
```
Error: unsupported currency: 
```
This error will produce when the network slow or not connect.

Error message like this:
```
Error: connection timeout
```
#### Other error
Please make an issue.

## Build && Test
build
```
yarn run build
```
test
```
yarn run test
```
npm package: @lemonneko/gofmt.js
Description: A gofmt tool compiled by GopherJS
Latest version: 0.3.0

# gofmt.js
A gofmt tool compiled by GopherJS.

## Get started
Install by npm:
```shell
npm install @lemonneko/gofmt.js
```
If you use commonjs:
```javascript
const gofmt = require('@lemonneko/gofmt.js')

console.log(gofmt.format(`type Person struct { 
Name string \`json:"name"\`
Age int \`json:"age"\`
}`))
```
If you use esm:
```javascript
import gofmt from '@lemonneko/gofmt.js'

console.log(gofmt.format(`type Person struct { 
Name string \`json:"name"\`
Age int \`json:"age"\`
}`))
```
The result should be:
```javascript
[
  'type Person struct {\n' +
    '\tName string `json:"name"`\n' +
    '\tAge  int    `json:"age"`\n' +
    '}',
  ''
]
```
npm package: @lemonneko/unity-rich-text-converter
Description: npm pacpage with typescript to converter message between unity rich text and http rich text.
Author: hellis
Latest version: 0.1.8

# unity-richtext-converter

[![Build Status](https://travis-ci.org/AWaterColorPen/unity-rich-text-converter.svg?branch=master)](https://travis-ci.org/AWaterColorPen/unity-rich-text-converter)

> typescript library to converter message between unity rich text and html standard rich text.

## Usage

- install it

```shell
npm install unity-richtext-converter
# or
yarn add unity-richtext-converter
# or
pnpm add unity-richtext-converter
```

- usage

```typescript
import Converter from "unity-richtext-converter";

const converter = new Converter();

const unitytext = converter.html2unity(text);
const htmltext = converter.unity2html(text);
```

## Development

- install env, please make sure [node.js](https://nodejs.org) and [pnpm](https://pnpm.io) installed

```shell
pnpm install
```

- build

```shell
pnpm build
```

- test

```shell
pnpm test
```

## Unity Rich Text

(adapted from the [official documentation](https://docs.unity3d.com/Manual/StyledText.html))

## License

MIT © [awatercolorpen](https://github.com/awatercolorpen)
npm package: @lemonneko/vue-plugin-v-rap
Description: It just replace your element with a rap video if it has a attribute called: v-rap
Author: LemonNeko
Latest version: 0.1.3

# vue-plugin-v-rap
Why not check the [live demo](https://jsfiddle.net/LemonNekoFiddle/vs4mpq8e/7/) first?
## Usage
`main.ts`
```typescript
import { createApp } from 'vue'
import { pluginRap } from '@lemonneko/vue-plugin-v-rap'
import App from './App.vue'

createApp(App)
  .use(pluginRap, 'A link of a video about rap')
  .mount('#app')
```
`App.vue`
```
<template>
  <div v-rap>
    You can put anything here if you want.
  </div>
</template>
```
## ~~TODO LIST~~ ROAD MAP
Yes, I am serious, there are todo list of this project.
- [ ] Set value of `v-rap` to `false` to stop rap, back the elements to you.
- [ ] Set value of `v-rap` to `2024` to rap in VueConf China 2024.
- [ ] ~~Set value of `v-rap` to `2025` to rap in VueConf China 2025.~~
- [ ] ~~Set value of `v-rap` to `2026` to rap in VueConf China 2026.~~
npm package: @lemonpeel2/hooks
Description: hooks
Author: carroll118
Latest version: 1.0.0

# 介绍

   Lemonpeel2 一套高质量可靠的 Vue Hooks 库

## 特性

- 易学易用
- 对输入输出函数做了特殊处理，且避免闭包问题
- 包含大量提炼自业务的高级 Hooks
- 包含丰富的基础 Hooks
- 使用 TypeScript 构建，提供完整的类型定义文件

## 安装

```bash
$ npm install --save lemonpeel2/hooks
# or
$ yarn add lemonpeel2/hooks
# or
$ pnpm add lemonpeel2/hooks
```

## 使用

```ts
import { useService } from "@lemonpeel2/hooks";
```
npm package: @lemonslicenebula/gatsby-theme-vlog
Description: Create a vlog and with this simple and customizable Gatsby Theme.
Author: Kelly Lawrence
Latest version: 1.0.0

# Gatsby Theme Vlog

Create a vlog and with this simple and customizable Gatsby Theme.

It includes:
- MDX support
- a demo site (located in `demo/`) that installs the theme
- Option to style with Theme UI

## Usage


1.  Create a Gatsby site.
    ```gatsby new cool-new-vlog```
    
2.  Change directory to the folder you just created and install the theme
    ```cd cool-new-vlog```
    ```yarn add @lemonslicenebula/gatsby-theme-vlog```

3.  Add theme to your ```gatsby-config.js```
    ```js
    module.exports = {
    siteMetadata: {
        title: "My Countdown",
        author: "Rafael Quintanilha"
     },
    plugins: [
     `@lemonslicenebula/gatsby-theme-vlog`,
    ],
    }
    ```

4.  Adding pages
    Create an ```.mdx``` file in your ```/src/pages/``` directory.
    For example ```/src/pages/index.mdx to create the home page.

5.  Run ```yarn develop``` and go to http://localhost:8000
npm package: @lemonsqueezy/gridsome-lemonsqueezy
Description: Lemon Squeezy plugin for Gridsome
Latest version: 0.1.0

# @lemonsqueezy/gridsome-lemonsqueezy

> Lemon Squeezy plugin for Gridsome.

## Install

- `npm install @lemonsqueezy/gridsome-lemonsqueezy`
- `yarn add @lemonsqueezy/gridsome-lemonsqueezy`

## Usage

```js
module.exports = {
    plugins: [
        {
            use: '@lemonsqueezy/gridsome-lemonsqueezy',
            options: {
                apiKey: process.env.LSQ_API_KEY,
                storeId: process.env.LSQ_API_STORE_ID,
            }
        }
    ]
}
```

Create a `.env` file in the root of your Gridsome project and add `LSQ_API_KEY` and `LSQ_API_STORE_ID` variables.

### Options

#### apiKey

- Type: `string` *required*

Your Lemon Squeezy API key.

#### storeId

- Type: `string` *required*

The ID of your Lemon Squeezy store.

#### apiUrl

- Type: `string` *optional*
- Default: `'https://api.lemonsqueezy.com/v1/'`

The URL to the Lemon Squeezy API (useful for local testing).

#### insecure

- Type: `boolean` *optional*
- Default: `true`

If the HTTP client should verify SSL certificates (useful for local testing).