前端函数式功能库

介绍

  • mulan-lib 是个前端开发功能库。

  • 基于 Ramda,以 函数式编程 来实现。

  • 现阶段的功能模块有:Ajax操作、Url处理、日期处理、Storage操作等。

  • 支持 SSR(如:next / nuxt)

用法(?)

应用场景:隐藏敏感信息

  import { mask } from 'mulan-lib'

  mask(3, 4, '13700000000')        // -> 137****0000
  mask(3, 4, '13700000000', '#')   // -> 137####0000
  mask(0, -3, '123456789')         // -> 123456***
  mask(5, -2, '123456789')         // -> 12**56789
复制代码

应用场景:格式化日期

  import { moment } from 'mulan-lib'

  // Format
  moment('YYYY-MM-DD HH:mm:ss')()    // -> 2017-10-16 13:57:30
  moment('YYYY/MM/DD')()             // -> 2017/10/16
  moment('x')()                      // -> 1508133450000
  moment('X')()                      // -> 1508133450
  moment('day')()                    // -> 1
  moment('date')()                   // -> 16
复制代码

应用场景:日期计算

  import { addInterval, timeDuration, moment } from 'mulan-lib'
  import { compose } from 'ramda'

  const d = new Date()     // -> 2017-10-16 xx:xx:xx
  // 加一天
  addInterval(1, 'd', d)   // -> 1508219850000
  // 减一天
  addInterval(-1, 'd', d)  // -> 1508047050000
  // 加一小时
  addInterval(1, 'h', d)
  // 加一分钟
  addInterval(1, 'm', d)
  // 加一秒钟
  addInterval(1, 's', d)

  // 加一天并格式化
  compose(moment('YYYY-MM-DD'), addInterval(1, 'd'))(d) // => 2017-10-17

  // 计算时间间隔
  const st = '2017-10-14 12:00:00'
  const et = '2017-10-16 13:09:30'

  timeDuration(moment('x')(st), moment('x')(et)) // -> [ 2, 1, 9, 30 ]
复制代码

......

更多

转载于:https://juejin.im/post/5a2f3c4bf265da43305e6d9b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值