open-index/open-npm huggingface dataset:
npm package: @qform/core
Description: qform 核心代码，主要存放 utils，validate 等代码
Latest version: 0.0.9

# `core`

qform 核心代码，主要存放 utils，validate 等代码

# Usage

```javascript
import { Form, utils } from './form-core'

// 初始化
const form = new Form({
  // 表单验证规则
  rules: {
    name: {
      type: 'string',
      required: true
    }
  }
})

// 验证表单
form.validate({name: 3}).then(res => {
  // 验证通过
  console.log(res)
})
.catch(err => {
  // 验证失败
  console.log(err)
})
```
npm package: @qgame/adapter
Description: My webpack project
Author: ygg
Latest version: 1.1.11

# @qgame/adapter

## 介绍

小游戏的适配层

## 安装

```shell
npm install -S @qgame/adapter
```

## 使用

```js
require("@qgame/adapter");
// 游戏逻辑
document.body.appendChild(InputElement); // 在没有引入@qgame/adapter之前，运行vivo小游戏会发生错误
```
npm package: @qgame/weixin
Description: "@qgame/weixin 可以将微信小游戏转化为vivo小游戏"
Author: ygg
Latest version: 1.0.3

# @qgame/weixin指南

## 作用

将微信小游戏转化为vivo小游戏。

>该工具适用于您的游戏不能直接发布成vivo小游戏的情况。如果您的游戏是使用Cocos Creator、LayaAirIDE、EgretLauncher开发，由于它们的IDE已经支持发布为vivo小游戏，请不要使用该工具。  
[Cocos Creator开发的游戏转化为vivo小游戏的指南](https://docs.cocos.com/creator/manual/zh/publish/publish-vivo-instant-games.html)  
[LayaAirIDE开发的游戏转化为vivo小游戏的指南](https://ldc2.layabox.com/doc/?nav=zh-ts-5-4-0)  
[EgretLauncher开发的游戏转化为vivo小游戏的指南](http://developer.egret.com/cn/github/egret-docs/Engine2D/minigamevivo/getStart/index.html)

## 安装

npm install -g @qgame/weixin

## 使用方法

1、命令行进入微信小游戏的工程目录，执行 `wx2mg`  
2、如果顺利会在微信小游戏的工程目录下生成一个vivo-qgame目录，该目录为vivo小游戏的工程目录，然后就可以按照[vivo小游戏官方文档](https://minigame.vivo.com.cn/documents/#/lesson/base/start?id=%e7%bc%96%e8%af%91%e9%a1%b9%e7%9b%ae)进行操作编译vivo小游戏了。
npm package: @qgisk/jokeapi-wrapper
Description: Wrapper for Joke API
Author: Demian
Latest version: 2.0.0

# Joke API Client for NodeJS

<span class="badge-npmversion"><a href="https://www.npmjs.com/package/@qgisk/jokeapi-wrapper" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@qgisk/jokeapi-wrapper.svg" alt="NPM version"/></a></span>
<span class="badge-npmdownloads"><a href="https://npmjs.org/package/@qgisk/jokeapi-wrapper" title="View this project on NPM"><img src="https://img.shields.io/npm/dm/@qgisk/jokeapi-wrapper.svg" alt="NPM downloads" /></a></span>
[![CodeQL](https://github.com/QGIsK/jokeapi-wrapper/actions/workflows/codeql-analysis.yml/badge.svg?branch=main)](https://github.com/QGIsK/jokeapi-wrapper/actions/workflows/codeql-analysis.yml)
[![Test package](https://github.com/QGIsK/jokeapi-wrapper/actions/workflows/test.js.yml/badge.svg?branch=main)](https://github.com/QGIsK/jokeapi-wrapper/actions/workflows/test.js.yml)

A Node.js wrapper for the JokeAPI with only one dependency [isomorphic-unfetch](https://www.npmjs.com/package/isomorphic-unfetch).

## • Installation

```bash
npm i @qgisk/jokeapi-wrapper
```

## • Example Project

[Discord Bot](https://discord.com/oauth2/authorize?client_id=896816739336196208&permissions=0&scope=bot%20applications.commands) | [Source](https://github.com/QGIsK/JokeBot)

## • JokeAPI Documentation

For the full wrapper documentation checkout [this](https://jokewrapper.docs.demiann.dev/)

For complete API documentation, up-to-date parameters, responses and errors, please refer to [JokeAPI](https://jokeapi.dev).

## • Quick Start Example

```javascript
// Import the wrapper library
import JokeAPI from '@qgisk/jokeapi-wrapper';

// Initiate the client
const JokeClient = new JokeAPI();

// Create a function that gets a joke
const get = async () => {
  const joke = await JokeClient.getJoke();
  console.log(joke);
};

// Execute the function
get();
```

## • Inspiration

[miscavage](https://github.com/miscavage/CoinGecko-API/)

## • License

[MIT](LICENSE)
npm package: @qgisk/kv
Description: Simple KV implementation for MongoDB
Author: Demian
Latest version: 0.0.9

# KV

<span class="badge-npmversion"><a href="https://www.npmjs.com/package/@qgisk/kv" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@qgisk/kv.svg" alt="NPM version"/></a></span>
<span class="badge-npmdownloads"><a href="https://www.npmjs.org/package/@qgisk/kv" title="View this project on NPM"><img src="https://img.shields.io/npm/dm/@qgisk/kv.svg" alt="NPM downloads" /></a></span>

## About

KV is a simple MongoDB based key value store.

If you're looking for a key value library that supports more than just MongoDB checkout [keyv](https://github.com/jaredwray/keyv)

If you're looking for a CLI checkout [this](https://github.com/qgisk/kv-cli)

## Installation

```bash
npm i @qgisk/kv mongoose
```

## Example

Simple quick start example

```javascript
import {KV} from '@qgisk/kv';
// or for commonjs
const {KV} = require('@qgisk/kv');

// First value is the mongodb uri, the second is your namespace.
// db uri defaults to mongodb://localhost:27017/kv
// namespace defaults to 'kv'
const kv = new KV('uri', 'namespace');

await kv.set('key', 'value');

await kv.get('key'); // value
```

## Multiple namespaces

Using multiple namespaces so you dont get conflicts

```javascript
const users = new KV(undefined, 'users');
const posts = new KV(undefined, 'posts');

await users.set('one', 'user');
await posts.set('one', 'post');

await users.get('one'); // user
await posts.get('one'); // post
```

## All values in namespace

Easily get all values in a namespace

```javascript
const users = new KV(undefined, 'users');

await users.set('one', 'user');
await users.set('two', 'user');

await users.all(); // [{key: 'users:one', value: 'user'}, {key: 'users:two', value: 'user'}]
```

## Delete a key

Delete key in your current namespace

```javascript
const users = new KV(undefined, 'users');

await users.del('one', 'user');

await users.get('one'); // undefined
```

## Clear a namespace

Clear a whole namespace

```javascript
const users = new KV(undefined, 'users');

await users.set('one', 'user');
await users.clear();

await users.get('one'); // undefined
```

## Mongoose error events

```javascript
const kv = new KV('mongodb://123/');

kv.on('error', e => console.log(e));
```

## TTL

```javascript
const kv = new KV(undefined, 'ttl');

await kv.set('test', 'hi', 5000); // 5 seconds
setTimeout(() => console.log(await kv.get('test')), 5000); // undefined
```

[MIT](https://github.com/QGIsK/kv/blob/main/LICENSE) Demian
npm package: @qgisk/kv-cli
Description: CLI for kv
Author: Demian
Latest version: 0.0.2

# @qgisk/kv-cli

[![npm version](https://badgen.net/npm/v/@qgisk/kv-cli)](https://npm.im/@qgisk/kv-cli) [![npm downloads](https://badgen.net/npm/dm/@qgisk/kv-cli)](https://npm.im/@qgisk/kv-cli)

## Install

```bash
npm i @qgisk/kv-cli
```

# KV Cli

KV has a simple cli for most commands (everything but all)

## Installation

```bash
npm i -g @qgisk/kv
```

## Help

```bash
kv --help
```

### For specific commands

```bash
kv get -h # or --help
```

## Settings

Default settings

```json
{
    "db": {
        "uri": "mongodb://localhost:27017/kv"
    },
    "namespace": "kv"
}
```

### Updating settings

```bash
kv settings --uri <your uri: string> --namespace <namespace: string>
```

## Setting a value

Supports multi word values

```
kv set [key] [value] --namespace <optional> --ttl [number (in ms)] <optional>
```

## Getting a value

```
kv get [key] --namespace <optional>
```

## Deleting a value

```
kv delete [key] --namespace <optional>
```

## Clearing a namespace

```
kv clear --namespace <optional>
```

## Coming soon / To do

-   Tests for the cli

[MIT](https://github.com/QGIsK/@qgisk/kv-cli/blob/main/LICENSE) Demian
npm package: @qgisk/prettier-config
Description: Prettier configuration
Author: Demian
Latest version: 0.0.3

# @qgisk/prettier-config

## Install

```npm
npm i @qgisk/prettier-config
```

## Usage

In your package.json add

```json
{
  "prettier": "@qgisk/prettier-config"
}
```

Or if you prefer a .prettierrc

```
"@qgisk/prettier-config"
```

From the prettier docs

```
Note: This method does not offer a way to extend the configuration to overwrite some properties from the shared configuration. 
If you need to do that, import the file in a .prettierrc.js file and export the modifications, e.g:

module.exports = {
    ...require("@company/prettier-config"),
    semi: false,
};
```

## License

[MIT](https://github.com/QGIsK/prettier-config/blob/main/LICENSE) [@QGIsK](https://github.com/qgisk)
npm package: @qgisk/simple-reddit-client
Description: Simple reddit posts client
Author: Demian
Latest version: 0.1.0

# simple-reddit-client

[![npm version](https://badgen.net/npm/v/@qgisk/simple-reddit-client)](https://npm.im/@qgisk/simple-reddit-client) [![npm downloads](https://badgen.net/npm/dm/@qgisk/simple-reddit-client)](https://npm.im/@qgisk/simple-reddit-client)
## Install

```bash
npm i @qgisk/simple-reddit-client
```

## Usage

```
import fetch from 'cross-fetch'
import RedditClient from '@qgisk/simple-reddit-client'

const Client = new RedditClient({allowNSFW: false, imagesOnly: false, ignoreGiphy: false, limit: 25}, fetch)

const getPicsInfo = await Client.getInfo({page: 'pics', type: 'r'})
const getPictures = await Client.getPosts({pages: 'pics', type: 'r', allowNSFW: false, imagesOnly: true, ignoreGiphy: true, limit: 25, sortType: 'hot'}) // Also accepts after, for pagination

console.log(getPicsInfo, getPictures)
```


[MIT](https://github.com/QGIsK/simple-reddit-client/blob/main/LICENSE) Demian
npm package: @qgisk/steamresolver
Description: Steam ID Lookup from custom urls and the other way around
Author: Demian
Latest version: 3.0.1

# Steam ID Resolver for NodeJS

<span class="badge-npmversion"><a href="https://www.npmjs.com/package/@qgisk/steamresolver" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@qgisk/steamresolver.svg" alt="NPM version"/></a></span>
<span class="badge-npmdownloads"><a href="https://www.npmjs.org/package/@qgisk/steamresolver" title="View this project on NPM"><img src="https://img.shields.io/npm/dm/@qgisk/steamresolver.svg" alt="NPM downloads" /></a></span>
[![Test package](https://github.com/QGIsK/steamResolver/actions/workflows/test.js.yml/badge.svg?branch=main)](https://github.com/QGIsK/steamResolver/actions/workflows/test.js.yml)

A NodeJS SteamResolver with only two dependencies [isomorphic-unfetch](https://www.npmjs.com/package/isomorphic-unfetch) and [xml2js](https://www.npmjs.com/package/xml2js).

## • NOTICE
Steam is now blocking most of these requests ( Half the time -ish), I suggest using their api from now on, see [docs](https://wiki.teamfortress.com/wiki/WebAPI/ResolveVanityURL)

## • Description

This package converts custom steam urls into ids and the other way around, Also converts it into full profiles.

## • Installation

```bash
npm i @qgisk/steamresolver
```

## • Quick Start Example

```javascript
// Import the wrapper library
import SteamResolver from '@qgisk/steamresolver';
// Or for CommonJS
const {SteamResolver} = require('@qgisk/steamresolver');

// Initiate the client
const Resolve = new SteamResolver();

// Create a function that gets the custom url
const get = async () => {
    const fromID = await Resolve.toCustomURL('76561198250920834');
    const fromLink = await Resolve.toCustomURL('htts://steamcommunity.com/profiles/76561198250920834');

    console.log(fromID, fromLink);
};

// Execute the function
get();
```

## • CDN

Common JS

```
https://cdn.jsdelivr.net/npm/@qgisk/steamresolver@2.1.2/dist/index.js
```

Module

```
https://cdn.jsdelivr.net/npm/@qgisk/steamresolver@2.1.2/dist/index.mjs
```

## • Full documentation

Full documentation can be found [here](https://steamresolver.docs.demiann.dev)

## • Inspiration

[miscavage/CoinGecko-API](https://github.com/miscavage/CoinGecko-API/)

[HerrEuroBeat/node-steamid-resolver](https://github.com/HerrEurobeat/node-steamid-resolver/)

## • License

[MIT](LICENSE)
npm package: @qgrid/ngx
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.0.
Latest version: 13.3.0

# NgxQgrid

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

## Code scaffolding

Run `ng generate component component-name --project qgrid-ngx` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project qgrid-ngx`.
> Note: Don't forget to add `--project qgrid-ngx` or else it will be added to the default project in your `angular.json` file. 

## Build

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

## Publishing

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

## Running unit tests

Run `ng test qgrid-ngx` 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 README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @qgrid/ngx-plugins
Description: This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.0.
Latest version: 13.3.0

# NgxQgridPlugins

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

## Code scaffolding

Run `ng generate component component-name --project qgrid-ngx-plugins` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project qgrid-ngx-plugins`.
> Note: Don't forget to add `--project qgrid-ngx-plugins` or else it will be added to the default project in your `angular.json` file. 

## Build

Run `ng build qgrid-ngx-plugins` to build the project. The build artifacts will be stored in the `dist/` directory.

## Publishing

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

## Running unit tests

Run `ng test qgrid-ngx-plugins` 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 README](https://github.com/angular/angular-cli/blob/master/README.md).
npm package: @qgrid/ngx-theme-basic
Description: * `index.scss` - styles for all templates * `theme.component.ts` - storage of ng-templates * `theme.module.ts` - module with required imports and exports * `theme.service.ts` - named service
Latest version: 13.3.0

## Grid module expects next files for each theme
* `index.scss` - styles for all templates
* `theme.component.ts` - storage of ng-templates
* `theme.module.ts` - module with required imports and exports
* `theme.service.ts` - named service
npm package: @qgrid/ngx-theme-material
Description: * `index.scss` - styles for all templates * `theme.component.ts` - storage of ng-templates * `theme.module.ts` - module with required imports and exports * `theme.service.ts` - named service
Latest version: 13.3.0

## Grid module expects next files for each theme
* `index.scss` - styles for all templates
* `theme.component.ts` - storage of ng-templates
* `theme.module.ts` - module with required imports and exports
* `theme.service.ts` - named service