1.1.3 • Published 4 years ago

summary-utils v1.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

工具库方法

  • MyPromise 符合promiseA+规范的promise库。

    • 在原promise基础上增加了abort中断方法。

          例如:
           场景,请求一个接口,此接口返回时间不定。但是,假如超过3S没响应。就默认这个接口失败了
              let ms = 5000;(此毫秒数代表请求响应的事件。超过3S视为超时)
              let p = MyPromise.warp(new Promise((resolve,reject)=>{
                  setTimeput(()=>{
                      resolve("成功")
                  },ms)
              })).then(data=>console.log(data),err=>console.log(err))
      
              setTimeout(()=>{p.abort("超时,废弃此次请求的响应")},3000)
  • deepClone 深拷贝。

    • 支持循环应用
          例如:
          let obj = {a:1}
          obj.b = obj;
          然后拷贝obj不会死循环,而是一个循环的引用
  • randomColor 产生随机色

    • options
      • 1.colorStart,colorEnd颜色限制,如果没有限制则生成的颜色为0~255之间。如果要限制colorStart代表起始位置,值为0-255。colorEnd代表结束位置值为0-255并且值要大于colorStart
      • 2.isHex 生成的颜色是要rgba的形式还是16进制。true为生成16进制,false为rgba,默认值为false
      • 3.isRandomOpacity 透明度是否随机生成,默认false透明度为1,如果设置为true 生成值在0 - 1之间。并且如果指定生成16进制格式则此项默认无效
          //示例
          randomColor({
              colorStart: 100,
              colorEnd: 200,
              isHex: true
          })
          randomColor({
             colorStart: 100,
             colorEnd: 200,
             isRandomOpacity: true
          })
  • curring 柯里化

    • 可用于开发者使用的类型判断等需要柯里化的功能方法
      例如开发者需要封装一些自己的验证类型工具库:
         function isType(b,a) {
         	console.log(Object.prototype.toString.call(a),`[object ${b}]`);
         	return Object.prototype.toString.call(a) === `[object ${b}]`
         }
         let obj = {}
         let utils = ["String","Number","Boolean"];
         utils.forEach(type=>{
         	obj["is"+type] = test(isType)(type);
         })
         let res = obj.isString("12");
         let res1 = obj.isNumber(12);
         console.log(res,res1);
  • uncurring 反柯里化

  • mergeOptions 对象的合并方法。

    //值的合并,将两者的属性进行合并返回一个全新的值。
    let o1 = {
    	obj:{ a: 1, b: 2 },
    	arr: [1,2,3],
    	str: "123",
    	num: 18
    }
    let o2 = {
    	obj:{ a: 3, c: 4 },
    	arr: [4,5,6],
    	str2: "567",
    	num: 15
    }
    
    let result = test(o1,o2); 
    
    // result = { 
         obj: { a: 3, b: 2, c: 4 },
         arr: [ 1, 2, 3, 4, 5, 6 ],
         str: '123',
         num: 15,
         str2: '567'
       }

使用方法

  • 1.导入工具包,然后将需要使用的方法解构出来使用。
  • 2.本工具库大写字母代表类,需要new。其余方法直接调用即可。

接下去要实现的功能

  • 1.防抖节流
  • ...

更新记录

  • 1.1.3 补全README的使用说明,修复mergeOptions存在的问题。
1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago