/tw-util

工具集

Primary LanguageJavaScript

@ymd/utils

一个工具库:

feature:

  • 缓存,cookie
    • cookie读写
    • 缓存读写:支持localStorge sessionStorage
    • 支持函数装饰器
  • emitter 事件监听
  • log 打点
    • 日志上报
    • 本地log输出
    • log优化:支持分组,支持颜色区分,支持时间差值
  • lru-cache
    • lru继承能力
    • 越界触发删除时支持回调给调用方
  • fetch 请求库
    • 直接中间件做扩展
      • 支持请求重试
      • 支持请求合并
    • 支持xmlhttprequest, fetch, jsonp的方式
  • 执行队列
    • 任务队列 支持同步任务与异步任务
    • 支持任务优先级
    • 支持并发个数限制
    • 支持中断 暂停,恢复,清空任务
    • 支持空闲调度任务的低优先级任务
  • pipeline 异步管道模型
    • 支持同步与异步管道节点方法
    • 可以被继承调用与 创建调用
    • 支持扩展重试管道
    • 支持并发管道
  • 扩展函数
    • array扩展
      • uniq 数组去重,
      • union 数组合并去重
    • function 扩展
      • debounce 防抖函数,优化clearTimout性能问题
      • throttle 节流函数
    • object 扩展
      • isObject 判断
      • pick 对象筛选
      • omit 对象剔除
      • deepAssign 深度继承(ps: array不做拼接处理)
      • clone 深度克隆
    • promise 扩展
      • finally polyfill
      • awaitWrap async/await 的输出优化,方便判断处理
      • serial 串行执行
      • parallel 并行执行
    • string 扩展
      • upperFirst 转大写
      • camelCase 转驼峰
      • pascalCase 转首字母大写的驼峰
      • snakeCase 转下划线
      • kebabCase 转中划线
      • pad 字符串长度补足
    • tree 树形结构扩展
      • arrToTree 数组转树
      • treeSort 树排序
      • treeSet 树设置子节点
      • treeEach 树遍历
      • treeMap 树遍历修改,与Array下map类似
      • treeFind 树查找
    • url 扩展
      • parse 字符串url解析
      • stringify url转字符串
      • buildURL 链接拼接
      • isSameOrigin 同域判断