open-index/open-npm huggingface dataset:
npm package: @stringke/midway-pro
Description: ```shell npm i @stringke/midwayjs-pro ```
Author: StringKe
Latest version: 1.0.2

# midwayjs-pro

```shell
npm i @stringke/midwayjs-pro
```

```shell
yarn add @stringke/midwayjs-pro
```

```typescript
import * as pro from '@stringke/midwayjs-pro';
/// 请在 configuration 里引入
```

## 介绍

提供了一些基础的功能，可以让你快速的开发一个项目。

1. `ApiString`, `ApiNumber`, `ApiBoolean` 用于控制器上具体某个方法参数定义
2. `ApiController`,`ApiQuery`, `ApiBody`, `ApiParam`, `ApiHeader` 用于具体参数的定义
3. `DtoString`, `DtoNumber`, `DtoBoolean` , `DtoClass` 用于 dto 的基本验证，同时如果传递了 require 会自动拼接对应验证效果
4. `BaseMiddleware`, `BaseController` 控制器和中间件可以继承这两个获得更多功能
5. 已经封装了错误，你可以继承 `BusinnessError` 来自定义错误
6. `nanoid`, `getUrlId`, `getDataId` 用于生产 ID
7. `applyDecorators` 用来快速合并装饰器

### demo

```typescript
import { ApiController, ApiQuery } from "./decorators";

@ApiController('/api')
class UserController {

  @ApiGet("/user", GetUserRes)
  async getUserInfo(@ApiQuery() id: number) {
    return {
      id: 1
    }
  }
}

```
npm package: @stringke/prisma-generator-tsrpc
Description: tsrpc support
Author: StringKe
Latest version: 1.0.13

# @stringke/prisma-generator-tsrpc

> This generator was bootstraped
> using [create-prisma-generator](https://github.com/YassinEldeeb/create-prisma-generator)

## Usage

```sh
npm install @stringke/prisma-generator-tsrpc
```

```sh
yarn add @stringke/prisma-generator-tsrpc
```

```prisma
generator tsrpc {
    provider = "node ./node_modules/@stringke/prisma-generator-tsrpc"
    output   = "../src/shared/protocols/db"
}
```
npm package: @stringke/sigi-devtool
Description: Connect sigi to redux devtool
Author: LongYinan
Latest version: 2.11.3-alpha.1

# `@stringke/sigi-devtool`

[Sigi documents](https://sigi.how)

## Usage

```ts
import { initDevtool } from '@stringke/sigi-devtool'
import { render } from 'react-dom'


render(...)

initDevtool()

```

Put `initDevtool` after render function.
npm package: @stringke/sigi-react-router
Description: React router integration for sigi framework
Author: LongYinan
Latest version: 2.11.3-alpha.1

# `@stringke/sigi-react-router`

> React router integration for sigi framework

## Usage

```ts
import { RouterModule } from '@stringke/sigi-react-router'

@Module('App')
export class AppModule extends EffectModule<{}> {
  constructor(private readonly router: RouterModule) {
    super()
  }

  @Effect()
  getUser(payload$: Observable<void>) {
    return payload$.pipe(
      exhaustMap(() => {
        service.getUser().pipe(mergeMap((res) => of(this.getActions().getUserResponse(res), this.router.push('/home'))))
      }),
    )
  }
}
```
npm package: @stringke/sigi-testing
Description: Testing library for sigi framework
Author: LongYinan
Latest version: 2.11.3-alpha.1

# `@stringke/sigi-testing`

## Usage

[writing test](https://sigi.how/en/recipes/writing-tests)

[编写单元测试](https://sigi.how/zh/recipes/writing-tests)
npm package: @stringke/sigi-ts-plugin
Description: TypeScript plugin for Sigi framework
Author: LongYinan
Latest version: 2.11.3-alpha.1

# `@stringke/sigi-ts-plugin`

## Usage

```ts
// webpack.config.js
const { SigiTransformer } = require('@stringke/sigi-ts-plugin')

module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.(jsx|tsx|js|ts)$/,
        loader: 'ts-loader',
        options: {
          transpileOnly: true,
          getCustomTransformers: () => ({
            before: [SigiTransformer],
          }),
          compilerOptions: {
            module: 'esnext',
          },
        },
        exclude: /node_modules/,
      },
    ],
  },
  // ...
}
```
npm package: @stringke/sigi-vue
Description: Sigi framework binding for VueJS
Author: LongYinan
Latest version: 2.11.3-alpha.1

# `@stringke/sigi-vue`

[Sigi documents](https://sigi.how)

## Install

```bash
yarn install @stringke/sigi-{vue,core,di}
```

## Usage

### `reactive` API

```ts
reactive(EffectModule, VueComponentOptions)
```

All the **states** and **dispatch props** in the `EffectModule` will be mixed into `VueComponentOptions`. And you can use them in `methods`, `LifeCycles` and `watch` handlers.
npm package: @stringon/webwing-hub
Description: webwing data provider
Author: tangtangplus
Latest version: 1.0.5

# mall-mobile

## Project setup
```
npm -i stringon-webwing-hub
```

### Introduction
```
const hub = require('stringon-webwing-hub');

// In webwing page: 

const iframe = document.getElementById('iframe_mall');
hub.agent.attach(iframe, {});

// In iframe page
hub.agent.attach(null, {
  onQuery,
  onUpdate,
  onUpdatebatch,
  onNewlocation,
});


```