xe-utils.js 708 B

123456789101112131415161718192021222324252627282930313233
  1. 'use strict'
  2. var setupDefaults = require('./setupDefaults')
  3. var arrayEach = require('./array/arrayEach')
  4. var each = require('./base/each')
  5. var isFunction = require('./base/isFunction')
  6. var assign = require('./object/assign')
  7. function mixin () {
  8. arrayEach(arguments, function (methods) {
  9. each(methods, function (fn, name) {
  10. XEUtils[name] = isFunction(fn) ? function () {
  11. var result = fn.apply(XEUtils.$context, arguments)
  12. XEUtils.$context = null
  13. return result
  14. } : fn
  15. })
  16. })
  17. }
  18. function setup (options) {
  19. return assign(setupDefaults, options)
  20. }
  21. function XEUtils () {}
  22. XEUtils.v = 'v2'
  23. XEUtils.mixin = mixin
  24. XEUtils.setup = setup
  25. module.exports = XEUtils