2.1.15 • Published 3 months ago

co-util v2.1.15

Weekly downloads
9
License
ISC
Repository
github
Last release
3 months ago

co-util

A collection of utilities for nodejs.

Install

npm i co-util

Usage

const util=require('co-util');

http

util.http.setProxy('http://ip:port')

设置全局代理

util.http.defaults.headers.common['Authorization'] = AUTH_TOKEN

设置全局配置

util.http.get(url[,data][,options])

建立一个http get请求,url为请求地址,data为请求数据,可省略 The optional options object may contain:

  • headers (object?, default 'null'): header头,如:{Authorization:'Bearer ${token}'}
  • httpAgent (object?, default 'null'): define a custom agent to be used when performing http and https requests, respectively, in node.js. This allows options to be added like keepAlive that are not enabled by default.
  • timeout (number?, default 0): header头,如:{'Content-Type':'application/x-www-form-urlencoded'}

util.http.post(url,data[,options])

建立一个http post请求,url为请求地址,data为请求数据,可省略,options 同上,默认为application/json

let html = await util.http.get(url).catch(err => err);

let opts={
    headers:{'Content-Type':'application/x-www-form-urlencoded'}
    //默认为application/application/json
}

let html = await util.http.post(url,postData,opts).catch(err => err);
if (html instanceof Error) {
    //出错
}else{
    //To Do...
}

filesystem

util.fs.mkdir(path) //创建文件夹,同时创建上层目录
util.fs.rmrf(path) //删除整个目录包括子目录
util.fs.mv(src, dest) //移动文件
util.fs.ll(path) //获取所有文件和目录 返回 [{fullname:'',filename:'',stat:{}}]
util.fs.readDir(path) //获取当前目录下的文件夹和文件
util.fs.stat(path); //获取文件状态
util.fs.exist(path) //文件是否存在
util.fs.readFile(path) //读文件
util.fs.readGzip(path) //读gzip文件
util.fs.writeFile(path, body); //写入文件
util.fs.writeFile(path, str, { flag: 'a' }); //追加写入
util.fs.cp(src,dist,mode=0); //追加写入

array

util.chunk(['a', 'b', 'c', 'd'],2) //[2, 3, 4, 5]
util.drop([1, 2, 3, 4, 5]) //[2, 3, 4, 5]
util.dropRight([1, 2, 3, 4, 5]) //[1, 2, 3, 4]
util.xor([1, 2, 6], [1, 2, 3, 4, 5])//[6, 3, 4, 5] 异或,去除相同的,然后去重,所有的比较仅和第一个传参比较
util.notIn([1, 2, 3, 4, 5],[1, 2, 5, 6])//[3, 4] 不包含,第一个参数里不包含之后所有参数的数组
util.concat([1, 2, 3], [2, 3]) //[1, 2, 3, 2, 3]
util.compact([0, 1, false, 2, '', 3]) //[1, 2, 3] 去除数组里空值
util.flatten([1, [2, [3, [4]], 5]]) //[1, 2, [3, [4]], 5] 把数组变平
util.values([{ 'user': 'barney' }, { 'user': 'fred' }],'user') //['barney', 'fred']获取集合里某个key对应的value数组
util.uniq([{n:1},{n:2},{n:1}] ) //[{n:1},{n:2}]去重
util.indexOf([1, 2, 3], 2) //1
util.findIndex([{ n: 1 }, { n: 2 }, { n: 3 }], { n: 3 }) //2
util.findOne([{ n: 1, b: 1 }, { n: 1, b: 2 }, { n: 3 }], { n: 1 }) //{ n: 1, b: 1 }
util.find([{ n: 1 }, { n: 2, a: 22 }, { n: 3 }], [{ n: 2 }])  //[{ n: 2, a: 22 }]
util.map([{a:1},{a:2}], 'a') //[1,2]
util.max([1, 2, 3, 4, 5])   //5
util.maxBy([{ n: 1, a: 2 }, { n: 2, a: 5 }, { n: 3, c: 1 }], 'n')  //{ n: 3, c: 1 }
util.min([1, 2, 3, 4, 5]) //1
util.minBy([{ n: 1, a: 2 }, { n: 2, a: 5 }, { n: 3, c: 1 }], 'n') //{ n: 1, a: 2 })
util.sort([5, 4, 3, 2, 1]) //[1, 2, 3, 4, 5]
util.sortRandom(arr) //数组随机,不改变arr的值
util.kv(arr,key) //把集合转化成以key为主键的对象,kv键值对,[{id:"key1",b:2},{id:"key2",b:3}]=>{"key1":{id:"key1",b:2},"key2":{id:"key2",b:3}}

object

util.is(value,other) //两个对象或者数组是否相等
util.isObject(value)
util.isPlainObject(value)
util.isJson(str)
util.isNullObj(obj)
util.extend(obj,[obj2...])
util.merge(obj,[obj2...])
util.formatObj(obj)
util.sortObj(obj)
util.sign(obj, key) //获取签名
util.default({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }) // { 'a': { 'b': 2, 'c': 3 } } 设置默认值,对没有设置过的option,给一个默认值,深度设置
util.pick({'a': 1, 'b': '2', 'c': 3 }, ['a', 'c']) //返回指定属性的对象 { 'a': 1, 'c': 3 }

number

util.isInt(value)
util.isNumber(value)
util.random(start,end)
util.round(value)
util.toInt(str)
util.toNumber(value)
util.formatMoney(value)
util.toFixed(num, bit) //0=>0,10.22=>10.2,9=>9

string

util.isString(value) //是否字符串类型
util.toJson(value) //字符串转化为json,如果转换失败则为空
util.uuid() //生成uuid
util.trim(value) //去除两边空格
util.formatIp(ip) //ip格式化
util.format(f,...val) //字符格式化
util.querystring(obj) //query string,value值进行encodeUrl
util.encodeUrl(value) //url encode
util.decodeUrl(value) //url decode
util.toText(html, length) //html转成text
util.camelCase(value) //返回驼峰命名

datetime

util.toDate(value)
util.isDate(value)
util.getTimeByObjectId(objectId) //把mongo的Object转成datetime
util.formatDate(value)
util.dayTime(date, inc) //保持到00:00:00
util.setDay(date, inc) //弃用,请使用dayTime
util.addDate(date, type, inc)
util.addSecond(date, inc)
util.addMinute(date, inc)
util.addHour(date, inc)
util.addDay(date, inc)
util.fromNow(start) //时差 (之前,现在为基准)

zip

util.zip(src, dist, opts) 压缩文件

Options相关参数

util.unzip(src, dist) 解压覆盖文件

other

await util.sleep(100) //等待100ms
2.1.15

3 months ago

2.1.14

6 months ago

2.1.13

9 months ago

2.1.9

11 months ago

2.1.12

11 months ago

2.1.10

11 months ago

2.1.11

11 months ago

2.1.8

11 months ago

2.1.6

1 year ago

2.1.7

1 year ago

2.1.4

1 year ago

2.1.5

1 year ago

2.1.2

1 year ago

2.1.3

1 year ago

2.1.1

1 year ago

2.1.0

1 year ago

2.0.7

2 years ago

2.0.9

2 years ago

2.0.8

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.6

2 years ago

2.0.1

2 years ago

1.1.17

2 years ago

1.1.16

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.12

3 years ago

1.1.9

3 years ago

1.1.11

3 years ago

1.1.10

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.0.99

4 years ago

1.0.97

4 years ago

1.0.95

5 years ago

1.0.94

5 years ago

1.0.93

5 years ago

1.0.92

5 years ago

1.0.91

5 years ago

1.0.90

5 years ago

1.0.89

5 years ago

1.0.88

5 years ago

1.0.87

5 years ago

1.0.86

5 years ago

1.0.85

5 years ago

1.0.84

5 years ago

1.0.83

5 years ago

1.0.81

5 years ago

1.0.80

6 years ago

1.0.79

6 years ago

1.0.78

6 years ago

1.0.77

6 years ago

1.0.76

6 years ago

1.0.75

6 years ago

1.0.74

6 years ago

1.0.73

6 years ago

1.0.72

6 years ago

1.0.71

7 years ago

1.0.70

7 years ago

1.0.69

7 years ago

1.0.68

7 years ago

1.0.67

7 years ago

1.0.66

7 years ago

1.0.65

7 years ago

1.0.64

7 years ago

1.0.63

7 years ago

1.0.62

7 years ago

1.0.60

7 years ago

1.0.59

7 years ago

1.0.58

7 years ago

1.0.57

7 years ago

1.0.56

7 years ago

1.0.55

7 years ago

1.0.54

7 years ago

1.0.53

7 years ago

1.0.52

7 years ago

1.0.51

7 years ago

1.0.50

7 years ago

1.0.49

7 years ago

1.0.48

7 years ago

1.0.47

7 years ago

1.0.46

7 years ago

1.0.45

7 years ago

1.0.44

7 years ago

1.0.43

7 years ago

1.0.42

7 years ago

1.0.41

7 years ago

1.0.40

7 years ago

1.0.39

7 years ago

1.0.38

7 years ago

1.0.37

7 years ago

1.0.36

7 years ago

1.0.35

7 years ago

1.0.34

7 years ago

1.0.33

7 years ago

1.0.32

7 years ago

1.0.31

7 years ago

1.0.30

7 years ago

1.0.29

7 years ago

1.0.28

7 years ago

1.0.27

7 years ago

1.0.26

7 years ago

1.0.25

7 years ago

1.0.24

7 years ago

1.0.23

7 years ago

1.0.22

7 years ago

1.0.21

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.15

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

0.1.44

7 years ago

0.1.43

7 years ago

0.1.42

7 years ago

0.1.41

7 years ago

0.1.40

7 years ago

0.1.39

7 years ago

0.1.38

7 years ago

0.1.37

7 years ago

0.1.36

7 years ago

0.1.35

7 years ago

0.1.34

7 years ago

0.1.33

7 years ago

0.1.32

7 years ago

0.1.31

7 years ago

0.1.30

7 years ago

0.1.27

7 years ago

0.1.26

7 years ago

0.1.25

7 years ago

0.1.24

7 years ago

0.1.23

7 years ago

0.1.22

7 years ago

0.1.21

7 years ago

0.1.20

7 years ago

0.1.19

7 years ago

0.1.18

7 years ago

0.1.17

7 years ago

0.1.16

7 years ago

0.1.15

7 years ago

0.1.14

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago