open-index/open-npm huggingface dataset:
npm package: @shanzhangf/dfflcodegen
Description: swagger typescript codegen
Author: dffl
Latest version: 1.1.3


<h1 style="text-align: center">nemo🐠</h1>
<div style="text-align: center">
<img src="https://img.shields.io/npm/v/dynemo?color=%23&style=plastic" />
<img src="https://img.shields.io/npm/l/dynemo" />
<img src="https://img.shields.io/github/workflow/status/pregalaxyer/nemo/Pull%20Request"/>
<img src="https://img.shields.io/codecov/c/github/pregalaxyer/nemo?style=plastic"/>
<img src="https://img.shields.io/npm/dm/dynemo?style=plastic">
<img src="https://img.shields.io/badge/pkg--manage-pnpm-orange">
</div>
<p style="text-align: center"> 
一个自动化生成 <code>swagger typescript</code> 文件的工具，基于 <code>swagger V2</code>,
</p>

## 安装
```node
  npm install dynemo
  // or
  yarn add dynemo
  // install global
  npm i -g dynemo

```



## 用法

### 参数:
  
  1. `url`: `swagger` 项目的 `api json` 地址
  2. `output`: `typescript` 文件的输出目录
  3. `requestPath`: 第三方请求库，如果需要自定义请求
  4. `exportsRequest`: 是否需要再次输出请求目录
  5. `paths`: 路径，用于输出制定路径的文件

```typescript

interface SwaggerConfig {
  /**
   * @description swagger api url
   */
  url: string
  /**
   * @description single-api or apis
   */
  paths?: Array<string | Regexp>
  /**
   * @description output floder
   */
  output?: string
  /**
   * @description where request module import from
   */
  requestPath?: string
  /**
   * @description request templates only create and remove when it is true
   * when you only need exportsRequest once, mostly code likes:
   * * `exportsRequest: !isRequestFloderExsit`
   */
  exportsRequest?: boolean
}
```
在项目中新建一个 `swagger.js` 文件，复制一下代码，然后 `node swagger.js`，脚本会自动生成 `models`、`services` 目录和一个导出文件
```node
// swagger.js
const main = require('dynemo')

// with esm
import main from 'dynemo'

main({
  url: 'https://petstore.swagger.io/v2/swagger.json',
  output: './src/api'
})

```
**终端调用**

``` bash
dynemo convert -i https://petstore.swagger.io/v2/swagger.json -o ./src/api
# or after install global
npx dynemo convert -i https://petstore.swagger.io/v2/swagger.json -o ./src/api

```

### 自定义请求库
开箱即用：只需要两分钟即可接入第三方库，你需要大概了解入参的 `interface` ，然后书写转换一个简易转换函数

```typescript
type RequestInitWithoutBodyInit = Omit<RequestInit, 'body'>

interface Options extends RequestInitWithoutBodyInit, Record<string, any> {
  body?: Record<string, any>
  formData?: Record<string, any>
  query?: Record<string, any>
}
// default request
request<ResponseType>(url: string, options: Options)


// your request file
import request from `${library}`
import { getRequestBody, Options  } from `${output}/utils`
// 你的转换函数
export default async function <T>(url, options) {
  const body: BodyInit | undefined = getRequestBody(options)
  const data = await request<T>(url, Object.assign(options, {body}))
  return data
}
```

## 其他
[swagger-js-codegen](https://github.com/wcandillon/swagger-js-codegen)
npm package: @shaodong/text-watermask
Description: A watermask plugin for staic text or dynamic text!
Author: adongge
Latest version: 0.3.0

# text-watermask

A watermask plugin for staic text or dynamic text!

# Example

[More Example Code](https://github.com/jefferyE/text-watermask/tree/master/examples)

## Mode: image
![image](/snapshots/image-watermask.png)

## Mode: html
![html](/snapshots/html-watermask.png)

# Install

```
import Watermask from '@shaodong/text-watermask';

```
# Usage

```
const watermask = new Watermask({
  text: '张三 6688', // 必填
  mode: 'image', // 非必填，支持模式：['image', 'html']，默认为`image`，`image`模式使用canvas绘制，相比于`html`模式，清晰度稍微较差，高清模式请传入`html`
});

console.log(watermask); // 实例属性请参考：Attributes

```
# Options

|  Key  | Type  |  Default  | Description  |
|  ----  | ----  |  ----  | ----  |
| text  | string | 'watermask' | 传入的水印文字 |
| mode  | string | 'image' | 水印的模式: `image` 及 `html`，建议使用 html 模式 |
| wrapper  | HTMLElement | document.body | 自动渲染时 DOM 元素，默认使用 document.body，如传入null，则不会自动挂载，可在 onSucess 回调中拿到最终的结果，即实例属性 data |
| space  | number | 5 | 水印文字间隔，会当做 padding 使用，如果想水印不太密集，可增加 space 值 |
| horizontalSpace  | number | - | 水印文字水平方向间隔，会当做 paddingLeft 和 paddingRight 使用，若不传，则使用 space 值 |
| verticalSpace  | number | - | 水印文字垂直方向间隔，会当做 paddingTop 和 paddingBottom 使用，若不传，则使用 space 值 |
| rotate  | number | -45 | 水印文字旋转角度 |
| opacity  | number | 1 | 水印文字透明度 |
| fontSize  | string | '16px' | 水印文字大小 |
| fontFamily  | string | 'Microsoft YaHei' | 水印文字字体 |
| color  | string | '#DDDDDD' | 水印文字颜色 |
| textAlign  | string | 'center' | 水印文字水平对齐类型 |
| verticalAlign  | string | 'center' | 水印文字垂直对齐类型 |
| onSuccess  | function | - | 成功回调，可拿到最终的结果，即实例属性 data |
| onError  | function | - | - |

# Attributes
|  Key  | Type  | Description  |
|  ----  | ----  | ----  |
| data  | string/HTMLElement | 最终渲染的结果，`html` 模式返回当前的 DOM 元素，`image` 模式则返回生产的 base64 URL，均会在options  onSuccess 回调中返回 |
| el  | HTMLElement | 当前水印文字的 DOM 元素，用于获取相关信息，如宽度、高度等，等同于 textWidth 和 textHeight |
| textWidth  | number | 当前水印文字的真实宽度，包括传入的 space 计算在内 |
| textHeight  | number | 当前水印文字的真实高度，包括传入的 space 计算在内 |
| renderWidth  | number | 当前水印文字的最终渲染宽度，即在页面中占据的宽度，旋转后，渲染宽度会比真实宽度大 |
| renderHeight  | number | 前水印文字的最终渲染高度，即在页面中占据的高度，旋转后，渲染高度会比真实高度大 |
| canvasWidth  | number | canvas 画布的宽度，会根据设备像素比 devicePixelRatio 自动适配，仅`image` 模式返回 |
| canvasHeight  | number | canvas 画布的高度，会根据设备像素比 devicePixelRatio 自动适配，仅`image` 模式返回 |
| cols  | number | 渲染的列数，根据屏幕宽度及 el 宽度自动计算，通过 el 来渲染，仅`html` 模式返回值，`image` 模式返回0 |
| rows  | number | 渲染的行数，根据屏幕高度及 el 高度自动计算，通过 el 来渲染，仅`html` 模式返回值，`image` 模式返回0 |
| settings  | Object | 传入的options值 |

# Author
[jefferyE](https://github.com/jefferyE)
npm package: @shaofan/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 5.0.0

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @shaogong/react-native-unionpay
Description: 云闪付 ReactNative SDK
Author: ShaoGongBra
Latest version: 0.0.4

# react-native-unionpay

云闪付 ReactNative SDK

## 安装

```bash
yarn add @shaogong/react-native-unionpay
```

### 安卓

- 添加启动项

```xml
    <package android:name="com.unionpay" />
    <package android:name="com.unionpay.tsmservice" />
    <package android:name="com.unionpay.tsmservice.mi" />
    <package android:name="com.huawei.wallet" />
    <package android:name="com.cmbc.cc.mbank" />
```

### IOS

- 在工程 info.plist 设置中添加一个 URL Types 回调协议(在 UPPayDemo 工程中使用“UPPayDemo”作为协议)，用于在支付完成后返回商户客户端。

- 添加协议白名单: 在 Xcode7.0 之后的版本中进行开发，需要在工程对应的 plist 文件中，添加 LSApplicationQueriesSchemes Array 并加入 uppaysdk、uppaywallet、uppayx1、uppayx2、uppayx3 五个 item

- AppDelegate.m 的 下面 @end 前面添加下面代码

```c
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [RCTLinkingManager application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}
```

## 使用

```js
import * as unionpay from '@shaogong/react-native-unionpay'

// 发起支付
await unionpay.startPay('tn')

// 检测是否安装
if(await unionpay.isAppInstalled()) {
  console.log('已经安装')
}
```