open-index/open-npm huggingface dataset:
npm package: @perftools/purgecss
Description: Chrome Dev Tools Coverage JSON Css Purger. Parses json and purge css files with used classes.
Author: Ertuğrul TAŞ
Latest version: 1.0.1

# purgecss
Chrome Dev Tools Coverage JSON Css Purger. Parses json and purge css files with used classes.

#usage

npm install -g @perftools/purge-css

purge-css coverage.json
 
You can export coverage.json by using Chrome Dev Tools coverage utility.

The results will be in output folder.
npm package: @perfylee/crypto
Description: encryption module used in project
Author: perfylee
Latest version: 0.1.1

# 加解密工具
对常用加解密方法的二次封装，方便在项目中使用

## 安装

```
//npm
npm install @perfylee/crypto
//yarn
yarn add @perfylee/crypto
```


## 使用


### MD5
MD5加密，返回结果小写
```typescript
import {md5} from '@perfylee/crypto'
const encrypted = md5('input')
```

### TripleDES
TripleDES加解密，密钥为长度24的字符串的base64编码，加密返回结果小写
```typescript
import {tripleDES} from '@perfylee/crypto'
const encrypted = tripleDES.encrypt('input','密钥')
const decrypted = tripleDES.decrypt(encrypted,'密钥')
```


## Base64
Base64编码和解码
```typescript
import {base64} from '@perfylee/crypto'
const output = base64.parse('input')
const input = base64.stringify(output)
```
npm package: @perfylee/dva-model
Description: dva model create tool
Author: perfylee
Latest version: 0.1.1

# dva-model创建工具
- 用于创建dva model
- Action类型支持

## 安装
```bash
//npm
npm install @perfylee/dva-model

//yarn
yarn add @perfylee/dva-model
```

## 使用

### 在umi中使用时的注意事项

- 跳过model验证，避免动态创建的model无法自动加载
`.umirc.ts`
```typescript
{
    //...
    dva: {
        skipModelValidate: true,
    }
}
```
- 关闭model中的action名称包含命名空间时的警告`app.tsx`

```typescript
export const dva = {
    config: {
        namespacePrefixWarning: false,
    }
}
```


### model.ts
创建model

```typescript
import { createModel, actionCreatorFactory } from '@perfylee/dva-model'

interface User {
    id:string
    name:string
}

interface State{
    users:User[]
}

export const namespace = 'user'

const actionCreator = actionCreatorFactory(namespace)
//actions
const set = actionCreator<Partial<State>>('set')
const query = actionCreator('query')
const add = actionCreator<User>('add')

const initState:State = {
    users:[]
}

const model = createModel(namespace,initState)
    .reducer(set, (state, { payload }) => ({
        ...state,
        ...payload,
    }))
     .effect(query, function* ({ }, { put }) {
        //远程方法获取users
        const users = yield Service.GetAll()
        yield put(set({users}))
    })
    .effect(add, function* ({ payload }, { put }) {
        //远程方法添加user
        const result = yield Service.Add(payload)
        if(result === success){
            yield put(query())
        }
    })

export {User}

export const actions = {set,query,add}

export const selector = model.selector

export default model

```


### page.tsx
在页面中使用
```tsx
import {useEffect} from 'react'
import {useSelector,useDispatch} from 'umi'
import {actions,selector,User} from './model'


function pageIndex(){
    //State & Loading
    const dispatch = useDispatch()
    const {users,loading} = useSelector(selector)
    const {query,add} = actions

    function onSave(user:User){
        dispatch(add(user))
    }

    function onQuery(){
        dispatch(query())
    }

    useEffect(()=>{
        onQuery()
    },[])

    return (
        <>
            <!--表单-->
            <>
                 <!--form:Form<User>-->
                 <Button 
                    loading={loading[add.type]} 
                    onClick={onSave(form.values)}
                >
                    保存
                </Button>
            </>
            
            <!--列表-->
            <>
                <Button 
                    loading={loading[query.type]} 
                    onClick={onQuery}
                >
                    查询
                </Button>
                {uses.map(user=> <div key={user.id}>{user.name}<div/>)}
            </>
        </>
    )
}

export default pageIndex

```
npm package: @peri-finance/peri-finance
Description: The smart contracts which make up the Peri Finance system. (pynths.com)
Author: perifinance
Latest version: 0.0.1

# Peri Finance

[![Discord](https://img.shields.io/discord/818411536900030486.svg?color=768AD4&label=discord&logo=https%3A%2F%2Fdiscordapp.com%2Fassets%2F8c9701b98ad4372b58f13fd9f65f966e.svg)](https://discord.com/channels/818411536900030486/)
[![Twitter Follow](https://img.shields.io/twitter/follow/PERIFinance.svg?label=PERIfinance&style=social)](https://twitter.com/PERIfinance)

PERI Finance is a crpyto-backed synthetic asset platform forking from Synthetix.

It is powered by USDC Stablecoin and PERI, the Peri Protocol Token. PERI and USDC holders can stake them into PERI Liquidity Pool to issue Pynth called pUSD.

# Test

[![CircleCI](https://circleci.com/gh/perifinance/peri-finance.svg?style=svg)](https://circleci.com/gh/perifinance/peri-finance)

## Upcoming

### PERI Exchange

Users will be able to converting one Pynth to another without worrying about how deep the liquidity nor slippage. Users will also be able to be benefited by taking short or long positions of Pynths with 20x leverage.  
Prices will be committed on chain by a trusted oracle. Moving to a decentralised oracle will be phased in with the first phase completed for all forex prices using [Chainlink](https://feeds.chain.link/).

### PERI DAO

PERI tokens are also used for governance. We have created a PIP (PERI Improvement Proposals) system to collect community opinions.

### Pynths NFTs

Artists and investors are both greatly rewarded and monetized by minting Peri token.

---

PERI Finance will be a decentralized cross-chain synthetic issuance and derivative exchange protocol that provides unlimited liquidity on Polkadot network. It gives the opportunity to accessing a wide range of traditional financial and crypto assets in the forms of both leveraged and unleveraged synthetic products without high GAS fee, slow transaction speed and vulnerability to front-running or flash loan.

For further information see our latest [whitepaper](<http://test.peri.finance/file/Peri%20Whitepaper%20(EN)%20v0.9.pdf>).

## Community

[![Discord](https://img.shields.io/discord/818411536900030486.svg?color=768AD4&label=discord&logo=https%3A%2F%2Fdiscordapp.com%2Fassets%2F8c9701b98ad4372b58f13fd9f65f966e.svg)](https://discord.com/channels/818411536900030486/) [![Twitter Follow](https://img.shields.io/twitter/follow/PERIFinance.svg?label=PERIfinance&style=social)](https://twitter.com/PERIfinance)
npm package: @peri-finance/peri-finance-js
Description: peri-finance JS Library - access peri-finance smart contracts from browser and Node.js
Author: perifinance
Latest version: 0.0.1

# Peri Finance JS library

[![Discord](https://img.shields.io/discord/818411536900030486.svg?color=768AD4&label=discord&logo=https%3A%2F%2Fdiscordapp.com%2Fassets%2F8c9701b98ad4372b58f13fd9f65f966e.svg)](https://discord.com/channels/818411536900030486/)
[![Twitter Follow](https://img.shields.io/twitter/follow/PERIFinance.svg?label=PERIfinance&style=social)](https://twitter.com/PERIfinance)
The PeriFinance-JS Library, forked from synthetix-js, provides a simple pre-packaged API to communicate with [Peri Finance](https://pynths.com) on ethereum.
This is particularly useful for hackathon teams to quickly `npm install peri-finance-js` and start building in just a few minutes.
Under the hood, PeriFinanceJS uses [ethers.js](https://github.com/ethers-io/ethers.js/) library.

## Install via npm

`npm install peri-finanace-js`

## Developer Docs

[docs.peri.finance](https://docs.peri.finance)
npm package: @periakteon/ts-lombok
Description: Lombok for TypeScript
Latest version: 1.0.0

# Lombok for TypeScript

Similar to Lombok in Java, but for TypeScript.

## Installation

```bash
npm install @periakteon/ts-lombok
# or
yarn add @periakteon/ts-lombok
# or
pnpm add @periakteon/ts-lombok
```

## Usage

```typescript
import { greet } from '@periakteon/ts-lombok';

console.log(greet('World')); // Output: Hello, World!
```

## Development

1. Clone the repository
2. Install dependencies:
    ```bash
    npm install
    ```
3. Start development:
    ```bash
    npm run dev
    ```
4. Build the package:
    ```bash
    npm run build
    ```

## Scripts

- `npm run build` - Build the package
- `npm run dev` - Watch mode for development
- `npm run test` - Run tests
- `npm run lint` - Lint code
- `npm run format` - Format code

## License

MIT
npm package: @peridotjs/plugin-tasks
Description: <div align="center">
Author: Jakob Helgesson
Latest version: 0.0.13

# @peridot/tasks-plugin

<div align="center">

[![GitHub](https://img.shields.io/github/license/svemat01/peridotjs)](https://github.com/svemat01/peridotjs/blob/main/LICENSE)
[![npm](https://img.shields.io/npm/v/@peridot/tasks-plugin)](https://www.npmjs.com/package/@peridot/tasks-plugin)

Task scheduling plugin for [PeridotJS](../../README.md).

</div>

## Overview

This plugin adds task scheduling capabilities to your PeridotJS bot. More documentation coming soon.

## Installation

```bash
npm install @peridot/tasks-plugin
```

## License

This project is licensed under the MIT License - see the [LICENSE](../../LICENSE) file for details.
npm package: @perifinance/peri-finance-js
Description: peri-finance JS Library - access peri-finance smart contracts from browser and Node.js
Author: perifinance
Latest version: 0.0.1

# Peri Finance JS library

[![Discord](https://img.shields.io/discord/818411536900030486.svg?color=768AD4&label=discord&logo=https%3A%2F%2Fdiscordapp.com%2Fassets%2F8c9701b98ad4372b58f13fd9f65f966e.svg)](https://discord.com/channels/818411536900030486/)
[![Twitter Follow](https://img.shields.io/twitter/follow/PERIFinance.svg?label=PERIfinance&style=social)](https://twitter.com/PERIfinance)
The PeriFinance-JS Library, forked from synthetix-js, provides a simple pre-packaged API to communicate with [Peri Finance](https://pynths.com) on ethereum.
This is particularly useful for hackathon teams to quickly `npm install peri-finance-js` and start building in just a few minutes.
Under the hood, PeriFinanceJS uses [ethers.js](https://github.com/ethers-io/ethers.js/) library.

## Install via npm

`npm install peri-finanace-js`

## Developer Docs

[docs.peri.finance](https://docs.peri.finance)
npm package: @perigee/color-hash
Description: Generate color based on the given string (using HSL color space and SHA256).
Author: Zeno Zeng
Latest version: 0.1.0

# Color Hash

Generate color based on the given string.

### Node.js

```bash
npm install color-hash
```

```typescript
import { ColorHash } from 'color-hash'
```


### <script type="module">

```html
<script type="module">
import { ColorHash } from '../dist/esm.js';
</script>
```

#### Basic

```javascript
var colorHash = new ColorHash();

// in HSL, Hue ∈ [0, 360), Saturation ∈ [0, 1], Lightness ∈ [0, 1]
colorHash.hsl('Hello World'); // [ 225, 0.65, 0.35 ]

// in RGB, R, G, B ∈ [0, 255]
colorHash.rgb('Hello World'); // [ 135, 150, 197 ]

// in HEX
colorHash.hex('Hello World'); // '#8796c5'
```

#### Custom Hash Function

```javascript
var customHash = function(str) {
    var hash = 0;
    for(var i = 0; i < str.length; i++) {
        hash += str.charCodeAt(i);
    }
    return hash;
};
var colorHash = new ColorHash({hash: customHash});
colorHash.hsl('Hello World!');
colorHash.rgb('Hello World!');
colorHash.hex('Hello World!');
```

#### Custom Hue

```javascript
var colorHash = new ColorHash({hue: 90});
```

```javascript
var colorHash = new ColorHash({hue: {min: 90, max: 270}});
```

```javascript
var colorHash = new ColorHash({hue: [ {min: 30, max: 90}, {min: 180, max: 210}, {min: 270, max: 285} ]});
```

#### Custom Lightness

```javascript
var colorHash = new ColorHash({lightness: 0.5});
```

```javascript
var colorHash = new ColorHash({lightness: [0.35, 0.5, 0.65]});
```

#### Custom Saturation

```javascript
var colorHash = new ColorHash({saturation: 0.5});
```

```javascript
var colorHash = new ColorHash({saturation: [0.35, 0.5, 0.65]});
```

## License

MIT.

## FAQ

### How does it work?

It uses the `hash` function (default is BKDRHash) to calculate the hash of the given string.

```
Hue = hash % 359. (Note that 359 is a prime)
Saturation = SaturationArray[hash / 360 % SaturationArray.length]
Lightness = LightnessArray[hash / 360 / SaturationArray.length % LightnessArray.length]

By default,
SaturationArray = LightnessArray = [0.35, 0.5, 0.65]
```

### Why not LAB?

Though LAB is more perceptually uniform, HSL is easier to control.
Simply sets lightness and saturation and change hue uniformly can generate uniform colors.

## Dev

### Test

```bash
deno test
```

#### Coverage Report

https://zenozeng.github.io/color-hash/coverage/lcov-report/lib/index.html


### Follow Semantic Versioning

http://semver.org/lang/zh-CN/
npm package: @perigress/khipu
Description: null
Author: Abbey Hawk Sparrow
Latest version: 0.0.3

khipu
=====
khipu is a utility for turning sets of json and json schema into SQL and MongoQueryDocuments, named for [khipu](https://en.wikipedia.org/wiki/Quipu) a record keeping technique in the Incan empire

Usage
-----

```js
import { Khipu } from '@perigress/khipu';

const queryBuilder = new Khipu({output: 'SQL'});
const statements = await queryBuilder.buildInitializationStatement({
    "$id": "https://example.com/user.schema.json",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "name":"user",
    "description": "A set of audit fields available on every ",
    "type": "object",
    "required": ["handle", "email"],
    "properties": {
        "handle": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "fullName": {
          "type": "string"
        },
        "birthdate": {
          "type": "integer"
        },
        "location": {
          "type": "string"
        },
        "confirmed": {
          "type": "boolean"
        }
    }
});
/*
statements contains:
'CREATE TABLE "user"(
    "handle" VARCHAR(255) NOT NULL,
    "email" VARCHAR(255) NOT NULL,
    "fullName" VARCHAR(255),
    "birthdate" INTEGER,
    "location" VARCHAR(255),
    "confirmed" BOOLEAN
)'
*/


```

Testing
-------

Run the es module tests to test the root modules
```bash
npm run import-test
```
to run the same test inside the browser:

```bash
npm run browser-test
```
to run the same test headless in chrome:
```bash
npm run headless-browser-test
```

to run the same test inside docker:
```bash
npm run container-test
```

Run the commonjs tests against the `/dist` commonjs source (generated with the `build-commonjs` target).
```bash
npm run require-test
```

Development
-----------
All work is done in the .mjs files and will be transpiled on commit to commonjs and tested.

If the above tests pass, then attempt a commit which will generate .d.ts files alongside the `src` files and commonjs classes in `dist`