# yyl-util

> node function util

Latest version **2.3.9** (published 2021-02-01) · ISC license · 0 weekly downloads

## Install

```sh
npm install yyl-util
pnpm add yyl-util
yarn add yyl-util
bun add yyl-util
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.3.9 |
| Published | 2021-02-01 |
| First published | 2017-01-10 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >= 10.0.0 |
| Dependencies | 0 |
| Unpacked size | 29.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | jackness Lau |
| Maintainers | jackness |
| Keywords | util |

## Links

- npm: https://www.npmjs.com/package/yyl-util
- Repository: https://github.com/jackness1208/yyl-util
- Homepage: https://github.com/jackness1208/yyl-util#readme
- Issues: https://github.com/jackness1208/yyl-util/issues
- npm.io page: https://npm.io/package/yyl-util

## Alternatives

- [lodash.assign](https://npm.io/package/lodash.assign.md) — 2.3M weekly downloads
- [lodash.chunk](https://npm.io/package/lodash.chunk.md) — 1.8M weekly downloads
- [react-native-ios-utilities](https://npm.io/package/react-native-ios-utilities.md) — 138.5K weekly downloads
- [@technically/lodash](https://npm.io/package/@technically/lodash.md) — 50.9K weekly downloads
- [@fluid-topics/ft-icon](https://npm.io/package/@fluid-topics/ft-icon.md) — 20.6K weekly downloads

## Recent versions

- 2.3.9 (latest) — 2021-02-01
- 2.3.8 — 2020-02-26
- 2.3.7 — 2019-10-11
- 2.3.6 — 2019-09-25
- 2.3.5 — 2019-07-23
- 2.3.4 — 2019-07-23
- 2.3.3 — 2019-06-01
- 2.3.2 — 2019-05-31
- 2.3.1 — 2019-05-21
- 2.3.0 — 2019-05-21
- 2.2.0 — 2019-02-26
- 2.1.1 — 2019-02-21
- 2.1.0 — 2019-01-16
- 2.0.0 — 2019-01-12
- 1.15.1 — 2019-01-08
- … 54 more at https://npm.io/package/yyl-util/versions

## README

# yyl-util 2.0
a node util for yyl

* yyl-util 已根据功能拆分为 `yyl-os`, `yyl-fs`, `yyl-file-replacer`, `yyl-print`

## API 说明
### util.cmdParse(processArgv)
```
/**
 * 将 process.argv 转成 obj 形式
 * @param  {Array} processArgv process.argv 对象
 * @return { cmds, env, shortEnv }
 */
 util.cmdParse(processArgv);
```
### util.envStringify(obj);
```
/**
 * 将obj 转成 命令行 env 形式 {name: jack} => --name jack
 * @param  {Object} obj 值对象
 * @return {String} str env 操作字符串
 */
util.envStringify(obj);
```

### util.envParse(argv);
```
/**
 * 将 数组转成 对象 [--name, jack] => {name: jack}
 * @param  {Array}  argv 数组
 * @return {Object} obj  值对象
 */
util.envParse(argv);
```

### util.requireJs(iPath);
```
/**
 * 获取 js 内容
 * @param {String} iPath 文件路径
 * @return {JS}    js    返回 文件执行的结果
 */
util.requireJs(iPath);
```

### util.makeCssJsDate();
```
/**
 * 创建 YYYYMMDDmmss 格式时间搓
 * @return {String} cssjsdate 时间搓
 */
util.makeCssJsDate();
```

### util.makeArray(obj)
```
/**
 * 将 arguments 变为数组
 */
util.makeArray(obj);
```

### util.type(obj)
```
/**
 * 判断对象类别
 * @param {Anything} 对象
 * @return {string}  类型
 */
util.type(obj);
```

### util.extend()
```
/**
 * 扩展方法(来自 jQuery)
 * extend([deep,] target, obj1 [, objN])
 * @base she.isPlainObject
 */
util.extend();
```
### util.compareVersion(v1, v2)
```
/**
 * 版本对比
 * @param  {String} v1     版本1
 * @param  {String} v2     版本2
 * @return {Number} result 结果
 *                         -  1 v1 大
 *                         - -1 v2 大
 *                         -  0 相等
 */
util.compareVersion(v1, v2);
```

### util.matchVersion(v1, v2)
```
/**
 * 校验版本是否匹配
 * @param  {String} v1      带特殊字符的版本
 * @param  {String} v2      不带特殊字符的版本
 * @return {Boolean} result 结果
 */
util.matchVersion(v1, v2);
```

### util.path
```
/**
 * 同 path.join(), path.relative(), path.resolve() 但多了路径纠正逻辑
 */
util.path.join()
util.path.relative()
util.path.resolve()
```
```
/**
 * 可以将 ./, ../ 这类型相对路径 format 掉的 方法
 * @param  {String} iUrl 需要进行格式化的 url
 * @return {String} r
 */
util.path.formatUrl(iUrl)
```

### util.makeAwait(fn)
```
/**
 * 截取带颜色文字的长度
 * @param  {function} fn(next, reject) 让函数变成 await 形式
 * @param  {function} next
 * @param  {function} reject
 * @return {Promise} r
 */
util.makeAwait(fn)
```

### util.waitFor(ms)
```
/**
 * 等待 x ms 后继续执行
 * @param  {number} ms 等待时长
 * @return {Promise}
 */
util.waitFor(ms)
```

### util.shortEnvParse(str)
```
/**
 * 短名字符串解析
 * @param  {String} str 输入字符串
 * @return {Object} 解析后对象
 */
util.shortEnvParse(str)
```

### util.shortEnvStringify(obj)
```
/**
 * 短名字符串解析
 * @param  {Object} obj 输入对象
 * @return {String} 解析后字符串
 */
util.shortEnvStringify(obj)
```

### util.makeAsync(fn)
```
/**
 * 将 fn(done) 类型异步回调函数变成 async 函数
 * @param  {Function} fn async 函数
 * @param  {Boolean} isMocha 是否用于 mocha
 * @return {Function}
 */
util.makeAsync(fn, isMocha);
```

### util.forEach(arr, fn)
```
/**
 * forEach asycn 版本, 如果 fn 内 返回 true 则会终止循环
 * @param  {Array}    arr              需要循环的数组
 * @param  {Function} fn(item, index)  循环中的回调函数
 * @param  {Any}      item             arr[i] 内容
 * @param  {Number}   index            arr 下标
 * @return {void}
 */
util.forEach(arr, fn);
```



## 历史记录
在 [这里](./history.md)

---
_Source: https://npm.io/package/yyl-util · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
