前端函式式功能庫

xfcdxg發表於2017-12-12

介紹

  • 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 ]
複製程式碼

......

更多

相關文章